首页 > 其他分享 >如何使用大型语言模型推动自动化?

如何使用大型语言模型推动自动化?

时间:2022-09-02 00:33:56浏览次数:85  
标签:结构化 语言 处理 模型 LLM 自动化 数据

如何使用大型语言模型推动自动化?

自动化(几乎)无需软件开发

如果每封电子邮件、每一份带有订单、发票、投诉、要约请求或工作申请的 PDF 文件都可以翻译成机器可读的数据,那会怎样?然后可以由 ERP / CRM / LMS / TMS 自动处理......?无需编程特殊接口。

听起来很神奇?它确实有一些魔力。但最近已经成为可能。

解决方案是大型语言模型 (LLM)。这些 - 类似于人类办公室工作人员 - 能够将电子邮件转换为结构化数据,而无需或只有很少的学习样本。电子邮件、PDF 或文档被识别为订单、投标、提醒。并找到并提取具体数据。例如,对于运输订单请求,客户、托盘数量、重量、取货地点、取货时间、交货地点。

一个额外的业务算法(这不是由模型完成的)然后可以根据结构化数据预过滤查询,直接处理它(例如回答它)或将其作为结构化输入提供给人工代理,可能还带有进一步处理的建议。

什么是大型语言模型,我们为什么要关心?

大型语言模型的发展是近年来机器学习的一个重要里程碑。这些模型的特殊之处在于它们能够以自然语言回答问题、创建文本、总结它们、将它们翻译成其他语言或语言游戏或生成代码——所有这些都无需脚本,即无需专门编程将用户输入与机器输出联系起来的算法。这些模型不仅产生语法(正字法、语法)正确的输出,而且还能够正确地解决语义上的困难语言任务。有许多 LLM——最著名的包括 GPT-3(OpenAI)、BERT、T5(谷歌)或 Wu Dao(北京人工智能研究院)、MT-NLG(微软)。

法学硕士在回答问题、继续或总结文本方面表现出惊人的技能。在许多情况下,他们的技能甚至超过了人类交流伙伴的技能。以下是三个 LLM 能力的一些示例:GPT-3 davinci、AI21 studio j1-jumbo、Macaw 11B。没有任何任务经过专门培训,也没有编写响应脚本。相反,这些是零射击能力的例子:在没有经过专门培训的情况下做某事的能力。

也可以生成结构化数据,例如简单的程序:

这些模型通常也能够处理其他广泛使用的语言,尽管没有一个比英语更好。

LLMS 如何运作?

法学硕士正确回答了所有问题。这怎么可能?

快速了解大型语言模型的基础知识:最强大的系统是 Transformer 模型,其核心由深度学习模型(一种特定类型的神经网络)组成,并配备了注意力机制。它们能够处理顺序输入(例如文本)并产生相应的输出。他们基本上是根据统计数据来做这件事的:最可能的延续是什么(回答一个问题,对话中的下一个话语,完成一个开始的文本)? ——这意味着,他们的响应不像 Siri、Alexa 或其他语音助手当前那样基于用户意图与答案的固定映射。

这些模型在各个维度上都很大:它们现在通常包含超过 1000 亿个参数。简单地说,参数是随着模型学习而调整的神经元之间的权重。这些模型使用数百兆字节的大部分公开可用数据进行训练,例如维基百科和类似的大型语料库。培训内容的大小相当于十万多本书。换个角度来看:一个人一生很难阅读超过 5,000 本书。这些模型的生态足迹也是巨大的:据估计,最成功的 LLM 的初始培训所消耗的能量与驾驶汽车往返月球所需的能量一样多。对于 LLM,数量在某种程度上转化为质量。目前的成就是通过过去 2-3 年模型尺寸的十倍、百倍和千倍增加而成为可能的。

Source: https://huggingface.co/blog/large-language-models

较新的 LLM 的一个特点是——如上例所示——它们可以在没有特定任务学习的情况下提供对输入的响应。他们的输出只依赖于他们的基本训练。与人类相似,这些模型是多才多艺的,能够理解并正确地交谈或响应单次训练(单个练习示例)、少量训练(几个示例)甚至没有示例的新语言游戏一点也不。这是新的和革命性的。早期的模型经过艰苦训练,只能完成一项工作,只能处理一项任务:下棋、识别可疑的银行活动、在图片中寻找人脸等。

当然,这里也可以进行一些微调,即使用额外的样本输入和输出为特定工作训练模型。这也类似于人类语言习得:经过大约 20 年的童年和青春期基础训练,我们可以聊天、争论、哲学思考、撒谎、计算、旋转、分析或讲道。但为了在高水平和特定的专业水平上做到这一点,我们学习法律、量子物理学、会计学、心理学或神学。

