应用开发者的疑问:大模型是银弹吗?

news2024/12/29 17:13:28

被当成银弹的大模型


ChatGPT 火了之后,大模型似乎被当成了真正的银弹,所有的体验问题都想通过大模型解决:

  • 能不能和大模型对话订机票?
  • 自然语言生成 SQL,简化报表分析工作?
  • 大模型帮老年人操作软件?
  • 能不能用于识别敏感信息?
  • 。。。

似乎大模型成了自然语言工程领域的真正银弹。但是我依稀记得 《人月神话》作者 Fred Brooks 所说的 “软件工程没有银弹”;以及华尔街投资大师们说的 “当所有人都在谈论一件事情的时候,说明这件事情已经出现了泡沫”。

这里就想和大家简单讨论下大模型的局限以及真正的适用场景。本人不是专业搞算法的,还希望算法大佬们多多发表观点。

大模型是银弹吗?


把一些软件功能接入大模型,精度之类的问题或许还可以通过大量的训练解决。但是当真正面对终端用户时,下面这些问题却可能导致大模型不是最优解法。

昂贵的费用

吴军的著作《浪潮之巅》认为,互联网和计算机软件行业能快速扩张这么多年的重要原因就是其很低的扩张成本。传统行业,比如福特汽车,每卖出一辆汽车,就必须付出一辆车的生产成本,甚至要扩建厂房等等,这最终使得福特汽车的规模扩张不再划算,不得不市场份额让给其他厂商。而计算机软件可以几乎零成本的复制扩张,互联网软件增加一个用户也几乎没啥服务器成本,就很容易形成赢者通吃的局面。
这件事在大模型软件上可能就不太一样了。OpenAI 能够将大模型的免费使用扩张到如此规模,很大程度上得益于微软的投资,据传言,微软给 OpenAI 投资过数百亿美元。我们暂且不讨论大厂花费数亿训练费用的回本问题,只看 API 调用费用,也是一笔不太划算的买卖。
目前我维护的应用每台机器的 qps 大约平均在三百左右(按一天 8 小时平均,非峰值),在阿里云上这样的机器如果按 2M 带宽,每年的租赁费用大约在 3373元,平均到每天只需要 9 元。
而假如应用全面接入了大模型,每次调用都是大模型产生的,目前 Open AI 的是按 token 收费的,最便宜的 GPT-3.5 Turbo 模型的价格是 0.0015 美元每 1000 token 输入,0.002 美元每 1000 token 输出,这换算成人民币我们就简单估计成每 1000 toke 输入输出 2 分钱,也就是 0.02 元。

OpenAI的收费标准

就算每次请求只耗费 10 token,假设机器是 200 qps,每天 8 小时,一天也需要消耗 0.02*(200*60*60*8*10/1000)=1152 元。模型所消耗的费用是应用服务器费用的 100 多倍。
具体背后 Open AI 自己的成本是多少,就更不得而知,甚至有人认为目前 Open AI 为了快速抢占市场,是在亏本卖的。
这就让应用的规模成本大大增加了,几乎不可能是一个完全免费给用户使用的产品。

虽然我相信在将来随着技术进步,成本会大幅度下降,但是大概率不是最近。

缓慢的计算速度

对于 ChatGPT 纯粹的聊天机器人,可以通过一个字一个字的流式输出来缓解计算速度缓慢的问题。但是对于想要通过它生成接口参数或者 SQL 的应用工程师来说,必须等待它完整生成完成,才能调用接口将结果返回给用户。
而高性能计算机这么多年的发展已经让用户习惯了快速响应的操作界面,现代人的时间都非常宝贵,不可能为了省几个步骤,却去等待更长的时间。

多余的功能

大模型很强大,能够回答科学问题,可以写诗,还能够编故事,甚至是生成软件破译序列码。。。
但是这些功能对我生成应用接口参数有什么用?反而容易产生法律风险,使用者通过简单的 “AI 投毒”,就能引导大模型回答出带有偏见歧视的答案,而防范这个却需要付出巨大的代价,甚至防不胜防,比如之前很有意思的 ChatGPT奶奶漏洞 。

每当一门技术火爆的时候,工程师们总是跃跃欲试。在大数据火爆的时候,哪怕系统里只有几条数据,也要上 Flink。大模型也有类似的问题,就为了生成几个 CRUD 的接口参数,就上昂贵,缓慢又容易出法律问题的大模型。而忽视了传统计算简单,快速且易于控制的优势。

除了大模型之外的 NLP 技术有哪些?


大模型和传统 NLP 技术从算力消耗和能力上,都给人非常直观的差别,所以才能火出圈。大模型的定义又是什么呢?维基百科词条 对它的定义是,神经网络中的参数超过十亿的深度学习模型。所有的大模型都其实来源于 Google 在 2017 年发表的 Transformer 论文,我们这里暂时认为所有基于 Transformer 的都是大模型,下图是网上很火的大模型发展树 来源:

