چالش قالب‌بندی و کارایی مدل‌های چت

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

مقدمه و ضرورت قالب‌بندی

Library Transformers در گذشته از string inputs ساده استفاده می‌کرد؛ اما با پیشرفت مدل‌های چندنویسی، قالب‌بندی دقیق به‌عنوان بخشی بی‌قید و شرط از عملکرد مدل‌ها مطرح شد. این امر به روش مجموع داده‌های گفتگو به‌صورت یک رشته tokenizable می‌انجامد.

نحوه عملکرد قالب‌های Jinja در Hugging Face

در هر مدل، ویژگی chat_template در tokenizer ذخیره‌شده است. این ویژگی شامل یک قالب Jinja است که به‌صورت خودکار تمام پیام‌های گذشته را به فرمت موردنیاز تبدیل می‌کند. این فرمت‌سازی پیش‌بینی شده، فاصله ناپایداری از حالت آموزش را ختم می‌کند.

  • کاهش خطای عدم تطبیق فرمت
  • افزایش کارایی در مقایسه دو تا سه برابر
  • سازگاری از پیش‌ساخته‌های مدل با ورود از کد

مطالب بیشتر در وبلاگ Hugging Face و کدهای GitHub موجود است؛ این منابع، راهنمایی دقیق در نوشتن و اعمال قالب‌ها را فراهم می‌کنند.

پرسش‌های پرتکرار

قالب Chat Template در Hugging Face چیست؟

قالب Chat Template مجموعه‌ای از قواعد Jinja است که فرمت گفتگو را برای مدل‌های زبانی مشخص می‌کند و باعث تطبیق بهتر داده‌های ورودی با حالت آموزش می‌شود.

چگونه می‌توان قالب مناسب را برای مدل خود انتخاب کرد؟

با استفاد' از ویژگی chat_template در tokenizer مخازن مدل، قالب پیش‌فرض استفاده‌شده در آموزش را دریافت کرده و در کد خود به‌کار می‌برید؛ اگر قالب متفاوت باشد، performance کاهش قابل‌توجهی را تجربه خواهید کرد.