大模型基础应用框架创新及零售业务落地

如何将大语言模型的强大能力融入实际业务、产生业务价值,是现在很多公司关注的焦点。在零售场,大模型应用也面临很多挑战。本文分享了京东零售技数中心推出融合Agent、SFT与RAG的大模型基础应用框架,帮助业务完成大模型微调、部署和应用,落地场景的实践经历,供大家参考。 本文为2023京东零售技术年度盘点深度文章系列的第5篇(共11篇),欢迎持续关注。

一、前言

2023年,大语言模型以前所未有的速度和能力改变我们对智能系统的认知,成为技术圈最被热议的话题。但"百模大战"终将走向"落地为王",如何将大语言模型的强大能力融入实际业务、产生业务价值成为致胜关键。

在零售场,大模型应用面临的核心挑战包括以下三点:

(1)模型缺乏零售领域的专业知识,建设业务专属大模型训练成本高

(2)模型内容生产伴有幻觉,而检索海量业务信息又缺乏有效技术,检索成本高

(3)在商家问答等多流程复杂业务场景下,模型缺乏自主规划能力,需要大量人工干预

为了应对上述三点挑战,九数算法中台推出了一整套大语言模型应用解决方案,一种融合基于ReAct框架的AI Agent、SFT(指令微调)与RAG(检索增强生成)技术的应用框架,不仅赋予大模型学习领域知识的能力,还显著提升了模型的自主决策和信息处理精确度,为业务人员高效落地大模型的微调、部署和应用提供了落地保障。

九数算法中台大模型基础应用框架

二、高效微调(SFT)

通用大模型虽然在处理通用知识方面表现出色,但缺乏针对零售垂直领域的知识理解。为此,需要引入经过人工标注的领域数据,对已完成预训练的通用大模型进行微调,从而得到具有该领域知识的零售垂域大模型。这个过程就是"有监督微调(Supervised Fine-Tuning)",简称SFT

【2.1 SFT流程介绍】

SFT的流程包括数据生产、模型选型、模型微调、效果验证几个环节,每一步都存在相应的技术挑战:

(1)数据生产 :创建用于微调预训练模型的高质量数据集,数据集质量对模型训练的效果至关重要。在零售场,京东沉淀了丰富的领域数据,比如电商营销策略、消费者行为数据、商品信息数据等,这些数据往往格式不统一、噪声多,如何以这些业务数据为基础,高效构建可用于微调训练的数据集,是数据生产环节的痛点

(2)模型选型 :根据对中文的支持程度、参数量级、性能等选择合适的预训练模型作为微调的起点。高速发展的开源社区为业务方提供了大量可供选择的预训练模型,但不同模型擅长不同任务,需要实验对比模型表现。而开源模型存在样本标注、模型标准不统一的问题,将开源方案应用在企业环境中也需要一定的适配工作量,给业务方带来了较高的模型选型成本

(3)模型微调 :使用准备好的数据集对选定的预训练模型进行微调。训练时需要设置适当的学习率、批次大小和训练周期等参数,同时监控模型的性能,如损失函数和准确率等指标。在算力资源紧缺的背景下,不少业务方面临算力资源不足的问题,如何用最小的算力资源实现最优的模型训练性能至关重要

(4)效果验证 :使用独立的验证数据集对模型进行测试,评估模型训练效果。关键是建立系统的模型评估指标,并选择合适的方法高效进行效果评估

SFT流程介绍

【2.2 九数算法中台SFT框架的优势】

九数算法中台通过自研的SFT高效微调框架,从高质量数据集的构建到灵活的模型选择,训练过程中的算力优化,到效果验证,都提供了创新的解决方案,确保了SFT技术的高效实施。主要优势如下:

(1)数据生产 :通过使用开源基座大模型能力,构建通用大模型数据增强(LLM Data Augmentation,简称LDA)工具,使用场景覆盖Self-Instruct、Query扩展,Query2Doc,Doc2Query等。帮助业务方高效创建可用于SFT训练的标准样本集。

