Gemini מגיע עם חלון הקשר של מיליון טוקנים. בעבר, מודלים גדולים של שפה (LLM) היו מוגבלים מאוד בכמות הטקסט (או האסימונים) שאפשר היה להעביר למודל בבת אחת. חלון ההקשר הארוך של Gemini, עם אחזור כמעט מושלם (>99%), פותח הרבה תרחישי שימוש חדשים ופרדיגמות למפתחים.
הקוד שאתם כבר משתמשים בו למקרים כמו יצירת תוכן או קלט מולטימודלי יעבוד באופן מיידי עם הקשר ארוך.
במדריך הזה נסביר בקצרה את העקרונות הבסיסיים של חלון ההקשר, איך מפתחים צריכים לחשוב על הקשר ארוך, תרחישים שונים של שימוש בהקשר ארוך בעולם האמיתי ודרכים לייעל את השימוש בהקשר ארוך.
מה זה חלון הקשר?
הדרך הבסיסית להשתמש במודלים של Gemini היא להעביר מידע (הקשר) למודל, ואז הוא יוצר תשובה. אפשר להשוות את חלון ההקשר לזיכרון לטווח קצר. יש כמות מוגבלת של מידע שאפשר לאחסן בזיכרון לטווח קצר של אדם, וזה נכון גם לגבי מודלים גנרטיביים.
במדריך למודלים גנרטיביים אפשר לקרוא מידע נוסף על אופן הפעולה של המודלים.
איך מתחילים להשתמש בהקשר רחב
רוב המודלים הגנרטיביים שנוצרו בשנים האחרונות היו מסוגלים לעבד רק 8,000 טוקנים בכל פעם. מודלים חדשים יותר הרחיבו את היכולת הזו, והם יכולים לקבל 32,000 טוקנים או 128,000 טוקנים. Gemini הוא המודל הראשון שיכול לקבל מיליון טוקנים.
בפועל, מיליון טוקנים נראים ככה:
- 50,000 שורות קוד (עם 80 תווים סטנדרטיים בכל שורה)
- כל הודעות ה-SMS ששלחתם ב-5 השנים האחרונות
- 8 רומנים באנגלית באורך ממוצע
- תמלילים של יותר מ-200 פרקי פודקאסט באורך ממוצע
למרות שהמודלים יכולים לקבל יותר ויותר הקשר, חלק גדול מהתפיסה המקובלת לגבי השימוש במודלים גדולים של שפה מבוסס על ההנחה שהמגבלה הזו קיימת במודל, אבל החל משנת 2024 זה כבר לא המצב.
כמה אסטרטגיות נפוצות להתמודדות עם המגבלה של חלונות הקשר קטנים:
- השמטה שרירותית של הודעות או טקסט ישנים מחלון ההקשר כשנכנס טקסט חדש
- לסכם את התוכן הקודם ולהחליף אותו בסיכום כשחלון ההקשר מתקרב למגבלה
- שימוש ב-RAG עם חיפוש סמנטי כדי להעביר נתונים מחלון ההקשר למסד נתונים וקטורי
- שימוש במסננים דטרמיניסטיים או גנרטיביים כדי להסיר טקסט או תווים מסוימים מההנחיות, במטרה לחסוך בטוקנים
חלק מהשיטות האלה עדיין רלוונטיות במקרים מסוימים, אבל ברירת המחדל היא פשוט להכניס את כל הטוקנים לחלון ההקשר. המודלים של Gemini פותחו במיוחד עם חלון הקשר ארוך, ולכן הם הרבה יותר מתאימים ללמידה בהקשר.
הדוגמה הזו ממחישה איך אפשר להתחיל לחשוב על מה שאפשר לעשות עם הקשר ארוך ויכולות הלמידה בהקשר של Gemini.
תרחישי שימוש בהקשר ארוך
תרחיש השימוש הרגיל ברוב המודלים הגנרטיביים הוא עדיין קלט טקסט, אבל משפחת מודלי Gemini מאפשרת פרדיגמה חדשה של תרחישי שימוש במודלים מולטי-מודאליים. המודלים האלה יכולים להבין באופן טבעי טקסט, וידאו, אודיו ותמונות. כדי שיהיה נוח, הם מלווים ב-Gemini Enterprise API ל-Gemini שמקבל סוגי קבצים מולטי-מודאליים.
טקסט ארוך
הטקסט הוא שכבת המידע שעליה מבוססת רוב ההתקדמות בתחום של מודלי שפה גדולים. כמו שציינו קודם, חלק גדול מהמגבלות המעשיות של מודלי LLM נובע מכך שאין להם חלון הקשר גדול מספיק כדי לבצע משימות מסוימות. זה הוביל לאימוץ מהיר של יצירה משולבת-אחזור (RAG) וטכניקות אחרות שמספקות למודל מידע הקשרי רלוונטי באופן דינמי. עכשיו, עם חלונות הקשר גדולים יותר ויותר, יש טכניקות חדשות שמאפשרות תרחישי שימוש חדשים.
הנה כמה תרחישי שימוש חדשים וסטנדרטיים להקשר ארוך שמבוסס על טקסט:
- סיכום של קורפוסים גדולים של טקסט
- באפשרויות סיכום קודמות עם מודלים של הקשר קטן יותר, נדרש חלון הזזה או טכניקה אחרת כדי לשמור על המצב של הקטעים הקודמים כשטוקנים חדשים מועברים למודל.
- שאלות ותשובות
- בעבר, זה היה אפשרי רק באמצעות RAG, בגלל הכמות המוגבלת של ההקשר והיכולת הנמוכה של המודלים לשלוף עובדות.
- תהליכי עבודה אג'נטיים
- הטקסט הוא הבסיס שמאפשר לסוכנים לעקוב אחרי מה שהם עשו ומה שהם צריכים לעשות. אם אין מספיק מידע על העולם ועל המטרה של הסוכן, זה מגביל את האמינות של הסוכנים.
למידה בהקשר עם הרבה דוגמאות היא אחת מהיכולות הייחודיות ביותר שמתאפשרות בזכות מודלים עם הקשר ארוך. מחקרים הראו שאם לוקחים את הפרדיגמה הנפוצה של דוגמה "יחידה" או "מרובה", שבה מוצגת למודל דוגמה אחת או כמה דוגמאות למשימה, ומרחיבים אותה למאות, לאלפים או אפילו למאות אלפי דוגמאות, אפשר להגיע ליכולות חדשות של המודל. הגישה הזו, שמתבססת על הרבה דוגמאות, מניבה תוצאות דומות לאלה של מודלים שעברו כוונון למשימה ספציפית. בתרחישים שבהם הביצועים של מודל Gemini עדיין לא מספיקים להשקה בסביבת הייצור, אתם יכולים לנסות את הגישה של many-shot. כמו שנסביר בהמשך בקטע על אופטימיזציה של הקשר ארוך, שמירת הקשר במטמון הופכת את סוג עומס העבודה הזה של טוקנים רבים של קלט להרבה יותר משתלם מבחינה כלכלית, ובמקרים מסוימים אפילו מפחיתה את זמן האחזור.
סרטון ארוך (LFV)
התועלת של קטע וידאו הוגבלה במשך זמן רב בגלל חוסר הנגישות של המדיה עצמה. היה קשה לעבור על התוכן במהירות, התמלילים לא תמיד הצליחו לתפוס את הניואנסים של הסרטון, ורוב הכלים לא מעבדים תמונה, טקסט ואודיו ביחד. ב-Gemini, היכולות של טקסט בהקשר ארוך מתורגמות ליכולת להסיק מסקנות ולענות על שאלות לגבי קלט מולטי-מודאלי עם ביצועים עקביים.
הנה כמה תרחישים לדוגמה, חדשים ורגילים, לשימוש בהקשר ארוך בסרטונים:
- שאלות ותשובות בסרטונים
- זיכרון של סרטונים, כמו שמוצג ב-פרויקט Astra של Google
- כתוביות בסרטונים
- מערכות להמלצות על סרטונים, על ידי העשרת המטא-נתונים הקיימים באמצעות הבנה מולטי-מודאלית חדשה
- התאמה אישית של סרטונים, על ידי בחינת מאגר נתונים ומטא-נתונים של סרטונים משויכים, ולאחר מכן הסרת חלקים מהסרטונים שלא רלוונטיים לצופה
- ניהול תוכן של סרטונים
- עיבוד וידאו בזמן אמת
כשעובדים עם סרטונים, חשוב להביא בחשבון את אופן העיבוד של הסרטונים לטוקנים, כי זה משפיע על החיוב ועל מגבלות השימוש. תוכלו ללמוד עוד על הנדסת פרומפטים עם קובצי וידאו במדריך לכתיבת פרומפטים.
אודיו ארוך
המודלים של Gemini היו המודלים הגדולים של שפה (LLM) הראשונים שהיו מולטי-מודאליים באופן טבעי ויכלו להבין אודיו. בעבר, תהליך העבודה הרגיל של מפתחים כלל שילוב של כמה מודלים ספציפיים לתחום, כמו מודל המרת דיבור לטקסט ומודל יצירת טקסט על סמך טקסט, כדי לעבד אודיו. זה גרם לזמן אחזור נוסף שנדרש לביצוע כמה בקשות הלוך ושוב, ולירידה בביצועים שבדרך כלל מיוחסת לארכיטקטורות מנותקות של הגדרת כמה מודלים.
הנה כמה תרחישים לדוגמה, חדשים ורגילים, לשימוש בהקשר של אודיו:
- תמלול ותרגום בזמן אמת
- שאלות ותשובות על פודקאסטים או סרטונים
- תמלול וסיכום של פגישות
- עוזרים קוליים
במדריך להנחיות מוסבר איך להשתמש בקובצי אודיו בהנחיות.
אופטימיזציה של הקשר ארוך
האופטימיזציה העיקרית כשעובדים עם הקשר ארוך ומודלים של Gemini היא להשתמש בשמירת הקשר במטמון. מעבר לחוסר היכולת לעבד הרבה טוקנים בבקשה אחת, המגבלה העיקרית השנייה הייתה העלות. אם יש לכם אפליקציה של "צ'אט עם הנתונים שלכם" שבה משתמש מעלה 10 קובצי PDF, סרטון וכמה מסמכי עבודה, בעבר הייתם צריכים לעבוד עם כלי או מסגרת מורכבים יותר של RAG (יצירת תוכן מבוססת-אחזור) כדי לעבד את הבקשות האלה, ולשלם סכום משמעותי על טוקנים שהועברו לחלון ההקשר. עכשיו אתם יכולים לשמור במטמון את הקבצים שהמשתמש מעלה ולשלם על האחסון שלהם לפי שעה. עלות הקלט/פלט לכל בקשה נמוכה מעלות הקלט/פלט הרגילה, כך שאם המשתמש מתכתב בצ'אט עם הנתונים שלו מספיק פעמים, זה חוסך לכם כמפתחים הרבה כסף.
מגבלות על הקשר ארוך
בחלקים שונים של המדריך הזה, דיברנו על האופן שבו מודלים של Gemini משיגים ביצועים גבוהים בהערכות שונות של שליפת מחט בערימת שחת. הבדיקות האלה מתייחסות להגדרה הבסיסית ביותר, שבה אתם מחפשים מחט אחת. במקרים שבהם יש כמה "מחטים" או פריטי מידע ספציפיים שאתם מחפשים, המודל לא פועל באותה רמת דיוק. הביצועים יכולים להשתנות במידה רבה בהתאם להקשר. חשוב להביא את זה בחשבון כי יש פשרה מובנית בין אחזור המידע הנכון לבין העלות. אפשר להגיע לדיוק של כ-99% בשאילתה אחת, אבל צריך לשלם את עלות הטוקן של הקלט בכל פעם ששולחים את השאילתה הזו. לכן, כדי לאחזר 100 פריטי מידע, אם אתם צריכים ביצועים של 99%, סביר להניח שתצטרכו לשלוח 100 בקשות. זו דוגמה טובה למצב שבו שמירת הקשר במטמון יכולה להפחית באופן משמעותי את העלות של השימוש במודלים של Gemini, תוך שמירה על ביצועים גבוהים.
המאמרים הבאים
הצגת רשימה של טוקנים וספירה שלהם
אתם יכולים להשתמש ב-Google Gen AI SDK כדי להציג רשימה של הטוקנים ומזהי הטוקנים של הנחיה, ולקבל את מספר הטוקנים הכולל של הנחיה.