← بازگشت به فرادیدپست
✍️ سید ابوالفضل موسوی 📅 ۳۱ مرداد ۱۴۰۵ ساعت ۰۴:۲۰ 👁️ 3 بازدید
فرادید پست

آموزش ۱۰۰ مدل 7B

از داده تخصصی تا مسیریاب — نقشه راه عملی برای ساخت یک MoE قدرتمند با ۴ سرور

بخش اول

داده تخصصی

کیفیت مدل به کیفیت داده وابسته است — نه فقط به تعداد پارامتر

اولین و مهم‌ترین گام در آموزش ۱۰۰ مدل 7B، تهیه داده تخصصی برای هر مدل است. مدل‌ها مثل دانشجویان هستند — هر چه کتاب‌های بهتر و تخصصی‌تری بخوانند، متخصص بهتری می‌شوند. برای هر Expert، باید مجموعه داده‌ای از همان حوزه تخصصی تهیه شود.

برای ۱۰۰ مدل — ۳۰ مدل زبان و ۷۰ مدل تخصص دانشگاهی — به داده‌های متنوعی نیاز داریم. برای مدل فارسی، کتاب‌های ادبیات فارسی، مقالات روزنامه‌ها، و متن‌های حقوقی. برای مدل پزشکی، کتاب‌های درسی پزشکی، مقالات علمی، و پرونده‌های بالینی. برای مدل ریاضی، کتاب‌های جبر و حسابان، مسائل حل‌شده، و مقالات ریاضی.

📚

منابع داده متنی

کتاب‌های دانشگاهی، مقالات علمی، ویکی‌پدیا، وب‌سایت‌های تخصصی، اسناد حقوقی و پزشکی.

🔢

منابع داده عددی

مسائل حل‌شده ریاضی، داده‌های آماری، جداول فیزیک و شیمی، کدهای برنامه‌نویسی.

🗣️

منابع داده زبانی

کتاب‌های ادبی، مقالات خبری، مکالمات روزمره، متون حقوقی و رسمی هر زبان.

📊 چقدر داده لازم است؟ برای Fine-tuning یک مدل 7B، حداقل ۱۰۰ هزار نمونه و برای آموزش از صفر، حداقل ۱ میلیارد توکن (تقریباً ۲ میلیون صفحه متن) لازم است. کیفیت داده مهم‌تر از کمیت است — داده تمیز و تخصصی ۱۰ برابر ارزشمندتر از داده پرنویز و عمومی است.

بخش دوم

تقسیم کار روی ۴ سرور

آموزش موازی: هر سرور یک یا چند Expert را همزمان آموزش می‌دهد

با ۴ سرور مجهز — هر کدام با ۴ عدد L40S و ۱۹۲ گیگابایت حافظه GPU — می‌توانیم آموزش موازی انجام دهیم. یعنی همزمان ۴ مدل 7B را آموزش دهیم. این کار زمان کل را از ۱۰۰ هفته به ۲۵ هفته کاهش می‌دهد.

هفته سرور ۱ سرور ۲ سرور ۳ سرور ۴
۱ فارسی ۱ انگلیسی ۱ ریاضی ۱ پزشکی ۱
۲ عربی ۱ چینی ۱ فیزیک ۱ کامپیوتر ۱
۳ فارسی ۲ انگلیسی ۲ شیمی ۱ اقتصاد ۱
۴ روسی ۱ ژاپنی ۱ زیست ۱ مهندسی ۱
... این جدول ۲۵ هفته ادامه دارد
سرعت آموزش: با روش Fine-tuning (به‌جای آموزش از صفر)، هر مدل 7B فقط ۳ تا ۵ روز زمان می‌برد. با ۴ سرور موازی، هر هفته ۴ مدل جدید ساخته می‌شود — یعنی ۱۰۰ مدل در ۶ ماه.

روش Fine-tuning با LoRA

به‌جای آموزش تمام ۷ میلیارد پارامتر از صفر، از روش LoRA (Low-Rank Adaptation) استفاده می‌کنیم. در این روش، فقط ۱-۲٪ از پارامترها آموزش داده می‌شوند و بقیه ثابت می‌مانند. نتیجه: زمان آموزش از ۴ هفته به ۳-۵ روز کاهش می‌یابد و نیاز به GPU از ۴ عدد به ۱ عدد می‌رسد.

🔄 فرآیند Fine-tuning با LoRA

📥
۱. بارگذاری مدل پایه

مدل LLaMA 7B آماده از Hugging Face بارگذاری می‌شود

🧊
۲. فریز کردن ۹۸٪ پارامترها

فقط ۱-۲٪ از پارامترها قابل آموزش می‌مانند

📚
۳. آموزش روی داده تخصصی

فقط لایه‌های LoRA روی داده‌های تخصصی آموزش می‌بینند

💾
۴. ذخیره مدل تخصصی

