关于算法:智能判责在哈啰顺风车的应用

61次阅读

共计 3427 个字符,预计需要花费 9 分钟才能阅读完成。

智能判责工作简介

智能判责定义

在普惠逆风车订单零碎中,一旦司机和乘客建设订单关系后,若其中任何一方发动勾销订单的申请,将触发判责算法,该算法将输入确定订单勾销责任的一方。

智能判非难点

  • 重要特色因子繁多:聊天记录、电话录音以及订单备注等皆属于最为要害的因素之一。然而,这些特色自身的形式多样,包含文字和录音等模式,因而其解读与消化变得相当艰难。
  • 训练样本匮乏:以后可用的训练样本中,判责后果的准确率本就不尽人意。因而,基于这些样本训练出的模型的可靠性也较低。
  • 简单的利用场景穿插:不同场景之间相互交织,例如订单勾销可能因工夫变更,也可能是因对方要求额定高速费或者额定减少人员等等问题。
  • 特色数量与判断难度正相干:传统的算法模型认为特色越多准确率越高,然而,在智能判责畛域,特色的增多意味着事务变得更加简单,从而减少了模型精确判断的难度。

传统智能判责算法

工程判责:

判责介绍:利用肯定的规定进行判责(容易被发现破绽)

算法判责 1.0_趋近客服改判:

训练数据集:客服改判后果
特色因子:订单根本信息、司乘根本信息

算法判责 2.0_工程 + 客服改判:

训练数据集:90% 工程判责数据(用户有抉择勾销起因 & 未进入客服侧的工程判责数据)+10% 客服改判数据(客服改判后用户未再进线的改判数据)

算法判责 3.0:

训练数据集:数千条双盲准确打标数据
特色因子:订单根本信息、司乘根本信息 +85% 准确率的聊天记录用意辨认模型

联合大模型的智能判责

为什么要用大模型来进行判责

目前,传统的智能责任断定算法在解决无沟通记录的状况下,准确率高达 99.7%,但对于具备聊天记录和通话记录的案例,准确率稍有降落。而依据业务反馈,简单案例须要自然人参加听取通话内容进行断定。

为了进一步提高准确率,要害的晋升点在于文本和语音的语义了解。目前的深度学习模型在此方面达到了大概 80% 的准确率,但在特色交融过程中存在着较大的信息损失。

大模型在这方面具备独特的劣势。同时,咱们的责任断定场景有明确的 SOP,能够通过肯定伎俩来确保模型准确率达到可承受的程度。此外,大模型还可能提供责任断定的起因,这是以前的深度学习模型所无奈实现的。

一个例子感触下大模型的弱小之处:

输出:订单的上下文信息和司乘聊天信息。

输入:明确依照我给的判责流程进行判责工作,并给出推理过程和判责根据。

Prompt 工程

Prompt 工程是创立 Prompt、发问或领导像 ChatGPT 这样的语言模型输入的过程。

它容许用户管制模型的输入,生成合乎其特定需要的文本。Prompt 工程的作用,通过提供清晰和具体的指令,能够疏导模型的输入,确保其相关性。

简略举例,想创立一个负责生成文本的机器人,提醒词须要遵循以下四个要点:

  • 以第二人称而不是第三人称称说机器人,让机器有自我认知
  • 措辞尽可能地清晰,缩小误会
  • 能够在提醒中应用方括号对指令进行扩大形容
  • 应用 Markdown 有时能够帮忙机器人更好地了解简单的指令

这里的要害不在技术,而在提醒词的品质与创作者的脑洞,以及长于利用 AI 解决问题的能力——“人机交互”能力。

随着应用越来越多大家也发现大模型间接给出答案仿佛并不靠谱,那么是否能够让它像人类一样,一步一步思考呢?毕竟,人类在解决问题时,也是逐步构建解决方案,而并非立刻给出答案。因而,开始呈现了一系列的尝试解法,比方思维链、多思维链、思维树和思维图等。

这能够通过两种形式实现,一种是具体阐明,即要求模型具体地、一步步地思考;另一种是示例阐明,即通过给定问题和答案的同时,提供思考过程。这样,当询问模型时,模型会模拟此过程,逐步思考并给出答案。

外挂知识库

步骤:

  • 将知识库的文本分块,并进行向量化(能够应用大模型的 embedding 也能够应用如 BERT 等办法)
  • 用户的 query 向量化,并在知识库中进行检索,返回最相干的 TOPN 的文本块
  • 采纳适合的 prompt + 上述步骤搜寻到的文本,一并输出给 LLM
  • 利用 LLM 的语义理解能力和常识问答能力,生成问题的答案

