کارخانه مدل باز: عملیات برای هوش مصنوعی متن‌باز

ت

تیم ژرف ای‌آی

۷ تیر ۱۴۰۵به‌روزرسانی ۸ مرداد ۱۴۰۵۱۲ دقیقه مطالعه
کارخانه مدل باز: عملیات برای هوش مصنوعی متن‌باز

دانلود وزن مدل، مدل عملیاتی نیست. تیم تولید باید بداند چه چیزی، تحت چه شرایطی، از چه ناشری، با کدام فرایند ساخت، وابستگی، نتیجه ارزیابی، کنترل امنیتی و مسیر بازگشت دریافت کرده است.

نخستین انضباط، واژگان است. «متن‌باز»، «وزن باز»، «source available» و «قابل دانلود» مترادف نیستند. تعریف Open Source AI نسخه ۱٫۰ از Open Source Initiative آزادی استفاده، مطالعه، اصلاح و اشتراک را بیان می‌کند و صورت ترجیحی اصلاح را شامل اطلاعات داده، کد و پارامتر تحت شرایط واجد صلاحیت می‌داند. انتشاری که وزن را با محدودیت استفاده منتشر یا کد و اطلاعات داده لازم را حذف می‌کند شاید مفید باشد، اما باید دقیق طبقه‌بندی شود.

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

پیش از اجرای مصنوع، پرونده مدل بسازید

هر مدل بیرونی را سامانه‌ای اکتساب‌شده از نرم‌افزار و داده بدانید. پرونده تغییرناپذیر را با هش دقیق مدل کلید کنید، نه برچسب متغیری مانند latest.

پرونده باید شامل این موارد باشد:

  • پروژه بالادستی، هویت ناشر، مخزن و نشانی انتشار؛
  • هش دقیق وزن، tokenizer، پیکربندی، adapter و کد؛
  • معماری، تعداد پارامتر، حد زمینه، modality، زبان و chat template؛
  • مجوز یا شرایط کد، وزن، داده، tokenizer و دارایی همراه؛
  • محدودیت استفاده قابل قبول و قید حوزه قضایی یا صنعتی؛
  • اطلاعات داده آموزش، موارد حذف‌شده و افشای منشأ؛
  • lineage مدل پایه و adapter؛
  • runtime، driver، kernel، کتابخانه، image کانتینر و سخت‌افزار لازم؛
  • model card، روش ارزیابی، مصنوع خام نتیجه و محدودیت شناخته‌شده؛
  • هشدار امنیتی، نیاز remote code، اسکن آسیب‌پذیری و تصمیم بازبینی؛
  • بازبین واردکننده، دامنه تأیید، تاریخ بازبینی و مالک عملیاتی.

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

SPDX 3.0.1 نقطه انطباق AI Profile برای موجودی اجزای نرم‌افزاری و وابستگی‌های مرتبط با مدل و سامانه AI/ML دارد و Dataset Profile فراداده مجموعه داده را پوشش می‌دهد. این پروفایل‌ها به تبادل موجودی ساختاریافته کمک می‌کنند؛ انطباق با یکی، انطباق با دیگری یا کامل‌بودن موجودی را ثابت نمی‌کند.

فایل مدل ورودی اجرایی زنجیره تأمین است

مصنوع نامطمئن را فقط برای اینکه ببینید کار می‌کند روی میزبان تولید بار نکنید. بعضی قالب‌های serialization هنگام deserialization کد اجرا می‌کنند. مستندات امنیت pickle در Hugging Face هشدار می‌دهد محتوای مخرب pickle می‌تواند اجرای کد دلخواه ایجاد کند.

مسیر اکتساب ایزوله بسازید:

  1. انتشار را به هش تغییرناپذیر resolve کنید؛
  2. از مسیر egress کنترل‌شده دانلود کنید؛
  3. هش مورد انتظار و، در صورت وجود، امضا و attestation را راستی‌آزمایی کنید؛
  4. archive، وابستگی، فایل serialized و کد همراه را بدون اجرا اسکن کنید؛
  5. پیکربندی را برای remote code، kernel سفارشی، دسترسی شبکه و import پویا ببینید؛
  6. قالب ناامن را فقط در sandbox موقت و محدود به شبکه تبدیل کنید؛
  7. مصنوع داخلی جدید با هش، منشأ و رکورد بازبینی خودش بسازید؛
  8. فقط به registry داخلی قرنطینه منتشر کنید؛
  9. پس از عبور گیت امنیت و ارزیابی promote کنید.

