LLM实施的五个阶段

原文地址:Five Stages Of LLM Implementation

大型语言模型显着提高了对话式人工智能系统的能力,实现了更自然和上下文感知的交互。这导致各个行业越来越多地采用人工智能驱动的聊天机器人和虚拟助手。

2024 年 2 月 20 日

介绍

从LLMs的市场采用情况可以清楚地看出,LLMs工具的开发远远领先于LLMs的实施;由于显而易见的原因,现实世界中的客户面临执行滞后。

从工具的角度来看,大部分关注和考虑都集中在LLMs第 4 阶段,但很快组织就会了解到,任何成功的人工智能实施都需要成功的数据策略。因此,LLMs第 5 阶段将受到更多关注。

当LLM实现从第一阶段转移到第二阶段,从设计时使用转移到运行时使用时,人们认识到数据需要在推理时传递给LLM 。

大量研究强调了情境学习 (ICL)的重要性,因此注入高度简洁、简明且情境相关的数据提示的重要性。

将LLMs投入生产

我最近在 LinkedIn 上询问将LLMs投入生产面临的挑战是什么,以下是提出的前五个问题。这些担忧之所以存在,是因为 LLM 主要由 LLM 提供商托管并通过 API 提供。

使用商用 API 引入了几乎无法管理的操作组件。

理想的情况是组织在本地安装了可以使用的LLMs。但这带来了大多数组织无法解决的挑战,例如托管、处理能力和其他技术需求。

是的,有“原始”开源模型可用,但这里的障碍又是托管、微调、技术专业知识等。

这些问题可以通过使用小语言模型来解决,在大多数情况下,这对于对话式人工智能的实现来说已经足够了。

LLM 颠覆:第一阶段

AI 辅助和加速 NLU 开发

LLM 实施的第一阶段侧重于机器人开发过程,特别是加速 NLU开发。

真正导致LLM 第一阶段 中断的原因是 LLM 功能是在设计时而不是运行时引入的。

这意味着推理延迟、大量使用、成本和 LLM 响应偏差等元素可能仅限于开发,而不会在生产环境中暴露给客户。

在上面的例子中,一个复杂的句子被提交给LLM,LLM能够从句子中提取所有相关实体并计算出行的总人数。

引入LLMs是为了协助 NLU 的开发,其形式是将现有客户话语聚类到语义相似的分组中以进行意图检测。一旦定义了意图标签和描述,就可以定义意图训练话语。

LLMs还可以用于实体检测等。

考虑下图,对话式人工智能实际上只需要如下所示的五个元素。传统的 NLU 引擎可以与 SLM 结合使用。

自从聊天机器人出现以来,我们的梦想就是拥有可靠、简洁、连贯且经济实惠的 NLG 功能。加上基本的内置逻辑和常识推理能力。

除此之外,还提供了管理对话上下文和状态的灵活途径,以及比 NLU 更知识密集的解决方案,SLM 似乎是完美的选择。

小语言模型 (SLM) 是 NLU 的良好配套技术。SLM 可以在本地运行,开源模型可用于执行自然语言生成 (NLG)、对话和上下文管理、常识推理、闲聊等任务。

将 NLU 与 SLM 结合使用来支持聊天机器人开发框架是非常可行的。

在本地运行 SLM 并使用增强生成方法和上下文学习可以解决推理延迟、令牌成本、模型漂移、数据隐私、数据治理等障碍。

人工智能辅助和加速聊天机器人开发

文案写作和人物角色

LLMs颠覆的下一阶段是使用LLMs/生成式人工智能进行聊天机器人和语音机器人文案写作,并改进机器人响应消息。

这种方法再次在设计时而不是运行时引入,充当机器人开发人员制作和改进机器人响应副本的助手。

设计师还可以向LLMs描述机器人的角色、语气和其他个性特征,以便制作一致且简洁的用户界面。

这是LLMs协助从设计时间扩展到运行时间的转折点。

LLM 用于动态生成响应并将其呈现给用户。第一个实现使用 LLM 来回答域外问题,或根据文档搜索和 QnA 制作简洁的响应。

