Паралелизъм на модел и конвейер
Когато даден модел е твърде голям, за да се побере на един GPU, паралелизмът на модела и тръбопровода разделя самия модел на устройства.
Преглед
This is what makes training giant language models with hundreds of billions of parameters physically possible.
Дълбоко гмуркане
Паралелизмът на модела разделя един модел на множество графични процесори, така че нито едно устройство не трябва да държи всички тегла. Има два основни вкуса. Тензорният (вътрешен слой) паралелизъм разделя математиката вътре в слой, като например нарязване на голямо матрично умножение между графични процесори, всеки от които изчислява част от изхода. Паралелизмът на тръбопровода (между слоевете) присвоява различни последователни слоеве на различни GPU, така че слой 1 живее на GPU 0, блок 2 на GPU 1 и т.н., като активациите се предават напред като поточна линия. Предизвикателството с наивния конвейер е „балонът“: докато GPU 0 работи на първата партида, графичните процесори надолу по веригата стоят бездействащи. Конвейерът разделя всяка партида на микро-партиди, така че всички етапи да останат заети, драматично подобрявайки използването.
Техническа информация
Тензорният паралелизъм (както в NVIDIA Megatron-LM) разделя тегловните матрици по колони или редове и използва all-reduce за рекомбиниране на частични резултати, поддържайки комуникацията вътре в бърз NVLink възел. Паралелизмът на тръбопровода (GPipe, PipeDream) разделя партидата на микро-партиди, които преминават през етапи в шахматен график, свивайки времето на неактивен „балон“. Двете често са наслоени заедно, с тензорен паралелизъм в рамките на един възел и паралелизъм на конвейера между възлите.
Стратегическо въздействие
Cost and budget
Архитектурните решения стимулират производителността и оперативните разходи в продължение на години.
Clearer decisions
Техническото образование помага на екипите да изберат правилния стек, а не само най-новия.
Quality control
По-добрият инженерен избор намалява инцидентите, свързани с надеждността в производството.
Бъдещето на моделния и конвейерния паралелизъм
Рамките все повече автоматизират трудния проблем с вземането на решение как да се раздели модел между устройства, като се използва профилиране и търсене, за да се балансира изчислението и комуникацията. Очаквайте по-тясна интеграция на тензор, конвейер и паралелизъм на данни (3D паралелизъм), по-интелигентно планиране на микро-партиди за почти елиминиране на конвейерните мехурчета и хардуер с по-бързи връзки, така че разделянето на един слой между чипове да става по-евтино и по-рутинно за все по-големи модели.
Внедряване в реалния свят
Обучение на модели в стил GPT с NVIDIA Megatron-LM, който разделя вниманието на всеки трансформаторен слой и матриците за подаване напред между GPU чрез тензорен паралелизъм.
Използването на GPipe за поставяне на различни слоеве от гигантска визия или езиков модел на отделни ускорители, докато микропакетирането ги държи заети.
Тръбопроводният механизъм на DeepSpeed разделя модел с няколко стотици милиарда параметри на етапи в много възли.
Комбиниране на тензорен паралелизъм в един сървър с 8 GPU с паралелизъм на конвейер, обхващащ множество сървъри, за да се обучи модел, твърде голям за една машина.
Рискове и предпазни огради
Оптимизирането на един бенчмарк може да скрие по-широки системни слабости.
Разходите за инфраструктура и поддръжка често се подценяват.
Пропуските в сигурността и видимостта могат да нарастват, когато системите стават по-сложни.
Пътна карта за изпълнение
Определете целите за латентност, качество и разходи преди внедряването.
Бенчмарк при реалистични условия на натоварване и данни.
Мониторинг на инструмента за грешки, отклонение и въздействие върху потребителя.
Подгответе пътеките за връщане назад и реакция на инцидент преди мащабиране.
Продължете да изследвате
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Model and Pipeline Parallelism quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
Тензорен паралелизъм за големи модели
Frequently asked questions
What is Model and Pipeline Parallelism?
Когато даден модел е твърде голям, за да се побере на един GPU, паралелизмът на модела и тръбопровода разделя самия модел на устройства. Това прави обучението на гигантски езикови модели със стотици милиарди параметри физически възможно.
Какъв основен проблем решава паралелизмът на модела и конвейера?
Паралелизмът на модела и тръбопровода разделя самия модел между устройствата, позволявайки обучение на мрежи, далеч по-големи от това, което всеки един GPU може да побере.
Как работи разделянето на тензорен (вътрешен слой) паралелизъм?
Тензорният паралелизъм разделя изчислението в рамките на един слой, например разделяйки матрица с голямо тегло, така че всеки GPU изчислява част от изхода.
Какво е „балонът“ в наивния паралелизъм на тръбопровода?
В началото на етапа на тръбопровода, низходящите етапи все още нямат вход и стоят неактивни, губейки GPU време; тази празна междина се нарича балон.
Как успоредността на тръбопровода намалява балона?
Разделянето на партида на микропартиди позволява на множество микропартиди да заемат различни етапи едновременно, поддържайки всички графични процесори заети и намалявайки времето на неактивност.
Защо тензорният паралелизъм обикновено се поддържа в рамките на един възел?
Тензорният паралелизъм комуникира често, за да рекомбинира частични матрични резултати, така че се поставя там, където честотната лента на свързване е най-висока, вътре в възел през NVLink.