Model parallelism
Современные языковые модели и генераторы изображений содержат сотни миллиардов параметров. Один ускоритель, даже дорогой, физически не вмещает такие объёмы — память переполняется. Параллелизм модели решает проблему: если одного устройства мало, берут несколько и распределяют нагрузку. Без этого невозможно было бы обучать и использовать продвинутые нейросети.
На интуитивном уровне это похоже на книгу, которую переписывают по главам разные люди. Первый процессор обрабатывает начальные слои сети, передаёт промежуточный результат второму, тот — третьему, и так далее. Это конвейер, где каждый выполняет свою операцию и передаёт деталь дальше. Устройствам приходится постоянно обмениваться данными, поэтому критически важна быстрая связь — иначе простои съедят весь выигрыш.
Хороший пример — GPT-3 со 175 миллиардами параметров. Ни одна видеокарта не смогла бы её удержать. Её разрезают по слоям и размещают на сотнях устройств с высокоскоростной сетью. Когда вы просите сеть написать текст, запрос проходит всю цепочку: первые слои понимают вопрос, средние размышляют над связями слов, последние выдают ответ. Каждый чип делает свою часть работы, но вместе они создают иллюзию единого могучего интеллекта.
Итог: model parallelism — не прихоть, а необходимость для гигантских моделей. Он позволяет строить системы, превосходящие возможности одиночного «железа», но требует аккуратной инженерии, чтобы обмен данными не стал узким местом. Это один из кирпичиков, на которых держится большой искусственный интеллект.
Поделиться