**ZeRO.** ZeRO [333] technique, proposed by the DeepSpeed [74] library, focuses on the issue of memory redundancy in data parallelism. As mentioned before, data parallelism requires each GPU to store the same copy of a LLM, including model parameters, model gradients, and optimizer parameters. Whereas, not all of the above data is necessary to be retained on each GPU, which would cause a memory redundancy problem. To resolve it, the ZeRO technique aims to retain only a fraction of data on each GPU, while the rest data can be retrieved from other GPUs when required. Specifically, ZeRO provides three solutions, depending on how the three parts of the data are stored, namely optimizer state partitioning, gradient partitioning, and parameter partitioning. Empirical results indicate that the first two solutions do not increase the communication overhead, and the third solution increases about 50% communication overhead but saves memory proportional to the number of GPUs. PyTorch has implemented a similar technique as ZeRO, called FSDP [339].
**ZeRO.** ZeRO [333] 기술은 DeepSpeed [74] 라이브러리에서 제안한 것으로, 데이터 병렬 처리에서 메모리 중복 문제에 중점을 둡니다. 앞서 언급했듯이 데이터 병렬 처리를 위해서는 각 GPU가 모델 파라미터, 모델 그라디언트, Optimizer 파라미터 등 LLM의 동일한 복사본을 저장해야 합니다. 그러나 위의 모든 데이터가 각 GPU에 유지되어야 하는 것은 아니며, 이는 메모리 중복 문제를 일으킬 수 있습니다. 이를 해결하기 위해 ZeRO 기술은 각 GPU에 일부 데이터만 유지하고 나머지 데이터는 필요할 때 다른 GPU에서 검색할 수 있도록 하는 것을 목표로 합니다. 구체적으로, ZeRO는 데이터의 세 부분을 저장하는 방법에 따라 Optimizer 상태 파티셔닝, Gradient 파티셔닝, 파라미터 파티셔닝 등 세 가지 솔루션을 제공합니다. 실험 결과, 처음 두 가지 솔루션은 통신 오버헤드를 증가시키지 않으며, 세 번째 솔루션은 약 50%의 통신 오버헤드를 증가시키지만 GPU 수에 비례하여 메모리를 절약할 수 있는 것으로 나타났습니다. PyTorch는 ZeRO와 유사한 기술인 FSDP [339]를 구현했습니다.
**ZeRO.** ZeRO [333] 기술은 DeepSpeed [74] 라이브러리에서 제안한 것으로, 데이터 병렬 처리에서 메모리 중복 문제에 중점을 둡니다. 앞서 언급했듯이 데이터 병렬 처리를 위해서는 각 GPU가 모델 파라미터, 모델 그라디언트, 최적화 파라미터 등 LLM의 동일한 복사본을 저장해야 합니다. 그러나 위의 모든 데이터가 각 GPU에 유지되어야 하는 것은 아니며, 이는 메모리 중복 문제를 일으킬 수 있습니다. 이를 해결하기 위해 ZeRO 기술은 각 GPU에 일부 데이터만 유지하고 나머지 데이터는 필요할 때 다른 GPU에서 검색할 수 있도록 하는 것을 목표로 합니다. 구체적으로, ZeRO는 데이터의 세 부분을 저장하는 방법에 따라 최적화 상태 파티셔닝, 그라디언트 파티셔닝, 파라미터 파티셔닝 등 세 가지 솔루션을 제공합니다. 실험 결과, 처음 두 가지 솔루션은 통신 오버헤드를 증가시키지 않으며, 세 번째 솔루션은 약 50%의 통신 오버헤드를 증가시키지만 GPU 수에 비례하여 메모리를 절약할 수 있는 것으로 나타났습니다. PyTorch는 ZeRO와 유사한 기술인 FSDP [339]를 구현했습니다.