Resin: قطعههای آماده برای ساختن موتور inference مدلهای زبانی
خلاصهٔ کاملتر
طبق README پروژه، Resin «موتور inference نیست»؛ یه کتابخونه از قطعههای پایه برای inference مدلهای زبانیه. هستهٔ اون یه Engine بدون رابط کاربری (headless) هست که با Rust نوشته شده و سه کار اصلی داره: زمانبندی batchها، مدیریت KV cache (یعنی حافظهای که نتیجهٔ توکنهای قبلی رو نگه میداره تا دوباره حساب نشن) و ارائهٔ metricها. بخش forward pass، یعنی محاسبهٔ واقعی مدل، رو خودت به صورت کرنلهای مخصوص اون مدل و سختافزار مینویسی.
جریان کار اینطوریه: Engine توکنها رو میگیره، یه BatchPlan ثابت میسازه و میده به یه Runner که با Python نوشته شده. Runner خروجی رو برمیگردونه و Engine مالکیت کش رو مدیریت میکنه. یه Runner ساده فقط به یه متد نیاز داره:
class Runner:
def forward(self, plan: BatchPlan) -> ForwardOutput:
return ForwardOutput(
token_ids=np.zeros(plan.num_sequences, dtype=np.uint32),
token_indptr=np.arange(plan.num_sequences + 1, dtype=np.uint32),
)سازندهها میگن با کرنلهای مناسب میشه حتی پیچیدهترین مدلها رو با کمک ایجنتها «vibe code» کرد. اونا تو ۱۲ ساعت برای DeepSeek-V4.1-Flash و GLM-5.3-Flash روی GPUهای Blackwell موتور مستقل ساختن و به گفتهٔ خودشون عملکرد prefill و decode برای DeepSeek فقط ۵ تا ۱۰ درصد با DeepInfer فاصله داره. برای همین کار دو skill هم همراه پروژه هست: یکی برای اضافه کردن مدل جدید و یکی برای بهینهسازی عملکرد.
امکانات دیگه هم کم نیست: یه cache pool یکپارچه برای KV و SWA و حالت recurrent، prefix cache، speculative decoding با MTP، انواع موازیسازی (TP، EP، CP و DP Attention)، CUDA graph و صادر کردن metricها برای Prometheus. یه سرور HTTP داخلی هم داره که APIهای سازگار با OpenAI و Anthropic Messages رو ارائه میده. Runnerها هم فقط مخصوص CUDA نیستن و یه نسخهٔ MLX برای Apple Silicon هم وجود داره.
نویسنده صریح هشدار میده که Resin نرمافزار آمادهٔ production نیست و اگه موتور واقعی میخوای باید سراغ SGLang یا vLLM بری. این پروژه بیشتر برای کسایی هست که میخوان روی سیستمهای inference، مدلهای جدید یا سختافزار جدید ور برن.
نکات کلیدی:
- هستهٔ Resin با Rust نوشته شده و زمانبندی، KV cache و metricها رو مدیریت میکنه؛ forward pass با خودته.
- نصب نیاز به Python 3.11 به بالا و Rust داره و import کردن resin خودش PyTorch یا CUDA رو لود نمیکنه.
- موتور DeepSeek-V4.1-Flash ساختهشده با اون، ۵ تا ۱۰ درصد با DeepInfer فاصله داره.
- سرور داخلی endpointهای /v1/chat/completions، /v1/responses و /v1/messages رو ارائه میده.
- برای production توصیه نمیشه و جایگزین vLLM یا SGLang نیست.




