Матрицата за обучение на AY-Robots с пет политики като редове и четири роботизирани ръце като колони, всяка клетка е връзка към конкретно ръководство за фина настройка
Pi0.5Поточно съвпадениеОбучение на VLALeRobotФина настройка

Как да обучите Pi0.5 върху собствени данни от робот

AY-Robots ResearchAugust 23, 202616 мин четене

Фино настройте Pi0.5, VLA модела с flow-matching от 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).

Свойствоpi0pi0.5
Вариант на VLM гръбнакgemma_2b (PaliGemma)gemma_2b (PaliGemma)
Вариант на експерт по действияgemma_300mgemma_300m
action_dim3232
action_horizon по подразбиране5050
max_token_len48200
discrete_state_inputfalseвярно, състоянието е дискретизирано в контейнери в подканата
Базова контролна точкаgs://openpi-assets/checkpoints/pi0_basegs://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.
python
# 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
Прочетено от src/openpi/models/pi0_config.py на основния клон на openpi, 23 август 2026 г.

Гръбнакът на PaliGemma и портата пред него

PaliGemma (arXiv 2407.07726) е SigLIP-So400m визуален енкодер върху езиков модел Gemma-2B, с около 3B параметъра. Pi0.5 наследява своя токенизатор, който се намира в затворено хранилище. Това е най-честият начин първоначалното изпълнение да се провали, преди първата стъпка на обучение.

Приемете затворения лиценз, преди да наемете GPU

Документацията на 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
Инференцияmore than 8 GBRTX 4090
Финно настройване, LoRAmore than 22.5 GBRTX 4090
Финно настройване, пълноmore than 70 GBA100 80 GB or H100
Капанът с версиите, който струва един ден

Pi0.5 и SmolVLA изискват LeRobot v3.0. GR00T N1.7 и GR00T N1.5 изискват v2.0 или v2.1 и се сриват при набор от данни v3.0. Една сесия за запис не може да захранва и двете без преобразуване, а грешката не казва "грешна версия на набора от данни". Вижте набор от данни отхвърлен: изисква се v3.

bash
# 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
От документацията на LeRobotDataset v3.0.

Платформата изисква поне 50 епизода за Pi0.5, същия минимум като GR00T и ACT. Предварителното обучение върши по-голямата част от работата, така че 50 чисти епизода са по-добри от 200 небрежни. Нови ли сте в това? Започнете с ръководството за събиране на данни.

Страницата с политики на AY-Robots, сравняваща петте обучими политики по параметри, GPU ниво, латентност и минимален брой епизоди
Pi0.5 се намира в нивата A100 и H100 с 485 ms на стъпка на действие, с минимум 50 епизода.

Маршрут А: фина настройка с хранилището openpi

