社区供稿 | 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



相关文章
|
29天前
|
自然语言处理 测试技术
社区供稿 | 引入隐式模型融合技术,中山大学团队推出 FuseChat-3.0
在大语言模型(LLM)领域,结合多个模型的优势以提升单个模型的能力已成为一大趋势。然而,以往的模型融合方法例如 FuseLLM[1], FuseChat-1.0/2.0[2] 等存在词表对齐困难、效率低下等问题。
社区供稿 | 引入隐式模型融合技术,中山大学团队推出 FuseChat-3.0
|
22天前
|
机器学习/深度学习 存储 人工智能
智能体首次达到Kaggle Grandmaster水平,华为用结构化推理补齐思维链短板
近日,华为诺亚方舟实验室与伦敦大学学院(UCL)联合开发的智能体Agent K v1.0在Kaggle竞赛中达到Grandmaster水平,引发广泛关注。该智能体采用创新的结构化推理框架,优化长期和短期记忆,动态处理复杂推理任务。通过自动化协议,Agent K v1.0能自动完成数据收集、清理、预处理等任务,并在多种数据模态下取得优异成绩。其Elo-MMR评分位于前38%,获得多枚奖牌,展示了强大的预测和决策能力。这一突破为AI在数据科学领域的应用开辟了新可能,但也需关注其局限性和伦理影响。论文地址:https://arxiv.org/pdf/2411.03562。
63 22
|
1月前
|
人工智能 测试技术 API
哪个模型擅长调用工具?这个7B模型跻身工具调用综合榜单第一
《Hammer: Robust Function-Calling for On-Device Language Models via Function Masking》提出了一种新型基础模型Hammer,通过函数掩码技术显著提升了大型语言模型在工具调用方面的性能,减少了对特定命名约定的依赖,展现了强大的泛化能力和超越现有模型的表现。该研究已开源,旨在促进智能设备的本地AI功能发展。
83 6
|
7月前
|
人工智能 API 计算机视觉
吴恩达团队新作:多模态多样本上下文学习,无需微调快速适应新任务
【6月更文挑战第27天】吴恩达团队提出多模态模型新方法—多样本上下文学习,允许模型无需微调即可快速适应新任务。通过扩大上下文窗口至2000个示例,模型性能在图像分类等任务上显著提升,同时研究了批处理优化以减少计算成本。尽管面临计算开销和数据需求的挑战,但该方法为AI的高效泛化开辟了新途径。[论文链接:https://arxiv.org/abs/2405.09798]
130 5
|
5月前
|
算法 语音技术
支付宝商业化广告算法问题之在ODL模型优化过程中,采取什么策略来提高模型的泛化能力呢
支付宝商业化广告算法问题之在ODL模型优化过程中,采取什么策略来提高模型的泛化能力呢
|
7月前
|
编解码 人工智能 测试技术
ShareGPT4V作者团队又一力作!百万高质量视频-字幕数据助力社区提升多模态大模型视频理解及生成能力
【6月更文挑战第30天】ShareGPT4Video`团队推出百万视频-字幕数据集,强化多模态模型的视频理解和生成。包括40K视频的`ShareGPT4Video`数据集、`ShareCaptioner-Video`模型和8B参数的`ShareGPT4Video-8B`模型,后者在视频基准测试中取得最佳效果。差异化字幕生成策略解决了传统方法的局限。尽管取得突破,但数据规模和模型泛化仍是未来挑战。[论文链接](https://arxiv.org/abs/2406.04325v1)
87 1
|
8月前
|
存储 机器学习/深度学习 人工智能
社区供稿 | Yuan2.0千亿大模型在通用服务器上的高效推理实现:以NF8260G7服务器为例
浪潮信息联合Intel在IPF大会上发布了可运行千亿参数大模型的AI通用服务器,首次实现了单机通用服务器,即可运行千亿参数大模型。并在发布现场演示了基于NF8260G7服务器进行yuan2.0-102B模型在代码编写、逻辑推理等高难度问题上的实时推理效果,引起了业界广泛的关注。本文将详细解读yuan2.0-102B模型在NF8260G7服务器上进行高效实时推理的原理和技术路径。
|
8月前
|
人工智能 自然语言处理 测试技术
多模态大模型有了统一分割框架,华科PSALM多任务登顶,模型代码全开源
【4月更文挑战第24天】华中科技大学团队推出PSALM模型,革新多模态图像分割,实现语义、实例及交互式分割任务统一处理,提升效率。模型在多项基准测试中表现优异,支持零样本学习,适用于开放词汇分割等任务。代码开源促进研究,但面临复杂场景处理和计算资源优化的挑战。[链接](https://arxiv.org/abs/2403.14598)
259 2
|
8月前
|
人工智能 编解码 自然语言处理
Sora文生视频模型深度剖析:全网独家指南,洞悉98%关键信息,纯干货
Sora文生视频模型深度剖析:全网独家指南,洞悉98%关键信息,纯干货