(不定期更新SysML的paper =w=)
(督促自己写写简单的summary,有什么不对的地方欢迎指正!)
Ordering Chaos: Memory-Aware Scheduling of Irregularly Wired Neural Networks for Edge Devices
https:// proceedings.mlsys.org/b ook/290.pdf
这篇文章从内存的角度优化 Irregularly Wired Neural Networks(一个graph结构诡异的神经网络)(从这个特定的神经网络入手角度清奇,因为这个网络结构优于以前的手动设计的模型)(虽然不知道神经结构搜索(NAS)为什么有很大需求在edge device上)
目标:在硬资源约束下,最小化内存占用峰值
方法:普通编译器只根据基础的拓扑书序schedule graph,不适用于Irregularly Wired Neural Networks,作者因而提出了一种内存感知编译器(SERENITY)利用动态编程来找到一个序列,从而最小化内存占用峰值的计划。还利用图形重写(重写子图)技术,可以进一步优化内存
Resource Elasticity in Distributed Deep Learning
https://proceedings.mlsys.org/static/paper_files/mlsys/2020/168-Paper.pdf
(感觉比较engineer,简单读读)
发现:现在分布式学习的资源分配在整个生命周期是固定的
问题:固定资源分配带来的集群资源低效利用和 训练任务低效,以及分布式学习中straggler问题
解决:提出了两个机制:scaling heuristics and straggler detection
取决于资源需求和可用性(利用任务运行的统计数据)scaling out or in 系统资源,消除straggler影响,同时考虑scaling花销和效率提升 进行调度。在改变资源分配同时,会重复利用中间的program state最小化scaling cost。
挑战:(个人感觉像是一个非常engineer的问题)1)目前的framework(Tensorflow) 都在训练开始固定了job信息到一个计算图,基本上目前分布式学习资源需求是静态的。2)scaling out 也会增加batch size (这个问题太好解决感觉在无中生有)
百度搜索出品 用于大规模深度学习广告系统的分布式GPU分层参数服务器。https://proceedings.mlsys.org/book/315.pdf
问题:广告系统的机器学习(CTR prediction problem)由于模型太大,fit不进gpu内存 导致训练低效,但是由于输入数据非常稀疏,训练时很多参数其实都没有用,而剩下的working parameter(当前batch输入会用到的参数)是可以fit进GPU内存的
解决:作者提出了一种GPU分层参数服务器做 用于系统分布式学习,利用 GPU High-Bandwidth Memory, CPU main memory 和SSD 作三层存储。
1)通过建立多个gpu之间的哈希表,让gpu之间直接通信,减少cpu-gpu的数据传输overhead,从而同步gpu的参数更新。
2)为了减少数据传输和IO带来的slow down,作者设计了一个4-stage pipeline,使得 inter-node network communications, SSD I/Os, CPU/GPU data transferring 和GPU computations 相互覆盖,隐藏IO延迟。
3)为了能连续的地址访问提升参数IO效率,作者提出了一个file-level parameter management strategy可以将更新的参数以batch的形式写入新SSD文件,从而高效地organize the materialized parameters
Salus: Fine-Grained GPU Sharing Primitives for Deep Learning Applications(细粒度分配GPU资源)
Blink: Fast and Generic Collectives for Distributed ML
Federated Optimization in Heterogeneous Networks
SLIDE:在CPU上利用sparsity加速训练( IN DEFENSE OF SMART ALGORITHMS OVER HARDWARE ACCELERATION FOR LARGE-SCALE DEEP LEARNING SYSTEMS)
MLPerf Training Benchmark (针对各种机器学习任务(如:图像分类,目标检测,机器翻译,强化学习等)给出不同的衡量标准)
WILLUMP: A Statistically-Aware End-To-End Optimizer ForMachine Learning Inference (设计了一套端到端的推理流水线优化 ,着力于加速特征计算,提高系统响应性能。主要思想:选择一部分对预测很重要,但是计算开销又不大的特征 进行推理)
Privacy-Preserving Bandits