Bloom学习

  |   0 评论   |   0 浏览

背景

Bloom模型是2022年6月,由一个"BigScience"的国际合作项目推出的。

Bloom模型是第一个大规模多语言模型,拥有 1760 亿个参数,并由数百名研究人员完成,其中大部分是学者,包括哲学家、法律学家和伦理学家,也有一些来自 Facebook、谷歌等公司、以个人身份参与工作的员工。该模型的计算训练工作得到了价值 700 万美元的公共资助,从规模来看可与 OpenAI、谷歌等公司开发的语言模型相媲美,但它将是开源的。[3]

训练优化

ColossalAI中的显存优化:[2]

  1. Flash Attention:对于长序列 attention,使用 Flatten 来减少 GPU 高带宽内存(HBM)之间的内存读 / 写次数,实现加速。
  2. ZeRO + Gemini:使用零冗余优化器 (ZeRO) 的方法来消除内存冗余;使用异构内存空间管理器 Gemini 支持将优化器状态从 GPU 卸载到 CPU,以节省 GPU 内存占用。

推理优化

1760亿(176B)参数的BLOOM模型,在生成文本时,如何达到较快的词吞吐值(per token throughput)。

在使用 bf16 (bfloat16)权重时,模型大小为352GB,单卡显存无法全部加载。于是有两个思路:

  1. 多卡显示加载:8 * 80GB的A100,或者2 * 8 * 40GB的A100,或者2 * 8 * 48GB的A6000,或者 24 * 32GB的V100。
  2. CPU卸载(CPU offload)或者NVMe卸载(NVMe offlad),在更小的GPU上进行推理,耗时会更长。
  3. 8比特量化:将显存需求减少一半[1-2]。

参考

  1. 使用 DeepSpeed 和 Accelerate 进行超快 BLOOM 模型推理
  2. 硬件预算最高直降46倍!低成本AIGC和千亿大模型,一行代码自动并行
  3. 可翻译语言的模型也会“胡言乱语”? 大型多语言模型BLOOM拥有1760亿个参数,可有效避免偏见产生
  4. bert-base-chinese @ hugging face
  5. 9 Best Open-Source Alternatives to GPT-3 You Should Try
  6. BLOOM is a real open-source alternative to GPT-3