مدل تصمیم گیری خود را بسازید
آدرس مقاله: https://nishtahir.com/build-your-yown-decision-model/ آدرس نظرات: https://news.ycombinator.com/item?id=50037949 امتیاز: 220 # نظر: 52
مدلهای تصمیم «سیستم یک» مدلهایی هستند که با احتمالات کالیبرهشده یا هر پاسخ مجاز استنباط میکنند و پاسخ میدهند.
مدل زبان روزمره خود را در نظر بگیرید، برای دریافت خروجی تایپ شده از آن (JSON)، می توانید از خروجی ساختاریافته برای محدود کردن خروجی به JSON معتبر تضمین شده استفاده کنید. در حالی که مدل ورودی را از قبل در یک پاس پر می کند، هنوز باید برای هر نشانه یک پاس انجام دهد تا یک پاسخ معتبر ایجاد کند.
در این مثال، 11 پاس برای تولید خروجی نهایی لازم است. (ما رمزگشایی حدسی و سایر تکنیک های بهینه سازی استنتاج را در نظر نمی گیریم.)
مدلهای تصمیمگیری مانند Jev، این فرض را ایجاد میکنند که گزینههای ثابتی وجود دارد که میتوانیم از بین آنها انتخاب کنیم و میتوانیم این کار را به سرعت با انجام یک پاس انجام دهیم. در این مثال، مجموعه خروجی های ممکن را به گزینه های A، B، C، D، E محدود می کنیم. با پوشاندن سایر موارد در واژگان، مدل فقط می تواند آن نشانه ها را منتشر کند. با انتخاب بالاترین احتمال خروجی، پاسخ خود را می گیریم.
از آنجایی که خروجیها فقط به مجموعهای از گزینههای ثابت محدود میشوند، مدل نمیتواند چیزی خارج از آنها را انتخاب کند. اما این تضمین نمی کند که خروجی درست باشد. همچنین معمول است که احتمالات توکن خروجی را با امتیازهای اطمینان در این زمینه در نظر بگیریم، اما بدون آموزش اضافی، این امتیازها احتمالا نشان دهنده اعتماد او به اینکه توکن بعدی چیست، به جای احتمال واقعی پاسخ، پاسخ صحیح است.
ما می توانیم این رفتار را با محدود کردن نشانه های خروجی با استفاده از یک LLM تقلید کنیم. در اینجا من از Qwen/Qwen3-1.7B استفاده می کنم
اجرای آن با یک سوال ساده برای آزمایش آن، خروجی زیر را به همراه دارد
مدل توانست ورودی ما را معنا کند و پیشبینی کند که به طور منطقی با پاسخ صحیح مطابقت دارد.
ما می توانیم دقت مدل را با اجرای آن در برابر مجموعه داده های عمومی آزمایش کنیم. من این را در برابر یک نمونه تصادفی نگهدارنده CommonsenseQA اجرا کردم
برای یک مدل 1.7B بد نیست، اجرای یک تنظیم سریع روی مجموعه داده به ما عملکرد کمی بهتر می دهد.
آزمایش مدل در برابر یک مسئله بسیار مبهم یک مشکل جالب را نشان می دهد.
در اینجا نباید پاسخ روشنی وجود داشته باشد، اما در نظر گرفتن احتمالات خروجی به عنوان یک نمره شبه «اطمینان»، نشان میدهد که مدل به شدت به این پاسخ اعتماد دارد.
اگر محدوده امتیاز اطمینان را در ارزیابی قبلی که اجرا کردم را جمع کنیم، می بینیم که اطمینان مدل با دقت آن مطابقت ندارد. این بدان معنی است که مدل کالیبره نشده است.
میتوانیم متوجه شویم که مدل در سطل 0.9 - 1.0 بسیار مطمئن است، اما فقط در 70٪ مواقع درست است. هنگامی که با اطمینان 0.8 - 0.9 پیش بینی می کند، فقط در 40٪ موارد دقیق است. این بدان معناست که مدل به طور کلی به پیش بینی های خود بیش از حد اعتماد دارد.
از آنجایی که هدف ما این است که نمرات خروجی مدل را که منعکس کننده دقت آن باشد، داشته باشیم، یکی از روش هایی که می توانیم برای کالیبره کردن آن استفاده کنیم، مقیاس بندی دما است. با تغییر مقدار دما، میتوانیم منحنی توزیع احتمال خروجی آن را مسطح کنیم و آن را برای تقریبی دقت کنیم.
منحنی متناسب با پارامتر دما با دقت مدل، من 3.797280788421631 را به عنوان یک مقدار دما پیدا کردم.
این به ما کالیبراسیون بسیار بهتری می دهد. اگر میخواهید با این کار کنید، من یک مخزن GitHub با اسکریپتهایی ساختم که شما را در ساخت یک مجموعه داده، ارزیابی، تنظیم دقیق و کالیبره کردن مدل خود راهنمایی میکند. من توصیه می کنم آن را بکشید و آن را در مدل های بزرگتر دیگر امتحان کنید.
متن اصلی (انگلیسی)
Build your own decision model
Article URL: https://nishtahir.com/build-your-own-decision-model/ Comments URL: https://news.ycombinator.com/item?id=50037949 Points: 220 # Comments: 52