MLSys 2020 论文选读

Table of Contents

A System for Massively Parallel Hyperparameter Tuning

论文地址: https://proceedings.mlsys.org/static/paper_files/mlsys/2020/94-Paper.pdf

本文提出了一种大规模的超参数搜索方法,面向的问题是“可用的机器”数量比超参数搜索空间少几个数量级的情形。

之前的超参数搜索方法分为序列化和并行化两种。

在序列化方法中,adaptive configuration selection 使用之前的配置的表现来决定下一次的配置(贝叶斯?),;而 adaptive configuration evaluation 会提前终止表现差的配置,给后浪们更多的资源。

Successive Halving Algorithm(分配更多的资源给有前景的配置,作为内层循环)与 Hyperband (跑多个 SHA 的变种,选提前终止的参数)结合是之前的 state-of-the-art 方法。

PLink: Discovering and Exploiting Locality for Accelerated Distributed Training on the public Cloud

Automatically batching control-intensive programs for modern accelerators

论文地址:https://proceedings.mlsys.org/static/paper_files/mlsys/2020/159-Paper.pdf

本文旨在解决针对有大量控制流程序的 auto-batching(例如概率模型中使用的一些采样器)。

基本思路是先使用 autograph 把程序分成基本块,对 batch 中的每一项维护一个 program counter。每次处理 program counter 值相同的线程,runtime 有两种策略:

  1. 使用 python 作为运行时来处理函数调用及栈,优势:简单,劣势:进入两个 branch 的线程永远无法再合并。
  2. 把所有的 function call 转成手动操作栈的形式(PUSH, POP, PUSHJUMP),处理栈的操作也在原语之中,这样可以把整个 auto-batching 操作在更底层的运行时执行,比如 XLA。优势:两个线程分叉之后可能再合并,劣势:更大的额外开销(可能会被 XLA 的高效所抵消一部分)。

Author: expye(Zihao Ye)

Email: expye@outlook.com

Date: 2020-07-02

Last modified: 2020-07-30 Thu 02:50

Licensed under CC BY-NC 4.0