LiteRT-LM הוא מסגרת קוד פתוח להסקת מסקנות שמוכנה לייצור, ומיועדת לפריסות של מודלים מסוג LLM בפלטפורמות שונות במכשירי קצה עם ביצועים גבוהים.
- תמיכה בפלטפורמות שונות: אפשר להפעיל את התכונה ב-Android, ב-iOS, באינטרנט, במחשב וב-IoT (לדוגמה, Raspberry Pi).
- האצת חומרה: כדי להשיג ביצועים אופטימליים ויציבות מערכת, אפשר להשתמש במאיצי GPU ו-NPU בחומרה מגוונת.
- מולטי-מודאליות: פיתוח באמצעות מודלים גדולים של שפה (LLM) עם תמיכה בראייה ובאודיו.
- שימוש בכלים: תמיכה בהפעלת פונקציות בתהליכי עבודה של סוכנים עם פענוח מוגבל לשיפור הדיוק.
- תמיכה במגוון רחב של מודלים: הפעלת Gemma, Llama, Phi-4, Qwen ועוד.
הדגמה של AI גנרטיבי במכשיר
גלריית Google AI Edge היא אפליקציה ניסיונית שנועדה להציג יכולות מבוססות-AI גנרטיבי במכשיר, שפועלות באופן מלא אופליין באמצעות LiteRT-LM.
- Google Play: שימוש ב-LLM באופן מקומי במכשירי Android נתמכים.
- App Store: תוכלו ליהנות מ-AI במכשיר במכשיר iOS.
- מקור ב-GitHub: אפשר לראות את קוד המקור של אפליקציית הגלריה כדי ללמוד איך לשלב את LiteRT-LM בפרויקטים שלכם.
הדגם המומלץ: Gemma-4-E2B
- גודל המודל: 2.58GB
פרטים טכניים נוספים זמינים בכרטיס המודל של HuggingFace
פלטפורמה (מכשיר) בק-אנד מילוי מראש (tk/s) פענוח (tk/s) הזמן עד לטוקן הראשון (בשניות) זיכרון CPU בשיא (MB) Android (S26 Ultra) מעבד (CPU) 557 47 1.8 1733 GPU 3808 52 0.3 676 iOS (אייפון 17 פרו) מעבד (CPU) 532 25 1.9 607 GPU 2878 56 0.3 1450 Linux (Arm 2.3 & 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 16GB) מעבד (CPU) 133 8 7.8 1546
אני רוצה להתחיל לפתח
בקטעי הקוד הבאים אפשר לראות איך להתחיל להשתמש ב-CLI של LiteRT-LM, וגם בממשקי API של Python, Kotlin ו-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;
| שפה | סטטוס | הכי מתאים ל... | מאמרי עזרה |
|---|---|---|---|
| CLI | 🚀 גרסת טרום-השקה מוקדמת |
התחלת העבודה עם LiteRT-LM תוך פחות מדקה. | מדריך ל-CLI |
| Python | ✅ Stable |
יצירת אבות טיפוס ופיתוח מהירים במחשב וב-Raspberry Pi. | מדריך Python |
| Kotlin | ✅ Stable |
אפליקציות מקוריות ל-Android וכלים למחשב שמבוססים על JVM. אופטימיזציה ל-Coroutines. | מדריך Android (Kotlin) |
| C++ | ✅ Stable |
לוגיקת ליבה ומערכות מוטמעות בפלטפורמות שונות עם ביצועים גבוהים. | מדריך ל-C++ |
| Swift | 🚀 בפיתוח |
שילוב מקומי של iOS ו-macOS עם תמיכה מיוחדת ב-Metal. | בקרוב |
פלטפורמות ושרתי קצה נתמכים
| האצה | Android | iOS | macOS | Windows | Linux | IoT |
|---|---|---|---|---|---|---|
| CPU | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| GPU | ✅ | ✅ | ✅ | ✅ | ✅ | - |
| NPU | ✅ | - | - | - | - | - |
מודלים נתמכים
בטבלה הבאה מפורטים הדגמים שנתמכים על ידי LiteRT-LM. לנתוני ביצועים מפורטים יותר ולכרטיסי מודל, אפשר להיכנס לקהילת LiteRT ב-Hugging Face.
| דגם | סוג | גודל (MB) | פרטים | מכשיר | מילוי מראש של נתוני CPU (tk/s) | פענוח קוד של יחידת עיבוד מרכזית (CPU) (tk/s) | מילוי מראש של GPU (אסימונים לשנייה) | פענוח GPU (tk/s) |
|---|---|---|---|---|---|---|---|---|
| Gemma4-E2B | צ'אט | 2583 | כרטיס מודל | Samsung S26 Ultra | 557 | 47 | 3808 | 52 |
| iPhone 17 Pro | 532 | 25 | 2878 | 57 | ||||
| MacBook Pro M4 | 901 | 42 | 7835 | 160 | ||||
| Gemma4-E4B | צ'אט | 3654 | כרטיס מודל | Samsung S26 Ultra | 195 | 18 | 1293 | 22 |
| iPhone 17 Pro | 159 | 10 | 1189 | 25 | ||||
| MacBook Pro M4 | 277 | 27 | 2560 | 101 | ||||
| Gemma-3n-E2B | צ'אט | 2965 | כרטיס מודל | MacBook Pro M3 | 233 | 28 | - | - |
| Samsung S24 Ultra | 111 | 16 | 816 | 16 | ||||
| Gemma-3n-E4B | צ'אט | 4235 | כרטיס מודל | MacBook Pro M3 | 170 | 20 | - | - |
| Samsung S24 Ultra | 74 | 9 | 548 | 9 | ||||
| Gemma3-1B | צ'אט | 1005 | כרטיס מודל | Samsung S24 Ultra | 177 | 33 | 1191 | 24 |
| FunctionGemma | בסיס | 289 | כרטיס מודל | Samsung S25 Ultra | 2238 | 154 | - | - |
| phi-4-mini | צ'אט | 3906 | כרטיס מודל | Samsung S24 Ultra | 67 | 7 | 314 | 10 |
| Qwen2.5-1.5B | צ'אט | 1598 | כרטיס מודל | Samsung S25 Ultra | 298 | 34 | 1668 | 31 |
| Qwen3-0.6B | צ'אט | 586 | כרטיס מודל | Vivo X300 Pro | 165 | 9 | 580 | 21 |
| Qwen2.5-0.5B | צ'אט | 521 | כרטיס מודל | Samsung S24 Ultra | 251 | 30 | - | - |
בעיות בדיווח
אם נתקלתם בבאג או שיש לכם הגשת בקשה להוספת תכונה, אתם יכולים לדווח על כך ב-LiteRT-LM GitHub Issues.