T3: Прозрачное отслеживание и активация для детализированного совмещения вычислений и коллективных операций
T3: Transparent Tracking & Triggering for Fine-grained Overlap of Compute & Collectives
January 30, 2024
Авторы: Suchita Pati, Shaizeen Aga, Mahzabeen Islam, Nuwan Jayasena, Matthew D. Sinclair
cs.AI
Аннотация
Крупные языковые модели всё чаще полагаются на распределённые методы для их обучения и вывода. Эти методы требуют взаимодействия между устройствами, что может снижать эффективность масштабирования с увеличением количества устройств. Хотя некоторые распределённые методы могут перекрываться и, таким образом, скрывать это взаимодействие за счёт независимых вычислений, такие методы, как тензорный параллелизм (TP), по своей природе сериализуют взаимодействие с выполнением модели. Один из подходов для скрытия этой сериализованной коммуникации заключается в её тонком переплетении с операцией-производителем (данных, передаваемых в процессе взаимодействия). Однако такое тонкое переплетение коммуникации и вычислений на уровне программного обеспечения может быть сложным. Более того, как и в любом параллельном выполнении, оно требует совместного использования вычислительных и ресурсов памяти между вычислениями и коммуникацией, что приводит к конкуренции за ресурсы и снижает эффективность перекрытия.
Для преодоления этих проблем мы предлагаем T3, который применяет совместное проектирование аппаратного и программного обеспечения для прозрачного перекрытия сериализованной коммуникации при минимизации конкуренции за ресурсы с вычислениями. T3 прозрачно объединяет операции-производители с последующей коммуникацией через простую настройку адресного пространства вывода производителя и требует минимальных изменений в программном обеспечении. На аппаратном уровне T3 добавляет лёгкий механизм отслеживания и запуска для координации вычислений и коммуникации производителя. Кроме того, он использует вычислительно-усиленные памяти для вспомогательных вычислений, связанных с коммуникацией. В результате T3 снижает конкуренцию за ресурсы и эффективно перекрывает сериализованную коммуникацию с вычислениями. Для важных моделей трансформеров, таких как T-NLG, T3 ускоряет подуровни с интенсивной коммуникацией на 30% в среднем (максимум 47%) и сокращает перемещение данных на 22% в среднем (максимум 36%). Более того, преимущества T3 сохраняются при масштабировании моделей: в среднем 29% для подуровней в моделях с 500 миллиардами параметров, таких как PALM и MT-NLG.
English
Large Language Models increasingly rely on distributed techniques for their
training and inference. These techniques require communication across devices
which can reduce scaling efficiency as the number of devices increases. While
some distributed techniques can overlap, and thus, hide this communication with
independent computations, techniques such as Tensor Parallelism (TP) inherently
serialize communication with model execution. One approach to hide this
serialized communication is to interleave it with the producer operation (of
the communicated data) in a fine-grained manner. However, this fine-grained
interleaving of communication and computation in software can be difficult.
Furthermore, as with any concurrent execution, it requires compute and memory
resources to be shared between computation and communication, causing resource
contention that reduces overlapping efficacy.
To overcome these challenges, we propose T3 which applies hardware-software
co-design to transparently overlap serialized communication while minimizing
resource contention with compute. T3 transparently fuses producer operations
with the subsequent communication via a simple configuration of the producer's
output address space and requires minor software changes. At the hardware
level, T3 adds a lightweight track and trigger mechanism to orchestrate the
producer's compute, and communication. It further uses compute-enhanced
memories for communication's attendant compute. As a result, T3 reduces
resource contention, and efficiently overlaps serialized communication with
computation. For important Transformer models like T-NLG, T3 speeds up
communication-heavy sublayers by 30% geomean (max 47%) and reduces data
movement by 22% geomean (max 36%). Furthermore, T3's benefits persist as models
scale: geomean 29% for sublayers in sim500-billion parameter models, PALM
and MT-NLG.