产品应用 | 小盒子跑大模型!英码科技基于算能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赋能更多企业低门槛、高效落地边缘侧大模型应用,从而推动各行业智能化转型的进程。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/352670.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

齐普夫定律在循环神经网络中的语言模型的应用

目录 齐普夫定律解释公式解释图与公式的关系代码与图的分析结论 使用对数表达方式的原因1. 线性化非线性关系2. 方便数据可视化和分析3. 降低数值范围4. 方便参数估计公式详细解释结论 来自:https://zh-v2.d2l.ai/chapter_recurrent-neural-networks/language-model…

JMU 数科 数据库与数据仓库期末总结(4)实验设计题

E-R图 实体-关系图 E-R图的组成要素主要包括: 实体(Entity):实体代表现实世界中可相互区别的对象或事物,如顾客、订单、产品等。在图中,实体通常用矩形表示,并在矩形内标注实体的名称。 属性…

优化:Day52 动态规划part10

LC300最长递增子序列 dp数组中dp[i]的含义是:以nums[i]结尾的子序列中最长递增子序列的长度为dp[i]最长连续递增子序列 非连续最长递增子序列 如果是连续的,只需要nums[i]>nums[i-1]就将dp值1,但是如果是非连续的,nums[i]之前…

[vue2]深入理解路由

本节目标 单页应用程序路由概念VueRouter基本使用组件分类存放路由模块封装声明式导航其他路由配置路由模式编程式导航案例-面经基础版 单页应用程序 单页应用程序(SPA): 所有的功能都在一个HTML页面上实现 网易云音乐: 网易云音乐 多页应用程序(MPA): 不同功能通过切换不同…

Python | Leetcode Python题解之第162题寻找峰值

题目: 题解: class Solution:def findPeakElement(self, nums: List[int]) -> int:n len(nums)# 辅助函数,输入下标 i,返回 nums[i] 的值# 方便处理 nums[-1] 以及 nums[n] 的边界情况def get(i: int) -> int:if i -1 or…

Appium+python自动化(十二)- Android UIAutomator终极定位凶器(超详解)

宏哥微信粉丝群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 简介 乍眼一看,小伙伴们觉得这部分其实在异性兄弟那里就做过介绍和分享了,其实不然,上次介绍和分享的大哥是uiautomatorviewer,是一款定…

编程精粹—— Microsoft 编写优质无错 C 程序秘诀 03:强化你的子系统

这是一本老书,作者 Steve Maguire 在微软工作期间写了这本书,英文版于 1993 年发布。2013 年推出了 20 周年纪念第二版。我们看到的标题是中译版名字,英文版的名字是《Writing Clean Code ─── Microsoft’s Techniques for Developing》&a…

docker怎么拉取全部镜像,打包所有镜像

因为docker,所以我把电脑上之前的镜像全部打包出来了 你们也可以打包,我提供一个脚本,你运行即可 export_docker.sh #!/bin/bash# 导出目录 EXPORT_DIR"docker_images_backup" mkdir -p "$EXPORT_DIR"# 获取所有镜像 …

一文看懂!iThenticate查重报告全解读

在科研界,原创性和知识产权保护的重要性不言而喻。iThenticate作为全球领先的文献比对和不端检测工具,为广大科研工作者提供了一道坚实的防线保障。据统计,全球有超过16000家学术机构、出版社、高校与企业使用iThenticate查重系统&#xff0c…

Dubbo-使用zookeeper作为注册中心时节点的概述

本文内容很容易理解,会阐述当dubbo使用zookeeper作为注册中心时候,zookeeper节点是什么样子的 本文的代码使用的dubbo版本是2.7.x,几年前的版本了,但是不影响探究 首先我们创建一个简单的maven项目,然后写出一段dubb…

黑马苍穹外卖2 员工的增查改+异常处理+ThreadLocal

员工管理 新增员工 Controller: PostMapping//post类型的请求ApiOperation("添加员工")public Result save(RequestBody EmployeeDTO employeeDTO) {log.info("新增员工{}", employeeDTO);employeeService.save(employeeDTO);return Result.su…

有监督学习——梯度下降

1. 梯度下降 梯度下降(Gradient Descent)是计算机计算能力有限的条件下启用的逐步逼近、迭代求解方法,在理论上不保证下降求得最优解。 e.g. 假设有三维曲面表达函数空间,长(x)、宽(y)轴为子变量,高(z)是因变量&…

themleaf 页面弹层取值

themleaf 页面弹层取值 创作背景themleaf页面事件onbluronclick 页面参数提交 创作背景 个人在日常开发中,遇到了一个需求页面,页面交互较多,用到的事件也很丰富,特此记录,方便后续查找也方便有需要的开发者采用&…

软件测试期末复习

软件测试期末复习 Author 雨 2024年6月18日 1. 什么是软件测试 从一个通常为无限的执行域中选取合适的有限的测试用例,对程序所期望的行为进行动态验证的活动过程。 2. 软件测试的目的 尽早地发现软件的缺陷 3.什么是测试什么是缺陷 从软件内部看:软件开…

SpringCloudStream原理和深入使用

简单概述 Spring Cloud Stream是一个用于构建与共享消息传递系统连接的高度可扩展的事件驱动型微服务的框架。 应用程序通过inputs或outputs来与Spring Cloud Stream中binder对象交互,binder对象负责与消息中间件交互。也就是说:Spring Cloud Stream能…

探索Web Components

title: 探索Web Components date: 2024/6/16 updated: 2024/6/16 author: cmdragon excerpt: 这篇文章介绍了Web Components技术,它允许开发者创建可复用、封装良好的自定义HTML元素,并直接在浏览器中运行,无需依赖外部库。通过组合HTML模…

多尺度特征提取:原理、应用与挑战

多尺度 多尺度特征提取:原理、应用与挑战**原理****应用****挑战****总结** 多尺度特征提取:原理、应用与挑战 在计算机视觉、自然语言处理和信号处理等领域,有效地捕捉和解析数据的多种尺度特性是至关重要的。多尺度特征提取是一种技术&…

【机器学习】智能创意工厂:机器学习驱动的AIGC,打造未来内容新生态

🚀时空传送门 🔍机器学习在AIGC中的核心技术📕深度学习🎈生成对抗网络(GANs) 🚀机器学习在AIGC中的具体应用🍀图像生成与编辑⭐文本生成与对话系统🌠音频生成与语音合成 …

SpringMVC01-初始SpringMVC

SpringMVC 回顾MVC 什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模…

高通Android 12 右边导航栏改成底部显示

最近同事说需要修改右边导航栏到底部,问怎么搞?然后看下源码尝试下。 1、Android 12修改代码路径 frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java a/frameworks/base/services/core/java/com/android/server/wm/Display…