应用开发者的疑问:大模型是真正的银弹吗?
被当成银弹的大模型
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 token 输入输出 2 分钱,也就是 0.02 元。
就算每次请求只耗费 10 token,假设机器是 200 qps,每天 8 小时,一天也需要消耗 0.02*(200*60*60*8*10/1000)=1152 元。模型所消耗的费用是应用服务器费用的 100 多倍。
具体背后 Open AI 自己的成本是多少,就更不得而知,甚至有人认为目前 Open AI 为了快速抢占市场,是在亏本卖的。
这就让应用的规模成本大大增加了,几乎不可能是一个完全免费给用户使用的产品。
虽然我相信在将来随着技术进步,成本会大幅度下降,但是大概率不是最近。
缓慢的计算速度
对于 ChatGPT 纯粹的聊天机器人,可以通过一个字一个字的流式输出来缓解计算速度缓慢的问题。但是对于想要通过它生成接口参数或者 SQL 的应用工程师来说,必须等待它完整生成完成,才能调用接口将结果返回给用户。
而高性能计算机这么多年的发展已经让用户习惯了快速响应的操作界面,现代人的时间都非常宝贵,不可能为了省几个步骤,却去等待更长的时间。
多余的功能
大模型很强大,能够回答科学问题,可以写诗,还能够编故事,甚至是生成软件破译序列码。。。
但是这些功能对我生成应用接口参数有什么用?反而容易产生法律风险,使用者通过简单的 “AI 投毒”,就能引导大模型回答出带有偏见歧视的答案,而防范这个却需要付出巨大的代价,甚至防不胜防,比如之前很有意思的 ChatGPT奶奶漏洞 [1]。
每当一门技术火爆的时候,工程师们总是跃跃欲试。在大数据火爆的时候,哪怕系统里只有几条数据,也要上 Flink。大模型也有类似的问题,就为了生成几个 CRUD 的接口参数,就上昂贵,缓慢又容易出法律问题的大模型。而忽视了传统计算简单,快速且易于控制的优势。
除了大模型之外的 NLP 技术有哪些?
大模型和传统 NLP 技术从算力消耗和能力上,都给人非常直观的差别,所以才能火出圈。大模型的定义又是什么呢?维基百科词条[2]对它的定义是,神经网络中的参数超过十亿的深度学习模型。所有的大模型都其实来源于 Google 在 2017 年发表的 Transformer 论文,我们这里暂时认为所有基于 Transformer 的都是大模型,下图是网上很火的大模型发展树来源[3]:
在大模型火之前,虽然国内之前也有天猫精灵,科大讯飞等对话机器人产品,但是似乎没有多少应用通过自然语言提供功能。甚至连专长做 im 的应用钉钉,似乎也没有想要通过自然语言实现应用功能的想法。
但是根据我国外朋友的说法,因为国外人力成本高,很早以前,他们的很多应用就在通过对话提供功能。他们甚至连交电费的 APP 都支持通过对话缴纳电费。
我本身也不是 NLP 领域的从业人员,对于大模型之外的 NLP 技术只能抛砖引玉:
- 规则语言模型
1.其实就是程序员常说的硬编码,使用类似于正则模式匹配的方式对自然语言进行处理,虽然现在听起来很 “Low”,但是大模型火爆之前也有一些产品使用这个,这种算法虽然速度快,但是消耗人力与专业知识, 好在有语言专家已经做好了一些开源框架,比如 ChatterBot[4],Will[5] 等,Will 在 2018 年还被集成到了 Slack 中。
- 统计语言模型
1.不再需要程序员去编码规则,而是使用一些统计方法(比如tfidf,主成分分析),去计算语句的特征,比如词语的频率,经常和哪些词一起出现等等。通过这个统计学知识再去计算新出现的语句,常见的 主题分析,情感分析 等等都是类似的技术。
2.用来做简单的文本分类效果很好,很多线上的垃圾邮件自动识别据说用的都是这种技术。
- 神经语言模型
1.我们当下最熟悉的 NLP 技术,在大模型之前有 RNN,LSTM 等,后来都被基于 Transformer 的大模型碾压。
未来
我认为大模型不是银弹,未来它可能往两个方向发展:
- 文本类的助理,比如写作助手,口语教练,专家咨询等等,这也是大模型的老本行;
- 集成自动化厂商,比如 Zaiper[6],Alfred[7]等等,做一个统一的自动化助手付费产品,所有软件的自然语言操作都通过统一的入口进行。这样才是对用户更加方便的,而不是每个应用还要去找单独的助手去提问。
其他一些更简单的文本分类,主题识别以及情感分析等等任务,或许传统 NLP 有更加合适的方案。
作为一个应用开发者,并非 AI 的专业人士,文中可能有很多不专业的地方,本文纯粹是抛砖引玉,希望吸引更多的专业人士前来讨论。
参考链接:
[1]ChatGPT「奶奶漏洞」火了,竟能骗出Win11秘钥,信息安全问题令人深思! - 知乎
[2]https://zh.wikipedia.org/wiki/大型语言模型
[3]https://github.com/Mooler0410/LLMsPracticalGuide
[4]https://github.com/gunthercox/ChatterBot
[5]https://pypi.org/project/will/
作者|悬衡
点击立即免费试用云产品 开启云上实践之旅!
本文为阿里云原创内容,未经允许不得转载
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于云原生网关的流量防护实践
背景 在分布式系统架构中,每个请求都会经过很多层处理,比如从入口网关再到 Web Server 再到服务之间的调用,再到服务访问缓存或 DB 等存储。在下图流量防护体系中,我们通常遵循流量漏斗原则进行流量防护。在流量链路的每一层,我们都需要进行针对性的流量防护与容错手段,来保障服务的稳定性;同时,我们要尽可能地将流量防护进行前置,比如将一部分 HTTP 请求的流量控制前置到网关层,提前将一部分流量进行控制,这样可以避免多余的流量打到后端,对后端造成压力同时也造成资源的浪费,为此,在网关侧做流量防护是十分有必要的。 在传统的流量网关场景下,对流量进行访问控制是一个很常见的需求。比如在 nginx 中,limit_req 就是一个最为常见的限流配置,而在 Envoy 中,也支持本地以及全局两种模式的限流,但是二者均有其局限性。在功能的丰富度上,二者不及常见的限流组件开源项目,如 Sentinel 、Hystrix 等,在实际的使用场景中,实用性也很弱,比如不支持无性能损耗的集群限流等等。 云原生网关的流量防护功能,底层使用了 Sentinel 内核,并做了一定的强化和改造。Sentinel...
- 下一篇
首个支持 Google PaLM 的 Java SDK 1.9.0 发布
推荐一套基于 SpringBoot 开发的全平台数据 (数据库管理工具) 功能比较完善,建议下载使用:https://github.com/EdurtIO/datacap目前已经支持 40+ 多种数据源。国内首个应用 ChatGPT 到数据管理系统中项目。 推荐一套基于 SpringBoot 开发的简单、易用的开源权限管理平台,建议下载使用:https://github.com/devlive-community/authx OpenAI Java SDK 为 Java 开发人员提供方便易用的 SDK 来与开放 AI 模型的 API 进行交互。 支持 Google PaLM 没有得到授权用户可以到https://developers.generativeai.google/products/palm申请授权 创建 Completion try(OpenAiClient client=OpenAiClient.builder() .provider(ProviderModel.GOOGLE_PALM) .model(CompletionModel.TEXT_BISON_001) ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器