הבעיה: טוקן אחד בכל פעם
מודל-שפה מייצר טקסט טוקן אחר טוקן, וכל טוקן תלוי בקודמיו. לכן, כפי שניסחו זאת החוקרים שהציגו את השיטה, יצירת K טוקנים דורשת K הרצות רצופות של המודל. בבלוג של Google Research מ-2024 הם מוסיפים שבכל צעד כזה המודל צריך לקרוא מהזיכרון את כל המשקלים שלו — במודלים גדולים, זה יכול להגיע לסדר-גודל של טרה-בייט לכל מילה. החומרה עצמה, מעבדים גרפיים ו-TPU, מסוגלת לבצע מאות פעולות חישוב על כל בייט שהיא קוראת מהזיכרון, אבל בזמן יצירת טקסט ה-Transformer מבצע בדרך-כלל רק פעולות ספורות לכל בייט. המסקנה שלהם: בזמן יצירת טקסט נשאר כוח-חישוב פנוי, והשאלה היא איך לנצל אותו. גם Hugging Face תיארה ב-2023 את אותו צוואר-בקבוק: הזמן הולך בעיקר על העברת משקלי המודל מהזיכרון אל יחידות-החישוב, ולא על החישוב עצמו.
הרעיון: לנחש, ולבדוק במקביל
פענוח ספקולטיבי מנצל את הכוח הפנוי הזה. הוא נשען על תצפית פשוטה: חלק מהטוקנים קלים לניחוש. בדוגמה של Google, בטקסט "מהו השורש הריבועי של 7? השורש הריבועי של 7 הוא 2.646", את ה-7 השני קל לנבא — אפשר פשוט להעתיק אותו מהשאלה — ואילו 2.646 דורש חישוב או ידע. מכאן השיטה: מודל קטן ומהיר, "מודל-טיוטה" (Draft Model), מציע כמה טוקנים קדימה, והמודל הגדול, "מודל-המטרה", מריץ מעבר אחד שבודק את כל ההצעות במקביל. הצעות שהמודל הגדול מקבל נשמרות; מהנקודה שבה הוא דוחה הצעה, ההמשך שהוצע אחריה נזרק והוא ממשיך בעצמו. כך, בצעד אחד של המודל הגדול אפשר לקבל כמה טוקנים במקום אחד. השם שאול מתכנון מעבדים: ביצוע ספקולטיבי (Speculative Execution) הוא ביצוע משימה לפני שברור שהיא נחוצה, או במקביל לבדיקה אם היא נחוצה — כמו חיזוי-הסתעפויות (Branch Prediction) במעבדים מודרניים.
למה האיכות לא נפגעת
החידוש המרכזי אינו עצם הניחוש, אלא הדרך לקבל או לדחות אותו. מודל-שפה אינו בוחר מילה אחת ודאית אלא מחשב התפלגות-הסתברויות ודוגם ממנה, ולכן בדיקה פשוטה של "האם הניחוש זהה" הייתה דוחה ניחושים סבירים רבים. המאמר של Yaniv Leviathan, Matan Kalman ו-Yossi Matias מ-Google, שפורסם בנובמבר 2022, הציע שיטת-דגימה שמקבלת או דוחה כל ניחוש באופן הסתברותי, כך שהפלט מתפלג בדיוק כמו פלט המודל הגדול לבדו, בלי לאמן מחדש ובלי לשנות את המודלים. בפברואר 2023 פרסם צוות בהובלת Charlie Chen שיטה דומה בשם "דגימה ספקולטיבית" (Speculative Sampling), שלדבריו שומרת על התפלגות מודל-המטרה בגבולות הדיוק המספרי של החומרה. תיעוד vLLM חוזר על אותה הסתייגות: השיטה חסרת-אובדן בתיאוריה, אבל הבדלי דיוק בחישובי נקודה-צפה ובגודל-האצווה עלולים לגרום להבדלים קלים בפלט.
כמה זה מאיץ, ומי משתמש
התוצאות שפורסמו הן של מפתחי השיטות עצמם, על מודלים ותנאים מסוימים. המאמר של Google דיווח על האצה של פי 2 עד 3 במודל T5-XXL, עם פלט זהה; בבלוג מ-2024 פירטו החוקרים שבמשימת תרגום, כשמודל T5-small בן 60 מיליון פרמטרים שימש כמנחש, מהירות מודל בן 11 מיליארד פרמטרים השתפרה בערך פי 3. המאמר השני דיווח על האצה של פי 2 עד 2.5 במודל Chinchilla בן 70 מיליארד פרמטרים, במערך מבוזר. Hugging Face, שהוסיפה את השיטה לספריית Transformers במאי 2023 בשם "יצירה בסיוע" (Assisted Generation), כתבה שאפשר לקצר את זמן-התגובה עד פי 10 על חומרה נפוצה — אבל לפי אותו פוסט, פי 10 הוא המקרה של מודל שאינו נכנס לזיכרון המעבד-הגרפי ונשען על העברת-זיכרון (offloading); כשהמודל נכנס לזיכרון דווח על עד פי 2, או עד פי 3 בשילוב כימות ל-INT8. אלה נתוני "עד" של המפתחים, לא ממוצע. בבלוג מדצמבר 2024 כתבה Google שהיא משתמשת בשיטה בכמה ממוצריה, ובהם סקירות ה-AI (AI Overviews) בחיפוש, ושהשיטה אומצה ברחבי התעשייה. גם ספקי-הרצה מסחריים מציעים אותה; הערך על Fireworks AI מתאר מקרה כזה.
מתי הרווח תלוי בחומרה, בעומס ובזוג המודלים
הרווח אינו מובטח, והוא תלוי בכמה גורמים. הראשון הוא עד כמה מודל-הטיוטה מצליח לנחש: לפי חוקרי Google, ככל שהקירוב טוב יותר, כך גדל הסיכוי שהניחושים יתקבלו ושיותר עבודה תיעשה במקביל. השני הוא מהירות מודל-הטיוטה עצמו: Hugging Face הזהירה שמודל-עזר איטי מדי עלול להוביל להאטה נטו, ודרשה שלשני המודלים יהיה בדיוק אותו מפרק-טוקנים (Tokenizer); בגרסה הראשונה בספרייה השיטה גם הוגבלה לבקשה אחת בכל פעם. השלישי הוא העומס על השרת: תיעוד vLLM מציג את השיטה ככלי לקיצור הזמן בין טוקן לטוקן בעומס בינוני עד נמוך, כשהעבודה מוגבלת בזיכרון ולא בחישוב. בטבלה שבתיעוד, הרווח מהשיטות מבוססות-המודל גבוה בעומס נמוך וקטן יותר כשהשרת עמוס, ואילו שיטות פשוטות כמו n-gram נותנות האצה צנועה יותר בלי להוסיף עומס בשעות-שיא. לפי אותו תיעוד, הרווח בפועל תלוי במשפחת המודל, בדפוס התעבורה, בחומרה ובהגדרות הדגימה, ולכן הוא ממליץ למדוד בסביבה עצמה.
לא רק מודל-טיוטה: וריאציות
מאז 2022 התפתחו דרכים רבות לייצר את הניחושים. כבר המאמר המקורי הראה שאפשר להשתמש לא רק במודל קטן מוכן אלא גם בהיוריסטיקות פשוטות. תיעוד vLLM מונה, בבדיקה ב-27.9.2026, בין השאר: מודל-טיוטה נפרד; n-gram, שיטה קלה להפעלה שמחפשת רצפים בתוך הבקשה עצמה ואינה דורשת מודל נוסף; EAGLE, שיטה מבוססת-מודל שהתיעוד מתאר כשיטה כללית חזקה; ו-MTP (Multi-Token Prediction), שמתאימה במיוחד כשמודל-המטרה עצמו כולל תמיכה מובנית בחיזוי של כמה טוקנים קדימה. גם NVIDIA כוללת פענוח ספקולטיבי בכלי האופטימיזציה שלה, Model Optimizer, לצד כימות, גיזום וזיקוק. בכל הווריאציות העיקרון זהה: ניחוש זול, בדיקה במקביל בידי המודל הגדול, ושמירה רק על מה שעובר את הבדיקה.