LLMs首次用于:

  • 数据和上下文增强响应。
  • 自然语言生成(NLG)
  • 对话管理;即使只有一两个对话回合。

第一阶段非常注重在设计时利用 LLM 和 Gen-AI,这在减轻不良用户体验、成本、延迟和任何推理异常方面具有许多优势。

就客户面临畸变或用户体验失败的风险而言,在设计时引入LLMs是一种安全的途径。这也是一种降低成本且无需面对客户和 PII 数据发送到云端的挑战的方法。

Flow Generation

接下来是LLMs和生成人工智能 (Gen-AI) 的更高级实现,开发人员向机器人描述如何开发 UI 以及特定功能的要求。

随后,开发 UI 启动,利用LLMs和生成式人工智能,它生成了流程,其中包含 API 占位符、所需的变量和 NLU 组件。

LLMs颠覆:第二阶段

文本编辑

第二阶段是在将机器人响应发送给用户之前使用LLMs来编辑文本。例如,在不同的聊天机器人媒介上,适当的消息大小不同。因此,可以通过要求LLMs总结、提取关键点并根据用户情绪改变响应语气来轻松控制机器人响应。

这意味着消息抽象层的硬性要求在某种程度上被废弃。在任何聊天机器人/对话式人工智能开发框架中,消息抽象层的工作就是保存一整套机器人响应消息。

这些机器人响应消息具有占位符,需要填充上下文特定数据以响应用户。

必须为每种模式和媒介定义不同的响应集。LLMs让即时制定回复变得更加容易。这就是我们一直在等待的NLG(自然语言生成)工具。

文档搜索和文档聊天

聊天机器人可以在推理时获得一份文档、一条信息,这使得LLMs能够有一个对话的参考框架。

扩展这种方法有两个障碍,第一个是有限的 LLM 上下文窗口的障碍,以及扩展这种方法。

RAG

Rag解决了上述问题。请在此处阅读有关 RAG 的更多信息。

提示链接

提示链接已进入对话式 AI 开发 UI,能够创建由一个或多个传递给 LLM 的提示组成的流程节点。

较长的对话回合可以与一系列提示串在一起,其中一个提示的输出充当另一个提示的输入。

在这些提示节点之间是决策和数据处理节点……因此提示节点与传统的对话流创建非常相似,但具有长期以来渴望的灵活性。

LLMs颠覆:第三阶段

Custom Playgrounds

技术供应商开始创建自己的具有额外功能的定制游乐场,并充当 IDE 和协作空间。

这使得用户不再仅仅使用基于LLMs的游乐场。定制游乐场提供了对多个模型的访问,以进行实验、协作和各种起始代码生成选项。

The Vercel Playground

Prompt Hubs

Haystack和LangChain都推出了基于社区的开放提示中心。

提示中心有助于编码和聚合不同提示工程方法的最佳实践。Gen-Apps 的愿景是成为 LLM 不可知论者,在申请的不同阶段使用不同的模型。

无代码微调

虽然微调改变了 LLM 的行为,并且RAG为推理提供了上下文参考,但微调在最近并未受到应有的关注。有人可能会说这是由于几个原因造成的……在此处内容。

LLM 颠覆:第四阶段

即时管道

在机器学习中,管道可以被描述为端到端的构造,它编排事件和数据流。

管道由触发器启动或启动;并基于某些事件和参数,遵循产生输出的流程。

在提示管道的情况下,流程在大多数情况下是由用户请求启动的。该请求被定向到特定的提示模板

在这里内容。

自主代理

代理以自主方式使用预先分配的工具来执行一项或多项操作。代理遵循思想链推理方法。

自主代理的概念一开始可能会让人望而生畏,请在此处内容……

编排

从现在开始,市场还没有真正跟上……编排是指为一个应用程序编排多个LLMs。

LLMs托管

困扰 LLM 实施的大多数问题都与 LLM 不是自托管或托管在私有数据中心/云中有关。

