הקשר ארוך

מודלים של 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, תוך שמירה על ביצועים גבוהים.

שאלות נפוצות

איפה הכי טוב להציב את השאילתה שלי בחלון ההקשר?

ברוב המקרים, במיוחד אם ההקשר הכולל ארוך (יותר מ-32,000 תווים), הביצועים של המודל יהיו טובים יותר אם תוסיפו את השאילתה או השאלה בסוף ההנחיה (אחרי כל ההקשרים האחרים).

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

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