تنها یکی از ۳۳ ناحیه AWS Bedrock، یعنی us-west-2، به شما اجازه می‌دهد مدل ۷۰ میلیارد پارامتری Llama 3.3 را fine-tune کنید. توسعه‌دهندگان یا باید خط‌لوله‌های (pipelines) بین‌ناحیه‌ای را به هم متصل کنند یا با یک راهکار جایگزین دشوار دست‌وپنجه نرم کنند.

چرا این کشف اهمیت دارد

صفحه قیمت‌گذاری عمومی AWS هنوز هزینه‌های آموزش سری قدیمی‌تر Llama 2 را لیست می‌کند. خانواده‌های جدیدتر Llama 3.1 و 3.3 کاملاً نادیده گرفته شده‌اند. مهندسان ناچارند حدس بزنند کدام نواحی واقعاً از fine-tuning پشتیبانی می‌کنند، کارها چقدر در صف می‌مانند و آیا زمان بیکاری (idle time) مشمول هزینه می‌شود یا خیر.

اعداد و ارقام واقعی

  • us-west-2 – تنها ناحیه‌ای که fine-tuning مدل Llama 3.3 70B در آن کار می‌کند.
  • us-east-1 – فقط مدل‌های ساخته شده توسط Amazon؛ بدون امکان fine-tuning برای Llama یا Anthropic.
  • eu-west-2 (London) – تنها یک مدل غیر Llama را fine-tune می‌کند.
  • سایر نواحی – برای Llama 3.3 70B خطای “model not available” برمی‌گردانند.

اگر به یک مدل custom-tuned از Llama 3.3 70B نیاز دارید، کار را در us-west-2 اجرا کرده و داده‌ها را بین نواحی جابه‌جا کنید، یا مسیر “Custom Model Import” را امتحان کنید؛ که البته تلاش نویسنده در این مسیر با یک خطای سخت‌افزاری عمومی با شکست مواجه شد.

Custom Model Import: یک مسیر فرعی پرخطر

مستندات AWS ادعا می‌کنند که “Custom Model Import” می‌تواند وزن‌های (weights) زیر ۲۰۰ گیگابایت را به هر ناحیه‌ای، از جمله eu-central-1، منتقل کند. در واقعیت، تلاش‌ها برای وارد کردن Llama 3.3 70B (که بسیار بزرگتر از این مقدار است) مکرراً با یک “hardware error” مواجه شده است. در حال حاضر، امن‌ترین گزینه همان endpoint بومی fine-tuning در us-west-2 است.

دو ترفند برای صرفه‌جویی در هزینه (و حفظ آرامش ذهنی)

۱. به پرچم (flag) سطح بالای “InProgress” اعتماد نکنید. یک کار ممکن است ساعت‌ها با این وضعیت در صف مدیریت‌شده توسط AWS باقی بماند در حالی که هیچ پردازشی (compute) انجام نمی‌شود. صورت‌حساب تنها زمانی شروع می‌شود که فیلد تو در تو trainingDetails به وضعیت “Running” تغییر کند. برای جلوگیری از پرداخت هزینه بابت زمان بیکاری در صف، پرچم داخلی را بررسی کنید. ۲. صبر بر بی‌صبری پیروز است. یک کار آزمایشی ۲۳ ساعت در صف ماند و سپس آموزش بدون مشکل شروع و تمام شد. متوقف کردن (killing) آن و اجرای مجدد، آن را به انتهای صف فرستاد و زمان انتظار کل را طولانی‌تر کرد. زمان انتظار در صف رایگان است؛ هزینه زمانی شروع می‌شود که نمونه‌های (instances) GPU فعال شوند.

سایر درس‌های عملی

  • طرحواره‌های (schemas) مدل متفاوت هستند. Llama 3.3 و Llama 3.1 از اشیاء پیکربندی متمایزی استفاده می‌کنند. کپی کردن یک JSON schema از یک نسخه در نسخه دیگر، باعث بروز خطاهای اعتبارسنجی (validation errors) می‌شود، حتی اگر محدودیت‌هایی مانند طول توکن (token length) یکسان باشند.
  • نکاتی در مورد سهمیه (Quota). محدودیت مربوط به “Custom models with a creating status” اغلب بسیار کمتر از سهمیه کلی کارها است. اگر در حالی که کار قبلی هنوز وضعیت “creating” را نشان می‌دهد، با خطای “quota exceeded” مواجه شدید، قبل از اجرای کار جدید، ورودی قدیمی (stale entry) را حذف کنید.
  • هزینه ذخیره‌سازی انباشته می‌شود. هر checkpoint که fine-tune شده است، فضای ذخیره‌سازی S3 را اشغال می‌کند که با نرخ‌های استاندارد محاسبه می‌شود. رها کردن نسخه‌های قدیمی بدون تغییر، بدون اینکه ارزشی داشته باشند، صورت‌حساب ماهانه شما را افزایش می‌دهد.

خلاصه کلام

اگر پروژه شما به یک مدل fine-tuned از Llama 3.3 70B وابسته است، برنامه‌ریزی کنید که آن مرحله را در us-west-2 اجرا کنید، یا خود را برای آزمون و خطا با custom imports آماده کنید. وضعیت صف را در سطح دقیق (granular level) بررسی کنید، در برابر لغو کارهای طولانی‌مدت مقاومت کنید و استفاده از ذخیره‌سازی و سهمیه را به دقت زیر نظر بگیرید.