如果LLMs是自托管和管理的,那么推理、模型 漂移、数据治理等方面的延迟响应都是可以解决的因素。

LLMs颠覆:第五阶段

数据发现

数据发现是识别企业内可用于 LLM 微调的任何数据的过程。最好的起点是联系中心的现有客户对话,可以是基于语音或文本的对话。其他值得发现的良好数据来源包括客户电子邮件、之前的聊天记录等。

Kore XO 平台的这个示例展示了如何根据语义相似性导入和聚类不同的信息源。

这些数据应该通过人工智能加速数据生产力工具(潜在空间)发现,其中客户话语根据语义相似性进行分组,这些集群可以直观地表示如下所示,它们实际上是意图或分类;分类对于LLMs来说仍然很重要。

数据设计

数据设计是下一步,将发现的数据转换为 LLM 微调所需的格式。需要以特定方式对数据进行结构化和格式化,以用作可选的训练数据。设计阶段是对发现阶段的补充,在这个阶段,我们知道哪些数据是重要的,并且将对用户和客户产生最重大的影响。

因此,数据设计有两个方面,即数据的实际技术格式化以及训练数据的实际内容和语义。

数据开发

此步骤需要在运营方面持续监控和观察客户行为和数据性能。可以通过使用模型中观察到的漏洞来扩充训练数据来开发数据。

数据传输

数据交付可以最好地描述为向一个或多个模型注入与推理时的用例、行业和特定用户上下文相关的数据的过程。

LLMs会引用注入到提示中的上下文数据块,以在每个实例中提供准确的响应。

通常,各种数据传输方法被认为是相互排斥的,而一种方法被认为是最终的解决方案。

这种观点通常是由无知、缺乏理解、寻求权宜之计的组织或供应商将其特定产品作为灵丹妙药来推动的。

事实上,对于企业实施来说,灵活性可管理性必然需要复杂性

这适用于任何LLMs实施以及向LLMs交付数据所遵循的方法。答案不是一种特定的方法,例如RAG或Prompt Chaining;而是一种方法。而是一种平衡的多管齐下的方法。

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

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

相关文章

LabelImg:一个简单易用的图像标注工具

目录 LabelImg是什么? 如何使用LabelImg进行图像标注? LabelImg的优势和应用场景 在哪里下载它 随着人工智能技术的不断发展,机器学习和深度学习在图像识别、目标检测等领域中得到了广泛的应用。而要训练一个有效的模型,通常需…

