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

更新时间:
复制为 MD 格式

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上编译的开源库以及适用于PPUPyTorch、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/

源固定地址

目前只区分ubuntualios,不区分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定制软件包

  1. 进入docker,然后参考pip包一览表中的“定制库”副表。

  2. 过滤出xformers 0.0.25flash 2.5.6,并过滤出适用于alios7u2、cuda 11.8、torch 1.13.1、python 3.8的配置的安装指令。

image.png

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的生产环境。

  1. 进入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/'
  1. 查看pip list,确保想要安装的包都在本次发布范围内。

image.png

  1. 安装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

常见问题解决

如遇到以下piphash值错误,请使用--no-cache指令解决。

image.png

pip install --no-cache-dir torch==2.1.2+ppu1.4.0

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

pip cache purge