مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

مقداری طبیعی استدلال کے لیے Code-as-World ماڈلز چلائیں

Code-as-World انسٹال کرنے، اس کے 4B اور 9B وژن-لینگویج چیک پوائنٹس ڈاؤن لوڈ کرنے، QuantiPhy ویڈیو جائزے چلانے، vLLM کے ذریعے ماڈل فراہم کرنے، اور شامل کردہ MuJoCo بیلسٹک فٹ بال کی مثال چلانے کا طریقہ سیکھیں۔

مقداری طبیعی استدلال کے لیے Code-as-World ماڈلز چلائیں

Code-as-World کیا ہے؟

Code-as-World ایک تحقیقی منصوبہ ہے جو قابلِ عمل کوڈ کے ذریعے طبعی دنیا کی نمائندگی کرنے کے لیے بنایا گیا ہے۔ اس کا مرکزی خیال یہ ہے کہ پکسلز کسی منظر کے بارے میں شواہد فراہم کرتے ہیں، لیکن وہ ان اشیا، حالتوں، ساختوں، حرکیات یا طریقۂ کار کی براہِ راست تعریف نہیں کرتے جن کے نتیجے میں مشاہدہ شدہ منظر وجود میں آیا۔

یہ منصوبہ مشاہدات سے قابلِ عمل دنیا کی نمائندگی دریافت کرنے کے لیے تکراری سیمولیشن اور توثیق پر مبنی ایجنٹک عمل استعمال کرتا ہے۔ یہ نمائندگیاں بصری شواہد کو دوبارہ قابلِ استعمال طبعی ڈیٹا میں تبدیل کرتی ہیں اور مقداری طبعی استدلال کی معاونت کرتی ہیں۔

Code-as-World منصوبے کا جائزہ

اس ریلیز میں دو وژن لینگویج چیک پوائنٹس کے لیے مقامی inference اور evaluation کی سہولت شامل ہے: Code-as-World-VL-4B اور Code-as-World-VL-9B۔ اس میں vLLM کے ذریعے OpenAI-compatible serving اور MuJoCo سے تیار کردہ ویڈیو پر مبنی طبعی abstraction کی مثال بھی شامل ہے۔

اہم صلاحیتیں

  • قابلِ عمل دنیا کی نمائندگیاں: پکسلز کو کسی منظر کی مکمل ontology سمجھنے کے بجائے طبعی حالتوں، حرکیات اور طریقۂ کار کی ماڈلنگ کرتی ہیں۔
  • جاری کردہ دو چیک پوائنٹس: 4B اور 9B Code-as-World-VL ماڈلز میں سے انتخاب کریں۔
  • QuantiPhy evaluation: توثیقی ویڈیوز پر مقداری طبعی استدلال کی evaluation چلائیں اور evaluator-compatible prediction files تیار کریں۔
  • OpenAI-compatible serving: معیاری vLLM API server استعمال کرتے ہوئے کسی بھی چیک پوائنٹ کو دستیاب کریں۔
  • Simulation example: شامل کردہ ballistic soccer case چلائیں اور اس کی rendered video اور trajectory محفوظ کریں۔

ضروریات

CUDA-enabled host پر Python 3.10 یا 3.11 استعمال کریں۔ آپ کو Git اور Hugging Face CLI بھی درکار ہوگی، جسے hf download کمانڈز استعمال کرتی ہیں۔ ماڈل اسٹوریج اور GPU میموری کی ضروریات اس بات پر منحصر ہیں کہ آپ 4B چیک پوائنٹ، 9B چیک پوائنٹ یا دونوں استعمال کرتے ہیں۔

CUDA environment سے repository کی کمانڈز چلائیں۔ README میں CPU-only inference recipe فراہم نہیں کی گئی۔

Code-as-World انسٹال کریں

1. repository clone کریں

git clone https://github.com/MirroS-Lab/Code-as-World.git
cd Code-as-World

2. virtual environment بنائیں اور فعال کریں

python -m venv .venv
source .venv/bin/activate

اوپر دی گئی activation command Unix-like shells کے لیے ہے۔ فعال ہونے کے بعد، منصوبے کی فراہم کردہ inference dependencies انسٹال کریں:

pip install -r requirements/inference.txt

3. چیک پوائنٹس ڈاؤن لوڈ کریں

