RSS Stories by Pinterest Engineering on Medium
Подписаться
Достижение почти линейной масштабируемости обучения для базовых моделей Pinterest
Фундаментальные модели Pinterest имеют решающее значение для их рекомендательных систем, ежедневно влияя на миллионы пользователей. Изначально многоузловое обучение этих больших моделей работало плохо, при этом добавление большего количества машин резко замедляло процесс. Даже с AWS Elastic Fabric Adapter (EFA) для улучшения сетевых возможностей масштабирование оставалось неэффективным. Профилирование выявило, что распределенные операции поиска в эмбеддингах вызывали значительные коммуникационные узкие места, при этом GPU ожидали данные. Команда внедрила несколько оптимизаций для устранения этих коммуникационных накладных расходов. Квантованные коммуникации (QComms) уменьшили полезную нагрузку данных, сжимая тензоры эмбеддингов. Сбалансированное разделение улучшило распределение рабочей нагрузки между GPU. Оптимизация эмбеддингов с учетом пропускной способности уменьшила размерность эмбеддингов вдвое, чтобы сократить перемещение данных. Ключевым прорывом стало внедрение 2D-параллелизма, изначально оптимизированного для AllReduce, что улучшило локальную связь. Наконец, они изменили топологию 2D-параллелизма для оптимизации All-to-All, сохраняя дорогостоящие операции внутри узлов и используя более дешевый AllReduce для межузловой синхронизации. Это привело к почти линейному масштабированию, достигнув 2,0-кратного увеличения при 2 узлах и 3,9-кратного при 4 узлах, и впечатляющего 7,5-кратного масштабирования при 8 узлах. Эти достижения позволили обучать более крупные модели, что привело к значительному росту вовлеченности пользователей на рекомендательных поверхностях Pinterest и ускорению циклов экспериментов.