专栏名称: 轻松参会
回复会议名称获取交流群二维码,如“cvpr”
目录
相关文章推荐
内蒙古教育发布  ·  明日开讲!《安全同行 ... ·  昨天  
微行动联盟  ·  山西省2025届中考模拟方向卷(一) ·  昨天  
编程技术进阶  ·  DeepSeek 效率暴击 21 ... ·  2 天前  
编程技术进阶  ·  DeepSeek 效率暴击 21 ... ·  2 天前  
51好读  ›  专栏  ›  轻松参会

ASPLOS 2024 参会评述随笔

轻松参会  · 公众号  ·  · 2024-05-21 10:18

正文

本文转载自知乎用户“ Hsword ”的专栏文章,原文链接:

https://zhuanlan.zhihu.com/p/695848745

答主学术主页:

https://hsword.github.io


2024年ASPLOS (Architectural Support for Programming Languages and Operating Systems)大会在4月27日到5月1日于San Diego举行,作为横跨体系结构、编程语言和操作系统等多个领域的顶级会议,吸引了超过800位老师和同学线下参加。老规矩,我会在这份评述中,尽可能讲一些Presentation细节和参会感受,希望对感兴趣的朋友有帮助。

Workshop & Tutorial

大会前两天是各种Workshop和Tutorial,参加的人没有主会那么多。Workshop重点不是Poster,而是很多业内专家的Invited Talk,覆盖的话题很广,干货也很多。值得一提的是,今年ASPLOS各个Workshop的组织者还特意邀请了很多做LLM推理优化的人来给Talk,比如Amir Gholami、Tri Dao、Song Han,今年我也受邀在XTensor Workshop上对我们CMU Catalyst Group近期的工作进行了分享。

第二天的Young Architect Workshop算是意外之喜,包括Samira Khan的个人励志成长故事分享以及几位领域内的专家老师的Panel讨论,都对青年学子有很大的帮助。值得一提的是,今年来自国内的团队贡献了三场Tutorial,包括来自中科院计算所包云岗老师团队的“香山”RISC-V 处理器项目,来自SJTU的OpenHarmony项目,以及来自浙大的Janus 2.0量子计算框架,欢迎感兴趣的同学查阅相关资料。这些Talk和Tutorial其实干货不比主会少,感兴趣的同学建议都可以参加一下。另外这里也打个广告,今年接下来我们团队马上也会有两个Tutorial,一个是今年6月份将在智利举办的SIGMOD 2024,做开场报告,关于Data Management for LLM,另一个是今年7月份将在奥地利维也纳举办的ICML 2024,关于LLM Serving System Optimization,欢迎线下参会的同学围观!

比较令人意外的是,ASPLOS的Poster环节设计在了开幕前一天的傍晚,好处是确实是“红旗招展,人山人海”,坏处就是Presenter可能会比较辛苦,尤其这次我要同时handle两个论文的Poster,幸亏有小伙伴帮忙分摊压力... 总之,确实是在一开始就感觉到了大家的参会热情。

开幕

29号开始大会正式开幕,是比较常规的总结发言:1)今年比去年参会人数几乎翻了一倍;2)论文Submission数量的增长速度大概是1.5倍左右,不过这个增速大概率不会持续到2025;3)这其中一年三轮的投稿安排起到了很大的作用,当然这也给PC们带来了很大的压力,每人平均要交15份review… 不过所幸ASPLOS的committee覆盖范围广,囊括OS,Arch,PL三大方向,似乎勉强还能扛得住,在这里还要恭喜一下陈海波老师荣获“Most Die-Hard Reviewer” Award!评审们都太不容易了......

大会开了3天,总共44个Session,193篇论文,涉及MLSys的占比大概25%,每个Session大概4篇论文,每篇论文12分钟报告+3分钟Q&A,每次同时会有4个Session并行开始,再加上中间Break也不是很久,很难把所有有关MLSys的Presentation都刷一遍。所以这次我就不再逐个论文介绍了,只挑选一部分我听到的比较有趣的论文进行推荐。以下内容谨代表个人理解,仅供参考,发表论文不易,还是建议大家直接阅读论文呀!


Day 1

Session 1B: Optimizing ML Communication

我其实对这个Session抱有比较高的期待,主要是因为里面有一些涉及到Computation-Communication Overlapping的工作,如果大家有印象,去年ASPLOS就收录过来自Google团队的一篇相关论文,还被用到了PaLM Inference System当中。

  • Centauri: Enabling Efficient Scheduling for Communication-Computation Overlap in Large Model Training via Communication Partitioning

作为今年Best Paper之一的Centauri其实讲的有点低于预期,可能是因为报告时间有限,个人感觉和之前工作相比的区分度不太够,拆分张量实现Tensor Model Parallelism中计算和通信的Overlap应该不算是什么新的idea,不知道为什么似乎也算到了Contribution里,Scheduling部分应该算是亮点,可惜也没能讲清楚,感兴趣的同学可以阅读论文。

  • T3: Transparent Tracking & Triggering for Fine-grained Overlap of Compute & Collectives

来自AMD的T3讲的非常好,实现了细粒度的GEMM和通信的kernel fusion,如果能做到NV的卡上应该对Tensor Model Parallelism非常有用。

  • Two-Face: Combining Collective and One-Sided Communication for Efficient Distributed SpMM

