פיתוח אפליקציה מבוססת-AI גנרטיבי
במסמך הזה נסביר איך להתמודד עם האתגרים בכל שלב בפיתוח של אפליקציית AI גנרטיבי. במאמר מוסבר איך לבחור מודל, להתאים אישית את הפלט של המודל כדי לענות על הצרכים שלכם, להעריך את ההתאמות האישיות ולפרוס את המודל. במאמר הזה אנחנו מניחים שכבר יש לכם תרחיש שימוש בראש, ושמדובר בתרחיש שמתאים ל-AI גנרטיבי. מידע על פיתוח תרחיש לדוגמה זמין במאמר הערכה והגדרה של תרחיש לדוגמה לשימוש ב-AI גנרטיבי בעסק.
לפני שמתחילים לפתח אפליקציה מבוססת-AI גנרטיבי, חשוב להעריך את המוכנות הטכנית של הארגון (יכולות ותשתית). כדי לקבל מידע על הערכת היכולות שלכם בתחום ה-AI ועל יצירת תוכנית פעולה למינוף הפוטנציאל שלו, אפשר לעיין בסדנת מוכנות ל-AI. אם אתם מתכננים לפתח תהליכי עבודה שמבוססים על AI גנרטיבי, כדאי להעריך אם צריך לכלול בודקים אנושיים בשלבים קריטיים של קבלת החלטות. בדיקה אנושית יכולה לעזור בקבלת החלטות כמו הבטחת שימוש אחראי, עמידה בדרישות ספציפיות של בקרת איכות או מעקב אחרי תוכן שנוצר.
מודלים של AI גנרטיבי
מודלים בסיסיים של AI גנרטיבי מאומנים על מערכי נתונים של כמה טרה-בייט של טקסט, תמונות, קוד או מולטימדיה אחרת. הנתונים והארכיטקטורה של המודל מאפשרים למודלים לזהות דפוסים מורכבים, להשיג הבנה עמוקה והקשרית וליצור תוכן חדש כמו טקסט, תמונות, מוזיקה או סרטונים שמבוססים על נתוני האימון.
מודלים בסיסיים הם הליבה שעליה מבוססים יישומים רבים של AI גנרטיבי. היכולות של המודלים מתורגמות ליכולות מתפתחות: באמצעות הנחיה פשוטה של פרומפט טקסטואלי, מודלים בסיסיים של AI גנרטיבי יכולים ללמוד לבצע מגוון משימות – כמו תרגום שפות, מענה על שאלות, כתיבת שיר או כתיבת קוד – בלי אימון מפורש לכל משימה. מודלים בסיסיים של AI גנרטיבי יכולים גם להתאים את עצמם לביצוע משימות ספציפיות באמצעות טכניקות הנחיה מסוימות, או שאפשר לבצע להם כוונון עדין עם נתוני אימון נוספים מינימליים.
מודלים גדולים של שפה (LLM) מאומנים על טקסט, והם דוגמה אחת למודלים בסיסיים שמבוססים בדרך כלל על ארכיטקטורות של למידה עמוקה, כמו Transformer שפותח על ידי Google בשנת 2017. אפשר לאמן מודלים של שפה גדולה (LLM) על מיליארדי דוגמאות של טקסט ותוכן אחר, ואפשר להתאים מודל LLM לתחומים ספציפיים.
מודלים מולטי-מודאליים אחרים מרחיבים את היכולת של אפליקציית AI גנרטיבי לעבד מידע ממגוון קטגוריות, כולל תמונות, סרטונים, אודיו וטקסט. הנחיות מולטי-מודאליות משלבות כמה פורמטים של קלט, כמו טקסט, תמונות ואודיו. לדוגמה, אתם יכולים להזין תמונה ולבקש מאפליקציית AI גנרטיבי לפרט או לתאר את האובייקטים בתמונה. מודלי Gemini של Google מבוססים על מולטי-מודאליות, והם יכולים להסיק מסקנות בצורה חלקה על סמך טקסט, תמונות, סרטונים, אודיו וקוד. Google Cloudבעזרת Model Garden ו-Vertex AI תוכלו למצוא ולהתאים אישית מגוון מודלים בסיסיים של Google, קוד פתוח ומקורות של צד שלישי.
בחירת מודל
כשבוחרים מודל, חשוב לקחת בחשבון את המודאליות, הגודל והעלות שלו. בוחרים את המודל הכי משתלם שעונה על הדרישות שלכם לגבי איכות התשובה והחביון.
- אופן הפעולה: כמו שמתואר בקטע הקודם, אופן הפעולה של מודל מתאים לקטגוריות נתונים ברמה גבוהה שהמודל אומן עליהן, כמו טקסט, תמונות וסרטונים. בדרך כלל, התרחיש לדוגמה שלכם והאופן שבו המודל פועל קשורים זה לזה. אם תרחיש השימוש שלכם כולל יצירת תמונות לפי טקסט, אתם צריכים למצוא מודל שאומן על נתוני טקסט ותמונה. אם אתם צריכים גמישות של כמה סוגי פורמטים, כמו בחיפוש מולטימודאלי, יש מודלים שתומכים גם בתרחישי שימוש מולטימודאליים, אבל העלות והחביון עשויים להיות גבוהים יותר.
- מודלים של Vertex AI מציעים רשימה גדולה של מודלים של AI גנרטיבי שבהם אפשר להשתמש.
- Model Garden מספק רשימה של מודלים של ML מצד ראשון ומקוד פתוח ב-Google Cloud.
- גודל: הגודל של מודל נמדד בדרך כלל לפי מספר הפרמטרים. באופן כללי, מודל גדול יותר יכול ללמוד דפוסים וקשרים מורכבים יותר בתוך הנתונים, מה שיכול להוביל לתשובות באיכות גבוהה יותר. יכול להיות שלמודלים גדולים יותר באותה משפחה יש זמן אחזור ועלויות גבוהים יותר, ולכן כדאי לנסות מודלים שונים ולהעריך אותם כדי לקבוע איזה גודל מודל מתאים לתרחיש השימוש שלכם.
עלות: העלות של מודל קשורה ליכולות שלו, שבדרך כלל קשורות למספר הפרמטרים של המודל. יכול להיות גם שהמודלים יהיו מדודים ויחויבו בצורה שונה. לדוגמה, חלק מהמודלים מחויבים על סמך מספר טוקני הקלט והפלט. מודלים אחרים מחויבים על סמך מספר שעות הצמתים שנעשה בהם שימוש בזמן שהמודל מוטמע.
מידע על התמחור של מודלים של AI גנרטיבי ב-Vertex AI זמין במאמר בנושא תמחור ב-Vertex AI.
מידע על העלות של פריסת מודלים ב-Google Kubernetes Engine (GKE) זמין במחירון של GKE.
תכונות: לא כל המודלים תומכים בתכונות כמו שיפור וזיקוק. אם היכולות האלה חשובות לכם, כדאי לבדוק את התכונות שנתמכות בכל מודל.
עיצוב הנחיות
עיצוב הנחיות הוא תהליך של יצירת צמדים של הנחיות ותשובות כדי לספק למודלים של שפה הקשר והוראות נוספים. אחרי שכותבים הנחיות, מזינים אותן למודל כמערך נתונים של הנחיות לצורך אימון מוקדם. כשמודל מספק תחזיות, הוא מגיב עם ההוראות שלכם.
אם רוצים לקבל פלט ספציפי, אפשר להשתמש באסטרטגיות לעיצוב הנחיות, כמו הנחיית המודל להשלים קלט חלקי או מתן דוגמאות למודל לתשובות אידיאליות. מידע נוסף זמין במאמר מבוא לעיצוב הנחיות.
התאמה אישית של מודל
אחרי שתנסחו את ההנחיה, יכול להיות שתגלו שהתשובות של המודל טובות, ולכן לא תצטרכו להתאים אותו אישית. אם המודל לא מתפקד טוב – למשל אם הוא מייצר הזיות – אפשר להשתמש בטכניקות נוספות להתאמה אישית. בקטעים הבאים מוסבר על טכניקות כאלה, והם יכולים לעזור לכם להבין איך האפשרויות האלה משפיעות על הפלט של המודל.
בקשה להפעלת פונקציה ותוספים
הפעלת פונקציות ותוספים ל-Vertex AI מרחיבים את היכולות של המודל. כדאי לחשוב על תרחישי השימוש באפליקציה שלכם ועל המקרים שבהם שימוש במודל בלבד לא יספיק. כדי לעזור למודל, אפשר להוסיף לו קריאות לפונקציות או תוספים. לדוגמה, המודל יכול לחלץ מידע מהיומן מטקסט ואז להשתמש בתוסף כדי למצוא הזמנה ולבצע אותה.
אפשר להשתמש בתוספים ובקריאה לפונקציות לסירוגין, אבל יש כמה הבדלים ברמה גבוהה. קריאה לפונקציה היא פעולה אסינכרונית ולא צריך לכלול אישורים בקוד. תוספים ל-Vertex AI מספקים אפשרויות מוכנות מראש שאפשר להשתמש בהן למשימות מורכבות, כך שלא צריך לכתוב פונקציות משלכם. עם זאת, מכיוון ש-Vertex AI Extensions מחזיר פונקציות ומפעיל אותן בשבילכם, התוספים דורשים שתכללו את פרטי הכניסה בקוד.
עיגון
הארקה היא תהליך של שיפור התשובות של המודל על ידי עיגון שלהן למקורות מידע שאפשר לאמת. כדי להקפיד על דיוק המודל, מקשרים אותו למקור נתונים. הארקה של מודל עוזרת לשפר את מהימנות התוכן שנוצר על ידי צמצום ההזיות.
יצירה משולבת-אחזור (RAG) היא טכניקת עיגון נפוצה. ב-RAG נעשה שימוש בפונקציית חיפוש כדי למצוא מידע רלוונטי, ואז המידע הזה מתווסף להנחיה של המודל. כשמשתמשים ב-RAG, התוצאות מבוססות על עובדות ועל המידע העדכני ביותר. חיפוש RAG משתמש בהטמעות וקטוריות ובמסדי נתונים וקטוריים, שמאחסנים נתונים כייצוגים מספריים של נתונים לא מובְנים כמו טקסט ותמונות. מידע נוסף זמין במאמר מהי מסד נתונים וקטורי.
מידע נוסף על Grounding ב-Vertex AI זמין בסקירה הכללית על Grounding. מידע על הגדרת תהליך עבודה של הטמעה ב-AlloyDB ל-PostgreSQL זמין בדוגמה לתהליך עבודה של הטמעה.
כוונון מודל
משימות מיוחדות, כמו אימון מודל שפה במינוח ספציפי, עשויות לדרוש יותר אימון ממה שאפשר לעשות רק באמצעות עיצוב הנחיה. במקרה כזה, אפשר להשתמש בכוונון מודל כדי לשפר את הביצועים ולגרום למודל לעמוד בדרישות ספציפיות של פלט.
כדי לכוונן מודל, צריך ליצור מערך נתונים לאימון ואז לבחור שיטת כוונון, כמו כוונון בפיקוח, כוונון באמצעות למידה חיזוקית ממשוב אנושי (RLHF) או זיקוק מודל. גודל מערך הנתונים ושיטות הכוונון תלויים במודל ובמה שאתם מבצעים אופטימיזציה עבורו. לדוגמה, כדי לקבל שיפורים משמעותיים במשימות נישתיות ומיוחדות, צריך מערך נתונים קטן יותר. מידע נוסף על שיפור מודלים
הערכת מודל
הערכת המודל עוזרת לכם לבדוק איך ההנחיות וההתאמות האישיות משפיעות על הביצועים של המודל. לכל שיטת הערכה יש יתרונות וחסרונות משלה שכדאי לקחת בחשבון. לדוגמה, אפשר להפוך את ההערכות שמבוססות על מדדים לאוטומטיות ולבצע אותן במהירות ובקנה מידה גדול, באמצעות דרך מדידה כמותית של הביצועים. עם זאת, מדדים יכולים לפשט יתר על המידה את התוצאות, ולא לכלול הקשר וניואנסים של שפה טבעית. כדי לצמצם את החסרונות האלה, מומלץ להשתמש במגוון רחב של מדדים בשילוב עם הערכות אנושיות.
AI גנרטיבי ב-Vertex AI מציע הערכה מקבילה אוטומטית, שמאפשרת להשוות את הפלט של שני מודלים לנתוני האמת. מודל שלישי עוזר לכם לבחור את התשובות האיכותיות יותר. הערכה מקבילה אוטומטית זוכה לדירוג זהה לזה של בודקים אנושיים, אבל היא מהירה יותר וזמינה על פי דרישה. עם זאת, כדי לבצע את ההשוואות, השיטה הזו דורשת מודל גדול יותר מהמודלים שאתם מעריכים, שיכול להציג הטיה מובנית. לכן, עדיין כדאי לבצע הערכות אנושיות.
לכל שיטות ההערכה, צריך מערך נתונים להערכה. קבוצת נתונים להערכה כוללת זוגות של הנחיות ואמיתות בסיסיות (תשובות אידיאליות) שאתם יוצרים. כשיוצרים את מערך הנתונים, חשוב לכלול בו מגוון רחב של דוגמאות שתואמות למשימה שאתם מעריכים, כדי לקבל תוצאות משמעותיות.
פריסת מודל
פריסת מודל משייכת נקודת קצה ומשאבי מכונה פיזית למודל שלכם, כדי לספק תחזיות אונליין עם זמן אחזור נמוך. לא צריך לפרוס את כל המודלים. לדוגמה, למודלים הבסיסיים של Google שזמינים ב-AI גנרטיבי ב-Vertex AI כבר יש נקודות קצה. נקודות הקצה ספציפיות לפרויקט Google Cloud שלכם, והן זמינות לשימוש באופן מיידי. עם זאת, אם מבצעים כוונון של אחד מהמודלים האלה, צריך לפרוס אותם לנקודת קצה.
כשפורסים מודל, צריך להחליט אם מעדיפים לפרוס מודלים בסביבה מנוהלת מלאה או בסביבה בניהול עצמי. בסביבה מנוהלת באופן מלא, בוחרים את המשאבים הפיזיים שצריך, כמו סוג המכונה וסוג המאיץ, ואז Vertex AI יוצר ומנהל את המשאבים בשבילכם. לדוגמה, כדי להפעיל תחזיות אונליין שבהן Vertex AI מנהל את משאבי הפריסה בשבילכם, אפשר לעיין במאמר פריסת מודל לנקודת קצה. בסביבה בניהול עצמי, יש לכם שליטה מדויקת יותר על המשאבים, אבל אתם מנהלים אותם בעצמכם. בסביבות בניהול עצמי, אתם יכולים להפעיל מודלים בפלטפורמות כמו GKE.
אחרי שמחליטים באיזה סוג סביבה רוצים לבצע פריסה, צריך לקחת בחשבון את התנועה הצפויה, את דרישות ההשהיה ואת התקציב. צריך לאזן בין הגורמים האלה לבין המשאבים הפיזיים שלכם. לדוגמה, אם העלות הנמוכה היא בראש סדר העדיפויות, יכול להיות שתוכלו להסתפק במכונות עם זמן אחזור גבוה יותר, שהעלות שלהן נמוכה יותר. סביבות בדיקה הן דוגמה טובה לפשרה הזו. מידע נוסף על בחירת סוג מכונה זמין במחברת Determining the ideal machine type to use for Vertex AI endpoints.
שימוש אחראי ב-AI
AI גנרטיבי ב-Vertex AI מתוכנן בהתאם לעקרונות ה-AI של Google. עם זאת, חשוב לבדוק את המודלים כדי לוודא שהשימוש בהם בטוח ואחראי. בגלל הרבגוניות המדהימה של מודלים גדולים של שפה (LLM), קשה לחזות תגובות לא מכוונות או לא צפויות.
כשמפתחים אפליקציות לתרחיש השימוש שלכם, חשוב לקחת בחשבון את המגבלות של מודלים של AI גנרטיבי כדי לצמצם ככל האפשר את הסיכון לשימוש לרעה ולבעיות לא מכוונות. דוגמה למגבלה של מודל היא שהאיכות שלו תלויה באיכות הנתונים שבהם משתמשים. אם תספקו למודל נתונים לא אופטימליים – כמו נתונים לא מדויקים או חלקיים – לא תוכלו לצפות לביצועים אופטימליים. חשוב לוודא שנתוני הקלט וההנחיות מדויקים. אחרת, יכול להיות שהביצועים של המודל לא יהיו אופטימליים או שהפלט של המודל יהיה שגוי. מידע נוסף על המגבלות של מודלים של AI גנרטיבי זמין במאמר בנושא אתיקה של בינה מלאכותית.