深入解析:企业如何通过大型语言模型(LLMs)优化产品与工作流程

news2024/12/23 22:54:41

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

现今,几乎每家公司都在寻找利用大型语言模型(LLMs)的方式。即便他们的高管们可能看不到太多的适用性,他们的投资者很可能看到了,因此他们在空白的一页纸前焦虑地试图想出一个点子。将LLMs用于提升内部效率的论点很直接,但描述LLMs如何让产品对客户更有用的方式则困难得多。

我过去一年直接参与到LLMs在现有产品中的有意义应用工作,想要整理一些略显杂乱的笔记。这些笔记没有特定的顺序,主要面向那些在产品开发领域工作的业内人士。

重构你的思维模式


许多业内人士仍在构建他们对LLMs的思维模型,这导致了许多关于LLMs能做什么以及我们应如何使用它们的推理错误。我看到许多人对LLMs持有两种无助的思维模式:

  1. LLMs是魔法:任何人类能做的事情,LLM可能也能做得差不多好,而且速度快得多
  2. LLMs与强化学习相同:当前的幻觉和准确性问题是由数据集小导致的。准确性问题将通过更大的训练集得到解决,我们可以依赖信心分数来减少不准确性的影响

这两种都是错误的,而且在不同但重要的方面错误。为避免陷入这些思维模型的陷阱,我建议采用以下几个有用的思维模型支柱:

  • LLMs可以对任何提示做出合理的回应——LLM会自信地对你编写的任何文本提示提供回应,并将越来越多地对文本加其他媒体形式如图片或视频提供回应
  • 你无法知道给定的回应是否准确——LLMs产生意外的结果,称为幻觉,你无法具体知道它们何时是错误的。没有生成的信心分数帮助你推理LLM的特定答案
  • 你可以使用评估来估计模型和给定提示集的准确性——你可以使用评估——运行LLM针对已知的提示集,记录响应并评估这些响应——来评估LLM在给定场景下表现良好的可能性
  • 你通常可以通过使用更大的模型来提高准确性,但它的成本更高,延迟也更大——例如,GPT-4是比GPT-3.5更大的模型,通常提供更高质量的响应。然而,它的成本显著更高(约贵20倍),速度也显著更慢(慢2-5倍)。然而,每个价格点的质量、成本和延迟都在改善。你应该预期未来五年内,给定成本、延迟或质量点的年度性能会有显著提升(例如,你应该期待在12-24个月内以GPT-3.5的价格和延迟获得GPT-4的质量)
  • 模型通常随着它构建的语料库大小的增长而变得更准确——强化学习的准确性随着数据集的增长而可预测地增长。这对LLMs通常也是真的,但不那么可预测。小模型通常表现不如大模型。大模型通常在数据质量更高时表现优于小模型。用特定数据补充大型通用模型称为“微调”,目前还不清楚何时通过微调一个较小的模型会比使用一个较大的模型表现更好。你真正能做的就是根据可用的模型和微调数据集为你的特定用例运行评估
  • 即使是最快的LLMs也不是那么快——即使是快速的LLM也可能需要10秒以上才能提供一个合理大小的回应。如果你需要进行多次迭代以完善初始响应,或使用更大的模型,可能需要一两分钟才能完成。这些会变得更快,但今天它们还不快
  • 即使是最昂贵的LLMs对于B2B使用来说也不是那么昂贵。即使是最便宜的LLM对于消费者使用来说也不是那么便宜——因为定价是由使用量驱动的,这是一项对于B2B业务来说很容易证明的技术,这些业务有较小的付费使用量。相反,弄清楚你将如何为消费者业务中的显著LLM使用付费而不冒险大幅缩小你的利润率是非常具有挑战性的

这些并不完美,但希望它们为推理出什么会或不会在将LLMs应用到你的产品时起作用提供了一个良好的基础。有了这个基础,现在是时候深入探讨一些更具体的子话题了。

继续前面的内容,我们接着探讨一些具体的应用场景和策略:

