راهنمای مهندسیِ Inference هوش مصنوعی
خلاصهٔ کاملتر
این مقاله (از ByteByteGo) یه راهنما دربارهی مهندسیِ inferenceه: رشتهای که کارش اجرای بهینهی مدلهای آموزشدیدهی AI تو production ه و از کدِ سطحپایینِ GPU تا فریمورکهای serving و زیرساختِ ابری رو در بر میگیره. مهندسها روی ترکیبی از تأخیر، توانعملیاتی (throughput)، هزینه و کیفیت بهینهسازی میکنن.
نویسنده میگه چند سال پیش این کار تقریباً فقط داخلِ آزمایشگاههای بزرگ انجام میشد، ولی از ۲۰۲۴ به بعد مدلهای open همهچی رو عوض کردن؛ Hugging Face حالا بیش از دو میلیون مدلِ باز داره و مدلهایی مثلِ DeepSeek V3 فاصلهی کیفی با مدلهای بسته رو کم کردن. به گفتهی نویسنده، self-host کردنِ مدلهای باز سه مزیت داره: تأخیرِ قابلتنظیم برای الگوی کاریِ محصول، uptime تا چهار ۹ (بهتر از دو ۹ APIهای عمومی)، و کاهشِ هزینه تا حدودِ ۸۰٪ در مقیاس.
قلبِ مقاله دو فازِ inference ه. فازِ اول prefill ه: مدل کلِ پرامپتِ ورودی رو موازی از همهی لایهها رد میکنه و دو خروجی میده — اولین توکنِ پاسخ و KV cache. این فاز محاسبهمحور (compute-bound) ه و معیارش TTFT (زمان تا اولین توکن) ه؛ همون مکثِ کوتاه قبل از دیدنِ اولین کلمه.
فازِ دوم decode ه: مدل هر توکنِ بعدی رو یکییکی میسازه و برای هر توکن یه forward pass کاملِ روی همهی وزنها اجرا میکنه. این فاز ذاتاً ترتیبیه و به پهنایباندِ حافظه محدوده (memory-bandwidth-bound)؛ واحدهای ریاضیِ GPU بیکارن و وقت صرفِ خوندنِ وزنها از حافظه میشه. معیارش TPS (توکن بر ثانیه) ه. چون گلوگاهِ این دو فاز برعکسِ همه، تکنیکی که یکی رو سریع میکنه اغلب روی اون یکی اثری نداره — برای همین بنچمارکها TTFT و TPS رو جدا گزارش میدن.
نویسنده تکنیکهای بهینهسازی رو دورِ همین شکاف دستهبندی میکنه: batching چند درخواست رو توکنبهتوکن با هم میبافه تا GPU پُر کار کنه (به قیمتِ تأخیرِ بیشترِ هر کاربر)؛ prefix caching با استفادهی مجددِ KV cache برای بخشِ مشترکِ پرامپتها (مثلِ یه system prompt طولانی) فازِ prefill رو سریع میکنه — برای همین ورودیِ متغیرِ کاربر بهتره ته پرامپت بیاد؛ و quantization با ذخیرهی وزنها با دقتِ کمتر (۸ یا ۴ بیت بهجای ۱۶ بیت) هر دو فاز رو کمک میکنه، چون هم ریاضیِ کمدقت سریعتره هم دادهٔ کمتری باید جابهجا بشه.
نکات کلیدی:
- مهندسیِ inference یعنی اجرای بهینهی مدلهای آموزشدیده تو production (تأخیر، throughput، هزینه، کیفیت)
- هر پاسخ دو فاز داره: prefill (محاسبهمحور، معیار TTFT) و decode (محدود به حافظه، معیار TPS)
- گلوگاهِ این دو فاز برعکسِ همه، پس تکنیکها جدا سراغِ هرکدوم میرن
- batching توانعملیاتی رو بالا میبره ولی تأخیرِ هر کاربر رو زیاد میکنه
- prefix caching با استفادهی مجددِ KV cache، و quantization با دقتِ کمترِ وزنها بهینهسازی میکنن
- مدلهای open و self-hosting (کاهشِ ~۸۰٪ هزینه در مقیاس) این رشته رو فراگیر کردن




