פיתוח אפליקציה מבוססת-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 models מציע רשימה גדולה של מודלים של 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 מידע על הגדרת תהליך עבודה של הטמעה ב-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 גנרטיבי ב-Vertex AI מתוכנן בהתאם לעקרונות ה-AI של Google. עם זאת, חשוב לבדוק את המודלים כדי לוודא שהשימוש בהם בטוח ואחראי. בגלל הרבגוניות המדהימה של מודלים גדולים של שפה (LLM), קשה לחזות תגובות לא מכוונות או לא צפויות.

כשמפתחים אפליקציות לתרחיש השימוש שלכם, חשוב לקחת בחשבון את המגבלות של מודלים של AI גנרטיבי כדי למזער בצורה נכונה את הסיכון לשימוש לרעה ולבעיות לא מכוונות. דוגמה להגבלה של מודל היא שמודל טוב רק כמו הנתונים שבהם משתמשים. אם תספקו למודל נתונים לא אופטימליים – כמו נתונים לא מדויקים או חלקיים – לא תוכלו לצפות לביצועים אופטימליים. חשוב לוודא שהנתונים וההנחיות שהזנתם מדויקים. אחרת, יכול להיות שהמודל יניב ביצועים לא אופטימליים או פלט שגוי. מידע נוסף על המגבלות של מודלים של AI גנרטיבי זמין במאמר בנושא אתיקה של בינה מלאכותית.

המאמרים הבאים