اگر برای آموزش یک مدل طبقهبندی متن، تنها چند ده نمونه داده برچسبدار در اختیار دارید، دیگر نیازی به پذیرش خطای بالا نیست. طبق اعلام توسعهدهندگان، ابزار AutoFit2 که در ۲۵ ژوئن ۲۰۲۶ منتشر شد، دقت عملیاتی را در این شرایط به بازه ۹۵ تا ۹۹ درصد میرساند. این سطح از دقت از طریق یک خط لوله کاملاً خودکار ممکن شده است که ادغام بهینهای از بردارهای معنایی SBERT و مدل SetFit را به کار میگیرد.
این دستاورد از طریق ادغام بهینه بردار معنایی (Embedding) — که شبیه کارت معرفی عددی برای هر واژه است و میگوید این کلمه همسایهی چه کلمات دیگری است — از SBERT و مدل SetFit ممکن شده است. در دنیای واقعی، یادگیری با نمونهٔ اندک (Few-shot Learning) معمولاً نیازمند تنظیمات دستی گسترده است تا مدل دچار بیشبرازش (Overfitting) — وضعیتی که مدل مثل دانشآموزی است که سوالات را حفظ میکند اما مفهوم را نمیفهمد — نشود. AutoFit2 با خودکارسازی کل چرخه از پیشپردازش تا استقرار، این اصطکاک را حذف کرده است. این سیستم به توسعهدهندگان اجازه میدهد تا آموزش مدل را به جای یک ماراتن کدنویسی، به عنوان یک وظیفه پیکربندی (Configuration) ببینند که تنها با یک فایل JSON مدیریت میشود. همانطور که در تحلیلهای قبلی ما دربارهی بهینهسازی مدلهای زبانی کوچک اشاره کردیم، حذف پیچیدگیهای زیرساختی، سرعت پذیرش ابزارها در محیطهای عملیاتی بهشدت افزایش میدهد.
به نقل از مستندات گیتهاب (GitHub)، این سامانه برای پشتیبانی از حجم گستردهای از زبانها طراحی شده است. این ابزار مدلهای پیشآموزشدیده برای ۲۰ زبان و مجموعههای ارزیابی برای بیش از ۵۰ زبان ارائه میدهد. برای کاربرانی که زبانها یا گویشهای نادرتر را هدف قرار دادهاند، این خط لوله میتواند با بهرهگیری از دادههای Common Crawl، تا بیش از ۱۰۰ زبان را پوشش دهد.
معماری فنی و گردش کار
این خط لوله از یک فرآیند چهار مرحلهای دقیق پیروی میکند:
- آمادهسازی دادهها: کاربران میتوانند یک لودر سفارشی پیادهسازی کنند یا از دستور
dataloadبرای ارائه نمونههای برچسبدار استفاده نمایند. - پیکربندی: یک فایل
myproject.jsonمسیر مجموعهدادهها، تنظیمات مدل و انواع هدف را تعریف میکند. این ساختار از بلوکهای چندزبانه و چندوظیفهای پشتیبانی میکند تا مدیریت پروژههای پیچیده تسهیل شود. - اجرا: فرآیند آموزش با دستور
python train.py myproject.jsonاجرا میشود. یکی از ویژگیهای کلیدی این مرحله، پشتیبانی از اجرای قابل بازیابی (Resumable Execution) است. - استقرار: خروجی نهایی یک آرشیو مدل قابل استقرار است که همراه با یک کارت مدل (Model Card) تولید شده ارائه میشود. این کارت شامل جزئیات دقیق آموزش، موارد استفاده پیشنهادی، معیارهای عملکرد و ارزیابیهای مربوط به سوگیری (Bias Evaluation) است.
منطق پیکربندی اهداف
AutoFit2 سه نوع هدف (Target) متمایز را برای بهینهسازی منابع معرفی کرده است. هدف «all» تمامی مصنوعات شامل پوشه مدل، آرشیو و کارت مدل را تولید میکند. در این حالت، شناسه مدل (Model ID) بر اساس نام فایل پیکربندی و با استفاده از الگوی {config_name}-{task}-{lang} ساخته میشود.
سایر گزینههای هدف عبارتاند از:
- custom: تولید تمامی مصنوعات با این تفاوت که شناسه مدل به صورت خودکار به عنوان یک رشته alphanumeric حروف کوچک با طول ۱۴ تا ۱۶ کاراکتر تولید میشود.
- benchmark (1..N): در این حالت هیچ مصنوع مدل (مانند فایل وزنها) ساخته نمیشود و تنها گزارشهای نمره (Score Logs) خروجی داده میشوند. این حالت باید حتماً در کنار یک هدف «all» استفاده شود تا خروجی نهایی حاصل گردد.
در لایه تنظیمات درون دیکشنری targets کاربر میتواند پارامترهای بسیار دقیقی را کنترل کند:
- train embedding: یک مقدار بولی (Boolean) که تعیین میکند آیا بردارهای معنایی در طول آموزش تنظیم دقیق (Fine-tune) شوند یا خیر.
- base clf: یک شناسه رشتهای که به یک فایل
.joblibخاص در مسیرBASE_PATHاشاره میکند. - sample ratio: یک عدد اعشاری برای تعیین نمونه تصادفی از کل دادهها برای آموزش کامل (مثلاً ۰.۵ برای ۵۰٪ دادهها).
- embedding sample ratio: یک عدد اعشاری برای دادههایی که صرفاً برای تنظیم دقیق بردارهای معنایی استفاده میشوند (مثلاً ۰.۱ برای ۱۰٪).
بارگذاری و تفکیک دادهها
بخش loader لیستی از دستورات را میپذیرد؛ این دستورات میتوانند توابع یا تبدیلهای پیچیده (مانند lambdaها و list comprehensions) باشند. شرط اصلی این است که خروجی این دستورات باید فهرستی از دیکشنریها باشد که حاوی کلیدهای text و label باشند.
منطق تفکیک دادهها به طور کامل خودکار شده است:
- اگر ۲ دستور وجود داشته باشد و هدف «all» نباشد: دستور اول برای دادههای آموزش (Training Data) و دستور دوم برای دادههای ارزیابی (Evaluation Data) استفاده میشود.
- اگر هدف «all» باشد: تمام دستورات در یک مجموعهداده واحد ادغام شده و با تفکیک ۱۰۰/۱۰۰ (بدون تفکیک) مورد استفاده قرار میگیرند تا کل مجموعه برای آموزش به کار رود.
- در سایر حالتها (مانند custom یا benchmark) اگر تنها ۱ دستور وجود داشته باشد: دستورات ادغام شده و سپس با نسبت ۷۰/۳۰ بین دادههای آموزش و آزمون تفکیک میشوند.
این چارچوب، گلوگاه را از معماری مدل به کیفیت داده منتقل میکند. با خودکارسازی ردیابی انتشار CO₂ و بازتولیدپذیری از طریق پیکربندیهای مبتنی بر JSON، شفافیت در یادگیری ماشین به عنوان یک شهروند درجه اول (First-class citizen) در نظر گرفته شده است، نه به عنوان یک اقدام تکمیلی.
برای یک متخصص، این یعنی میتوان بدون نوشتن حلقههای آموزشی (Training Loops) سفارشی، یک مدل نظارت بر محتوا (mod) برای زبان یونانی با استفاده از یک مدل تبدیل جملات چندزبانه — مانند paraphrase-multilingual-MiniLM-L12-v2 — بسازد. سیستم تمام مراحل سنگینِ تنظیم دقیق بردارهای معنایی و بهینهسازی لایه طبقهبندی (Classification Head) را مدیریت میکند. پیکربندی به طور دقیق «نوع مدل» (مانند bert)، «وظیفه پیشآموزش» (مانند شباهت جملات) و «وظیفه پاییندستی» (مانند طبقهبندی متن دودویی) را به هم نگاشت میکند.
این رویکرد، مانع ورود برای ساخت طبقهبندهای باکیفیت در زبانهای کممنبع را میشکند و ابزارهای هوش مصنوعی را برای مناطقی که توسط آزمایشگاههای مدلهای بزرگمقیاس نادیده گرفته شدهاند، دموکراتیزه میکند.
شما میتوانید با بررسی مجموعههای ارزیابی موجود در مخزن گیتهاب پروژه، پیادهسازی این سیستم را تحلیل کنید تا متوجه شوید آیا زبان هدف شما پشتیبانی میشود یا خیر.
گام بعدی شما
- بررسی مجموعههای ارزیابی در مخزن گیتهاب پروژه برای اطمینان از پشتیبانی از زبان هدف خود.
- جایگزینی اسکریپتهای پیچیده آموزش مدلهای Few-shot با پیکربندیهای JSON در پروژههای فعلی.
- تست مدلهای چندزبانه برای زبانهای کممنبع (Low-resource) جهت کاهش هزینه جمعآوری داده.
اما چالش اصلی در این مسیر، مدیریت حافظه در هنگام پردازش زبانهای مختلف است — به بررسی ما درباره استراتژیهای کاهش وزن مدلها مراجعه کنید.




گفتگو