大模型发展时间线

在大模型火之前,虽然国内之前也有天猫精灵,科大讯飞等对话机器人产品,但是似乎没有多少应用通过自然语言提供功能。甚至连专长做 im 的应用,比如钉钉和微信,似乎也没有想要通过自然语言实现应用功能的想法。
但是根据我国外朋友的说法,因为国外人力成本高,很早以前,他们的很多应用就在通过对话提供功能。他们甚至连交电费的 APP 都支持通过对话缴纳电费。

我本身也不是 NLP 领域的从业人员,对于大模型之外的 NLP 技术只能抛砖引玉:

  • 规则语言模型
    • 其实就是程序员常说的硬编码,使用类似于正则模式匹配的方式对自然语言进行处理,虽然现在听起来很 “Low”,但是大模型火爆之前的很多用户级产品都是靠的这个(比如亚马逊的 Alexa,苹果的 Siri ,Google Now 等都是类似的技术)。这种算法虽然速度快,但是消耗人力与专业知识, 好在有语言专家已经做好了一些开源框架,比如 ChatterBot,Will 等,Will 在 2018 年还被集成到了 Slack 中。
  • 统计语言模型
    • 不再需要程序员去编码规则,而是使用一些统计方法(比如tfidf,主成分分析),去计算语句的特征,比如词语的频率,经常和哪些词一起出现等等。通过这个统计学知识再去计算新出现的语句,常见的 主题分析,情感分析 等等都是类似的技术。
    • 用来做简单的文本分类效果很好,很多线上的垃圾邮件自动识别据说用的都是这种技术
  • 神经语言模型
    • 我们当下最熟悉的 NLP 技术,在大模型之前有 RNN,LSTM 等,后来都被基于 Transformer 的大模型碾压

未来


我认为大模型不是银弹,未来它可能往两个方向发展:

  • 文本类的助理,比如写作助手,口语教练,专家咨询等等,这也是大模型的老本行
  • 集成自动化厂商,比如 Zapier,Alfred 等等,做一个统一的自动化助手付费产品,所有软件的自然语言操作都通过统一的入口进行。这样才是对用户更加方便的,而不是每个应用还要去找单独的助手去提问。

Alfred

其他一些更简单的文本分类,主题识别以及情感分析等等任务,或许传统 NLP 有更加合适的方案。

作为一个应用开发者,并非 AI 的专业人士,文中可能有很多不专业的地方,本文纯粹是抛砖引玉,希望吸引更多的专业人士前来讨论。

End


作者:元青

微信公众号 「技乐书香」

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

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

相关文章

nosql之redis集群

文章目录 一.redis集群1.单节点redis服务器带来的问题2.集群redis3.集群的优势4.redis集群的实现方法5.redis群集的三种模式5.1 主从复制5.2 哨兵5.3 集群 二.Redis 主从复制1.主从复制概念2.主从复制的作用3.主从复制流程4.搭建Redis 主从复制4.1 安装 Redis4.2 修改 Redis 配…

RBF神经网络原理和matlab实现

1.案例背景 1.1 RBF神经网络概述 径向基函数(Radical Basis Function,RBF)是多维空间插值的传统技术,由Powell于1985年提出。1988年, Broomhead和 Lowe根据生物神经元具有局部响应这一特点,将 RBF引入神经网络设计中,产生了RBF神经网络。1989 年,Jackson论证了…

开源项目-erp企业资源管理系统(毕设)

哈喽,大家好,今天给大家带来一个开源项目-erp企业资源管理系统,项目通过ssh+oracle技术实现。 系统主要有基础数据,人事管理,采购管理,销售管理,库存管理,权限管理模块 登录 主页 基础数据 基础数据有商品类型,商品,供应商,客户,仓库管理功能

Python零基础入门(十)——模块与包

系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟 码字不易,如果觉得文章不…

【C语言-扫雷游戏全功能详解】

目录 理解扫雷原理 梳理扫雷过程 9*9 棋盘 初始化棋盘 显示棋盘 ​编辑 布置雷 排查雷 统计x,y坐标周围有几个雷 使用递归函数来实现周围没地雷时展开多个 判断成功排除后剩下的方格数是否等于地雷数 排查函数 梳理编写代码思路 头文件game.h 库函数所需要头文件 …

STM32 cubemx配置USART DMA传输

文章目录 前言一、DMA概念二、STM32 DMA数据手册分析3.DMA模式介绍4.cubemx配置总结 前言 本篇文章来讲解DMA的概念,并使用DMA来进行串口的数据收发。 一、DMA概念 DMA(Direct Memory Access,直接内存访问)是一种计算机系统的技…

vue 设置数组

手写获取数据 <el-form-item label"缴纳方"><el-select v-model"form.invoiceCategoryName" placeholder"请选择缴纳方"><el-optionv-for"item in kplmList":key"item.value":label"item.label":v…

求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法)

