𝗦𝗽𝗮𝗿𝘀𝗲 𝗞𝗩 𝗖𝗮𝗰𝗵𝗲𝘀 מצמצמים את עלויות ה-Attention Scaling

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

Sparse KV caches משנים זאת. הם הופכים עלויות ריבועיות לעלויות כמעט ליניאריות. במקום לסרוק כל בלוק זיכרון, כל שאילתה (query) בוחנת תת-קבוצה קטנה של נתונים.

השינוי הזה הופך חלונות הקשר עצומים למעשיים על GPU בודד.

תוצאות מרכזיות ממחקר ה-MiniMax:

• MSA מפחית את חישוב ה-attention לכל טוקן ב-28.4x בהקשר של מיליון טוקנים. • השימוש בזיכרון KV יורד בעד 50%. • ה-Perplexity נשאר זהה למודלים צפופים (dense models), מה שאומר שאין אובדן דיוק. • ה-Prefill רץ מהר יותר פי 14.2 על GPU מסוג H800. • ה-Decoding רץ מהר יותר פי 7.6 על GPU מסוג H800.

האצות אלו נובעות מבורר (selector) Top-k חדש ומשימוש טוב יותר ב-tensor-cores.

ישנם פשרות (trade-offs) שיש לקחת בחשבון. התוצאות מגיעות ממודל ספציפי בעל 109B פרמטרים. אנחנו עדיין לא יודעים אם השיפורים הללו תקפים לכל סוגי החומרה או המודלים. כמו כן, השיטה מניחה שהטוקנים הרלוונטיים נשארים בטווח מסוים. משימות הדורשות attention גלובלי עלולות להיתקל בבעיות.

אם השיטות הללו יתפשטו, תוכלו להכפיל או לשלש את חלונות ההקשר שלכם על GPUs סטנדרטיים. תוכלו להריץ ניתוח קוד על מאגרי קוד (repositories) שלמים או לשמור זיכרון שיח ארוך ללא חומרה נוספת.

מקור: https://dev.to/olaughter/sparse-kv-caches-cut-attention-scaling-795

קהילת למידה אופציונלית: https://t.me/GyaanSetuAi