מידע על Codelab זה
1. לפני שמתחילים
אחד מהפריצות דרך המלהיבות ביותר בתחום למידת המכונה לאחרונה הוא מודלים גדולים של שפה (LLM). אפשר להשתמש בהם כדי ליצור טקסט, לתרגם שפות ולענות על שאלות בצורה מקיפה ואינפורמטיבית. מודלים גדולים של שפה (LLM), כמו LaMDA ו-PaLM של Google, מאומנים על כמויות עצומות של נתוני טקסט, מה שמאפשר להם ללמוד את הדפוסים הסטטיסטיים ואת קשרי הגומלין בין מילים וביטויים. כך הם יכולים ליצור טקסט שדומה לטקסט שנכתב על ידי בני אדם, ולתרגם שפות ברמת דיוק גבוהה.
מודלי שפה גדולים תופסים הרבה מקום באחסון, ובדרך כלל צורכים הרבה כוח מחשוב כדי לפעול. לכן, בדרך כלל הם נפרסים בענן, והם די מאתגרים ללמידת מכונה במכשיר (ODML) בגלל כוח מחשוב מוגבל במכשירים ניידים. אבל אפשר להריץ מודלים מסוג LLM בקנה מידה קטן יותר (לדוגמה, GPT-2) במכשיר Android מודרני ועדיין להשיג תוצאות מרשימות.
הנה הדגמה של הפעלת גרסה של מודל Google PaLM עם 1.5 מיליארד פרמטרים ב-Google Pixel 7 Pro ללא האצת ההפעלה.
בשיעור הזה תלמדו על הטכניקות והכלים לבניית אפליקציה מבוססת-LLM (באמצעות GPT-2 כמודל לדוגמה) עם:
- KerasNLP לטעינה של LLM שעבר אימון מראש
- KerasNLP לכוונון עדין של LLM
- TensorFlow Lite להמרה, לאופטימיזציה ולפריסה של מודל שפה גדול ב-Android
דרישות מוקדמות
- ידע בינוני ב-Keras וב-TensorFlow Lite
- ידע בסיסי בפיתוח ל-Android
מה תלמדו
- איך משתמשים ב-KerasNLP כדי לטעון LLM שאומן מראש ולבצע לו כוונון עדין
- איך לבצע קוונטיזציה ולהמיר מודל LLM ל-TensorFlow Lite
- איך מריצים הסקה על מודל TensorFlow Lite שהומר
מה נדרש
- גישה אל Colab
- הגרסה האחרונה של Android Studio
- מכשיר Android מודרני עם זיכרון RAM בנפח גדול מ-4GB
2. להגדרה
כדי להוריד את הקוד של ה-Codelab הזה:
- עוברים אל מאגר GitHub של ה-codelab הזה.
- לוחצים על Code > Download zip (קוד > הורדת קובץ zip) כדי להוריד את כל הקוד של ה-codelab הזה.
- מבטלים את הדחיסה של קובץ ה-ZIP שהורדתם כדי לחלץ תיקיית בסיס
examples
עם כל המשאבים שאתם צריכים.
3. הפעלת האפליקציה למתחילים
- מייבאים את התיקייה
examples/lite/examples/generative_ai/android
ל-Android Studio. - מפעילים את Android Emulator ואז לוחצים על
Run (הפעלה) בתפריט הניווט.
הפעלת האפליקציה וסקירת התכונות שלה
האפליקציה אמורה להיפתח במכשיר Android. האפליקציה נקראת 'השלמה אוטומטית'. ממשק המשתמש פשוט למדי: אפשר להקליד כמה מילות מפתח בתיבת הטקסט ולהקיש על יצירה. לאחר מכן האפליקציה מריצה הסקה על מודל שפה גדול (LLM) ויוצרת טקסט נוסף על סמך הקלט שלכם.
בשלב הזה, אם מקישים על יצירה אחרי שמקלידים כמה מילים, לא קורה כלום. הסיבה לכך היא שהיא עדיין לא מפעילה מודל שפה גדול (LLM).
4. הכנת מודל שפה גדול (LLM) לפריסה במכשיר
- פותחים את Colab ומריצים את קובץ ה-notebook (שמתארח במאגר TensorFlow Codelabs GitHub).
5. השלמת ההגדרה של אפליקציית Android
אחרי שהמרתם את מודל GPT-2 ל-TensorFlow Lite, אפשר סוף סוף לפרוס אותו באפליקציה.
הפעלת האפליקציה
- גוררים את קובץ המודל
autocomplete.tflite
שהורד בשלב הקודם לתיקייהapp/src/main/assets/
ב-Android Studio.
- לוחצים על
Run (הפעלה) בתפריט הניווט ומחכים שהאפליקציה תיטען.
- מקלידים כמה מילות זרע בשדה הטקסט ומקישים על יצירה.
6. הערות בנושא אתיקה של בינה מלאכותית
כפי שצוין בהודעה המקורית על GPT-2 של OpenAI, יש הסתייגויות ומגבלות חשובות לגבי מודל GPT-2. למעשה, למודלים מסוג LLM יש היום כמה בעיות מוכרות, כמו הזיות, פלט פוגע, הוגנות והטיה. הסיבה לכך היא שהמודלים האלה מאומנים על נתונים מהעולם האמיתי, ולכן הם משקפים בעיות מהעולם האמיתי.
השיעור הזה נועד להדגים איך ליצור אפליקציה שמבוססת על מודלים גדולים של שפה (LLM) באמצעות כלי TensorFlow. המודל שנוצר ב-codelab הזה מיועד למטרות לימודיות בלבד ולא לשימוש בסביבת ייצור.
שימוש ב-LLM בייצור מחייב בחירה מושכלת של מערכי נתונים לאימון ואמצעי בטיחות מקיפים. כדי לקבל מידע נוסף על AI אחראי בהקשר של מודלים גדולים של שפה (LLM), מומלץ לצפות בסשן הטכני פיתוח בטוח ואחראי באמצעות מודלים גנרטיביים של שפה ב-Google I/O 2023 ולעיין בערכת הכלים ל-AI אחראי.
7. סיכום
מעולה! יצרתם אפליקציה ליצירת טקסט קוהרנטי על סמך קלט משתמשים, על ידי הפעלת מודל שפה גדול שאומן מראש, באופן בלעדי במכשיר!