社区供稿 | 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天前
|
负载均衡 测试技术 调度
大模型分布式推理:张量并行与流水线并行技术
本文深入探讨大语言模型分布式推理的核心技术——张量并行与流水线并行。通过分析单GPU内存限制下的模型部署挑战,详细解析张量并行的矩阵分片策略、流水线并行的阶段划分机制,以及二者的混合并行架构。文章包含完整的分布式推理框架实现、通信优化策略和性能调优指南,为千亿参数大模型的分布式部署提供全面解决方案。
311 4
|
1月前
|
机器学习/深度学习 缓存 监控
大模型推理优化技术:KV缓存机制详解
本文深入探讨了大语言模型推理过程中的关键技术——KV缓存(Key-Value Cache)机制。通过对Transformer自注意力机制的分析,阐述了KV缓存的工作原理、实现方式及其对推理性能的显著优化效果。文章包含具体的代码实现和性能对比数据,为开发者理解和应用这一关键技术提供实践指导。
625 8
|
30天前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
1311 2
|
1月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
2月前
|
人工智能 自然语言处理 搜索推荐
携多项成果亮相云栖大会,探索大模型在云通信中的创新应用与全球实践
2025云栖大会云通信分论坛聚焦大模型与云通信融合,阿里云发布智能联络中心2.0与Chat App AI助理,携手伙伴推动通信智能化升级。
251 1
|
30天前
|
机器学习/深度学习 缓存 自然语言处理
【万字长文】大模型训练推理和性能优化算法总结和实践
我们是阿里云公共云 AI 汽车行业大模型技术团队,致力于通过专业的全栈 AI 技术推动 AI 的落地应用。
985 38
【万字长文】大模型训练推理和性能优化算法总结和实践
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
迁移学习:让小数据也能驱动AI大模型
迁移学习:让小数据也能驱动AI大模型
275 99
|
20天前
|
人工智能 安全 开发工具
C3仓库AI代码门禁通用实践:基于Qwen3-Coder+RAG的代码评审
本文介绍基于Qwen3-Coder、RAG与Iflow在C3级代码仓库落地LLM代码评审的实践,实现AI辅助人工评审。通过CI流水线自动触发,结合私域知识库与生产代码同仓管理,已成功拦截数十次高危缺陷,显著提升评审效率与质量,具备向各类代码门禁平台复用推广的价值。(239字)
265 24

热门文章

最新文章