hf download MirroS-Lab/Code-as-World-VL-4B --local-dir weights/4b
hf download MirroS-Lab/Code-as-World-VL-9B --local-dir weights/9b

یہ کمانڈز 4B اور 9B ماڈلز کو weights/4b اور weights/9b میں رکھتی ہیں۔ اگر آپ صرف ایک ماڈل استعمال کرنا چاہتے ہیں تو صرف اسی کا متعلقہ چیک پوائنٹ ڈاؤن لوڈ کریں۔

QuantiPhy evaluation چلائیں

QuantiPhy اس ریلیز میں استعمال ہونے والا مقداری evaluation suite ہے۔ Code-as-World evaluation چلانے سے پہلے QuantiPhy کو clone کریں اور اس کی validation videos ڈاؤن لوڈ کریں۔

1. evaluation data تیار کریں

git clone https://github.com/Paulineli/QuantiPhy.git /path/to/QuantiPhy
hf download PaulineLi/QuantiPhy-validation \
  --repo-type dataset \
  --local-dir /path/to/QuantiPhy-validation

/path/to/QuantiPhy اور /path/to/QuantiPhy-validation کو اپنے سسٹم پر موجود حقیقی مقامات سے تبدیل کریں۔

2. 4B ماڈل کی evaluation کریں

Code-as-World repository سے یہ کمانڈ چلائیں:

python -m code_as_world.evaluation 4b \
  --input-csv /path/to/QuantiPhy/quantiphy_validation.csv \
  --video-dir /path/to/QuantiPhy-validation/validation_videos

3. 9B ماڈل کی evaluation کریں

python -m code_as_world.evaluation 9b \
  --input-csv /path/to/QuantiPhy/quantiphy_validation.csv \
  --video-dir /path/to/QuantiPhy-validation/validation_videos

ہر run تین قسم کے artifacts کو outputs/quantiphy/ میں لکھتا ہے: evaluator-compatible prediction CSV، انفرادی run کے لیے metric summary، اور ماڈل کی raw generations۔ انفرادی scores کے پیچھے موجود responses کا جائزہ لیتے وقت raw output محفوظ رکھنا مفید ہے۔

4. official evaluator چلائیں

prediction CSV files تیار کرنے کے بعد pandas انسٹال کریں اور official QuantiPhy evaluator چلائیں:

pip install pandas
python /path/to/QuantiPhy/evaluator.py \
  outputs/quantiphy \
  outputs/quantiphy_metrics \
  --gt_file /path/to/QuantiPhy/quantiphy_validation.csv

یہ کمانڈ outputs/quantiphy میں موجود prediction files کی quantiphy_validation.csv کے خلاف evaluation کرتی ہے اور حاصل شدہ metrics کو outputs/quantiphy_metrics میں لکھتی ہے۔

vLLM کے ساتھ ماڈل serve کریں

چیک پوائنٹس کو OpenAI-compatible vLLM endpoint کے ذریعے دستیاب کیا جا سکتا ہے۔ درج ذیل کمانڈ GPU 0 پر 4B چیک پوائنٹ serve کرتی ہے:

CUDA_VISIBLE_DEVICES=0 vllm serve weights/4b \
  --served-model-name code-as-world-4b \
  --chat-template code_as_world/templates/qwen3_5_no_think.jinja \
  --chat-template-content-format openai \
  --default-chat-template-kwargs '{"enable_thinking":false}' \
  --max-model-len 4608 \
  --gpu-memory-utilization 0.90 \
  --media-io-kwargs '{"video":{"num_frames":16,"fps":-1,"video_backend":"openpangu"}}' \
  --mm-processor-kwargs '{"do_sample_frames":false}' \
  --mm-processor-cache-gb 0 \
  --generation-config vllm

سرور ماڈل کو code-as-world-4b کے نام سے رجسٹر کرتا ہے۔ یہ پروجیکٹ کا تھنکنگ سے پاک چیٹ ٹیمپلیٹ استعمال کرتا ہے، ماڈل کی زیادہ سے زیادہ لمبائی 4608 مقرر کرتا ہے، اور openpangu بیک اینڈ کے ذریعے ویڈیو ان پٹ کو 16 فریمز کے لیے ترتیب دیتا ہے۔

بڑے چیک پوائنٹ کو سرونگ کرنے کے لیے weights/4b کو weights/9b سے اور code-as-world-4b کو code-as-world-9b سے تبدیل کریں۔

