TGViewer
AI Engineers AI Engineers @llmengineers · 2.62K subscribers
Post #263 1.91K
زمانی که می‌خواهید دانش یک مدل غول‌پیکر مثل GPT-4o رو به یه مدل کوچیک مثل Llama یا Qwen تزریق کنید (Knowledge Distillation)، بزرگترین چالش فنی معمولا عدم دسترسی به وزن‌ها و Raw Logits مدل معلم (Teacher) هست. اکثر API‌های تجاری فقط خروجی متن و نهایتاً logprobs رو برمی‌گردونن. سوال اینجاست: آیا با logprobs میشه Distillation واقعی انجام داد یا حتما نیاز به Logits خام داریم؟

ما دو خانواده اصلی برای Distillation داریم که درک تفاوتشون کلید حل این مسئله‌ست:

خانواده اول: Logit Matching (معمولا MSE Loss)
هدف در اینجا اینه که دانش‌آموز (Student) دقیقاً مقادیر انرژی (Energy/Logits) معلم رو کپی کنه. این روش نیاز به دسترسی به Raw Logits داره چون باید Scale و Temperature اولیه رو بدونه. وقتی Softmax زده میشه، اطلاعات مربوط به بزرگی اعداد (Magnitude) از بین میره و فقط نسبت‌ها باقی می‌مونن. پس با خروجی API که احتمالاً Softmax شده، این روش عملاً غیرممکنه.

خانواده دوم: Distribution Matching (معمولا KL Divergence)
اینجا هدف اینه که توزیع احتمال (Probability Distribution) دانش‌آموز شبیه معلم بشه. خبر خوب اینه که logprobs دقیقاً همون لگاریتمِ احتمالاته (log(softmax(logits))). برای محاسبه KL Divergence، داشتن logprobs کاملاً کافی و از نظر ریاضی معادل استفاده از Logits هست (منهای یک ثابت عددی که در گرادیان تاثیر نداره).

در سناریوی استفاده از OpenAI API، شما فقط به خانواده دوم دسترسی دارید و همین برای ۹۹٪ کاربردهای LLM کافیه.

روند اجرایی به این صورت میشه:
۱. دریافت دیتا: پرامپت رو به API می‌فرستید و پارامتر logprobs=True و top_logprobs=5 (یا بیشتر) رو ست می‌کنید.
۲. ساخت Soft Targets: خروجی شامل توکن نهایی و احتمالات لگاریتمی ۵ توکن برتر برای هر پوزیشن هست. این یعنی شما فقط "جواب درست" رو ندارید، بلکه می‌دونید مدل روی چه کلمات دیگه‌ای شک داشته (Dark Knowledge).
۳. آموزش مدل:
توابع Loss شما ترکیبی میشه از:
یک: Cross-Entropy روی توکن اصلی (Hard Label).
دو: KL Divergence بین توزیع احتمالات معلم (که از top logprobs بازسازی کردید) و توزیع دانش‌آموز.

نکته فنی مهم در مورد Top-K:
خروجی API کل Vocab رو بهتون نمیده، فقط K تای اول رو میده. برای حل این مشکل در محاسبه Loss، معمولا احتمالات رو روی همین K توکن Renormalize می‌کنن و بقیه Vocab رو نادیده می‌گیرن یا یک مقدار اپسیلون بهشون میدن. این تقریب برای انتقال "استدلال" و "لحن" مدل معلم کاملا کارسازه.

به نظر من، وسواس روی Logit Matching (روش اول) برای LLMهای جنریتی تو اکثر موارد زیاده‌رویه. چیزی که باعث میشه مدل کوچیک شما هوشمندتر بشه، یاد گرفتن "عدم قطعیت‌های" معلم و روابط بین کلمات جایگزینه که همش توی logprobs وجود داره. اگر هدف‌تون ساخت یه مدل تخصصی برای مثلاً "دستیار مشتری به زبان فارسی" هست، همین دیتای Logprobs از API کیفیت مدل ۵-۷ میلیارد پارامتری شما رو به طرز عجیبی بالا می‌بره و باعث میشه مدل کمتر دچار Overfitting روی دیتای کم‌حجم بشه.


🛠 Join @LLMEngineers Community
  • 👍 5
  • ❤ 2
  • 🔥 2
More from @llmengineers
  1. Oct 11, 2026توی یکی از پروژه‌هام با یه مشکل نسبتاً جدی روبه‌رو شدم: استخراج دقیق متن از PDFهای فارسی ب…
  2. Oct 8, 2026از نظر کاربرد Decision Modelها , قضیه دیگه فقط چند Demo نیست و چند الگوی مشخص واقعاً وارد…
  3. Oct 8, 2026کمتر از یک ماه از معرفی Jev گذشته و چیزی که اول شبیه یه مدل خاص برای «تصمیم‌گیری بدون تولی…
  4. Oct 7, 2026جدا از موج Decision Modelها، چند خبر فنی این هفته هست که برای AI Engineerها واقعاً ارزش دن…
  5. Oct 7, 2026photo post
  6. Oct 7, 2026چند روز اخیر پر از خبر AI بود، ولی وقتی تکراری‌ها، لیک‌ها و تغییرات کم‌اهمیت رو کنار بذاری…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →