AIBench: An Agile Domain-specific Benchmarking Methodology and an AI Benchmark Suite
Gao Wanling,Tang Fei,Zhan Jianfeng,Lan Chuanxin,Luo Chunjie,Wang Lei,Dai Jiahui,Cao Zheng,Xiong Xiongwang,Jiang Zihan,Hao Tianshu,Fan Fanda,Wen Xu,Zhang Fan,Huang Yunyou,Chen Jianan,Du Mengjia,Ren Rui,Zheng Chen,Zheng Daoyi,Tang Haoning,Zhan Kunlin,Wang Biao,Kong Defei,Yu Minghe,Tan Chongkang,Li Huan,Tian Xinhui,Li Yatao,Lu Gang,Shao Junchao,Wang Zhenyu,Wang Xiaoyu,Ye Hainan
2020-01-01
Abstract: Domain-specific software and hardware co-design is encouraging as it is much easier to achieve efficiency for fewer tasks. Agile domain-specific benchmarking speeds up the process as it provides not only relevant design inputs but also relevant metrics, and tools. Unfortunately, modern workloads like Big data, AI, and Internet services dwarf the traditional one in terms of code size, deployment scale, and execution path, and hence raise serious benchmarking challenges. This paper proposes an agile domain-specific benchmarking methodology. Together with seventeen industry partners, we identify ten important end-to-end application scenarios, among which sixteen representative AI tasks are distilled as the AI component benchmarks. We propose the permutations of essential AI and non-AI component benchmarks as end-to-end benchmarks. An end-to-end benchmark is a distillation of the essential attributes of an industry-scale application. We design and implement a highly extensible, configurable, and flexible benchmark framework, on the basis of which, we propose the guideline for building end-to-end benchmarks, and present the first end-to-end Internet service AI benchmark. The preliminary evaluation shows the value of our benchmark suite---AIBench against MLPerf and TailBench for hardware and software designers, micro-architectural researchers, and code developers. The specifications, source code, testbed, and results are publicly available from the web site \url{http://www.benchcouncil.org/AIBench/index.html}.