改造工作流程


现代软件的工作流程并不是为了最大限度地从LLMs中获益而设计的。这一点并不令人惊讶——它们是在LLMs普及之前构建的——但这确实需要重新思考工作流程设计。

以抵押贷款提供商的软件为例:

1. 用户创建账户。
2. 产品要求用户填写大量数据,以了解用户想要的抵押贷款类型及其资格。
3. 产品要求用户提供支持数据的文件,可能包括一些最近的工资单、银行账户余额等。
4. 内部团队验证用户的数据与用户提供的文件是否匹配。

在这个工作流程中,LLMs仍然可以为企业提供重大价值,你可以通过提高验证文件与用户提供信息匹配的效率来增加效率,但用户本身除了可能更快地验证其申请外,不会看到太多其他好处。

然而,你可以调整工作流程使其更具价值:

1. 用户创建账户。
2. 产品要求用户提供文件。
3. 产品使用LLM从文件中提取数据。
4. 用户验证提取的数据是否正确,并提供一些调整。
5. 内部团队审查用户的调整,并处理任何由规则引擎提出的高风险问题。

这两个产品的技术复杂性基本相同,但用户体验截然不同。内部团队的体验也得到改善。我相信,许多现有产品只有通过重新思考它们的工作流程,才能显著提升用户体验。

检索增强生成(RAG)


模型在给定提示中会考虑的文本的最大“令牌窗口”。令牌窗口的最大大小正在迅速扩展,但更大的令牌窗口评估速度更慢,评估成本更高,所以即使是扩展的令牌窗口也不能解决所有问题。

在固定令牌窗口内导航大型数据集的一个解决方案是检索增强生成(RAG)。举个具体的例子,你可能想要创建一个约会应用,根据个人对问题“你与书籍、电视节目、电影和音乐的关系是什么,它是如何随时间改变的?”的自由形式回答来匹配个人。没有一个令牌窗口足够大,能包括约会应用数据库中每个用户的回应在LLM提示中,但你可以通过筛选位置来找到二十个可能匹配的用户,然后包括这二十个用户的自由形式回答,并在它们之间进行匹配。

这是有道理的,采用一种简单的算法来获取响应的可能组成部分,再结合LLM筛选并打包这些可能的回应成一个实际的回应,这种两阶段结合的方式工作得相当好。

在我看来,人们遇到问题的地方是尝试将RAG作为解决搜索问题的方法,而不是认识到RAG需要作为其实现的一部分的有用搜索。例如,从RAG的高级视角来看,有些人可能认为他们可以用RAG替换他们的搜索技术(如Elasticsearch),但这只有在你的数据集非常小且你可以容忍更高的响应延迟时才成立。

从我的角度看,大多数走捷径的解决方案看起来像是在小数据集上工作,让你假装像搜索相关性这样的事情不重要,而实际上相关性在超出原型阶段时显著影响响应质量(无论它们是字面上的搜索相关性还是更好调整的SQL查询以检索更合适的行)。这创造了一个关于原型将如何转化为生产能力的错误期望,带来所有可预见的后果:低估时间表、生产行为/性能不佳等。

创新的速率


模型性能,即在给定预算(无论是美元还是毫秒)下的响应质量,将继续提高,但如果没有在LLMs的创建或处理中实现重大技术突破,这种提升的速度不会持续。我预期这些突破会发生,但在最初几年后会变得不那么频繁,然后会放慢速度。确定我们处于那个周期的哪个阶段很难,因为仍然有大量的资本涌入这个领域。

除了技术突破外,推动创新的另一个方面是构建越来越大的模型。今天限制模型大小的因素是否是Nvidia GPU的可用性、可合法使用的用于训练模型的更大数据集、训练新模型的资本或财务模型表明,从训练更大模型中得到的折现未来现金流不符合合理的回报期,这一点尚不清楚。我的假设是,所有这些因素都曾经或将来成为LLM创新的限制条件,各个竞争者将根据最相关的约束条件取得进展。(这里有许多引人入胜但边缘的情景可以考虑,例如,想象一下美国政府为了不在LLM训练竞赛中输给不尊重美国版权法的国家而废除版权法的情景。)

