社区供稿 | EcomGPT:基于任务链数据的电商大模型(附魔搭推理实践)

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 在电商领域中,自然语言处理和深度学习的发展对电商技术的推进做出了很大的贡献。通过这些技术,可以实现从产品信息提取到用户查询理解等多种能力,尤其是近期各类大语言模型(Large Language Models,LLMs)的涌现,让我们看到了它们在电商领域引用的潜力。然而,通用的大语言模型并不是专门为电商领域设计的,这可能导致它们在电商任务中表现不佳。

前言


在电商领域中,自然语言处理和深度学习的发展对电商技术的推进做出了很大的贡献。通过这些技术,可以实现从产品信息提取到用户查询理解等多种能力,尤其是近期各类大语言模型(Large Language Models,LLMs)的涌现,让我们看到了它们在电商领域引用的潜力。然而,通用的大语言模型并不是专门为电商领域设计的,这可能导致它们在电商任务中表现不佳。


图1 电商领域数据特点


相比于通用领域的文本,电商领域的数据有它独有的特性,首先,与通用LLMs处理的连贯句子不同,电商数据具更复杂的句法结构。这些数据通常是由实体构成的不连贯文本。例如,产品标题通常由离散的实体组成,并且比常规句子要短得多。再比如产品信息通常由特殊符号(如“##”)分隔的属性-属性值对组成,这也给LLMs造成了理解上的挑战。其次,电商数据的单词分布与通用领域显著不同,这是由于电子商务平台中存在大量独有的实体和概念。并且,这些新实体和概念伴随着新产品、新用户和新热点的不断出现而不断更新。


上述的特性限制了通用LLMs在电商场景的应用。我们知道,在BERT时代,已经有一些工作通过引入电商领域知识来尝试解决这个问题。比如E-BERT基于掩码实体预测任务在亚马逊数据集上进一步训练了BERT模型,以使BERT获得电商领域的语义知识。然而这些工作往往基于自编码模型比如BERT,难以进行指令学习从而获得更强的泛化能力。同时,这些模型的参数规模也相对较小(低于1b),难以学习和建模复杂的语言知识和结构,从而限制了其泛化能力。


EcomInstruct指令数据集构建


数据集组成


为了解决上述的泛化性问题,我们提出了第一个电子商务指令数据集EcomInstruct,包含250万个指令数据和134个任务。EcomInstruct的构建来源于两个主要渠道。一方面,我们手动收集了各种电子商务自然语言处理(NLP)数据集,这些数据集来自开放数据源,如学术网站和数据竞赛平台。它们涵盖了广泛的任务,包括电子商务命名实体识别、基于评论的问答、产品分类、多轮对话和其他传统NLP任务。


这些开源数据集的好处在于它们经过专家校准,质量高。另一方面,我们确定了电商场景中常见的几种基本数据类型,包括产品信息、用户评论、用户对话和搜索查询。围绕这些基本数据类型,我们构建了大量的原子任务。具体而言,原子任务被定义为解决最终任务所隐含的中间任务。从原子任务中学到的基本语义理解能力也被用于解决其他未见过的任务,因此可以极大地增强模型的泛化能力。


基于这一动机,我们围绕这些基本数据类型构建了大量的原子任务。由于这些原子任务是任务解决链中的关键环节,我们将它们称为任务链任务(Chain-of-Task,CoT任务),参考了之前关于思维链的工作。在收集了上述两部分原始数据之后,我们将专家编写的任务特定指令模版和原始数据结合起来,得到最终的指令数据。


表1 EcomInstruct数据集统计


原子任务构建


基于从公开Benchmark收集得到的多任务指令微调数据集,我们可以通过任务拆解和变换的方式构建不同的原子任务,以扩充指令数据的规模和多样性。

一方面,我们可以充分利用原始数据中的输入和标签信息,或者可以从原始数据中简单推导的信息来构建原子任务,主要可以使用以下几种策略。


(1)任务简化:调整数据中输入和输出的信息量来构建不同难度级别的任务。例如,基于命名实体识别(NER)任务(需要抽取句子中的实体类型和实体名称),可以很容易构造实体识别任务(只输出实体名称不要求实体类型)和实体分类任务(给定句子和实体输出实体类型)。

   

(2) 任务反转:对于部分原始任务,可以反转输入和输出构造新任务。例如,问答任务(QA)可以转化为问题生成(QG)任务,商品文案生成任务可以转化为商品标题生成任务。

   

(3)样本重组:我们可以使用原始任务样本之间或样本中不同部分的关系来构建新任务。例如,对于商品匹配任务(给定两个商品标题和属性判断是否相似),我们可以拆分标题和属性,构建商品标题-属性匹配任务(判断一个标题和一组属性是否描述同一个商品)。

   

另一方面,我们可以只利用原始数据中的基础电商信息(如商品信息、用户查询)作为输入,不使用标签来构造新任务。在这种情况下,我们用ChatGPT来生成可用于模型训练的伪标签。例如,只使用用户搜索查询来构建查询改写、查询分词和问题生成等一系列原子任务。


图2 EcomInstruct数据中CoT任务分布


模型训练


使用BLOOMZ作为该工作的基础模型。BLOOM是BigScience开源的一系列多语言预训练自回归模型,而BLOOMZ是BLOOM在xP3数据集上进行多任务指令微调得到的模型。我们训练了四个不同规模的EcomGPT模型:560M、1.7B、3B、7.1B,分别对应四个不同大小的BLOOMZ模型。在模型训练过程中,期望模型能根据指令和输入的文本生成合适的输出,因此在计算Loss时只计算输出部分而忽略输入部分。


图3 EcomGPT整体训练框架


模型应用


模型可用于任何自然语言理解任务。用户只需给定类型标签即可。不同任务的标签给定方式可以参考以下例子(加粗部分为模版, response之后为模型输出):

评论主题分类

Below is an instruction that describes a task.
Write a response that appropriately completes the request.
### Instruction:
This place has the best pizza.
Select category for the above sentences from the following topics: Service, Anecdotes/Miscellaneous, Food, Price, Ambience.
### Response: Food

阅读理解-抽取

Below is an instruction that describes a task.
Write a response that appropriately completes the request.
### Instruction:
Context: Need help finding a game? It was a game i played when i was about 10 now im 16 On the cover it had a dark side and a light One had a light angle and the other a dark on the light side their was grass and some kind of archers on the dark it has orc type characters It had lava on the dark side and grass and water on the light i also think it was an RTS game plz HELP ME ITS KILLING ME\nQuestion: How old is the author now?
Extract spans from context to answer the question.
### Response: 16

实体识别

Below is an instruction that describes a task.
Write a response that appropriately completes the request.
### Instruction:
So HP designed a unit that looks like a stackable component for your home-theater system .
Detect all named entity about Attribute, Brand, Component, Product in the sentence.
### Response: HP

类目预测

Below is an instruction that describes a task.
Write a response that appropriately completes the request.
### Instruction:
小茶几简约现代家用小户型客厅沙发小圆桌北欧ins风卧室简易桌子\t安装方式#:#组装#;#款式定位#:#经济型#;#人造板种类#:#细木工板#;#是否可伸缩#:#否#;#人造板饰面工艺#:#木皮饰面#;#出租车是否可运输#:#是#;#风格#:#北欧#;#饰面材质#:#人造板#;#饰面工艺#:#人造板工艺#;#木质结构工艺#:#其他#;#是否带滚轮#:#否#;#结构工艺#:#木质工艺#;#茶几角形状#:#方形#;#包装体>积#:#包装体积#;#省份#:#山东省#;#材质#:#人造板#;#是否可预售#:#否#;#门数量#:#无门#;#是否可定制#:#否#;#是否组装#:#是#;#地市#:#菏泽市#;#形状#:#方形#;#区县#:#曹县#;#是否带储物空间#:#是#;#品牌#:#FAJOFIEL/法乔菲#;#型号#:#AM-203
Categorize product items. Candidates: 美妆洗护, 大百货, 消费电子, 食品, 大服饰
### Response: 大百货


总结


在这项工作中,我们构建了电商领域首个指令调优数据集EcomInstruct,其中基于电商基础数据类型设计的原子任务(任务链任务)使得模型在未见任务上获得了良好的泛化能力。我们的工作为未来的垂直领域大模型的发展提供了一些参考,对于垂直领域大模型来说,围绕领域基础数据构建任务链任务或许可以快速地提升模型的泛化能力,帮助快速落地。



附:论文&开源信息


论文链接:

https://arxiv.org/abs/2308.06966


GitHub链接:

https://github.com/Alibaba-NLP/EcomGPT


模型链接:https://www.modelscope.cn/models/damo/nlp_ecomgpt_multilingual-7B-ecom/summary


EcomGPT现已在魔搭社区开源,特附上魔搭推理代码

推理代码支持在PAI-DSW的免费算力环境下运行

from modelscope.utils.constant import Tasks
from modelscope.pipelines import pipeline
inputs = {
    'instruction':
    'Classify the sentence, select from the candidate labels: product, brand',
    'text': '照相机'
}
# PROMPT_TEMPLATE保持不变
PROMPT_TEMPLATE = 'Below is an instruction that describes a task. ' + \
                  'Write a response that appropriately completes the request.\n\n' + \
                  '### Instruction:\n{text}\n{instruction}\n\n### Response:'
prompt = PROMPT_TEMPLATE.format(**inputs)
pipeline_ins = pipeline(task=Tasks.text_generation, model='damo/nlp_ecomgpt_multilingual-7B-ecom',model_revision = 'v1.0.1')
print(pipeline_ins(prompt))


点击直达模型开源链接:https://www.modelscope.cn/models/damo/nlp_ecomgpt_multilingual-7B-ecom/summary



相关文章
|
18天前
|
自然语言处理 测试技术
社区供稿 | 引入隐式模型融合技术,中山大学团队推出 FuseChat-3.0
在大语言模型(LLM)领域,结合多个模型的优势以提升单个模型的能力已成为一大趋势。然而,以往的模型融合方法例如 FuseLLM[1], FuseChat-1.0/2.0[2] 等存在词表对齐困难、效率低下等问题。
社区供稿 | 引入隐式模型融合技术,中山大学团队推出 FuseChat-3.0
|
11天前
|
机器学习/深度学习 存储 人工智能
智能体首次达到Kaggle Grandmaster水平,华为用结构化推理补齐思维链短板
近日,华为诺亚方舟实验室与伦敦大学学院(UCL)联合开发的智能体Agent K v1.0在Kaggle竞赛中达到Grandmaster水平,引发广泛关注。该智能体采用创新的结构化推理框架,优化长期和短期记忆,动态处理复杂推理任务。通过自动化协议,Agent K v1.0能自动完成数据收集、清理、预处理等任务,并在多种数据模态下取得优异成绩。其Elo-MMR评分位于前38%,获得多枚奖牌,展示了强大的预测和决策能力。这一突破为AI在数据科学领域的应用开辟了新可能,但也需关注其局限性和伦理影响。论文地址:https://arxiv.org/pdf/2411.03562。
55 22
|
9天前
|
人工智能 智能硬件
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
SPAR 是智谱团队推出的自我博弈训练框架,旨在提升大型语言模型在指令遵循方面的能力,通过生成者和完善者的互动以及树搜索技术优化模型响应。
21 0
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
|
1月前
|
人工智能 测试技术 API
哪个模型擅长调用工具?这个7B模型跻身工具调用综合榜单第一
《Hammer: Robust Function-Calling for On-Device Language Models via Function Masking》提出了一种新型基础模型Hammer,通过函数掩码技术显著提升了大型语言模型在工具调用方面的性能,减少了对特定命名约定的依赖,展现了强大的泛化能力和超越现有模型的表现。该研究已开源,旨在促进智能设备的本地AI功能发展。
76 6
|
3月前
|
存储 人工智能 Serverless
妙用AI助理帮您定方案、找细节
当您希望在繁琐的文档中迷失方向时,AI助理能为您提供清晰指引,助您轻松实现加速配置与获取核心代码参数,显著简化开发流程。无论是方案获取还是寻找细节,只需向AI助理提问,即可获得详细步骤与示例代码,大幅提升工作效率。点击右下角的AI助理,即刻体验便捷服务。
151 1
|
4月前
|
测试技术
LLM数学性能暴涨168%,微软14人团队力作!合成数据2.0秘诀曝光,智能体生成教学
【9月更文挑战第14天】微软研究团队发布了一篇介绍新型框架"AgentInstruct"的论文,该框架旨在通过自动生成高质量合成数据,推动语言模型发展。AgentInstruct仅需原始数据源即可创建多样化的合成数据,减少人工工作量。研究团队基于此框架构建了含2500万训练对的数据集,展示了其在多种技能教学中的潜力。经微调后的Mistral-7b模型演进为Orca-3,在多个基准测试中显著超越同类模型。尽管如此,AgentInstruct仍面临创建流程耗时及合成数据复杂性不足等问题。论文详情见:https://arxiv.org/pdf/2407.03502
91 2
|
5月前
|
数据采集 人工智能 物联网
我们给大模型去掉了“AI味”-大模型微调全链路实战
本文档旨在概述使用ModelScope生态进行LLM训练的全链路最佳实践,涵盖数据下载、数据预处理、模型训练、模型评估完整流程。
|
8月前
|
机器学习/深度学习 人工智能 算法
仅靠开源数据复刻出LLaMA3指令学习效果,在线迭代RLHF全流程解决方案来了
【5月更文挑战第27天】在线迭代RLHF方案使用开源数据复现LLaMA3指令学习效果,提供了一种动态收集和更新模型的新方法,提升大型语言模型的性能。通过代理偏好模型模拟人类反馈,降低训练成本,促进技术民主化。虽然面临数据利用、探索与利用平衡等挑战,且需解决长尾分布数据处理问题,该方案已在多基准测试中展现优秀性能,为LLM训练提供高效途径。论文链接:https://arxiv.org/pdf/2405.07863
79 1
|
8月前
|
人工智能 编解码 自然语言处理
Sora文生视频模型深度剖析:全网独家指南,洞悉98%关键信息,纯干货
Sora文生视频模型深度剖析:全网独家指南,洞悉98%关键信息,纯干货