本篇以mapping 为主)主要是了解大模型mlsys的一些核心组成
原标题:大模型MLSYS学习随笔- 训推框架总览
文章来源:智猩猩GenAI
内容字数:25824字
大模型Mlsys核心组成及挑战:基于Mapping的学习笔记
本文是作者Bruce仗剑走天涯学模型Mlsys核心组成及当前问题的记录,主要关注mapping层面。
1. 基础:计算图和AI控制流
AI软件栈的核心是AI图编译器,它优化计算图的调度。计算图以有向图表示,节点是操作(ops)和数据。PyTorch和TensorFlow支持跨设备和机器调度,通信作为计算图上的算子,底层依赖如NCCL库。ONNX则用于跨框架模型迁移。
2. 大模型执行图
(原文未详细展开此部分,需参考原文链接)
3. 输入预处理:Tokenizer和Embedding
Tokenizer是输入处理的第一步,将文本划分成token并建立词表。主流Tokenizer基于subword(字词),例如BPE、BBPE、WordPiece,兼顾词表规模和解码效率。Google的SentencePiece工具包集成了BBPE能力。
Embedding将token映射到向量空间。常见的Embedding方法包括Word2Vec、GloVe、FastText和OpenAI的Embeddings API(text-embedding-ada-002)。生成的Embedding可存储在向量数据库中。
4. 输入预处理:Position Encoding
Position Encoding对输入序列建模。文章介绍了四种方法:
- Sinusoidal:Transformer原始方法,公式固化embedding,外推能力差。
- Learned Positional Embedding:绝对位置编码,实现简单,存在最大position限制。
- RoPE:旋转式位置编码,适合attention计算,信息更清晰,但存在远程衰减。
- ALiBi:在self-attention中增加位置信息惩罚,外推性好。
5. 推理执行优化
文章总结了五类解码策略:
- 自回归:greedy、beam、sampling
- 非自回归:多token并行,但准确性不如自回归
- Early exiting:根据layer判断输出可信度,加速推理但准确性不足
- 投机解码:多个小模型生成候选,大模型验证,提升性能
- Cascade inference:根据请求复杂度选择不同规模模型
6. 架构优化
文章从多个方面探讨了架构优化:
- Activation sharing:MQA、GQA、YOCO等方法共享KV,减少显存占用。
- Attention化简:Linear Attention降低计算复杂度,但存在精度损失,Streaming-LLM是一种改进方案。
- Conditional computing:MoE和CoE架构,基于routing的条件计算。
- Recurrent Unit:RetNet、RWKV和Mamba等模型重新挑战Transformer的地位。
- 降低模型配置:降低参数等,但需要保证性能。
7. 量化&模型压缩
模型压缩技术包括剪枝和量化(FP32到INT4/8,GPTQ、AWQ、FPTQ等),降低显存占用并提高计算密度。
8. 显存管理
Paged Attention解决内存碎片化问题,持久化KV Cache(Mooncake)成为趋势,Prefix Cache用于提高生产力助手场景的效率。
9. 请求调度
Continuous batching(Orca)提高硬件利用率,Dynamic SplitFuse(DeepSpeed-FastGen)对齐forward sizes,优化吞吐量和延迟。
10. 分离式架构
DistServe、Spliwise和MoonCake等分离式架构将prefill和decode分开处理,提高吞吐量。
11. Kernel 优化
FlashAttention、FlashDecoding等工作优化算子,提高计算效率。与内存管理、分布式并行、变长输入处理、投机推理和量化相关。
12. 并行计算
文章介绍了Data Parallel(DP)、Tensor Parallel(TP)、Pipeline Parallel(PP)、Expert Parallel和Sequence Parallel等并行方式,以及ZeRO、FSDP等技术。
13. 业界推理框架比较
文章简要比较了TensorRT-LLM、vLLM、OpenPPL-LLM、RTP-LLM等推理框架。
14. 训练执行框架
文章介绍了Megatron和DeepSpeed等训练框架,以及集群管理和异常处理的重要性。
15. Megatron vs DeepSpeed
文章比较了Megatron和DeepSpeed的优缺点,Megatron性能更好但不易用,DeepSpeed易用性更好。
16. 集群相关工作
文章介绍了字节的Megascale工作,包括容错、并行优化、网络优化和可分析性等方面。
联系作者
文章来源:智猩猩GenAI
作者微信:
作者简介:智猩猩旗下公众号之一,专注于生成式人工智能。