当前,在人工智能领域,大模型在丰富人工智能应用场景中扮演着重要的角色,经过不断的探索,大模型进入到落地的阶段。而大模型在落地过程中面临两大关键难题:对庞大计算资源的需求和对数据隐私与安全的考量。为应对这些挑战,在边缘侧私有化部署大模型成为了一个有效的解决方案。
将大模型部署到边缘侧,不仅能够减少延迟和带宽消耗,使得大模型能够在边缘节点快速进行推理和应用;还能增强数据隐私保护,这对于维护企业的数据安全至关重要。
为响应市场需求,英码科技推出了基于算能BM1684X平台的大模型私有化部署产品方案,包括:边缘计算盒子IVP03X-V2、云边加速卡AIV02X和AIV03X,助力企业实现垂直大模型应用落地!
▎边缘计算盒子IVP03X-V2
IVP03X-V2是英码科技基于BM1684X推出的高性能边缘计算盒子,INT8算力高达32Tops,配置了16GB大内存,支持适配Llama2-7B/ChatGLM3-6B/Qwen-7B和SAM/StableDiffusion等大模型,是业内少数能同时兼容国内外深度学习框架,并且能够流畅运行大语言模型推理的边缘计算设备之一。
▎大模型推理加速卡AIV02X & AIV03X
AIV02X和AIV03X算力可达64 TOPS@INT8和72 TOPS@INT8,显存配置32GB和48GB,支持多芯分布式推理及支持大语言/提示型/图像生成模型等大模型推理;这两款云边大模型推理加速卡均可应用于边缘大语言、文生图等通用大模型、垂直行业私有模型的推理应用。
接下来,以英码科技IVP03X边缘计算盒子为例,为大家介绍实测大语言模型、文生图大模型的部署流程和效果演示:
英码科技IVP03X-V2实测大语言模型
一、前期准备工作
demo下载地址:GitHub - sophgo/sophon-demo
二、大模型内存配置
1、建一个存放工具的文件夹:
mkdir memedit && cd memedit
2、下载内存配置工具:
wget -nd https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/09/11/13/DeviceMemoryModificationKit.tgz
tar xvf DeviceMemoryModificationKit.tgz
cd DeviceMemoryModificationKit
tar xvf memory_edit_{vx.x}.tar.xz #vx.x是版本号
cd memory_edit
3、重配内存:
./memory_edit.sh -p #这个命令会打印当前的内存布局信息
./memory_edit.sh -c -npu 7615 -vpu 3072 -vpp 3072 #npu也可以访问vpu和vpp的内存
替换emmbboot.itb:
sudo cp /data/memedit/DeviceMemoryModificationKit/memory_edit/emmcboot.itb /boot/emmcboot.itb && sync
4、重启生效:
reboot
重启后,检查配置:
free -h
cat /sys/kernel/debug/ion/bm_npu_heap_dump/summary | head -2
cat /sys/kernel/debug/ion/bm_vpu_heap_dump/summary | head -2
cat /sys/kernel/debug/ion/bm_vpp_heap_dump/summary | head -2
三、实测Chat-GLM3大模型(英文模式)
1、demo下载(Chat-GLM3)
进到Chat-GLM2案例目录下:sophon-demo-release/sample/Chat-GLM2/
安装pip3,安装dfss
sudo apt install python3-pip
pip3 install dfss -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install dfss --upgrade
下载模型:
sudo apt install unzip
chmod -R +x scripts/
./scripts/download.sh
2、安装依赖
安装python依赖:
pip3 install -r python/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
Sail安装包,下载安装:
python3 -m dfss --url=open@sophgo.com:sophon-demo/ChatGLM3/sail/soc/sophon_arm-3.7.0-py3-none-any.whl
pip3 install sophon_arm-3.7.0-py3-none-any.whl
3、大模型运行测试:
python3 python/chatglm3.py --bmodel models/BM1684X/chatglm3-6b_int4.bmodel --token python/token_config --dev_id 0
python3 python/chatglm3.py --bmodel models/BM1684X/chatglm3-6b_int8.bmodel --token python/token_config --dev_id 0
python3 python/chatglm3.py --bmodel models/BM1684X/chatglm3-6b_fp16.bmodel --token python/token_config --dev_id 0
Chat-GLM3大模型运行测试
四、实测Qwen大模型(中文模式)
1、demo下载(Qwen)
进到Chat-GLM2案例目录下:sophon-demo-release/sample/Qwen/
安装pip3,安装dfss
sudo apt install python3-pip
pip3 install dfss -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install dfss --upgrade
下载模型:
sudo apt install unzip
chmod -R +x scripts/
./scripts/download.sh
2、安装依赖
安装python依赖:
pip3 install -r python/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
Sail安装包,下载安装:
python3 -m dfss --url=open@sophgo.com:sophon-demo/ChatGLM3/sail/soc/sophon_arm-3.7.0-py3-none-any.whl
pip3 install sophon_arm-3.7.0-py3-none-any.whl
3、大运行测试:
python3 python/qwen.py --bmodel models/BM1684X/qwen-7b_int4_1dev.bmodel --token python/token_config --dev_id 0
python3 python/qwen.py --bmodel models/BM1684X/qwen-7b_int8_1dev.bmodel --token python/token_config --dev_id 0
Qwen大模型运行测试
英码科技IVP03X-V2实测文生图大模型
1、demo下载(StableDiffusionV1_5)
进到Chat-GLM2案例目录下:sophon-demo-release/sample/Qwen/
安装pip3,安装dfss
sudo apt install python3-pip
pip3 install dfss -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install dfss --upgrade
下载模型:
sudo apt install unzip
chmod -R +x scripts/
./scripts/download_controlnets_bmodel.sh
./scripts/download_multilize_bmodel.sh
./scripts/download_singlize_bmodel.sh
2、安装依赖
安装python依赖:
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
安装sail包
python3 -m dfss --url=open@sophgo.com:sophon-demo/ChatGLM3/sail/soc/sophon_arm-3.7.0-py3-none-any.whl
3、大模型运行测试:
①文本生成图像
迭代20次
python3 run.py --model_path ../models/BM1684X --stage singlize --prompt "A parrot resting on a branch" --neg_prompt "worst quality" --num_inference_steps 20 --dev_id 0
迭代500次
python3 run.py --model_path ../models/BM1684X --stage singlize --pr
ompt "A parrot resting on a branch" --neg_prompt "worst quality" --num_inference_steps 500 --dev_id 0
② Controlnet插件辅助控制 生成图像
一只小兔子晚上在酒吧喝酒 :迭代次数,20次
python3 run.py --model_path ../models/BM1684X --stage multilize --controlnet_name scribble_controlnet_fp16.bmodel --processor_name scribble_processor_fp16.bmodel --controlnet_img ../pics/generated_img.jpg --prompt "a rabbit drinking at the bar at night" --neg_prompt "worst quality" --num_inference_steps 100 --dev_id 0
一只小兔子晚上在酒吧喝酒 :迭代次数,200次
python3 run.py --model_path ../models/BM1684X --stage multilize --controlnet_name scribble_controlnet_fp16.bmodel --processor_name scribble_processor_fp16.bmodel --controlnet_img ../pics/generated_img.jpg --prompt "a rabbit drinking at the bar at night" --neg_prompt "worst quality" --num_inference_steps 200 --dev_id 0
Controlnet文生图大模型运行测试
结语
随着大模型技术的不断落地和应用,大模型涌现的强大能力不再局限于云端,模型的算法正逐渐向边缘端延伸;未来,英码科技将结合自身在软硬件方面的技术优势和丰富的经验,以AI赋能更多企业低门槛、高效落地边缘侧大模型应用,从而推动各行业智能化转型的进程。