قالب داده‌محور مانند safetensors را در صورت پشتیبانی ترجیح دهید، اما پسوند فایل را اثبات ایمنی ندانید. مخزن، کد tokenizer، اپراتور سفارشی، کانتینر و loader همچنان ممکن است مخرب یا آسیب‌پذیر باشد. trust_remote_code را پیش‌فرض خاموش کنید. اگر کاربرد واقعاً آن را می‌خواهد، revision دقیق کد را pin، بازرسی و با کمترین اختیار و بدون شبکه و secret غیرضروری اجرا کنید و استثنا را ثبت کنید.

مستندات Cosign در Sigstore یک گزینه پیاده‌سازی برای راستی‌آزمایی کانتینر و blob امضاشده است. منشأ SLSA اطلاعات قابل راستی‌آزمایی درباره کجا، چه زمانی و چگونه ساخته‌شدن مصنوع نرم‌افزاری را شرح می‌دهد. این سازوکارها هویت مصنوع و ادعای build را برقرار می‌کنند؛ کیفیت یا رفتار بی‌خطر مدل را ثابت نمی‌کنند.

NIST SP 800-218A چارچوب توسعه امن نرم‌افزار را با رویه‌های مخصوص مدل مولد و foundation دوکاربردی گسترش می‌دهد. برای تولیدکننده، خریدار و استفاده‌کننده مدل مرتبط است و باید همراه SSDF پایه اجرا شود، نه اینکه نشان checklist مخصوص مدل تلقی شود.

bundle سرویس را بازتولید کنید، نه فقط وزن را

وزن یکسان با tokenizer، chat template، system prompt، پیش‌فرض تولید، روش کوانتیزه‌سازی، runtime، kernel، ترتیب adapter یا شمای ابزار متفاوت می‌تواند رفتار متفاوت داشته باشد. واحد قابل استقرار باید کل bundle سرویس را pin کند.

manifest انتشار باید شامل این موارد باشد:

model_digest
tokenizer_digest
configuration_digest
chat_template_digest
adapter_digests_and_order
quantization_recipe_and_calibration_set
runtime_and_container_digest
driver_and_kernel_compatibility
prompt_policy_version
tool_schema_version
safety_filter_versions
evaluation_suite_digest

bundle را در خط لوله کنترل‌شده بسازید و منشأ تولید کنید. بازسازی محیط از notebook پراکنده بازتولیدپذیری نیست. rollback به مصنوع، پیکربندی، runtime، image وابستگی و migration داده قدیمی نیاز دارد؛ نه فقط نام مدل قبلی.

برای کاربرد پرریسک، بازتولیدپذیری را در دو سطح بسنجید. بازتولید استقرار یعنی bundle مصوب در صورت امکان byte-for-byte بازساخته یا بازیابی شود. بازتولید رفتار یعنی مجموعه ارزیابی ثابت با وجود تولید غیردترمینیستیک در تلورانس مشخص بماند. seed و sampling را ثبت کنید، اما بدون راستی‌آزمایی متن یکسان روی سخت‌افزار یا kernel متفاوت وعده ندهید.

گردش‌کار، زبان و حالت شکست را ارزیابی کنید

leaderboard عمومی ابزار کشف است. به‌ندرت پرامپت تولید، مجوز ابزار، زبان، نویز سند، بودجه تأخیر یا مدل آسیب را بازتاب می‌دهد. مجموعه انتشار نسخه‌دار از داده مجاز و نماینده بسازید و holdout قفل‌شده نگه دارید.

