前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >百度搜索首届技术创新挑战赛:搜索模型推理优化

百度搜索首届技术创新挑战赛:搜索模型推理优化

作者头像
致Great
发布2022-12-02 15:32:56
3040
发布2022-12-02 15:32:56
举报
文章被收录于专栏:程序生活程序生活

比赛链接:https://aistudio.baidu.com/aistudio/competition/detail/674/0/task-definition

赛题背景

近年来基于Transformer模型结构的预训练语言模型技术快速发展,并在NLP领域取得了巨大成功。百度搜索引擎依托与深厚的AI技术积累,搭建了超大规模的模型推理异构加速集群,通过落地Ernie文心模型,为用户带来了显著的搜索体验提升。而在百度搜索Ernie模型的工业化部署实践中,针对复杂Ernie模型结构的高性能推理对于保障亿万用户流畅的搜索体验、控制算力成本开销至关重要。 在业界针对GPU进行复杂模型的异构推理加速也是一个火热的研究话题,多种优秀的技术方案不断涌现。其中既有百度推出灵活易用的PaddlePaddle深度学习全流程工具,也有NVIDIA推出的针对深度学习模型推理极致优化的TensorRT框架。

本赛题会提供一个典型的搜索场景的ERNIE模型,希望参赛者通过各种优化技术,挑战最优的模型推理性能。

任务概述

模型推理优化任务采用相对开放的设定,可自行选用各种模型推理框架,挖掘GPU加速硬件特性,通过异构算子优化、模型量化压缩等各种优化手段,追求最优的模型推理性能(推荐深入应用NVIDIA TensorRT优化技术)。参赛队员请用飞桨AI Studio配置的NVIDIA A100完成参赛作品。

排名计算

初步排名计算: 1)所有参赛选手提交比赛方案与代码至AI Studio,在满足模型效果标准的前提下,由AI Studio评测系统自动评选模型性能指标前N名 2)以标准评测机器上的测试集推理运行时间进行排序。如果运行时间非常接近,在测量误差内,则视为成绩相同。 3)对于AI Studio打榜成绩相同的选手,按提交时间早晚排序。 终选排名计算:评审人员基于创新性打分,结合初步排名技术指标最终确定获奖队伍。

任务定义

给出已经训练好的模型文件,模型结构以ERNIE结构为主,提供PaddlePaddle和ONNX两种模型格式;同时给定一批搜索线上模型推理测试数据,包括用户的实际query、候选文档等,所有数据均已ID化。针对测试集中的数据,要求参评系统完成从测试数据读入、模型加载、模型推理、结果输出的全流程。

数据集

A榜测试集为公开数据集,包含带label数据以及无label数据,总计数千条样本 B榜测试集为非公开数据集,包含数万条样本

数据样例 模型输入:每条样本数据一行,不同域数据和模型多个输入之间均以";“分隔,模型输入的shape维度和数据ID之间用”:“分隔,具体的数据ID以” "分隔。 样例如下:

代码语言:javascript
复制
qid:1;label:3;1 128 1:1 12 13 1557 40574 40997 22553 2 1571 40574 1569 42562 1557 40997 22553 1886 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;1 128 1:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;1 128 1:0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;1 128 1:1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

样本数据以";“分割成多列,其中第一列为样本标识qid,第二列为label(无label数据此处为”-“),自第三列以后表示模型的多个输入。在模型的多个输入均以”:"分割成tensor的shape信息和数值value。如示例数据中,模型的第一个输入shape为[1,128,1],第一个输入的数据是[1 12 13 1557 40574 40997…],第二个输入的维度是[1,128,1],数据是[0 1 2 3 4 5…],模型的多个输入依次类推。 对于模型输入的shape信息[1,128,1]表示该样本batch_size=1,输入序列长度为128;如[10,70,1]则表示该样本batch_size=10,输入序列长度为70;选手需注意带label的样本数据输入序列长度均padding到128,不带label数据均padding到了batch内的最长序列长度。 本赛题中所有样本数据batch_size<=10,样本输入序列长度<=128,标识几个特殊ID,0=[PAD],1=[CLS],2=[SEP],3=[MASK],4=[UNK]

评价指标

评估模型精度指标: 1)模型效果:模型效果以效果指标评估损失3%以内,可通过脚本local_evaluate.py根据带label测试数据评估模型的效果指标 2)模型性能:测试集完成推理的耗时评估 考虑真实应用场景,本赛题不可在batch维度上进行单样本拆分或多样本合并推理

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 赛题背景
  • 任务概述
  • 排名计算
  • 任务定义
  • 数据集
  • 评价指标
相关产品与服务
批量计算
批量计算(BatchCompute,Batch)是为有大数据计算业务的企业、科研单位等提供高性价比且易用的计算服务。批量计算 Batch 可以根据用户提供的批处理规模,智能地管理作业和调动其所需的最佳资源。有了 Batch 的帮助,您可以将精力集中在如何分析和处理数据结果上。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档