איך עובד Inference בפועל?
איך עובד Inference בפועל?
בפוסט הקודם דיברנו על מה זה בכלל Inference - השלב שבו המודל כבר לא “לומד”, אלא מיישם את מה שכבר ידע. עכשיו נצלול רגע פנימה, להבין מה באמת קורה שם מאחורי הקלעים.
שלב 1: הקלט נכנס
המודל מקבל את השאלה שלך (או תמונה, או פקודה כלשהי). הקלט הזה מתורגם למספרים - ייצוג מתמטי של המשמעות שלו. זה נקרא Embedding.
שלב 2: המסע דרך השכבות
המספרים עוברים דרך עשרות או מאות שכבות נוירונים. בכל שכבה, מתבצעים חישובים שמזקקים עוד קצת את המשמעות. החישוב הזה נקרא Forward Pass - תנועה קדימה בלבד (בלי תיקונים או למידה מחדש).
שלב 3: החלטה על התשובה
בסוף התהליך, המודל מוציא רשימת הסתברויות: מה הסיכוי שכל טוקן (מילה או חלק ממנה) הוא ההמשך הנכון? הטוקן עם הסיכוי הגבוה נבחר - ואז מתחיל סיבוב חדש. כך נוצרת תשובה, טוקן אחרי טוקן.
למה זה חשוב?
כי כל שלב כזה הוא הזדמנות לשפר ביצועים:
- איך הנתונים זורמים בין שכבות.
- איך ניגשים לזיכרון.
- ואיך מנהלים את המעבר בין CPU, GPU או מאיץ ייעודי כמו NR1.
אופטימיזציה של השלבים האלה היא ליבת תחום Inference Optimization.
סיכום קצר
Training = ללמוד ידע.
Inference = להשתמש בו.
כל שנייה פחות בתהליך = חוויה טובה יותר למשתמש ויעילות טובה יותר למערכת.
בפוסט הבא נלמד על: מה קורה מאחורי הקלעים בתהליכי Prefill, Decode וניהול KV Cache - המנגנונים שקובעים כמה מהר המודל יכול לענות.
📚 פוסטים נוספים בסדרה: מסע אל עולם ההסקה
- חלק 1 מהו Inference ולמה הוא קורה אחרי Training?
- חלק 3 מה קורה מאחורי הקלעים כשהמודל עונה לך? (Prefill, Decoding ו-KV Cache)
- חלק 4 למה המודל שלך לא רץ מהר כמו שציפית? Bottlenecks באינפרנס
- חלק 5 Inference Optimization - לגרום למודלים לעבוד מהר יותר, לא רק טוב יותר
- חלק 6 מה זה בעצם מנוע Inference - ולמה הוא כל כך חשוב?