بسنجید:

  • صحت وظیفه و دقت فیلد حیاتی؛
  • فارسی، انگلیسی، code-switching، لهجه و گونه نوشتاری تولید؛
  • groundedness، پشتیبانی ارجاع و امتناع؛
  • صحت خروجی ساختاریافته و فراخوان ابزار؛
  • jailbreak، تزریق پرامپت، خروج داده و مرز اختیار؛
  • محتوای ناامن و slice گروه‌های حفاظت‌شده مرتبط با کاربرد؛
  • زمینه بلند، اثر موقعیت و شاهد متعارض؛
  • تأخیر p50/p95، زمان نخستین توکن، throughput، حافظه، انرژی و هزینه؛
  • شکست در هم‌زمانی، قطع وابستگی و سخت‌افزار degraded.

برای نسبت‌ها فاصله اطمینان یا اندازه نمونه گزارش کنید. عبور ۱۰۰ درصد روی ۱۲ حالت معادل ۹۹٫۸ درصد روی ده هزار حالت نیست. خروجی خام و نسخه evaluator را نگه دارید. اگر LLM judge دارید، آن را با برچسب کور انسانی کالیبره کنید و داور تنها ایمنی پراثر نباشد.

مقاله اصلی Model Cards مستندسازی کاربرد مورد نظر، شرایط ارزیابی و عملکرد در گروه و شرایط مرتبط را پیشنهاد کرد. model card شاهد مفیدی است، نه جایگزین ارزیابی انتشار توسط خریدار.

راهنمای ارزیابی مدل مرزی مجموعه انتشار و عدم قطعیت را عمیق‌تر پوشش می‌دهد. دسترسی باز، حد شاهد را پایین نمی‌آورد.

راهبرد سرویس را از تقاضای اندازه‌گیری‌شده انتخاب کنید

self-hosting کنترل مرز داده، runtime، scaling و زمان نسخه را می‌دهد. در عوض برنامه ظرفیت، patch، مشاهده‌پذیری، پاسخ رخداد و on-call را به اپراتور منتقل می‌کند.

روی توزیع واقعی طول پرامپت، خروجی، هم‌زمانی و SLO معیار بگیرید. اندازه بگیرید:

  • زمان شروع replica و بارگذاری مدل؛
  • زمان نخستین توکن گرم و سرد؛
  • throughput decode و تأخیر p95؛
  • حاشیه حافظه و بازیابی out-of-memory؛
  • انصاف scheduler میان tenant و درخواست بلند؛
  • رفتار اشباع و رهاشدن صف؛
  • کیفیت و سرعت پس از کوانتیزه‌سازی؛
  • زمان failover، scale-up، scale-down و rollback؛
  • هزینه و انرژی کار موفق با احتساب ظرفیت بیکار.

پردازش batch، چت تعاملی، retrieval و استفاده ابزاری عامل بارکاری متفاوت‌اند. تنظیمی که throughput آفلاین را بیشینه می‌کند ممکن است تأخیر تعاملی را بشکند. endpoint مشترک بزرگ شاید کارآمد باشد اما ریسک جداسازی داده یا noisy neighbor بسازد.

وقتی یک مدل برای همه حالت‌ها مناسب نیست از مسیریابی مدل استفاده کنید. از سیگنال آزموده‌شده وظیفه و ریسک مسیر بدهید، fallback نگه دارید و سیاست را نسخه‌دار کنید. نگذارید مدل فقط با self-confidence خودش را انتخاب کند.

fine-tuning یک lineage محصول تازه می‌سازد

adapter یا checkpoint تنظیم‌شده تغییر کوچک پیکربندی نیست. مصنوعی تازه با تعهد داده، رفتار و سطح حمله جدید می‌سازد.

برای هر آموزش ثبت کنید:

  • هدف مصوب و مجوز مالک داده؛
  • snapshot داده، قاعده ورود و خروج، dedup، برچسب و رضایت یا مبنای قانونی؛
  • داده حساس، redaction، نگهداری و انتشار حذف؛
  • هش مدل پایه و همه ancestorهای adapter؛
  • کد آموزش، hyperparameter، seed، framework و سخت‌افزار؛
  • checkpoint، optimizer state در صورت حفظ، metric و لاگ شکست؛
  • آزمون آلودگی داده و نشت benchmark؛
  • ارزیابی ایمنی و رگرسیون در برابر مدل پایه؛
  • تصمیم بازبین و هش نهایی promote‌شده.

