AidGen
简介
AidGen 是基于 AidLite 构建的专门针对生成式 Transformer 模型的推理框架,旨在充分调用硬件的各计算单元(CPU、GPU、NPU)实现大模型在端侧的推理加速。
AidGen 是SDK级别的开发套件,提供原子级别的大模型推理接口,适用于开发者将大模型推理集成到自己的应用中。
AidGen 支持多种类型的生成式 AI 模型:
- 语言类大模型 -> AidLLM 推理
- 多模态大模型 -> AidMLM 推理
其结构如下图所示:
💡注意
Model Farm 支持的大模型均通过 AidGen 实现在高通芯片NPU上的推理加速。
支持情况
模型种类支持情况
AidLLM | AidMLM | |
---|---|---|
文字 | ✅ | / |
图片 | / | 🚧 |
音频 | / | 🚧 |
✅:已支持 🚧:计划支持
操作系统支持情况
Linux | Android | |
---|---|---|
C++ | ✅ | / |
Python | 🚧 | / |
Java | / | 🚧 |
✅:已支持 🚧:计划支持
大语言模型 AidLLM SDK
安装
bash
sudo aid-pkg -i aidgen-sdk
模型文件获取
通过 Model Farm 大模型分区可以直接下载对应的模型文件及默认配置文件
接口文档
示例应用
在高通 QCS8550 上部署 Qwen2.5-0.5B-Instruct
访问 Model Farm: Qwen2.5-0.5B-Instruct 模型详情页,并下载模型资源
安装 AidGen SDK
bash
sudo aid-pkg -i aidgen-sdk
- 将模型资源解压至目录下
bash
cp -r /usr/local/share/aidgen/examples/genie ./
cd aidgen/data
unzip -d qnn229_qcs8550_cl4096 qnn229_qcs8550_cl4096.zip
- 配置文件修改
确保配置文件中文件路径可访问,如下图所示:
- 对话模板设置
💡注意
对话模板请参考从 Model Farm 上下载的 模型资源包中的aidgen_chat_template.txt
文件
根据大模型的模板修改 test_prompt_serial.cpp
文件:
cpp
if(prompt_template_type == "qwen2"){
prompt_template = "<|im_start|>system\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\n<|im_start|>user\n{0}<|im_end|>\n<|im_start|>assistant\n";
}
- 编译运行例子
bash
mkdir build && cd build
cmake .. && make
#编译成功后运行 test_prompt_serial
./test_prompt_serial /home/aidlux/qnn229_qcs8550_cl4096/data/qwen2.5-0.5b-instruct-htp.json
- 在终端输入对话内容