Coggle数据科学 | KDD Cup 2024:亚马逊LLMs购物挑战

2024-04-20 21:04

本文主要是介绍Coggle数据科学 | KDD Cup 2024:亚马逊LLMs购物挑战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文来源公众号“Coggle数据科学”,仅用于学术分享,侵权删,干货满满。

原文链接:KDD Cup 2024:亚马逊LLMs购物挑战

  • 赛题名称:Amazon KDD Cup 2024: Multi-Task Online Shopping Challenge for LLMs

  • 赛题类型:大模型、推荐系统、多任务

https://www.aicrowd.com/challenges/amazon-kdd-cup-2024-multi-task-online-shopping-challenge-for-llms

1 赛题背景

本次挑战旨在简化在线购物的流程,通过大型语言模型(LLMs)来帮助人们更轻松地选择最适合的礼物。在传统的在线购物过程中,人们需要浏览无数产品,阅读评论以评估质量,比较价格,最终决定购买。这个过程耗时且有时令人不知所措,因为信息和选择的数量庞大。

ShopBench 挑战的目标是利用大型语言模型的多任务和少样本学习能力,简化在线购物的复杂性。 我们相信,LLMs有潜力掌握在线购物的这些复杂性。通过设计强大的LLMs,我们可以改善现有技术,使其更好地帮助人们在在线购物中导航,使其变得更加直观和令人满意,就像现实生活中一位熟知商品的购物助理一样。

ShopBench 是一个全面的基准测试,模拟了真实世界中在线购物的复杂性。我们邀请参与者设计强大的LLMs,以改善最先进的技术如何更好地帮助我们在在线购物中导航。

2 赛题介绍

在线购物是一个复杂的过程,涉及从浏览到购买的各种任务,都需要洞察客户的行为和意图。这需要能够利用任务之间共享知识的多任务学习模型。然而,许多当前的模型都是特定于任务的,增加了开发成本,限制了效果。大型语言模型(LLMs)有潜力改变这一状况,通过一个模型处理多个任务,并通过微小的提示调整实现。

在LLMs的潜力和挑战的推动下,我们推出了 ShopBench,一个针对在线购物的大规模挑战,包含 57 个任务和约 20000 个问题,来源于真实的亚马逊购物数据。此挑战中的所有问题都重新格式化为统一的文本生成格式,以适应基于LLMs的解决方案的探索。ShopBench 主要关注四个主要的购物技能(将作为 Tracks 1-4):

  • 购物概念理解

  • 购物知识推理

  • 用户行为对齐

  • 多语言能力

此外,我们设置了 Track 5: 全能,以鼓励更加多才多艺和全面的解决方案。Track 5 要求参与者使用单一解决方案解决 Tracks 1-4 中的所有问题,这种解决方案预计将比特定于 Tracks 1-4 的解决方案更加原则和统一。我们将相应地分配更大的奖励给 Track 5。

3 赛题时间轴

  • 网站上线和注册开始时间:2024年3月15日 23:55 UTC

  • 第一阶段开始日期:2024年3月18日 23:55 UTC

  • 参赛报名截止日期和第一阶段结束日期:2024年5月10日 23:55 UTC

  • 第二阶段开始日期:2024年5月15日 23:55 UTC

  • 结束日期:2024年7月10日 23:55 UTC

  • 获奖者通知日期:2024年7月15日

  • 获奖者公布日期:2024年8月26日(在KDD 2024上)

在第一阶段,所有注册的团队都可以参加。第一阶段结束后,只有排名前25%的团队才能进入第二阶段。第二阶段将包含更难的样本和任务,最终获胜者将完全根据第二阶段的数据确定。获奖者将在2024年7月15日收到通知,正式的获奖者公告将在2024年8月26日的KDD 2024上发布。

4 赛题奖励

挑战设有总奖金池,总额为$41,500,分为以下三种类型的奖项:

  • 获奖者奖励:我们将在每个赛道中分别奖励第一、第二和第三名的获胜者,以现金奖励形式。

  • AWS 优惠券:每个赛道中排名第一的团队之后的团队将获得 AWS 优惠券奖励。

  • 学生奖励:我们知道,开发LLMs需要大量的计算资源和工程投入,而这两者对学生来说都不易获取。因此,我们为每个赛道中最优秀的学生团队(即所有参与者都是学生)设立了专门的学生奖励,以激励学生开发资源高效的解决方案。

具体来说,Tracks 1-4 的奖金设置如下:

  • 🥇 第一名:$2,000

  • 🥈 第二名:$1,000

  • 🥉 第三名:$500

  • 第4-7名:AWS 优惠券价值 $500

  • 🏅 学生奖:$750

Track 5(全能赛道)的奖金设置如下:

  • 🥇 第一名:$7,000

  • 🥈 第二名:$3,500

  • 🥉 第三名:$1,500

  • 第4-8名:AWS 优惠券价值 $500

  • 🏅 学生奖:$2,000

所有奖项都是累积的。例如,如果你的解决方案在全能赛道中排名第二,在第四赛道中排名第三,你可以获得总计500=$4,000的现金奖励。然而,全能赛道的解决方案不会自动被视为适用于 Tracks 1-4。你必须提交到相应赛道才能有资格。

除了现金奖励外,获胜团队还将有机会在与 ACM SIGKDD 2024 举办的 KDD Cup 工作坊 2024 上展示他们的作品。

5 赛题数据集

