
جائزہ
2x DGX Sparks کے لیے GLM-5.3 Flash EXL3 دو NVIDIA GB10 سسٹمز پر GLM-5.3 Flash کی 4 bpw EXL3/TR3 کوانٹائزیشن چلانے کے لیے ایک ڈپلائمنٹ ترکیب اور vLLM اوورلے ہے۔ یہ پورٹ 8888 پر OpenAI سے مطابقت رکھنے والی API فراہم کرتا ہے اور ماڈل کو شناخت کنندہ GLM-5.3-Flash-EXL3 کے تحت چلاتا ہے۔
یہ ترکیب ٹینسر پیراlelism استعمال کرتی ہے، جس میں ہر مشین پر ایک رینک ہوتا ہے۔ اس میں پیک شدہ EXL3 روٹڈ ایکسپرٹس، مقامی sm_121a کرنلز، fp8 sparse-MLA KV کیش، CUDA گرافس، اور سات ڈرافٹ ٹوکنز کے ساتھ DFlash2 speculative decoding شامل ہیں۔
پہلے سے طے شدہ چیک پوائنٹ Mia-AiLab/GLM-5.3-Flash-EXL3-TR3-4bpw ہے، جو حوالہ دیے گئے Brandon Music snapshot کی عوامی طور پر دستیاب byte-identical mirror ہے۔ اس میں 120 shards میں تقریباً 164 GiB ڈیٹا شامل ہے۔ ماڈل repository کا اپنا لائسنس ہے، جبکہ serving scripts اور overlay MIT لائسنس کے تحت ہیں۔
اوورلے کیوں ضروری ہے
معیاری ARM64 GLM-5.3 vLLM image اس چیک پوائنٹ کو لوڈ کر سکتی ہے، لیکن پہلے forward pass پر ناکام ہو جاتی ہے، کیونکہ GLM-5.3 Flash NoPE MLA استعمال کرتا ہے جبکہ دستیاب SM12x sparse-MLA backend مختلف packed geometry کا تقاضا کرتا ہے۔ اوورلے 512-dimensional NoPE latent کو FLASHINFER_MLA_SPARSE_SM120 کے لیے درکار geometry میں pad کرتا ہے، بغیر QK dot product تبدیل کیے۔
یہ ایک فعال EXL3 quantization method بھی رجسٹر کرتا ہے۔ اس سے routed experts کو BF16 میں پھیلانے کے بجائے ان کی packed trellis، SUH، SVH، اور MCG representation برقرار رہتی ہے۔ fused path فعال ہونے پر ہر layer ایک exllamav3_ext.exl3_moe launch استعمال کرتی ہے۔
اوورلے DFlash2 کے لیے GLM-specific integration بھی فراہم کرتا ہے، جس میں EAGLE3 auxiliary hidden-state capture، target MLA KV slots کا اشتراک کرنے والی draft sliding-window attention، اور speculative draft block کے اندر non-causal attention شامل ہیں۔
اہم خصوصیات
- OpenAI سے مطابقت رکھنے والی سروس: vLLM head node پر
/v1/chat/completionsاور متعلقہ endpoints فراہم کرتا ہے۔ - دو-node tensor parallelism: ڈپلائمنٹ
--nnodes 2اور--tensor-parallel-size 2استعمال کرتی ہے۔ - کمپیکٹ EXL3 weights: 4 bpw چیک پوائنٹ ڈاؤن لوڈ کے لیے تقریباً 164 GiB ہے اور حوالہ دیے گئے quality panel میں اسے 176 GB بتایا گیا ہے۔
- DFlash2 speculative decoding: پہلے سے طے شدہ draft model
incoai/GLM-5.3-Flash-DFlash2ہے، جس میںk=7ہے۔ - طویل context: پہلے سے طے شدہ زیادہ سے زیادہ model length 900,000 tokens ہے، جسے دستاویزی memory configuration کے تحت 982,612 tokens کے طور پر رپورٹ کیے گئے fp8 MLA pool کی پشت پناہی حاصل ہے۔
- ملٹی موڈل سپورٹ: image اور video inputs فعال ہیں، جبکہ ہر prompt کے لیے پہلے سے طے شدہ حد چار images اور ایک video ہے۔
- Tool اور reasoning parsing: launcher automatic tool selection اور GLM-compatible tool-call اور reasoning parsers فعال کرتا ہے۔
- Prefix caching: block-aligned prefixes کو دوبارہ استعمال کیا جا سکتا ہے، جب متعلقہ hashes cache میں موجود رہیں۔
- اختیاری refusal-direction ablation:
ABLIT=1load time پر منتخب native BF16 output-projection weights میں memory کے اندر ترمیم کرتا ہے۔
ہارڈویئر اور سافٹ ویئر کے تقاضے
یہ ترکیب خاص طور پر دستاویزی CX7 fabric کے ذریعے منسلک دو NVIDIA GB10 DGX Spark-class سسٹمز کے لیے تیار کی گئی ہے۔ یہ عمومی single-GPU deployment نہیں ہے۔
- دو NVIDIA GB10 systems، جن میں ابتدائی setup کے لیے فی node تقریباً 180 GiB خالی storage ہو۔
- دونوں systems پر
sudoکے بغیر Docker دستیاب ہو۔ - head node سے worker تک passwordless SSH ہو۔
- head پر
hfیاhuggingface-cli،curl، اورrsyncنصب ہوں۔ - دونوں machines پر درست CX7 network interfaces اور RDMA devices موجود ہوں۔
- ایسی Hugging Face cache location موجود ہو جو 120-shard checkpoint اور تقریباً 2.3 GiB DFlash2 model رکھ سکے۔
Repository کی CX7 interface اور HCA settings برقرار رکھیں، الا یہ کہ آپ کی physical cabling مختلف ہو۔ README خبردار کرتا ہے کہ NCCL
10.0.0.xloopback aliases استعمال نہیں کر سکتا اور اگر fabric pins غلط ہوں توncclCommInitRankکے دوران hang ہو سکتا ہے۔
ڈپلائمنٹ نصب اور configure کریں
1. Repository clone کریں
git clone https://github.com/MiaAI-Lab/GLM-5.3-Flash-EXL3-2x-DGX-Sparks.git
cd GLM-5.3-Flash-EXL3-2x-DGX-Sparks2. Environment file بنائیں
cp .env.example .envاگر machines ترکیب کے default addresses یا account names استعمال نہیں کرتیں تو .env میں ترمیم کریں۔ اہم ترین settings یہ ہیں:
HEAD_IP=10.0.0.1head node اور vLLM master کے لیے۔WORKER_IP=10.0.0.2دوسرے Spark کے لیے۔WORKER_USERجب nodes کے درمیان SSH account مختلف ہو۔WORKER_HOMEجب worker کا home یا Hugging Face cache location مختلف ہو۔PORT=8888API listener کے لیے۔
اگر .env موجود نہ ہو تو launcher اسے .env.example سے خودکار طور پر بناتا ہے۔ command سے پہلے براہِ راست فراہم کی گئی values فائل میں موجود values پر ترجیح رکھتی ہیں۔
3. اختیاری طور پر weights stage کریں
./download.shیہ command EXL3 checkpoint اور DFlash2 model کو head node کی Hugging Face cache میں ڈاؤن لوڈ کرتی ہے۔ یہ Docker نہیں چلاتی، worker سے connect نہیں کرتی، اور files synchronize نہیں کرتی۔ اسے اس وقت استعمال کریں جب آپ worker کے تیار ہونے سے پہلے تقریباً 164 GiB model download مکمل کرنا چاہتے ہوں۔
cached files کو واضح طور پر refresh کرنے کے لیے چلائیں:
REFRESH_WEIGHTS=1 ./download.shغیر ضروری طور پر ریفریش کرنے سے گریز کریں۔ download.sh اور start.sh دونوں پہلے سے مکمل ریپوزٹریز کو چھوڑ دیتے ہیں۔
4. دونوں رینکس اور API شروع کریں
./start.shاسٹارٹ اپ اسکرپٹ درج ذیل مراحل انجام دیتی ہے:
- دونوں نوڈز پر Docker، SSH اور دستیاب ڈسک اسپیس چیک کرتی ہے۔
- ہیڈ پر عوامی
ghcr.io/miaai-lab/glm-5.3-flash-2x-dgx-sparks:exl3امیج حاصل کرتی ہے۔ - جب ڈائجسٹ تبدیل ہو جائے تو کنٹینر امیج کو ورکر منتقل کرتی ہے۔
- غائب ماڈل فائلوں کو ہیڈ کے Hugging Face کیش میں ڈاؤن لوڈ کرتی ہے۔
rsyncکے ذریعے کیش کو ورکر کے ساتھ ہم وقت ساز کرتی ہے۔- ورکر پر رینک 1 کو ہیڈ لیس موڈ میں شروع کرتی ہے۔
- ہیڈ پر رینک 0 اور OpenAI-compatible API شروع کرتی ہے۔
- ہیلتھ اینڈ پوائنٹ کو اس وقت تک پول کرتی ہے جب تک ماڈل لوڈنگ اور وارم اپ مکمل نہ ہو جائیں۔
ڈیفالٹ readiness ٹائم آؤٹ 3,600 سیکنڈ ہے، کیونکہ وزن لوڈ کرنے اور CUDA گرافس کیپچر کرنے میں خاصا وقت لگ سکتا ہے۔
5. اسٹیٹس اور لاگز چیک کریں
./start.sh status
./start.sh logs
./start.sh logs workerدونوں کنٹینرز کو اس کمانڈ سے روکیں:
./start.sh stopآپ ./stop.sh بھی استعمال کر سکتے ہیں۔
بنیادی چیٹ درخواست بھیجیں
ہیڈ نوڈ پر بنیادی API URL http://127.0.0.1:8888/v1 ہے۔ دستاویزی LAN پتوں کے ساتھ دیگر مشینیں http://10.0.0.1:8888/v1 استعمال کر سکتی ہیں۔
curl -s http://127.0.0.1:8888/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "GLM-5.3-Flash-EXL3",
"messages": [
{"role": "user", "content": "Explain tensor parallelism briefly."}
],
"chat_template_kwargs": {
"enable_thinking": false
}
}'درخواست کی model قدر فراہم کردہ نام سے مماثل ہونی چاہیے، جو ڈیفالٹ طور پر GLM-5.3-Flash-EXL3 ہے۔ سوچنے کا عمل ڈیفالٹ طور پر فعال ہے۔ اسے غیر فعال کرنے کے لیے، اوپر دکھائے گئے مطابق JSON درخواست کی ٹاپ لیول پر chat_template_kwargs رکھیں۔
خام HTTP کے ذریعے لفظی نیسٹڈ
extra_bodyآبجیکٹ نہ بھیجیں۔ OpenAI Python SDK میںextra_bodyایک SDK آپشن ہے، جس کے مواد کو ٹاپ لیول درخواست میں ضم کر دیا جاتا ہے۔
چیک پوائنٹ کی جنریشن کنفیگریشن temperature=1.0 اور top_p=0.95 فراہم کر سکتی ہے۔ مختلف رویہ درکار ہو تو ہر درخواست میں sampling کی قدریں مقرر کریں۔
ڈیفالٹ رن ٹائم کو سمجھیں
تعیناتی کی ڈیفالٹ ترتیبات باہمی طور پر مربوط ہیں۔ ایک جزو تبدیل کرنے سے کرنل کا امتزاج غیر درست ہو سکتا ہے یا speculative acceptance کم ہو سکتی ہے۔
- وزن:
Mia-AiLab/GLM-5.3-Flash-EXL3-TR3-4bpw، اور جب مرر دستیاب نہ ہو یا نامکمل ہو تو Brandon Music ریپوزٹری پر fallback۔ - متوازی کاری: multiprocessing executor استعمال کرتے ہوئے دو نوڈز اور tensor-parallel size دو۔
- کوانٹائزیشن:
exl3، packed routed experts اور native dense، shared-expert، attention، embedding اور output-head weights کے ساتھ۔ - ہدف KV کیش:
fp8، جسے اندرونی طور پر packedfp8_ds_mlaکے طور پر دکھایا جاتا ہے۔ - Speculation: DFlash2، سات speculative tokens کے ساتھ، اور draft tensor parallelism کو ایک پر مقرر کیا گیا ہے۔
- Draft KV کیش: خودکار انتخاب، جس کے نتیجے میں dense draft model کے لیے ہدف کے MLA layout کے بجائے BF16 استعمال ہوتا ہے۔
- Attention: ہدف کے لیے sparse MLA اور DFlash2 draft attention کے لیے خودکار طور پر منتخب
FLASH_ATTN۔ - Context:
MAX_MODEL_LEN=900000۔ - Concurrency:
MAX_NUM_SEQS=4۔ - Prefill:
MAX_NUM_BATCHED_TOKENS=1024۔ - Memory utilization:
GPU_MEM_UTIL=0.87۔
Speculative decoding کے موڈز تبدیل کریں
DFlash2 ڈیفالٹ ہے اور incoai/GLM-5.3-Flash-DFlash2 استعمال کرتا ہے۔ دو speculative tokens کے ساتھ چیک پوائنٹ کے MTP path پر واپس جانے کے لیے، اس کمانڈ کے ساتھ دوبارہ شروع کریں:
SPEC_METHOD=mtp ./start.sh restartماحول SPEC_METHOD=none کو بھی سپورٹ کرتا ہے۔ DFlash2 کا ڈیفالٹ draft tensor parallelism ایک ہے، جس سے چھوٹا draft model رینک 0 پر رہتا ہے اور ہر draft step کے لیے CX7 communication سے گریز ہوتا ہے۔
DFlash2 کے لیے TRITON_ATTN زبردستی نافذ نہ کریں۔ README کی پیمائشوں کے مطابق، اس backend نے draft block کے اندر attention کو causal بنا دیا اور بعد کی speculative positions پر acceptance تقریباً ختم ہو گئی۔ Draft attention کو unset چھوڑیں تاکہ SM121 FLASH_ATTN منتخب کرے۔
KV کیش اور طویل context کی کنفیگریشن
ہدف KV کیش fp8 ہی رہنا چاہیے۔ اس architecture پر sparse-MLA kernel packed fp8_ds_mla قبول کرتا ہے؛ BF16 کے لیے compatible sparse kernel موجود نہیں، اور NVFP4 KV kernels sparse MLA کے بجائے dense MHA پر لاگو ہوتے ہیں۔
DFlash2، vision support، 0.87 memory utilization اور 900,000 کی maximum model length کے ساتھ، README کے مطابق pool میں 982,612 tokens ہوتے ہیں اور fp8 MLA کے لیے تقریباً 15.67 GiB استعمال ہوتے ہیں۔ اس سے ایک مکمل 900,000-token درخواست کی گنجائش سے تقریباً 1.09 گنا capacity ملتی ہے۔ دستاویزی setup میں native one-million-token configuration اب بھی allocate نہیں ہوتی۔
ان ترتیبات کو برقرار رکھیں، الا یہ کہ آپ جان بوجھ کر runtime تبدیلی کی جانچ کر رہے ہوں:
KV_CACHE_DTYPE=fp8
GPU_MEM_UTIL=0.87
MAX_MODEL_LEN=900000
MAX_NUM_BATCHED_TOKENS=1024
SKIP_MM_PROFILING=1
LIMIT_MM={"image":4,"video":1}SKIP_MM_PROFILING=1 اہم ہے، کیونکہ maximum-size image اور video dummy input کی profiling unified memory ختم کر سکتی ہے۔ README یہ بھی خبردار کرتی ہے کہ batched-token limit کو 8,192 تک بڑھانے سے long-context operation کے دوران GB10 indexer top-k path پر oversubscription ہو جاتی ہے۔
Prefix caching کیسے کام کرتی ہے
Prefix caching فعال ہے، لیکن OpenAI API اب بھی stateless ہے۔ کلائنٹ کو ہر turn پر گفتگو کی مکمل تاریخ دوبارہ بھیجنی ہوتی ہے۔ vLLM بھیجے گئے prefix کا hash بناتا ہے اور جب cached blocks دستیاب ہوں تو انہیں دوبارہ استعمال کر سکتا ہے۔
- دستاویزی MLA cache manager کے تحت صرف block-aligned tokens ہی hits میں شمار ہوتے ہیں۔
MAX_NUM_SEQS=4بیک وقت جاری چار generations کی اجازت دیتا ہے؛ یہ چار مستقل chat sessions محفوظ نہیں کرتا۔- غیر فعال گفتگوؤں کے cached رہنے کی ضمانت نہیں ہے۔
- ایک گفتگو کی activations دوسری گفتگو کے ساتھ نہیں ملائی جاتیں۔
- کسی دوسرے workload کے ذریعے prefix خارج کیے جانے کے بعد پرانی chat کے لیے نیا prefill درکار ہو سکتا ہے۔
README کے live test میں 7,760-token follow-up میں سے 3,584 tokens دوبارہ استعمال ہوئے، یعنی prompt کا تقریباً 46 فیصد۔ Prefix caching کو مستقل session storage کے بجائے موقع بہ موقع رفتار بڑھانے والی سہولت سمجھیں۔
Decode performance کی پیمائش
Repository میں streaming decode اور coherence checks کے لیے tests/bench_decode.py شامل ہے۔ Structured count test اس طرح چلائیں:
python3 tests/bench_decode.py \
--phase structured \
--structured \
--runs 5 \
--max-tokens 400 \
--skip-coherence \
--out /tmp/glm53-structured.jsonProse hash-map explanation test اس طرح چلائیں:
python3 tests/bench_decode.py \
--phase prose \
--runs 5 \
--max-tokens 400 \
--skip-coherence \
--out /tmp/glm53-prose.jsonREADME کے دستاویزی warm، empty-KV protocol کے تحت structured workload نے concurrency one پر 62.9 tokens per second، concurrency two پر 103.3 aggregate tokens per second، اور concurrency four پر 146.5 aggregate tokens per second حاصل کیے۔ کارکردگی speculative acceptance پر بہت زیادہ منحصر ہے: lab median structured output کے لیے 61.7 tokens per second، لیکن prose کے لیے 26.9 تھا۔ تقریباً 60,000 سے 100,000 cached tokens والے mixed یا long-context tests میں 24 سے 27 tokens per second رپورٹ ہوئے۔
یہ اعداد README میں موجود مخصوص two-GB10 setup، prompt types، temperature-zero configuration، disabled thinking، DFlash2 k=7، اور 400-token generations کو بیان کرتے ہیں۔ انہیں universal throughput guarantees نہ سمجھا جائے۔
اختیاری refusal-direction ablation
Repository EXL3 checkpoint کو rewrite یا requantize کیے بغیر weight-load time پر refusal-direction ablation لاگو کر سکتی ہے۔ اسے فعال کرنے کے لیے یہ چلائیں:
ABLIT=1 ./start.sh restart
./start.sh logs | grep ablitDefault recipe layers 15 سے 45 تک ہر native BF16 self_attn.o_proj میں ترمیم کرتی ہے۔ Layers 0 سے 14 تک safety anchors کے طور پر برقرار رہتی ہیں۔ Default scale ABLIT_ALPHA=3.0 ہے؛ اسے 1.0 پر set کرنے سے plain projection لاگو ہوتی ہے جو فراہم کردہ direction کے along component کو ہٹا دیتی ہے۔
مفید controls میں شامل ہیں:
ABLIT=0یا unset value stock weights کو بغیر تبدیلی کے چھوڑ دیتی ہے۔ABLIT_DIRECTION=dealignشائع شدہ default direction کے لیے۔ABLIT_LAYERS=15-45inclusive edited range کے لیے۔ABLIT_ALPHA=3.0projection scale کے لیے۔ABLIT_INCLUDE_MTP=1استعمال ہونے پر checkpoint MTP block شامل کرنے کے لیے۔
README میں KLD quality results ablation کے بغیر ناپے گئے تھے۔ اسے فعال کرنے سے refusal behavior تبدیل ہوتا ہے اور coherence یا speculative acceptance متاثر ہو سکتی ہے، کیونکہ DFlash2 drafter تبدیل نہیں ہوتا جبکہ target outputs تبدیل ہو جاتے ہیں۔ اگر coherence کم ہو جائے تو README پہلے ABLIT_ALPHA کم کرنے کی تجویز دیتی ہے۔
Advanced launch workflows
دونوں machines پر image اور model cache موجود ہونے کے بعد، آپ بار بار ہونے والے transfer work کو چھوڑ سکتے ہیں:
SKIP_DOWNLOAD=1 SKIP_SYNC=1 ./start.shمقامی container image برقرار رکھنے اور تمام pulls، downloads، اور synchronization چھوڑنے کے لیے:
SKIP_PULL=1 SKIP_DOWNLOAD=1 SKIP_SYNC=1 ./start.sh restartPublic image استعمال کرنے کے بجائے موجودہ repository سے overlay دوبارہ بنانے کے لیے:
BUILD=1 SKIP_DOWNLOAD=1 SKIP_SYNC=1 ./start.sh restartآپ Dockerfile براہ راست بھی build کر سکتے ہیں:
docker build -t glm53-flash-sm121:local .Startup script عموماً image کو worker تک بھیجنے سے پہلے GPU overlay self-check چلاتی ہے۔ SKIP_OVERLAY_VERIFY=1 صرف اس وقت set کریں جب آپ جان بوجھ کر یہ check bypass کرنا چاہتے ہوں۔
اہم configuration warnings
--moe-backend marlinپاس نہ کریں۔ یہ deployment EXL3 weights اور اپنا packed expert method استعمال کرتی ہے۔- Target KV cache کو NVFP4 یا BF16 پر set نہ کریں۔
KV_CACHE_DTYPE=fp8برقرار رکھیں۔ - Speculative draft attention کو
TRITON_ATTNپر pin نہ کریں۔ - Image کو پرانے
glm53-flash-sm121:v8NVFP4/Ray deployment سے replace نہ کریں۔ - Tensor parallelism، node count، CX7 pins، یا
USE_HOST_NCCLمیں عجلت سے تبدیلی نہ کریں۔ یہ two-node recipe کے لازمی حصے ہیں۔ - Hugging Face checkpoint cache کو delete یا requantize نہ کریں، جب تک آپ کا ارادہ مکمل model دوبارہ download کرنے کا نہ ہو۔
- Unified-memory usage کو مدنظر رکھے بغیر multimodal profiling safeguards کو disable نہ کریں۔
ABLIT_DIRECTIONکو کسی غیر متعلقہ checkpoint کے vector کی طرف point نہ کریں، جب تک اس کے hidden size کی تصدیق نہ کر لیں۔
Troubleshooting
Service کبھی healthy نہیں ہوتی
دونوں logs کو ./start.sh logs اور ./start.sh logs worker کے ذریعے inspect کریں۔ Passwordless SSH، دستیاب disk space، Docker permissions، cache completeness، اور CX7 interface names چیک کریں۔ Initial weight loading اور graph capture سست ہوتے ہیں، اس لیے logs میں progress کا جائزہ لیے بغیر default readiness timeout ختم ہونے کا انتظار کریں۔
Rank initialization کے دوران NCCL hang ہو جاتا ہے
HEAD_CX7_IF، WORKER_CX7_IF، HEAD_CX7_IB، اور WORKER_CX7_IB کی تصدیق کریں۔ دستاویزی ڈیفالٹس لیب کے فزیکل پورٹس سے منسلک ہیں، اس لیے اگر آپ کی کیبلنگ مختلف ہو تو ان میں تبدیلی کی ضرورت پڑ سکتی ہے۔
ورکر GHCR تک رسائی حاصل نہیں کر سکتا
ورکر کو براہِ راست GHCR تک رسائی کی ضرورت نہیں ہے۔ ہیڈ پبلک امیج کھینچتا ہے اور اسے SSH کے ذریعے منتقل کرتا ہے۔ اگر ہیڈ کو گمنام ریٹ لمٹس کا سامنا ہو تو GHCR_USER اور GHCR_TOKEN کو ترتیب دیں۔
قیاسی ڈیکوڈنگ غیر متوقع طور پر سست ہے
تصدیق کریں کہ SPEC_METHOD=dflash اور DFLASH_TOKENS=7 موجود ہیں، اور ڈرافٹ اٹینشن کو زبردستی TRITON_ATTN پر سیٹ نہیں کیا گیا۔ یہ بھی یاد رکھیں کہ قیاسی کارکردگی آؤٹ پٹ کی قسم کے لحاظ سے بدلتی ہے: انتہائی منظم سلسلوں میں غیر محدود نثر کے مقابلے میں قبولیت کی شرح کہیں زیادہ ہو سکتی ہے۔
نتیجہ
یہ پروجیکٹ NVIDIA GB10 کے دو سسٹمز کو کمپیکٹ EXL3 ویٹس، fp8 sparse-MLA کیشنگ، اور DFlash2 قیاسی ڈیکوڈنگ استعمال کرتے ہوئے دو رینک والے OpenAI-compatible GLM-5.3 Flash سرور میں تبدیل کرتا ہے۔ تیز ترین طریقہ یہ ہے کہ فراہم کردہ نیٹ ورک، KV، اٹینشن، اور کوانٹائزیشن ڈیفالٹس برقرار رکھیں، ./start.sh کے ذریعے لانچ کریں، اور ہیلتھ اینڈ پوائنٹ، چیٹ API، لاگز، اور شامل کردہ ڈیکوڈ بینچ مارکس کے ذریعے تعیناتی کی توثیق کریں۔
