Python - 深度学习系列32 - glm2接口部署实践

说明

前阵子,已经对glm2的接口部署做了镜像化。本次的目的是:

  • 1 测试在隔了一阵子(忘记)的情况下,快速部署时是否有障碍,是不是足够方便
  • 2 在算网机环境下,能否快速的实现部署。仅考虑文件方式。(大部分租用机租用的是容器,少部分是真的租宿主机)

为啥不用glm3: 因为出现中英文混杂情况的概率较高。

内容

1 镜像方式

首先,找到脑图
在这里插入图片描述
注释里面缺少了容器的启动命令,这点很不方便。通过镜像后可以看到,里面一个是项目文件,一个是量化后的,模型文件夹,这个还是比较清晰的。

将命令补充,放到我的streamlit 网页下
在这里插入图片描述
假设我要做让大模型做一个公司简介,在4060Ti16G上运行,大约需要8S,约12.5Token/S。
在这里插入图片描述
比较有意思的是,我发现单个chatglm2运行,只会占到50%的功耗,所以可以开两个服务,这不会减少单个任务的执行时间,但可以把吞吐翻一倍。

然后我又试了下llm_assemble,这个是我做的集成多个不同大模型,包括本地的和线上的接口。仍然是缺少了服务的启动命令和调用示例。
在这里插入图片描述

2 文件方式

大多数租用算力机不支持docker,这点上AnyGPU有点例外,更像是租了一个宿主机给你。但是也有个问题,sshd的配置不会生效,这意味着你可以通过秘钥登录,但是无法禁止使用密码。所以要删除可能被撞破的用户,如 userdel -f git

将文件通过rsync或者scp(有些不允许安装任何软件,如deepln)。
在这里插入图片描述
总体上也还好,不算复杂。

我在AndyGPU上租了一张2080Ti实验,模型占用的显存不大,但是单服务似乎就占满了显卡(功率不满)。可能是老显卡架构的问题?
在这里插入图片描述
然后我在DeepLn上租了一张3090实验。DeepLn的网络非常不稳定,走web服务行不通。但是注册送30元额度还是挺好的。
在这里插入图片描述
所以这个状态下作为服务肯定是行不通的,甚至后来我用jupyter的时候,也总是时断时续的。最后我还是用文件上传的方式,在机器上实验。实测速度大约是4060Ti的1.3~1.5倍吞吐,和理论值差不多。
在这里插入图片描述
3090如果按¥1/hour计算,那么每生成一千条数据花费1元钱。

3 使用消息队列

假设,任务为输出企业简介,prompt + input + output ~ 1KB数据,处理时间按4s/req计算:

(4s也可以认为是一次对话输出的可接受时间,worker的数量可以视为是并发数)

条数数据量计算时间传输时间计算传输比
11KB4s0.01s400
10001MB4000s ~ 1hour10s-
1百万1GB4百万秒 ~ 50 days4万秒-

可以看出来这种任务是非常适合广域网分布式处理的。百万量级是一个较平常的任务量级,50天显然是不可接受的时长,如果我们要在1天内完成,那么就需要50张卡(4060Ti),如果使用4090的话,大约是3倍的效率,也要16台机。单机配8卡的话,需要2台机。

关键是worker的数量,大约会是50,甚至是100个。这时候单独去管理的话,数据的分发就不能手动了。而且租用算力机随时可能出问题,必须假设worker是非常不稳定的。

所以,在这种高计算传输比,且需要多个worker尽力支持的场景,我觉得用消息队列最合适。

这部分后续再写吧,另一个话题了。

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

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

相关文章

Java包装类和泛型的知识点详解

目录 1 包装类 1.1 基本数据类型和对应的包装类 1.2 装箱和拆箱 1.3 自动装箱和自动拆箱 2 什么是泛型 3 引出泛型 3.1 语法 4 泛型类的使用 …

「每日跟读」英语常用句型公式 第9篇

「每日跟读」英语常用句型公式 第9篇 1. Go-to ___ 第一选择___ What’s your go-to snack when you’re hungry? (你饿的时候第一选择的零食是什么?) Who’s your go-to friend for advice? (你第一选择的朋友是谁来寻求建议?) Which is your go-t…

Python实现BOA蝴蝶优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蝴蝶优化算法(butterfly optimization algorithm, BOA)是Arora 等人于2019年提出的一种元启发式智能算…

智慧矿山视频智能监控与安全监管方案

一、行业背景 随着全球能源需求的日益增长,矿业行业作为国民经济的重要支柱,其发展日益受到广泛关注。然而,传统矿山管理模式的局限性逐渐显现,如生产安全、人员监管、风险预警等方面的问题日益突出。因此,智慧矿山智…

Python嵌入式片上系统逻辑电路分析调制物理信号

🎯要点 数学公式分解和Python绘图计算解析:🎯信号取样:🖊取样和绘图单个周期内的正弦信号,🖊修改样本密度接近图示弯曲峰值、🖊构造分段线性插值、🖊绘制线性插值填充误…

降本增效,赋予利润弹性,李子园努力践行“以投资者为本”理念降本增效,业绩稳步提升

