Pi-0.5

目录

概述

本仓提供 pi0.5 模型的昇腾适配。

模型介绍

具身智能模型 pi0.5 是一款视觉 - 语言 - 动作 (VLA) 模型,通过多源数据融合和分层推理实现开放世界泛化能力,能在完全陌生环境中执行复杂任务并持续操作 10-15 分钟。 该模型采用 "双系统" 架构,高层决策与底层执行协同,能理解任务语义并拆解复杂流程,已在家庭服务、工业自动化等领域展示应用潜力。 作为 pi0 的升级版,pi0.5 通过异构数据协同训练显著提升泛化性能,可在训练时未见过的场景中保持与特定环境训练模型相当的执行效果。

支持任务列表

本仓已经支持以下模型任务类型

模型 任务列表 是否支持
Pi-0.5 训练

代码实现

  • 参考实现:

    url=https://github.com/huggingface/lerobot.git
    commit_id=b954337ac7c8db5ea592c0d59dfb435845d9d380
    
  • 适配昇腾 AI 处理器的实现:

    url=https://gitcode.com/Ascend/DrivingSDK.git
    code_path=model_examples/Pi-0.5
    

前期准备

环境准备

安装昇腾环境

请参考昇腾社区中《Pytorch框架训练环境准备》文档搭建昇腾环境,本仓已支持表1中软件版本。

表 1 昇腾软件版本支持表

软件类型 首次支持版本
FrameworkPTAdapter 7.2.0
CANN 8.3.RC1

安装模型环境

表 2 三方库版本支持表

三方库 支持版本
Python 3.10
PyTorch 2.7.1
  1. 激活 CANN 环境

  2. 创建conda环境

    conda create -n pi05 python=3.10
    conda activate pi05
    
  3. 拉取 Driving SDK 代码仓

    git clone https://gitcode.com/Ascend/DrivingSDK.git
    cd DrivingSDK/model_examples/Pi-0.5
    
  4. 安装 Pi-0.5

    git clone https://github.com/huggingface/lerobot.git
    cd lerobot
    git checkout b954337ac7c8db5ea592c0d59dfb435845d9d380
    cp -f ../pi05.patch .
    cp -rf ../test/ .
    git apply pi05.patch
    pip install -e .
    cd ..
    
  5. 安装 transformers

    git clone https://github.com/huggingface/transformers.git
    cd transformers
    git checkout fix/lerobot_openpi
    git checkout dcddb970176382c0fcf4521b0c0e6fc15894dfe0
    pip install -e .
    cd ..
    
  6. 根据Mindspeed仓安装Mindspeed组件,如:

    git clone https://gitcode.com/Ascend/MindSpeed.git
    cd MindSpeed
    git checkout c357f9d2fd6f35365c9dc86f4792b8779420b667
    pip install -e .
    cd ../lerobot
    

数据准备

下载koch_test数据集,将数据集的绝对路径记作 dataset_path,转换数据集格式:

python -m lerobot.datasets.v30.convert_dataset_v21_to_v30 --repo-id={dataset_path}
python src/lerobot/datasets/v30/augment_dataset_quantile_stats.py --repo-id={dataset_path}

权重准备

下载Pi-0.5预训练权重,将权重的绝对路径记作 pi05_weights

快速开始

本任务主要提供A3单机8卡的训练脚本。

执行训练

conda activate pi05 && cd path/to/lerobot

  • 单机性能

    bash test/train_performance.sh {dataset_path} {pi05_weights}
    
  • 单机精度

    bash test/train_full.sh {dataset_path} {pi05_weights}
    

    参数说明

    参数 可选/必选 说明
    dataset_path 必选 数据路径
    pi05_weights 必选 权重路径

训练结果

  • A3单机8卡

    NAME Precision iterations global batchsize training loss FPS
    竞品 H bf16 30k 64 0.005 70.8
    Atlas 800T A3 bf16 30k 128 0.004 155.1

    字段说明

    字段 说明
    NAME 芯片类别
    Precision 训练精度
    iterations 训练迭代步数
    global batchsize 每次迭代的样本总数
    training loss 训练结束时的损失
    FPS 平均每秒处理的样本总数

变更说明

2025.11.18:首次发布。

2026.1.31:更新代码和性能。

FAQ

Q: 在无网络或者有防火墙的网络下,模型无法自动下载paligemma的权重怎么办?

A: 可自行下载paligemma权重,将权重路径记作 paligemma_weights。再执行以下命令,使用脚本将本地权重路径替换进模型代码:

bash test/paligemma_weights_mod.sh ${paligemma_weights}