(2)模型选型 :集成15个左右的主流LLM模型(如言犀、ChatGLM,Llama等) ,统一模型的样本标准和训练模式,实现一份样本在多模型间随意切换;同时,开源LLM模型经过中台工程师的适配,可在九数的环境下开箱即用,帮助业务方灵活进行模型选型实验。

(3)模型微调

①支持方法广:支持对LLM模型的预训练(Pretrain)和高效微调(SFT),微调方面支持全参微调(Full-Parameter Fine-Tuning)和LoRA等参数高效微调PEFT方法(Parameter-Efficient Fine-Tuning )。支持人类反馈强化学习RLHF训练(Reinforcement Learning from Human Feedback),支持PPO(Proximal Policy Optimization)、DPO(Direct Preference Optimization)等强化学习算法。

②训练性能高:通过编译优化、算子优化、网络和IO优化等方法,相比纯开源的代码性能提升40%左右;支持70B+超大规模模型微调;

③支持SFT模型蒸馏:建设模型知识蒸馏组件,在模型效果无损或损失较小的同时缩小模型规模,降低模型线上运行的成本,帮助业务方节约算力资源,未来可在端上使用。

(4)效果验证:支持高性能批量离线推理与客观+主观评估方式。通过手动融合kernel、triton编译优化、通信压缩等手段,提升批量离线推理性能。通过建立客观评估维度与用户自定义主观维度,实现生成效果验证。

目前,九数算法中台自研SFT框架已于京东内部多个业务试点应用,实现SFT技术的低成本应用。

三、检索增强生成(RAG)

大型语言模型通过监督式微调(SFT)补充了特定领域知识的不足,但在获取时效性知识、减少内容幻觉以及确保数据安全等方面依然存在挑战。在零售场景中,无论是来自C端用户的商品咨询,还是来自B端商家的平台规则咨询,对生成答案的时效性、专业度、准确性要求都更高,还需要大模型具备多轮对话的理解能力。

检索增强生成技术(Retrieval-Augmented Generation,简称RAG)的引入,有效减轻了这些问题。RAG的核心是根据用户提问(Query)从外部数据库检索相关信息,并基于此生成回答(Answer),相当于给大模型装上了"知识外挂",基础大模型不用再训练即可随时调用特定领域知识。 这不仅提升了回答的时效性和准确性,还增加了答案的可解释性和可扩展性。此外,企业可以将数据库在本地维护,无需上传至开源模型,确保了数据安全性。

当用户询问"某两款不同品牌手机有什么不同时"时,RAG技术通过索引,为大模型"外挂"两款手机不同参数和属性数据、最新热门趋势等知识库,通过检索技术在商品知识库中找到准确的商品参数等信息,通过大模型生成能力对比两款手机在哪些重要维度有所不同,高效、精准地向用户输出两款手机差异性。

【3.1 RAG流程介绍】

RAG的流程包括检索数据增强、检索过程增强、效果增强三个阶段。

(1)检索数据增强阶段:构建用于检索的语料库的过程,包括"数据提取与处理---文本向量化---创建索引---导入向量数据库"几步。这一阶段的关键是如何通过各类技术,构建有效的语料库,以提供给模型用于生成文本的信息。

(2)检索过程增强阶段:根据用户查询(Query)在语料库中进行检索,召回相关信息,并通过LLM服务生成摘要内容的过程。检索环节中,通过文本检索与向量检索的方式计算问题与语料库内文档块之间相似度来,召回相似度最高的top K个文档块。为了提升检索的精度,往往会在首次召回后加上过滤(Filter)、排序(Rank)等环节。摘要生成环节中,结合prompt工程,利用大模型对用户问题与检索完成的答案进行总结,生成答案摘要。为提升结果准确度,大模型可根据问题范围提前进行SFT微调训练。

