הקשר ארוך

ב-Gemini 2.0 Flash וב-Gemini 1.5 Flash יש חלון הקשר של מיליון אסימונים, וב-Gemini 1.5 Pro יש חלון הקשר של 2 מיליון אסימונים. בעבר, מודלים גדולים של שפה (LLM) היו מוגבלים מאוד בגלל כמות הטקסט (או האסימונים) שאפשר להעביר למודל בבת אחת. חלון ההקשר הארוך של Gemini 1.5, עם אחזור כמעט מושלם (יותר מ-99%), מאפשר לכם להשתמש במודל העבודה של המפתחים ובתרחישים לדוגמה חדשים.

הקוד שכבר משתמשים בו במקרים כמו יצירת טקסט או קלט רב-מודלי יפעל באופן אוטומטי עם הקשר ארוך.

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

מה זה חלון הקשר?

הדרך הבסיסית להשתמש במודלים של Gemini היא להעביר מידע (הקשר) למודל, שיוצר תשובה. חלון ההקשר הוא כמו זיכרון לטווח קצר. יש כמות מוגבלת של מידע שאפשר לאחסן בזיכרון לטווח קצר של אדם, ואותו הדבר נכון לגבי מודלים גנרטיביים.

מידע נוסף על אופן הפעולה של המודלים מפורט במדריך שלנו בנושא מודלים גנרטיביים.

תחילת העבודה עם הקשר ארוך

רוב המודלים הגנרטיביים שנוצרו בשנים האחרונות יכלו לעבד רק 8,000 אסימונים בכל פעם. בדגמים חדשים יותר, המספר הזה גדל ל-32,000 או ל-128,000. Gemini 1.5 הוא המודל הראשון שיכול לקבל מיליון אסימונים, ועכשיו 2 מיליון אסימונים עם Gemini 1.5 Pro.

בפועל, מיליון אסימונים ייראו כך:

  • 50,000 שורות קוד (עם 80 תווים סטנדרטיים בכל שורה)
  • כל הודעות הטקסט ששלחתם בחמש השנים האחרונות
  • 8 רומנים באנגלית באורך ממוצע
  • תמלילים של יותר מ-200 פרקים של פודקאסטים באורך ממוצע

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

אסטרטגיות נפוצות לטיפול במגבלה של חלונות הקשר קטנים:

  • הסרה שרירותית של הודעות או טקסט ישנים מחלון ההקשר כשטקסט חדש מגיע
  • סיכום התוכן הקודם והחלפתו בסיכום כשחלון ההקשר מתחיל להתמלא
  • שימוש ב-RAG עם חיפוש סמנטי כדי להעביר נתונים מחלון ההקשר למסד נתונים של וקטורים
  • שימוש במסננים גנרטיביים או דטרמיניסטיים כדי להסיר טקסט או תווים מסוימים מהנחיות כדי לחסוך אסימונים

רבים מהם עדיין רלוונטיים במקרים מסוימים, אבל עכשיו חלון ההקשר הוא פשוט המקום שבו מתחילים. המודלים של Gemini תוכננו במיוחד עם חלון הקשר ארוך, ולכן הם מתאימים הרבה יותר ללמידה בהקשר. לדוגמה, בעזרת חומרי הדרכה בלבד (ספר דקדוק עם 500 עמודים, מילון ו-400 שורות מקבילות נוספות) שכוללים הקשר, Gemini 1.5 Pro ו-Gemini 1.5 Flash יכולים ללמוד לתרגם מאנגלית לקלמנג (שפה פפואנית שיש לה פחות מ-200 דוברים, ולכן כמעט אין לה נוכחות באינטרנט) באיכות דומה לזו של אדם שלמד מאותו חומר.

הדוגמה הזו מדגישה איך אפשר להתחיל לחשוב על מה שאפשר לעשות עם הקשר ארוך ועם יכולות הלמידה בהקשר של מודלים של Gemini.

תרחישים לדוגמה עם הקשר ארוך

התרחיש לדוגמה הרגיל של רוב המודלים הגנרטיביים הוא עדיין קלט טקסט, אבל משפחת המודלים של Gemini 1.5 מאפשרת שימוש במודלים במגוון דרכים. המודלים האלה יכולים להבין באופן מקורי טקסט, וידאו, אודיו ותמונות. הם מלווים ב-Gemini API שמקבל סוגי קבצים מולטימודאליים לנוחותכם.

טקסט ארוך

