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

تنظیم دقیق مدل‌های چندبرداری، بازیابی اسناد تخصصی را بهینه کرد

·۴ شهریور ۱۴۰۵۲۱ دقیقه مطالعه۱ بازدید
راهنما
آموزش و تنظیم دقیق مدل‌های جاسازی چندبرداری با Sentence Transformers
آموزش و تنظیم دقیق مدل‌های جاسازی چندبرداری با Sentence Transformers
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

امکان آموزش مدل‌های چندبرداری (ColBERT-style) روی سخت‌افزارهای مصرف‌کننده از طریق نسخه ۶.۰ Sentence Transformers؛ این به‌روزرسانی اجازه می‌دهد مدل‌های تخصصی با دقت بسیار بالاتر از مدل‌های متراکم (Dense) و با هزینه محاسباتی اندک ساخته شوند.

آیا یک کارت گرافیک RTX 3090 می‌تواند مدل بازیابی تخصصی بسازد که از غول‌های هوش مصنوعی دنیا قدرتمندتر باشد؟ در ۲۶ اوت ۲۰۲۶، Hugging Face جزئیاتی را منتشر کرد که نشان می‌دهد به‌روزرسانی نسخه ۶.۰ کتابخانه Sentence Transformers، آموزش مدل‌های بردار معنایی (Embedding) چندبرداری را ممکن کرده است؛ مدل‌هایی که در حوزه‌های تخصصی مثل پزشکی، مدل‌های متراکم استاندارد را شکست می‌دهند.

بیشتر سامانه‌های بازیابی، کل یک سند را در یک بردار واحد فشرده می‌کنند. این کار شبیه این است که بخواهید تمام جزئیات یک کتاب ۱۰۰ صفحه‌ای را در یک جمله خلاصه کنید؛ در نتیجه، جزئیات ظریفی که برای پرس‌وجوهای پیچیده حیاتی هستند، حذف می‌شوند. این همان محدودیتی است که در پوشش قبلی ما درباره‌ی RollTab مشاهده کردیم، جایی که دقت در لحظه نیازمند معماری‌های ترنسفورمر تخصصی برای مدیریت جریان‌های داده خاص بود. مدل‌های چندبرداری یا مدل‌های سبک ColBERT با اختصاص یک بردار مجزا برای هر توکن (Token) — یعنی تکه‌های کوچکی از متن، شبیه برش‌های یک کیک طولانی که مدل تکه‌تکه می‌خورد — این مشکل را حل می‌کنند و سیگنال‌های دقیقی را حفظ می‌کنند که مدل‌های تک‌برداری دور می‌اندازند. این رویکرد در واقع پاسخی به چالش‌های فشرده‌سازی در متدهای سنتی RAG است که پیش‌تر بررسی کرده بودیم.

معماری تعامل دیرهنگام

برخلاف بردار‌های متراکم، مدل‌های چندبرداری از مکانیزم «تعامل دیرهنگام» (Late Interaction) استفاده می‌کنند. در اینجا به‌جای یک ضرب داخلی ساده بین دو خلاصه، سیستم از عملگر MaxSim استفاده می‌کند. به این ترتیب، هر توکن در پرس‌وجو، بهترین توکن متناظر خود را در سند پیدا می‌کند و این امتیازها با هم جمع می‌شوند.

مدل‌های چندبرداری تعبیه با تعامل دیرهنگام در ترنسفورمرهای جمله‌ای

این رویکرد برای اسناد طولانی بسیار قدرتمند است. بسیاری از مدل‌های رایج، متن را در ۱۸۰ تا ۵۱۲ توکن قطع می‌کنند و بقیه داده‌ها را بی‌صدا دور می‌ریزند. در یک ارزیابی پزشکی با اسنادی که به‌طور میانگین ۹۴۱ توکن داشتند، این قطع‌شدگی باعث کاهش ۰.۲۴ در معیار NDCG@10 شد. توسعه‌دهندگان اکنون می‌توانند با آموزش یک مدل سفارشی، طول سند را دقیقاً مطابق نیاز داده‌های خود تنظیم کنند تا هیچ داده‌ای در اثر محدودیت‌های پیش‌فرض حذف نشود.

زمینه: چرا تنظیم دقیق مدل‌های چندبرداری ضروری است؟

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

علاوه بر این، اکثر مدل‌های منتشرشده برای متون کوتاه پیکربندی شده‌اند. نقاط بازرسی (Checkpoints) کلاسیک ColBERT معمولاً در ۱۸۰ یا ۳۰۰ توکن قطع می‌شوند. وقتی اسناد طولانی باشند، این مدل‌ها پیش از امتیازدهی، بخش بزرگی از متن را بی‌صدا دور می‌ریزند. این یک شکست سیستمی در حوزه‌هایی مثل پزشکی یا حقوق است، جایی که پاسخ ممکن است در اعماق یک سند طولانی نهفته باشد.

