شروع سرد استنتاج GPU را از زمان تا اولین توکن سرو شده (TTFTS) اندازهگیری کردیم و زمان را در نودهای GPU از 8 دقیقه به کمتر از 1 دقیقه رساندیم. مسیر کامل از ایجاد پاد تا خروج اولین پاسخ شش فاز مستقل دارد که هر کدام گلوگاه و راهحل ویژهٔ خود را طلب میکنند؛ بسته به اندازهٔ مدل، یکی از این فازها غالب میشود.
نتایج کلیدی: چه اندازهگیری شد و چه بهدست آمد
TTFTS فاصلهٔ زمانی از ایجاد پاد تا خروج اولین پاسخ استنتاج از GPU است — هزینهٔ یکبارهٔ راهاندازی که قبل از سنجش تأخیر هر درخواست رخ میدهد. دو سناریوی اصلی بهینهسازی شدند:
- راهاندازی مجدد پاد روی نود گرم: پیش از بهبود 1.5–8 دقیقه، پس از بهبود زیر 30 ثانیه (کاهش 80–93%).
- نود جدید از صفر (نود سرد): پیش از بهبود 8–15 دقیقه، پس از تنظیمات زیرساختی حدود ~5 دقیقه (کاهش 40–65%).
کاهش 80–93٪ مربوط به هزینهٔ هر بار راهاندازی مجدد پاد (مثلاً مقیاسافزایی یا بهروزرسانی rolling) است و با تغییر پیکربندی خوشه قابل دستیابی است. بهبودهای مربوط به نود سرد مستلزم ترکیبی از پیکربندی پلتفرم و قابلیتهای سرویس زیرساختی مانند EKS Auto Mode است.
شش لایهٔ شروع سرد و مالکیت هر لایه
وقتی پاد استنتاجی روی یک نود GPU تازه provision میشود، قبل از سرو کردن اولین درخواست از این شش فاز میگذرد:
- تأمین نود — ابزارهایی مانند Karpenter نمونهٔ EC2 را راهاندازی و ثبت میکنند (≈60–90s).
- مقداردهی درایور GPU — ماژول کرنل بارگذاری و دستگاهها آشکار میشوند.
- کشیدن تصویر کانتینر — انتقال و استخراج یک ایمیج فشردهٔ 8–12 گیگابایت.
- دانلود وزنهای مدل — جریان فایلهای مدل از ذخیرهساز ابری به حافظهٔ GPU.
- کامپایل هستههای GPU — torch.compile گراف را رهگیری و هستههای CUDA تولید میکند.
- مقداردهی موتور — ضبط گراف CUDA، پروفایل KV و راهاندازی سرور HTTP (≈30–120s بسته به کش بودن کامپایل).
هر لایه گلوگاه خاص خود را دارد؛ از شبکه و I/O تا زمان کامپایل کد CUDA. بنابراین ترکیبی از بهینهسازیها برای کاهش کلی TTFTS لازم است.
کدام لایه غالب میشود؟ نقش اندازهٔ مدل
ابزارسنجی روی دو نمونه نشان داد:
- مدل ~64 GB (Qwen3.6-35B-A3B): بارگذاری وزنها ≈29s (35%)، کامپایل (torch.compile) ≈53s (65%).
- مدل ~203 GB (Llama-4-Scout، TP=4): بارگذاری وزنها ≈423s (92%)، کامپایل ≈34s (8%).
نتیجه واضح است: برای مدلهای زیر تقریباً 100 GB، زمان کامپایل غالب است؛ برای مدلهای بزرگتر، انتقال شبکه و بارگذاری وزنها غالب میشود. زمان کامپایل وابسته به پیچیدگی گراف اجرایی است، نه صرفاً تعداد پارامترها، و زمان بارگذاری وزنها تقریباً خطی با اندازهٔ فایل افزایش مییابد.
حذف هدررفتها — رویکردها
بهینهسازیها را در دو دستهٔ مجزا انجام دادیم: تغییرات سطح پاد (گرم) و تغییرات سطح زیرساخت (سرد).
بهینهسازیهای نود گرم (قابل اجرا در هر خوشهٔ Kubernetes)
- فعالسازی کش کامپایل هستههای CUDA با متغیرهای محیطی مناسب برای جلوگیری از بازکامپایل تکراری.
- مونت یک volume مشترک برای ذخیرهٔ نتایج کامپایل و پروفایلهای KV بین پادها تا خروجی کامپایل دوباره استفاده شود.
- پیکربندی دانلود موازی وزنها و بهینهسازی الگوی خواندن از S3 تا از پهنای باند موجود حداکثر استفاده شود.
این تغییرات پیکربندی ساده، زمان راهاندازی مجدد پاد را تا 80–93% کاهش دادند و نیازی به تغییر در کد مدل نبود.
بهینهسازیهای نود سرد (نیازمند پیکربندی زیرساخت)
- فعالسازی EKS Auto Mode که شامل درایورهای NVIDIA از پیش کامپایلشده است.
- استفاده از SOCI (Seekable OCI) برای کشیدن موازی و سریعتر تصویر کانتینر.
- مونت NVMe instance store برای کش محلی وزنها و تصاویر کاهش I/O از شبکه.
- مسیردهی ترافیک S3 از طریق VPC endpoint برای جلوگیری از عبور ترافیک از NAT Gateway و افزایش پهنای باند مؤثر (VPC endpoints for S3).
با این تدابیر بخش بزرگی از تأخیر شبکهای و I/O حذف شد و زمان نود سرد به حدود ~5 دقیقه رسید. بخشی از تاخیر (≈2 دقیقه) همچنان هزینهٔ ثابت تأمین نود و مقداردهی اولیهٔ چارچوب است که در لایهٔ سختافزار و سرویس مدیریتشده رخ میدهد.
نکات عملی برای مهندسان
- برای مدلهای زیر 100 GB، ابتدا روی کش کامپایل تمرکز کنید؛ برای مدلهای بزرگتر، بهینهسازی دانلود وزنها اولویت دارد.
- تصاویر کانتینر و دادههای S3 را در همان منطقه نگهدارید و دسترسی S3 را با VPC endpoint یا تنظیمات منطقهای هماهنگ کنید تا پهنای باند مؤثر افزایش یابد.
- در محیطهای تولیدی، از volume مشترک برای نتایج کامپایل و پروفایل KV استفاده کنید تا راهاندازی مجدد پادها سریعتر شود.
- برای کشیدن سریعتر تصاویر بزرگ، SOCI یا snapshotterهای مشابه را بررسی کنید و تستهای عملی روی حجمهای واقعی انجام دهید.
- درایورهای NVIDIA و اجزای کرنل را از پیش نصب و تست کنید تا زمان مقداردهی درایور کاهش یابد.
مراجعِ مفید: مستندات PyTorch برای جزئیات torch.compile و مخزن Karpenter برای تأمین خودکار نودها.
چشمانداز
کاهش چشمگیر زمان شروع سرد استنتاج GPU، هم هزینهٔ عملیاتی را کاهش میدهد و هم تجربهٔ کاربری را بهبود میبخشد. ترکیب بهینهسازیهای پیکربندی و قابلیتهای زیرساختی مانند EKS Auto Mode و SOCI امکان نزدیکشدن به پاسخدهی فوری را فراهم میکند. استانداردسازی این الگوها در ابزارهای ارکستراسیون میتواند این بهبودها را به شکل پیشفرض درآورد و بار مهندسی را کاهش دهد.





