DeepSpeed

Deepspeed训练大模型细节

MMAP

设计目的:

  • 高效I/O性能:通过内存映射技术,数据在训练时可按需读取到显存,减少内存占用并避免重复加载开销。

  • 分布式训练支持:在多GPU或多节点场景下,MMAP文件支持并行访问,不同GPU可独立读取数据的不同部分,提升数据吞吐量。

  • 兼容性与扩展性:适用于不同分词器(如BPE、SentencePiece)生成的Token化结果,并能处理动态增长的训练数据。

数据格式:

  • 二进制编码:文本数据经过分词(Tokenization)后,将每个Token转换为固定长度的整数(如int32或int64),并按顺序存储为二进制流。
  • 索引文件:通常伴随一个索引文件(如idx),记录每个数据块的起始位置和长度,便于快速随机访问或分片加载。
  • 分块存储:大型数据集会被切分为多个MMAP文件块(例如每块1GB),便于分布式训练时按需加载。

ZeRO(Zero Redundancy Optimizer)

  • a memory efficient form of data parallelism
  • leverage CPU and NVMe memory

3D Parallelism

  • tensor-slicing, pipeline-parallelism, and data parallelism

ToDo