模型得分的一个有趣领域是文本分析。在下面的示例中,我们告诉模型该做什么并给出两个示例:iPhone 和 Serrano ham。对于第三个输入(苹果酒),模型本身设法提供正确的答案(少量学习)。

还可以分析更多结构化数据。下面的例子(再次基于少量学习)展示了一种没有数据库和SQL的数据库查询,只是基于语言技能。类似于人类能够做的事情。

具有大型语言模型的自动化设置

如何使用语言模型将非结构化数据转换为结构化数据并自动处理?我们自己的实践经验中的一个实现示例将证明这一点。 (-当然,我们绝对不是唯一处理这些问题的人,另请参见本文)。

A. 模型设置 (POC 1)

问题:我们收到可能以不同语言发送的非结构化邮件,作为运输报价请求,并尝试将它们转换为结构化数据。

为了做到这一点,我们为模型提供了一些训练样本(-几十到几百个样本)。样本应尽可能多样化,以便模型学会处理所有请求。样本还应涵盖 RFQ 以外的其他意图:例如,有关正在进行的装运或投诉的查询,以帮助模型区分正确的分类。训练样本包括电子邮件或 PDF 文本的有效负载以及要输出的结构化数据。任何可以通过简单脚本从电子邮件中提取且不需要机器学习的数据都应提前删除,例如发件人地址或收件人地址。输入应包含真实数据,而不是手动清理,但包含拼写错误、口语时间和所有可能的语言。目标数据不必为独立格式(JSON 等)即可启动。转换可以再次通过简单的算法来完成。

数据用于调整模型,然后可用于识别和处理任意数量的其他查询。

您应该为您的应用程序使用哪个基本模型?这个问题不容易回答,应该分解成几个子问题:

1. 哪种型号的哪种配置、哪种设置可提供最佳效果?

2. 我可以在我想要的设置(在自己的云中运行、SaaS 解决方案等)和我的要求(例如隐私、数据主权)中运行哪种模型?

3. 哪个模型的总拥有成本最低(固定成本和基于请求的成本)?

如果从问题 2 和 3 的角度来看,多个模型在相关集合中,则应使用不同的设置对这些模型进行测试。为了找到最佳解决方案,您应该先在一些训练和少量测试数据的基础上测试模型,然后用更多的数据成功。机器处理的范围也可能发生变化,某些查询类别或某些数据可能会在评估第一个结果后被整合或删除。

如果这是成功的,并且您为业务目的获得了足够高的正确答案率,则可以采取下一步。哪个比率足够取决于应用程序,它可以是 60%、80% 或 98%。重要的是在试验期间将训练和测试数据分开,以便获得可以在以后的生产操作中重现的结果。

B. 集成到整体 E2E 解决方案 (POC 2)

集成到更大的框架中可以如下所示: 模型生成的数据首先经过后处理: LLM 没有地图功能,它们无法将“Werk Stocken Continental AG”(原文如此)之类的地址信息转换为路线计算的地址,就像他们无法将“下周三上午 10 点”这样的日期翻译成“30.03.2022 10:00h”。

处理后的数据与简单脚本生成的数据相关联,并传递给自动回答查询的业务算法。无法自动处理的请求仍会路由到手动处理它们的人。这可能包括以下情况:

  • 该模型认识到这不是征求建议书。
  • 模型或脚本算法认识到他们无法将此请求转换为数据。
  • 生成的数据在技术上无法由业务算法处理。
  • 尽管有完整的数据集可用,但仍无法自动回答请求,因为例如,不清楚特定客户、关系、日期或负载是否可能实现,或者根本无法提出价格。

如果生成的数据可以自动处理,例如,它可以简单地输入系统(例如运输管理系统),并且可以立即在那里进行处理。例如,可以通过电子邮件生成完整的投标——仅基于业务算法。这种解决方案的迷人之处在于,对模型的可能误解不会导致在内容方面存在固有错误的报价,给公司带来价格或履行风险。相反,报价总是正确的。在最坏的情况下,它只是不对应于请求的确切目标。该解决方案可以使用类似于生产目标映像的操作设置进行测试,例如并行操作:邮件继续运行到生产系统中,同时在测试设置中处理它们的克隆并评估结果。此处的处理和操作设置问题很快就会显现出来。

C. 测试、软启动和进一步的步骤

如果第 2 步成功,那么首先软启动系统是有意义的,例如,仅将其应用于有限的客户群,然后在出现问题时重新调

该系统还应在操作期间进一步优化,例如通过重新培训未正确识别的请求并发送以进行手动处理。

根据应用的不同,自动化程度(例如,一开始的 80%)可以在后期扩展到 90% 或 95%。

使用 LLM 的自动化具有三大优势:

  • 能够让合适的团队处理更令人兴奋、高利润和与人类增长相关的问题。
  • 在销售、客户支持等方面部署的人力大幅提高处理效率。
  • 由于更快的响应和避免停滞的查询,提高了服务质量

