在PAI中使用PPU PIP源(v1.6.x)

更新时间:
复制 MD 格式

PAI-PPU PIP源提供适配PPU的框架和开源库,支持通过 pip install 安装PPU优化版本和社区版本的Python包。适用于基于PPU镜像搭建生产环境、安装PPU定制依赖包的场景。

PAI-PPU PIP源简介

PAI-PPU pip源提供适配PPU产品的框架、基于PPU SDK重编译的开源库以及客户定制的包,通过 pip install 安装,帮助快速搭建生产环境。客户需要的包若不在PAI-PPU pip源内,则从官方pypi源拉取。PAI-PPU pip源的Python包分PPU优化版本(Optimized Edition)和社区版本(Community Edition):OE版本随PAI-PPU镜像 release 发布,CE版本每周迭代更新。

PIP包一览表

PAI-PPU PIP源的pip list随PAI-PPU镜像更新,可在对应release中查看。包含两个副表:“社区版本”和“优化版本”。“社区版本”为基于PPU SDK编译的开源库,以及适配PPU的PyTorch、TensorFlow框架;“优化版本”为针对PPU做过性能优化的开源库。

命名规则解析

pip源地址命名规则

以 https://art-pub.eng.t-head.cn/artifactory/api/pypi/ptgai-pypi_ppu_ubuntu_cu118_index/simple/ 为例:

https://art-pub.eng.t-head.cn/artifactory/api/pypi/ptgai-pypi_ppu_

ubuntu_

cu118_

index/simple/

源固定地址

区分ubuntu和alios,不区分os具体版本

表示cuda11.8

固定格式

pip源安装指令命名规则

以 pip install flash-attn==2.4.3+ppu1.4.0.ce 为例:

2.4.3

+ppu

1.4.0

.ce

版本号

固定格式

发布版本

ce:开源(Community Edition)

oe:针对PPU优化(Optimized Edition)

  • ce、oe缺省:不指定包类型时,用 pip install flash-attn==2.4.3+ppu1.4.0 也能安装成功。若同一配置下同时存在社区版和优化版,默认安装优化版。

  • 发布版本缺省:不指定发布版本时,用 pip install flash-attn==2.4.3 安装,默认装最新编译并上传到pip源的版本。

  • 版本号缺省:不指定版本号时,用 pip install flash-attn 安装,默认装最新版flash-attn。

实际应用示例

每条pip指令单独设置源

应用场景:在基础docker镜像 ppu:cuda11.8-alios7u2-torch1.13.1-py38 中安装xformers 0.0.25、flash-attn 2.5.6定制软件包。

  1. 进入docker,参考pip包一览表中的“定制库”副表,确认可安装的定制包及对应指令。

  2. 筛选xformers 0.0.25和flash-attn 2.5.6,匹配alios7u2、cuda 11.8、torch 1.13.1、python 3.8环境的安装指令。指令需与环境匹配,否则安装后无法运行。

pip install flash-attn==2.5.6+ppu1.4.0.oe -i https://art-pub.eng.t-head.cn/artifactory/api/pypi/ptgai-pypi_ppu_alios_cu118_index/simple/
pip install xformers==0.0.25+ppu1.4.0.oe -i https://art-pub.eng.t-head.cn/artifactory/api/pypi/ptgai-pypi_ppu_alios_cu118_index/simple/

在docker中设置环境变量

应用场景:基于PAI-PPU官方镜像,搭建支持PyTorch 2.1.2 + torchaudio + torchvision的生产环境。

  1. 进入docker,确认环境为cuda 12.2、alios7u2、python 3.10。设置PAI-PPU pip源地址环境变量,使后续pip install默认从PPU源拉取包。

export PIP_INDEX_URL='https://art-pub.eng.t-head.cn/artifactory/api/pypi/ptgai-pypi_ppu_alios_cu122_index/simple/'
  1. 查看pip list,确认待安装的包都在本次发布范围内,避免安装时找不到包。

image.png

  1. 安装PAI-PPU pip源上的包。若待安装的软件包依赖PPU,但PAI-PPU pip源暂未支持,会报错。不指定PPU SDK版本时,默认装pip源上最新版本的包。

pip install torch==2.1.2+ppu1.4.0
pip install torchaudio==2.1.2+ppu1.4.0
pip install torchvision==0.16.2+ppu1.4.0

不指定PPU发布版本的安装方式

pip install torch==2.1.2 torchaudio==2.1.2 torchvision==0.16.2

常见问题解决

遇到以下PIP源hash值错误时,用 --no-cache 指令解决。

ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents care
у; someone may have
torche=1.9.1+ppu202411231210.ce from https://art.eng.t-head.cn/artifactory/api/pypi/ptgai-pypi_ppu_ubunty_cuf14_index/torch/1.9.182Bppu202411231210.ce/torch-1.9.182Bppu202411231210.co
38-cp38-linux x86 64.whl#sha256=b43caeeaa6458f847451ac9ca7d326e29ff202172268fef98cc366f7dd8330c3:
Expected sha256 b43caeeaa6458f847451ac9ca7d326e29ff202172268fef98cc366f7dd8330c3
Got
87e15c63ecfc560bdbd5259ba34db0608ffd6b9ba40c3885ce5aab4966f18b72
pip install --no-cache-dir torch==2.1.2+ppu1.4.0

也可用pip cache purge 指令清除系统中全部pip缓存。

pip cache purge