返回列表

11th place solution: LightGBM

581. Google - Fast or Slow? Predict AI Model Runtime | predict-ai-model-runtime

开始: 2023-08-29 结束: 2023-11-17 基础软件 数据算法赛
第11名解决方案:LightGBM

第11名解决方案:LightGBM

感谢主办方,也祝贺各位获奖者。很高兴能在本次比赛中赢得我的第4枚金牌。我没有使用GNN,而是采用了LightGBM结合特征工程的方法。我选择LightGBM的原因是认为单个TPU中模型的运行时间等于各节点运行时间的总和,因此通过学习图的聚合统计信息就足以获得良好效果,无需学习图结构本身。

布局

特征

我从图中提取了以下特征:

  • 使用以下分类方法统计每种类型的conv/dot/reshape节点数量
    • Conv:如果输入/输出维度数、配置值或node_feat的第93~106个值中任意一项不同,则视为不同类型
    • Dot:如果输入/输出维度数、配置值或dot操作的索引特征(自主从.pb文件提取)中任意一项不同,则视为不同类型
    • Reshape:如果输入/输出维度数、配置值或某组维度中元素乘积的不一致性中任意一项不同,则视为不同类型
  • 元素复制的次数
    • 通过比较每个可配置节点及其连接的可配置节点的布局来判断是否需要复制
  • 对第1/2小维度的大小进行分箱计数
  • 各可配置节点产生的填充总和
  • (仅默认配置)每个节点配置相对于该模型总数据的出现频率
    • 由于搜索采用遗传算法,配置模式出现越频繁,配置运行时间往往越快

模型

我训练了点对点和成对模型:

  • 点对点LightGBM
    • 目标:归一化排名(0~1)
    • 损失:MAE损失
    • Public LB: 0.715 (Private LB: 0.680)
  • 成对LightGBM
    • 损失:二分类
    • 随机选择与配置数量相同的配对生成训练/验证集
    • 在测试数据上对所有1000²个配对进行预测,然后根据预测值总和排序配置
    • 输入特征包括:
      • 配对中一个配置的特征
      • 两个配置特征之间的差异
    • Public LB: 0.728 (Private LB: 0.701)

我使用了主办方提供的训练/验证集(未能设计出更好的交叉验证方法可能是导致分数波动的原因)。

Tile

特征

  • 配置特征
  • 所有节点上节点特征的平均值

模型

我训练了点对点LightGBM模型:

  • 目标:归一化排名(0~1)
  • 损失:MAE损失
  • Public LB(仅tile): 0.198 (Private LB(仅tile): 0.195)
同比赛其他方案