موجودیت آموزش، validation و test را جدا کنید تا نشت نشود. وقتی کاربر حذف می‌خواهد، مشخص کنید پاسخ حذف داده از اجرای آینده، آموزش دوباره adapter، machine unlearning یا سازوکار دیگر است؛ القا نکنید حذف ردیف منبع وزن آموزش‌دیده را خودکار ویرایش می‌کند.

داده مصنوعی نیز lineage می‌خواهد. مولد، پرامپت منبع، فیلتر و نسبت را ثبت کنید. می‌تواند پوشش را گسترش دهد اما artifact مدل را تقویت یا پاسخ benchmark را نشت دهد.

ارتقا یک migration با canary است

revision تازه بالادستی می‌تواند شرایط مجوز، tokenizer، معماری، chat template، رفتار ایمنی یا نیاز سخت‌افزار را عوض کند. branch متغیر upstream را خودکار promote نکنید.

فرایند ارتقا باید:

  1. پرونده تازه باز و شرایط، مصنوع، وابستگی و افشا را diff کند؛
  2. از مسیر قرنطینه دریافت و اسکن کند؛
  3. آزمون سازگاری و رگرسیون کامل اجرا کند؛
  4. bundle جدید را زیر بار واقعی benchmark کند؛
  5. ترافیک shadow بدون اثر بر کاربر اجرا کند؛
  6. segment کوچک مجاز را با شرط توقف canary کند؛
  7. کیفیت، ایمنی، تأخیر، ظرفیت، هزینه و انرژی را مقایسه کند؛
  8. درحالی‌که هش قبلی قابل استقرار است تدریجی گسترش دهد؛
  9. فقط پس از پنجره مشاهده و مرور رخداد بسته شود.

فقط میانگین thumbs-up را مقایسه نکنید. slice شکست حیاتی، تغییر امتناع، رفتار ابزار، ادعای بی‌پشتوانه و بار اصلاح را ببینید. وصله امنیتی upstream شاید rollout سریع بخواهد، اما همچنان آزمون سازگاری محدود و rollback لازم است.

مثال عملی: دستیار پشتیبانی خصوصی دوزبانه

شرکتی را تصور کنید که مدل بازی برای دستیار پشتیبانی فارسی-انگلیسی با retrieval و ابزار فقط‌خواندنی حساب انتخاب می‌کند.

سه نامزد وارد مسیر اکتساب می‌شوند. نامزد A معیار چندزبانه قوی اما شرایط استفاده محدود دارد. B وزن و کد را منتشر می‌کند اما remote custom code می‌خواهد و شاهد فارسی ضعیف دارد. C طبق طبقه‌بندی تیم واجد open source و دارای مجموعه مصنوع کامل است، اما برای جاگرفتن روی سخت‌افزار موجود به کوانتیزه‌سازی نیاز دارد.

تصمیم مسابقه زیبایی نیست. تیم برای revision دقیق هر نامزد پرونده می‌سازد، طبقه‌بندی حقوقی می‌گیرد، مصنوع را اسکن و تبدیل می‌کند و مجموعه نماینده را می‌سنجد:

  • تیکت فارسی و انگلیسی، عدد ترکیبی، تاریخ و نام محصول؛
  • پشتیبانی پاسخ با دانش مجاز؛
  • امتناع درست برای حقیقت حساب گم‌شده؛
  • فراخوان فقط‌خواندنی معتبر و مقاومت در برابر دستور تزریق‌شده ابزار؛
  • حریم خصوصی و جداسازی میان tenant؛
  • تأخیر p95 در اوج هم‌زمانی؛
  • حافظه و انرژی به‌ازای حل پذیرفته‌شده؛
  • نرخ اصلاح و escalation انسانی.

نامزد C فقط وقتی برنده است که bundle کوانتیزه کف کیفیت و هدف سرویس را پاس کند. تیم همان هش داخلی را منتشر می‌کند، نه tag بالادستی. trace هر پاسخ bundle مدل، منبع بازیابی، نتیجه ابزار، نسخه سیاست و سرنوشت نهایی را ثبت می‌کند. ارتقای بعدی همان حالت‌ها را replay و canary اجرا می‌کند.

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

گیت انتشار و کنترل تولید

