המערכת של YUV.AI

מדריכים

TTFT ו-FLOPs: למה המודל מחכה רגע לפני שהוא עונה, ואז זורם

כולם מדברים על TTFT ו-teraflops ומעטים מסבירים מה זה. בואו נפרק מהיסוד: מה זה הזמן עד הטוקן הראשון, למה פרומפט ארוך מאריך את ההמתנה, מה זה בכלל FLOP, וכמה חזקים הכרטיסים של NVIDIA. עם גרפים מבוססי datasheets.

אהבתם? שתפו
TTFT ו-FLOPs: למה המודל מחכה רגע לפני שהוא עונה, ואז זורם

אמ;לק

5 הדברים שצריך לדעת

Time To First Token: מרגע ששלחנו את הפרומפט ועד שהמילה הראשונה מופיעה. זה 'הבהייה במסך ריק', ומדד החוויה הכי חשוב לתחושת מהירות.

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

טרה-FLOP = טריליון פעולות, פטה-FLOP = אלף טריליון. כרטיס נמדד ב-FLOPS (פעולות בשנייה): A100=312, H100=989, B200=2,250 טרה-FLOPs (FP16). H200 זהה ל-H100 בחישוב.

כל טוקן עולה ~פי 2 ממספר הפרמטרים בפעולות. TTFT ≈ (טוקני קלט × 2N) / מהירות הכרטיס. לכן הכפלת אורך הפרומפט ~מכפילה את זמן ההמתנה.

API מהירים: טוקן ראשון בכ-300-600 ms; מודלי חשיבה כבדים, שניות. יעד לצ'אט: ~300 ms; לעוזר קולי ~150 ms. מספרי GPU רשמיים; זמני TTFT מדווחים ומשוערים.

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

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

מה זה TTFT: השנייה שאנחנו מחכים

נתחיל מהמושג הראשון. TTFT, ראשי תיבות של Time To First Token, הוא הזמן מרגע ששלחנו את הפרומפט ועד שהטוקן הראשון של התשובה מופיע על המסך. זה בדיוק משך ה"בהייה במסך ריק" לפני שהטקסט מתחיל לזרום.

לפי ההגדרה הרשמית של NVIDIA, ה-TTFT כולל את זמן ההמתנה בתור, את זמן העיבוד של הפרומפט, ואת זמן הרשת. וזה מדד החוויה הכי חשוב: כמה מהר המערכת מרגישה מגיבה. אף אחד לא אוהב לחכות מול סמן מהבהב.

למה זה קורה: שלב ה-Prefill

הנה הלב של העניין, וזה מה שרוב האנשים לא יודעים. לפני שהמודל יכול לפלוט אפילו טוקן אחד, הוא חייב לקרוא ולעבד את כל הפרומפט שלנו במכה אחת. השלב הזה נקרא prefill, והוא זה שקובע את ה-TTFT. המודל בונה מעין "זיכרון עבודה" (שנקרא KV cache) מכל מילה בקלט, ורק אז הוא מוכן לייצר את הטוקן הראשון.

וכאן הכלל שכדאי לזכור, שגם NVIDIA מדגישה: ככל שהפרומפט ארוך יותר, כך ה-TTFT גדול יותר. פרומפט של 4000 מילים ייקח הרבה יותר זמן להתחיל לענות מפרומפט של 20 מילים, כי יש יותר לעבד לפני הטוקן הראשון.

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

עכשיו FLOPs: היחידה שמודדת עוצמת חישוב

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

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

הנה המספרים הרשמיים מדפי הנתונים של NVIDIA, וההבדלים ענקיים:

גרף · נתונים מאומתים

עוצמת חישוב של כרטיסי NVIDIA (TFLOPS, FP16/BF16)

A100312
H100989
H200989
B2002250

טרה-FLOPs לשנייה בדיוק FP16/BF16 (dense tensor core), מדפי הנתונים של NVIDIA. H200 זהה ל-H100 בחישוב (שדרוג זיכרון בלבד). נכון ל־דפי נתונים רשמיים 2026.

תראו את הקפיצה. כרטיס A100 עושה 312 טרה-FLOPs לשנייה, ה-H100 קופץ ל-989, וה-B200 החדש מגיע ל-2,250, כלומר 2.25 פטה-FLOPs. עובדה מגניבה: ה-H200 זהה ל-H100 בעוצמת החישוב, כי זה אותו שבב בדיוק, השדרוג שלו הוא רק בזיכרון. ובדיוק הדקויות האלה קובעות כמה מהר נקבל את הטוקן הראשון.

הגשר: איך FLOPs קובעים את ה-TTFT

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

אז אם ה-prefill צריך לעבד את כל הפרומפט, החישוב פשוט: זמן ה-TTFT שווה בערך למספר טוקני הקלט כפול פעמיים הפרמטרים, חלקי מהירות הכרטיס. לכן, כפי שראינו, הכפלת אורך הפרומפט בערך מכפילה את זמן ההמתנה. הנה איך זה נראה על מודל 70B וכרטיס H100 בודד:

