סיפור מגניב. לכל ההטמעות ההמוניות של softmax ו-קרוסנטרופיה יש באגים שמובילים לבעיות עיגול. ועכשיו, אחרי יותר מתריסר שנים של שימוש פעיל בכל זה, הם סוף התגלו. שוב עולה השאלה, למה לא קודם. תיקון עבור Softmax ו-אנטרופיה צולבת ג'ונתן טי בארון, דן גנאפרגסאם, מייקל צ'נן נייר: סקירה: קוד: לא רלוונטי (קטעי JAX עצמאיים מסופקים בנייר)
דגם: לא זמין מה הם עשו: המחברים כתבו מחדש את softmax, log-softmax ו-cross-entropy (עבור תוויות קשות ורכות) במרחב לוגריתמי. זה מתקן שני באגים מעוגלים במסגרות למידה עמוקה: Softmax Collapse (איפוס שיפוע הלוגיט היעד כאשר בטחון המודל גבוה) ו-Softmax Cancellation (הדרגה שאינה אפסית בזיקוק כאשר הלוגיטים של התלמידים כבר חופפים ללוגיטים של המורה). מה יש לנו: על תוספת מודולרית (a + b mod 31) ב-bf16, fp32 ו-fp64 אנטרופיה צולבת קבועה נותן 98.9%-100.0% דיוק בדיקה לעומת 93.3%-100.0% עבור צולב אנטרופיה סטנדרטית, 48.9%-97. 9% להקרנת סכום אפס (הפחתת הממוצע מהדרגות) ו-95.6%-97.4% עבור StableMax (החלפה רציונלית של Softmax). בגרקינג פולינומי ללא רגולציה (a^2 + b^2 mod 97), אנטרופיה צולבת קבועה משיגה דיוק של 85%, בעוד שה-cross-entropy סטנדרטי יורדת מ-61% ל-23%. למה זה חשוב: החלפת ירידה של פונקציות אובדן בסיסיות מסירה קפיצות אובדן ("אפקט רוגטקה", קלע) במהלך גרירה וסחף משקל במהלך זיקוק ב-bf16 מבלי לעבור ל-fp64. נכון, כל הניסויים בוצעו על בעיות קטנות של חשבון מודולרי, ושולי הלוגיט העצומים וכמעט אפסי הפערים בין תלמיד למורה שנבדקו כאן הם נדירים בלמידה בקנה מידה גדול. סיבוב למעלה עם ובלי באגים כאן.