הקשר רחב

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

טקסט ארוך

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

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

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

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

סרטון ארוך

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

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

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

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

תוכן אודיו ארוך

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

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

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

במדריך ליצירת הנחיות יש מידע נוסף על יצירת הנחיות עם קובצי אודיו.

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

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

מגבלות של הקשר ארוך

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

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

מדריך

אתם יכולים להשתמש ב-Google Gen AI SDK כדי לראות רשימה של הטוקנים ומזהי הטוקנים של פרומפט, ולקבל את כמות הטוקנים הכוללת של פרומפט.