הטקסט הוכיח את עצמו כשכבת המודיעין שמניעה את רוב המומנטום סביב מודלים גדולים של שפה (LLM). כפי שציינו קודם, רוב המגבלות המעשיות של מודלים LLM נובעות מכך שלא הייתה להם חלון הקשר גדול מספיק לביצוע משימות מסוימות. כתוצאה מכך, התרחש אימוץ מהיר של יצירת מודלים משופרת לאחזור (RAG) ושיטות אחרות שמספקות למודלים מידע רלוונטי בהקשר באופן דינמי. עכשיו, עם חלונות הקשר גדולים יותר ויותר (נכון לעכשיו עד 2 מיליון ב-Gemini 1.5 Pro), יש שיטות חדשות שזמינות ומאפשרות ליישם תרחישים לדוגמה חדשים.

תרחישים נפוצים ומתפתחים לשימוש בהקשר ארוך מבוסס-טקסט כוללים:

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

למידה בהקשר עם הרבה דוגמאות היא אחת מהיכולות הייחודיות ביותר שמודלים עם הקשר ארוך מאפשרים. מחקרים הראו ששימוש במודל 'single shot' או 'multi-shot', שבו מוצגות למודל דוגמה אחת או כמה דוגמאות של משימה, והרחבת המודל למאות, לאלפי או אפילו למאות אלפי דוגמאות, יכול להוביל ליכולות חדשות של המודל. נמצא גם שהגישה הזו עם הרבה תמונות מניבה ביצועים דומים לאלה של מודלים שהותאמו למשימה ספציפית. בתרחישי שימוש שבהם הביצועים של מודל Gemini עדיין לא מספיקים להשקה בסביבת הייצור, אפשר לנסות את הגישה של צילום הרבה תמונות. כפי שנסביר בהמשך בקטע 'אופטימיזציה של הקשר ארוך', שמירת הקשר במטמון הופכת את סוג עומס העבודה הזה של אסימוני קלט רבים לאפשרי מבחינה כלכלית, ובמקרים מסוימים גם מקצרת את זמן האחזור.

סרטון ארוך

כבר זמן רב שהשימוש בתוכן וידאו מוגבל בגלל חוסר הנגישות של המדיום עצמו. היה קשה לקרוא את התוכן במהירות, לרוב התמלילים לא הצליחו לתעד את הניואנסים של הסרטון, ורוב הכלים לא מעבדים תמונה, טקסט ואודיו יחד. ב-Gemini 1.5, היכולות של טקסט עם הקשר ארוך מתרגמות ליכולת לנמק ולענות על שאלות לגבי קלט מולטימודלי עם ביצועים עקביים. כשבדקנו את Gemini 1.5 Flash בבעיה של 'מחט בערימה של שחת' בסרטון עם מיליון טוקנים, זכינו לזיהוי של יותר מ-99.8% מהסרטון בחלון ההקשר. ב-1.5 Pro הגענו לביצועים מתקדמים ביותר במדד הביצועים Video-MME.

תרחישים נפוצים ומתפתחים לשימוש בסרטונים ארוכים עם הקשר כוללים:

  • פרסום שאלות ותשובות בסרטונים
  • זיכרון וידאו, כפי שמוצג ב-Project Astra של Google
  • הוספת כתוביות לסרטונים
  • מערכות המלצות לסרטונים, על ידי העשרת המטא-נתונים הקיימים בהבנה חדשה של מידע רב-מודלי
  • התאמה אישית של סרטונים, על ידי בדיקה של מאגר נתונים ומטא-נתונים של סרטונים משויכים, ולאחר מכן הסרה של חלקים מהסרטונים שלא רלוונטיים לצופה
  • ניהול תוכן בסרטונים
  • עיבוד וידאו בזמן אמת

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

אודיו ארוך

המודלים של Gemini 1.5 היו המודלים הראשונים של LLM עם יכולת הבנה מולטי-מודאלית מובנית, שיכולים להבין אודיו. בעבר, תהליך העבודה הרגיל של המפתחים כלל שילוב של כמה מודלים ספציפיים לדומיין, כמו מודל של דיבור לטקסט ומודל של טקסט לטקסט, כדי לעבד אודיו. כתוצאה מכך, זמן האחזור הנוסף שנדרש לביצוע מספר בקשות הלוך ושוב הוביל לירידה בביצועים, שנובעת בדרך כלל מארכיטקטורות לא מחוברות של הגדרת כמה מודלים.

בבדיקות רגילות של אודיו בערימה, 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%, נמוך בהרבה אפילו ממודלים מיוחדים להמרת דיבור לטקסט, בלי המורכבות הנוספת של פילוח קלט נוסף ועיבוד מקדים.

תרחישים לדוגמה לשימוש בהקשר אודיו, כולל תרחישים חדשים ותרחישים רגילים:

  • תמלול ותרגום בזמן אמת
  • פודקאסט או סרטון עם שאלות ותשובות
  • תמלול וסיכום של פגישות
  • עוזרים קוליים

