Колективна комуникация и NCCL
Колективната комуникация е начинът, по който група графични процесори обменят и комбинират данни, а NCCL е библиотеката на NVIDIA, която прави този обмен невероятно бърз.
Преглед
Operations like all-reduce are the heartbeat of distributed training, synchronizing gradients across every GPU each step.
Дълбоко гмуркане
Обучението на голям модел означава, че всеки графичен процесор изчислява градиенти върху свой собствен срез от данни, след което всички графични процесори трябва да постигнат съгласие за комбиниран резултат преди следващата стъпка. Тази координация се извършва с колективни операции: all-reduce сумира стойности в GPU и дава на всеки резултата; all-gather събира всяка част от GPU в пълно копие на всички тях; излъчването изпраща данни от един GPU към останалите; намаляване-разпръскване комбинира след това разделя. NCCL (Библиотека за колективни комуникации на NVIDIA) ги прилага ефективно в графични процесори в сървър и между сървъри, използвайки алгоритми, съобразени с топологията, като пръстеновидно и дървовидно пълно намаляване. Той използва NVLink вътре в възел и InfiniBand или RoCE между възлите и е комуникационният гръбнак под PyTorch DDP, FSDP, DeepSpeed и Megatron.
Техническа информация
Ring all-reduce е класическият алгоритъм: графичните процесори образуват логически пръстен и данните се разделят на части, които циркулират, така че всяка стъпка припокрива комуникацията, което прави общата честотна лента за трансфер оптимална и приблизително независима от броя на графичните процесори. За много възли дървовидните алгоритми намаляват латентността чрез йерархично комбиниране на резултатите. NCCL автоматично открива топологията, избира най-добрия алгоритъм и може да прехвърли математиката за намаляване в мрежата с NVIDIA SHARP, намалявайки наполовина данните, които трябва да преминат през връзките.
Стратегическо въздействие
Cost and budget
Архитектурните решения стимулират производителността и оперативните разходи в продължение на години.
Clearer decisions
Техническото образование помага на екипите да изберат правилния стек, а не само най-новия.
Quality control
По-добрият инженерен избор намалява инцидентите, свързани с надеждността в производството.
Бъдещето на колективната комуникация и NCCL
Тъй като клъстерите се мащабират до стотици хиляди GPU, комуникацията все повече доминира времето за обучение, така че колективните библиотеки са гореща граница. Очаквайте по-задълбочено изчисление в мрежата (превключватели, извършващи намаляването), по-добро припокриване на изчисление и комуникация за скриване на забавянето и колективи с по-ниска точност, които свиват преместените байтове. Конкуренцията също нараства, с усилията на различни доставчици и Ethernet-базирани RDMA, налагащи алтернативи, докато NCCL продължава да затяга интеграцията с NVLink, NVSwitch и нововъзникващите оптични тъкани.
Внедряване в реалния свят
Синхронизиране на градиенти на всяка стъпка на обучение във всички GPU с помощта на all-reduce в PyTorch DistributedDataParallel
Състояния на оптимизатора за шардинг и събиране на параметри при поискване с all-gather и reduce-scatter във FSDP или DeepSpeed ZeRO
Излъчване на първоначалните тегла на модела от един графичен процесор към всички останали в началото на тренировъчното изпълнение
Използване на ring all-reduce през NVLink и InfiniBand за поддържане на висока честотна лента в многовъзлови 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 Collective Communication and NCCL 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 Collective Communication and NCCL?
Колективната комуникация е начинът, по който група графични процесори обменят и комбинират данни, а NCCL е библиотеката на NVIDIA, която прави този обмен невероятно бърз. Операции като all-reduce са сърцето на разпределеното обучение, синхронизиране на градиенти във всеки GPU на всяка стъпка.
Какво постига операцията за пълно намаляване при разпределено обучение?
All-reduce сумира (или комбинира по друг начин) стойност във всеки GPU и разпределя идентичния резултат обратно към всички тях, което е начинът, по който градиентите се синхронизират.
Какво означава съкращението NCCL?
NCCL е библиотеката за колективни комуникации на NVIDIA, която реализира бързи колективни операции с множество GPU и много възли.
Защо ring all-reduce се счита за оптимална честотна лента?
Чрез разделяне на данните и предаване на части около логически пръстен, всяка връзка се използва едновременно и общият трансфер става приблизително независим от броя на графичните процесори.
Коя колективна операция събира част от данните на всеки GPU в пълно копие, съхранявано от всички GPU?
All-gather събира отделните части от всеки GPU и сглобява пълния комплект на всички тях, използван силно в разделно обучение като FSDP.
Какво прави NVIDIA SHARP за колективните операции?
SHARP извършва изчисления в мрежата, извършвайки част от намаляването вътре в превключвателя, така че по-малко данни трябва да преминават през връзките, ускорявайки колективите.