已在环境上安装CANN、PyTorch、Torch-NPU和ATB Models,详情请参见《MindIE安装指南》。
[object Object]
- 使用ATB Models进行推理,模型初始化失败时,模型初始化过程中用户自定义修改导致的失败,需要手动结束进程。
- 使用ATB Models进行推理,权重路径及文件的权限需保证其他用户无写权限。
当前ATB Models包含三类Readme文档指导您执行推理流程,了解模型支持特性以及提供基础的调测和问题定位手段。
图 1 ATB Models Readme文档关系示意图
表 1 Readme文档介绍
下面以LLaMA3-8B模型为例,展示对话推理以及性能测试的执行步骤。
配置环境变量。
- whl包方式
[object Object]- run包方式
[object Object]准备模型权重:可从Hugging Face官网直接下载,将下载的权重保存在“/data/Llama-3-8b“。
执行如下命令,修改权重文件权限。
[object Object](可选)当前ATB Models推理仅支持加载safetensor格式的权重文件。若下载的权重文件是safetensor格式文件,则无需进行权重转换,若下载的权重文件是bin格式文件,则需要按照如下方式进行转换。
[object Object]输出结果会保存在bin格式的权重文件同目录下。
测试对话推理。
[object Object]如上命令调用的run_pa.sh脚本是对run_pa.py脚本的封装,默认推理内容为"What's deep learning?",batch size为1,可以通过下方的步骤修改推理内容。
[object Object][object Object]自定义推理内容。
用户可以通过以下方式直接调用run_pa.py脚本,通过传入参数的方式自定义推理内容及推理方式。
例如:使用/data/Llama-3-8b路径下的权重,使用8卡推理"What's deep learning?"和"Hello World.",推理时batch size为2。
[object Object][object Object]
用户可以通过传入Token id的方式进行推理。
新建一个py脚本(如test.py)用于生成Token id:
[object Object]执行如下命令,生成Token id:
[object Object]执行如下命令进行推理,如下以生成的第一个推理内容对应的Token id为"1,15043,2787",第二个推理内容对应的Token id为"1,306,626,2691"为例,其中推理内容间以空格分开。
[object Object]表 2 run_pa.py脚本参数说明 [object Object][object Object]
[object Object]undefined
[object Object]
测试性能。
开启ATB_LLM_BENCHMARK_ENABLE环境变量后,将统计模型首Token、增量Token及端到端推理时延。
[object Object]耗时结果会显示在Console中,并保存在./benchmark_result/benchmark.csv文件里。
[object Object]
已在环境上安装CANN、PyTorch、Torch-NPU、ATB Models、MindIE LLM和MindIE Motor,详情请参见《MindIE安装指南》。
设置环境变量。
若安装路径为默认路径,可以运行以下命令初始化各组件环境变量。
- whl包方式
[object Object]- run包方式
[object Object]启动服务化并发送请求。
MindIE服务化使用方法请参考《MindIE Motor开发指南》中的“快速入门 > ”章节。服务化参数配置请参考。
服务化配置中默认使用ATB Models作为模型后端。
- whl包方式
[object Object]- run包方式
[object Object]服务化API接口请参考《MindIE Motor开发指南》中的“服务化接口”章节。
用户可使用HTTPS客户端(Linux curl命令,Postman工具等)发送HTTPS请求,此处以Linux curl命令为例进行说明。重开一个窗口,使用以下命令发送请求。
[object Object]