LLM颠覆:第一阶段
人工智能辅助和加速NLU(自然语言理解)开发
LLM实施的第1阶段集中于机器人开发过程,具体来说是加速NLU开发。
真正使得LLM第1阶段颠覆成为可能的是LLM功能在设计时而非运行时被引入。
这意味着像推理延迟、高容量使用、成本以及LLM响应异常等因素可以被限制在开发中,而不会在生产环境中暴露给客户。
LLM被引入以帮助开发NLU,它通过将现有的客户话语聚类到语义上相似的组中,以便于意图检测。一旦意图标签和描述被定义后,就可以确定意图训练话语。
LLM还可以用于实体检测等。
这加速了NLU开发过程,并且也使得NLU设计数据更加准确。
AI辅助和加速的聊天机器人开发
文案写作与角色扮演
LLM带来的下一个阶段的颠覆是使用LLM/生成性AI进行聊天机器人和语音机器人的文案编写,以及改善机器人的回应消息。
这种方法同样是在设计时而不是运行时引入的,它充当了机器人开发者在编写和改进其机器人回应文案时的助手。
设计师还可以向LLM描述机器人的角色、语气和其他性格特点,以此来打造一致而简洁的用户界面。
这是LLM协助从设计时间延伸到运行时间的转折点。
LLM被用于即时生成回应,并呈现给用户。最初的实现使用LLMs来回答域外问题,或者从文档搜索和问答中制作简洁的回应。
LLM首次用于:
第一阶段非常专注于在设计时利用LLMs和生成性AI,这在缓解不良用户体验、成本、延迟以及推断时的任何异常方面有许多优势。
在设计时引入LLM是一条安全的途径,就面向客户的异常或用户体验失败的风险而言。它也是一种减轻成本的方式,而且不会面临将客户和PII数据发送到云端的挑战。
流程生成
随后出现了更高级的LLM和生成性AI(Gen-AI)实施,开发者向机器人描述如何开发用户界面以及某个特定功能的要求。
接着开发用户界面利用LLMs和生成性AI,它生成了包含API占位符、所需变量和NLU组件的流程。
LLM颠覆:第二阶段
文本编辑
在第二阶段,人们使用LLM(大型语言模型)在发送机器人回复给用户之前编辑文本。例如,在不同的聊天机器人媒介上,合适的消息大小是不同的。因此,可以通过要求LLM总结、提取关键点以及根据用户情绪改变回复的语气,轻松控制机器人的回应。
这意味着对消息抽象层的严格要求在某种程度上被淘汰了。在任何聊天机器人/对话式AI开发框架中,消息抽象层的工作是储存一系列机器人回应消息。
这些机器人回应消息中包含需要根据上下文特定数据来填充的占位符,以便用来对用户做出回应。
必须为每种模态和媒介定义不同的回应集。LLM使得即时编写回应变得更容易。这是我们一直在等待的NLG(自然语言生成)工具。
文档搜索与文档聊天
在推理时,可以给聊天机器人一个文档、片段信息,这允许LLM对话有一个参照框架。扩展这种方法有两个障碍,第一个是LLM上下文窗口大小有限的障碍,还有就是扩展这种方法本身。
RAG
提示链接
提示链的方式已经融入到对话式人工智能开发的用户界面中,能够创建包含一个或多个提示传递给大型语言模型(LLM)的流程节点。
更长的对话轮次可以通过一系列提示串联在一起,其中一个提示的输出作为另一个提示的输入。
在这些提示节点之间是决策和数据处理节点……因此,提示节点非常类似于传统的对话流程创建,但拥有了长久以来渴望的灵活性。
LLM的颠覆:第三阶段
自定义游乐场
技术供应商开始创建他们自己的带有额外特征的自定义游乐场,并充当集成开发环境和协作空间。
这使用户不再只使用基于LLM的游乐场。自定义游乐场提供了访问多个模型进行实验、协作以及各种启动代码生成选项的可能性。
"Prompt Hubs" 提示集中地
Haystack和LangChain都发布了基于开放社区的提示集中地。
提示集中地有助于编码并聚合不同Prompt Engineering(提示工程)方法的最佳实践。其愿景是为了让Gen-Apps变得与LLM无关,不同的模型将在应用程序的不同阶段被使用。
无代码微调
尽管微调改变了LLM的行为模式,而且RAG提供了推理的上下文参考,但在最近过去,微调并没有得到它应有的关注。
LLM颠覆:第四阶段
提示管道
在机器学习中,管道可以被描述为一个端到端的结构,它安排事件和数据的流程。
管道由某个触发器启动,根据特定的事件和参数,遵循一个流程,最终产生一个输出。
在提示管道的情况下,流程通常由用户请求启动。该请求被引导到特定的提示模板。
自治代理
代理使用预先分配的工具以自动化方式执行一个或多个动作。代理遵循思维链推理方法。
编排
从这一点开始,市场还没有真正跟上……编排是指为一个应用编排多个LLM。
LLM托管
困扰LLM实现的大多数问题都与LLM没有自托管,或者是在私有数据中心/云中托管有关。
推理时的延迟响应、模型漂移、数据治理等都是自托管和管理LLM可以解决的因素。
LLM颠覆:第五阶段
数据发现
数据发现是指识别企业内部可以用于LLM微调的任何数据的过程。最好的起点是从联系中心现有的客户对话开始,可以是语音的或基于文本的。客户邮件、以前的聊天等都是发现数据的其他好来源。
这些数据应该通过一个AI加速数据生产工具(潜在空间)来发现,其中客户话语根据语义相似性被分组。这些群集可以像下面所见的那样进行视觉表示,它们实际上是意图或分类;分类对于大型语言模型仍然很重要。
数据设计
数据设计是下一个步骤,发现的数据被转换为大型语言模型微调所需的格式。数据需要以特定的方式进行结构化和格式化,以作为可选的训练数据。设计阶段补充了发现阶段,在这个阶段我们知道哪些数据是重要的,将对用户和客户产生最显著的影响。
因此,数据设计有两面,数据的实际技术格式和训练数据的实际内容及语义。
数据开发
这一步涉及连续监控和观察客户行为及数据性能的操作方面。可以通过用观察到的模型中的漏洞来增强训练数据来开发数据。
数据交付
数据交付可以被最好地描述为一个过程,该过程将与用例、行业和特定用户环境在推理时相关的数据灌输到一个或多个模型中。