\(\bullet\)_Pipeline parallelism._ Pipeline parallelism aims to distribute the different layers of a LLM into multiple GPUs. Especially, in the case of a Transformer model, pipeline parallelism loads consecutive layers onto the same GPU, to reduce the cost of transmitting the computed hidden states or gradients between GPUs. However, a naive implementation of pipeline parallelism may result in a lower GPU utilization rate as each GPU has to wait for the previous one to complete the computation, leading to the unnecessary cost of _bubbles overhead_[331]. To reduce these bubbles in pipeline parallelism, GPipe [331] and PipeDream [332] propose the techniques of padding multiple batches of data and asynchronous gradient update to improve the pipeline efficiency.
\(\bullet\)_Pipeline parallelism._ Pipeline parallelism은 LLM의 다양한 레이어를 여러 GPU에 분산하는 것을 목표로 합니다. 특히 Transformer 모델의 경우, pipeline parallelism에서는 연속된 레이어를 동일한 GPU에 로드하여 계산된 숨겨진 상태 또는 gradients를 GPU 간에 전송하는 비용을 줄입니다. 그러나 pipeline parallelism을 단순하게 구현하면 각 GPU가 이전 GPU가 계산을 완료할 때까지 기다려야 하므로 GPU 사용률이 낮아져 _bubbles overhead_[331]의 불필요한 비용이 발생할 수 있습니다. 이러한 bubbles를 줄이기 위해 GPipe [331]과 PipeDream [332]은 pipeline 효율성을 개선하기 위해 여러 데이터 배치 padding 및 asynchronous gradient update 기술을 제안합니다.
\(\bullet\)_파이프라인 병렬성._ 파이프라인 병렬성은 LLM의 다양한 레이어를 여러 GPU에 분산하는 것을 목표로 합니다. 특히 트랜스포머 모델의 경우, 파이프라인 병렬 처리에서는 연속된 레이어를 동일한 GPU에 로드하여 계산된 숨겨진 상태 또는 그라디언트를 GPU 간에 전송하는 비용을 줄입니다. 그러나 파이프라인 병렬 처리를 단순하게 구현하면 각 GPU가 이전 GPU가 계산을 완료할 때까지 기다려야 하므로 GPU 사용률이 낮아져 _버블 오버헤드_[331]의 불필요한 비용이 발생할 수 있습니다. 이러한 버블을 줄이기 위해 GPipe [331]과 PipeDream [332]은 파이프라인 효율성을 개선하기 위해 여러 데이터 배치 패딩 및 비동기 그라디언트 업데이트 기술을 제안합니다.