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

تأثیر ۳ سطح آموزش بر تبدیل تکمیل‌کننده متن به دستیار هوشمند

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

تمرکز بر استفاده از مدل‌های بسیار کوچک (SmolLM2) برای کالبدشکافی رفتاری مدل‌های بزرگ؛ این رویکرد ثابت می‌کند که منطق رفتاری (Behavioral Architecture) در مدل‌های ۱۳۵ میلیون پارامتری مشابه مدل‌های Frontier است.

اگر امروز در حال توسعه یک اپلیکیشن هوش مصنوعی هستید، اشتباه گرفتن مدل پایه با یک دستیار چت، منطق محصول شما را به‌کل به‌هم می‌زند. تفاوت این دو صرفاً یک تنظیم ساده نیست، بلکه یک تغییر بنیادین در اهداف آموزش است که تعیین می‌کند مدل به سؤال شما پاسخ دهد یا صرفاً شبیه به یک برگه آزمون عمل کند.

بسیاری از کاربران عباراتی مثل «LLM»، «GPT»، «یک مدل هوش مصنوعی» و «ChatGPT» را به‌جای هم به کار می‌برند، اما این‌ها یکی نیستند. بین مدلی که فقط اینترنت را خوانده و دستیاری که می‌توانید با آن گفتگو کنید، یک نردبان از مراحل آموزشی وجود دارد. کلمات «بنیادی» (Foundation)، «دستور-محور» (Instruct) و «چت» (Chat) در واقع پله‌های این نردبان هستند.

اکثر کاربران با مرحله نهایی این مسیر تعامل دارند، اما درک این پیشرفت برای توسعه‌دهندگان حیاتی است. این فرآیند یک موتور آماری خام را به یک دستیار مفید تبدیل می‌کند. برای نمایش این موضوع، یک آموزش عملی از خانواده SmolLM2-135M استفاده می‌کند؛ مجموعه‌ای از مدل‌های بسیار کوچک که می‌توانند بدون نیاز به GPU، روی یک محیط رایگان CPU در گوگل کولب (Google Colab) اجرا شوند.

برای لمس این تفاوت، در این آموزش یک تست «عمداً غیرمنصفانه» طراحی شده است: پرسیدن یک سؤال خسته‌کننده و یکسان («پایتخت فرانسه چیست؟») از سه نسخه مختلف از یک خانواده مدل برای مشاهده اینکه چگونه رفتارهای آن‌ها از یکدیگر فاصله می‌گیرد.

مدل بنیادی: یک تکمیل‌کننده آماری

یک مدل بنیادی (Foundation Model) — که اغلب مدل پایه (Base) یا پیش‌آموزش‌دیده (Pretrained) نامیده می‌شود — تنها با یک هدف آموزش دیده است: با داشتن تکه‌ای از متن، توکن بعدی را پیش‌بینی کند. همین و بس. این مدل بخش عظیمی از اینترنت را می‌خواند و در ادامه دادن متن به‌صورت آماری محتمل، بسیار مهارت می‌یابد. با این حال، هرگز به او آموزش داده نشده است که یک سؤال، لایق پاسخ است.

به نقل از مستندات این آموزش، اگر از یک مدل بنیادی مثل HuggingFaceTB/SmolLM2-135M بپرسید «پایتخت فرانسه چیست؟»، مدل فکر نمی‌کند که «من باید به این سؤال پاسخ دهم». در عوض، مدل می‌اندیشد: «در اینترنت، معمولاً بعد از خطی شبیه به این، چه چیزی می‌آید؟»

به همین دلیل، خروجی اغلب یک پاسخ نیست، بلکه تکرار همان الگو است. مدل ممکن است لیستی از سؤالات کوییز یا یک کاربرگ آموزشی تولید کند، مثلاً:

  • پایتخت فرانسه چیست؟
  • پایتخت آلمان چیست؟
  • پایتخت ایتالیا چیست؟