Референтната имплементация: първо JAX, тествана само на Ubuntu 22.04, управлявана от конфигурационни обекти, а не от флагове. Път за PyTorch пристигна през септември 2025 г., валидиран на LIBERO. Три стъпки: конвертирайте данните си, дефинирайте конфигурация, обучете и обслужвайте.

  1. 1
    Клониране и инсталиране

    openpi използва uv. GIT_LFS_SKIP_SMUDGE е това, което позволява на LeRobot да бъде зависимост без LFS блобове.

    bash
    git 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. 2
    Конвертирайте данните си в набор от данни на LeRobot

    Upstream предоставя конвертори за LIBERO и DROID и очаква от вас да адаптирате един. Работата е в картографирането на ключовете.

    bash
    uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data
  3. 3
    Добавяне на конфигурация за обучение

    Конфигурациите са записи на TrainConfig в src/openpi/training/config.py. Тази адаптира pi05_droid_finetune, като зареждащото устройство за тежести е насочено към pi05_base.

    python
    TrainConfig(
        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. 4
    Изчисляване на нормализиращи статистики

    Изпълнява се спрямо името на конфигурацията, а не на набора от данни. Пропускането му е класическата първа грешка тук.

    bash
    uv run scripts/compute_norm_stats.py --config-name pi05_so100
  5. 5
    Обучение

    Променливата позволява на JAX да използва 90 процента от паметта на GPU вместо стандартните 75. На 80 GB карта това решава дали изпълнението ще оцелее.

    bash
    XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \
        --exp-name=my_experiment \
        --overwrite
  6. 6
    Обслужване

    Сървърът слуша на порт 8000 и отговаря на заявки за наблюдения; вашата роботска среда за изпълнение е клиентът.

    bash
    uv run scripts/serve_policy.py policy:checkpoint \
        --policy.config=pi05_so100 \
        --policy.dir=checkpoints/pi05_so100/my_experiment/20000
Пътят на PyTorch не е пътят на JAX

Имплементацията на openpi за PyTorch не поддържа 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. 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. 2
    Удостоверяване

    Приемете лиценза на paligemma-3b-pt-224 в браузър, след което влезте в машината, която извършва обучението.

    bash
    hf auth login
  3. 3
    Добавяне на квантилни статистики

    Pi0.5 нормализира STATE и ACTION с квантили, така че meta/stats.json се нуждае от q01 и q99. По-старите набори от данни съдържат само min, max, mean, std.

    bash
    lerobot-edit-dataset \
        --repo_id your_dataset \
        --new_repo_id your_dataset \
        --operation.type recompute_stats \
        --operation.overwrite true
  4. 4
    Фино настройване от lerobot/pi05_base

    Задайте размера на пакета според възможностите на вашата карта; документацията използва 64 на LIBERO при 80 GB. Подайте bfloat16 изрично, тъй като стандартната конфигурация е float32.

    bash
    lerobot-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. 5
    Изпълнение на ръката

    Във версия 0.6.x това е lerobot-rollout: lerobot-record отказва политика и отхвърля имена на набори от данни eval_. Base управлява ръката, sentry записва изпълнението.

    bash
    lerobot-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=LORALoRA адаптери вместо пълни теглануждае се от допълнението 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 TrainConfiglerobot pi05 и lerobot-trainAY-Robots изпраща
Размер на пакета3281
Пикова скорост на обучение2.5e-5, косинусов спадoptimizer_lr 2.5e-55e-5
Стъпки на обучение30,000100,00030,000
Интервал на контролни точки1,000 стъпки20,000 стъпкине е във формата
Сийд421,000във формата
Парче действиеaction_horizon 50chunk_size 50, n_action_steps 50не е във формата
Тип данни на теглотоbfloat16float32 until you pass --policy.dtypeне е във формата
Акумулиране на градиентняма такава настройка, вместо това fsdp_devicesabsent from every release so far16, и е отпаднало

Надежден ли е портът? Екипът на LeRobot донастрои базовия модел LIBERO за още 6k стъпки и сравни резултатите с референтните числа на openpi по четири набора: 97.5 процента средно срещу 96.85, напред при Libero 10, назад при Spatial. Изборът на маршрут е избор на инструменти, а не на качество.

Фина настройка на Pi0.5 върху собствени данни
Предимства
  • Повече от 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. Спрямо останалите четири:

ПолитикаИзвод на стъпка на действиеПараметриНиво на GPUМинимален брой епизоди
ACT20 ms~80 MRTX 4090 or any 24 GB card50
GR00T N1.7152 ms~3 BA100 80 GB or H100 80 GB50
GR00T N1.5165 ms~3 BA100 80 GB or H100 80 GB50
SmolVLA245 ms~450 MRTX 4090 or any 24 GB card30
Pi0.5485 ms~3 BA100 80 GB or H100 80 GB50
Страницата за директно сравнение на AY-Robots за GR00T N1.7 срещу Pi0.5, с параметри, ниво на GPU, латентност и формат на набора от данни
Същото ниво на GPU, същият минимален брой епизоди, различна версия на набора от данни, трикратна разлика в латентността.
Изводът трябва да е в близост до сервомоторите

Контролният цикъл при тези пет модела работи от 20 до 485 ms на стъпка на действие. Кръговите пътувания през публичния интернет, добавени към 485 ms, превръщат работещата политика в колеблива. Отдалеченият извод е приложим за бавно взимане и поставяне (pick-and-place), но не и за бързо реактивно движение. Предпочитаме да кажем това, отколкото да продаваме демонстрация, която работи само в LAN мрежа. Ако ръката ви спира между частите, започнете от политиката замръзва по средата на движението.

Upstream има отговор и половината от него вече е в изданието, което можете да инсталирате. Real-Time Chunking генерира следващата част, докато ръката все още изпълнява текущата, след което насочва припокриващите се стъпки на новата част да останат близо до вече изпълнената част, така че ръката да не спира или да не се движи рязко на мястото на свързване. Формата за време на извод е включена в промените на версия 0.4.2 за Pi0, Pi0.5 и SmolVLA и е флаг за разгръщане, а не за преобучение:

bash
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
execution_horizon е броят стъпки от предишната част, с които новата трябва да съвпада; документацията на RTC посочва 8 до 12 като обичаен диапазон. Стандартният бекенд за извод е --inference.type=sync.

Това не прави модела по-бърз. То скрива пролуката: 485 ms все още се изразходват, но извън критичния път, така че опашката да не изсъхва между частите. Вариантът за време на обучение от arXiv 2512.05964 отива по-далеч: моделът се научава да се обуславя от чист префикс на действие, така че при извод припокриването е твърдо запълнено с времеви стъпки на потока за всяко действие, вместо да е насочено, и обратният проход на насочването изчезва. По време на обучението той избира дължина на префикса за всеки пример и изчислява загубата на потока върху оставащия постфикс. Този флаг съществува само в основната версия, не и в 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 памет.
bash
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
Командата, която не се изпълнява от хоствана форма и pip не може да инсталира: RTC по време на обучение е флаг на основния клон.

Когато не работи

СимптомНай-вероятна причина
Изпълнението е отхвърлено преди да започнеDataset v2.1 но Pi0.5 иска v3.0, или обратното за GR00T
ImportError, липсва пакет datasetslerobot 0.6.x без допълнението за обучение
ValueError относно q01 и q99 при първия пакетНяма квантили в meta/stats.json; преизчислете или използвайте MEAN_STD
CUDA извън памет на стъпка 0Пълна фина настройка под 70 GB; опитайте checkpointing или train_expert_only
401 или грешка в gated repoЛицензът на токенизатора PaliGemma не е приет
Загубата спада, роботът не прави нищоНесъответствие в нормализацията, или политиката копира състоянието
Ръката спира между частитеЛатентност на стъпка плюс двупосочно пътуване; опашката за части изсъхва
Работи в една настройка, проваля се в другаТвърде малко епизоди, или всички в една конфигурация

Какво струва едно изпълнение

Pi0.5 е в скъпия клас, защото има нужда от 80 GB карта, а спот цените се променят, така че цифрата е диапазон, а не цена. За много SO-100 задачи, обучете SmolVLA или ACT на 24 GB клас първо, потвърдете, че задачата е изобщо научима, след това прекарайте A100 часове върху нея. Обучете първата си политика описва този по-евтин цикъл, и ценообразуване съдържа текущите класове.

КласПолитикиТипично изпълнениеЦена на часЦена на изпълнение
A100 80 GB or H100Pi0.5, GR00T N1.7, GR00T N1.53 to 6 hours1.20 to 2.00 USDabout 4 to 12 USD
RTX 4090 or any 24 GB cardSmolVLA, ACT2 to 5 hours0.30 to 0.60 USDabout 1 to 3 USD
Таблицата с разходите на AY-Robots, показваща кой GPU е необходим за всяка политика, типичното време за изпълнение и цена, както и колко епизода са необходими, преди една политика да стане полезна.
Същите две нива на продуктовата страница: Pi0.5 наема 80 GB карта, SmolVLA и ACT се побират на 4090.

Преди да отделите една вечер: и представят същите числа едно до друго. съдържа 85 VLA модела с 332 резултата от бенчмаркове, всеки свързан с източника си, а информация за семейството е в .

Обучете 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 от статията?

Не. И двете поддържат само главата за действие с flow matching. Етапът на предварително обучение с дискретни токени с 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.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started