
Фино подесете го Pi0.5, VLA моделот за совпаѓање на проток од Physical Intelligence, на вашите сопствени роботски податоци. Вистински команди за openpi и lerobot pi05, замки во форматот на податоци, ограничувања на VRAM и латентност.
Pi0.5 е моделот по кој посегнувате кога политиката треба да работи во просторија што никогаш не ја видела. Исто така е најнезгодниот од петте политики за тренирање тука за фино подесување рачно: изворното складиште е прво JAX, LeRobot портот го премести распоредувањето надвор од lerobot-record во 0.6.0 и ја направи основната инсталација премала за тренирање, а целосното фино подесување не се вклопува на 4090. Подолу: што усогласување на проток чини при заклучување, двете командни рути и бројката од 485 ms што одлучува дали резултатот е употреблив.
Што треба да знаете
- •VLA за усогласување на проток: 3B PaliGemma VLM плус 300M акционен експерт кој декодира континуирани акциони делови. Две рути за фино подесување, openpi и LeRobot pi05, со разлика од 0.65 поени на просекот на LIBERO.
- •Целосното фино подесување бара повеќе од 70 GB VRAM. openpi го наведува LoRA на 22.5 GB, само на неговата JAX патека.
- •Податочното множество мора да биде LeRobotDataset v3.0 со q01 и q99 квантили во meta/stats.json, или првата серија ќе фрли грешка.
- •Прво проверете ја вашата lerobot верзија: 0.6.0 го направи основниот пакет лесен и го премести распоредувањето надвор од lerobot-record.
- •Овде работи со 485 ms по акционен чекор, бара 50 епизоди и чини околу 4 до 12 USD по извршување.
Што всушност е Pi0.5
Physical Intelligence го објави pi0 во октомври 2024 година: модел за усогласување на проток визуелно-јазично-акционен модел на претходно трениран VLM: PaliGemma со 3 милијарди параметри плус 300M акционен експерт иницијализиран од нула, вкупно 3.3 милијарди. Трудот известува за претходно тренирање на над 10,000 часа роботски податоци низ 7 роботски конфигурации и 68 задачи. Повеќе во статијата за pi0.
Pi0.5 (arXiv 2504.16054, 22 април 2025) го задржува тој скелет и ја менува диетата за тренирање: веб податоци, детекција на објекти, вербални инструкции од луѓе кои го тренираат роботот, ознаки за подзадачи, податоци од вкрстено отелотворување од роботи во многу домови. Резултатот е робот кој чисти кујни во куќи кои не биле во сетот за тренирање. README-то на openpi додава детал што насловот не го прави: објавениот pi0.5 беше трениран со изолација на знаење (arXiv 2505.23705).
| Својство | pi0 | pi0.5 |
|---|---|---|
| Варијанта на VLM основа | gemma_2b (PaliGemma) | gemma_2b (PaliGemma) |
| Варијанта на експерт за акција | gemma_300m | gemma_300m |
| action_dim | 32 | 32 |
| Стандарден акционен хоризонт | 50 | 50 |
| max_token_len | 48 | 200 |
| discrete_state_input | false | true, состојбата дискретизирана во корпи во промптот |
| Основна контролна точка | gs://openpi-assets/checkpoints/pi0_base | gs://openpi-assets/checkpoints/pi05_base |
README-то на openpi е експлицитно: репозиториумот поддржува само главата за совпаѓање на проток, за тренирање и инференција на pi0.5. Трудот опишува две фази, а кодот ја носи само втората: пред-тренирањето ја претставува секоја акција како дискретни токени преку FAST токенизаторот, а при распоредувањето моделот заклучува подзадача на високо ниво пред секој акционен блок. Ниту едно од нив не е во репозиториумот. Картичката lerobot/pi05_base го дава истиот список и додава RL, иако трудот за pi0.5 воопшто не опишува фаза на засилено учење. Портот на LeRobot го наследува тој опсег, како и секој хостиран тренер на него, вклучувајќи го и овој овде. Лиценцирањето е исто така поделено: страницата со документација за pi05 вели Apache 2.0, картичката lerobot/pi05_base е означена со license: gemma.
Што менува совпаѓањето на протокот во врска со тренирањето и инференцијата
Политика политика што можете да ја тренирате на SO-100 или директно ги регресира дејствата (ACT) или ги токенизира и декодира авторегресивно (pi0-FAST). Поклопувањето на тековите не прави ниту едно од овие: тоа учи векторско поле кое го пренесува шумот до чист акционен блок, а потоа го интегрира. Трудот за pi0 користи 10 чекори на интеграција со големина на чекор 0.1; конфигурацијата pi05 на LeRobot го носи истиот num_inference_steps: int = 10.
- Тренинг: загубата регресира шумовит акционен блок. Нема токенизатор за подесување, нема дискретизација на вашите агли на зглобовите.
- Инференца: еден блок чини десет пропуштања нанапред низ акциониот експерт. Тоа е структурно, а не проблем со подесувањето.
- Излез: континуирани дејства со димензија 32, интерно пополнети, загубата е земена на димензиите што ги има вашиот робот. Рака со 6-DoF плус грабнувач користи 7.
# openpi/src/openpi/models/pi0_config.py - the defaults every pi05 config inherits
@dataclasses.dataclass(frozen=True)
class Pi0Config(_model.BaseModelConfig):
dtype: str = "bfloat16"
paligemma_variant: _gemma.Variant = "gemma_2b"
action_expert_variant: _gemma.Variant = "gemma_300m"
action_dim: int = 32
action_horizon: int = 50
max_token_len: int = None # 200 if pi05 else 48
pi05: bool = False # flips discrete_state_input to TrueОсновата PaliGemma и портата пред неа
PaliGemma (arXiv 2407.07726) е SigLIP-So400m визиски енкодер на јазичен модел Gemma-2B, со околу 3 милијарди параметри. Pi0.5 го наследува својот токенизатор, а тој токенизатор се наоѓа во затворен репозиториум. Ова е најчестиот начин на кој првото извршување пропаѓа, пред првиот чекор на обука.
Документацијата на LeRobot pi05 јасно наведува: pi0.5 го користи затворениот google/paligemma-3b-pt-224 токенизатор, затоа прифатете ја неговата лиценца на Hub и прво извршете hf auth login. Пристапот се доделува рачно, не веднаш. Прескокнете го, започнете платено извршување во облак, и ќе платите за под кој не може да преземе токенизатор.
Пред да започнете: формат на податочно множество, епизоди, хардвер
Pi0.5 во LeRobot чита LeRobot податочно множество во распоред v3.0, кој пристигна со lerobot 0.4.0 во октомври 2025: многу епизоди по Parquet и MP4 датотека наместо една датотека по епизода, со граници во meta/episodes/ наместо во имињата на датотеките. Снимајте со десктоп клиент или следете снимање на вашето прво податочно множество и ќе го имате.
| Режим | Потребна GPU меморија | Пример GPU |
|---|---|---|
| Заклучување (Inference) | повеќе од 8 GB | RTX 4090 |
| Дотерување (Fine-tuning), LoRA | повеќе од 22.5 GB | RTX 4090 |
| Дотерување (Fine-tuning), целосно | повеќе од 70 GB | A100 80 GB или H100 |
Pi0.5 и SmolVLA бараат LeRobot v3.0. GR00T N1.7 и GR00T N1.5 бараат v2.0 или v2.1 и паѓаат на v3.0 збир на податоци. Една сесија на снимање не може да ги напојува двете без конверзија, а грешката не вели "погрешна верзија на збирот на податоци". Видете збир на податоци одбиен: потребна е v3.
# v2.1 -> v3.0, run against a dataset already on the Hub
python -m lerobot.scripts.convert_dataset_v21_to_v30 --repo-id=<HF_USER/DATASET_ID>
# aggregates episode-0000.parquet, episode-0001.parquet, ... -> file-0000.parquet
# aggregates episode-0000.mp4, episode-0001.mp4, ... -> file-0000.mp4
# rewrites meta/episodes/* with per-episode lengths, tasks and offsetsПлатформата бара најмалку 50 епизоди за Pi0.5, истиот минимум како за GR00T и ACT. Пред-обуката ја врши најголемата работа, така што 50 чисти епизоди се подобри од 200 невешти. Нови сте во ова? Започнете со водичот за собирање податоци.