Vue3+ts(day02:CompositionAPI、setup)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学,可以点心心支持一下哈(笔记是根据b站上学习的尚硅谷的前端视频【张天禹老师】,记录一下学习笔记,用于自己复盘,有需要学…

备忘录怎么导出数据 备忘录数据导出方法

在忙碌的生活中,我时常依赖于备忘录来记录重要的信息,从工作截止日期到生活琐事,无一不靠它来帮我分担记忆的压力。但随着时间的推移,我发现有时候我不仅仅需要在软件内查看这些信息,还需要将它们导出,或许…

【数据库】软件测试之MySQL数据库练习题目

有表如下: Student 学生表 SC 成绩表 Course 课程表 Teacher 老师表 每个学生可以学习多门课程,每一个课程都有得分,每一门课程都有老师来教,一个老师可以教多个学生 1、查询姓‘朱’的学生名单 select * from Student whe…

【深度学习笔记】优化算法——Adam算法

Adam算法 🏷sec_adam 本章我们已经学习了许多有效优化的技术。 在本节讨论之前,我们先详细回顾一下这些技术: 在 :numref:sec_sgd中,我们学习了:随机梯度下降在解决优化问题时比梯度下降更有效。在 :numref:sec_min…

力扣--动态规划5.最长回文子串

class Solution { public:string longestPalindrome(string s) {// 获取输入字符串的长度int n s.size();// 如果字符串长度为1,直接返回原字符串,因为任何单个字符都是回文串if (n 1)return s;// 创建一个二维数组dp,用于记录子串是否为回…

React-路由小知识

1.默认路由 说明:当访问的是一级路由时,默认的二级路由组件可以得到渲染,只需要在二级路由的位置去掉path,设置index.属性为true。 2.404路由 说明:当浏览器输入ul的路径在整个路由配置中都找不到对应的pth,为了用户体验&#x…

《农商网》商业计划书(附模板下载)

在当今互联网高速发展的时代,农业与电子商务的结合成为了新的经济增长点。《农商网》商业计划书详细阐述了一个以大学生创业为核心的创新项目,旨在通过打造一个全新的农产品在线交易平台,实现农产品的高效流通和价值最大化。该计划书首先对市…

amv是什么文件格式?如何播放amv视频?

AMV文件格式源自于中国公司Actions Semiconductor,最初作为其MP4播放器中使用的专有视频格式。产生于数码媒体发展的需求下,AMV格式为小屏幕便携设备提供了一种高度压缩的视频存储方案。 AMV文件格式的主要特性与使用场景 AMV格式以其独特的特性在小尺寸…

【活动】探索人工智能的“迷惑瞬间”:真实体验与技术挑战

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 标题:探索人工智能的“迷惑瞬间”:真实体验与技术挑战引言…

Elasticsearch:dense vector 数据类型及标量量化

密集向量(dense_vector)字段类型存储数值的密集向量。 密集向量场主要用于 k 最近邻 (kNN) 搜索。 dense_vector 类型不支持聚合或排序。 默认情况下,你可以基于 element_type 添加一个 dend_vector 字段作为 float 数值数组: …

学习Java的第七天

目录 一、什么是数组 二、作用 三、如何使用数组 1、声明数组变量 2、创建数组 示例: 3、数组的使用 示例: 4、数组的遍历 for循环示例(不知道for循环的可以查看我之前发的文章) for-each循环(也就是增强for…

Unity基础学习

目录 基础知识点3D数学——基础Mathf三角函数坐标系 3D数学——向量向量模长和单位向量向量的加减乘除向量点乘向量叉乘向量插值运算 3D数学——四元数为何使用四元数四元数是什么四元数常用方法四元数计算 MonoBehavior中的重要内容延迟函数协同程序协同程序原理 Resources资源…

STM32CubeIDE基础学习-STM32CubeIDE软件工程文件拷贝粘贴

STM32CubeIDE基础学习-STM32CubeIDE软件工程文件拷贝粘贴 前言 在后面开发程序时,往往不需要再重新新建工程的了,可以直接在原有的工程基础上直接复制粘贴新增功能就可以了。 具体的操作方法步骤如下介绍: 第一步:找到一个原有的…

力扣中档题的简单写法:在链表中插入最大公约数

其实暴力遍历开数组也可以,但不如以下新建链表块的方法简单 int FindCommDivisor(int num1, int num2) {int n;int i;n fmin(num1, num2);for (i n; i > 1; i--) {if (num1 % i 0 && num2 % i 0) {return i;}}return 0; }struct ListNode *insertGr…

Mock.js 基本语法与应用笔记

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

python 导入excel空间三维坐标 生成三维曲面地形图 5-3、线条平滑曲面且可通过面观察柱体变化(三)

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata from matplotlib.c…

【SSM】整合原理和配置实战

文章目录 SSM整合是什么?SSM整合核心问题第一问:SSM整合需要几个IoC容器?第二问:每个IoC容器对应哪些类型组件?第三问:IoC容器之间关系和调用方向?第四问:具体多少配置类以及对应容器…

力扣hot100:22.括号生成(回溯)

复习一下: 回溯法解决的问题都可以抽象为树形结构。回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度,都构成的树的深度。 对于同一层而言,其儿子都是等价的不同情况,因此当儿…

【Poe】保姆级注册教程

AI聊天机器人已成为技术界的热点。Quora推出了其全新的AI聊天机器人应用——poe,为用户提供了一种新的与人工智能进行互动的方式。与其他常见的AI聊天机器人不同,poe支持多家公司的AI系统,例如OpenAI的ChatGPT和Anthropic的聊天机器人。本教程…