谷歌计算图编译性能评估数据集-2021
数据来源:互联网公开数据
标签:机器学习,计算图,编译优化,TPU,性能预测,数据集,配置分析
数据概述:
本数据集包含用于训练机器学习模型的计算图运行时数据,旨在预测不同计算图和配置在TPU上的运行时间。数据集来源于Google Fast or Slow Tile XLA测试,包含训练集和验证集。训练集和验证集分别提供了编译不同配置的计算图的运行时信息,通过分析这些数据可以训练模型以预测最佳编译配置。
数据集中的每个 .npz 文件存储了一个计算图(表示一个内核),该图有 n 个节点和 m 条边。图在 c 种不同配置下编译,并在TPU上运行。关键在于配置是图级别的。.npz 文件存储了以下字典:
- node_feat:包含一个形状为 (n, 140) 的 float32 矩阵,第 u 行包含节点 u 的特征向量。
- node_opcode:包含一个形状为 (n, ) 的 int32 向量,第 u 个条目包含节点 u 的操作码。
- edge_index:包含一个形状为 (m, 2) 的 int32 矩阵,如果条目 i 为 [u, v](其中 0 <= u, v < n),则表示从节点 u 到节点 v 有一条有向边,其中 u 消耗 v 的输出。
- config_feat:包含一个形状为 (c, 24) 的 float32 矩阵,第 j 行包含第 j 个配置的特征向量。
- config_runtime:包含一个长度为 c 的 int64 向量,第 j 个条目包含使用第 j 个配置编译的图的运行时间(纳秒)。
- config_runtime_normalizers:包含一个长度为 c 的 int64 向量,第 j 个条目包含使用默认配置编译的图的运行时间(纳秒)。同一图的样本可能具有略有不同的 "config_runtime_normalizers",因为它们是在不同机器上的多次运行中测量的。
数据集的目标是预测每个图的最佳配置索引(即导致最小 d["config_runtime"] / d["config_runtime_normalizers"] 的配置)。
数据用途概述:
该数据集适用于机器学习模型训练、计算图性能优化、TPU 编译配置研究等场景。研究人员可以通过训练模型来预测最佳编译配置,从而优化计算图的运行效率;工程师可以利用数据集进行性能测试和配置选择;教育者可以使用本数据集进行机器学习和编译优化的教学。