Phase 17: Infrastructure & Production

सर्वरलेस LLM के लिए शीत प्रारंभ में कमी

20 जीबी मॉडल छवि को ठंडा से सेवा करने में 5-10 मिनट (7 बी) से 20+ मिनट (70 बी) का समय लगता है। एक सच्ची सर्वरलेस दुनिया में, यह एक वार्मिंग नहीं है यह एक आउटेज है। कम करने के पांच परतों पर काम करते हैंः पूर्व-बुना नोड छवियों (AWS पर बोतलरोकेट, दो-खंड आर्क), मॉडल स्ट्रीमिंग (NVIDIA Run:ai मॉडल स्ट्रीमर, vLLM में मूल), GPU स्मृति स्नैपशॉट (मोडल चेकपॉइंट, 10 गुना तक तेजी से पुनरारंभ), गर्म पूल (min_workers=1), स्तरित लोडिंग (सर्वरलेसएलएलएम की एनवीएम→डीआरएएम→एचबीएम पाइपलाइन, 10-200x विलंबता में कमी), और लाइव माइग्रेशन जो कि केवी कैश (जीबी) के बजाय इनपुट टोकन (केबी) को स्थानांतरित करता है। मॉडल एक तल के रूप में 2-4s कोल्ड स्टार्ट प्रकाशित करता है; बेसटेन 5-10s डिफ़ॉल्ट, प्री-थर्मिंग के साथ उप-दूसरा। यह पाठ आपको पांच परतों को मापने, बजट करने और ढेर करने के लिए सिखाता है।

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

सीखने के लक्ष्य

  • शीत प्रारंभ में कमी के पांच परतों को सूचीबद्ध करें और प्रत्येक परत पर एक उपकरण या पैटर्न का नाम दें।
  • 70B मॉडल के लिए कुल शीत प्रारंभ समय को (नोड प्रावधान) + (वेट डाउनलोड) + (वेट लोड HBM में) + (इंजन init) के योग के रूप में गणना करें।
  • बताएं कि लाइव माइग्रेशन में इनपुट टोकन (KB) क्यों स्थानांतरित किए जाते हैं और KV कैश (GB) क्यों नहीं और दंड क्या है (पुनः गणना) ।
  • वार्म-पूल ट्रेडऑफ का नाम दें (निष्क्रिय GPU के लिए भुगतान करें या ठंडे स्टार्ट पूंछ स्वीकार करें) और SLA सीमा जिस पर min_workers > 0अनिवार्य हो जाता है।

समस्या

आपका सर्वरलेस LLM एंडपॉइंट रात भर शून्य तक बढ़ जाता है सुबह 8 बजे ट्रैफिक की बढ़त। पहला अनुरोध इंतजार करता है जबकिः

  1. कार्पेन्टर एक GPU नोड प्रदान करता हैः 45-60s.
  2. कंटेनर वजन के साथ 30 जीबी छवि खींचता हैः 120-300s.
  3. इंजन एचबीएम में भार भारः मॉडल आकार और भंडारण गति के आधार पर 45-120s।
  4. vLLM या TRT-LLM CUDA ग्राफ, KV कैश पूल, टोकनराइज़र को प्रारंभ करता हैः 10-30s।

कुलः 220-510s (लगभग 3-8 मिनट) एक टोकन वापस आने से पहले. आपका SLA 2s है. आप एक गर्म पूल भेज (min_workers=1) और समस्या गायब हो जाती है लगता है लेकिन अब आप एक निष्क्रिय GPU के लिए भुगतान करते हैं 24x7। अगर आपकी सेवा में 5 उत्पादों में से प्रत्येक एक गर्म प्रतिकृति के साथ है, तो यह 5 × 24 × 30 = 3,600 GPU-घंटे / महीने चाहे एक उपयोगकर्ता बुलाया या नहीं.

शीत प्रारंभ को कम करना यह है कि हमेशा-ऑन की लटेंसी के करीब आने के साथ सर्वरलेस अर्थव्यवस्था को कैसे बनाए रखा जाए।

अवधारणा

परत 1 पूर्व-बीज नोड छवियां (बॉटलेरोकेट)

AWS पर, Bottlerocket के दो-खंड वास्तुकला ओएस को डेटा से अलग करता है। अपने कंटेनर छवि के साथ डेटा मात्रा स्नैपशॉट पूर्व खींच लिया; अपने स्नैपशॉट आईडी का संदर्भ EC2NodeClass. नए नोड्स स्थानीय NVMe पर पहले से ही वजन के साथ बूट चरण 2 और भाग 3 गायब हो जाते हैं। कारपेन्टर के साथ मूल रूप से काम करता है। बड़े मॉडल के लिए सामान्य बचतः 2-4 मिनट प्रति ठंड स्टार्ट।

जीसीपी पर समकक्षः पूर्व-बक कंटेनर परतों के साथ कस्टम वीएम छवियां। Azure परः एक ही पैटर्न के साथ प्रबंधित डिस्क स्नैपशॉट।

परत 2 मॉडल स्ट्रीमिंग (Run:ai मॉडल स्ट्रीमर)

पहले अनुरोध का उत्तर देने से पहले पूरी फ़ाइल को लोड करने के बजाय, जीपीयू मेमोरी परत-पर-परत में स्ट्रीम वजन और प्रक्रिया शुरू करें जैसे ही पहला ट्रांसफार्मर ब्लॉक निवासी है। एनवीआईडीआईए रनःएआई मॉडल स्ट्रीमर vLLM 2026 में मूल रूप से जहाज करता है। एस 3, जीसीएस और स्थानीय एनवीएम के साथ काम करता है। बड़े मॉडल के लिए वजन-लोड समय को लगभग आधे में कम करता है।

