Phase 17: Infrastructure & Production

کاهش شروع سرد برای LLM بدون سرور

یک تصویر مدل 20 جی بی 5 تا 10 دقیقه (7B) تا 20+ دقیقه (70B) طول می کشد تا از سرد به خدمت برسد. در دنیای واقعی بدون سرور، این گرمایش نیست، این یک قطع برق است. کاهش ها در پنج لایه عمل می کنند: تصاویر گره های پیش از زراعت (Bottlerocket در AWS، دو حجم قوس) ، جریان مدل (NVIDIA Run:ai Model Streamer، بومی vLLM) ، عکس های حافظه GPU (پایان کنترل مدل، تا 10 برابر سریع تر دوباره شروع) ، استخر های گرم (min_workers=1), بارگذاری طبقه بندی شده (نویم→DRAM→HBM لوله سرورlessLLM، کاهش تاخیر 10-200x) و مهاجرت زنده که توکن های ورودی (KB) را به جای کیش KV (GB) حرکت می دهد. Modal 2-4s سرد را به عنوان یک طبقه منتشر می کند.

Type: Learn

Languages: Python (stdlib, toy cold-start path simulator)

Prerequisites: Phase 17 · 02 (Inference Platform Economics), Phase 17 · 03 (GPU Autoscaling)

Time: ~60 minutes

اهداف یادگیری

  • پنج لایه کاهش شروع سرد را ذکر کنید و در هر لایه یک ابزار یا الگوی را نام ببرید.
  • زمان شروع سرد را به صورت مجموعی (مدد نوید) + (وزن دانلود) + (وزن بارگذاری به HBM) + (موتور آغاز) برای مدل 70B محاسبه کنید.
  • توضیح دهید که چرا مهاجرت زنده توکن های ورودی (KB) را نه KV cache (GB) را انتقال می دهد و مجازات چیست (عکس بندی).
  • نام معامله گرم (پای GPU بیکار یا قبول دم شروع سرد) و حد SLA را که در آن min_workers > 0به عنوان یک قانون اجباری

مشکل

در ساعت 8 صبح، ترافیک بالا میره، اولین درخواست منتظر است تا:

  1. کارپنتر يک گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گپ گ
  2. ظرف یک تصویر 30 گیگابایت با وزن 120 تا 300 عدد را می کشد.
  3. موتور وزن ها را به HBM بار می زند: 45-120s بسته به اندازه مدل و سرعت ذخیره سازی.
  4. vLLM یا TRT-LLM نمودار CUDA را شروع می کند، ذخایر حافظه KV، توکن: 10-30s.