هیچ bundle پیش از عبور این گیت‌ها به تولید نمی‌رود:

حقوق و طبقه‌بندی: شرایط حفظ شده؛ کاربرد و بازتوزیع مصوب است؛ برچسب «متن‌باز» یا «وزن باز» دقیق است.

یکپارچگی و منشأ: همه مصنوعات با هش pin هستند؛ امضا یا attestation ارائه‌شده راستی‌آزمایی شده؛ رد ساخت و promote داخلی کامل است.

امنیت: serialization ناامن و remote code بسته یا صریح sandbox شده؛ وابستگی و کانتینر اسکن شده؛ secret و شبکه کمترین اختیار را دارد.

کیفیت و ایمنی: آستانه وظیفه، زبان، grounding، خروجی ساختاریافته، سوءاستفاده و مرز ابزار با نمونه کافی پاس شده است.

عملکرد و ظرفیت: تأخیر، throughput، حافظه، بازیابی شکست، انرژی و هزینه در بار واقعی envelope سرویس را پاس می‌کنند.

عملیات: مالک، هشدار، runbook، مسیر رخداد، bundle قبلی، rollback آزموده و برنامه deprecation وجود دارد.

هش مدل و bundle، مسیر، نسخه پرامپت و سیاست، slice خطا، سیگنال خروجی ناامن، پشتیبانی ارجاع، رد ابزار، تأخیر p95، عمق صف، حافظه GPU، هزینه و انرژی کار پذیرفته، patch lag و زمان rollback را پایش کنید. برای drift پیکربندی از manifest مصوب هشدار بگذارید.

پرسش‌های رایج

آیا وزن قابل دانلود متن‌باز است؟

لزوماً نه. کد، اطلاعات داده، پارامتر و شرایط را نسبت به طبقه‌بندی مورد استفاده بررسی کنید. «وزن باز» اغلب برچسب دقیق‌تری است.

آیا مدل با safetensors امن است؟

خیر. قالب وزن داده‌محور یک ریسک deserialization را کم می‌کند. کد مخزن، loader، kernel سفارشی، کانتینر، وابستگی و رفتار مدل همچنان نیازمند بازبینی است.

آیا model card بالادستی قابل اعتماد است؟

آن را شاهد تأمین‌کننده بدانید. آزمون مرتبط را در صورت امکان بازتولید و ارزیابی مخصوص استقرار را روی زبان، وضعیت داده، ابزار و ریسک خود اجرا کنید.

آیا self-hosting حریم خصوصی را تضمین می‌کند؟

خیر. تله‌متری، لاگ، crash report، دانلود مدل، دسترسی پشتیبانی، vector store و ابزار همچنان می‌تواند داده بفرستد یا افشا کند. مسیر کامل داده را ترسیم و آزمون کنید.

چه زمانی fine-tune کنیم؟

فقط پس از ارزیابی پرامپت، retrieval، اعتبارسنجی قطعی و routing. وقتی شکاف رفتاری پایدار باقی مانده و داده و lineage جدید را می‌توانید حاکمیت کنید تنظیم کنید.

کوچک‌ترین واحد rollback چیست؟

کل bundle سرویس: وزن، tokenizer، پیکربندی، adapter، runtime، پرامپت و سیاست، شمای ابزار و زیرساخت سازگار. rollback وزن به‌تنهایی شاید رفتار را بازنگرداند.

مدل باز می‌تواند وابستگی به یک فروشنده را کم و بازرسی، بومی‌سازی و استقرار خصوصی را ممکن کند. مهندسی محصول را حذف نمی‌کند. تیمی کنترل پایدار می‌گیرد که کارخانه مدل امضاشده، ارزیابی‌شده و بازتولیدپذیر اداره کند؛ نه پوشه‌ای از checkpointهای دانلودشده.

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

منابع بررسی‌شده و جاری تا ۳۰ ژوئیه ۲۰۲۶:

#هوش مصنوعی متن‌باز#عملیات مدل#LLMOps#استقرار

مطالب مرتبط

ادامه مطالعه

گزارش روزانه و راهنماهای عملیاتی ژرف را ببینید. این صفحه یک آرشیو موضوعی است، نه دعوت به شروع پروژه.