与创建客户特定 EDI 连接等手动自动化方法不同,基于 LLM 的自动化为跨客户流程自动化付费。投资的价值不会因为接口规范的变化或客户关系的变化而损失。它还可以针对 B2B 客户的长尾客户甚至是您无法为其构建特定接口的 B2C 客户实施。基于 LLM 的解决方案通常可以而且应该与主要合作伙伴的 EDI 解决方案相结合。

长期图

我们已经概述了一个场景,其中可能是系统生成的人工输入(来自 ERP 系统的 RFQ)运行到 LLM 支持的系统中。响应返回给人类,然后由人类委托或发布。从长远来看,我们可以想象更多的场景:如果我们在发送端和接收端都有一个支持 LLM 的系统,那么整个对账过程可以在很大程度上实现自动化,例如,在客户的 ERP 系统和承包商的 TMS 系统之间。一个系统发送 RFQ,TMS 发送投标,ERP 选择其中一个并发送订单,TMS 确认并将订单发送到履行。因此,无需指定接口,与任何合作伙伴的多向自动通信将变得容易且可行。

LLM 的多功能性使他们能够处理不同格式和结构化的请求类型——就像人工代理一样。

最初,处理请求的可能范围和质量肯定只能在第一级支持级别上实现。需要可靠地识别更复杂或无法回答的请求,然后将其路由到人工第二级处理。

然而,大量的时间节省和流程加速将是积极的影响。此外,系统可以通过训练他们还不能/还不能可靠回答的查询来自动或半自动地改进。

办公室里的人呢?他们最终可以专注于更具挑战性的任务,而不是将电子邮件或 PDF 的内容复制到表单中,按几个按钮,然后将输出复制到另一封电子邮件中。

我的博客文章的删节版 蜂巢 .

封面图片: @floschmaezz 在 unsplash 上,已编辑。

感谢以下人员的启发、支持和反馈:Alexander Polzin、Almudena Pereira、Hoa Le van Lessen、Jochen Emig、Kirsten Küppers、Mathias Sinn、Max Heintze。

当然,我对本文的内容负责。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/9590/19580200

标签:结构化,语言,处理,模型,LLM,自动化,数据
From: https://www.cnblogs.com/amboke/p/16648326.html

相关文章

  • 大型语言模型景观
    大型语言模型景观我们经常高估短期内可以做的事情,而低估长期可以做的事情。大型语言模型(LLM)就是这种情况。我经常听到关于LLM迫在眉睫的影响的谈论,好像LLM是语言......
  • opensergo 阿里开源的语言无关的云原生服务治理指南
    opensergo是阿里巴巴开源提供的语言无关的云原生服务治理指南,包含了不少子项目(指南,golang,java,协议)概览  说明opensergo还是很完备的,很值得学习参考,后续仔细研究......
  • WEB自动化-01-Cypress 介绍
    1.Cypress介绍1.1Cypress简介  Cypress是一款基于JavaScript的下一代前端测试工具。可以对浏览器中运行的任何内容进行快速、简单和可靠的测试。  Cypress......
  • C语言学生宿舍水电费信息管理系统
    C语言学生宿舍水电费信息管理系统22.学生宿舍水电费信息管理系统功能:(1)记录每个宿舍的名称、编号、用水量、用电量、水电价格、宿舍学生等信息;(2)能够对系统中各宿舍......
  • C语言基础之extern的使用。
    Extern的使用一般是在你想要定义一个可以在多个文件之中被使用的变量。其实很简单只要分为两步:1.在.c文件之中进行定义变量,例如在main.c之中定义uint32_tflag;2.在.h文......
  • C语言:分配内存malloc()和free()
    malloc()函数C可以在程序运行时分配更多的内存,主要通过malloc()函数,该函数接受一个参数:所需的内存字节数。malloc()函数会找到合适的空闲内存块,这样的内存是匿名的。也就......
  • 接口自动化测试-反射机制
    反射就是通过字符串的形式,导入模块;通过字符串的形式,去模块寻找指定函数,并执行。利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员,一种基于字符串的事件驱动!一、......
  • GPU多卡训练torch模型
    用命令即可:python3-mtorch.distributed.launch--nproc_per_node8train.py或者使用Accelerator: https://huggingface.co/docs/transformers/v4.21.2/en/accelerate......
  • 基于Hugging Face的transformers包的微调模型训练
    transformersAPI参考链接:https://huggingface.co/docs/transformers/v4.21.2/en/trainingtrain.pyfromdatasetsimportload_datasetfromtransformersimportAutoT......
  • C语言:变长数组(VLA)
    VLAC99新增了变长数组(variable-lengtharrayVLA),允许使用变量表示数组的维度。如下所示:intquarters=4;intregions=5;doublesales[regions][quarters];//......