(3)效果增强阶段:针对RAG检索和生成结果可进行效果评估,通过客观+主观方式对RAG模式进行批量标注与评分,评价结果可用于进一步优化检索质量与生成质量。

RAG流程介绍

【3.2 九数算法中台RAG技术优势】

九数算法中台的RAG技术覆盖检索数据增强、检索过程增强、效果增强三个阶段,力求通过全流程技术方案的设计,提升RAG的效率和性能。

九数算法中台RAG架构

(1)检索数据增强阶段

①知识库构建

基于Data Warehouse构建知识库,通过增强数据粒度、对齐优化等优化策略增强知识库可用性。 增强数据粒度策略加强数据源可读性。通过推行数据标准化流程,去除无关信息、特殊字符、歧义及重复内容,对数据内容进行修订和简化,重点建设结构化知识索引,促进信息的高效检索与利用。对齐优化策略解决用户问题与文档内容不一致问题,引入假设性问题生成机制,针对语料库中每个文档设计相应的问题(Query)并嵌入文档中,提升用户问题/Query的召回率,有效解决了文档间的对齐挑战。

②数据索引优化

数据索引优化旨在通过对索引结构优化和元数据信息整合等策略提升索引内容的质量,确保数据检索的效率和精度。 索引结构优化策略提升知识库内答案相关上下文被召回概率,通过块优化技术(Chunk optimization)调整切词大小和参数,最小化噪声数据的影响;还可以通过改变索引路径,并引入图结构信息来进一步优化索引结构。添加元数据信息策略提升检索相关性,特别是在处理时间敏感的数据如电子邮件查询时,强调最新信息的相关性而不仅是内容相似性。通过在索引块中嵌入关键元数据属性(如时间戳和章节编号等结构标识),进行精细化过滤,从而提升检索效率与相关度。

③优化Embedding模型

Embedding模型将用户查询(Query)和语料块(Doc)文本转换成为向量。通过选取动态Embedding(Dynamic Embedding)模型,并微调Embedding(Fine-tuning Embedding) ,优化Embedding效果,提高其精确度和适应性。

通过选取动态Embedding模型 ,可将用户查询Query与知识库内容结合上下文内容转化为向量并进行匹配,提升匹配精准度。动态Embedding模型利用基于Transformer架构的深度学习模型、细粒度的语义捕获和多任务学习能力,根据对同一词汇的上下文理解,动态调整其向量表示,使得模型能够生成反映全局语义特征的向量,优化了词义多样性和歧义词汇的精准表征。为提升模型对垂域内容理解,可微调Embedding,通过对预训练Embedding模型(如BGE、Voyage等)进行微调训练,增强模型在垂直领域任务中的表现。包括针对特定领域微调,帮助模型捕捉到该领域的术语和微妙差异,以及针对具体的检索任务微调,使之精准匹配用户查询(Query)和相关文档块(Doc)。

④兼容向量数据库

支持包含Vearch、Milvus、Pinecone等在内的多种向量数据库。

(2)检索过程增强阶段

检索过程增强检涉及对搜索引擎检索流程的综合优化,包括深度理解用户查询(Query)、改进召回策略、优化过滤和排序机制以及改进生成摘要等环节。

①查询(Query)改写

通过知识推理、关键词识别、属性抽取等技术,深入理解用户查询(Query)意图,并通过查询改写(Query Rewrite)提高检索的相关性和精度。

②召回策略

召回策略优化的目标包括准确率提升性能提升两方面。准确率提升方面,我们采用多跳检索(Multi-hop Retrieval)和相关性召回策略,执行多次连续且逐渐深入的检索,以便从不同的数据源中获取更全面深刻的信息,从而提升召回的准确率;性能提升方面,引入检索结果缓存机制(Retrieval Cache)以优化系统性能,减少查询响应时间。

③过滤/排序(Filtering/Ranking)

