LiteRT-LM es un framework de inferencia de código abierto listo para producción diseñado para ofrecer implementaciones de LLM multiplataforma y de alto rendimiento en dispositivos perimetrales.
- Compatibilidad con múltiples plataformas: Ejecuta en Android, iOS, la Web, computadoras de escritorio y el IoT (p.ej., Raspberry Pi).
- Aceleración por hardware: Obtén el máximo rendimiento y estabilidad del sistema aprovechando los aceleradores de GPU y NPU en diversos dispositivos.
- Multimodalidad: Compila con LLMs que admiten visión y audio.
- Uso de herramientas: Compatibilidad con llamadas a funciones para flujos de trabajo con agentes y decodificación restringida para mejorar la precisión.
- Compatibilidad con una amplia variedad de modelos: Ejecuta Gemma, Llama, Phi-4, Qwen y muchos más.
Presentación de la IA generativa integrada en el dispositivo
La Galería de Google AI Edge es una app experimental diseñada para mostrar las capacidades de IA generativa en el dispositivo que se ejecutan completamente sin conexión con LiteRT-LM.
- Google Play: Usa LLMs de forma local en dispositivos Android compatibles.
- App Store: Experimenta la IA en el dispositivo en tu dispositivo iOS.
- Fuente de GitHub: Consulta el código fuente de la app de galería para aprender a integrar LiteRT-LM en tus propios proyectos.
Modelo destacado: Gemma-4-E2B
- Tamaño del modelo: 2.58 GB
Encontrarás más detalles técnicos en la tarjeta del modelo de Hugging Face.
Plataforma (dispositivo) Backend Completado previamente (tk/s) Decodificación (tk/s) Tiempo hasta el primer token (segundos) Memoria máxima de la CPU (MB) Android (S26 Ultra) CPU 557 47 1.8 1989 GPU 3808 52 0.3 676 iOS (iPhone 17 Pro) CPU 532 25 1.9 607 GPU 2878 56 0.3 1450 Linux (Arm 2.3 y 2.8 GHz, NVIDIA GeForce RTX 4090) CPU 260 35 4 1628 GPU 11234 143 0.1 913 macOS (MacBook Pro M4) CPU 901 42 1.1 736 GPU 7835 160 0.1 1623 IoT (Raspberry Pi 5, 16 GB) CPU 133 8 7.8 1546
Comienza a desarrollar
En los siguientes fragmentos, se muestra cómo comenzar a usar la CLI de LiteRT-LM, así como las APIs de Python, Kotlin y C++.
CLI
litert-lm run model.litertlm --prompt="What is the capital of France?"
Python
engine = litert_lm.Engine("model.litertlm")
with engine.create_conversation() as conversation:
response = conversation.send_message("What is the capital of France?")
print(f"Response: {response['content'][0]['text']}")
Kotlin
val engineConfig = EngineConfig(
modelPath = "/path/to/your/model.litertlm",
backend = Backend.CPU(),
)
val engine = Engine(engineConfig)
engine.initialize()
val conversation = engine.createConversation()
print(conversation.sendMessage("What is the capital of France?"))
C++
auto model_assets = ModelAssets::Create(model_path);
CHECK_OK(model_assets);
auto engine_settings = EngineSettings::CreateDefault(
model_assets,
/*backend=*/litert::lm::Backend::CPU);
absl::StatusOr<std::unique_ptr<Engine>> engine = Engine::CreateEngine(engine_settings);
CHECK_OK(engine);
auto conversation_config = ConversationConfig::CreateDefault(**engine);
CHECK_OK(conversation_config);
absl::StatusOr<std::unique_ptr<Conversation>> conversation = Conversation::Create(**engine, *conversation_config);
CHECK_OK(conversation);
absl::StatusOr<Message> model_message = (*conversation)->SendMessage(
JsonMessage{
{"role", "user"},
{"content", "What is the capital of France?"}
});
CHECK_OK(model_message);
std::cout << *model_message << std::endl;
| Idioma | Estado | Ideal para… | Documentación |
|---|---|---|---|
| CLI | 🚀 Versión preliminar anticipada |
Comienza a usar LiteRT-LM en menos de 1 minuto. | Guía de la CLI |
| Python | ✅ Estable |
Prototipado y desarrollo rápidos en computadoras y Raspberry Pi | Guía de Python |
| Kotlin | ✅ Estable |
Apps nativas para Android y herramientas de escritorio basadas en JVM Se optimizó para corrutinas. | Guía de Android (Kotlin) |
| C++ | ✅ Estable |
Lógica central multiplataforma y de alto rendimiento, y sistemas integrados | Guía de C++ |
| Swift | 🚀 En desarrollo |
Integración nativa en iOS y macOS con compatibilidad especializada con Metal | Próximamente |
Plataformas y backends compatibles
| Aceleración | Android | iOS | macOS | Windows | Linux | IoT |
|---|---|---|---|---|---|---|
| CPU | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| GPU | ✅ | ✅ | ✅ | ✅ | ✅ | - |
| NPU | ✅ | - | - | - | - | - |
Modelos compatibles
En la siguiente tabla, se enumeran los modelos compatibles con LiteRT-LM. Para obtener cifras de rendimiento y tarjetas de modelo más detalladas, visita la comunidad de LiteRT en Hugging Face.
| Modelo | Tipo | Tamaño (MB) | Detalles | Dispositivo | Prefill de CPU (tk/s) | Decodificación de CPU (fotogramas/s) | GPU Prefill (tk/s) | Decodificación de GPU (fotogramas/s) |
|---|---|---|---|---|---|---|---|---|
| Gemma4-E2B | Chat | 2583 | Tarjeta de modelo | Samsung S26 Ultra | 557 | 47 | 3808 | 52 |
| iPhone 17 Pro | 532 | 25 | 2878 | 57 | ||||
| MacBook Pro M4 | 901 | 42 | 7835 | 160 | ||||
| Gemma4-E4B | Chat | 3654 | Tarjeta de modelo | Samsung S26 Ultra | 195 | 18 | 1293 | 22 |
| iPhone 17 Pro | 159 | 10 | 1189 | 25 | ||||
| MacBook Pro M4 | 277 | 27 | 2,560 | 101 | ||||
| Gemma-3n-E2B | Chat | 2965 | Tarjeta de modelo | MacBook Pro M3 | 233 | 28 | - | - |
| Samsung S24 Ultra | 111 | 16 | 816 | 16 | ||||
| Gemma-3n-E4B | Chat | 4235 | Tarjeta de modelo | MacBook Pro M3 | 170 | 20 | - | - |
| Samsung S24 Ultra | 74 | 9 | 548 | 9 | ||||
| Gemma3-1B | Chat | 1005 | Tarjeta de modelo | Samsung S24 Ultra | 177 | 33 | 1,191 | 24 |
| FunctionGemma | Base | 289 | Tarjeta de modelo | Samsung S25 Ultra | 2238 | 154 | - | - |
| phi-4-mini | Chat | 3906 | Tarjeta de modelo | Samsung S24 Ultra | 67 | 7 | 314 | 10 |
| Qwen2.5-1.5B | Chat | 1598 | Tarjeta de modelo | Samsung S25 Ultra | 298 | 34 | 1668 | 31 |
| Qwen3-0.6B | Chat | 586 | Tarjeta de modelo | Vivo X300 Pro | 165 | 9 | 580 | 21 |
| Qwen2.5-0.5B | Chat | 521 | Tarjeta de modelo | Samsung S24 Ultra | 251 | 30 | - | - |
Informar problemas
Si encuentras un error o tienes una solicitud de función, infórmalo en LiteRT-LM GitHub Issues.