زمینه: انطباق با حوزه‌های تخصصی

به نقل از مستندات Hugging Face، مدل‌های عمومی اغلب روی داده‌هایی مثل MS MARCO آموزش دیده‌اند که به‌ندرت از چند صد توکن فراتر می‌روند. این موضوع باعث ایجاد یک سوگیری سیستمی به سمت بازیابی متون کوتاه شده است. برای مثال، شرکت LightOn در بازیابی کدها با همین پویایی مواجه شد؛ آن‌ها دریافتند که مدل عمومی LateOn برای این کار ناکافی است و همین موضوع منجر به توسعه مدل تخصصی LateOn-Code برای آن حوزه شد.

چه هدف شما متون پزشکی باشد و چه اسناد حقوقی، مالی یا مستندات داخلی شرکت، مدل‌های رسمی برای هر گوشه از تخصص‌ها وجود ندارند. به‌روزرسانی نسخه ۶.۰ اجازه می‌دهد این مدل‌های تخصصی را در عرض چند ساعت و تنها با یک GPU خانگی بسازید، به‌جای اینکه به مدل‌های عمومی تکیه کنید که سیگنال‌های حیاتی حوزه شما را در اثر میانگین‌گیری حذف می‌کنند.

جزئیات دستورالعمل تنظیم دقیق

آموزش یک MultiVectorEncoder شامل چندین جزء کلیدی است: مدل، مجموعه‌داده‌ها، توابع زیان، آرگومان‌های آموزش، ارزیاب‌ها و کلاس Trainer. تمام این‌ها با دستور pip install -U "sentence-transformers[train]" اجرا می‌شوند.

انتخاب و پیکربندی مدل

  • نقاط شروع: انتخاب نقطه شروع حیاتی است. نقاط بازرسی «بدون نظارت» (Unsupervised) — مدل‌هایی که روی داده‌های تقابلی مقیاس‌بزرگ آموزش دیده‌اند اما هنوز روی بازیابی عمومی نظارت نشده‌اند — بسیار بهتر از مدل‌های نهایی با حوزه‌های جدید سازگار می‌شوند. نقاط بازرسی نهایی اغلب در طول آموزش دامنه یا به‌سختی تغییر می‌کنند یا حتی دچار پس‌رفت (Regression) می‌شوند. اگر نقطه بازرسی پیش‌نظارتی در دسترس نباشد، بهترین گزینه بعدی، ایجاد یک لایه تصویر (Projection) تازه روی یک ستون فقرات قوی پیش‌آموزش‌دیده برای بازیابی است.
  • ترنسفورمرهای پایه: شما می‌توانید MultiVectorEncoder را روی هر ترنسفورمر پایه‌ای (مثل ModernBERT-base) قرار دهید. این کار یک لایه Dense تصادفی اضافه می‌کند که بردارها را به ۱۲۸ بُعد کاهش می‌دهد، و سپس یک لایه MultiVectorMask و یک لایه Normalize را دنبال می‌کند. آزمایش‌ها نشان می‌دهد که یک لایه تصویر تازه روی Alibaba-NLP/gte-modernbert-base می‌تواند تنها با ۲۵ هزار جفت داده آموزشی، به دقتی در فاصله ۰.۰۳ از نقاط بازرسی موجود برسد.
  • برداشتن سقف‌ها: برای جلوگیری از قطع متن، توسعه‌دهندگان باید model[0].query_length = None و model[0].document_length = None را تنظیم کنند. این کار به مدل اجازه می‌دهد از حداکثر طول توکن‌ساز (مثلاً ۸۱۹۲ توکن برای خانواده mLateOn) استفاده کند. برای مثال، GTE-ModernColBERT-v1 با طول پرس‌وجوی ۴۸ و طول سند ۳۰۰ عرضه می‌شود؛ این محدودیت‌ها باید برای متون طولانی‌تر برداشته شوند.
  • لیست‌های حذف علائم: افزودن یک لیست حذف علائم نگارشی به ماژول MultiVectorMask می‌تواند کیفیت را کمی بهبود بخشد و حجم ایندکس سند را ۹.۶٪ کاهش دهد. این کار با تنظیم model[2].skiplist_words = list(string.punctuation) و فراخوانی resolve_with_tokenizer انجام می‌شود.