4月9日,李子园发布2023年年度报告,披露了2023年业绩及经营数据。 2023年,李子园实现营业收入约14.1亿元,同比增长0.6%;实现归属于上市公司股东的扣非净利润约2.19亿元,同比增长16.75%。 数据显示&#xff…

Dubbo 序列化

Dubbo 序列化 1、什么是序列化和反序列化 序列化(serialization)在计算机科学的资料处理中,是指将数据结构或对象状态转换成可取用格式(例如存成文件,存于缓冲,或经由网络中发送),…

SVN客户端异常问题处理

1、如遇svn服务端异常(所有用户登录不上) (1)登录192.168.**.**服务器,找到E:\仓库所在盘\VisualSVN-GlobalWinAuthz.ini (2)先备份VisualSVN-GlobalWinAuthz.ini文件 (3&#xf…

Python-06-选择结构、循环

目录 1、选择结构 1.1 多分支结构语法结构 2、循环结构 2.1 遍历循环for的语句结构: 2.2 遍历字符串 1、选择结构 1.1 多分支结构语法结构 if 表达式1: #语句块1 elif 表达式2: #语句块2 elif 表达式n: #语句块n scoreeval(input(请输入您…

内网穿透的应用-如何使用Docker本地部署Dify LLM结合内网穿透实现公网访问本地开发平台

文章目录 1. Docker部署Dify2. 本地访问Dify3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 本文主要介绍如何在Linux Ubuntu系统以Docker的方式快速部署Dify,并结合cpolar内网穿透工具实现公网远程访问本地Dify! Dify 是一款…

注意力机制篇 | YOLOv8改进之清华开源ACmix:自注意力和CNN的融合 | 性能速度全面提升

前言:Hello大家好,我是小哥谈。混合模型ACmix将自注意力机制和卷积神经网络进行整合,使其同时具有自注意力机制和卷积神经网络的优点。这是清华大学、华为和北京人工智能研究院共同发布在2022年CVPR中的论文。ACmix结合了自注意力机制和卷积神经网络的优势,以提高模型的性能…

上市公司探索式创新词频数据(1991-2022年)

数据来源:上市公司年报 时间跨度:1991-2022年 数据范围:上市公司 数据数量:51610条 数据指标及样例数据: 探索 搜索 变化 冒险 试验 灵活性 发掘 革新 年份股票代码公司名称总词频对数探索搜索变化冒险试验灵…

记录Http访问服务接口出现 301 Moved Permanently

记录Http访问服务接口出现 301 Moved Permanently 一、项目背景 ​ 在A服务中 需要通过远程调用 B服务接口 获取数据。A项目与B项目部署在不同的服务接口中。 请求接口响应界面 ​ 在调用B项目的接口时,响应的数据一直为 301 Moved Permanently Html代码&#x…

docker容器重启故障

docker容器重启故障 强杀docker进程后,重启docker。docker中的容器无法启动并报错 docker restart XXXXXXX Error response from daemon: Cannot restart container XXXXXXX: container ‘XXXXXXXXXXXXXXXX’: already exists 原因:旧容器未安全退出 解…

原生js 在b.html 读取a.html文件内容,并添加到b.html的部分位置

1、第一种方式XMLHttpReques t var xhr new XMLHttpRequest(); xhr.open("GET", "a.html", true); xhr.onreadystatechange function () {if (xhr.readyState 4 && xhr.status 200) {var content xhr.responseText;// 将内容添加到 b.html …

Vue3 使用ElementUI 显示异常

element提供的样例不能正常显示,需要进行配置 1.npm install element-plus --save 2.main.js // main.ts import { createApp } from vue import ElementPlus from element-plus //全局引入 import element-plus/dist/index.css import App from ./App.vue const …

道可云文旅元宇宙平台:全面赋能文旅产业数字化转型

随着科技的迅猛发展,元宇宙、人工智能和虚拟数字人等技术逐渐成为推动社会进步的重要力量。在这一背景下,道可云文旅元宇宙平台以其独特的创新理念和前沿技术,为数字文博领域带来了革命性的变革。 道可云文旅元宇宙平台运用先进的元宇宙、人…

了解google的SerpApi是个啥

SerpApi是一个实时API,可以访问Google搜索结果。它为客户处理代理、解决验证码问题,并解析所有丰富的结构化数据。这个API让用户可以轻松地获取Google搜索结果,而无需直接与Google搜索进行交互,也不需要处理复杂的爬虫和验证码问题…

[2024年4月最新]Python安装教程

一、Python下载 1、进入Python官网 官网地址:https://www.python.org 2、点击【Downloads】展开后点击【Windows】跳转到下载python版本页面,选择"Stable Releases"稳定版本,我下载的是Python 3.10.10版本,所以找到【…

JavaScript教程(四)--- 函数

函数 函数是 JavaScript 中的基本组件之一。JavaScript 中的函数类似于过程——一组执行任务或计算值的语句。但要成为函数,这个过程应该接受输入并返回与输入存在某些明显关系的输出。要使用一个函数,你必须将其定义在你希望调用它的作用域内。 定义函…