ویڈیو پر مبنی تجریدی مثال چلائیں

ریپوزٹری میں MuJoCo کے ذریعے چلنے والی بیلسٹک فٹ بال کی مثال شامل ہے۔ پہلے علیحدہ سمولیشن کی ضروریات انسٹال کریں:

pip install -r requirements/simulation.txt

پھر سمولیشن شروع کریں:

python -m code_as_world.simulation

سمولیشن اپنی رینڈر کردہ ویڈیو اور ٹریجیکٹری کو outputs/simulations/ میں لکھتی ہے۔

صرف ٹریجیکٹری تیار کریں

اگر آپ کو رینڈر کردہ ویڈیو کی ضرورت نہیں ہے تو رینڈرنگ غیر فعال کریں:

python -m code_as_world.simulation --no-render

یہ موڈ اس وقت مفید ہے جب صرف ٹریجیکٹری ڈیٹا درکار ہو یا رینڈرنگ غیر ضروری اضافی بوجھ پیدا کرے۔

اعلیٰ استعمال کے لیے تجاویز

  • ماڈل کا انتخاب سوچ سمجھ کر کریں: آپ نے جو چیک پوائنٹ ڈاؤن لوڈ کیا ہے، اس کے مطابق 4b یا 9b ایویلیوایشن آرگومنٹ مستقل طور پر استعمال کریں۔
  • صرف مطلوبہ چیز ڈاؤن لوڈ کریں: اگر آپ کا ورک فلو صرف ایک ماڈل سائز استعمال کرتا ہے تو دونوں چیک پوائنٹس محفوظ کرنے سے گریز کریں۔
  • خام جنریشنز محفوظ رکھیں: یہ جانچنے کے لیے کہ کسی پیش گوئی کو مخصوص اسکور کیوں ملا، outputs/quantiphy/ میں موجود فائلوں کا جائزہ لیں۔
  • دونوں ایویلیوایشن مراحل چلائیں: Code-as-World کمانڈ ایک واحد رن کا خلاصہ تیار کرتی ہے، جبکہ سرکاری QuantiPhy ایویلیویٹر تیار کردہ پیش گوئی کی CSV فائلوں کا مجموعی جائزہ لے سکتا ہے۔
  • فراہم کردہ چیٹ ٹیمپلیٹ برقرار رکھیں: سرونگ کی ترکیب واضح طور پر code_as_world/templates/qwen3_5_no_think.jinja استعمال کرتی ہے اور تھنکنگ کو غیر فعال کرتی ہے۔ دستاویزی ترتیب کو دوبارہ تیار کرتے وقت یہ ترتیبات برقرار رکھیں۔
  • GPU کا انتخاب احتیاط سے کریں: سرونگ کی مثال CUDA_VISIBLE_DEVICES=0 اور GPU میموری کے استعمال کی قدر 0.90 استعمال کرتی ہے۔ اپنے CUDA ہوسٹ کے مطابق ظاہر ہونے والا ڈیوائس منتخب کریں، جبکہ دیگر تبدیلیوں کو جاری کردہ ترکیب سے انحراف سمجھیں۔
  • ضرورت کے مطابق رینڈرنگ چھوڑ دیں: جب صرف ٹریجیکٹری درکار ہو تو سمولیشن کمانڈ میں --no-render شامل کریں۔

مزید مطالعہ

تحقیق کے پس منظر اور طریقۂ کار کے لیے تکنیکی رپورٹ، پروجیکٹ صفحہ، اور MirroS بلاگ پوسٹ ملاحظہ کریں۔

نتیجہ

Code-as-World طبیعی مناظر کی قابلِ اجرا نمائندگیوں کا جائزہ لینے کے لیے ایک عملی ریلیز فراہم کرتا ہے۔ انفرنس ماحول انسٹال کرنے اور چیک پوائنٹ ڈاؤن لوڈ کرنے کے بعد آپ QuantiPhy ایویلیوایشنز دوبارہ چلا سکتے ہیں، vLLM کے ذریعے ماڈل سرونگ کر سکتے ہیں، یا شامل کردہ MuJoCo سمولیشن چلا سکتے ہیں۔ یہ تمام ورک فلو مل کر دکھاتے ہیں کہ بصری مشاہدات واضح اور قابلِ تصدیق طبیعی استدلال میں کس طرح معاون ثابت ہو سکتے ہیں۔