可以安全地假设模型性能将继续提高。性能在未来几年显著提高的可能性很大。我认为我们将看到LLMs像摩尔定律那样在几十年内继续取得根本性进步的可能性相对较小,但许多事情可能很容易证明我错了。例如,某一天核聚变将成为主流,并以一种真正重写世界结构的方式改变我们对能源利用的看法,LLM训练成本可能就是其中的一部分。

人在回路中(HITL)


因为你不能依赖LLMs提供正确的回应,也不能为任何给定的回应生成信心分数,你不得不接受潜在的不准确性(在许多情况下这是有意义的,人类有时也会犯错)或保持一个人在回路中(HITL)来验证回应。

如在工作流程部分讨论的那样,许多公司已经有执行验证工作的人员,现在可以转而监督LLM的回应,而不是自己生成回应。在其他情况下,可以调整产品的工作流程,依赖外部用户作为HITL。我怀疑大多数产品将依赖这两种技术以及启发式方法来确定何时需要内部审查。

幻觉和法律责任


如前所述,LLMs经常生成错误但自信的回应。HITL是防止采取错误但自信的回应的设计原则。这是因为它将责任(具体来说是法律责任)从LLM本身转移到今天的具体人员。例如,如果你使用Github Copilot生成导致安全漏洞的一些代码,那么你对那个安全漏洞负责,而不是Github Copilot。今天大规模采用LLM的每一个案例都是在一种模式下进行的,即将响应的责任转移给参与的人。

许多初创企业家梦想着一个与HITL完全不同的世界,LLMs在其中被依赖,但我认为这只适用于可以转移法律责任的情况(例如Github Copilot的例子)或本来就没有法律责任的情况(例如基于他们的个人资料图片生成一首搞笑的诗歌)。

“从零到一”与“从一到N”


人们强烈希望有一个世界,在这个世界中,LLMs取代软件工程师,或者软件工程师转为监督角色而不是编写软件。例如,一位企业家想要建立一个Reddit的复制品,并使用LLM来实现那个实现。有足够的证据表明,今天可以在几周内使用LLM和一些调试技巧从零开始实现一个新产品的想法。

然而,大多数企业家缺乏在有意义数量的用户操作和发展软件的深刻直觉。一些例子包括:

  • - 在更改用户界面后保持用户参与需要积极、有意的工作
  • - 确保用户数据安全并符合各种隐私合规义务
  • - 提供符合SOC2的控制并提供维护这些控制的可审计证据
  • - 在支持一组新列的情况下迁移带有客户数据的数据库架构
  • - 将查询模式锁定到一组特定的允许模式,这些模式在更高规模下有效

所有这些都是扩展产品的基本组成部分(例如,从“一到N”),LLM根本就不会有效执行这些任务,我怀疑我们是否会看到一个特别可靠的基于LLM的替代品来替代熟练的人类智能。不过,看看人们尝试将基于LLM的自动化推向何种程度以延迟需要聘请专业知识的项目的开始将会很有趣。

版权法


版权问题今天非常不明确,而且在可预见的未来仍将不明确。今天使用LLMs所做的所有工作必须考虑到法律结果的分歧。我的最佳猜测是,我们将看到一个关于LLM生成内容是否可著作权的法律巴尔干化时代,从长远来看,LLMs将被视为任何其他基本技术组件一样,例如,运行拼写检查器不会撤销你对经过拼写检查的文档的著作权。你可以提出各种好的论点,为什么这种观点对于数据被训练上的著作权持有者来说是不公平的,但从长远来看,我只是认为没有其他解释是可行的。

数据处理协议


今天使用LLMs的一个小但引人入思的现实是,许多客户对LLM提供商(如OpenAI、Anthropic等)敏感,因为这些提供商是相对新的公司,他们正在