در دفترچه کولب، این موضوع با ارسال یک رشته متن خام مستقیماً به خط لوله (Pipeline) بدون هیچ فرمت‌بندی خاصی نمایش داده شده است:
base_pipe = pipeline("text-generation", model="HuggingFaceTB/SmolLM2-135M")
base_raw_out = base_pipe(test_query, max_new_tokens=30, do_sample=False)

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

مدل دستور-محور: یادگیری قرارداد

یک مدل دستور-محور (Instruct Model) ابتدا یک مدل پایه است اما مرحله دوم آموزش را می‌گذراند: تنظیم دقیق (Fine-tuning) روی جفت‌های «دستور $\rightarrow$ پاسخ». این فرآیند شامل هزاران تا میلیون‌ها مثال با ساختار «این یک درخواست است و این یک پاسخ خوب» است. این کار به مدل یک قرارداد جدید را می‌آموزد: وقتی کاربر چیزی را درخواست کرد، واقعاً آن را انجام بده و سپس متوقف شو.

نکته حیاتی این است که این مدل‌ها برای عملکرد درست به فرمت خاصی از پرامپت نیاز دارند. برای مدل HuggingFaceTB/SmolLM2-135M-Instruct، مدل انتظار توکن‌های کنترلی خاصی را دارد. فرمت ورودی به این شکل است:
<|im_start|>user What is the capital of France?<|im_end|> <|im_start|>assistant

توسعه‌دهندگان این توکن‌ها را دستی تایپ نمی‌کنند. هر مدل دستور-محور یک «قالب چت» (Chat Template) دارد که در توکنایزر آن تعبیه شده است. طبق گزارش این آموزش، این سازوکار با کد زیر اجرا می‌شود:
tokenizer = AutoTokenizer.from_pretrained(instruct_id)
formatted_prompt = tokenizer.apply_chat_template([{"role": "user", "content": test_query}], tokenize=False, add_generation_prompt=True)

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

نتیجه این است که: مدل دستور-محور = مدل پایه + تنظیمات دستور-محور + یک فرمت پرامپت الزامی.

مدل چت: مدیریت بافتار

یک مدل چت معمولاً همان وزن‌های مدل دستور-محور را دارد. تفاوت در این نیست که مدل چیست، بلکه در این است که شما چگونه آن را هدایت می‌کنید. به‌جای یک دستور تک‌مرحله‌ای (One-shot)، شما لیستی جاری از پیام‌های برچسب‌گذاری شده بر اساس نقش (Role) را نگه می‌دارید.

این معماری اجازه می‌دهد مدل ضمایر را تشخیص دهد (Pronoun Resolution) و حافظه را در طول نوبت‌های گفتگو حفظ کند. در دفترچه کولب، این کار با یک لیست پیام مدیریت می‌شود:
chat_history = [ {"role": "user", "content": "What is the capital of France?"}, ]
chat_out = chat_pipe(chat_history, max_new_tokens=30)

جادو زمانی رخ می‌دهد که گفتگو ادامه یابد. اگر کاربر یک سؤال پیگیرانه و عمداً مبهم بپرسد، مثلاً «و یک بنای معروف در آنجا چیست؟»، کلمه «آنجا» به‌تنهایی بی‌معنی است. اما چون کل تاریخچه گفتگو به مدل بازگردانده می‌شود، مدل می‌تواند کلمه «آنجا» را به «پاریس» ارجاع دهد و یک بنای تاریخی را معرفی کند.

نتیجه این است که مدل چت، در واقع یک مدل دستور-محور است که از طریق یک لیست پیام‌های چند-نوبتی هدایت می‌شود؛ جایی که پرامپت سیستم، نقش‌های کاربر/دستیار و تاریخچه در حال رشد، تجربه «چت» را خلق می‌کنند.

خلاصه مقایسه‌ای

مدل هدف آموزش ورودی شما پاسخ به «پایتخت فرانسه چیست؟»
بنیادی ادامه دادن متن رشته متن خام تکرار یا ادامه دادن سند
دستور-محور پیروی از یک دستور رشته با قالب چت پاسخ مستقیم: «پایتخت فرانسه پاریس است»
چت گفتگو در چندین نوبت لیستی از پیام‌ها پاسخ مستقیم + حفظ بافتار برای سؤالات بعدی

