Local AI

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

پذیرش سریع مدل‌های زبانی بزرگ (LLM) از قابلیت‌های زیرساختی بسیاری از سازمان‌ها پیشی گرفته است. در حالی که APIهای ابری راحتی را فراهم می‌کنند، اغلب تأخیر، نگرانی‌های حریم خصوصی داده‌ها و هزینه‌های غیرقابل پیش‌بینی را به همراه دارند. Ollama به عنوان یک ابزار قدرتمند برای اجرای محلی LLMها ظاهر شده است، اما برای تیم‌های سازمانی، صرفاً داشتن یک نمونه محلی کافی نیست. شما به یک روش متمرکز، امن و نسخه‌دار برای مدیریت توزیع مدل‌ها در محیط‌های توسعه، آزمایشی (staging) و تولید نیاز دارید.

این راهنما بررسی می‌کند که چگونه می‌توان یک هاب توزیع مدل خصوصی و نسخه‌دار با استفاده از Ollama ساخت، تا تیم شما بتواند به‌طور قابل اعتماد LLMها را استقرار، به‌روزرسانی و بازگردانی (rollback) کند، بدون اینکه به مخازن عمومی متکی باشد.

چرا سازمان‌ها به یک ثبت مدل خصوصی نیاز دارند

مخازن عمومی مدل مانند Hugging Face یا کتابخانه پیش‌فرض Ollama برای آزمایش عالی هستند، اما برای استفاده در محیط تولید ریسک‌های قابل توجهی دارند:

  • حاکمیت داده: مدل‌های سفارشی‌سازی‌شده (fine-tuned) هرگز نباید شبکه داخلی شما را ترک کنند.
  • کنترل نسخه: برنامه‌های تولید به وزن‌های مدل خاص وابسته هستند. یک به‌روزرسانی خاموش می‌تواند برنامه شما را خراب کند.
  • کنترل دسترسی: هر توسعه‌دهنده‌ای نباید به مدل‌های حساس و مالکیت فکری دسترسی داشته باشد.
  • تکرارپذیری: اطمینان از اینکه مدلی که در QA اجرا می‌شود، دقیقاً مشابه مدلی است که در تولید اجرا می‌شود.

طراحی معماری ثبت مدل

Ollama از ارسال (push) و دریافت (pull) مدل‌ها از هر ثبتی که با OCI (سازمان ابداع کانتینر) سازگار باشد، پشتیبانی می‌کند. این بدان معناست که می‌توانید از ثبت‌های استاندارد کانتینر مانند Docker Hub، GitHub Container Registry (GHCR)، Amazon ECR یا راه‌حل‌های خودمیزبانی‌شده مانند Harbor استفاده کنید.

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

  1. سرور ثبت: یک ثبت Docker داخلی و امن (مثلاً Harbor).
  2. خط لوله ساخت: وظایف CI/CD که مدل‌ها را سفارشی‌سازی یا کمّی‌سازی (quantize) می‌کنند و با نسخه‌دهی معنایی (semantic versioning) آن‌ها را به ثبت ارسال می‌کنند.
  3. گره‌های کلاینت: لپ‌تاپ‌های توسعه‌دهندگان و سرورهای تولید که عامل‌های Ollama را اجرا می‌کنند و از ثبت دریافت می‌کنند.

پیاده‌سازی گام‌به‌گام

۱. شروع مدل محلی خود

اول، اطمینان حاصل کنید که یک مدل به‌صورت محلی در دسترس است. اگر از یک مدل سفارشی‌سازی‌شده استفاده می‌کنید، آن را به فرمت GGUF تبدیل و وارد کنید.

# شروع Ollama
ollama serve

# در یک ترمینال دیگر، مدل محلی خود را برای ثبت خصوصی تگ بزنید
# 'my-registry.internal' را با میزبان واقعی ثبت خود جایگزین کنید
ollama tag llama3:8b my-registry.internal/ai-team/llama3:8b-v1.0

۲. پیکربندی احراز هویت

بیشتر ثبت‌های سازمانی به احراز هویت نیاز دارند. Ollama این کار را از طریق متغیرهای محیطی یا مکانیزم ورود به سیستم استاندارد Docker انجام می‌دهد.

# ورود به ثبت خصوصی خود با استفاده از ابزار داخلی Ollama
# این کار اعتبارنامه‌ها را در پیکربندی Ollama ذخیره می‌کند
ollama login my-registry.internal
# نام کاربری: [sso-سازمانی-شما]
# رمز عبور: [توکن-api-شما]

۳. ارسال به ثبت خصوصی

پس از احراز هویت، مدل نسخه‌دار را به ثبت ارسال کنید. این عمل ایمن (idempotent) است و برای اجرا در خط لوله‌های CI/CD ایمن است.

ollama push my-registry.internal/ai-team/llama3:8b-v1.0

۴. دریافت و استقرار در گره‌های کلاینت

روی هر دستگاه توسعه‌دهنده یا سرور تولید، نسخه خاص را دریافت کنید. توجه داشته باشید که Ollama مدل‌ها را به‌صورت محلی در `~/.ollama/models` ذخیره می‌کند و یک کش محلی ایجاد می‌کند که می‌توان به‌صورت مستقل از آن مدیریت کرد.

# دریافت دقیق نسخه مورد نیاز برنامه شما
ollama pull my-registry.internal/ai-team/llama3:8b-v1.0

# اجرای مدل
ollama run my-registry.internal/ai-team/llama3:8b-v1.0 "سلام، تیم سازمانی."

بهترین روش‌ها برای نسخه‌دهی و حاکمیت

  • نسخه‌دهی معنایی: از `major.minor.patch` برای وزن‌های مدل استفاده کنید. `v1.0.0` برای یک سفارشی‌سازی جدید، `v1.0.1` برای رفع باگ در فرآیند کمّی‌سازی.
  • تگ‌های غیرقابل تغییر: هرگز تگ‌های موجود در ثبت خود را بازنویسی نکنید. از یک نرده حفاظتی CI/CD برای جلوگیری از ارسال به تگ‌های موجود استفاده کنید.
  • ذخیره‌سازی متادیتا: در حالی که Ollama به‌طور بومی متادیتای غنی را ذخیره نمی‌کند، یک رکورد JSON یا پایگاه داده جداگانه را نگه دارید که هر تگ مدل را به داده‌های آموزشی، هایپرپارامترها و معیارهای ارزیابی آن نگاشت می‌کند.
  • بخش‌بندی شبکه: اطمینان حاصل کنید که گره‌های Ollama تولید فقط می‌توانند از نام‌فضاهای خاص و تأییدشده در ثبت دریافت کنند.

نتیجه‌گیری

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

Share: