Performance and Cost Efficiency_Memory_ and _communication_ restrictions are the two major technical challenges of large scale model training requiring integrated solutions beyond adding more GPUs. We use and improve upon the following techniques to tackle the memory and communication restrictions: (1) ZeRO-1 [60] to remove the memory consumption by partitioning optimizer states cross data-parallel processes; (2) tensor parallel combined with pipeline parallel [70] within each compute node to avoid inter-node communication bottleneck, and the 3D parallel strategy is well designed and optimized to avoid using activation checkpointing and minimize the pipeline bubbles; (3) kernel fusion techniques like flash attention[15][14] and JIT kernels to reduce redundant global memory access and consumption; (4) topology-aware resource allocation (ranking strategy) to minimize the communication across different layers of switches, which is the limitation of a typical fat-tree-topology.
성능 및 비용 효율성_Memory_ 및 _communication_ 제한은 대규모 모델 학습의 두 가지 주요 기술적 과제이며, 더 많은 GPU를 추가하는 것 이상의 통합 솔루션이 필요합니다. Memory 및 communication 제한을 해결하기 위해 다음 기술을 사용하고 개선합니다: (1) ZeRO-1 [60]을 사용하여 Optimizer 상태를 데이터 병렬 프로세스 간에 분할하여 Memory 소비를 제거합니다; (2) 각 컴퓨트 노드 내에서 파이프라인 병렬 [70]과 결합된 텐서 병렬을 사용하여 노드 간 communication 병목 현상을 피하고, 3D 병렬 전략은 활성화 체크포인팅을 사용하지 않고 파이프라인 버블을 최소화하도록 잘 설계되고 최적화되었습니다; (3) 불필요한 전역 Memory 액세스 및 소비를 줄이기 위한 flash attention[15][14] 및 JIT 커널과 같은 커널 융합 기술; (4) 토폴로지 인식 리소스 할당(순위 지정 전략)은 일반적인 뚱뚱한 트리 토폴로지의 한계인 다양한 스위치 계층 간의 communication을 최소화합니다.
성능 및 비용 효율성_메모리_ 및 _통신_ 제한은 대규모 모델 학습의 두 가지 주요 기술적 과제이며, 더 많은 GPU를 추가하는 것 이상의 통합 솔루션이 필요합니다. 메모리 및 통신 제한을 해결하기 위해 다음 기술을 사용하고 개선합니다: (1) ZeRO-1 [60]을 사용하여 옵티마이저 상태를 데이터 병렬 프로세스 간에 분할하여 메모리 소비를 제거합니다; (2) 각 컴퓨트 노드 내에서 파이프라인 병렬 [70]과 결합된 텐서 병렬을 사용하여 노드 간 통신 병목 현상을 피하고, 3D 병렬 전략은 활성화 체크포인팅을 사용하지 않고 파이프라인 버블을 최소화하도록 잘 설계되고 최적화되었습니다; (3) 불필요한 전역 메모리 액세스 및 소비를 줄이기 위한 플래시 관심[15][14] 및 JIT 커널과 같은 커널 융합 기술; (4) 토폴로지 인식 리소스 할당(순위 지정 전략)은 일반적인 뚱뚱한 트리 토폴로지의 한계인 다양한 스위치 계층 간의 통신을 최소화합니다.