דחיסת מודלים (Model Compression)
הגדרה
דחיסת מודלים היא אוסף שיטות להקטנת מודל AI מאומן — גיזום, כימות ופירוק מטריצות, ולצידן זיקוק כשיטה קרובה — כדי שירוץ מהר וזול יותר, גם על טלפון, תוך פגיעה קטנה ככל האפשר באיכות.
💡 דוגמה
כמו סרטון שנשלח בוואטסאפ: הוא נדחס, שוקל הרבה פחות ונשלח מהר, וכמעט לא רואים הבדל.
דחיסת מודלים עושה דבר דומה למודל AI, כדי שיוכל לרוץ גם בתוך הטלפון.
הבעיה: מודלים גדולים, מכשירים קטנים
מודל AI מאומן הוא בעיקר אוסף עצום של מספרים — הפרמטרים שלו. כדי להריץ אותו צריך לטעון את כל המספרים האלה לזיכרון ולחשב איתם בכל שאלה, וזה דורש שבבים חזקים, הרבה זיכרון והרבה חשמל. דחיסת מודלים (Model Compression) היא, בניסוח של ויקיפדיה, "טכניקה של למידת מכונה להקטנת הגודל של מודלים מאומנים", כדי שאפשר יהיה להריץ אותם על מכשירים עם משאבים מוגבלים בלי לאבד יותר מדי מהביצועים.
אין שיטה אחת, אלא משפחה של שיטות. ויקיפדיה מונה שלוש שפועלות על המודל עצמו — גיזום, כימות ופירוק מטריצות — ומדגישה ש"אין לבלבל" בינה לבין זיקוק ידע, שבו לא מקטינים את המודל המקורי אלא מאמנים מודל חדש וקטן ממנו. הזיקוק מופיע כאן בכל זאת, כשיטה קרובה שמשרתת את אותה מטרה. לכימות ולזיקוק יש באתר ערכים נפרדים שמעמיקים בכל אחד מהם. הערך הזה הוא המפה הכללית: מה כל שיטה עושה, ואיך הן משתלבות.
גיזום: להוריד את מה שלא עובד
גיזום (Pruning), לפי ויקיפדיה, "מדליל מודל גדול על ידי קביעת חלק מהפרמטרים לאפס בדיוק". הרעיון ותיק: ב-1989 הציגו יאן לקון, ג'ון דנקר ושרה סוֹלה את השיטה "Optimal Brain Damage" — "נזק מוחי אופטימלי" — שבה מסירים מרשת עצבית משקלים לא חשובים. לפי המאמר, אפשר לצפות כך לכמה שיפורים: הכללה טובה יותר, צורך בפחות דוגמאות אימון ומהירות גבוהה יותר.
מחקר מ-2018 בשם "השערת כרטיס הלוטו" (The Lottery Ticket Hypothesis) ציין שטכניקות גיזום יכולות להקטין את מספר הפרמטרים ברשת מאומנת ביותר מ-90% בלי לפגוע בדיוק. בניסויים על רשתות קטנות יחסית, במערכי הנתונים MNIST ו-CIFAR10, מצאו החוקרים תת-רשתות "זוכות" בגודל של פחות מ-10% עד 20% מהמקור, שכשמאמנים אותן לבדן מגיעות לדיוק דומה לזה של הרשת המלאה. בעידן מודלי השפה, השיטה SparseGPT הראתה ב-2023 שאפשר לגזום מודלי ענק כמו OPT-175B ו-BLOOM-176B לפחות 50% אפסים במכה אחת, בלי אימון מחדש, בפחות מ-4.5 שעות.
כימות: מספרים קצרים יותר
כימות (Quantization) לא מוחק פרמטרים אלא מקצר אותם. לפי ויקיפדיה, הוא "מקטין את הדיוק המספרי של המשקלים" — למשל, במקום לשמור כל משקל כמספר עשרוני של 32 סיביות, שומרים אותו כמספר שלם של 8 סיביות. זה דומה לעיגול מחירים בקופה: מאבדים מעט דיוק, אבל הכול נעשה קל ומהיר יותר.
השיטה GPTQ, שפורסמה ב-2022, הראתה שאפשר לכמת מודל של 175 מיליארד פרמטרים בכארבע שעות עבודה של מעבד גרפי, ל-3 או 4 סיביות לכל משקל, "עם פגיעה זניחה בדיוק". לפי המחברים, כך אפשר להריץ מודל בגודל כזה על מעבד גרפי יחיד. הערך על כימות מודל מרחיב על השיטה ועל רמות הדיוק השונות.
זיקוק: תלמיד שלומד ממורה
בזיקוק (Distillation) מאמנים מודל קטן, "תלמיד", לחקות את ההתנהגות של מודל גדול, "מורה". את השיטה במתכונתה המוכרת הציגו ג'פרי הינטון, אוריול ויניאלס וג'ף דין במאמר ממרץ 2015, כשהבעיה שהטרידה אותם הייתה ש"הפקת תחזיות בעזרת אוסף שלם של מודלים מסורבלת, ועלולה להיות יקרה מדי מבחינה חישובית". הפתרון: לדחוס את הידע של כולם לתוך רשת אחת.
דוגמה מוכרת היא DistilBERT מ-2019: לפי המאמר, הוא קטן ב-40% ממודל BERT המקורי, מהיר ממנו ב-60%, ושומר על 97% מיכולות הבנת השפה שלו. ההבדל העקרוני משאר השיטות הוא שזיקוק דורש אימון של מודל חדש — בניגוד לשיטות "חד-פעמיות" כמו SparseGPT ו-GPTQ, שמעבדות מודל קיים בתוך שעות ספורות בלי לאמן אותו מחדש.
פירוק מטריצות, ושילוב בין השיטות
שיטה רביעית היא פירוק מטריצות לדרגה נמוכה (Low-rank factorization). לפי ויקיפדיה, מקרבים טבלת משקלים גדולה כמכפלה של טבלאות קטנות יותר, וכך יש פחות פרמטרים והחישוב מהיר יותר.
בפועל משלבים בין השיטות. המאמר "Deep Compression" של סונג האן, הואיזי מאו וויליאם דאלי מ-2015 חיבר גיזום, כימות ושיטת קידוד לדחיסת נתונים, והקטין את נפח האחסון של רשתות ראייה פי 35 עד פי 49 בלי לאבד דיוק. הרשת AlexNet ירדה מ-240 מגה-בייט ל-6.9 מגה-בייט, והרשת VGG-16 מ-552 ל-11.3 מגה-בייט. הגיזום לבדו צמצם את מספר החיבורים פי 9 עד פי 13, והכימות קיצר כל משקל מ-32 ל-5 סיביות. לפי המחברים, הרשתות הדחוסות נכנסות לזיכרון המהיר שעל השבב עצמו (SRAM) במקום לזיכרון החיצוני (DRAM). בנפרד, הם מציינים שהדחיסה מקלה על הרצת רשתות כאלה במערכות משובצות ובטלפונים, שבהם הגודל ורוחב הפס מוגבלים.
לדחוס אחרי האימון או תוך כדי — ומה זה נותן היום
ויקיפדיה מבחינה בין שתי אסטרטגיות: לאמן מודל רגיל ולדחוס אותו אחר כך, או לשלב את הדחיסה בתוך האימון עצמו. היא מציינת גם גישה של "אמן גדול, ואז דחוס": לאמן מודל גדול לזמן קצר ולדחוס אותו בחוזקה, מה שנותן תוצאות טובות יותר ממודל קטן שנדחס קלות, באותו תקציב חישוב.
בספטמבר 2024 הדגימה מטא את השילוב בקנה מידה מסחרי. את מודלי Llama 3.2 בגדלים של מיליארד ושלושה מיליארד פרמטרים היא בנתה בגיזום מבני של מודל Llama 3.1 בגודל 8 מיליארד, ובזיקוק שבו המודלים הקטנים למדו מהפלט של מודלי 8 ו-70 מיליארד. המודלים נתמכו מהיום הראשון בחומרה של קוואלקום ו-MediaTek, ומותאמים למעבדי Arm. כך דחיסת מודלים יצאה מהמעבדה והפכה לחלק מהדרך שבה מודלים מגיעים לטלפונים — עם המחיר הקבוע של כל דחיסה: מוותרים על מעט דיוק בתמורה למהירות ולחיסכון.
📬 הגיליון השבועי של Wiki-AI
פעם בשבוע, ביום ראשון: שלושת הדברים החשובים שקרו בעולם הבינה המלאכותית, בעברית פשוטה, וערכים חדשים באנציקלופדיה. לגיליונות
| גיזום (Pruning) | כימות (Quantization) | זיקוק (Distillation) | |
|---|---|---|---|
| מה עושים | מאפסים פרמטרים לא חשובים | שומרים כל פרמטר בפחות סיביות | מאמנים מודל קטן לחקות מודל גדול |
| דוגמה מתועדת | SparseGPT (2023): לפחות 50% אפסים במודלי ענק | GPTQ (2022): 3–4 סיביות למשקל | DistilBERT (2019): קטן ב-40%, שומר על 97% |
| צריך אימון מחדש? | לא תמיד — SparseGPT גוזם בלי אימון מחדש | לא בהכרח — GPTQ פועל על מודל שכבר אומן | כן — מאמנים מודל תלמיד חדש |
שאלות נפוצות ❓
מה ההבדל בין דחיסת מודלים לכימות?
כימות הוא שיטה אחת מתוך המשפחה. דחיסת מודלים היא השם הכללי, שכולל גם גיזום ופירוק מטריצות. זיקוק הוא שיטה קרובה, אבל לפי ויקיפדיה אין לבלבל בינו לבין דחיסה, כי בו מאמנים מודל חדש.
האם מודל דחוס פחות טוב?
בדרך כלל יש פגיעה מסוימת באיכות, והמטרה היא להשאיר אותה קטנה. מחקרים כמו GPTQ ו-SparseGPT מדווחים על פגיעה זניחה, אבל זה תלוי בשיטה ובמידת הדחיסה.
למה זה חשוב לטלפונים?
כי לטלפון יש מעט זיכרון וסוללה מוגבלת. מודל דחוס נכנס לזיכרון, רץ מהר יותר וצורך פחות חשמל, ולכן אפשר להריץ אותו בלי לשלוח מידע לשרת.
מי המציא את הגיזום?
הרעיון ותיק. אחד המאמרים המוקדמים והמוכרים הוא "Optimal Brain Damage" של יאן לקון ועמיתיו מ-1989, שהציע להסיר מרשת עצבית משקלים לא חשובים.