较量链接: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维度上进行单样本拆分或多样本合并推理