构建相对新的东西,几乎没有法律先例来为他们降低风险。这意味着将他们添加到你的数据处理协议(DPA)中可能会造成一些摩擦。解决这种摩擦的最明显方法是依赖通过你现有的云供应商(AWS、Azure、GCP等)提供的LLM功能。

供应商可用性


我过去认为这非常重要,但我的感觉是LLM托管已经基本等同于其他云服务(例如,你可以通过AWS获得Anthropic或通过Azure获得OpenAI),而且很少有公司会从过多地担心LLM的可用性中受益。我认为,通过熟悉可扩展性的云供应商直接访问LLM可能是这里的胜出选择。

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

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

相关文章

基于令牌桶算法对高并发接口的优化

业务背景 项目中有一个抽奖接口,此接口需要处理高并发问题以及使用脚本作弊的问题。 本文主要探讨如何最大程度地减少脚本作弊行为对抽奖业务的影响。 设计思路 如何减少脚本作弊行为对抽奖业务的影响 使用令牌桶算法,对频率过高的用户请求进行拦截 …

关于ansible的模块 ⑤

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 继《关于Ansible的模块 ①》、《关于Ansible的模块 ②》、《关于Ansible的模块 ③》与《关于Ansible的模块 ④》之后&#xff0c…

uniapp 地图分幅网格生成 小程序基于map组件

// 获取小数部分 const fractional function(x) {x Math.abs(x);return x - Math.floor(x); } const formatInt function(x, len) {let result x;len len - result.length;while (len > 0) {result 0 result;len--;}return result; }/*** 创建标准分幅网格* param …

Mysql-数据库集群的搭建以及数据库的维护

一、数据库的维护 1.数据库的备份与恢复 1&#xff09;备份指定数据库 #mysqldump -u root -p zx > ./zx.dump 2&#xff09;备份所有库 #mysqldump -u root -p --all-databases > ./all.dump 3)恢复所有库 #mysql -u root -p < ./all.dump 4)恢复指定数据库 #mysq…

SqlServer快速导出数据库结构的方法

1、查询出所有的表 SELECT name, id From sysobjects WHERE xtype u ORDER BY name ASC 2、根据表名查询出表结构 select syscolumns.name as "列名", systypes.name as "数据类型", syscolumns.length as "数据长度", sys.extended_prope…

【数据结构】考研真题攻克与重点知识点剖析 - 第 7 篇:查找

前言 本文基础知识部分来自于b站&#xff1a;分享笔记的好人儿的思维导图与王道考研课程&#xff0c;感谢大佬的开源精神&#xff0c;习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析&#xff0c;本人技术…

Redis中的集群(三)