Рута А: фино подесување со openpi складиштето
Референтната имплементација: прво JAX, тестирана само на Ubuntu 22.04, водена од конфигурациски објекти наместо знаменца. Патека за PyTorch пристигна во септември 2025 година, валидирана на LIBERO. Три чекори: конвертирајте ги вашите податоци, дефинирајте конфигурација, тренирајте и сервирајте.
- 1Клонирај и инсталирај
openpi користи uv. GIT_LFS_SKIP_SMUDGE е она што му овозможува на LeRobot да дојде како зависност без LFS блобови.
bashgit clone --recurse-submodules git@github.com:Physical-Intelligence/openpi.git cd openpi GIT_LFS_SKIP_SMUDGE=1 uv sync GIT_LFS_SKIP_SMUDGE=1 uv pip install -e . - 2Конвертирај ги твоите податоци во LeRobot податочно множество
Upstream испорачува конвертори за LIBERO и DROID и очекува од вас да прилагодите еден. Работата е мапирањето на клучевите.
bashuv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data - 3Додај конфигурација за тренирање
Конфигурациите се записи на TrainConfig во src/openpi/training/config.py. Оваа ја прилагодува pi05_droid_finetune, со вчитувачот на тежини насочен кон pi05_base.
pythonTrainConfig( name="pi05_so100", model=pi0_config.Pi0Config( pi05=True, action_dim=32, # pi05 is trained with 32-dim actions action_horizon=16, ), # Copy LeRobotLiberoDataConfig in the same file and rewrite the key # mapping for your camera names, then reference your copy here. data=LeRobotLiberoDataConfig( repo_id="your_hf_username/my_so100_dataset", base_config=DataConfig(prompt_from_task=True), ), weight_loader=weight_loaders.CheckpointWeightLoader( "gs://openpi-assets/checkpoints/pi05_base/params" ), batch_size=32, num_train_steps=20_000, ) - 4Пресметај нормални статистики
Се извршува според името на конфигурацијата, а не според податочното множество. Прескокнувањето е класичен прв неуспех овде.
bashuv run scripts/compute_norm_stats.py --config-name pi05_so100 - 5Тренирај
Променливата му овозможува на JAX да користи 90 проценти од меморијата на графичкиот процесор наместо стандардните 75. На картичка од 80 GB тоа одлучува дали извршувањето ќе преживее.
bashXLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \ --exp-name=my_experiment \ --overwrite - 6Сервирај го
Серверот слуша на порта 8000 и одговара на барања за набљудување; вашето роботско извршување е клиентот.
bashuv run scripts/serve_policy.py policy:checkpoint \ --policy.config=pi05_so100 \ --policy.dir=checkpoints/pi05_so100/my_experiment/20000
Имплементацијата на PyTorch на openpi не поддржува pi0-FAST, мешана прецизност, FSDP, LoRA или EMA тежини, така што LoRA што достигнува 22.5 GB е само за JAX, преку варијантите gemma_2b_lora и gemma_300m_lora. Полошо: поставувањето копира закрпени датотеки преку вашите инсталирани transformers 4.53.2, а README предупредува дека со стандардниот режим на хардлинк на uv, ова трајно ги менува transformers во кешот на uv и може да се прошири во други проекти. Поништете го со uv cache clean transformers.
Рута Б: фино подесување со lerobot pi05
Портот на LeRobot ги обвиткува истите тежини во CLI што веќе го користите за ACT и SmolVLA. Сè подолу беше проверено наспроти lerobot 0.6.1, изданието од 3 август 2026 година, и документите за pi05 на 23 август 2026 година. Верзиите се важни овде: v3.0 податочните множества пристигнаа со 0.4.0 во октомври 2025 година, блогот 0.5.0 од 9 март 2026 година ги претставува pi0-FAST и Real-Time Chunking, а 0.6.0 на 6 јули 2026 година го направи основниот пакет лесен и го премести распоредувањето на lerobot-rollout.
Една работа не се промени: lerobot-train и lerobot-record веќе беа влезни точки во 0.3.2, август 2025 година. Упатство што сè уште повикува python -m lerobot.scripts.train претходи на една година промени и вреди да не му се верува и за останатото.
- 1Инсталирајте со соодветните додатоци
Од верзија 0.6.0, основната инсталација содржи само основни ML зависности, а додатокот pi не додава код за податоци или обука, така што за фино подесување е потребен и додатокот за обука. Постарите еднолиниски команди не успеваат овде при увоз.
bash# policy dependencies plus the training stack pip install 'lerobot[pi,training]' # from a source checkout pip install -e ".[pi,training]" # driving an SO-100 afterwards needs the robot extras too pip install 'lerobot[core_scripts,feetech]' - 2Автентицирајте се
Прифатете ја лиценцата paligemma-3b-pt-224 во прелистувач, потоа најавете се на машината што тренира.
bashhf auth login - 3Додадете квантилни статистики
Pi0.5 ги нормализира STATE и ACTION со квантили, така што meta/stats.json бара q01 и q99. Постарите множества на податоци содржат само min, max, mean, std.
bashlerobot-edit-dataset \ --repo_id your_dataset \ --new_repo_id your_dataset \ --operation.type recompute_stats \ --operation.overwrite true - 4Фино подесување од lerobot/pi05_base
Поставете ја големината на пакетот на она што вашата картичка може да го издржи; документацијата користи 64 на LIBERO со 80 GB. Предадете bfloat16 експлицитно, стандардната конфигурација е float32.
bashlerobot-train \ --dataset.repo_id=${HF_USER}/my_so100_dataset \ --policy.type=pi05 \ --policy.pretrained_path=lerobot/pi05_base \ --policy.gradient_checkpointing=true \ --policy.dtype=bfloat16 \ --policy.device=cuda \ --policy.push_to_hub=false \ --output_dir=./outputs/pi05_so100 \ --job_name=pi05_so100 \ --batch_size=4 \ --num_workers=8 \ --steps=30000 \ --save_freq=5000 \ --seed=1000 - 5Извршете го на роботската рака
Во 0.6.x ова е lerobot-rollout: lerobot-record одбива политика и ги отфрла имињата на множествата податоци eval_. Base го управува роботската рака, sentry го снима извршувањето.
bashlerobot-rollout \ --strategy.type=base \ --policy.path=${HF_USER}/my_policy \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM1 \ --robot.cameras="{ up: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30}}" \ --task="Put lego brick into the transparent box" \ --duration=60 # same run, recorded into an eval_ dataset lerobot-rollout \ --strategy.type=sentry \ --policy.path=${HF_USER}/my_policy \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM1 \ --dataset.repo_id=${HF_USER}/eval_so100 \ --dataset.single_task="Put lego brick into the transparent box" \ --duration=600
| Флаг | Што прави | Забелешка |
|---|---|---|
| --policy.type=pi05 | избира Pi0.5 | задолжително со pretrained_path, изоставете со --policy.path |
| --policy.pretrained_path | вчита само тежини | имиња на карактеристики од вашето множество податоци, зачуваните поставки се ресетираат |
| --policy.path | тежини плус config.json на контролната точка | зачуваните поставки како n_action_steps се наследуваат |
| --policy.n_action_steps | чекори потрошени по парче | се враќа на 50, никогаш над chunk_size (стандардно 50) |
| --policy.train_expert_only | замрзнува VLM, тренира експерт | стандардно false, помалку меморија, одредена цена во успехот |
| --policy.gradient_checkpointing | пресметува повторно наместо да складира активации | стандардно false, прва опција кога извршувањето нема да се вклопи |
| --peft.method_type=LORA | LoRA адаптери наместо целосни тежини | потребен е peft додатокот, документиран пример е SmolVLA |
| --policy.rtc_training_max_delay | акција-префикс кондиционирање за RTC | само главна гранка, не во 0.6.1, мора да остане под chunk_size |
| --rename_map | мапира колони од множеството податоци на карактеристики на политиката | потребно кога вашите клучеви на камерата се разликуваат |
Без квантили ќе добиете ValueError: QUANTILES normalization mode requires q01 and q99 stats на првиот пакет. Пресметајте ги статистиките повторно, но резултатот завршува во $HF_LEROBOT_HOME/your_dataset, а не во кешот што го чита --dataset.repo_id, па тренирајте со --dataset.root што покажува таму или турнете на Hub. Или прескокнете ги квантилите со --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}', како што прави референтната команда LIBERO.
Три групи на стандардни вредности и кои од нив стигнуваат до тренерот
TrainConfig на openpi е референца, PI05Config на LeRobot е она што lerobot-train го користи кога ништо не кажувате, а формата овде испраќа трет сет. Изненадувањето е стапката на учење: двете стандардни поставки нагоре достигнуваат максимум 2.5e-5, додека сопствената pi05_libero конфигурација на openpi и оваа платформа ја зголемуваат на 5e-5.
| Поставка | openpi TrainConfig | lerobot pi05 и lerobot-train | AY-Robots испраќа |
|---|---|---|---|
| Големина на серија | 32 | 8 | 1 |
| Врвна стапка на учење | 2.5e-5, косинусно опаѓање | optimizer_lr 2.5e-5 | 5e-5 |
| Чекори на тренирање | 30,000 | 100,000 | 30,000 |
| Интервал на контролна точка | 1,000 чекори | 20,000 чекори | не е во формата |
| Почетна вредност | 42 | 1,000 | во формата |
| Парче акција | action_horizon 50 | chunk_size 50, n_action_steps 50 | не е во формата |
| Тип на податок за тежина | bfloat16 | float32 додека не го поминете --policy.dtype | не е во формата |
| Акумулација на градиент | нема таква опција, наместо тоа fsdp_devices | отсутен од секое досегашно издание | 16, и е отфрлен |
Дали портот е верен? Тимот на LeRobot го дотера основниот модел LIBERO за дополнителни 6k чекори и го спореди со референтните бројки на openpi на четири пакети: 97.5 проценти просек наспроти 96.85, понапред на Libero 10, поназад на Spatial. Рутата е избор на алатки, а не избор на квалитет.
- Повеќе од 10,000 часа претходно тренирање на робот стојат зад него, така што 50 епизоди од вашата задача може да бидат доволни.
- Континуирани акции: нема токенизатор за дотерување, нема под на дискретизација на вашите агли на зглобовите.
- Портот на LeRobot постигнува 97.5 проценти на просекот LIBERO наспроти 96.85 на openpi, така што попријателскиот CLI не чини ништо мерливо.
- Патеки ефикасни во однос на параметрите од двете страни: JAX LoRA варијанти на openpi, PEFT интеграција на LeRobot.
- Целосното дотерување бара повеќе од 70 GB. Бројката од 22.5 GB за LoRA е бројка на JAX од openpi; ниту една не е објавена за pi05 под PEFT.
- 485 ms по чекор на акција, најбавно од петте овде: двојно поспоро од SmolVLA, дваесет и четири пати поспоро од ACT.
- Потребен е LeRobot v3.0, така што збир на податоци снимен за извршување на GR00T треба да се конвертира, и обратно.
- Новите опции прво слетуваат на main: RTC и MEM меморијата за време на тренирање не се во 0.6.1, така што најновите документи може да значат инсталирање од git.
Реалноста од 485 ms и каде престанува да биде употреблива
Ова го одлучува вашиот проект, па затоа доаѓа пред табелата со трошоци. по чекор на акција измерен овде за Pi0.5 е 485 ms. Во споредба со другите четири:
| Политика | Заклучување по чекор на акција | Параметри | Ниво на графичка картичка | Минимални епизоди |
|---|---|---|---|---|
| ACT | 20 ms | ~80 M | RTX 4090 or any 24 GB card | 50 |
| GR00T N1.7 | 152 ms | ~3 B | A100 80 GB or H100 80 GB | 50 |
| GR00T N1.5 | 165 ms | ~3 B | A100 80 GB or H100 80 GB | 50 |
| SmolVLA | 245 ms | ~450 M | RTX 4090 or any 24 GB card | 30 |
| Pi0.5 | 485 ms | ~3 B | A100 80 GB or H100 80 GB | 50 |

Контролната јамка кај овие пет модели работи од 20 до 485 ms по чекор на акција. Повратните патувања преку јавниот интернет, над 485 ms, претвораат една функционална политика во колеблива. Далечинскиот инференс е изводлив за бавно земање и поставување, но не и за брзо реактивно движење. Попрво би го кажале тоа отколку да продаваме демо што работи само на LAN. Ако вашата рака паузира помеѓу делови, започнете од политиката замрзнува среде движење.
Upstream има одговор, а половина од него е веќе во изданието што можете да го инсталирате. Real-Time Chunking го генерира следниот дел додека раката сè уште го извршува тековниот, потоа ги води преклопувачките чекори на новиот дел да останат блиску до веќе извршениот дел, така што раката не застанува или не се грчи на спојот. Формата за време на инференс е испорачана во дневникот за промени 0.4.2 за Pi0, Pi0.5 и SmolVLA и е знаменце за распоредување, а не за претренирање:
lerobot-rollout \
--strategy.type=base \
--policy.path=${HF_USER}/my_policy \
--inference.type=rtc \
--inference.rtc.execution_horizon=10 \
--inference.rtc.max_guidance_weight=10.0 \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM1 \
--robot.cameras="{ up: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30}}" \
--task="Put lego brick into the transparent box" \
--duration=60Тоа не го прави моделот побрз. Тоа ја крие празнината: 485 ms сè уште се трошат, но надвор од критичната патека, така што редот не се празни помеѓу деловите. Варијантата за време на тренирање од arXiv 2512.05964 оди подалеку: моделот учи да се условува на чист префикс на акција, така што при инференс преклопувањето е цврсто вметнато со временски чекори на проток по акција наместо водено, а повратниот премин на водење исчезнува. За време на тренирањето, тој зема должина на префикс по пример и ја пресметува загубата на проток на преостанатиот постфикс. Тоа знаменце постои само на main, не во 0.6.1, а доцнењето за кое тренирате мора да остане под chunk_size.
Два начини да добиете Pi0.5 контролна точка
Изнајмувате или поседувате картичка од 80 GB, инсталирате еден од горенаведените стекови, го конвертирате вашето множество податоци и го надгледувате извршувањето. Ги задржувате сите контроли: JAX LoRA на openpi, PEFT адаптерите на LeRobot, релативни дејства, прилагодени мапирања на копчиња. Ги задржувате и сите неуспеси.
- Хардвер: A100 80 GB или H100, или картичка од 24 GB на патеката JAX LoRA на openpi.
- Поставување: едно попладне за првото извршување, главно мапирање на копчиња и токенизаторот со порта.
- Не е достапно на хостираната форма: PEFT адаптери, релативни дејства, RTC за време на тренирање, MEM меморија.
lerobot-train \
--dataset.repo_id=${HF_USER}/my_so100_dataset \
--policy.type=pi05 \
--policy.pretrained_path=lerobot/pi05_base \
--policy.rtc_training_max_delay=10 \
--policy.gradient_checkpointing=true \
--policy.dtype=bfloat16 \
--batch_size=4 --steps=30000 --seed=1000Го избирате моделот и множеството податоци во формата за тренирање, позадината изнајмува графички процесор на спот пазар според потребната VRAM, го извршува тренерот и запишува контролни точки во складиштето за објекти. Pi0.5 е достапен само во облак овде. Постојат водичи за SO-100, SO-101, Koch v1.1 и LeKiwi.
| Поставка | Што испраќа платформата за Pi0.5 |
|---|---|
| Основна контролна точка | lerobot/pi05_base |
| Тип на политика | pi05 |
| Големина на серија | 1 |
| Стапка на учење | 5e-5 |
| Максимални чекори | 30000 |
| Акумулација на градиент | 16, but see the warning below |
| Дополнителни контроли во формата | seed, logFreq |
| Формат на множество податоци | LeRobot v3.0 |
| Ниво на графички процесор | A100 80 GB or H100 80 GB |
Тренерот испраќа вредност за акумулација на градиент од 16, а lerobot 0.5.1 нема знаменце за да ја прими, па затоа се отфрла. Ниту еден објавен lerobot нема такво: контролата постои само на главната гранка, како --accelerator.gradient_accumulation.steps. Ефективната големина на серијата овде е 1, наспроти 256 што ги користи конфигурацијата pi05_libero на openpi. Вреди да се знае пред да прочитате крива на загуба. Контролата се применува на GR00T N1.7 и GR00T N1.5 извршувања.
Заклучувањето работи на ист начин: се обезбедува под за да ја опслужи политиката и вашиот локален клиент комуницира со него. Потот има надзорник за мирување и се уништува сам, така што заборавена картичка не наплатува тивко. Се применува предупредувањето за латентност, поради што ACT со 20 ms често победува во брза задача.
Кога не работи
| Симптом | Најверојатна причина |
|---|---|
| Извршувањето е одбиено пред да започне | Dataset v2.1 but Pi0.5 wants v3.0, or reverse for GR00T |
| ImportError, недостасува пакетот datasets | lerobot 0.6.x without the training extra |
| ValueError за q01 и q99 на првата серија | No quantiles in meta/stats.json; recompute or use MEAN_STD |
| CUDA нема доволно меморија на чекор 0 | Full fine-tune below 70 GB; try checkpointing or train_expert_only |
| 401 или грешка во затворено складиште | PaliGemma tokenizer license not accepted |
| Загубата паѓа, роботот не прави ништо | Normalisation mismatch, or the policy copies the state |
| Раката паузира помеѓу парчињата | Per-step latency plus round trip; the chunk queue runs dry |
| Работи во едно поставување, не успева во друго | Too few episodes, or all in one configuration |
- Одбиен сет на податоци: потребна е v3
- Нема доволно меморија за време на обуката
- Загубата паѓа, но политиката не прави ништо
- Политиката замрзнува среде движење
- Политиката работи само во една поставка
- Задачата за обука заглавена во редица
Колку чини едно извршување
Pi0.5 се наоѓа во скапиот слој бидејќи му треба картичка од 80 GB, а спот цените се менуваат, па бројката е опсег наместо цена. За многу SO-100 задачи, обучете SmolVLA или ACT на слојот од 24 GB прво, потврдете дека задачата е воопшто научлива, а потоа потрошете A100 часови на неа. Обучете ја вашата прва политика го поминува тој поевтин циклус, и цени ги содржи тековните слоеви.
| Слој | Политики | Типично извршување | Цена по час | Цена по извршување |
|---|---|---|---|---|
| A100 80 GB или H100 | Pi0.5, GR00T N1.7, GR00T N1.5 | 3 до 6 часа | 1.20 до 2.00 USD | околу 4 до 12 USD |
| RTX 4090 или која било картичка од 24 GB | SmolVLA, ACT | 2 до 5 часа | 0.30 до 0.60 USD | околу 1 до 3 USD |

Пред да посветите една вечер: GR00T N1.7 против Pi0.5 и Pi0.5 против SmolVLA ги прикажуваат истите бројки еден до еден. Арената содржи 85 VLA модели со 332 резултати од бенчмарк, секој поврзан со неговиот извор, а позадината за семејството е во нашиот преглед на VLA.
Обучете го Pi0.5 без да го градите стекот
Изберете го множеството податоци и хиперпараметрите во форма. Бекендот изнајмува картичка од 80 GB на спот пазарот, го извршува тренерот и ги запишува контролните точки во складиштето за објекти. Водичи за SO-100, SO-101, Koch v1.1 и LeKiwi.
Отворете ги водичите за обукаМоже ли да го фино подесам Pi0.5 на RTX 4090?▾
Не е целосно фино подесување: openpi наведува повеќе од 70 GB за тоа, така што A100 80 GB или H100. Неговата бројка од 22.5 GB LoRA припаѓа на патеката JAX; имплементацијата на PyTorch нема LoRA. Интеграцијата на PEFT на LeRobot постои, но нејзиниот документиран пример е SmolVLA и не е објавена бројка за VRAM за pi05.
Колку епизоди ми се потребни?▾
Педесет, истото дно како GR00T и ACT; само SmolVLA оди пониско, на 30. Основната контролна точка носи повеќе од 10.000 часа претходна обука, така што финото подесување се прилагодува наместо да учи од ништо: 50 чисти, разновидни епизоди се подобри од двесте од една конфигурација.
Која е разликата помеѓу --policy.path и --policy.pretrained_path?▾
--policy.path вчитува тежини и config.json на контролната точка, така што зачуваните поставки како n_action_steps се наследуваат и --policy.type мора да се изостави. --policy.pretrained_path вчитува само тежини: имињата на карактеристиките доаѓаат од вашето множество податоци, зачуваните поставки се ресетираат, --policy.type е задолжително. Затоа командата LIBERO експлицитно ги предава n_action_steps=10 и empty_cameras=1; инаку тие се враќаат на 50 и 0.
Дали отворената верзија ми го дава целиот Pi0.5 од трудот?▾
Не. И двете поддржуваат само главата за акција со усогласување на протокот. Фазата на претходна обука со дискретни токени со FAST токенизаторот за акција и предвидувањето на подзадачи на високо ниво не беа објавени, а картичката lerobot/pi05_base додава RL на таа листа иако трудот за pi0.5 не опишува фаза на учење со засилување. Вие обучувате политика на ниско ниво условена од јазичен стринг што го давате, а не модел што сам разложува долга задача.
Против кои верзии е напишан овој водич?▾
openpi на main и lerobot 0.6.1, изданието од 3 август 2026 година, и двете прочитани на 23 август 2026 година. v3.0 множествата податоци пристигнаа со 0.4.0 во октомври 2025 година. 0.6.0 го направи основниот пакет лесен, така што lerobot[pi] сам повеќе не инсталира стек за обука, и го премести распоредувањето на lerobot-rollout. RTC за време на обука е само на main; хостираниот тренер овде работи 0.5.1.
Sources
- Physical-Intelligence/openpi: open-source models and packages for robotics
- openpi training configs, including pi05_libero and pi05_droid_finetune
- pi0: A Vision-Language-Action Flow Model for General Robot Control
- pi0.5: a Vision-Language-Action Model with Open-World Generalization
- Knowledge Insulating Vision-Language-Action Models: Train Fast, Run Fast, Generalize Better
- PaliGemma: A versatile 3B VLM for transfer
- Training-Time Action Conditioning for Efficient Real-Time Chunking
- LeRobot pi05 documentation on the main branch, including training-time RTC
- LeRobot documentation: parameter efficient fine-tuning with PEFT
- LeRobotDataset v3.0 format documentation
- LeRobot release notes: v0.3.2 through v0.6.1, with the v0.6.0 breaking changes
- LeRobot v0.5.0: Scaling Every Dimension
- lerobot/pi05_base model card
- LeRobot documentation: Real-Time Chunking (RTC)
- openpi Pi0Config: the model defaults pi0 and pi05 inherit
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started