较量链接:https://aistudio.baidu.com/ai…
赛题背景
近年来基于 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 以”“ 分隔。样例如下:
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 维度上进行单样本拆分或多样本合并推理