集群 槽指派 记录节点的槽指派信息。 clusterNode结构的slots属性和numslot属性记录了节点负责处理哪些槽: struct clusterNode { // ... unsigned char slots[16384/8];int numslots; // ... }slots属性是一个二进制位数组(bit array)&#xff0c;这个数组的长度位16384/8…

CLI的使用与IOS基本命令

1、实验目的 通过本实验可以掌握&#xff1a; CLI的各种工作模式个CLI各种编辑命令“?” 和【Tab】键使用方法IOS基本命令网络设备访问限制查看设备的相关信息 2、实验拓扑 CLI的使用与IOS基本命令使用拓扑如下图所示。 3、实验步骤 &#xff08;1&#xff09;CLI模式的切…

《前端面试题》- CSS - CSS选择器的优先级

行内样式1000 d选择器100 属性选择器、class或者伪类10 元素选择器&#xff0c;或者伪元素1 通配符0 参考网址&#xff1a;https://blog.csdn.net/jbj6568839z/article/details/113888600https://www.cnblogs.com/RenshuozZ/p/10327285.htmlhttps://www.cnblogs.com/zxjwlh/p/6…

【机器学习】一文掌握机器学习十大分类算法(上)。

十大分类算法 1、引言2、分类算法总结2.1 逻辑回归2.1.1 核心原理2.1.2 算法公式2.1.3 代码实例 2.2 决策树2.2.1 核心原理2.2. 代码实例 2.3 随机森林2.3.1 核心原理2.3.2 代码实例 2.4 支持向量机2.4.1 核心原理2.4.2 算法公式2.4.3 代码实例 2.5 朴素贝叶斯2.5.1 核心原理2.…

mybatis-plus与mybatis同时使用别名问题

在整合mybatis和mybatis-plus的时候发现一个小坑&#xff0c;单独使用mybatis&#xff0c;配置别名如下&#xff1a; #配置映射文件中指定的实体类的别名 mybatis.type-aliases-packagecom.jk.entity XML映射文件如下&#xff1a; <update id"update" paramete…

骑砍2霸主MOD开发(2)-基础开发环境搭建

一.骑砍2霸主程序架构 二.骑砍2霸主C#接口层代码查看 1.C#反编译工具dnspy下载: 2.骑砍2霸主游戏引擎接口查看: 例如IMBAgent interface接口: #调用TaleWorlds.Native.dll中的函数 [EngineMethod("get_movement_flags", false)] uint GetMovementFlags(UIntPtr agen…

MySQL高级(索引语法、创建索引、查看索引、删除索引)

创建索引 create [unique | fulltext] index index_name on table_name (index_col_name,...); 查看索引 show index from table_name; 删除索引 drop index index_name on table_name; 案例演示&#xff1a; 先来创建一张表 tb_user&#xff0c;并且查询测试数据。 cre…

OLAP在线实时 数据分析平台

随着业务的增长&#xff0c;精细化运营的提出&#xff0c;产品对数据部门提出了更高的要求&#xff0c;包括需要对实时数据进行查询分析&#xff0c;快速调整运营策略&#xff1b;对小部分人群做 AB 实验&#xff0c;验证新功能的有效性&#xff1b;减少数据查询时间&#xff0…

easyExcel - 动态复杂表头的编写

目录 前言一、情景介绍二、问题分析三、代码实现方式一&#xff1a;head 设置方式二&#xff1a;模板导出方式三&#xff1a;自定义工具类 前言 Java-easyExcel入门教程&#xff1a;https://blog.csdn.net/xhmico/article/details/134714025 之前有介绍过如何使用 easyExcel&…

Java基于微信小程序的日语学习小程序,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

IMU状态预积分噪声模型

IMU状态预积分噪声模型 IMU状态预积分噪声模型旋转部分速度部分平移部分总结 IMU状态预积分噪声模型 根据之前的推导&#xff0c;得出了IMU状态预积分的测量模型&#xff0c;同时得到了噪声部分的定义公式&#xff0c;其中噪声部分罗列如下&#xff1a; 由于噪声项的定义比较复…

51单片机+TN901非接触式红外测温设计论文与源码PCB等资料

1、摘要 温度测量技术应用十分广泛&#xff0c;而且在现代设备故障检测领域中也是一项非常重要的技术。但在某些应用领域中&#xff0c;要求测量温度用的传感器不能与被测物体相接触&#xff0c;这就需要一种非接触的测温方式来满足上述测温需求。本论文正是应上述实际需求而设…

【2024】Rancher的安装与介绍

———————————————————————————— 记录一下rancher的学习与使用过程 本部分内容包括rancher的介绍、特点、与k8s关系和部署等内容 ———————————————————————————— Rancher是什么&#xff1f; 简单来说&#xff0c;Ranc…

RabbitMQ如何保证消息的幂等性???

在RabbitMQ中&#xff0c;保证消费者的幂等性主要依赖于业务设计和实现&#xff0c;而非RabbitMQ本身提供的一种直接功能。 在基于Spring Boot整合RabbitMQ的场景下&#xff0c;要保证消费者的幂等性&#xff0c;通常需要结合业务逻辑设计以及额外的技术手段来实现。以下是一个…