本挑战中使用的 ShopBench 是从真实的亚马逊购物数据中采样的匿名化多任务数据集。ShopBench 的统计数据如下表所示:

属性名称数据
任务数量57
问题数量20598
商品数量~13300
商品类别数量400
属性数量1032
评论数量~11200
查询数量~4500

ShopBench 被划分为少样本开发集和测试集,以更好地模拟现实世界的应用场景 --- 在这种情况下,你事先不知道客户的问题。在这种设置下,我们鼓励参与者使用任何公开可用的资源(例如预训练模型、文本数据集)来构建他们的解决方案,而不是过度拟合给定的开发数据(例如使用 GPT 生成伪数据样本)。

开发数据集将以 json 格式提供,包含以下字段:

  • 'input_field':该字段包含指令和模型应该回答的问题。

  • 'output_field':该字段包含问题的真实答案。

  • 'task_type':该字段包含任务类型(详见下一节“任务”)。

  • 'metric':该字段包含用于评估问题的指标(详见“评估指标”部分)。

然而,测试数据集(将对参与者隐藏)将具有不同的格式,只包含两个字段:

  • 'input_field',与上述相同。

  • 'is_multiple_choice':该字段包含一个 'True' 或 'False',指示问题是否是多项选择题。不会向参与者提供详细的“task_type”。

6 赛题任务

ShopBench旨在评估四项重要的购物技能,对应挑战的Track 1-4。

  • 购物概念理解:在线购物中存在许多领域特定概念,如品牌、产品线等。而且,这些概念通常存在于短文本中,如查询,使得模型在没有足够上下文的情况下理解它们变得更具挑战性。这项技能强调了LLMs理解和回答与这些概念相关的问题的能力。

  • 购物知识推理:人们在购物决策时涉及到复杂的推理和隐含知识,例如数字推理(例如计算产品包的总金额)、多步推理(例如识别两个产品是否与彼此兼容)。这项技能侧重评估模型在具有领域特定隐含知识的产品或产品属性上的推理能力。

  • 用户行为对齐:用户行为建模在在线购物中至关重要。然而,用户行为多样化,包括浏览、购买、查询然后点击等。此外,大多数行为都是隐含的,没有以文本形式表达出来。因此,与异构和隐含的购物行为对齐是在线购物中语言模型面临的独特挑战,这也是这个赛道的主要目标。

  • 多语言能力:多语言模型在在线购物中特别受欢迎,因为它们可以在多个市场上部署而无需重新训练。因此,我们包括了一个独立的多语言赛道,包括多语言概念理解和用户行为对齐,以评估单一模型在不同购物地点的表现,而无需重新训练。

此外,我们设置了Track 5:全能,要求参与者使用统一的解决方案解决Track 1-4中的所有问题,以进一步强调解决方案的通用性和多功能性。

ShopBench涉及五种类型的任务,所有任务都重新格式化为文本到文本生成,以适应基于LLMs的解决方案。

  • 多项选择:每个问题与几个选项相关联,模型需要输出一个正确的选项。

  • 检索:每个问题与一个需求和一个候选项列表相关联,模型需要检索满足需求的所有项。

  • 排名:每个问题与一个需求和一个候选项列表相关联,模型需要根据每个项满足需求的程度重新对所有项进行排名。

  • 命名实体识别:每个问题与一段文本和一个实体类型相关联,模型需要从文本中提取出属于实体类型的所有短语。

  • 生成:每个问题与一条指示和一个问题相关联,模型需要根据指示生成文本片段以回答问题。生成问题有多种类型,包括抽取式生成、翻译、详细说明等。

为了测试解决方案的泛化能力,开发集将只涵盖部分 57 个任务,导致挑战期间未见过的任务。然而,开发集将覆盖所有 5 种任务类型,以帮助参与者理解提示和输出格式。

7 评估框架

为了确保全面和公正的评估,该挑战使用了一个隐藏的测试集,对参与者保密,以防止手动标注或操纵,并促进可泛化的解决方案。

ShopBench包括多种类型的任务,每种任务需要特定的评估指标。所选的指标如下:

  • 多项选择:使用准确率来衡量多项选择问题的性能。

  • 检索:使用Hit@3来评估检索任务。ShopBench中的正样本数量不超过3。

  • 排名:使用归一化折现累积增益(NDCG)来评估排名任务。

  • 命名实体识别(NER):使用微平均F1分数来评估NER任务。

  • 生成:根据任务类型不同,使用不同的指标:

    • 抽取式任务(例如,关键词提取)使用ROUGE-L。

    • 翻译任务使用BLEU分数。

    • 对于其他生成任务,我们使用句子转换器来计算生成文本xgen和地面真实文本xgt的句子嵌入。然后,我们计算xgen和xgt之间的余弦相似度(截取到[0, 1])作为指标。这种方法侧重于对文本语义的评估,而不仅仅是令牌级别的准确性。

由于所有任务都被转换为文本生成任务,因此基于规则的解析器将解析参与者解决方案的答案。解析器无法处理的答案将被评分为0。解析器将对参与者开放。

由于所有这些指标范围都在[0, 1]之间,我们计算每个赛道内所有任务的平均指标(宏平均)来确定赛道的整体得分,并识别赛道的获胜者。Track 5的整体得分将通过对Tracks 1-4中的得分进行平均计算得到。

感兴趣的小伙伴们可以参加!

THE END!

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

这篇关于Coggle数据科学 | KDD Cup 2024:亚马逊LLMs购物挑战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/921318

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本