این روزا مدلهای زبانی بزرگ یا همون LLMها (که یعنی هوش مصنوعیهایی مثل GPT یا Claude که میتونن متن بسازن، ترجمه کنن یا جواب بدن) خیلی دارن واسه تولید دادههای ساختار یافته به کار میرن؛ یعنی مثلا قراره یه مدل هوش مصنوعی به جای یه متن ساده، یه خروجی مثل JSON یا یه دیتابیس مرتب و اصولی تولید کنه. ولی یه مشکل خیلی مهم این وسط هست: اینکه این مدلها همیشه یه خروجی ثابت و قابل اعتماد بدن یا نه!
یه تیم باحال یه چارچوب جدید ساخته که قراره این داستان رو حسابی حل کنه. اسم این چارچوب رو گذاشتن ترکیب STED و Consistency Scoring. چی کار میکنه؟ بیاین ساده توضیح بدم:
۱. STED (Semantic Tree Edit Distance) چیه؟
یه متریک جدیده که اومده شباهت بین دوتا خروجی ساختاریافته (مثلا دوتا جواب JSON) رو خیلی بهتر از قبلیا بسنجـه. فرقش با قدیمیا اینه که هم به معنی توجه میکنه (یعنی اگه دو تا خروجی خیلی شباهت معنایی دارن، ولی تفاوت جزئی ساختاری، هنوز اونا رو شبیه حساب میکنه)، هم مدل سختگیر باقی میمونه تا ساختار درست بمونه.
مثلا شاید مدل جوابو یه کم متفاوت بنویسه، ولی اگه معنی یکی بود و ساختار مهم کم عوض شده بود، STED اینو خوب درک میکنه. متریکهای قدیمی مثل TED یا BERTScore یا DeepDiff انقد دقیق نبودن.
۲. Consistency scoring framework یعنی چی؟
یه سری روش واسه اینکه بتونیم خروجی تکراری مدل رو چند بار پشتسرهم چک کنیم و ببینیم چقد سربهراه و با ثبات داره خروجی میده. اگه بارها یه سوال رو از مدل بپرسیم و خروجیاش خیلی فرق میکرد، یعنی مدل پایدار نیست! این چارچوب میانگین چند تا STED رو میگیره و یه امتیاز میده که بگه مدل چقد روش میشه حساب کرد.
حالا اینا رو توی آزمایشای مختلف با دادههای ساختگی (یعنی دیتاستهایی که خودشون ساخته بودن و توش همهچیز تحت کنترل بود) امتحان کردن؛ نتیجه چی شد؟
- STED تونسته امتیاز شباهت خیلی خوبی بده (مثلا ۰.۸۶ تا ۰.۹۰ واسه خروجیهایی که معنیشون یکی بود، حتی اگه ساختار کمی فرق داشت)، و وقتی ساختار کلاً به هم میریخت امتیاز ۰.۰ میداد.
- این یعنی در مقایسه با متدهای قدیمی (مثل TED، BERTScore، DeepDiff)، STED حسابی بهتر عمل کرده!
جالبترش اینه که اومدن این چارچوب رو روی شش مدل مختلف هم تست کردن و دیدن ماجرا چیه:
- Claude-3.7-Sonnet توی پایداری و ثابت موندن خروجیا واقعاً عالی بود، مخصوصا حتی اگه تنظیماتش رو جوری بذارن که مدل خلاقتر جواب بده (مثلا دمای مدل رو روی ۰.۹ بذارن — دما یا Temperature یه پارامتره که هرچی بالاتر باشه، جواب مدل غیر قابل پیشبینیتر و خلاقتر میشه).
- ولی مدلهایی مثل Claude-3-Haiku و Nova-Pro وقتی دما رو بالا میبری قاطی میکنن و خروجیاشون غیرقابل اعتماد میشه؛ واسه اینا باید حسابی تنظیم انجام داد.
خلاصه با این چارچوب:
- میتونید راحتتر تصمیم بگیرید کدوم مدل واسه کارتون مناسبه (مثلا اگه دنبال خروجی دیتایی با ثبات هستید).
- میتونید پرامپت (یعنی متنِ دستور دادن به مدل) رو هی تغییر بدین تا به جواب ثابت برسین.
- میشه اشکالیابی کرد و مشکل ریشهای اینکه چرا خروجیا خراب یا غیرثابت میشه رو پیدا کرد.
این کار نه فقط یک تئوری باحاله، بلکه ابزارهای عملی واسه کسایی که میخوان مدل زبانی رو توی نرمافزارای مهم استفاده کنن آماده میکنه که همیشه بتونن دادهی ساختاریافته و قابل اعتماد از مدلشون بگیرن.
پس اگه میخواین مطمئن بشین خروجی مدلتون همیشه دقیق، پایدار و باحال میمونه، این چارچوب رو باید یه نگاهی بندازین!
منبع: +