परत 3 GPU स्मृति स्नैपशॉट (मोडल)

Modal पहले लोड के बाद GPU राज्य (वेट, CUDA ग्राफ, KV कैश क्षेत्र) का एक चेकपॉइंट लेता है। बाद में पुनः आरंभ करने की तुलना में 10 गुना तेजी से सीधे HBM में पुनः आरंभ होता है। यह "2 सेकंड में एक गर्म GPU को बूट करने" के लिए सबसे करीब है।

परत 4 गर्म पूल (min_workers=1)

सबसे सरल उपायः एक प्रतिकृति को हमेशा तैयार रखें। लागत एक GPU की घंटे दर 24x7 है। लघु मॉडल पर अंकगणित क्रूर है (आप भुगतान करते हैं $0.85-$1.50 / घंटा 30s ठंड शुरू से बचने के लिए) और बड़े लोगों के लिए दयालु (5 मिनट की ठंड शुरू से बचने के लिए $ 4 / घंटा का भुगतान करें) । SLA सीमा जहां गर्म पूल अनिवार्य हो जाते हैंः आमतौर पर 70B + मॉडल पर TTFT P99 < 60s।

परत 5 स्तरीय लोड (ServerlessLLM)

सर्वरलेसएलएलएम भंडारण को एक पदानुक्रम के रूप में मानता हैः एनवीएम (त्वरित लेकिन बड़ा), डीआरएएम (मध्यम लेकिन स्तरित), एचबीएम (छोटा लेकिन त्वरित) । वजन पहले से डीआरएएम में लोड किया जाता है; लोड-ऑन-डिमांड में एचबीएम में। पेपर ने ठंडे भारों पर 10-200 गुना विलंबता की कमी की रिपोर्ट की है।

परत 6 लाइव माइग्रेशन (बोनस पैटर्न)

जब एक नोड अनुपलब्ध हो जाता है (स्पॉट निकासी, नोड ड्रेन), पारंपरिक पैटर्न कोल्ड-स्टार्ट एक और प्रतिकृति और ड्रेन अनुरोध कतार है। लाइव माइग्रेशन इनपुट टोकन (किलोबाइट) को एक गंतव्य पर ले जाता है जिसमें मॉडल लोड हो गया है और गंतव्य पर KV कैश को पुनः गणना करता है। नेटवर्क पर GB के KV कैश को स्थानांतरित करने की तुलना में पुनः गणना सस्ती है। विखंडित तैनाती के लिए लागू।

गर्म पूल गणित

2s के P99 TTFT SLA के साथ सेवा के लिए, सवाल "गर्म पूल हाँ / नहीं" नहीं है, लेकिन "कई गर्म प्रतिकृति, और कौन से मार्ग उन्हें प्राप्त करते हैं।"

  • उच्च मूल्य वाले इंटरैक्टिव पथ (लाइव चैट, वॉयस एजेंट): 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

संख्याओं को याद रखना चाहिए

  • मोडल कोल्ड स्टार्टः 2-4 सेकंड (जीपीयू स्नैपशॉट के साथ) ।
  • बेसटन डिफ़ॉल्ट कोल्ड स्टार्टः 5-10s; प्री-थ्रॉइंग के साथ उप-दूसरा।
  • कच्चे 70 बी कोल्ड स्टार्टः 3-8 मिनट।
  • रनःएआई मॉडल स्ट्रीमरः ~ 2x वजन लोड गति।
  • सर्वरलेसLLM स्तरित लोडिंगः 10-200 गुना विलंबता में कमी (पेपर संख्याएं) ।

इसका प्रयोग करें

code/main.pyप्रत्येक कम करने के साथ और बिना एक शीत प्रारंभ पथ का मॉडल। यह कुल शीत प्रारंभ समय, वार्म पूल लागत और ब्रेक-ईव अनुरोध दर की रिपोर्ट करता है, जिसके ऊपर वार्म पूल खुद को भुगतान करता है।

इसे भेजें

यह सबक हमें फल देता हैoutputs/skill-cold-start-planner.md. SLA, मॉडल आकार और यातायात के आकार को देखते हुए, यह चुनता है कि कौन से मिट्याग को ढेर करना है।

व्यायाम

  1. दौड़ेंcode/main.py. SLO पर अतिरिक्त अनुरोध घटाने के माध्यम से शीत प्रारंभ कर का भुगतान करने की तुलना में गर्म प्रतिकृति के लिए सस्ती है, जो ब्रेक-ईव अनुरोध दर की गणना करें।
  2. आप 3s के P99 TTFT SLA के साथ एक 13B मॉडल तैनात. न्यूनतम mitigation ढेर (कम से कम परतों) कि इसे प्राप्त करने के लिए चुनें.
  3. बोतल शॉट प्री-सेडिंग छवि खींच को समाप्त करता है लेकिन वजन अभी भी स्नैपशॉट से एचबीएम तक लोड होता है। 70 बी मॉडल के लिए वॉल-घड़ी की गणना करें यदि स्नैपशॉट-बैक एनवीएम 7 जीबी / सेकंड पर पढ़ता है।
  4. आपका सर्वरलेस प्रदाता GPU स्नैपशॉट (मोडल) प्रदान करता है और आपकी टीम "स्नैपशॉट पिएआई लीक" के कारण इनकार करती है। दोनों पक्षों का तर्क है वास्तविक जोखिम क्या है, और कम करने के लिए क्या है (अस्थायी स्नैपशॉट, एन्क्रिप्शन, नामस्थान अलगाव)?
  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.