מידע נוסף על הצגת הנחיות באמצעות קובצי אודיו זמין במדריך להנחיות.

אופטימיזציות של הקשר ארוך

האופטימיזציה הראשית כשעובדים עם הקשר ארוך ועם המודלים של Gemini 1.5 היא שימוש באחסון במטמון של הקשר. בנוסף לכך שלא ניתן היה לעבד הרבה אסימונים בבקשה אחת, האילוץ העיקרי השני היה העלות. אם יש לכם אפליקציה מסוג 'צ'אט עם הנתונים שלך' שבה משתמש מעלה 10 קובצי PDF, סרטון ומסמכי עבודה מסוימים, בעבר הייתם צריכים להשתמש בכלי או מסגרת מורכבים יותר של יצירת נתונים משופרים לאחזור (RAG) כדי לעבד את הבקשות האלה ולשלם סכום משמעותי על אסימונים שהועבר לחלון ההקשר. מעכשיו אפשר לשמור במטמון את הקבצים שהמשתמשים מעלים ולשלם על האחסון שלהם לפי שעה. לדוגמה, העלות של קלט ופלט לכל בקשה ב-Gemini 1.5 Flash נמוכה פי 4 בערך מהעלות הרגילה של קלט ופלט, כך שאם המשתמש משתמש בצ'אט עם הנתונים שלו מספיק, אתם יכולים לחסוך הרבה כסף בתור מפתחים.

הגבלות על חלון הקשר ארוך

בקטעים שונים במדריך הזה דיברנו על האופן שבו מודלים של Gemini 1.5 משיגים ביצועים גבוהים במגוון הערכות אחזור של 'מחט בערימה של שחת'. הבדיקות האלה מבוססות על ההגדרה הבסיסית ביותר, שבה אתם מחפשים מחט אחת. במקרים שבהם יש כמה 'מחטים' או פריטים ספציפיים של מידע שאתם מחפשים, המודל לא פועל באותה רמת דיוק. הביצועים עשויים להשתנות במידה רבה בהתאם להקשר. חשוב להביא את הנושא הזה בחשבון, כי יש פשרה מובנית בין אחזור המידע הנכון לבין העלות. אפשר לקבל כ-99% בשאילתה אחת, אבל צריך לשלם את עלות אסימון הקלט בכל פעם ששולחים את השאילתה הזו. לכן, כדי לאחזר 100 פרטי מידע, אם אתם צריכים ביצועים של 99%, סביר להניח שתצטרכו לשלוח 100 בקשות. זוהי דוגמה טובה למקרה שבו שמירת הקשר במטמון יכולה להפחית באופן משמעותי את העלות המשויכת לשימוש במודלים של Gemini, תוך שמירה על ביצועים גבוהים.

שאלות נפוצות

האם הביצועים של המודל יושפעו אם אוסיף עוד אסימונים לשאילתה?

באופן כללי, אם אתם לא צריכים להעביר אסימונים למודל, מומלץ להימנע מהעברה שלהם. עם זאת, אם יש לכם כמות גדולה של אסימונים עם מידע מסוים ואתם רוצים לשאול שאלות לגבי המידע הזה, המודל מסוגל לחלץ את המידע הזה בצורה יעילה מאוד (במקרים רבים, דיוק של עד 99%).

מהם הביצועים של Gemini 1.5 Pro במבחן הרגיל של חיפוש מחט בערימה?

המודל Gemini 1.5 Pro משיג אחזור של 100% עד 530 אלף אסימונים, ואחזור של יותר מ-99.7% עד מיליון אסימונים.

איך אפשר להפחית את העלות באמצעות שאילתות עם הקשר ארוך?

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

איך אפשר לקבל גישה לחלון הקשר שיכול להכיל 2 מיליון אסימונים?

כל המפתחים יכולים עכשיו להשתמש בחלון הקשר של 2 מיליון אסימונים ב-Gemini 1.5 Pro.

האם אורך ההקשר משפיע על זמן האחזור של המודל?

בכל בקשה יש זמן אחזור קבוע מסוים, ללא קשר לגודל שלה, אבל בדרך כלל לשאילתות ארוכות יותר יהיה זמן אחזור ארוך יותר (זמן לקבלת האסימון הראשון).

האם יש הבדלים ביכולות של הקשר ארוך בין Gemini 1.5 Flash לבין Gemini 1.5 Pro?

כן, חלק מהמספרים האלה הוזכרו בקטעים שונים של המדריך הזה, אבל באופן כללי, ברוב התרחישים לדוגמה שבהם יש הרבה הקשר, הביצועים של Gemini 1.5 Pro טובים יותר.