منصوبے کے بارے میں

Surogate ایک Apache 2.0 ٹول کٹ ہے جو LLM تربیت اور سروسنگ کو ایک پروجیکٹ میں یکجا کرتی ہے، جس میں NVIDIA GPUs کے لیے ڈیزائن کردہ مقامی C++/CUDA انجن شامل ہیں۔ یہ Linux x86_64 کو Python 3.12 اور CUDA 13 (ڈرائیور 580+) کے ساتھ نشانہ بناتی ہے، اور اسے وہیل، انسٹال اسکرپٹ اور کنٹینر امیج کے طور پر تقسیم کیا جاتا ہے۔ تربیتی انجن تربیتی پہلو pretraining اور مکمل فائن ٹیوننگ، LoRA اور QLoRA اڈاپٹرز، اور BF16، ہائبرڈ FP8 اور Blackwell NVFP4 سمیت درستگی کی ترکیبیں شامل کرتا ہے۔ یہ انعامی ماحول کے ساتھ GRPO کمک سیکھنے، DPO ترجیحی تربیت، اور ٹیچر ٹاپ-K تقسیم سے علم کشید کی حمایت کرتا ہے۔ ملٹی-GPU اور ملٹی-نوڈ ایگزیکیوشن تھریڈڈ ڈیٹا متوازی، ZeRO sharding، کمیونیکیشن اوورلیپ اور Ray استعمال کرتا ہے۔ پائپ لائن متوازی PCIe GPUs پر NVLink کے بغیر LoRA کے لیے منجمد وزن کو سٹریم کر سکتی ہے۔ MoE تربیت میں ایکسپرٹ متوازی اور لوڈ بیلنسنگ شامل ہے۔ میموری کنٹرولز میں وزن، گریڈینٹس، آپٹیمائزر اسٹیٹ، ایکٹیویشنز اور کوانٹس کے لیے CPU آف لوڈ، نیز recomputation اور ٹائلڈ MLP ایگزیکیوشن شامل ہیں۔ آپٹیمائزرز میں AdamW 8-bit اور NorMuon شامل ہیں، Weights & Biases لاگنگ، چیک پوائنٹس اور ریزوم کے ساتھ۔ ماڈلز Python DSL کے ذریعے ahead-of-time خودکار تفریق کے ساتھ بیان کیے جاتے ہیں۔ سروسنگ انجن سروسنگ پہلو ایک مقامی C++/CUDA HTTP سرور ہے جو OpenAI-مطابق Chat Completions، Completions اور Responses اینڈ پوائنٹس، نیز Anthropic-مطابق Messages پیش کرتا ہے۔ یہ سٹریمنگ، علیحدہ reasoning مواد، سوچ کنٹرولز اور ماڈل-مخصوص فنکشن-کال پارسرز کی حمایت کرتا ہے۔ کنکرنسی خصوصیات میں مسلسل بیچنگ، chunked پرامپٹ پروسیسنگ، CUDA graphs، فی ماڈل 128 فعال سیکوینسز تک، پرامپٹ کیشنگ، اور MTP یا DFlash کے ذریعے قیاسی ڈی کوڈنگ شامل ہیں۔ یہ مقامی GGUF (K-quants، Q8_0، legacy اور IQ فارمیٹس)، Hugging Face safetensors چیک پوائنٹس، اور BF16/FP8/NVFP4 ایکسپورٹس لوڈ کرتا ہے۔ KV کیش لچکدار ہے اور ماڈلز کے درمیان مشترکہ ہو سکتی ہے۔ رن ٹائم LoRA اڈاپٹرز فی درخواست لوڈ اور منتخب کیے جا سکتے ہیں۔ متعدد نامزد ماڈلز ایک GPU کو ترجیحات اور sleep/wake رویے کے ساتھ شیئر کر سکتے ہیں۔ بڑے ماڈلز متعدد GPUs پر پھیل سکتے ہیں یا وزن CPU پر آف لوڈ کر سکتے ہیں، MoE خاندانوں کے لیے GPU ایکسپرٹ کیشنگ کے ساتھ۔ ویژن اور ایمبیڈنگ سپورٹ میں معاون ویژن ماڈلز کے لیے تصاویر/ویڈیو اور GPU یا AVX-512 CPU پر EmbeddingGemma شامل ہیں۔ آپریشنز خصوصیات میں API-کی توثیق، ہیلتھ چیکس، Prometheus میٹرکس، درخواست لاگز اور کیش اعدادوشمار شامل ہیں۔ ماڈل کوریج تربیتی مثالیں Qwen3 dense اور MoE، Qwen3-VL، Qwen3.5/3.6 dense اور MoE، Llama 3.1/3.2، MiniCPM5، Spark-X2.5، Gemma 4، Nemotron 3/Cascade 2، GPT-OSS، Laguna اور LFM2/LFM2.5 کا احاطہ کرتی ہیں۔ سروسنگ Qwen3، Qwen3.5/3.6/3.8، Qwen3.8 Flash-Next، GLM-5.3-Flash، Llama، Gemma 3/4، LFM2/LFM2.5، MiniCPM5، Spark-X2.5 اور EmbeddingGemma 300M کا احاطہ کرتی ہے۔ README نوٹ کرتا ہے کہ DeepSeek-V4، Flash-Next اور GLM-5.3-Flash تربیتی تعریفوں میں ابھی تک موخر اجزاء ہیں۔ ورک فلو ایک عام بہاؤ ہے: انسٹال کریں، `surogate serve` کے ساتھ ماڈل پیش کریں، YAML کنفیگ کے ساتھ `surogate sft` کے ذریعے اڈاپٹر تربیت دیں، اڈاپٹر کو اس کے بیس ماڈل میں ضم کریں، اختیاری طور پر GGUF میں کوانٹائز کریں، پھر نتیجہ پیش کریں۔ ایک سنگل-GPU GRPO موڈ معاون BF16 LoRA خاندانوں کے لیے مشترکہ وزن کے ساتھ سروسنگ اور تربیت کو ایک ساتھ رکھ سکتا ہے۔ ہارڈویئر نوٹس تربیتی بلڈز SM89+ (Ada، Hopper، معاون Blackwell) کو نشانہ بناتے ہیں۔ FP8 کو SM89+ کی ضرورت ہے؛ مقامی NVFP4 کو معاون Blackwell ہارڈویئر کی ضرورت ہے۔ ڈیفالٹ سروسنگ بلڈز SM120a (RTX 50 سیریز اور RTX PRO Blackwell) کو نشانہ بناتے ہیں، SM89/Ada پورٹ کے ساتھ جو کمپائل ہوتا ہے لیکن رن ٹائم توثیق زیر التوا ہے۔ تقسیم شدہ تربیت NCCL استعمال کرتی ہے؛ CPU آف لوڈ کے لیے کافی سسٹم RAM کی ضرورت ہے۔ README مخصوص ہارڈویئر اور ورک لوڈز پر Unsloth، vLLM اور llama.cpp کے مقابلے تربیت اور سروسنگ تھرو پٹ کا موازنہ کرنے والی بینچ مارک ٹیبلز پیش کرتا ہے؛ یہ پروجیکٹ کی اپنی پیمائشیں ہیں اور انہیں ایسا ہی سمجھا جانا چاہیے۔