این ساختار سه‌مرحله‌ای از مدل‌های ۱۳۵ میلیون پارامتری SmolLM2 تا غول‌های پیشرو (Frontier Models) با ده‌ها یا صدها میلیارد پارامتر که در دستیارهای تجاری استفاده می‌شوند، یکسان است. اگرچه نسخه کوچک ۱۳۵ میلیون پارامتری ممکن است گاهی یک حقیقت را اشتباه بگوید، خودش را تکرار کند یا در میانه جمله قطع شود، اما شکاف رفتاری بین این سه حالت دقیقاً مشابه مدل‌های غول‌پیکر است.

برای کسانی که در حال آزمایش هستند، این آموزش پیشنهاد می‌کند نسخه ۱۳۵ میلیون را با مدل بزرگ‌تر HuggingFaceTB/SmolLM2-360M-Instruct جایگزین کنند تا جهش کیفیت را حس کنند. کاربران همچنین می‌توانند پارامترهایی مثل do_sample=True و temperature=0.7 را تغییر دهند تا ببینند این سه حالت در مواجهه با خروجی‌های خلاقانه (مانند نوشتن یک هایکو درباره دریا) چگونه بیشتر از هم فاصله می‌گیرند.

درک این تفاوت‌ها، اصطلاحات پیچیده «پایه» و «چت» را شفاف می‌کند. مشخص می‌شود که یک هوش مصنوعی تجاری، یک موجود واحد نیست، بلکه لایه‌ای از حافظه گفتگویی است که روی لایه‌ای از تنظیمات دستور-محور قرار گرفته و همگی بر بستر پیش‌بینی متن جهانی بنا شده‌اند.

برای مشاهده عملی این موضوع، می‌توانید دفترچه foundation_instruct_chat_tutorial.ipynb را در گوگل کولب اجرا کنید (از طریق File $\rightarrow$ Open notebook $\rightarrow$ Upload). تمام سلول‌ها را اجرا کنید (Runtime $\rightarrow$ Run all) تا خروجی خام هر مرحله را به‌صورت در کنار هم مشاهده کنید. 🚀

گام بعدی شما

  • دفترچه foundation_instruct_chat_tutorial.ipynb را در گوگل کولب اجرا کنید تا خروجی خام هر مرحله را کنار هم ببینید.
  • مدل‌های مختلف خانواده SmolLM2 را با تغییر temperature تست کنید تا تفاوت خلاقیت در هر سطح را درک کنید.
  • اگر در حال طراحی سیستم RAG هستید، بررسی کنید که آیا مدل شما در مرحله Instruct است یا Chat تا فرمت ورودی را درست انتخاب کنید.

اما تأثیر این مراحل بر هزینه استنتاج و سرعت پاسخ‌دهی حتی پیچیده‌تر است — به تحلیل ما درباره‌ی بهینه‌سازی‌های لایه‌ی استنتاج مراجعه کنید.

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

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

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

این راهنما برای توسعه‌دهندگانی که به دلیل محدودیت‌های API یا هزینه، از مدل‌های Open Weights و محلی (Local LLMs) استفاده می‌کنند، بسیار کاربردی است و امکان اجرای مدل‌های بهینه روی سخت‌افزارهای محدود در ایران را فراهم می‌کند.

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

تحلیل ما نشان می‌دهد که صنعت در حال گذار از «مدل‌های همه‌کاره» به «مدل‌های تخصصی» است. آنچه از این خبر می‌توان آموخت این است که بهینه‌سازی عملکرد AI دیگر تنها به افزایش پارامترها نیست، بلکه به مهندسی دقیق لایه‌ی تعامل (Interaction Layer) وابسته است تا مدل دقیقا بداند در چه نقشی (پاسخ‌دهنده یا تکمیل‌کننده) قرار دارد.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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