TokenShapley: دقیق بفهمیم هر کلمه تو جواب مدل‌های زبانی از کجا اومده!

Fall Back

اگه به دنیای مدل‌های زبانی بزرگ (LLM)، مثل ChatGPT و امثالهم علاقه داری، حتماً متوجه شدی که این مدل‌ها خیلی باهوشن و تو یادگیری در لحظه (In-context learning یعنی مدلی که فقط با توجه به متنی که تو ورودی میدی، جواب خودش رو تطبیق میده) حسابی پیشرفت کردن. ولی یه مشکل مهم هست: وقتی یه جواب ازشون می‌گیری، خیلی سخته بفهمی هر قسمت از جواب دقیقاً بر اساس چی تولید شده. مخصوصاً اگه دنبال یه کلمه خاص، یه عدد یا یه اسم تو جواب باشی و بخوای بدونی این از کجا اومده!

تا الان بیشتر کارها روی اینکه بدونیم کل یه جمله توی جواب، به کدوم قسمت ورودی یا داده ربط داره (یعنی Attribution یا نسبت‌دهی داده) تمرکز داشتن. اما این جواب نمیده اگه دنبال جزئیات مثل یه کلمه یا حتی یه عدد توی جواب باشیم. مثلاً مدل یه سال رو تو جوابش گذاشته، اما چرا؟ این عدد رو از کجا آورده؟! کل جمله رو چک کنیم هم معلوم نمی‌شه!

اینجا یه راه‌حل جدید و باحال به اسم TokenShapley معرفی شده. حالا توکن چیه؟ توکن همون تکه‌های کوچیک جمله‌ست که مدل باهاشون کار می‌کنه. مثل یک کلمه، عدد، یا حتی بخش‌های کوچکتر یه کلمه. TokenShapley می‌خواد به ما بگه هر توکن توی جواب دقیقاً به چی مربوطه و چقدر مهم بوده، اونم نه به طور کلی، بلکه دقیق و جزئی!

اما چطوری؟ تیم سازنده اومدن دو تا تکنیک خفن رو با هم ترکیب کردن. یکی‌ش «Shapley Value» ـه. این یه روش ریاضی برای اینکه بفهمیم نقش یا اهمیت هر عضو تو یه گروه چقدر بوده. یعنی اگه مدل یه جواب داده، هر داده یا هر توکن چقدر تاثیر داشته تو تولید اون جواب. دومیش هم برداشت‌هایی از مدل‌های KNN Augmented LLM ـه، یعنی مدل‌هایی که می‌تونن با روش K-Nearest Neighbors (KNN) ــ ببینن چه داده‌هایی توی گذشته شبیه داده فعلی بودن و از اون‌ها کمک بگیرن.

در روش TokenShapley، اول میان یه بانک داده از قبل درست می‌کنن (Datastore یعنی جایی که کلی داده شبیه حافظه ذخیره شده)، بعد هر بار که مدل جوابی می‌سازه، سراغ این بانک داده میرن و می‌گردن ببینن داده‌های قبلی که شبیه این وضعیت بودن، کدوما هستن. بعد با استفاده از Shapley Value دقیقا حساب می‌کنن که کدوم ورودی‌ها چقدر توی تولید یک توکن خاص مهم بوده.

نتیجه این شده که خیلی دقیق‌تر می‌فهمیم هر کلمه، عدد یا اسم تو جواب مدل از کجا اومده و چقدر داده‌های قبلی توی ساختش نقش داشتن. اگه دقت کنی این برای کسایی که می‌خوان به مدل‌ها اعتماد کنن یا بفهمن چرا مدل این جواب رو داده خیلی مهمه!

جالبیش اینجاست که تیم TokenShapley رو با چهار تا معیار مختلف (Benchmarks یعنی استانداردهایی برای سنجش عملکرد) تست کردن و دیدن تا 11 تا 23 درصد بهتر از روش‌های قبلیه. یعنی اگر می‌خوای بدونی دقیقاً «این عدد یا اسم که تو جواب اومده از کجاست؟»، TokenShapley خیلی بهتر جوابت رو می‌ده.

در کل، TokenShapley یه گام مهمه به سمت اینکه مدل‌های زبانی رو شفاف‌تر و قابل‌اعتمادتر کنیم، مخصوصاً برای کارهایی که صحت و اعتبار جواب مدل برات مهمه. خلاصه، این روش اومده مشکل پیدا کردن منبع واقعی هر کلمه رو حل کنه و واقعاً ایده خلاقانه‌ای داره! 😎
منبع: +