毛病很显著:只是匹配到最相干局部,不是了解全副语义,准确率有损。

Agent

Agents=LLM + 工作布局(COT)+ 记忆(LangChain) + 工具应用

其中 LLM 是外围大脑,记忆、工作布局和工具应用则是 Agents 零碎实现的三个要害组件。再加上口头端,造成一个残缺的 Agent System。

  • 记忆(Memory)
    记忆能够定义为获取、存储、保留和稍后检索信息的过程,其中包含贮存了 Agent 过来的察看、思考和口头序列的信息。
  • 短期记忆(Short-term memory)
    因为 Transformer 模型的上下文窗口无限,短期记忆是一种短暂且无限的记忆模式;为了应答这种限度,目前有以下解决方案:
    1. 扩大骨干架构的长度限度:通过改良 Transformer 模型固有的序列长度限度问题来进步短期记忆的容量。比方 gpt4-8k, gpt4-32k, gpt4-128k。
    2. 总结记忆(Summarizing):对记忆进行摘要总结,加强 Agent 从记忆中提取要害细节的能力,例如 LangChain 的 Conversation Summary Buffer Memory
  • 长期记忆(Long-term memory)
    长期记忆是 AI Agent 能够在查问时解决的内部向量存储,能够通过疾速检索拜访,并应用适当的数据结构对记忆进行压缩,以进步记忆检索效率。
  • 工具应用(Tool Use)
    人类通过应用工具来实现超出咱们身材和认知极限的工作。同样地,给 LLM 装备内部工具也能够显著扩大大模型的性能,使其可能解决更加简单的工作。如联网工具、拜访内部所有 API 的能力、拜访业务服务 API 的能力。
  • 工作布局(Planning Skills)
    在具体实现中,布局能够蕴含两个步骤:
    1. 打算制订(Plan Formulation):代理将简单工作合成为更易于治理的子工作。
    一次性合成再按程序执行、逐渐布局并执行、多路布局并选取最优门路等。
    在一些须要专业知识的场景中,代理可与特定畛域的 Planner 模块(SOP)集成,晋升能力。
    2. 打算反思(Plan Reflection):在制订打算后,能够进行反思并评估其优劣。这种反思个别来自三个方面:借助外部反馈机制;与人类互动取得反馈;从环境中取得反馈。

咱们把 Agent 视作一个虚拟世界中的智能体,如 MineCraft 游戏中所设定的角色。这个角色能够沿着指定的路线,实现一些在环境中摸索的工作,如建房子、挖矿、打怪等。这个角色首先须要被告知怎么去执行工作,例如主动训练课程计划的应用。而后逐渐的实现工作,造成本人的执行代码库、技能库等,这样就算是在当前遇到类似的工作,它都能疾速调用已有的技能和教训来实现工作。某种意义上,这就是一种强化学习的形式。

联合大模型的智能判责

之前的介绍的计划都是在不扭转大模型原有参数的状况下。

在咱们摸索大模型的利用过程中,从 prompt 工程转向微调计划是一个重要的步骤。这个转变波及到模型的训练和优化形式的根本性扭转。

而微调计划都是在预训练模型的根底上,通过微调局部参数,来适应特定的工作。微调计划次要包含 Freeze、prompt tuning、LoRA 等。

这两种办法各有劣势,Prompt 工程的长处在于其高效性和灵活性,而微调计划则能够更精密地调整模型以适应特定工作。而且通常是联合起来应用。

  • Lora 办法

LoRA(Low-Rank Adaptation of Large Language Models),直译为大语言模型的低阶自适应。LoRA 的基本原理是解冻预训练好的模型权重参数,在解冻原模型参数的状况下,通过往模型中退出额定的网络层,并只训练这些新增的网络层参数。因为这些新增参数数量较少,这样不仅 finetune 的老本显著降落,还能取得和全模型参数参加微调相似的成果。

随着大语言模型的倒退,模型的参数量越来越大,比方 GPT-3 参数量曾经高达 1750 亿,因而,微调所有模型参数变得不可行。LoRA 微调办法由微软提出,通过只微调新增参数的形式,大大减少了上游工作的可训练参数数量。

A 的输出维度和 B 的输入维度别离与原始模型的输入输出维度雷同,而 A 的输入维度和 B 的输出维度是一个远小于原始模型输入输出维度的值,这也就是 low-rank 的体现(有点相似 Resnet 的构造),这样做就能够极大地缩小待训练的参数了。

咱们也尝试了 lora 微调试验,在同样的 prompt 和雷同基座下准确率由之前的 32% 晋升至微调后的 60%。

(本文作者:江涛)

正文完
 0