کل: 220-510 (تقریباً 3-8 دقیقه) قبل از اینکه یک توکن برگردد. SLA شما 2s است. شما یک حمام گرم (min_workers=1اگر سرویس شما دارای 5 محصول با یک نسخه گرم باشد، 5 × 24 × 30 = 3600 ساعت GPU در ماه، چه یک کاربر تماس گرفته باشد یا نه.

کاهش شروع سرد این است که چگونه اقتصاد بدون سرور را حفظ کنیم در حالی که تاخیر همیشه را نزدیک می کنیم.

مفهوم

لایه 1 تصاویر گره های پیش از زراعت (Bottlerocket)

در AWS، معماری دو حجم Bottlerocket OS را از داده ها جدا می کند. حجم داده را با تصویر کانتینر شما پیش از کشیدن به تصویر بگیرید.EC2NodeClass. گره های جدید با وزنه های موجود در NVMe محلی شروع می شوند مرحله 2 و بخشی از 3 ناپدید می شوند. با کارپنتر به صورت بومی کار می کند. پس انداز معمولی: 2-4 دقیقه در هر راه اندازی سرد برای مدل های بزرگ.

معادل در GCP: تصاویر VM سفارشی با لایه های کانتینر پیش پخته شده. در Azure: عکس های سریع دیسک مدیریت شده با الگوی مشابه.

لایه 2 مدل جریان (Run:ai Model Streamer)

به جای بارگذاری فایل کامل قبل از پاسخ به اولین درخواست، وزن ها را به لایه به لایه حافظه GPU جریان دهید و به محض اینکه اولین بلوک ترانسفورماتور مستقر شود پردازش را شروع کنید. NVIDIA Run:ai Model Streamer در vLLM 2026 بومی می شود. با S3 ، GCS و NVMe محلی کار می کند. زمان بار وزن را تقریباً در مدل های بزرگ با تعبیه I / O با تنظیمات محاسبات به نصف کاهش می دهد.

لایه 3 عکس های حافظه GPU (Modal)

Modal پس از بارگذاری اول نقطه چک حالت GPU را (وزن، نمودار CUDA، منطقه cache KV) می گیرد. بازخورد بعدی مستقیماً به HBM 10 برابر سریعتر از بازخورد. این نزدیک ترین چیز برای "بازخورد یک GPU گرم در 2 ثانیه" است.

لایه 4 استخر های گرم (min_workers=1)

ساده ترین کاهش: همیشه یک نسخه را آماده نگه دارید. هزینه یک GPU 24x7 است. حسابداری در مدل های کوچک وحشیانه است (شما پرداخت می کنید $0.85-$1.50/ساعت برای جلوگیری از شروع سرد 30s) و مهربان به بزرگ (در برابر 4 $ /ساعت برای جلوگیری از شروع سرد 5 دقیقه) . حد SLA که در آن استخر های گرم تبدیل به اجباری: به طور معمول TTFT P99 < 60s در مدل 70B +.

لایه 5 بارگذاری طبقه بندی شده (ServerlessLLM)

ServerlessLLM به عنوان یک سلسله مراتب ذخیره سازی: NVMe (سرعانه اما بزرگ) ، DRAM (متوسط اما طبقه بندی شده) ، HBM (مختصر اما فوری) برخورد می کند. وزن ها به DRAM از قبل بارگذاری می شوند؛ بارگذاری در مورد تقاضا به HBM. کاغذ گزارشات کاهش تاخیر 10-200x در بار سرد در مقایسه با دیسک ساده به HBM. پذیرش تولید زود است اما ادغام با vLLM وجود دارد.

لایه 6 مهاجرت زنده (نمونه پاداش)

هنگامی که یک گره در دسترس نیست (خروجی نقطه، تخلیه گره) ، الگوی سنتی شروع سرد یک نسخه دیگر و تخلیه صف درخواست است. مهاجرت زنده توکن های ورودی (کلو باایت) را به یک مقصد منتقل می کند که مدل بارگذاری شده است و حافظه کش KV را در مقصد دوباره محاسبه می کند. محاسبه مجدد ارزان تر از انتقال GB از حافظه کش KV بر روی شبکه است. قابل استفاده برای انتشار تجزیه شده است.

ریاضیات حومه گرم

برای یک سرویس با P99 TTFT SLA از 2s، سوال "بله گرم بله / نه" نیست بلکه "چقدر نسخه گرم و کدام مسیرها آنها را دریافت می کنند".

  • مسیرهای تعاملی با ارزش بالا (چات زنده، نماینده صوتی): min_workers=1-2. .
  • مسیرهای پس زمینه (صنفیات شبانه): مقیاس تا صفر پذیرفته شده، 5-10 دقیقه شروع سرد قابل تحمل است.
  • سطح برتر: min_workersهر مستاجر با ظرفیت اختصاصی.

اندازه گیری قبل از بهینه سازی

آناتومی شروع سرد برای مدل 70B در یک گره تازه (بر تصویر):

PhaseTimeMitigation
Node provision50sBottlerocket + pre-seeded image, warm pool
Image pull180sPre-seeded data volume (eliminate)
Weights to HBM75sModel streamer (halve); GPU snapshot (eliminate)
Engine init20sPersistent CUDA graph cache
First forward3sMin inherent latency
Total cold328s
Total with mitigations~15s22x reduction

شماره هایی که باید به یاد داشته باشی

  • شروع سرد مودالی: ۲ تا ۴ ثانیه (با عکس های GPU).
  • باستین افتراض سرد: ۵ تا ۱۰ ثانیه؛ زیر ثانیه با پیش گرم کردن.
  • شروع سرد 70B خام: 3-8 دقیقه
  • مدل Streamer: ~ 2x سرعت بار وزن
  • بارگذاری درجه بندی ServerlessLLM: کاهش تاخیر 10-200 برابر (نمره کاغذ).

ازش استفاده کن

code/main.pyمدل مسیر شروع سرد با و بدون هر کاهش را گزارش می کند. کل زمان شروع سرد، هزینه حمام گرم و نرخ درخواست تعادل که بیش از آن حمام گرم برای خود پرداخت می کند.

-باده

این درس به ما کمک می کندoutputs/skill-cold-start-planner.mdبا توجه به SLA، اندازه مدل و شکل ترافیک، انتخاب کند که کدام کاهش دهنده ها را جمع آوری کند.

تمرینات

  1. فرار کنcode/main.py. نرخ درخواست بروک همبستگی را محاسبه کنید که بالاتر از آن یک نسخه گرم ارزان تر از پرداخت مالیات شروع سرد با کاهش درخواست اضافی در SLO است.
  2. شما یک مدل 13B با P99 TTFT SLA از 3s استفاده کنید. حداقل تخفیف را انتخاب کنید که آن را به دست آورد.
  3. پیش بینی بوتل راکت باعث حذف کشش تصویر می شود اما وزن ها هنوز از عکس به HBM بار می شوند. ساعت دیواری را برای مدل 70B محاسبه کنید اگر NVMe پشتیبان از عکس در 7 GB / s خوانده شود.
  4. ارائه دهنده بدون سرور شما تصاویر فوری GPU (Modal) را ارائه می دهد و تیم شما از آن انکار می کند زیرا "تصاویر به طور مستقیم PII را از بین می برند".
  5. یک سیاست گرم استخر طبقه بندی شده طراحی کنید: چند نسخه گرم برای کاربران پرداخت شده، کاربران آزمایشی و بار کار دسته ای؟ ریاضیات را نشان دهید.

اصطلاحات کلیدی

TermWhat people sayWhat it actually means
Cold start"the big pause"Time from request to first token on a fresh replica
Warm pool"always-on minimum"min_workers >= 1 to keep at least one replica ready
Pre-seeded image"baked AMI"Node image with container weights pre-resident
Bottlerocket"AWS node OS"AWS container-optimized OS with dual-volume snapshot support
Model streamer"streaming load"Overlap weights I/O with compute setup
GPU snapshot"checkpoint to HBM"Serialize post-load GPU state; deserialize on restart
Tiered loading"NVMe + DRAM + HBM"Hierarchy of storage tiers; load on demand
Live migration"move tokens"Transfer input (KB), recompute KV on destination
min_workers"warm replicas"Serverless minimum keep-alive count
Scale-to-zero"full serverless"No cost when idle; accept full cold-start tax

خواندن بیشتر

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.