LiteRT-LM הוא פריימוורק קוד פתוח להסקת מסקנות שמוכן לשימוש בסביבת ייצור. הוא נועד לספק פריסות של מודלים מסוג LLM בפלטפורמות שונות במכשירי קצה עם ביצועים גבוהים.
תכונות עיקריות
- תמיכה בפלטפורמות שונות: אפשר להפעיל ב-Android, ב-iOS, באינטרנט ובמחשב.
- שיפור מהירות באמצעות חומרה:
- GPU: מבוסס על ML Drift, תומך במודלים של ML ו-AI גנרטיבי.
- NPU: הסקת מסקנות מואצת במכשירים עם ערכות שבבים של Qualcomm ו-MediaTek (גישה מוקדמת).
- מולטי-מודאליות: תמיכה בקלט של ראייה ואודיו.
- שימוש בכלי: תמיכה בהפעלת פונקציות בתהליכי עבודה של סוכנים.
- תמיכה במגוון רחב של מודלים: הפעלת Gemma, Llama, Phi-4, Qwen ועוד.
פלטפורמות ושרתי קצה נתמכים
| פלטפורמה | תמיכה במעבד | תמיכה ב-GPU | תמיכה ב-NPU |
|---|---|---|---|
| Android | ✅ | ✅ | ✅ |
| iOS | ✅ | ✅ | - |
| macOS | ✅ | ✅ | - |
| Windows | ✅ | ✅ | - |
| Linux | ✅ | ✅ | - |
| מוטמע | ✅ | - | - |
התחלה מהירה
רוצים לנסות קודם? לפני שממשיכים בהגדרה המלאה, אפשר להשתמש בקבצים הבינאריים המוכנים מראש לשולחן העבודה או באפליקציה Google AI Edge Gallery לנייד כדי להריץ את LiteRT-LM באופן מיידי.
אפליקציות לנייד
Google AI Edge Gallery היא אפליקציית הדגמה שמאפשרת לכם להשתמש במודלים מתקדמים של AI גנרטיבי ישירות במכשיר שלכם, באמצעות LiteRT-LM.
Desktop CLI
אחרי שמורידים את הקובץ הבינארי lit, פשוט מריצים את lit כדי לראות את האפשרויות.
בחירת הפלטפורמה
| שפה | סטטוס | הכי מתאים ל... | מאמרי עזרה |
|---|---|---|---|
| Kotlin | ✅ Stable |
אפליקציות מקוריות ל-Android וכלים למחשב שמבוססים על JVM. אופטימיזציה ל-Coroutines. | הפניית Kotlin API |
| C++ | ✅ Stable |
לוגיקה מרכזית וביצועים גבוהים בפלטפורמות שונות ובמערכות מוטמעות. | הפניית API של C++ |
| Swift | 🚀 בפיתוח |
שילוב מקומי של iOS ו-macOS עם תמיכה מיוחדת ב-Metal. | בקרוב |
| Python | 🚀 בפיתוח |
יצירת אב טיפוס, פיתוח וכתיבת סקריפטים מהירים בצד הלקוח. | בקרוב |
מודלים נתמכים
בטבלה הבאה מוצגות דוגמאות למודלים שנתמכים באופן מלא ונבדקו באמצעות LiteRT-LM.
הערה: 'מוכן לשיחה' מציין מודלים שעברו התאמה לשיחה (התאמה להוראות). בדרך כלל צריך לבצע התאמות במודלים מסוג Base כדי להשיג ביצועים אופטימליים בשיחות, אלא אם משתמשים בהם להשלמות ספציפיות.
| דגם | סוג | קוונטיזציה | חלון ההקשר | גודל (MB) | הורדה |
|---|---|---|---|---|---|
| Gemma | |||||
| Gemma3-1B | מוכנים לצ'אט | 4 ביט לכל ערוץ | 4096 | 557 | הורדה |
| Gemma-3n-E2B | מוכנים לצ'אט | 4 ביט לכל ערוץ | 4096 | 2965 | הורדה |
| Gemma-3n-E4B | מוכנים לצ'אט | 4 ביט לכל ערוץ | 4096 | 4235 | הורדה |
| FunctionGemma-270M | בסיסי (נדרש כוונון עדין) | 8 ביט לכל ערוץ | 1024 | 288 | מדריך לכוונון עדין |
| ↪ TinyGarden-270M | הדגמה (דמו) | 8 ביט לכל ערוץ | 1024 | 288 | הורדה / ניסיון השימוש באפליקציה |
| Llama | |||||
| Llama-3.2-1B-Instruct | מוכנים לצ'אט | 8 ביט לכל ערוץ | 8192 | 1162 | הורדה |
| Llama-3.2-3B-Instruct | מוכנים לצ'אט | 8 ביט לכל ערוץ | 8192 | 2893 | הורדה |
| Phi | |||||
| phi-4-mini | מוכנים לצ'אט | 8 ביט לכל ערוץ | 4096 | 3728 | הורדה |
| Qwen | |||||
| qwen2.5-1.5b | מוכנים לצ'אט | 8 ביט לכל ערוץ | 4096 | 1524 | הורדה |
ביצועים
בהמשך מוצגים נתוני הביצועים של כל מודל במכשירים שונים. הערה: המדד נמדד עם 1,024 טוקנים של מילוי מראש ו-256 טוקנים של פענוח (עם נעילת ביצועים במכשירי Android).
| דגם | מכשיר | בק-אנד | מילוי מראש (טוקנים/שנייה) | פענוח (טוקנים/שנייה) | גודל ההקשר |
|---|---|---|---|---|---|
| Gemma3-1B | MacBook Pro (2023 M3) |
מעבד (CPU) | 423 | 67 | 4096 |
| Gemma3-1B | Samsung S24 (Ultra) |
מעבד (CPU) | 243 | 44 | 4096 |
| Gemma3-1B | Samsung S24 (Ultra) |
GPU | 1877 | 45 | 4096 |
| Gemma3-1B | Samsung S25 (Ultra) |
NPU | 5837 | 85 | 1280 |
| Gemma-3n-E2B | MacBook Pro (2023 M3) |
מעבד (CPU) | 233 | 28 | 4096 |
| Gemma-3n-E2B | Samsung S24 (Ultra) |
מעבד (CPU) | 111 | 16 | 4096 |
| Gemma-3n-E2B | Samsung S24 (Ultra) |
GPU | 816 | 16 | 4096 |
| Gemma-3n-E4B | MacBook Pro (2023 M3) |
מעבד (CPU) | 170 | 20 | 4096 |
| Gemma-3n-E4B | Samsung S24 (Ultra) |
מעבד (CPU) | 74 | 9 | 4096 |
| Gemma-3n-E4B | Samsung S24 (Ultra) |
GPU | 548 | 9 | 4096 |
| FunctionGemma | Samsung S25 (Ultra) |
מעבד (CPU) | 1718 | 126 | 1024 |
הערה: בפעם הראשונה שמודל מסוים נטען במכשיר מסוים, הטעינה תימשך יותר זמן כי המשקלים עוברים אופטימיזציה. טעינות חוזרות יהיו מהירות יותר בגלל שמירה במטמון.
אירוח ופריסה של מודלים
כשגודל המודל חורג ממגבלות ההורדה 'דרך האוויר' (בדרך כלל בסביבות 1.5GB), נדרשת אסטרטגיית אחזור מרחוק.
- Firebase: מומלץ להורדת קבצים גדולים ב-Android וב-iOS.
- HuggingFace API: אפשר לאחזר מודלים ישירות באמצעות HuggingFace API.
בעיות בדיווח
אם נתקלתם בבאג או שיש לכם בקשה לתכונה, אתם יכולים להשתמש בדף LiteRT-LM GitHub Issues.