پرش به محتوای اصلی
پرش به محتوای مقاله

مدل ۱۹۶ میلیون پارامتری EmsyAI؛ نبرد با ناپایداری عددی در PyTorch

·۱۲ شهریور ۱۴۰۵۳ دقیقه مطالعه
ساخت یک مدل زبانی بزرگ ۲۰۰ میلیون پارامتری از صفر با پایتورچ
ساخت یک مدل زبانی بزرگ ۲۰۰ میلیون پارامتری از صفر با پایتورچ
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

اثبات تجربی این نکته که تعداد پارامترهای پایین می‌تواند مانع از اثر نشت داده‌ها (Data Leakage) شود؛ یعنی مدل کوچک‌تر لزوماً بیشتر تقلب نمی‌کند، بلکه اصلاً ظرفیت تقلب ندارد.

تصور کنید به جای خرید یک ماشین مسابقه‌ای و تنظیم موتور آن، تصمیم بگیرید یک موتور را از صفر و با ورقه‌های فولاد خام بسازید. این دقیقاً همان مسیری است که gulding برای ساخت EmsyAI (V4) طی کرد تا بفهمد در لایه‌های زیرین مدل‌هایی مثل Llama 3 چه می‌گذرد.

در ۳ سپتامبر ۲۰۲۶، جزئیات این پروژه منتشر شد تا ثابت کند ساخت یک مدل بنیادی (Foundation Model) — شبیه ساختن زیربنای یک ساختمان عظیم که هر لرزش کوچکی در پی آن کل سازه را تهدید می‌کند — نبردی سخت علیه ناپایداری‌های عددی است. طبق گزارش منتشر شده در dev.to، این توسعه‌دهنده برای اجتناب از کتابخانه‌های سطح بالا، تمام اجزا از توکن‌ساز (Tokenizer) BPE تا حلقه‌های آموزش را به‌صورت دستی در PyTorch پیاده‌سازی کرد. این رویکرد دستی در تضاد کامل با تلاش‌های اخیر برای ساده‌سازی است؛ برای مثال، چارچوب Tensorless تلاش می‌کند تا بسیاری از این تنظیمات پیچیده در PyTorch را خودکار کند.

همان‌طور که در تحلیل قبلی ما درباره‌ی معیارهای ارزیابی مدل‌ها اشاره کردیم، شکاف عمیقی میان کاهش تابع زیان در آموزش و توانایی واقعی مدل در حل مسائل پیچیده وجود دارد. برای یک برنامه‌نویس، این تجربه یعنی درک این نکته که صرفاً داشتن داده کافی، تضمین‌کنندهٔ هوشمندی مدل نیست.

بر اساس مستندات فنی، معماری این مدل شامل موارد زیر است:

  • پارامترهای فعال: ۱۹۶.۷ میلیون (۱۸۰ میلیون در بلوک‌های ترنسفورمر و حدود ۱۶ هزار در بردار معنایی (Embedding) واژگان) — بردار معنایی مثل کارت معرفی عددی برای هر واژه است که می‌گوید این کلمه همسایه‌ی چه کلمات دیگری است.
  • داده‌های آموزشی: ۱.۹۶ میلیارد توکن (Token) — تکه‌های کوچکی از متن شبیه برش‌های کیک که مدل تکه‌تکه می‌خورد — در ۱۵ هزار گام با دقت ترکیبی FP16.
  • پیکربندی: پنجرهٔ زمینه ۴,۰۹۶، بُعد پنهان ۱,۰۲۴ و استفاده از GQA.
  • بُعد FFN: ۲,۸۱۶ با استفاده از بلوک‌های SwiGLU.

ساخت یک مدل زبانی بزرگ ۲۰۰ میلیون پارامتری از صفر با پای‌تورچ

نویسنده پس از پیش‌آموزش، یک آداپتور لورا (LoRA) با ۲.۳ میلیون پارامتر را با استفاده از مجموعه داده CodeAlpaca اعمال کرد. با این حال، EmsyAI در محک HumanEval شرکت OpenAI امتیاز ۰.۰٪ کسب کرد. نکته عجیب اینجا بود که بررسی‌ها نشان داد ۱,۶۴۴ توالی از منطق HumanEval در داده‌های آموزشی نشت کرده بود، اما مدل باز هم شکست خورد. این یعنی معماری ۱۹۶ میلیون پارامتری ظرفیت لازم برای حفظ طوطی‌وار پاسخ‌های نشت‌کرده را ندارد.

این شکست یک بینش حیاتی را فاش می‌کند: ظرفیت مدل یک سقف سخت برای حافظه است. حتی وقتی پاسخ‌ها در داده‌های آموزش باشند، مدلی که بیش از حد کوچک است نمی‌تواند تقلب کند. این موضوع تمرکز بحث‌ها را از ترسِ «آلودگی داده‌ها» به رابطه بنیادی میان تعداد پارامترها و حفظ دانش تغییر می‌دهد.

مقیاس‌بندی تا ۱۹۶ میلیون پارامتر سه شکست فنی را هم آشکار کرد. اول، لاجیت‌های توجه در بُعد پنهان ۱۰۲۴ به‌شدت نوسان داشتند که قرار است در نسخه V5 با QK-Norm اصلاح شود. دوم، باگی در توکن‌ساز BPE باعث تداخل بین توکن‌های کنترلی و بایت‌های ۰ تا ۳ شد. در نهایت، لودر داده‌ها فایل‌ها را به‌صورت کورکورانه متصل می‌کرد که منجر به «مسمومیت توجه» شد؛ وضعیتی که مدل به اسناد نامرتبط توجه می‌کرد. این چالش‌های پیکربندی دستی دقیقاً همان دلیلی است که پروژه‌هایی مانند Tensorless را برای حذف تنظیمات دستی در PyTorch به وجود آورده است.

گام بعدی شما

  • اگر به معماری مدل‌ها علاقه دارید، وزن‌های GGUF این مدل را از گیت‌هاب EmsyAI دانلود کنید.
  • مدل را از طریق اولاما (Ollama) به‌صورت محلی اجرا کنید تا اثر ناپایداری‌های ذکر شده را ببینید.
  • مستندات پیاده‌سازی دستی BPE در این پروژه را برای درک عمیق‌تر توکن‌سازی مطالعه کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این تجربه بر اساس تخصص در پیاده‌سازی لایه‌های پایین مدل‌ها، نشان می‌دهد که پایداری عددی در مقیاس‌های کوچک‌تر از آنچه تصور می‌شد، بحرانی است. این یافته برای توسعه‌دهندگانی که به دنبال بهینه‌سازی مدل‌های لبه (Edge) هستند، اهمیت حیاتی دارد.

تأثیر برای ایران

این پروژه برای برنامه‌نویسان ایرانی که به دلیل محدودیت سخت‌افزاری روی مدل‌های کوچک (SLM) کار می‌کنند، یک نقشه راه برای شناسایی باگ‌های رایج در پیاده‌سازی‌های دستی PyTorch است.

·نگاه ما
تحریریه دات‌هوش

ظرفیت مدل (Model Capacity) به عنوان یک سد دفاعی طبیعی در برابر نشت داده‌ها عمل می‌کند. این پروژه ثابت می‌کند که مدل‌های بسیار کوچک (SLM) به دلیل محدودیت فضای نهان، حتی در صورت دسترسی به پاسخ‌ها در زمان آموزش، قادر به بازسازی آن‌ها در زمان استنتاج نیستند و این موضوع فرضیه «تقلب» در مدل‌های کوچک را به چالش می‌کشد.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.