داده‌ها و توابع زیان

  • فرمت داده: سیستم از datasets.Dataset یا DatasetDict استفاده می‌کند. برای تست پزشکی، ۱ میلیون جفت داده از مجموعه MIRIAD استفاده شد (از مجموع ۴.۴ میلیون جفت موجود). فرمت معمولاً ساختار (پرس‌وجو، متن مرتبط) را دنبال می‌کند. به‌طور پیش‌فرض، ستون اول به عنوان پرس‌وجو و ستون‌های بعدی به عنوان سند در نظر گرفته می‌شوند.
  • تابع زیان: ابزار اصلی CachedMultiVectorMultipleNegativesRankingLoss است. این تابع با استفاده از GradCache، اندازه دسته (Batch Size) مؤثر را از محدودیت‌های حافظه GPU جدا می‌کند و اجازه می‌دهد دسته‌های تقابلی بزرگ (مثلاً ۱۲۸) را با تکه‌های کوچک (مثلاً ۱۶) برای کنترل VRAM اجرا کنید. برای طول‌های متغیر سند، می‌توان از mini_batch_num_tokens برای بسته‌بندی تکه‌ها بر اساس بودجه توکن (مثلاً ۱۵,۰۰۰ توکن) استفاده کرد.
  • تله مقیاس: برخلاف مدل‌های متراکم که از scale=20.0 برای شباهت کسینوسی استفاده می‌کنند، توابع زیان چندبرداری به‌صورت پیش‌فرض روی scale=1.0 هستند. چون MaxSim امتیازات را در توکن‌های پرس‌وجو جمع می‌کند، یک پرس‌وجوی ۳۲ توکنی می‌تواند امتیازی تا ۳۲ بگیرد؛ استفاده از مقیاس ۲۰.۰ باعث اشباع سافت‌مکس و نابودی گرادیان‌ها می‌شود.
  • تقطیر دانش: برای کسانی که مدل معلم قدرتمندتری دارند، می‌توان از MultiVectorDistillKLDivLoss برای تقطیر دانش به مدل چندبرداری استفاده کرد.

آرگومان‌های آموزش و ارزیابی

  • بهینه‌سازی: نرخ یادگیری ۱e-4 مؤثرترین مقدار بود (پس از بررسی بازه 5e-6 تا 2e-4). آموزش روی ۵۱۲ توکن به‌جای طول کامل، سرعت را ۲ برابر کرد اما حدود ۰.۰۱۵ از امتیاز NDCG@10 را کاهش داد.
  • پرامپت‌ها: آموزش نیازمند نگاشت صریح نشانگرهاست، مانند [Q] برای سؤالات و [D] برای متون، تا آموزش با استنتاج (Inference) سازگار باشد. این‌ها از طریق آرگومان prompts در MultiVectorEncoderTrainingArguments ارسال می‌شوند.
  • ارزیاب‌ها: از MultiVectorInformationRetrievalEvaluator استفاده می‌شود. برای جلوگیری از اشباع امتیاز، توسعه‌دهندگان باید اسناد مزاحم (Distractors) — مثلاً اسناد آموزشی حذف‌تکرار شده — را اضافه کنند تا «زیرِ کاه» واقع‌بینانه باشد. در تست MIRIAD، استفاده از تنها ۱۰ هزار سند طلایی منجر به امتیازات بالای ۰.۹۷ شد، که افزودن ۱۹۰ هزار سند مزاحم برای پخش کردن امتیازات را ضروری کرد.
  • گزارش‌دهی: Trainer از WandbCallback ،TensorBoardCallback و CodeCarbonCallback از طریق آرگومان report_to برای ردیابی معیارها و میزان انتشار کربن پشتیبانی می‌کند.

آموزش و تنظیم دقیق مدل‌های تعبیه چندبرداری با Sentence Transformers

آموزش با مجموعه‌داده‌های چندگانه

مدل‌های برتر معمولاً نیاز به آموزش روی چندین مجموعه داده دارند. MultiVectorEncoderTrainer این قابلیت را با پذیرش دیکشنری از داده‌ها فراهم می‌کند. این سیستم اجازه می‌دهد برای هر مجموعه داده از توابع زیان متفاوتی استفاده شود و دو استراتژی نمونه‌برداری از طریق multi_dataset_batch_sampler ارائه می‌دهد:

  • ROUND_ROBIN: نمونه‌برداری برابر از هر مجموعه تا اتمام یکی از آن‌ها.
  • PROPORTIONAL: نمونه‌برداری متناسب با اندازه هر مجموعه، تا اطمینان حاصل شود که تمام نمونه‌ها استفاده می‌شوند.

محک‌زنی نتایج

مدل حاصل یعنی mLateOn-medical در ۱۴.۵ ساعت روی یک RTX 3090 آموزش دید و اوج مصرف VRAM آن ۱۷.۵ گیگابایت بود. در تست روی ۲۰۰ هزار سند منحصربه‌فرد (۱,۰۰۰ سؤال خارج از مجموعه در مقابل ۱۰ هزار سند طلایی و ۱۹۰ هزار سند مزاحم)، این مدل توانست مدل Zero-shot قدرتمندترین را با ۰.۰۶۲+ در NDCG@10 شکست دهد.