采用排序算法和过滤机制,根据用户行为和上下文信息对召回的文档进行精准排序,排除不相关或低质量的内容。

④摘要生成

利用提示词工程(Prompt Engineering)技术,给用户提供相应的Prompt模板,优化文档摘要的自动生成结果;并通过模型微调(Fine-tuning)提升生成摘要的相关性和丰富度。

(3)效果增强阶段

①建立效果评估机制

效果增强阶段旨在通过多轮评估,明确现有RAG方案的优化方向,优化最终生成效果。我们支持主观+客观相结合的评估方式,针对检索质量和生成质量分别建立相应的评估维度,使用多种主流评估框架对RAG效果进行评估。

②针对检索质量优化

针对检索质量,采取检索策略选择检索精度调优的双重途径。基于评估反馈,筛选与当前数据集和任务目标最匹配的检索策略,包括关键词匹配、语义搜索、图数据库检索等,并对检索参数进行精细调整,以优化检索结果的准确率和相关度。

③针对生成质量优化

针对生成质量,进行模型微调数据结构重组两方面优化。根据评估效果反馈,进一步微调Embedding模型和生成模型,精确适配特定语料库和任务。此外,优化的数据结构与处理流程,以提高模型的学习效率和生成质量。

(4)联邦RAG

除上述常规RAG流程外,针对当前私域数据分散,私域数据无法在保护数据隐私的前提下参与大模型训练、RAG检索等问题,京东试点联邦RAG模式,将联邦学习(Federated Learning)和RAG相结合,支持用户私域数据在本地构建知识库,延续联邦学习数据可用不可见原则,支持异构数据分布式安全模型训练与微调,实现保障私域数据隐私的联邦RAG模式。

四、AI智能体(AI Agent)

通过SFT+RAG技术,已经可以实现相对固定流程复杂业务问题的解决。面向未来,九数算法中台致力于实现"基于意图的结果指定"这一全新的产品交互方式,通过AI Agent(智能体)赋予大模型自主规划和执行能力,高效解决多流程复杂的业务问题。

【4.1 AI Agent介绍】

AI Agent可以理解为:一个可以感知环境并能够基于当前场景做出决策的"智能体"。 当下大模型应用大多仅具备类似ChatGPT 的对话式能力,无法自主执行复杂任务。为了拓展大模型的能力,可以为其添加各类组件(如Planning/Proflie /Memory/Action等),实现复杂任务的拆解、规划和执行。AI Agent常见组件如下:

①Planning:将复杂的任务分解为更易处理的子任务,并制定出有效的策略。

②Proflie:描述了Agent的各种属性,如角色、目标、能力、知识和行为方式等。

③Memory:存储和组织从环境中获取的信息,以指导未来行动。

④Action:将抽象的决策转化为具体的行动。

AI Agent四类组件

就交互形式而言,基于大型语言模型的AI代理可以分为两大类:单一智能体(Single Agent)和多智能体系统(Multi-Agents)。

早在20世纪80年代,计算机科学家已着手探索类似AI Agent这样能与人类交互的智能软件。在大模型能力的加持下,AI Agent已成为既具有想象空间,又贴近应用的AI行业爆点。从交互形式上看,基于大语言模型的Agent(LLM-based Agent)可分为单智能体(Single Agent)和多智能体系统(Multi-Agents):

(1)单一智能体Single Agent:在其运行环境中独立作用,专注于一个特定的任务或服务领域,能够接收人类以自然语言提出的指令,并基于这些指令执行一些简单的任务,如数据查询、日程管理等,扮演人类智能助手的角色。目前比较成熟的产品包括AutoGPT、BabyAGI等等。

