1.比较 LLaMA、ChatGLM、Falcon 等大语言模型的细节:tokenizer、位置编码、Layer Normalization、激活函数等。
2. 大语言模型的分布式训练技术:数据并行、张量模型并行、流水线并行、3D 并行、零冗余优化器 ZeRO、CPU 卸载技术 ZeRo-offload、混合精度训练、激活重计算技术、Flash Attention、Paged Attention。
3. 大语言模型的参数高效微调技术:prompt tuning、prefix tuning、adapter、LLaMA-adapter、 LoRA。
0. 大纲
![图片](http://dev-img.mos.moduyun.com/20231008/e8781cc0-c0c8-456d-be14-e7e14150234a.png)
1. 大语言模型的细节
1.0 transformer 与 LLM
![图片](http://dev-img.mos.moduyun.com/20231008/09d6a2bf-f7eb-4b4b-b422-ebb659b01c62.png)
1.1 模型结构
![图片](http://dev-img.mos.moduyun.com/20231008/0b8a91ba-76b2-48ae-ab22-a47d4aa7b74d.png)
1.2 训练目标
![图片](http://dev-img.mos.moduyun.com/20231008/4dfd9a53-28f4-4a0a-9145-de31566f46cb.png)
1.3 tokenizer
![图片](http://dev-img.mos.moduyun.com/20231008/c665f6ca-c02d-4437-9f69-c25a64c2731b.png)
1.4 位置编码
![图片](http://dev-img.mos.moduyun.com/20231008/bb8ce3b1-3ce1-4e5a-9ed2-3ac20b78d551.png)
1.5 层归一化
![图片](http://dev-img.mos.moduyun.com/20231008/3332c5b1-fa17-4168-ae59-9711b896933a.png)
1.6 激活函数
![图片](http://dev-img.mos.moduyun.com/20231008/dbd61557-c975-4d20-a273-d33ac5edd600.png)
1.7 Multi-query Attention 与 Grouped-query Attention
![图片](http://dev-img.mos.moduyun.com/20231008/225029a6-2350-48a4-9f7c-366cf83643c8.png)
1.8 并行 transformer block
![图片](http://dev-img.mos.moduyun.com/20231008/753fe854-839c-452a-b389-ac129b5daee9.png)
1.9 总结-训练稳定性
![图片](http://dev-img.mos.moduyun.com/20231008/9cc975dd-59bd-43ae-88d7-abbfd034e48c.png)
2. LLM 的分布式预训练
![图片](http://dev-img.mos.moduyun.com/20231008/d39a438a-8579-4f9a-afdc-91e04d79b10d.png)
2.0 点对点通信与集体通信
![图片](http://dev-img.mos.moduyun.com/20231008/1ec572db-85d4-4248-9a83-8ed288b06966.png)
2.1 数据并行
![图片](http://dev-img.mos.moduyun.com/20231008/fc24d86e-8e48-459c-90ef-4e9ccf155035.png)
2.2 张量并行
![图片](http://dev-img.mos.moduyun.com/20231008/375233d9-0a7c-4653-9b53-42077c9b2c49.png)
![图片](http://dev-img.mos.moduyun.com/20231008/2e708532-035f-4556-8efd-eb2a21a8e15f.png)
2.3 流水线并行
![图片](http://dev-img.mos.moduyun.com/20231008/ccc13eea-f8b6-4a0c-8d90-d906e994d5a9.png)
2.4 3D 并行
![图片](http://dev-img.mos.moduyun.com/20231008/5a3e5fcc-035e-4361-bfb6-c2659d2476e6.png)
2.5 混合精度训练
![图片](http://dev-img.mos.moduyun.com/20231008/3e507723-1d97-41ec-8de0-0e4d32dd7933.png)
2.6 激活重计算
![图片](http://dev-img.mos.moduyun.com/20231008/88fc78f5-0d8f-444b-822d-0439b09873cf.png)
2.7 ZeRO,零冗余优化器
![图片](http://dev-img.mos.moduyun.com/20231008/07d003a2-3509-4f0f-9772-bc8f3721703e.png)
2.8 CPU-offload,ZeRO-offload
![图片](http://dev-img.mos.moduyun.com/20231008/62f34d9c-d2fa-430f-972c-1b4362bd55ab.png)
2.9 Flash Attention
![图片](http://dev-img.mos.moduyun.com/20231008/3cf113f2-ba76-456e-9659-017884da8efd.png)
2.10 vLLM: Paged Attention
![图片](http://dev-img.mos.moduyun.com/20231008/bca990c6-b024-4109-99aa-d631fd434374.png)
3. LLM 的参数高效微调
3.0 为什么进行参数高效微调?
![图片](http://dev-img.mos.moduyun.com/20231008/9777f453-d91d-4ea0-95a1-2ccd72804b47.png)
3.1 prompt tuning
![图片](http://dev-img.mos.moduyun.com/20231008/b6661813-4ca0-49f4-8be2-47f2e1978aa4.png)
3.2 prefix tuning
3.3 adapter
![图片](http://dev-img.mos.moduyun.com/20231008/23a10845-9e0e-4748-8a39-46c7f2ec3e23.png)
3.4 LLaMA adapter
![图片](http://dev-img.mos.moduyun.com/20231008/e30f214b-a2d0-4c35-b912-45ee54ec2894.png)
3.5 LoRA
![图片](http://dev-img.mos.moduyun.com/20231008/c66fcd08-15e0-4db5-9fbd-16fcfe259344.png)
3.6 实验比较
![图片](http://dev-img.mos.moduyun.com/20231008/f74e3623-ea03-48fb-bd99-e9533fd5c6d2.png)
4. 参考文献
![图片](http://dev-img.mos.moduyun.com/20231008/83b89a06-a1ff-49c1-81e8-c6a9bf726eae.png)
-
分析 transformer 模型的参数量、计算量、中间激活、KV cache -
【万字长文】LLaMA, ChatGLM, BLOOM 的高效参数微调实践 -
FlashAttention:加速计算,节省显存, IO 感知的精确注意力
作者:spring