راهاندازی مدل Flint روی سرور خودت با SGLang
خلاصهٔ کاملتر
Flint یه مدل mixture-of-experts هست (یعنی مدلی که برای هر توکن فقط چندتا از زیرشبکههاش فعال میشن) که شرکت Recursive برای ایجنتهای کدنویسی ساخته. کل مدل ۳۹.۸ میلیارد پارامتر داره، ولی برای هر توکن فقط حدود ۲.۵ میلیاردش کار میکنه. برای همین اجرا کردنش از یه مدل dense هماندازه خیلی ارزونتره. طبق گزارش خود Recursive، این مدل تو Terminal-Bench 2.1 به ۵۴.۹٪، تو SWE-bench Pro v2 به ۸۹.۷٪ و تو SWE-bench Verified به ۷۴.۲٪ رسیده.
تو این مقاله اومده که برای اجرای نسخهٔ BF16 با کیت رسمی SGLang (یه موتور سرو کردن مدلهای زبانی) به یه کارت H200 یا B300 برای هر replica نیاز داری. ساختار مدل ۲۵۶ expert داره که برای هر توکن ۶تاش انتخاب میشه، بهاضافهٔ یه expert مشترک که همیشه فعاله. ولی همهٔ وزنها باید یه جا بشینن و خود دانلود حدود ۸۰ گیگابایته. این کارتها مال دیتاسنترن، نه سیستم خونگی. برای Mac و کارتهای NVIDIA معمولی، نسخههای quantized جدا آماده شده که راهاندازی خودشون رو دارن.
روند کار سادهست: مدل رو با CLI ابزار huggingface_hub از Hugging Face میگیری، از پوشهٔ sglang/ یه ایمیج Docker میسازی و بسته به کارتت یکی از اسکریپتهای serve_h200.sh یا serve_b300.sh رو اجرا میکنی. سرور روی پورت 30000 بالا میاد و چون لود شدن ۸۰ گیگ وزن طول میکشه، باید اول endpoint سلامت رو چک کنی. بعدش Flint دقیقاً مثل هر API سازگار با OpenAI رفتار میکنه:
client = OpenAI(base_url="http://localhost:30000/v1", api_key="unused")
response = client.chat.completions.create(
model="flint",
messages=[{"role": "user", "content": "Write a Python function that merges overlapping intervals."}],
max_tokens=32768,
)Recursive تنظیمات temperature 1.0، top-p 0.95 و top-k 20 رو پیشنهاد میده. برای مسئلههای سخت هم حداقل ۳۲,۷۶۸ توکن خروجی بذار، چون توکنهای استدلال مدل از همین سهمیه کم میشن. یه نکتهٔ مهم برای گفتگوهای چندمرحلهای: Flint یه فیلد جدا به اسم reasoning_content برمیگردونه و باید اونو تو تاریخچهٔ گفتگو نگه داری، وگرنه کیفیت جوابها افت میکنه.
نویسنده میگه self-host کردن هزینهٔ توکنی رو حذف میکنه و کنترل کامل دادهها رو بهت میده، که برای تیمهایی با کد حساس مهمه. ولی اگه به این کلاس کارت دسترسی نداری، منطقیتره سراغ نسخههای quantized بری. خود Recursive هم هشدار داده که مدل هنوز میتونه کد غلط یا tool call ناامن تولید کنه، پس هر ایجنتی که باهاش میسازی باید محدودیت دسترسی و اجرای خودش رو داشته باشه. نتیجهها هم بسته به دقت checkpoint و runtime میتونه فرق کنه.
نکات کلیدی:
- Flint: ۳۹.۸ میلیارد پارامتر کل، حدود ۲.۵ میلیارد فعال برای هر توکن، لایسنس Apache 2.0
- اجرای BF16 با SGLang روی یه کارت H200 یا B300 برای هر replica
- حجم دانلود حدود ۸۰ گیگابایت و پنجرهٔ context برابر ۲۶۲,۱۴۴ توکن
- API سازگار با OpenAI روی پورت 30000، با پشتیبانی از tool call
- تنظیمات پیشنهادی: temperature 1.0، top-p 0.95، top-k 20 و حداقل ۳۲,۷۶۸ توکن خروجی
- فیلد reasoning_content باید تو تاریخچهٔ گفتگو حفظ بشه
- پشتیبانی Transformers هنوز اضافه نشده




