在PAI中使用PPU PIP源(v1.6.x)
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中查看对应pip list。其中包含两个副表,分别是“社区版本”和“优化版本”。“社区版本”中的安装包均为在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包又存在针对ppu优化过的pip包,默认安装的是优化过的包。
发布版本缺省:不指定发布版本,直接使用指令 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定制软件包。
进入docker,然后参考pip包一览表中的“定制库”副表。
过滤出xformers 0.0.25和flash 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官方镜像,搭建支持PyTorch2.1.2 + orchaudio + torchvision的生产环境。
进入docker,确认docker当前环境为cuda 12.2、alios7u2、python 3.10,设置PAI-PPU pip源地址环境变量。
export PIP_INDEX_URL='https://art-pub.eng.t-head.cn/artifactory/api/pypi/ptgai-pypi_ppu_alios_cu122_index/simple/'查看pip list,确保想要安装的包都在本次发布范围内。

安装PAI-PPU pip源上的包,如果当前安装的软件包是使用PPU的,但PAI-PPU pip源暂未支持该包,则会报错。不指定PPU SDK版本,则默认安装PAI-PPU 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指令解决。

pip install --no-cache-dir torch==2.1.2+ppu1.4.0也可以使用pip cache purge指令清除当前系统中全部pip缓存。
pip cache purge