Asosiy kontentga o‘tish
AI qo‘llanmalari

Miqdoriy fizik mulohaza yuritish uchun Code-as-World modellarini ishga tushirish

Code-as-World dasturini o‘rnatish, uning 4B va 9B ko‘rish-til checkpointlarini yuklab olish, QuantiPhy video baholashlarini ishga tushirish, vLLM orqali modelni taqdim etish va to‘plamdagi MuJoCo ballistik futbol misolini bajarishni o‘rganing.

Miqdoriy fizik mulohaza uchun Code-as-World modellarini ishga tushirish

Code-as-World nima?

Code-as-World — jismoniy olamni bajariladigan kod orqali ifodalashga mo‘ljallangan tadqiqot loyihasi. Uning asosiy g‘oyasi shundan iboratki, piksellar sahna haqida dalil beradi, ammo kuzatilgan holatni yuzaga keltirgan obyektlar, holatlar, tuzilmalar, dinamikalar yoki mexanizmlarni bevosita belgilamaydi.

Loyiha kuzatuvlardan bajariladigan olam tasvirlarini aniqlash uchun iterativ simulyatsiya va tekshiruvga asoslangan agentli jarayondan foydalanadi. Ushbu tasvirlar vizual dalillarni qayta foydalanish mumkin bo‘lgan jismoniy ma’lumotlarga aylantiradi va miqdoriy fizik mulohazalarni qo‘llab-quvvatlaydi.

Code-as-World loyihasi haqida umumiy ma’lumot

Reliz ikkita vision-language chekpointi uchun lokal inferensiya va baholashni qo‘llab-quvvatlaydi: Code-as-World-VL-4B va Code-as-World-VL-9B. Shuningdek, u vLLM orqali OpenAI bilan mos serverni hamda MuJoCo yordamida yaratilgan videoga asoslangan jismoniy abstraksiya namunasini o‘z ichiga oladi.

Asosiy imkoniyatlar

  • Bajariladigan olam tasvirlari: Piksellarni sahnaning to‘liq ontologiyasi sifatida ko‘rish o‘rniga, jismoniy holatlar, dinamikalar va mexanizmlarni modellashtiradi.
  • Ikkita chiqarilgan chekpoint: 4B va 9B Code-as-World-VL modellaridan birini tanlang.
  • QuantiPhy baholashi: Validatsiya videolari bo‘yicha miqdoriy fizik mulohazalarni baholang va evaluator bilan mos bashorat fayllarini yarating.
  • OpenAI bilan mos server: Istalgan chekpointni standart vLLM API serveri yordamida taqdim eting.
  • Simulyatsiya namunasi: Biriktirilgan futbol to‘pining ballistik holatini ishga tushiring va uning render qilingan videosi hamda trayektoriyasini saqlang.

Talablar

CUDA yoqilgan xostda Python 3.10 yoki 3.11 dan foydalaning. Shuningdek, Git va hf download buyruqlari ishlatadigan Hugging Face CLI kerak bo‘ladi. Model xotirasi va GPU xotirasi talablari 4B chekpointi, 9B chekpointi yoki ikkalasidan foydalanishingizga bog‘liq.

CUDA muhitida repository buyruqlarini bajaring. README faqat CPU uchun inferensiya retseptini taqdim etmaydi.

Code-as-World dasturini o‘rnatish

1. Repositoryni klonlash

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

2. Virtual muhit yaratish va uni faollashtirish

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

Yuqoridagi faollashtirish buyrug‘i Unix-simon shelllar uchun mo‘ljallangan. Faollashtirilgach, loyiha taqdim etgan inferensiya bog‘liqliklarini o‘rnating:

pip install -r requirements/inference.txt

3. Chekpointlarni yuklab olish

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

Bu buyruqlar 4B va 9B modellarini weights/4b va weights/9b kataloglariga joylaydi. Agar faqat bitta modeldan foydalanmoqchi bo‘lsangiz, faqat unga mos chekpointni yuklab oling.

QuantiPhy baholashini ishga tushirish

QuantiPhy — relizda ishlatiladigan miqdoriy baholash to‘plami. Code-as-World baholashini ishga tushirishdan oldin QuantiPhy’ni klonlang va uning validatsiya videolarini yuklab oling.

1. Baholash ma’lumotlarini tayyorlash

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 va /path/to/QuantiPhy-validation ni tizimingizdagi haqiqiy manzillar bilan almashtiring.

2. 4B modelini baholash

Code-as-World repositorysi ichidan quyidagini bajaring:

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 modelini baholash

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

Har bir ishga tushirish outputs/quantiphy/ katalogiga uch xil artefakt yozadi: evaluator bilan mos bashorat CSV fayli, alohida ishga tushirish uchun metrikalar xulosasi va modelning xom generatsiyalari. Xom chiqishni saqlab qo‘yish alohida ballar ortidagi javoblarni tekshirishda foydalidir.

