当前位置: 首页 > news >正文

产品应用 | 小盒子跑大模型!英码科技基于算能BM1684X平台实现大模型私有化部署

当前,在人工智能领域,大模型在丰富人工智能应用场景中扮演着重要的角色,经过不断的探索,大模型进入到落地的阶段。而大模型在落地过程中面临两大关键难题:对庞大计算资源的需求和对数据隐私与安全的考量。为应对这些挑战,在边缘侧私有化部署大模型成为了一个有效的解决方案。

将大模型部署到边缘侧,不仅能够减少延迟和带宽消耗,使得大模型能够在边缘节点快速进行推理和应用;还能增强数据隐私保护,这对于维护企业的数据安全至关重要。

图片

为响应市场需求,英码科技推出了基于算能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赋能更多企业低门槛、高效落地边缘侧大模型应用,从而推动各行业智能化转型的进程。 

相关文章:

  • 如何排查與解決代理伺服器有問題或者地址有誤?
  • 【计算机网络原理】常用单位换算
  • 微服务开发与实战Day11 - 微服务面试篇
  • 【基因功能富集2:分析流程】非模式生物怎么注释 clusterProfiler包GO、KEGG
  • 【Linux Vim的保姆级教程】
  • 《平衡小车控制系统》电子设计大赛校赛感悟
  • A44 STM32_HAL库函数 之SD通用驱动 --B -- 所有函数的介绍及使用
  • 有哪些技术可代替docker?
  • Java--数组的使用
  • 数据结构习题
  • CSS【实战】抽屉动画
  • HTB Editorial
  • 对LitJson开源插件的自定义尝试
  • shell脚本编程(概念、编程和语句)
  • MoCo v3(ICCV 2021)
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Docker: 容器互访的三种方式
  • Javascript Math对象和Date对象常用方法详解
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue自定义指令实现v-tap插件
  • 给初学者:JavaScript 中数组操作注意点
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 理解在java “”i=i++;”所发生的事情
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前端之Sass/Scss实战笔记
  • 前端自动化解决方案
  • 硬币翻转问题,区间操作
  • 优化 Vue 项目编译文件大小
  • 做一名精致的JavaScripter 01:JavaScript简介
  • Android开发者必备:推荐一款助力开发的开源APP
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #{}和${}的区别?
  • $.ajax中的eval及dataType
  • (¥1011)-(一千零一拾一元整)输出
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (区间dp) (经典例题) 石子合并
  • (十)Flink Table API 和 SQL 基本概念
  • (五)关系数据库标准语言SQL
  • (转)程序员技术练级攻略
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .net core控制台应用程序初识
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .Net FrameWork总结
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】