שיפור מהירות באמצעות חומרה עם LiteRT

במכשירים ניידים ובמכשירי קצה מודרניים יש יחידות עיבוד גרפי (GPU) ויחידות עיבוד עצבי (NPU) מיוחדות שיכולות להאיץ מודלים של AI עד פי 25 בהשוואה למעבד מרכזי (CPU), ובו-זמנית להפחית את צריכת החשמל עד פי 5.

‫LiteRT מפשטת את הגישה לסיליקון הייעודי הזה באמצעות מחסנית מאוחדת של האצת חומרה. במקום לנהל ערכות SDK מפוצלות וספציפיות לספקים או ממשקי API מורכבים של חומרה, LiteRT מספק CompiledModel API יעיל שמבצע הפשטה של המורכבות של אופטימיזציה של מודלים, ניהול זיכרון ושליחת חומרה.

סוגים של מאיצים

‫LiteRT מספק ממשק מאוחד להפעלת מודלים במגוון רכיבי קצה של חומרה. באמצעות CompiledModel API, אפשר לעבור בצורה חלקה בין המאיצים האלה באמצעות קומפילציה במכשיר או קומפילציה מראש (AOT), עם מעבר אוטומטי ל-CPU לפעולות שלא נתמכות.

  • מעבד (CPU): נתיב הביצוע שמוגדר כברירת מחדל באמצעות XNNPACK, ותמיד זמין. אפשרות מצוינת למשימות כלליות, וגם כפתרון חלופי לאופרטורים שלא נתמכים.
  • GPU: מבוסס על ML Drift, מספק ביצועים ברמה הכי גבוהה בפלטפורמות קצה באמצעות OpenCL,‏ WebGPU,‏ Metal וכו'. למידע נוסף, אפשר לעיין במאמר בנושא האצת GPU באמצעות LiteRT
  • NPU: היעילות והביצועים הכי גבוהים לעומסי עבודה של AI. ‫LiteRT מציע תהליך פיתוח מאוחד לגישה לערכות שבבים מיוחדות של NPU, כולל Google Tensor,‏ Qualcomm ו-MediaTek, בלי לדרוש שילוב של SDK ספציפי לספק. מידע נוסף זמין במאמר בנושא האצת NPU באמצעות LiteRT

אפשר לשלב בין המאיצים האלה כדי להשיג את הביצועים הכי טובים שאפשר, כשחלק מהפעולות המורכבות לא זמינות בחומרה מסוימת. כשמאיצים מתחרים על פעולה, LiteRT משתמש בסדר העדיפות הבא: NPU,‏ GPU, ‏ CPU.