赞
踩
论文链接:https://arxiv.org/abs/2308.06966
GitHub链接:https://github.com/Alibaba-NLP/EcomGPT
今天给大家介绍下我们在训练电商领域大模型方面的尝试。希望对研发相关或其他领域大模型的工作有所帮助。也欢迎大家给我们提供宝贵意见。
有观点认为,通用大模型训练过程中,已经用到来源广泛、规模惊人的训练数据,其中必然包含了大量领域数据,那么通用模型就可以很好的解决领域任务,因此不需要专用领域模型。对此,我们的观点是,还有很多私有领域的知识是通用模型没有掌握的,如上图所示,这些通用知识没有覆盖的部分,才是领域模型的机会所在。我们也可以从实践中找到佐证。通用模型(即使ChatGPT)在执行领域任务(比如电商中的搭配推荐)时,其平均效果远低于通用任务,知识幻觉问题也更多。而且,模型规模越小,这种gap越大。因此,领域模型的价值在于通过吸收专有领域知识在特定领域任务上达到优异效果。
虽然通用模型缺少领域知识,那通过检索增强、ICL等方式,是否可以弥补这个不足?即采用通用大模型 + 领域知识库范式。对此,我们的观点是,虽然这种方法可以注入一些知识点和简单的推理逻辑,有助于解决一些简单任务,但对于需要使用领域逻辑进行复杂推理的任务帮助较小,这种“领域思维”需要通过大量的领域数据内化到大模型中。近期一些专业领域(医疗、法律)大模型的实践,也表明即使只通过领域数据微调即可以让大模型表现的更有领域思维,如面对医疗咨询时会询问病史等。
因此,从目前学术界、工业界探索来看,研发领域大模型是必要的。因此,我们从我们较为熟悉的电商领域出发,探索用于解决电商场景任务(如品牌识别,评价解析,广告文案生成等)的电商领域大模型。考虑到成本因素,我们先从指令微调开始。接下来,我将先从数据获取开始,然后介绍训练方法,最后简要分析实验结果。
为了提高模型在电商任务上的泛化能力,我们构造了一个电商指令数据集EcomInstruct,包括122个训练任务/数据集(held-in),约150万条数据,以及12个评估任务(held-out)。整体任务情况如图所示。
EcomInstruct包括两个主要组成部分,公开任务数据和基于公开任务数据构造的原子任务数据。
首先,我们从学术论文或竞赛平台等开放数据源收集了共65个各种电商任务数据集,包括命名实体识别、评论问答、商品类目预测、多轮对话等传统的自然语言处理任务。这些开源数据集的任务都是由领域专家设计,然后由受过培训的人工标注,数据质量很高。
其次,虽然电商领域的实体和概念每天都在增加(比如新品牌、新品类),但电商数据的类型相对稳定,包括产品信息、用户对话、用户评论和搜索查询等。我们认为,无论下游具体应用是什么,对基础数据类型的全面理解对于提高模型的泛化能力至关重要。出于这个动机,我们进一步围绕这些基础数据(来自于以上开源数据集)构建了大量的原子任务,比如实体片段识别,实体分类等。这些原子任务涵盖了各种基本的语义理解能力,在模型解决原始任务的中间阶段广泛应用,这些原子任务可以看做任务链任务(Chain of tasks)。原子任务的标注答案尽可能从公开任务原始的标注构造,以保证准确性。实在无法构造的,借助ChatGPT帮助生成。
我们将特定数据集的任务指令与数据样本结合起来,构造了大规模的指令调优数据,然后基于这个指令数据集采用标准的因果语言模型(Causal Language Model)的训练范式训练。指令的构成如下图所示。指令包含三个部分:任务描述、任务指令、输入句子。任务描述给出任务名称,任务指令描述具体的任务需求,输入句子则是具体需要分析的句子。我们通过对比实验分析了不同指令设计的优劣,基本结论是提供任务描述、统一使用一种语言、任务指令多样化都有助于提升模型泛化性。
我们主要评估模型的泛化能力,因此,实验在12个未见数据集(held-out)上进行。我们采用Rouge-L作为评估指标,对于分类、实体识别等任务,我们也评测了F1指标。
首先,先看下经过数据微调后的模型是否更强。从下表中数据可以看出,相比与原始的通用模型,微调后模型取的了质的提升。我们分析模型的预测结果发现,原始的模型基本无法理解电商任务,即使部分理解也无法按照领域标准解决任务(ChatGPT的问题属于这一类),因此总体表现较差。而经过大量领域数据微调后,模型能够更好的理解电商任务并更有可能做出符合领域要求的回答。
ChatGPT输出结果因为无法完全遵循指令,按照要求的格式输出,导致自动化评估结果偏低。我们采样的部分数据进行人工盲评,下图给出了我们模型相比与ChatGPT的对比结果。从图中可以看出,除了生成任务外,Rouge和winning Rate具有很强的相关性。
此外,我们也进行了数据规模的缩放实验(如下图所示,实验结果为在held-out评估集上效果),从图中可以看出,在我们已有的数据范围内,数据多样性越丰富,模型泛化性越好。因此,如果我们进一步收集或构造领域任务加入微调,模型效果将有更进一步提升。
然后,我们针对我们构造的原子任务进行了一些分析实验。这里仅给出总体结果(更多细粒度分析可以参考论文),如下表所示,从表中可以看出,原子任务的加入对提升模型整体表现至关重要(即使是伪标签数据)。我们认为这些原子任务帮助模型理解领域任务,领域数据,有助于模型更好的泛化到新的任务。
我们还进行了规模缩放、跨任务、跨语言等分析性实验,详情请见论文。
针对电商领域的NLP问题,我们通过收集公开数据集合构造原子任务等方式构建了一个大规模指令微调数据集,并基于此数据集训练了一个效果优异的电商领域大模型。我们的工作初步证明了训练领域大模型的必要性。希望对促进领域大模型的研发有所帮助。
一起交流
想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。