چیتشیت
مقایسهی پلتفرمهای ابری مدیریتشده و خودمیزبان
Managed Platforms and Self-Hosting Compared
انتخاب ابربزرگ، پلتفرم استنتاج یا موتور خودمیزبان. قیمتگذاری، تعیین اندازه و کاهش شروع سرد.
فهرست مطالب
مقایسهی رودرروی سه ابربزرگ (Hyperscaler)
مقایسه| شاخص | Bedrock | Azure OpenAI | Vertex AI |
|---|---|---|---|
| استراتژی | مارکتپلیس مدلها | مدلهای اختصاصی OpenAI | تمرکز اول روی Gemini |
| کاتالوگ | Claude، Llama، Titan، Mistral، Cohere | GPT، سری o، DALL·E، Whisper | Gemini به همراه Model Garden |
| میانه TTFT | حدود 75 میلیثانیه تقاضامحور (on-demand) | حدود 50 میلیثانیه با PTU | 60 میلیثانیه در main.py |
| ظرفیت اختصاصی | Provisioned Throughput، 21 تا 50 دلار بر ساعت | PTU، تا 70 درصد صرفهجویی | به ازای هر SKU جیمینای |
| نقطه سربهسر | حدود نصف حداکثر بهرهوری (Peak) | حدود 40 تا 60 درصد بهرهوری پایدار | کمتر بهصورت عمومی اعلام شده |
| تفکیک هزینهها | Application Inference Profileها | دامنهها (Scopes)، تگها، رزروهای PTU | پروژهی مجزا برای هر تیم، خروجی BigQuery |
| انطباق (Compliance) | قراردادهای BAA، اندپوینتهای VPC، گاردریلها | HIPAA، SOC 2، ISO 27001 | HIPAA، GDPR، اقامت داده به تفکیک منطقه |
مقایسهی پلتفرمهای استنتاج رودررو
مقایسه| شاخص | Fireworks | Together | Baseten | Modal |
|---|---|---|---|---|
| تمرکز بهینهسازی | تاخیر | تنوع و گستردگی کاتالوگ | کیفیت در ردهی سازمانی | تجربهی توسعهدهنده (DX) بومی پایتون |
| مدل هزینهای | بر حسب توکن | بر حسب توکن | بر حسب دقیقه | بر حسب ثانیه |
تعرفه در main.py | 0.90 دلار به ازای هر 1 میلیون توکن خروجی | 0.88 دلار به ازای هر 1 میلیون توکن خروجی | 0.55 دلار بر دقیقه | 0.48 دلار بر دقیقه |
| کف رزرو شده | ندارد | ندارد | 1440 دقیقه بر روز | 60 دقیقه بر روز |
شروع سرد در main.py | 1.5 ثانیه | 2.0 ثانیه | 5.0 ثانیه | 2.5 ثانیه |
| نکتهی کلیدی | لایهی پردازش دستهای حدود 50٪ ارزانتر از سرورلس | بیش از 200 مدل | Truss، SOC 2 Type II | @modal.function(gpu="A100") |
چه زمانی از ابربزرگها استفاده کنیم؟
مفهومها- Bedrock
- نیاز به Claude، Llama و سایر مدلها در قالب یک API و یک سیستم IAM یکپارچه.
- Bedrock
- نیاز به تفکیک هزینه به ازای هر تیم، محصول یا قابلیت بدون پسپردازش.
- Azure OpenAI
- نیاز به مدلهای GPT و رسیدن تاخیر صدک 99 (P99 TTFT) به زیر 100 میلیثانیه با PTU.
- Vertex AI
- نیاز به پنجره بافت 1 میلیون توکنی Gemini یا ورودیهای چندحالته.
- دو ارائهدهنده
- اجرای تمام فراخوانیهای حیاتی محصول روی دو ابربزرگ.
- جفت رایج
- Claude از Bedrock، مدل GPT از Azure OpenAI، پشت یک گیتوی واحد.
چه زمانی از پلتفرمها یا میزبان اختصاصی استفاده کنیم؟
مفهومها- سیلیکون اختصاصی
- تاخیر بسیار حیاتی است. Groq انتخاب اصلی برای ایجنتهای صوتی است.
- Fireworks
- نیاز به تاخیر پایین و اجرای LoRA با تعرفه مدل پایه.
- Together
- دسترسی به جدیدترین مدلهای متنباز ظرف چند روز پس از انتشار.
- Baseten
- مدل فاینتیونشده، GPU اختصاصی، و گواهیهای SOC 2 و HIPAA.
- Modal
- تیم شما با پایتون کد میزند و صورتحساب ثانیهای میخواهد.
- Replicate
- سرو مدلهای تصویر، ویدیو و صوت با پرداخت به ازای هر پیشبینی.
- Anyscale
- استنتاج تنها یک نود در یک گراف بزرگتر Ray است.
- خودمیزبان
- اقامت داده، فاینتیون اختصاصی، کاهش هزینه در مقیاس بالا، یا عدم وجود مدل میزبانیشده.
انتخاب موتور خودمیزبان
گامبهگام- سختافزار CPUاستفاده از llama.cpp؛ هیچ موتور دیگری روی CPU توان رقابت با آن را ندارد.
- سختافزار AMDاستفاده از vLLM با ROCm؛ ابزار TRT-LLM فقط مخصوص انویدیا است.
- سختافزار Blackwellپیشتازی TRT-LLM روی B200/GB200؛ سپس vLLM و SGLang.
- مقیاس 1 کاربراستفاده از Ollama؛ یک دستور، دریافت توکن اول در چند ثانیه.
- مقیاس 10 تا 100 کاربراستفاده از vLLM روی یک GPU تکی.
- مقیاس 100 تا 10 هزار کاربراستفاده از پشتهی عملیاتی vLLM یا SGLang.
- بار کاری ایجنتی یا با پیشوند سنگیناستفاده از توجه رادیکس در SGLang.
- پایپلاین توسعهمحیط Dev با Ollama، محیط Staging با llama.cpp، محیط Prod با vLLM. تبدیل GGUF به safetensors.
شروع سرد یک مدل 70B (بر حسب ثانیه)
مقایسه| مرحله | خام (بدون بهینهسازی) | ایمیج ازپیشآماده | استریمر مدل | اسنپشات GPU |
|---|---|---|---|---|
| تخصیص نود (node provision) | 50.0 | 50.0 | 50.0 | 0.5 |
| دریافت ایمیج (image pull) | 180.0 | 0.0 | 180.0 | 0.0 |
| انتقال وزنها به حافظه HBM | 75.0 | 75.0 | 35.0 | 0.0 |
| راهاندازی موتور | 20.0 | 20.0 | 20.0 | 2.0 |
| اولین پاس رو به جلو (forward) | 3.0 | 3.0 | 3.0 | 0.5 |
| ابزار | هیچکدام | Bottlerocket، EC2NodeClass | Run:ai Model Streamer | چکپوینتهای Modal |
| دستاورد | مجموع 328 ثانیه | 2 تا 4 دقیقه صرفهجویی | حدود 2 برابر سرعت بارگذاری وزنها | راهاندازی مجدد 10 برابر سریعتر |
اجرای مدلها در کد
کار و کد| وظیفه | کد |
|---|---|
| هزینه و TTFT به ازای هر ابربزرگ | simulate(tokens_in_per_day, tokens_out_per_day, sla_ttft_ms, use_ptu) |
| بررسی نقطه سربهسر Azure PTU | break_even_demo() |
| حداقل هزینه برای پیادهسازی دو ارائهدهنده | lock_in_cost() |
| هزینه روزانه برای یک ارائهدهنده | cost_per_day(v, tokens_per_day, predictions_per_day) |
| مقایسه هزینه بر حسب توکن در برابر بر حسب دقیقه | utilization_breakeven() |
| شروع سرد برای پشتهی کاهش تاخیر | total_for_stack({"pre_seeded", "streamer"}) |
| نقطه سربهسر استخر نمونههای آماده | warm_pool_break_even(gpu_hourly=4.50, cold_seconds=328, sla_tolerated_drops_per_day=5) |
| موتور مناسب سختافزار، مقیاس و بار کاری | pick_engine(hardware, scale, workload) |
عیبیابی
عیبیابیتاخیر P99 TTFT روی حالت تقاضامحور بالای 100 میلیثانیه میرود
- علت
- ترافیک در ظرفیت اشتراکی با سایر کاربران رقابت میکند
- راهحل
- خرید PTU یا Provisioned Throughput
صورتحساب PTU در ترافیک پایین بالا است
- علت
- هزینه ظرفیت رزرو شده در زمان بیکاری نیز پرداخت میشود
- راهحل
- رزرو فقط در بهرهوری مداوم حدود 40 تا 60 درصد
هزینه Bedrock با ترافیک مشابه 4 برابر شده
- علت
- هزینهها به تفکیک ویژگی مشخص نشدهاند
- راهحل
- هدایت فراخوانیها از طریق Application Inference Profileها
نبود هزینه به ازای هر درخواست در Azure
- علت
- تگها از گروههای منابع (Resource Groups) خوانده میشوند
- راهحل
- متریکهای سفارشی Application Insights یا هدرهای گیتوی
قطعی محصول هنگام خرابی یک ارائهدهنده
- علت
- وابستگی انحصاری به یک ارائهدهنده
- راهحل
- استفاده از حداقل دو ارائهدهنده پشت یک گیتوی واحد
توکن اول 3 تا 8 دقیقه طول میکشد
- علت
- شروع سرد خام مدل 70B پس از کاهش مقیاس به صفر
- راهحل
- ترکیب ایمیج ازپیشآماده، استریمر و اسنپشات
بازیابی اسنپشات روی نود جدید با خطا مواجه میشود
- علت
- اسنپشاتها وابسته به توپولوژی دقیق GPU هستند
- راهحل
- ایجاد چکپوینت مجدد روی SKU جدید
پروژهی جدید از TGI استفاده میکند
- علت
- قرار گرفتن در وضعیت نگهداری از 11 دسامبر 2025
- راهحل
- تغییر به vLLM یا SGLang به صورت پیشفرض
پرسش و پاسخ
پرسش و پاسخ- چرا Bedrock حدود 25 میلیثانیه کندتر است؟
- استفاده از ظرفیت تقاضامحور اشتراکی؛ PTUهای Azure پردازندههای گرافیکی را اختصاصی شما رزرو میکنند.
- چه زمانی مدل دقیقهای از توکنی بهصرفهتر است؟
- مستندات میگویند بالاتر از 30٪ بهرهوری پایدار؛
main.pyنشان میدهد در سیستم دقایق رزرو شده به 60 تا 70٪ نیاز است. - چه زمانی استخر نمونههای آماده اجباری است؟
- معمولاً وقتی صدک 99 زمان تا توکن اول (P99 TTFT) در مدلهای بالای 70B زیر 60 ثانیه خواسته شود.
- هزینه استخر نمونههای آماده چقدر است؟
- پنج محصول با یک نسخهی آماده ماهانه 3,600 ساعت-GPU مصرف میکنند.
- چرا مهاجرت زنده توکنها را جابجا میکند؟
- ورودی در حد کیلوبایت است اما کش کلید-مقدار چندین گیگابایت؛ محاسبه مجدد ارزانتر تمام میشود.
- چرا نباید از Ollama در محیط عملیاتی استفاده کرد؟
- 15 تا 30 درصد کندتر از llama.cpp و تا 3 برابر افت عملکرد زیر بار محیط عملیاتی.
واژهنامه
اصطلاحها- PTU
- واحد نرخ پردازش پیشبینیشده؛ GPUهای استنتاج رزرو شده با هزینه ساعتی.
- BAA
- توافقنامه شراکت تجاری؛ الزامی برای دادههای سلامت (PHI)، توسط هر سه ارائه میشود.
- Application Inference Profile
- پروفایل برچسبدار Bedrock با امکان تفکیک هزینه در CloudWatch.
- Truss
- مانیفست پلتفرم Baseten برای وابستگیها، سکرتها و پیکربندی سرو.
- FireAttention
- کرنل اختصاصی اتنشن در Fireworks.
- RayTurbo
- موتور انحصاری استنتاج بر بستر Ray در Anyscale.
- min_workers
- حداقل نمونههای فعال سرورلس؛
min_workers=1یعنی یک استخر نمونههای آماده. - GGUF
- فرمت وزنهای llama.cpp با نسخههای کوانتیزهشده K-quant یکپارچه.