Quantization - איך "מכווצים" מודלים בלי לפגוע בתוצאות

תוכן עניינים

Quantization - איך “מכווצים” מודלים בלי לפגוע בתוצאות

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

כאן נכנסת לתמונה Quantization.

מה זה בעצם Quantization?

Quantization היא טכניקה שממירה מספרים מדויקים מאוד (לרוב מסוג float32) לגרסה “גסה” יותר - לדוגמה int8 או אפילו int4.

במילים פשוטות: אנחנו מקטינים את הרזולוציה של המשקולות במודל. במקום לשמור 32 ביט לכל ערך, שומרים רק 8 ביט - פי 4 פחות נתונים.

למה זה חשוב?

חיסכון בזיכרון

מודל ענק שתופס 80GB בגרסתו המקורית יכול לרדת גם ל-20GB לאחר Quantization. המשמעות: אפשר להריץ אותו על חומרה חלשה יותר או בכמות גדולה יותר של בקשות במקביל.

האצה משמעותית בחישוב

פעולות עם מספרים שלמים קטנים (int8) מתבצעות מהר בהרבה על מעבדים ומאיצים מודרניים, מה שמביא לשיפור ניכר ב-inference latency וב-throughput.

צריכת חשמל נמוכה יותר

פחות ביטים = פחות פעולות קריאה וכתיבה לזיכרון = פחות אנרגיה.

אבל מה המחיר?

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

לכן יש שתי גישות עיקריות ל-Quantization:

  • Post-training quantization - עושים את ההמרה אחרי שהמודל כבר אומן. פשוט, מהיר, אבל פחות מדויק.
  • Quantization-aware training (QAT) - מאמנים את המודל מראש “תוך כדי” ההנחה שערכי המשקולות יהיו מקוונטים. זה שומר על הדיוק, אך דורש יותר עבודה.

דוגמה פשוטה

Quantization ל-int8 לא הופך משקולת עשרונית למשקולת עשרונית “מעוגלת” יותר - הוא הופך אותה למספר שלם, בטווח קבוע (למשל -128 עד 127), לפי יחס המרה (scale).

לדוגמה, משקולת w = 0.8374 יכולה להפוך ל-w_q = 107 (מספר שלם), כאשר scale מתאים משמש כדי לשחזר בחזרה קירוב של הערך המקורי.

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

אז למה כולם מדברים על זה?

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

סיכום

Quantization היא לא רק “טריק לחיסכון בזיכרון”. זו אחת הטכנולוגיות המרכזיות שמאפשרות ל-AI לעבור מהמעבדות - לעולם האמיתי.

תגובות