
Transformer Explainer: מבט אינטראקטיבי לתוך מודל השפה GPT-2
כלי אינטראקטיבי מהמכון הטכנולוגי של ג'ורג'יה מריץ את GPT-2 בדפדפן ומראה כיצד טוקנים, קשב עצמי ודגימה הופכים הנחיה למילה הבאה, כשכל תרשים מגיב לטקסט שמקליד המשתמש.
Transformer Explainer הוא אתר אינטראקטיבי שמראה כיצד מודל שפה מסוג טרנספורמר הופך הנחיה למילה הבאה. מודל GPT-2 (small) חי עם 124 מיליון פרמטרים רץ ישירות בדפדפן, כך שכל תרשים בעמוד מגיב לטקסט שמקליד המשתמש. הפרויקט נוצר במכון הטכנולוגי של ג'ורג'יה בידי צוות של שמונה חוקרים, בהם Aeree Cho, Grace C. Kim ו-Polo Chau, ומלווה במאמר בספרייה הדיגיטלית של ACM ובמדריך וידאו.
מטוקנים להסתברויות
טקסט הקלט מפוצל לטוקנים — מילים או חלקי מילים — וכל טוקן הופך לווקטור בן 768 ממדים. אוצר המילים של GPT-2 כולל 50,257 טוקנים, כך שמטריצת ההטמעה לבדה מכילה כ-39 מיליון פרמטרים. מידע מיקומי מתווסף בנפרד, משום שלאדריכלות אין תחושת סדר מילים מובנית.

משם עוברים הווקטורים דרך 12 בלוקי טרנספורמר זהים, שכל אחד מהם משלב קשב עצמי רב-ראשי, שמאפשר לטוקנים להחליף מידע, עם פרספטרון רב-שכבתי שמעבד כל טוקן בנפרד. ציוני הקשב עוברים מסך כך שכל מיקום רואה רק טוקנים שמשמאלו — הטריק שמאפשר לחזות את הטוקן הבא בלי להציץ קדימה.
בתוך הקשב ושכבת ה-MLP
וקטורי Query, Key ו-Value נגזרים מההטמעות באמצעות מטריצות משקל מאומנות. האתר משווה אותם לחיפוש באינטרנט: השאילתה היא מה שמקלידים, המפתחות הם כותרות התוצאות והערכים הם תוכן העמודים. GPT-2 (small) מפצל אותם ל-12 ראשים, שאחד עשוי לעקוב אחרי תחביר ואחר אחרי משמעות רחבה יותר. המכפלות הסקלריות מותאמות בקנה מידה, עוברות מסך ו-softmax, ואז מוכפלות במטריצת הערכים.

שכבת ה-MLP מרחיבה את ייצוג הטוקן מ-768 ל-3,072 ממדים בשכבה לינארית ובאקטיבציית GELU, ואחר כך מחזירה אותו ל-768. שכבה לינארית אחרונה מטילה את התוצאה על כל אוצר המילים — 50,257 טוקנים — כלוגיטים, ו-softmax הופך אותם להתפלגות הסתברות שממנה נדגם הטוקן הבא.
סליידרים, דגימה ומימוש
המבקרים יכולים להזיז את סליידר הטמפרטורה, שמחלק את הלוגיטים: ערך מתחת ל-1 מחדד את ההתפלגות והופך את הפלט לצפוי יותר, ערך מעל 1 משטח אותה ומוסיף מגוון. הגדרות top-k ו-top-p מצמצמות את הדגימה למועמדים הסבירים ביותר.
ההדגמה פועלת כולה בדפדפן: מימוש ה-GPT ב-PyTorch מפרויקט nanoGPT של Andrej Karpathy הומר ל-ONNX Runtime, והממשק נבנה ב-Svelte וב-D3.js.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.