Skip to content

端侧部署 HY-MT1.5-1.8B

介绍

HY-MT1.5-1.8B 是腾讯出品的混元翻译模型 1.5 版本,该模型是 WMT25 冠军模型的升级版,针对解释性翻译和混合语言场景进行了优化,并新增了对术语干预、上下文翻译以及格式化翻译的支持。尽管 HY-MT1.5-1.8B 的参数量不足 HY-MT1.5-7B 的三分之一,但其翻译性能可与较大模型相媲美,兼顾了高速度与高质量。经过量化后,1.8B 模型可部署在边缘设备上并支持实时翻译场景,具有广泛的应用前景。

本章节将演示如何在边缘设备上完成 HY-MT1.5-1.8B 部署、加载与翻译流程。提供以下两种方式部署:

  • AidGen C++ API
  • AidGenSE OpenAI API

在本案例中,大语言模型推理运行在设备端,通过代码调用相关接口接收用户输入并实时返回对话结果。

  • 设备:IQ9075
  • 系统:Ubuntu 24.04
  • 模型:HY-MT1.5-1.8B

支持平台

平台运行方式
IQ9075Ubuntu 24.04

准备工作

  1. IQ9075 硬件

  2. Ubuntu 24.04 系统

系统依赖配置

配置 AidLux 依赖源

bash
# 下载正确的公钥
sudo wget -O- https://archive.aidlux.com/ubuntu24/public.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/private-aidlux.gpg > /dev/null

# 编辑源文件
sudo vim /etc/apt/sources.list.d/private-aidlux.list

#在源文件中填入AidLux 提供的私钥
deb [arch=arm64 signed-by=/etc/apt/trusted.gpg.d/private-aidlux.gpg] https://archive.aidlux.com/ubuntu24 noble main

#  更新缓存
sudo apt update

更新完成后,可以通过如下命令获取到AidLux 官方的SDK 依赖

bash
sudo apt list | grep aid | grep unknown
bash
# 安装软件
# 必须先安装的,系统不自带
sudo apt install python3 python3-pip libopencv-dev python3-opencv  net-tools
# 安装 aidlite 之前必须安装的
sudo apt install aidlux-aistack-base aidrtcm

# 安装 aidlite 及依赖 
sudo apt install aid-lms aidlms-sdk aidlite-sdk cmake
sudo apt-get install libfmt-dev nlohmann-json3-dev
sudo apt install aidlite-*

# 支持DSP
sudo apt-get install qcom-fastrpc1
sudo apt-get install qcom-fastrpc-dev

# 安装 aidgen-sdk
sudo apt install aidgen-sdk

# 安装 mms 服务
sudo apt install aid-mms

# 支持 GPU
sudo add-apt-repository ppa:ubuntu-qcom-iot/qcom-noble-ppa
sudo apt install qcom-adreno-cl1
sudo ln -s /usr/lib/aarch64-linux-gnu/libOpenCL.so.1 /usr/lib/aarch64-linux-gnu/libOpenCL.so

安装完成后检查系统 /usr/local/share 新增 aidliteaidgen 目录

设备授权

获取设备 SN 码

bash
cat  /sys/devices/soc0/serial_number

获取授权文件

提供SN号给阿加犀技术人员,生成设备指定 License 文件,放入路径 /etc/opt/aidlux/license/AidLuxLics

AidGen 案例部署

步骤一:AidGen SDK 代码例子拷贝

bash
# 拷贝测试代码
cd /home/ubuntu

cp -r /usr/local/share/aidgen/examples/cpp/aidllm .

步骤二:下载模型资源

由于 HY-MT1.5-1.8B 目前位于 Model Farm 预览板块中,需要通过 mms 命令获取。

使用 mms 需要 Model Farm 账号登录,请访问 Model Farm 账号注册

bash
# 登录
mms login

# 查找模型
mms list HY

# 下载模型
mms get -m HY-MT1.5-1.8B -p w4a16 -c qcs8550 -b qnn2.36 -d /home/ubuntu/aidllm/hy-mt

cd /home/ubuntu/aidllm/hy-mt
unzip qnn236_qcs8550_cl2048.zip
mv qnn236_qcs8550_cl2048/* /home/ubuntu/aidllm

步骤三:配置文件创建

bash
cd /home/ubuntu/aidllm
vim hy-mt-aidgen-config.json

创建如下 json 配置文件

json
{
    "backend_type": "genie",
    "prefix_path": "kv-cache.primary.qnn-htp",
    "model": {
        "path": [
            "hy-mt1.5-1.8b_qnn236_qcs8550_cl2048_1_of_2.serialized.bin.aidem",
            "hy-mt1.5-1.8b_qnn236_qcs8550_cl2048_2_of_2.serialized.bin.aidem"
        ]
    }
}

步骤四:资源文件确认

文件分布如下:

bash
/home/ubuntu/aidllm
├── CMakeLists.txt
├── test_prompt_abort.cpp
├── test_prompt_serial.cpp
├── aidgen_chat_template.txt
├── chat.txt
├── htp_backend_ext_config.json
├── hy-mt1.5-1.8b-htp.json
├── hy-mt-aidgen-config.json
├── kv-cache.primary.qnn-htp
├── hy-mt1.5-1.8b-tokenizer.json
├── hy-mt1.5-1.8b_qnn236_qcs8550_cl2048_1_of_2.serialized.bin.aidem
├── hy-mt1.5-1.8b_qnn236_qcs8550_cl2048_2_of_2.serialized.bin.aidem

步骤五:对话模板设置

💡注意

对话模板请参考模型资源包中的aidgen_chat_template.txt 文件

根据大模型的模板修改 test_prompt_serial.cpp 文件:

cpp
// test_prompt_serial.cpp
// ...
// line 43-47
    std::string prompt_template_type = "hy-mt";
    if(prompt_template_type == "hy-mt"){
        prompt_template = "<|hy_begin▁of▁sentence|><|hy_place▁holder▁no▁3|>\n<|hy_begin▁of▁sentence|>\n<|hy_User|>Translate the following segment into Chinese, without additional explanation.\n\n{0}\n<|hy_Assistant|>";
    }

步骤六:编译运行

bash
# 安装依赖
sudo apt update
sudo apt install libfmt-dev

# 编译
mkdir build && cd build
cmake .. && make

# 编译成功后运行
# 第一个参数 1 表示开启 profiler 统计
# 第二个参数 1 表示 推理循环次数

mv test_prompt_serial /home/ubuntu/aidllm/
cd /home/ubuntu/aidllm/
./test_prompt_serial hy-mt-aidgen-config.json 1 1
  • 在终端输入要翻译的句子

💡注意

根据第五步的对话模板设置,模型设置为翻译中,输入其他语种后自动翻译中文