首先可以将方程两边同时加上x&#xff0c;&#xff0c;这时候两边同时再除以1x&#xff0c;就得到了&#xff0c;变形为。&#xff08;变性后的迭代式不唯一&#xff0c;这里随便选取一个&#xff09; 当x是准确值的时候&#xff0c;两边应该是相等的&#xff0c;如果x是近似值…

数据库连接池的使用

十、数据库连接池的使用 1、c3p0数据库连接池 硬编码&#xff1a; c3p0的帮助文档 c3p0配置文件&#xff1a; 2、dbcp数据库连接池 配置文件&#xff1a; 3、druid 将上面三个做成工具类&#xff1a;

单网卡实现 双IP 双网段(内外网)同时运行

前提是内外网是同一网线连接&#xff08;双网线双网卡的具体可以自己搜索下。理论上都设置静态IP后把外网跃点设置小&#xff0c;内网跃点设置大&#xff0c;关闭自动跃点设置同一个接口跃点数&#xff0c;在通过命令提示符添加内网网址走内网网关就可以了&#xff09;。 需要使…

Mac 定时重启 TouchBar 脚本(缓解闪烁问题)

背景 Mac 笔记本 TouchBar 是真的脆啊&#xff0c;合盖使用一段时间就废了&#xff0c;右侧一直闪烁简直亮瞎眼 &#x1f602; 经过观察&#xff0c;总结出闪烁规律如下&#xff1a; 工作状态&#xff1a;不断操作电脑时&#xff0c;触控栏处于工作状态&#xff0c;几乎不闪…

Git分布式版本控制工具和GitHub(一)--简介

一.Git概述 1.Git简介 【1】什么是Git? Git就是代码版本管理工具。 【2】为什么要使用Git &#xff08;1&#xff09;版本控制 写代码就是不断写BUG的过程&#xff08;当然我们是不会这么说的&#xff09;&#xff0c;很多时候你写了100行代码之后&#xff0c;突然醒悟&…

APP自动化测试-Python+Appium+Pytest+Allure框架实战封装(详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 pytest只是单独的…

Spring——更快捷的存储 / 获取Bean对象

文章目录 前言一、存储 Bean 对象类注解为什么有五个类注解使用类注解存储对象配置扫描路径(重中之重)添加注解存储 Bean 对象 方法注解配置扫描路径(重中之重)使用方法注解存储对象 二、获取 Bean 对象Autowired属性注入Setter注入构造方法注入 Resource 总结 前言 本人是一个…

day17-二叉树的迭代遍历

二叉树的迭代遍历 二叉树的递归遍历是比较简单的 前序中序后序 前序遍历 前序遍历代码如下&#xff1a; class Solution { public:vector<int> preorderTraversal(TreeNode* root) {vector<int> res;preorder(root,res);return res;}void preorder(TreeNode* …

进度条 Vue2 +PC端 ,点击页面加载时页面顶部的那个蓝条

提示&#xff1a; <div class"global-loading"> </div> css:less <style lang"less"> .global-loading {background-color: red;height: 10px;position: fixed;z-index: 999;width: 0;animation: grow 2s infinite forwards;}keyframe…

ROS从入门到精通6-8:costmap代价地图插件编写案例(prohibition_layer)

目录 0 专栏介绍1 为什么需要代价地图插件?2 自定义代价地图插件3 仿真测试0 专栏介绍 本专栏旨在通过对ROS的系统学习,掌握ROS底层基本分布式原理,并具有机器人建模和应用ROS进行实际项目的开发和调试的工程能力。 🚀详情:《ROS从入门到精通》 1 为什么需要代价地图插…

PHP: 开发入门macOS系统下的安装和配置

安装Homebrew 安装 ~~友情提示&#xff1a;这个命令对网络有要求&#xff0c;可能需要翻墙或者用你的手机热点试试&#xff0c;或者把DNS换成&#xff08;114.114.114.114 和 8.8.8.8&#xff09; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebr…

tensorRT模型性能测试

目录 前言1. 模型训练1.1 模型1.2 数据集1.3 xml2yolo1.4 yolo2json1.5 json2yolo1.6 训练 2. TRT模型转换2.1 YOLOv5 ONNX导出2.2 YOLOv6 ONNX导出2.3 YOLOv5 engine生成2.4 YOLOv6 engine生成 3. TRT模型测试3.1 YOLOv5 engine mAP测试3.2 YOLOv5 engine 速度测试3.3 YOLOv6 …

代码随香录算法训练营day16 | 104. 二叉树的最大深度,559. N 叉树的最大深度,111. 二叉树的最小深度,222. 完全二叉树的节点个数

目录 104. 二叉树的最大深度 559. N 叉树的最大深度 111. 二叉树的最小深度 222. 完全二叉树的节点个数 104. 二叉树的最大深度 学了回溯之后再来做一下 思路&#xff1a; 二叉树节点的深度&#xff1a;指从根节点到该节点的最长简单路径边的条数或者节点数&#xff08;取…