مدل جدید (پایه + LoRA) روی Storage ذخیره می‌شود


بخش سوم

آموزش Router (مسیریاب)

مغز متفکر MoE — چه کسی تصمیم می‌گیرد کدام Expert فعال شود؟

بعد از آموزش ۱۰۰ مدل تخصصی، نیاز به یک Router داریم — یک شبکه عصبی کوچک که تشخیص می‌دهد هر سؤال به کدام Expert ها برود. Router مثل منشی بیمارستان است: سؤال را می‌شنود، تشخیص می‌دهد مربوط به کدام بخش است، و به متخصص مناسب ارجاع می‌دهد.

Router معمولاً یک مدل کوچک است — حدود ۱۰۰ میلیون تا ۱ میلیارد پارامتر — که با ۱۰ هزار نمونه برچسب‌خورده آموزش می‌بیند. هر نمونه شامل یک سؤال و برچسب آن است: «این سؤال ریاضی است»، «این سؤال پزشکی است»، «این سؤال فارسی است».

🧭 عملکرد Router

📥
ورودی: «معادله درجه دوم را حل کن»

سؤال کاربر وارد Router می‌شود

🔍
تحلیل سؤال

Router تشخیص می‌دهد: زبان = فارسی، تخصص = ریاضی

🎯
انتخاب Expert

فعال‌سازی: Expert فارسی ۲ + Expert ریاضی ۳

📤
ترکیب پاسخ

پاسخ نهایی از ترکیب خروجی ۲ Expert تولید می‌شود

🧠 Router چطور آموزش می‌بیند؟ ابتدا ۱۰ هزار سؤال نمونه جمع‌آوری می‌شود. هر سؤال توسط متخصص انسانی برچسب می‌خورد: «ریاضی»، «پزشکی»، «فارسی»، «انگلیسی» و... سپس Router با این داده‌ها آموزش می‌بیند تا بتواند سؤالات جدید را به درستی دسته‌بندی کند. آموزش Router معمولاً ۱-۲ روز طول می‌کشد.

بخش چهارم

ذخیره‌سازی و استقرار

۱۰۰ مدل روی Storage — و سرویس‌دهی با ۱ سرور

بعد از آموزش ۱۰۰ مدل و Router، نوبت به ذخیره‌سازی و استقرار می‌رسد. هر مدل 7B با دقت INT8 حدود ۷ گیگابایت فضا می‌گیرد. ۱۰۰ مدل یعنی ۷۰۰ گیگابایت — که روی Storage 300 ترابایتی شما یک نقطه کوچک است.

دقت حجم هر مدل 7B حجم ۱۰۰ مدل
FP32 ۲۸ گیگابایت ۲.۸ ترابایت
FP16 ۱۴ گیگابایت ۱.۴ ترابایت
INT8 ۷ گیگابایت ۷۰۰ گیگابایت
INT4 ۳.۵ گیگابایت ۳۵۰ گیگابایت

سرویس‌دهی با ۱ سرور

برای پاسخگویی به کاربران، فقط ۱ سرور کافی است. با ۱۹۲ گیگابایت حافظه GPU، می‌توان ۲۴ مدل 7B را همزمان بارگذاری کرد. Router سؤال را می‌گیرد، ۲-۴ مدل مرتبط را فعال می‌کند، و پاسخ ترکیبی تولید می‌شود. بقیه مدل‌ها روی Storage منتظرند و در چند ثانیه بارگذاری می‌شوند.

💰 صرفه‌جویی: ۳ سرور دیگر آزاد می‌مانند — یکی برای به‌روزرسانی مدل‌ها، یکی برای آموزش مدل‌های جدید، و یکی برای توسعه. مصرف برق هم از ۱۰-۱۶ کیلووات به ۲.۵-۴ کیلووات کاهش می‌یابد.

بخش پنجم

جمع‌بندی

از داده تا سرویس — نقشه راه کامل

در این مقاله، مسیر کامل آموزش ۱۰۰ مدل 7B را بررسی کردیم: از تهیه داده تخصصی برای هر Expert، تا آموزش موازی روی ۴ سرور با روش LoRA، تا آموزش Router برای مسیریابی هوشمند، و در نهایت ذخیره‌سازی روی Storage و سرویس‌دهی با ۱ سرور.

نتیجه این فرآیند: یک سیستم MoE با ۷۰۰ میلیارد پارامتر کل که در هر سؤال فقط ۱۴-۲۸ میلیارد پارامتر فعال می‌کند. کیفیت نزدیک به GPT-4 با هزینه‌ای معادل یک‌دهم — و کاملاً قابل اجرا با زیرساختی که در مقالات قبلی طراحی کردیم.

🎯

گام بعدی: Multimodal

حالا که ۱۰۰ مدل متنی داریم، در مقاله بعدی به سراغ مدل‌های تصویری و صوتی می‌رویم — تا سیستم ما بتواند ببیند، بشنود و بفهمد.