Gemini מגיע כברירת מחדל עם חלון הקשר של מיליון טוקנים. בעבר, מודלים גדולים של שפה (LLM) היו מוגבלים באופן משמעותי בכמות הטקסט (או הטוקנים) שאפשר להעביר למודל בכל פעם. חלון ההקשר הארוך של Gemini, עם אחזור כמעט מושלם (>99%), פותח הרבה תרחישי שימוש חדשים ופרדיגמות חדשות למפתחים.
הקוד שבו אתם כבר משתמשים במקרים כמו יצירת תוכן או קלט מולטי-מודאלי יעבוד עם הקשר ארוך ללא צורך בהגדרה נוספת.
במדריך הזה נסביר בקצרה את היסודות של חלון ההקשר, איך מפתחים צריכים לחשוב על הקשר ארוך, נציג תרחישי שימוש שונים בעולם האמיתי להקשר ארוך ונסביר איך אפשר לבצע אופטימיזציה של השימוש בהקשר ארוך.
מה זה חלון הקשר?
הדרך הבסיסית שבה משתמשים במודלים של Gemini היא העברת מידע (הקשר) למודל, ולאחר מכן המודל יוצר תשובה. אפשר להשוות את חלון ההקשר לזיכרון לטווח קצר. יש כמות מוגבלת של מידע שאפשר לאחסן בזיכרון לטווח קצר של מישהו, וזה נכון גם לגבי מודלים גנרטיביים.
מידע נוסף על אופן הפעולה של המודלים זמין במדריך למודלים גנרטיביים.
תחילת העבודה עם הקשר רחב
רוב המודלים הגנרטיביים שנוצרו בשנים האחרונות יכלו לעבד רק 8,000 טוקנים בכל פעם. בדגמים חדשים יותר, המגבלה הזו גדולה יותר, והם יכולים לקבל 32,000 טוקנים או 128,000 טוקנים. Gemini הוא המודל הראשון שיכול לקבל מיליון טוקנים, ועכשיו 2 מיליון טוקנים עם Gemini 1.5 Pro.
בפועל, מיליון טוקנים ייראו כך:
- 50,000 שורות קוד (עם 80 תווים בכל שורה, כפי שמוגדר כברירת מחדל)
- כל הודעות הטקסט ששלחתם ב-5 השנים האחרונות
- 8 רומנים באנגלית באורך ממוצע
- תמלילים של יותר מ-200 פרקים של פודקאסטים באורך ממוצע
למרות שהמודלים יכולים לקבל יותר ויותר הקשר, הרבה מההנחות המקובלות לגבי השימוש במודלים גדולים של שפה מניחות את המגבלה המובנית הזו על המודל, אבל נכון לשנת 2024, זה כבר לא המצב.
אלה כמה אסטרטגיות נפוצות להתמודדות עם המגבלה של חלונות הקשר הקטנים:
- מחיקה שרירותית של הודעות או טקסט ישנים מחלון ההקשר כשמגיע טקסט חדש
- סיכום התוכן הקודם והחלפתו בסיכום כשחלון ההקשר מתקרב למצב מלא
- שימוש ב-RAG עם חיפוש סמנטי כדי להעביר נתונים מחוץ לחלון ההקשר אל מסד נתונים וקטורי
- שימוש במסננים דטרמיניסטיים או גנרטיביים כדי להסיר טקסט או תווים מסוימים מההנחיות כדי לחסוך באסימונים
אף על פי שחלק מהשיטות האלה עדיין רלוונטיות במקרים מסוימים, כברירת מחדל, עכשיו פשוט מכניסים את כל האסימונים לחלון ההקשר. המודלים של Gemini תוכננו במיוחד עם חלון הקשר ארוך, ולכן הם מסוגלים ללמוד מתוך ההקשר בצורה טובה יותר. לדוגמה, עם חומרי הדרכה בלבד (דקדוק של 500 עמודים, מילון וכ-400 משפטים מקבילים נוספים) שסופקו כולם בהקשר, Gemini 1.5 Pro ו-Gemini 1.5 Flash מסוגלים ללמוד לתרגם מאנגלית לקלמנג – שפה פפואנית עם פחות מ-200 דוברים, ולכן כמעט ללא נוכחות באינטרנט – באיכות דומה לאיכות של אדם שלמד מאותם חומרים.
הדוגמה הזו ממחישה איך אפשר להתחיל לחשוב על האפשרויות שזמינות לכם עם הקשר ארוך והיכולות של Gemini ללמידה בהקשר.
תרחישים לדוגמה לשימוש בהקשר ארוך
תרחיש השימוש הסטנדרטי ברוב המודלים הגנרטיביים הוא עדיין קלט טקסט, אבל משפחת המודלים של Gemini מאפשרת פרדיגמה חדשה של תרחישי שימוש מולטימודאליים. המודלים האלה יכולים להבין באופן טבעי טקסט, וידאו, אודיו ותמונות. לנוחיותכם, מצורף Vertex AI API for Gemini, שמקבל סוגי קבצים מרובי-מוֹדָלִים.
טקסט ארוך
הטקסט הוא שכבת האינטליגנציה שעומדת בבסיס של הרבה מהמומנטום סביב מודלים גדולים של שפה. כפי שציינו קודם, הרבה מהמגבלות המעשיות של מודלים גדולים של שפה נבעו מכך שלא היה להם חלון הקשר גדול מספיק כדי לבצע משימות מסוימות. הדבר הוביל לאימוץ מהיר של יצירה משולבת-אחזור (RAG) וטכניקות אחרות שמספקות למודל באופן דינמי מידע רלוונטי בהקשר. עכשיו, עם חלונות הקשר גדולים יותר ויותר (נכון לעכשיו עד 2 מיליון ב-Gemini 1.5 Pro), יש טכניקות חדשות שזמינות ופותחות אפשרויות לתרחישי שימוש חדשים.
הנה כמה תרחישי שימוש חדשים וסטנדרטיים בהקשר ארוך מבוסס-טקסט:
- סיכום של מאגרי טקסט גדולים
- אפשרויות קודמות לסיכום עם מודלים קטנים יותר של הקשר היו דורשות חלון הזזה או טכניקה אחרת כדי לשמור את המצב של קטעים קודמים כשמועברים טוקנים חדשים למודל
- שאילת שאלות ומענה עליהן
- בעבר, היה אפשר לעשות את זה רק באמצעות RAG, כי כמות ההקשר הייתה מוגבלת והיכולת של המודלים לשחזר עובדות הייתה נמוכה
- תהליכי עבודה אג'נטיים
- הטקסט הוא הבסיס לאופן שבו סוכנים שומרים על מצב הפעולה שלהם, כלומר מה הם עשו ומה הם צריכים לעשות. חוסר מידע מספיק על העולם ועל המטרה של הסוכן הוא מגבלה על המהימנות של סוכנים.
למידה בהקשר עם הרבה דוגמאות היא אחת מהיכולות הייחודיות ביותר שמתאפשרות על ידי מודלים עם הקשר ארוך. מחקרים הראו שאם לוקחים את הפרדיגמה הנפוצה של דוגמה אחת או כמה דוגמאות, שבהן מוצגות למודל דוגמה אחת או כמה דוגמאות למשימה, ומרחיבים אותה למאות, אלפים או אפילו מאות אלפי דוגמאות, אפשר להגיע ליכולות חדשות של המודל. הוכח גם שהגישה הזו של למידה עם הרבה דוגמאות פועלת באופן דומה למודלים שעברו כוונון עדין למשימה ספציפית. במקרים שבהם הביצועים של מודל Gemini עדיין לא מספיקים לפריסה בסביבת ייצור, אפשר לנסות את גישת ה-many-shot. כפי שנסביר בהמשך בקטע על אופטימיזציה של הקשר הארוך, שמירת הקשר במטמון הופכת את העומס הזה של טוקנים עם קלט גבוה להרבה יותר משתלם, ובמקרים מסוימים אפילו מקצרת את זמן האחזור.
סרטון ארוך
השימוש בתוכן וידאו מוגבל כבר הרבה זמן בגלל חוסר הנגישות של המדיום עצמו. היה קשה לסרוק את התוכן, התמלילים לא תמיד הצליחו לתעד את הניואנסים של הסרטון, ורוב הכלים לא מעבדים תמונות, טקסט ואודיו יחד. היכולות של Gemini לעיבוד טקסט עם הקשר ארוך מאפשרות לו להסיק מסקנות ולענות על שאלות לגבי קלט מולטי-מודאלי, תוך שמירה על רמת ביצועים גבוהה.
הנה כמה תרחישי שימוש חדשים ונפוצים בהקשר ארוך של סרטונים:
- שאלות ותשובות בסרטון
- זיכרון הווידאו, כפי שמוצג ב-פרויקט Astra של Google
- כתוביות לסרטונים
- מערכות המלצות לסרטונים, על ידי העשרה של מטא-נתונים קיימים בהבנה חדשה של מודלים מרובי-מוֹדָל
- התאמה אישית של סרטונים על ידי ניתוח מאגר נתונים ומטא-נתונים של סרטונים קשורים, ואז הסרת חלקים בסרטונים שלא רלוונטיים לצופה
- ניהול תוכן בסרטונים
- עיבוד סרטונים בזמן אמת
כשעובדים עם סרטונים, חשוב להבין איך הסרטונים מעובדים לטוקנים, כי זה משפיע על החיוב ועל מגבלות השימוש. מידע נוסף על יצירת הנחיות באמצעות קובצי וידאו זמין במדריך ליצירת הנחיות.
תוכן אודיו ארוך
מודלי Gemini היו המודלים הגדולים הראשונים של שפה (LLM) עם מולטי-מודאליות טבעית שיכלו להבין אודיו. בעבר, תהליך העבודה הטיפוסי של מפתחים כלל שרשור של כמה מודלים ספציפיים לתחום, כמו מודל של המרת דיבור לטקסט (STT) ומודל של יצירת טקסט על סמך טקסט, כדי לעבד אודיו. הדבר הוביל לזמן אחזור נוסף שנדרש לביצוע של כמה בקשות הלוך ושוב, ולירידה בביצועים שבדרך כלל משויכת לארכיטקטורות מנותקות של הגדרת כמה מודלים.
בבדיקות סטנדרטיות של אודיו בתוך חבילת נתונים גדולה, Gemini 1.5 Pro מצליח למצוא את האודיו המוסתר ב-100% מהבדיקות, ו-Gemini 1.5 Flash מצליח למצוא אותו ב-98.7% מהבדיקות. Gemini 1.5 Flash יכול לקבל עד 9.5 שעות של אודיו בבקשה אחת, ו-Gemini 1.5 Pro יכול לקבל עד 19 שעות של אודיו באמצעות חלון ההקשר של 2 מיליון טוקנים. בנוסף, בקבוצת נתונים לבדיקה של קטעי אודיו באורך 15 דקות, Gemini 1.5 Pro משיג שיעור שגיאות במילים (WER) של ~5.5%, נמוך בהרבה אפילו ממודלים מיוחדים של המרת דיבור לטקסט (STT), בלי המורכבות הנוספת של פילוח קלט נוסף ועיבוד מקדים.
הנה כמה תרחישי שימוש חדשים ונפוצים בהקשר של אודיו:
- תמלול ותרגום בזמן אמת
- שאלות ותשובות לגבי פודקאסטים או סרטונים
- תמלול וסיכום של פגישות
- עוזרים קוליים
מידע נוסף על יצירת הנחיות באמצעות קובצי אודיו זמין במדריך ליצירת הנחיות.
אופטימיזציות של הקשר ארוך
האופטימיזציה העיקרית כשעובדים עם הקשר ארוך ועם מודלים של Gemini היא שימוש בשמירת הקשר במטמון. בנוסף לבעיה הקודמת של עיבוד מספר רב של טוקנים בבקשה אחת, המגבלה העיקרית השנייה הייתה העלות. אם יש לכם אפליקציה שמאפשרת למשתמשים לשוחח עם הנתונים שלהם, והמשתמש מעלה 10 קובצי PDF, סרטון וכמה מסמכים שקשורים לעבודה, בעבר הייתם צריכים לעבוד עם כלי או מסגרת מורכבים יותר של שליפה מוגברת של מידע (RAG) כדי לעבד את הבקשות האלה, ולשלם סכום משמעותי על טוקנים שהועברו לחלון ההקשר. עכשיו אפשר לשמור במטמון את הקבצים שהמשתמש מעלה ולשלם על האחסון שלהם לפי שעה. עלות הקלט / הפלט לכל בקשה נמוכה מעלות הקלט / הפלט הרגילה, כך שאם המשתמש ינהל מספיק שיחות עם הנתונים שלו, תוכלו לחסוך בעלויות.
מגבלות של הקשר ארוך
בקטעים שונים במדריך הזה הסברנו איך מודלים של Gemini משיגים ביצועים גבוהים במגוון רחב של הערכות של שליפת מידע מתוך כמות גדולה של נתונים. בבדיקות האלה נלקח בחשבון ההגדרה הבסיסית ביותר, שבה מחפשים מחט אחת. במקרים שבהם יש כמה 'מחטים' או פיסות מידע ספציפיות שאתם מחפשים, המודל לא פועל באותה רמת דיוק. הביצועים יכולים להשתנות במידה רבה בהתאם להקשר. חשוב לקחת את זה בחשבון כי יש פה פשרה מובנית בין קבלת המידע הנכון לבין העלות. אפשר לקבל ~99% בשאילתה אחת, אבל צריך לשלם את עלות טוקן הקלט בכל פעם ששולחים את השאילתה הזו. לכן, כדי לאחזר 100 פריטי מידע, אם נדרשים ביצועים של 99%, סביר להניח שתצטרכו לשלוח 100 בקשות. זו דוגמה טובה למקרים שבהם שמירת מטמון של ההקשר יכולה להפחית באופן משמעותי את העלות שקשורה לשימוש במודלים של Gemini, תוך שמירה על רמת ביצועים גבוהה.
המאמרים הבאים
הצגת רשימה של טוקנים וספירתם
אתם יכולים להשתמש ב-Google Gen AI SDK כדי לראות רשימה של האסימונים ומזהי האסימונים של הנחיה, ולקבל את המספר הכולל של האסימונים בהנחיה.