Повышение эффективности обучения на большом объеме данных с помощью C4: коммуникационный подход.
Boosting Large-scale Parallel Training Efficiency with C4: A Communication-Driven Approach
June 7, 2024
Авторы: Jianbo Dong, Bin Luo, Jun Zhang, Pengcheng Zhang, Fei Feng, Yikai Zhu, Ang Liu, Zian Chen, Yi Shi, Hairong Jiao, Gang Lu, Yu Guan, Ennan Zhai, Wencong Xiao, Hanyu Zhao, Man Yuan, Siran Yang, Xiang Li, Jiamang Wang, Rui Men, Jianwei Zhang, Huang Zhong, Dennis Cai, Yuan Xie, Binzhang Fu
cs.AI
Аннотация
Появление больших языковых моделей (LLM) потребовало применения параллельных методов обучения, включающих задействование тысяч видеокарт для обучения одной модели. К сожалению, мы обнаружили, что эффективность текущего параллельного обучения часто оказывается недостаточной, в основном из-за двух основных проблем. Во-первых, отказы оборудования неизбежны и приводят к прерываниям в задачах обучения. Невозможность быстро определить неисправные компоненты приводит к значительным потерям ресурсов видеокарт. Во-вторых, поскольку видеокарты должны ждать завершения синхронизации параметров перед переходом к следующему раунду вычислений, сетевые перегрузки могут значительно увеличить время ожидания для видеокарт. Для решения этих проблем в данной статье представлено коммуникационное решение, известное как C4. Ключевые идеи C4 двояки. Во-первых, в параллельном обучении коллективная коммуникация обладает периодическими и однородными характеристиками, поэтому любые аномалии обязательно связаны с каким-то видом неисправности оборудования. Используя эту особенность, C4 может быстро определить неисправные компоненты, оперативно выявить аномалию и перезапустить задачу, тем самым избегая потерь ресурсов, вызванных задержками в обнаружении аномалий. Во-вторых, предсказуемая модель коммуникации коллективной коммуникации, включающая небольшое количество больших потоков, позволяет C4 эффективно выполнять планирование трафика, существенно снижая сетевые перегрузки. C4 был широко реализован в наших производственных системах, сокращая издержки, вызванные ошибками, примерно на 30% и улучшая производительность во время выполнения на примерно 15% для определенных приложений с умеренными затратами на коммуникацию.
English
The emergence of Large Language Models (LLMs) has necessitated the adoption
of parallel training techniques, involving the deployment of thousands of GPUs
to train a single model. Unfortunately, we have found that the efficiency of
current parallel training is often suboptimal, largely due to the following two
main issues. Firstly, hardware failures are inevitable, leading to
interruptions in the training tasks. The inability to quickly identify the
faulty components results in a substantial waste of GPU resources. Secondly,
since GPUs must wait for parameter synchronization to complete before
proceeding to the next round of computation, network congestions can greatly
increase the waiting time for GPUs. To address these challenges, this paper
introduces a communication-driven solution, namely the C4. The key insights of
C4 are two folds. First, in parallel training, collective communication
exhibits periodic and homogeneous characteristics, so any anomalies are
certainly due to some form of hardware malfunction. By leveraging this feature,
C4 can rapidly identify the faulty components, swiftly isolate the anomaly, and
restart the task, thereby avoiding resource wastage caused by delays in anomaly
detection. Second, the predictable communication model of collective
communication, involving few large flows, allows C4 to efficiently execute
traffic planning, substantially reducing network congestion. C4 has been
extensively implemented across our production systems, cutting error-induced
overhead by roughly 30% and enhancing runtime performance by about 15% for
certain applications with moderate communication costs.