4. Rasmiy evaluatorni ishga tushirish

Bashorat CSV fayllarini yaratgach, pandas’ni o‘rnating va rasmiy QuantiPhy evaluatorini chaqiring:

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

Bu buyruq outputs/quantiphy ichidan topilgan bashorat fayllarini quantiphy_validation.csv bilan taqqoslab baholaydi va natijaviy metrikalarni outputs/quantiphy_metrics katalogiga yozadi.

Modelni vLLM bilan server sifatida ishga tushirish

Chekpointlarni OpenAI bilan mos vLLM endpointi orqali taqdim etish mumkin. Quyidagi buyruq 4B chekpointini GPU 0’da server sifatida ishga tushiradi:

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

Server modelni code-as-world-4b nomi ostida ro‘yxatdan o‘tkazadi. Unda loyihaning fikrlashni o‘chirish chat shablonidan foydalaniladi, modelning maksimal uzunligi 4608 qilib belgilanadi va video kiritish openpangu backendi orqali 16 ta kadr uchun sozlanadi.

Kattaroq checkpointni ishga tushirish uchun weights/4b o‘rniga weights/9b ni, code-as-world-4b o‘rniga esa code-as-world-9b ni kiriting.

Video asosidagi abstraksiya misolini ishga tushirish

Repository MuJoCo asosidagi ballistik futbol misolini o‘z ichiga oladi. Avval alohida simulyatsiya talablarini o‘rnating:

pip install -r requirements/simulation.txt

So‘ng simulyatsiyani ishga tushiring:

python -m code_as_world.simulation

Simulyatsiya render qilingan video va trayektoriyani outputs/simulations/ katalogiga yozadi.

Faqat trayektoriyani yaratish

Render qilingan video kerak bo‘lmasa, render qilishni o‘chiring:

python -m code_as_world.simulation --no-render

Bu rejim faqat trayektoriya ma’lumotlari kerak bo‘lganda yoki render qilish ortiqcha yuklama keltirganda foydalidir.

Ilg‘or foydalanish bo‘yicha maslahatlar

  • Modelni ongli ravishda tanlang: Yuklab olgan checkpointingizga mos ravishda 4b yoki 9b baholash argumentidan izchil foydalaning.
  • Faqat keraklisini yuklab oling: Ish jarayoningiz faqat bitta model hajmidan foydalansa, ikkala checkpointni ham saqlashdan saqlaning.
  • Xom generatsiyalarni saqlang: Bashorat nima sababdan muayyan ball olganini aniqlashda outputs/quantiphy/ dagi fayllarni ko‘rib chiqing.
  • Baholashning ikkala qatlamini ishga tushiring: Code-as-World buyrug‘i bitta ishga tushirish xulosasini yaratadi, rasmiy QuantiPhy baholovchisi esa yaratilgan bashorat CSV fayllarini birgalikda baholay oladi.
  • Berilgan chat shablonini saqlang: Ishga tushirish retseptida code_as_world/templates/qwen3_5_no_think.jinja ishlatiladi va fikrlash o‘chiriladi. Hujjatlashtirilgan konfiguratsiyani takrorlashda ushbu sozlamalarni saqlang.
  • GPU tanlovini ehtiyotkorlik bilan o‘zgartiring: Ishga tushirish misolida CUDA_VISIBLE_DEVICES=0 va GPU xotirasidan foydalanish qiymati 0.90 qo‘llanadi. Ko‘rinadigan qurilmani CUDA xostingizga moslang, qolgan o‘zgarishlarni esa e’lon qilingan retseptdan chetlanish deb hisoblang.
  • Zarur bo‘lganda render qilishni o‘tkazib yuboring: Faqat trayektoriya kerak bo‘lsa, simulyatsiya buyrug‘iga --no-render ni qo‘shing.

Qo‘shimcha o‘qish

Tadqiqot asosi va metodologiyasi uchun texnik hisobot, loyiha sahifasi va MirroS blogidagi maqola bilan tanishing.

Xulosa

Code-as-World fizikaviy sahnalarning bajariladigan tasvirlarini o‘rganish uchun amaliy relizni taqdim etadi. Inference muhitini o‘rnatib, checkpointni yuklab olganingizdan so‘ng QuantiPhy baholashlarini takrorlashingiz, vLLM orqali modelni ishga tushirishingiz yoki kiritilgan MuJoCo simulyatsiyasini bajarishingiz mumkin. Ushbu ish jarayonlari birgalikda vizual kuzatuvlar aniq va tekshiriladigan fizikaviy mulohazalarni qanday qo‘llab-quvvatlashini namoyish etadi.