צורך בזמן השהיה נמוך יותר ב-H100/Blackwell ללא פגיעה בדיוק כתוצאה מקוונטיזציית INT אגרסיבית.
→השתמש בקוונטיזציית FP8 (E4M3) באמצעות TensorRT-LLM; ל-Hopper ול-Blackwell יש ליבות Tensor Core מקוריות התומכות ב-FP8.
למה: FP8 שומר על טווח דינמי טוב יותר מ-INT8 ופועל במהירות חומרה מלאה ב-Hopper+, ומספק איכות קרובה ל-FP16 בקצב תפוקה של INT8.
מקור↗
המודל בקושי נכנס לזיכרון ה-GPU והתפוקה מוגבלת על ידי רוחב פס הזיכרון.
→החל קוונטיזציית INT4 weight-only (AWQ או GPTQ); שמור הפעלות (activations) ב-FP16/FP8.
למה: Weight-only INT4 מקטין את הזיכרון בערך בחצי לעומת INT8 ומקל על לחץ רוחב הפס; דיוק ההפעלה נשאר גבוה כך שאובדן הדיוק קטן.
החלטה בין קוונטיזציה לאחר אימון (post-training quantization) לאימון מודע קוונטיזציה (quantization-aware training).
→התחל עם PTQ (כוונן על מדגם מייצג); חזור ל-QAT רק אם אובדן הדיוק של PTQ חורג מהתקציב.
למה: PTQ מהיר ואינו דורש אימון מחדש; QAT משחזר דיוק אך דורש הרצת אימון, לכן שמור אותו למודלים קריטיים לדיוק.
הגשה בהקשר ארוך שבה מטמון ה-KV שולט בזיכרון ומגביל את גודל האצווה (batch size).
→הפעל קוונטיזציית מטמון KV מסוג FP8 או INT8 ב-TensorRT-LLM.
למה: מטמון ה-KV גדל עם אורך הרצף × אצווה; קוונטיזציה שלו משחררת זיכרון עבור אצוות גדולות יותר והקשרים ארוכים יותר עם השפעה מינימלית על האיכות.
אורכי בקשות מעורבים גורמים לזמן סרק של ה-GPU עם batching סטטי.
→השתמש ב-in-flight (רציף) batching ב-TensorRT-LLM כך שרצפים שהסתיימו יפונו וחדשים יצטרפו באמצע הדרך.
למה: continuous batching שומר על ה-GPU רווי ומעלה את התפוקה הרבה מעבר ל-batching סטטי עבור זרמי בקשות הטרוגניים.
מקור↗
מודל מורה גדול עומד בדרישות איכות אך לא עומד ביעדי זמן השהיה ועלות.
→בצע דיסטילציה למודל תלמיד קטן יותר, ולאחר מכן בצע קוונטיזציה לתלמיד עבור הסקה.
למה: דיסטילציה מעבירה יכולות לארכיטקטורה זולה יותר; בשילוב עם קוונטיזציה היא מגדילה את החיסכון בעלות/זמן השהיה.
זמן השהיה בזרם יחיד גבוה מדי עבור תרחיש שימוש אינטראקטיבי.
→החל speculative decoding עם מודל טיוטה קטן המאומת על ידי מודל היעד.
למה: הטיוטה מציעה מספר אסימונים שהמודל הגדול מאמת במעבר אחד, ובכך מקצרת את זמן השהיה בפועל מבלי לשנות את התפלגות הפלט.
קוונטיזציה של הכל ל-INT4 פוגעת בדיוק בכמה שכבות רגישות.
→השתמש בדיוק מעורב (mixed-precision): שמור על שכבות רגישות (כגון היטל סופי, attention) בדיוק גבוה יותר ובצע קוונטיזציה לשאר.
למה: הרגישות משתנה משכבה לשכבה; דיוק סלקטיבי מגן על הדיוק במקומות החשובים תוך הקטנת מרבית המשקלים.
דיוק ה-PTQ ירוד למרות תוכנית קוונטיזציה סבירה.
→כייל מחדש עם מדגם מתוך ההתפלגות (מאות פרומפטים מייצגים) התואם את תעבורת הייצור.
למה: כיול מגדיר טווחי הפעלה; מדגם לא מייצג מייצר סקאלות שגויות ואובדן דיוק שניתן למנוע.