Two-Face则是针对Distributed SpMM类似BlockSparse的通信优化(总感觉不是第一次看到呢...)

Session 2D: ML Inference Systems

这个Session大概是这届ASPLOS观众最多的之一,一次性几乎坐满了两个厅,毕竟也是这届ASPLOS唯一一个主要针对LLM Inference System的Session了。

  • SpecInfer: Accelerating Large Language Model Serving with Tree-based Speculative Inference and Verification

SpecInfer是首个Tree-based Speculative Inference System for LLMs,自从我们去年5月对外发布后,就得到了大量的关注,Follow-up的工作也有很多,不过大部分都是侧重Speculation算法改进的,很多人都忽略了投机式推理在系统层面的挑战,感兴趣的同学可以阅读我们的正式版论文,相信可以解读你的大部分疑惑。

  • ExeGPT: Constraint-Aware Resource Scheduling for LLM Inference

ExeGPT听下来其实就是在做LLM中Prefilling & Decoding的Disaggregation,据韩国小哥说,他们做的其实很早,应该远早于SplitWise以及DistServe,但是由于ASPLOS投稿和开会时间隔比较久,所以现在才正式发布,某种程度上也说明了这个领域当前的“卷”的程度...

  • SpotServe: Serving Generative Large Language Models on Preemptible Instances

SpotServe是首个面向Spot Instance场景的LLM Serving System。最近有蛮多工作考虑使用廉价的弹性计算资源来降低AI Infra的成本,尤其是中小企业和个人用户,但主要都是面向大模型训练场景。对于LLM推理,使用Spot Instance的主要挑战就是处理Preemption所导致的Latency过长的问题。SpotServe借助于Re-parallelization和Live Context Migration (包括Params和KV-Cache)技术可以高效应对Preemption,可以实现在平均推理延迟几乎无影响的情况下,降低一半的云计算资源开销。

其他

第一天下午还有Session 3C: ML Cluster Scheduling以及Session 3D: ML Quantization and Memory Optimizations,但是它们时间上是冲突的,只能选其一,我听了两个Scheduling Session的报告。

  • Training Job Placement in Clusters with Statistical In-Network Aggregation

一个是来自北大的吴文斐老师团队的NetPack,还是借助Programmable Switch来实现分布式训练时的的梯度求和,这次主要是面向多任务的场景。

  • RAP: Resource-aware Automated GPU Sharing for Multi-GPU Recommendation Model Training and Input Preprocessing

另一个是来自UCSD的丁雨霏老师团队的的RAP,听下来大概是想把DLRM里对特征预处理的一些常规CPU算子挪到GPU上,然后做了一些Fusion和Scheduling上的优化,去提高执行效率。

第一天的晚上主要是大会主办的一些其他活动,比如Debate和WACI。晚上8点还有一个Business Meeting,其实这个Meeting是蛮有意思的,但是时间安排的很晚,学生们基本都没参加,基本上只有非常senior的业内大佬professor留下来参加了。不仅仅是盘了一波大会的财务收支,更重要的是对整个ASPLOS community未来发展的关键问题展开了讨论,比如如何应对投稿量的扩张、如何保证某些领域的评审专业性、是否继续多轮审稿等等,很喜欢这种公开透明的决策和讨论风格!

Day 2

第二天和MLSys有关的Session主要是在下午,首先是6B: Processing-In-Memory (PIM) for ML和6C: Optimization of Tensor Programs,时间依然是冲突的。

Session 6C: Optimization of Tensor Programs

这个Session主要是ML Compiler相关的论文。

  • Felix: Optimizing Tensor Programs with Gradient Descent

Felix这个听了后半部分,似乎核心思想是想把张量程序转化成Symbolic Schedule,从而把其中包含的Schedule变量变成可以微分求解的目标。不过这里还是有一些潜在的问题,比如图的划分、是否可微/全局最优、搜索空间的一致性等等,甚至于最终生成的kernel性能好坏也不单单取决于这些Variable。整体上结合实验来看,算是搜索空间探索方法上提供了一种不一样的尝试。

  • PyTorch 2: Faster Machine Learning Through Dynamic Python Bytecode Transformation and Graph Compilation

PyTorch 2的报告宛如大型报告现场+吐槽大会,简单说就是:你们这些人都是在搞“玩具”,好好看看我们是怎么做实用系统的。最重要的是,公布了一个Benchmark,希望ML Compiler的同行都能关注一下吧!

  • Optimal Kernel Orchestration for Tensor Programs with Korch

Korch是我们团队今天的第三篇ASPLOS论文,主要思想是告诉大家在做kernel fusion的时候不需要拘泥于现有的算子定义,而是可以进一步拆分(kernel fission),在细粒度层面上进行计算图优化,可以发现更多前所未见的优化机会。由于实验对比里干掉了PyTorch 2,还引来了前一个报告人的公开Q&A,真是太有意思了.

晚宴

第二天后续其实还有两个并行的MLSys Session,分别是7A: Architecture Support for ML和7D: Graph Neural Networks,不过不太感兴趣就没有去听。







请到「今天看啥」查看全文