产品应用 | 小盒子跑大模型!英码科技基于算能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赋能更多企业低门槛、高效落地边缘侧大模型应用,从而推动各行业智能化转型的进程。
相关文章:
产品应用 | 小盒子跑大模型!英码科技基于算能BM1684X平台实现大模型私有化部署
当前,在人工智能领域,大模型在丰富人工智能应用场景中扮演着重要的角色,经过不断的探索,大模型进入到落地的阶段。而大模型在落地过程中面临两大关键难题:对庞大计算资源的需求和对数据隐私与安全的考量。为应对这些挑…...
uniapp中u-input点击事件失效
当给u-input设置了disabled/readonly属性后,pc浏览器中点击事件失效,但是app/移动端h5中却仍有效 解决办法 给外边包上一个盒子设置点击事件,给input加上css属性:pointer-events:none pointer-events CSS 属性指定在什…...
[机器学习] 监督学习和无监督学习
监督学习和无监督学习是机器学习的两种主要方法,它们之间有几个关键区别: 1. 定义 监督学习(Supervised Learning): 使用带标签的数据进行训练。数据集包括输入特征和对应的输出标签。目标是学习从输入特征到输出标签…...
使用Python进行自然语言处理:从基础到实战
使用Python进行自然语言处理:从基础到实战 自然语言处理(Natural Language Processing, NLP)是人工智能的重要领域,旨在处理和分析自然语言数据。Python凭借其丰富的库和社区支持,成为NLP的首选编程语言。本文将介绍自然语言处理的基础概念、常用的Python库以及一个实战项…...
Hadoop面试题总结
一 、介绍一下hadoop 综述:hadoop是一个适合海量数据的分布式存储和分布式计算的平台 分述:hadoop包含三大组件,分别是HDFS、MapReduce和YARN --HDFS(分布式文件系统) HDFS集群由NameNode,DataNode,SecondaryNameNode构成NameNode:主要负责接受用户请求…...
关于IntelliJ IDEA 2024.1版本更新的问题
希望文章能给到你启发和灵感~ 感谢支持和关注~ 阅读指南 序幕一、基础环境说明1.1 硬件环境1.2 软件环境 二、起因三、解决四、总结 序幕 近期,IntelliJ IDEA 推出了全新2024版本,相信很多编程的爱好者或者刚接触编程的小伙伴都会…...
双层循环和循环语句
echo 打印 echo -n 表示不换行输出 echo -e 表示输出转义字符 echo \b 相当于退格键(backspace) echo \n 换行,相当于回车 echo \f 换行,换行后的新行的开头连着上一行的行尾 echo \t 相当于tab健 (…...
【Codesys】-计算开机通电运行时间,累计正常使用时间,故障停机时间
应客户要求,在程序添加了这个用来计算开机运行时间,原理就是取当前时间减去一开始记录的时间,没什么特别要求,记录一下使用的变量类型和数据写法,防止忘记了。 下文只写了一个开机通电运行时间的写法,累计…...
LINUX系统编程:线程的概念
目录 1.线程的概念 2.线程的理解 3.怎么做到划分代码的 本文主要介绍,在LIUNX下的线程。 1.线程的概念 在很多的书上的你可能见过这样的。 线程是进程内部的一个执行分支,线程是cpu调度的基本单位。 加载到内存的程序叫做进程。修正:进…...
如何更换OpenHarmony SDK API 10
OpenHarmony社区已经发布OpenHarmony SDK API 10 beta版本,有些 Sample案例 也有需要API10。那么如何替换使用新的OpenHarmony SDK API 10呢?本文做个记录。 1、如何获取OpenHarmony SDK 1.1 每日构建流水线 可以从OpenHarmony每日构建站点获取最新的…...
Java | Leetcode Java题解之第155题最小栈
题目: 题解: class MinStack {Deque<Integer> xStack;Deque<Integer> minStack;public MinStack() {xStack new LinkedList<Integer>();minStack new LinkedList<Integer>();minStack.push(Integer.MAX_VALUE);}public void …...
大润发超市购物卡怎么用?
收到大润发超市的礼品卡以后,我才发现,最近的大润发也得十来公里 为了100块的大润发打车也太不划算了 叫外送也不在配送范围内 最后没办法,在收卡云上出掉了,还好最近价格不错,也不亏,收卡云的到账速度也…...
【ai】tx2-nx:搭配torch的torchvision
微雪的教程pytorch_version 1.10.0 官方教程安装torch官方教程 依赖项 nvidia@tx2-nx:~/twork/03_yolov5$ $ sudo apt-get install libjpeg-dev zlib1g-dev lib...
深入浅出MyBatis:全面解析与实战指南
MyBatis 是一个优秀的持久层框架,它简化了 Java 应用与关系数据库之间的映射。对于大多数 Java 开发者而言,掌握 MyBatis 是必不可少的一部分。本文将详细介绍 MyBatis 的各个方面,包括其基本原理、配置、操作、动态 SQL、插件机制和高级应用…...
好用的linux一键换源脚本
最近发现一个好用的linux一键换源脚本,记录一下 官方链接 大陆使用 bash <(curl -sSL https://linuxmirrors.cn/main.sh)# github地址 bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) # gitee地址 …...
机器人----控制方式
位置控制 点位控制 点到点--PTP 只关心起点和目标点,不关心走过的轨迹。 连续轨迹控制 CP(continus path) eg:焊接,切割。 力控制 使用多大的力进行控制。 eg:用多大的力写字。...
json的特点
JJSON是一种轻量级的数据交换格式,它基于JavaScript编程语言的一个子集,采用完全独立于语言的文本格式,结构化程度高。 JSON的主要特点包括: 轻量级:JSON的格式紧凑,易于传输和解析。 结构化:…...
【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 连续字母长度(100分) - 三语言AC题解(Python/Java/Cpp)
🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 …...
18 Shell编程规范与变量
目录 18.1 Shell脚本概述 18.1.1 Shell的作用 18.1.2 编写第一个Shell脚本 18.1.3 重定向与管道操作 18.2 Shell变量的作用、类型 18.2.1 自定义变量 18.2.2 特殊的Shell变量 18.1 Shell脚本概述 可以批量处理、自动化地完成一系列维护任务,大大减轻管理员的负担。…...
Linux基础命令大全(详解版)
Linux基础命令(详解版) 文章目录 Linux基础命令(详解版)1.Linux的目录结构**2.Linux路径的描述方式**3.Linux命令基础格式4.ls命令 隐藏文件、文件夹5.pwd命令6.cd命令 特殊路径符7.mkdir命令 文件操作命令8.touch命令9.cat命令10…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
