产品应用 | 小盒子跑大模型!英码科技基于算能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.mzph.cn/news/854263.shtml

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

相关文章

数列a_n=1/n是柯西数列的证明方法

柯西数列 一个数列 a n a_n an​称为柯西数列(Cauchy Sequence),如果对于任意的正数 ϵ > 0 \epsilon > 0 ϵ>0,存在一个正整数 N N N,使得对于所有的 m , n ≥ N m, n \geq N m,n≥N,都有&am…

保护模式下的内存访问(笔记)

;代码清单12-1;文件名:c12_mbr.asm;文件说明:硬盘主引导扇区代码;创建日期:2011-5-16 19:54;修改于2022-02-16 11:15;设置堆栈段和栈指针mov ax, csmov ss, axmov sp, 0x7c00;计算GDT所在的逻辑段地址mov ax, [cs: gdt_base 0x7c…

Ubuntu插无线网卡后没反应-安装驱动

工作站的网卡驱动坏了两次了…记录一下重装过程吧,可能对大家帮助不大,仅供参考。 首先检查一下网卡插上后是否被识别了,在终端输入 lsusb,得到的设备中有一个 Edimax Technology Co., Ltd Edimax AC1200 USB 这个设备就是无线网…

POI:接收上传上来的excel,解析并导入到数据库

目录 1、控制层 2、业务层(主要逻辑) 1、控制层 因为前端设置了只能上传1个文件,这里直接取一个。 RequestMapping(value "/shebeiDaoru.ctrl", method RequestMethod.POST, produces "application/json;charsetUTF-8&q…

Chatgpt、Chatglm、Gemini、通义千问、文心一言、Kimi、字节豆包 AI 写高考作文,附各大模型体验案例~

六月,高考季,AI 来帮 阅读材料 要求:选准角度,确定立意,明确文体,自拟标题;不要套作,不得抄袭;不得泄露个人信息;不少于800字。 Ai 来写作 【构建提示…

python17 字符串的常用操作

字符串常用方法 代码 字符串常用方法s i am SyLar, I LOVE YOU s1 s.capitalize()# 首字母变成大写 print(s1) s2s.lower() # 全部变成小写 print(s2) s3 s.upper()#全部变成大写 忽略大小写 推荐用这个 print(s3)title abc_def_hi print(标题:,title.title())s4 HelloWor…

SwitchHosts 简明教程

转载请标明出处:https://blog.csdn.net/donkor_/article/details/139743047 文章目录 一、SwitchHosts 是什么二、功能特性三、安装四、使用4.1 本地添加host4.2 本地127.0.0.1添加指定IP 五、修改 hosts 后不生效 一、SwitchHosts 是什么 SwitchHosts 是一个管理 …

以太网基础知识(三)—FEC概念以及编码原理介绍

1:前言 KR4(528,514) FEC表示的意思: KR4 RS(528,514) FEC 是一种以太网中使用的FEC(Forward Error Correction)编码方案。在这个方案中,采用的是Reed-Solomon (RS) 编码算法,它被设计用于提高数据传输的…

考试系统提供源码能做什么?

考试系统提供源码,无疑为现代教育领域注入了新的活力。源码,作为软件开发的基石,其开放与共享的特性使得考试系统具备了前所未有的灵活性和可定制性。那么,考试系统提供源码究竟能做什么呢?本文将详细探讨其多重功能与…

初识数据库及Mysql安装管理

初识数据库及Mysql安装管理 了解数据库数据库的概念数据库的分类关系型数据库(SQL)非关系型的数据库(NoSQL) SQL语句SQL语言分类: MySQL中6种常见的约束: Mysql安装(CentOS7)源码编译…

dialog弹窗显示不全

弹框显示不全,编辑框不可见 打开可编辑的dialog对话框后,编辑view获取到焦点弹出软键盘输入时,由于屏幕分辨率和屏幕高度问题,导致软键盘高度太高向上挤压dialog对话框,当dialog对话框被向上挤压到状态栏位置时&#…

接手一个系统并快速入手 这里是一些建议

接手一个陈旧而极其重要的系统,需要系统性和全面的了解。以下是你可以从多个方面入手的步骤和建议: 1. 文档和架构图 系统架构图:了解系统的整体架构,包括各个微服务的分布、上下游依赖关系、数据流向等。接口文档:获…

AI应用中心:搭建上线了,发现出色的人工智能的网站软件

https://aiapp.ai-51.com 1w 个最佳人工智能应用和服务 AI 应用中心拥有丰富的国内外 AI 应用,收录了超过 1w 个出色的人工智能网站和应用,覆盖了 40 多个不同的领域,如 Ai 绘画生成、Ai 文案写作、Ai 视频编辑、Ai 智能营销等。您可以通过我…

LeetCode347:前K个高频元素

题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 解题思想 使用优先队列 priority_queue<Type, Container, Functional> Type 就是数据类型&#xff0c;Container 就是容器类型&#xff08;C…

C++互斥代码实现

1 #include <windows.h>HANDLE hMutex; hMutex CreateMutex(NULL, FALSE, NULL); WaitForSingleObject(hMutex, INFINITE); //TODO: 添加互斥代码ReleaseMutex(hMutex);2 #include <mutex>std::mutex m_mutex; m_mutex.lock(); //TODO: 添加互斥代码m_mutex.unl…

移动操作系统更新管理

移动操作系统更新管理是大多数移动设备管理&#xff08;MDM&#xff09;解决方案中提供的一项功能&#xff0c;它允许组织管理移动设备上的操作系统更新。MDM解决方案定期扫描设备以检查可用的移动操作系统更新&#xff0c;并根据配置的策略管理操作系统更新。操作系统更新管理…

【ubuntu22.04】切换图形界面和命令行界面解决方案

切换命令行 sudo systemctl set-default multi-user.target sudo reboot 安装驱动 # 切换到驱动目录 cd /home/user/download/ # 权限 sudo chmod ax NVIDIA-Linux-x86_64-520.56.06.run # 安装 sudo ./NVIDIA-Linux-x86_64-520.56.06.run 安装过程中&#xff0c;有个是否安…

QBrush的setColor函数不能改变画刷颜色的原因及解决方法

如下代码&#xff1a; void QtWidgetsApplication1::paintEvent(QPaintEvent* event) {QPainter p(this);QBrush brush;brush.setColor(Qt::red);p.setBrush(brush);p.drawRect(10, 10, 300, 100); } 本意是想绘制一个红色矩形&#xff0c;但结果是矩形没有被红色填充&#x…

消息队列中的可靠性保障:关键建议与实践

在线工具站 推荐一个程序员在线工具站&#xff1a;程序员常用工具&#xff08;http://cxytools.com&#xff09;&#xff0c;有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具&#xff0c;效率加倍嘎嘎好用。 程序员资料站 推荐一个程序员编程资料站&#xff1a;…

c++初始化列表(特点),隐式类型转换(示例,explicit关键字)

目录 初始化列表 定义 特点 必须使用初始化列表的成员变量 初始化顺序 隐式类型转换 示例 explicit关键字 初始化列表 Date::Date(const Date& d) {_year d._year;_month d._month;_day d._day; }Date::Date(const Date& d) :_year(d._year),_month(d._mon…