آموزش و تنظیم دقیق مدل‌های جاسازی چندبرداری با Sentence Transformers

در حالی که مدل متراکم عظیم Qwen3-Embedding-4B حدود ۳۳ برابر پارامتر فعال بیشتری دارد، باز هم با اختلاف ۰.۱۳ از مدل چندبرداری تنظیم‌شده عقب ماند. حتی نسخه 8B مدل Qwen3 هم امتیاز کمتری گرفت. این ثابت می‌کند که در کارهای بازیابی، معماری و تنظیم تخصصی بسیار مهم‌تر از تعداد خام پارامترهاست.

آموزش و تنظیم دقیق مدل‌های جاسازی چندبرداری با Sentence Transformers

جالب است که BM25 به‌طور شگفت‌انگیزی خوب عمل کرد و هر مدل پراکنده (Sparse) و اکثر مدل‌های متراکم را شکست داد. احتمالاً به این دلیل که سؤالات MIRIAD از خود متون تولید شده‌اند و هم‌پوشانی واژگانی بالایی وجود دارد که BM25 با طول متن نامحدود خود می‌تواند از آن بهره ببرد؛ اما این برتری در داده‌هایی با هم‌پوشانی واژگانی کمتر، تکرار نخواهد شد.

حل مشکل حجم ایندکس

عیب اصلی مدل‌های چندبرداری، حجم ایندکس است. ذخیره یک بردار برای هر توکن در ۲۰۰ هزار سند، ۴۵ گیگابایت فضا در حالت fp16 اشغال کرد، در حالی که مدل متراکم کمتر از ۱ گیگابایت نیاز داشت. اما دو راه برای حل این مشکل وجود دارد:

۱. تجمع توکن‌ها: استفاده از HierarchicalTokenPooling برای خوشه‌بندی بردارها و ذخیره میانگین خوشه‌ها. کاهش تعداد بردارها به یک‌چهارم حجم اصلی (۱۱.۲ گیگابایت) تنها امتیاز را به ۰.۸۹۹۱ کاهش داد. نصف کردن تعداد بردارها تنها ۰.۰۰۳۳ در NDCG@10 هزینه داشت.
۲. کوانتیزاسیون (Quantization): پیاده‌سازی fast-plaid با کوانتیزاسیون باقی‌مانده ۱ بیتی، شناسه‌های مرکزیت ۱۷ بیتی فشرده و شناسه‌های سند ۱۸ بیتی. این کار حجم ایندکس را به ۳.۳۷ گیگابایت (کاهش ۱۳ برابری) رساند در حالی که دقت ۰.۸۹۸۴ در NDCG@10 حفظ شد.

آموزش و تنظیم دقیق مدل‌های جاسازی چندبرداری با Sentence Transformers

هرس کردن بیشتر می‌تواند حجم را به ۱.۴۵ گیگابایت (حفظ ۴۲٪ بردارها) برساند که حتی از بردار‌های fp16 مدل Qwen3-Embedding-8B (۱.۶۴ گیگابایت) کوچک‌تر است، در حالی که امتیاز ۰.۰۸۹۵ بالاتری می‌گیرد.

تحلیل تحریریه

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

برای متخصصان، این موضوع سد ورود را پایین می‌آورد. شما دیگر برای ساخت یک بازیاب در سطح جهانی به کلاستر GPU نیاز ندارید؛ یک کارت گرافیک خانگی و چند ساعت آموزش می‌تواند اکنون مدل‌های بزرگ صنعت را شکست دهد. برای کسانی که بودجه کمتری دارند، آزمایش‌های مقیاس‌بندی نشان می‌دهد که ۱۰۰ هزار جفت داده (۷۵ دقیقه آموزش) به دقت ۰.۰۱۲ در NDCG@10 نسبت به اجرای کامل با یک میلیون جفت می‌رسد.

برای شروع پیاده‌سازی، توسعه‌دهندگان باید مستندات نسخه ۶.۰ Sentence Transformers را بررسی کنند و MultiVectorEncoder را روی مجموعه‌داده‌های تخصصی خود تست کنند.

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

این رویکرد تخصص در معماری را بر تعداد پارامترها اولویت می‌دهد و هزینه ساخت سیستم‌های بازیابی دقیق را به‌شدت کاهش می‌دهد. اعتبار این ادعا با نتایج محک MIRIAD تأیید شده که نشان می‌دهد مدل‌های کوچک تنظیم‌شده، مدل‌های عظیم عمومی را در دقت بازیابی شکست می‌دهند.

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

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

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

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

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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