(2)多智能体Multi-Agents:涉及多个Agent协同工作,以解决单Agent难以独立处理的复杂问题。Agents们有不同的角色和专长,通过有效的协作共同实现目标。协作方式可以是合作型的,即通过共享信息、观点和资源来解决问题;也可以是对抗型的,比如通过竞争、谈判和辩论来优化决策过程,淘汰错误策略。这种多元化的互动模式使得多智能体系统能够应对更为复杂和动态的环境,展现出比单一智能体更加强大和灵活的问题解决能力。

【4.2 京东零售的AI Agent应用】

在复杂业务模型自主规划层面,京东零售基于ReAct范式构建Agent LLM,帮助大语言模型理解上下文,精确把握用户意图,并在复杂情况下做出决策、执行任务和使用工具。 ReAct范式结合了推理(Reasoning)与行动(Acting)机制,通过生成交替的推理路径和特定行动,优化模型的决策制定和执行流程,以及与外部资源的有效交互。此过程中,推理路径为模型提供了对行动计划的追踪与更新机制,而具体的行动则使模型能够与外部工具进行直接交互。这种交替机制增强了模型在复杂情景下的决策和多应用调度的精确度。

以常见的商家助手场景为例,随着越来越多的商家入驻京东平台,关于平台入驻规则、产品营销策略等方面的提问逐渐增多,传统的智能客服、人工回复等方式无法精准回复商家提问,且运营成本较高。京东零售基于Multi-Agents理念搭建的商家助手大模型在线推理服务架构,打通数据系统、算法系统和业务系统,不仅能够帮助商家快速了解平台规则、优化经营策略,还能通过自然语言交互提供个性化、多轮次的即时沟通服务。 这一系统的核心是算法层多个定制的AI Agents,每个Agent都有专门角色和功能,可以调用不同的工具来解决相应的问题。例如,当商家就如何提升某个商品的销量提出问题,AI Agent首先对商家提问进行语义理解,精准识别出商家的具体需求,然后调用商品信息查询的API接口,快速获取所需的数据和信息,并据此给出个性化的销量提升建议。

商家助手大模型在线推理服务架构

目前京东零售的Agent LLM已经应用于零售业务知识库构建,成功服务于商家、消费者、企业、门店等多类的用户群体,涵盖多种复杂使用场景,并支持通过工具调用来解决多流程的复杂业务问题。

五、结语

综上,九数算法中台的大模型基础应用框架融合基于ReAct框架的AI Agent、SFT(指令微调)与RAG(检索增强生成)技术 ,显著提高了大语言模型在零售业务的应用效率和效果。通过这一系列技术融合和创新,京东零售成功地将大模型的强大能力应用于人、货、场场景中,在人场,提供面向用户与商家的智能助手服务,如:商家助手、用户增长等;在货场,提供面向商品的知识问答服务,如:知识问答等;在场域,提供面向场域的智能运营服务,如:舆情风险挖掘、数据分析等。 零售大模型应用不仅提升了用户体验,优化了运营效率,还为零售行业的数智化转型提供了有力支撑,展现了大模型技术在零售领域广泛应用的巨大潜力和价值。

作者:京东零售技数中心

来源:京东零售技术 转载请注明来源

相关阅读

2023京东零售技术年度盘点

京东广告算法架构体系-高性能计算最佳实践

京东零售数据资产能力升级与实践

亚洲唯一!2024 Gartner技术创新奖背后的京东供应链创新探索

端智能:面向手机计算环境的端云协同AI技术创新

相关推荐
劲夫学编程23 分钟前
leetcode:杨辉三角
算法·leetcode·职场和发展
毕竟秋山澪25 分钟前
孤岛的总面积(Dfs C#
算法·深度优先
浮生如梦_2 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
励志成为嵌入式工程师4 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉5 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer5 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
wheeldown5 小时前
【数据结构】选择排序
数据结构·算法·排序算法
观音山保我别报错6 小时前
C语言扫雷小游戏
c语言·开发语言·算法
TangKenny8 小时前
计算网络信号
java·算法·华为
景鹤8 小时前
【算法】递归+深搜:814.二叉树剪枝
算法