גרף · נתונים מאומתים

זמן עד הטוקן הראשון לפי אורך הפרומפט (70B על H100)

128 טוקנים18 ms
512 טוקנים40 ms
1024 טוקנים72 ms
2048 טוקנים135 ms
4096 טוקנים260 ms

קירוב הנדסי: מודל 70B, כרטיס H100 בודד (FP8, ~50% ניצולת). שימו לב שהכפלת אורך הפרומפט בערך מכפילה את ההמתנה. נכון ל־קירוב הנדסי.

בואו נעשה דוגמה מספרית אחת, כי היא ממחישה הכל. פרומפט של 1000 טוקנים למודל 70B דורש 140 טרה-FLOPs של עיבוד. על H100 שעושה בערך 989 טרה-FLOPs לשנייה (ובניצולת מציאותית של כ-50 אחוז), זה יוצא בערך 280 מילי-שניות רק כדי להתחיל לענות. וזו הסיבה שהטוקן הראשון הוא ה"יקר", ואילו כל השאר זורמים.

וכמה זה בעולם האמיתי

בשביל פרופורציה, הנה זמני TTFT מדווחים מ-API מהירים ב-2026: מודלים מהירים כמו Mistral Large נותנים טוקן ראשון בכ-300 מילי-שניות, GPT-5.2 בכ-550, ומודלי חשיבה כבדים יכולים לקחת כמה שניות שלמות.

והנה מספר שמעצב מוצרים: היעד המקובל לצ'אט אינטראקטיבי הוא כ-300 מילי-שניות לטוקן הראשון, הנקודה שבה אנחנו מפסיקים להרגיש עיכוב. לעוזר קולי היעד קשוח יותר, כ-150 מילי-שניות, ולהשלמת קוד בזמן הקלדה אפילו מתחת ל-100. מעל שלוש שניות, החוויה כבר נשברת.

גרף · נתונים מאומתים

כמה חישוב עולה טוקן, לפי גודל המודל (כלל 2N)

7B14
13B26
70B140
175B350
405B810

GFLOPs (מיליארד פעולות) לכל טוקן בפעולת forward, לפי הכלל: פעמיים מספר הפרמטרים. נכון ל־מתמטיקה של 2N.

איך מודדים TTFT בעצמנו

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

למדוד TTFT בעצמכם (סטרימינג)
import time
from anthropic import Anthropic

client = Anthropic()
start = time.time()
ttft = None

with client.messages.stream(
    model="claude-haiku-4-5",
    max_tokens=500,
    messages=[{"role": "user", "content": "Explain TTFT in one line."}],
) as stream:
    for event in stream.text_stream:
        if ttft is None:                 # first chunk arrived
            ttft = time.time() - start
            print(f"TTFT: {ttft*1000:.0f} ms")
            break

שורה תחתונה, ובעיניי

אז בואו נסכם לפי תבנית שאני אוהב. TTFT הוא הזמן עד הטוקן הראשון, והוא נקבע בשלב ה-prefill שבו המודל מעבד את כל הפרומפט; FLOPs הם יחידת החישוב שקובעת כמה מהר הכרטיס עושה את זה. פרומפט ארוך יותר או כרטיס חלש יותר, המתנה ארוכה יותר.

בעיניי, ברגע שמבינים את זה, מפסיקים לתסכל מ"המודל איטי" ומתחילים לחשוב נכון: אם ה-TTFT חשוב לנו, נקצר את הפרומפט, נשתמש במטמון, או נבחר מודל וכרטיס מתאימים. המגבלה, וזה הוגן לומר: המספרים המדויקים של TTFT תלויים בהמון גורמים, ניצולת הכרטיס, batching, רשת, ותנאי העומס, אז המספרים כאן הם קירוב הנדסי ומדדים מדווחים, לא הבטחה. מספרי הכרטיסים עצמם, לעומת זאת, הם רשמיים מדפי הנתונים של NVIDIA.

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

מקורות ואימות

כל טענה עובדתית בכתבה נבדקה מול המקורות הבאים.

  1. Metrics (TTFT, ITL) · NVIDIA NIM LLM Benchmarking docsdocs.nvidia.com
  2. Prefill and Decode: the two phases of inference · WEKAweka.io
  3. NVIDIA A100 datasheetnvidia.com
  4. NVIDIA H100 datasheetresources.nvidia.com
  5. NVIDIA B200 / Blackwell (HGX B200)nvidia.com
  6. Scaling Laws for Neural Language Models (2N/6N) · Kaplan et al. 2020arxiv.org
  7. LLM latency benchmark · AIMultiple (2026)aimultiple.com

אהבתם את הכתבה? ספרו לי

הקורס המוביל שלי

Practical AI with Claude

הקורס הכי מקיף בעברית לשליטה מלאה ב-Claude — מ-Claude Desktop לעבודה יומיומית, ועד בניית סוכנים ואוטומציות אמיתיות.

למידע והרשמה

פניות תקשורת

לראיונות, שיתופי פעולה והרצאות, נשמח לדבר.

info@yuv.ai