本文采用了一种基于TPU v4架构的3D torus拓扑结构的分割符号和通信机制。例如,符号 BLExyz 表示将一个逻辑形状为 BLE 的张量沿最后一个维度 E 分割成 X × Y × Z 个分区,其中 x,y 和 z 分别代表TPU v4的三个物理轴,每个芯片上的张量形状为 [B, L, E/(X × Y × Z. ]✅。
3.2 前馈层分割策略
3.2.1 一维权重固定布局
最简单的分割策略是将每个 E × F 权重矩阵沿 E 或 F 轴分割成 nchips 个分区,每个分区在相应的芯片上与激活张量进行矩阵乘法,然后使用 all-gather 和 reduce-scatter 操作进行跨芯片聚合。这种策略在芯片数量较少时效率较高,但随着芯片数量的增加,通信成本会成为瓶颈。
3.2.2 二维权重固定布局
为了提高通信效率,可以将每个 E × F 权重矩阵沿 E 和 F 轴进行二维分割,使每个分区近似为正方形。这种策略被称为二维权重固定布局。它可以有效减少通信成本,因为我们可以交替地在两个轴上进行激活张量的聚合,从而避免在每个矩阵乘法过程中都进行全量复制。
Brown, T. , Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., et al. (2020). Language models are few-shot learners. ✅arXiv preprint arXiv:2005.14165.
Kaplan, J. , McCandlish, S., Henighan, T., Brown, T., Chess, B., Child, R., Gray, S., Radford, A., Wu, J., Amodei, D., et al. (2020). Scaling laws for neural language models. ✅arXiv preprint arXiv:2001.08202.
Rae, J. W., Borgeaud, S., Cai, T., Olah, C., Leike, J., Allen, L., Jeffery, S., Rosenthal, S., Ganguli, S., Molloy, I., et al. (2021). Scaling language models: Methods, analysis & insights from training gopher. ✅arXiv preprint arXiv:2112.11400.
Hoffmann, J. , Habib, M., Lu, Y., Goyal, N., Zhang, X., Khandelwal, U., Das, A., Lee, K., Mishra, N., Gruslys, A., et al. (2022). Training language models with tens of trillions of parameters. ✅arXiv preprint arXiv:2203.15556.
Chowdhery, A. , Bhatia, S., Mishra, N., Gruslys, A., Rajbhandari, S., Kumar, A., Leike, J., Allen, L., Rosenthal, S., Ganguli, S., et al. (2022). Scaling language models to 540 billion parameters. ✅arXiv preprint arXiv:2203.15556.
Smith, T. , Zambaldi, V., Sukhbaatar, S., Raffel, C., Dhariwal, P., Leike, J., Allen, L., Rosenthal, S., Ganguli, S., Molloy, I., et al. (2022). Training language models with tens of trillions of parameters. ✅arXiv preprint arXiv:2203.15556.
Thoppilan, R. , Sukhbaatar, S., He, J., Lee, K., Mishra, N., Gruslys, A., Rajbhandari, S., Kumar, A., Leike, J., Allen, L., et al. (2022). Scaling language models to 540 billion parameters. ✅arXiv preprint arXiv:2203.15556.
Sukhbaatar, S. , Szlam, A., Weston, J., and Fergus, R. (2019). End-to-end efficient language modeling with data-parallel distributed attention. ✅arXiv preprint arXiv:1907.04020.
Choromanski, K. , Rowland, M., So, A., Khan, M. E., Ballard, A., and Recht, B. (2020). Rethinking attention with performers. ✅arXiv preprint arXiv:2009.13821.
Dao, T. , Guu, K., Lee, K., Tung, H. W., Pasupat, P., and Chang, M. W. (2022). Sparsity in deep learning: Overcoming the memory wall. ✅arXiv preprint arXiv:2203.14722.
Zheng, S. , Li, Y., Yu, Y., Zhang, Z., and Liu, Z. (2022). Efficient large-scale language model inference on tpu v4 pods. ✅arXiv preprint arXiv:2205.07354.
Xu, B. , Zhang, Z., Li, Y., Yu, Y., and Liu, Z. (2021). Efficient large-scale language model inference on tpus. ✅arXiv preprint arXiv:2104.04420.
Clarke, L. , Glover, R., and MPI Forum (1994). MPI: A message-passing interface standard. ✅Journal of Parallel and Distributed Computing, 22(1), 6-21.
Rajbhandari, S. , Rasheed, A., Madaan, A., Kumar, A., and Ganguli, S. (2020). Efficient large-scale language model training on tpus. ✅arXiv preprint arXiv:2006.16668.
Shoeybi, M. , Patel, M., Goldfarb, C., Fevzi, B., Lee, J., Tran, L., and Parmar, N. (2019). Megatron-lm: Training multi-billion parameter language models using model parallelism. ✅arXiv preprint arXiv:1909.08053.
近年来,巨型语言模型(LLM)在自然语言处理领域取得了显著进展,其参数规模已突破千亿甚至万亿大关。然而,这些模型的推理效率却面临着巨大的挑战,尤其是当需要处理长序列文本并满足严格的延迟要求时。本文将深入探讨如何通过模型分割和优化策略来提高巨型语言模型的推理效率。
推理效率的挑战
巨型语言模型的推理效率主要受以下因素影响:
分割策略:高效利用硬件资源
为了解决上述挑战,本文提出了一个基于模型分割的框架,旨在高效利用硬件资源,并根据应用需求选择最佳分割策略。
3.1 分割符号和通信机制
本文采用了一种基于TPU v4架构的3D torus拓扑结构的分割符号和通信机制。例如,符号
BLExyz
表示将一个逻辑形状为BLE
的张量沿最后一个维度E
分割成X × Y × Z
个分区,其中x
,y
和z
分别代表TPU v4的三个物理轴,每个芯片上的张量形状为[B, L, E/(X × Y × Z. ]✅
。3.2 前馈层分割策略
3.2.1 一维权重固定布局
最简单的分割策略是将每个
E × F
权重矩阵沿E
或F
轴分割成nchips
个分区,每个分区在相应的芯片上与激活张量进行矩阵乘法,然后使用all-gather
和reduce-scatter
操作进行跨芯片聚合。这种策略在芯片数量较少时效率较高,但随着芯片数量的增加,通信成本会成为瓶颈。3.2.2 二维权重固定布局
为了提高通信效率,可以将每个
E × F
权重矩阵沿E
和F
轴进行二维分割,使每个分区近似为正方形。这种策略被称为二维权重固定布局。它可以有效减少通信成本,因为我们可以交替地在两个轴上进行激活张量的聚合,从而避免在每个矩阵乘法过程中都进行全量复制。3.2.3 权重收集布局
当批处理大小和序列长度较大时,激活张量的尺寸可能会超过权重张量,此时可以将激活张量固定在每个芯片上,并将权重张量在芯片之间进行传输。这种策略被称为权重收集布局。
实验结果和结论
本文对PaLM系列巨型语言模型进行了实验验证,结果表明:
总而言之,本文提出的模型分割和优化策略为高效部署巨型语言模型提供了重要的参考,并为进一步提升推理效率提供了新的思路。
参考文献