曦云系列通用计算GPU AI推理用户手册
目录
1. 概述
1.1. MacaRT介绍
1.2. MacaRT功能
2. 环境依赖及MacaRT安装
2.1. 环境依赖
2.2. 安装MacaRT
2.2.1. MacaRT C++
2.2.2. MacaRT Python
2.3. 使用MacaRT容器镜像
3. MacaRT C++ API
3.1. 部署ONNX模型
3.1.1. 创建Session
3.1.2. 获取模型图的输入输出信息
3.1.3. 构建模型输入Tensors
3.1.4. 获取模型输出Tensors
3.2. 绑定输入输出设备
3.2.1. 绑定输入输出数据到可分页内存上
3.2.2. 绑定输入输出数据到固页内存上
3.2.3. 绑定输入输出数据到显存上
3.3. 动态Batch推理
3.4. 提升曦云系列GPU推理性能
3.4.1. 设备ID
3.4.2. MacaRT显存管理
3.5. 自定义算子
3.5.1. Domain的定义
3.5.2. Kernel输入输出的数据排布
4. MacaRT Python API
4.1. 部署ONNX模型
4.1.1. 创建Session
4.1.2. 获取模型图的输入输出信息
4.1.3. 构建模型输入字典
4.1.4. 获取模型输出
4.2. 绑定输入输出设备
4.2.1. 绑定输入输出数据到可分页内存上
4.2.2. 绑定输入输出数据到固页内存上
4.2.3. 绑定输入输出数据到显存上
4.3. 动态Batch推理
4.4. 提升曦云系列GPU推理性能
4.4.1. 设备ID设置
5. MacaRT工具链
5.1. MacaConverter
5.1.1. 安装
5.1.2. 功能列表
5.1.3. 使用说明
5.1.3.1. Caffe模型转ONNX模型
5.1.3.2. TensorFlow(H5)模型转ONNX模型
5.1.3.3. TensorFlow(SavedModel)模型转ONNX模型
5.1.3.4. TensorFlow(CheckPoint)模型转ONNX模型
5.1.3.5. TensorFlow(pb)模型转ONNX模型
5.1.3.6. PyTorch模型转ONNX模型(输入包含模型定义和权重)
5.1.3.7. PyTorch模型转ONNX模型(输入仅包含权重)
5.1.3.8. PyTorch模型转ONNX模型(输入仅包含权重,且模型定义在Torchvision中)
5.1.3.9. Darknet模型转ONNX模型
5.1.3.10. PaddlePaddle模型转ONNX模型(输入包含权重和定义)
5.1.3.11. PaddlePaddle模型转ONNX模型(输入仅包含权重)
5.1.3.12. PaddlePaddle模型转ONNX模型(输入仅包含权重,模型在paddle.vision中定义)
5.1.3.13. 动态Batch转换
5.1.3.14. ONNX简化
5.1.3.15. FP32转FP16
5.1.3.16. 子图提取
5.1.3.17. op_set版本转换
5.1.3.18. Pad融合
5.1.3.19. Float32转Uint8(仅针对模型的input数据,非所有算子)
5.1.3.20. MatMul+Add融合为Gemm
5.1.3.21. MHA融合
5.2. MacaPrecision
5.2.1. 安装
5.2.2. 使用说明
5.2.2.1. 常规模型(FP32/FP16)
5.2.2.2. 量化模型(经过MacaQuantizer量化后的模型)
5.3. MacaQuantizer
5.3.1. 安装
5.3.2. 使用说明
5.3.2.1. 预处理说明
5.3.2.2. dataset.txt文本格式说明
5.3.3. 注意事项
6. MacaRT-LLM
6.1. MacaRT-LLM介绍
6.2. MacaRT-LLM功能
6.3. MacaRT-LLM使用流程
6.3.1. 模型转换
6.3.1.1. 安装
6.3.1.2. 转换为PMX模型
6.3.1.3. 模型切分
6.3.1.4. 模型合并(可选)
6.3.1.5. PMX模型测试
6.3.1.6. 导出为ONNX模型
6.3.2. 本地模型部署精度验证
6.3.3. 本地模型部署性能测试
6.3.4. 服务化部署
6.3.4.1. 服务端部署
6.3.4.2. C++客户端部署
6.3.4.3. Python客户端部署
6.3.4.4. 服务端输出性能数据解析
7. MacaRT-vLLM
7.1. MacaRT-vLLM介绍
7.2. MacaRT-vLLM功能与局限性
7.3. MacaRT-vLLM使用流程
7.3.1. 环境准备
7.3.1.1. 使用vLLM镜像
7.3.1.2. 安装wheel包
7.3.1.3. 配置环境变量
7.3.2. 离线推理
7.3.3. 吞吐测试
7.3.4. Server服务
8. MacaRT-ModelZoo
8.1. MacaRT-ModelZoo介绍
8.2. 模型评测条件
8.3. 代码目录结构及说明
8.4. 源码、模型和数据集
8.4.1. 源码镜像获取
8.4.2. 模型获取
8.4.3. 数据集获取
8.5. 模型评测步骤
8.5.1. 启动容器镜像
8.5.2. 建立数据集的关联
8.5.3. 执行模型评测
9. MacaRT-LMDeploy
9.1. MacaRT-LMDeploy介绍
9.2. MacaRT-LMDeploy功能与局限性
9.3. MacaRT-LMDeploy使用流程
9.3.1. 环境准备
9.3.1.1. 获取vLLM镜像
9.3.1.2. 安装dlinfer
9.3.1.3. 安装LMDeploy
9.3.2. 离线推理
9.3.3. 静态推理性能测试
9.3.4. Server服务动态推理性能测试
10. Diffusers
11. Transformers
12. MacaRT-SGLang
12.1. MacaRT-SGLang介绍
12.2. MacaRT-SGLang功能
12.3. MacaRT-SGLang使用流程
12.3.1. 环境准备
12.3.1.1. 使用SGLang镜像
12.3.1.2. 设置环境变量
12.3.1.3. 启动Server
12.3.2. 在线推理
12.3.3. 吞吐测试
12.3.4. 精度测试
12.3.4.1. MMLU精度测试
12.3.4.2. C-Eval精度测试
13. 附录
13.1. 术语/缩略语
曦云系列通用计算GPU AI推理用户手册
索引
索引