Содержание статьи
Производители ИИ-ускорителей продолжают увеличивать количество тензорных ядер и осваивать всё более короткие форматы данных, включая FP8 и FP4. Производительность вроде как растет, причем впечатляющими темпами, но есть загвоздка. Вычислительные блоки нужно постоянно снабжать весами модели и промежуточными данными. Если память не успевает, дорогой чип с десятками миллиардов транзисторов натурально простаивает в ожидании очередной порции данных.
Samsung планирует решить проблему при помощи HBM5: удвоить производительность относительно HBM4E и на 20% повысить эффективность на ватт. Пропускная способность одного стека в перспективе может приблизиться к 4 ТБ/с благодаря 4096-битной шине. Давайте разбираться, что там и как.
Когда ускорителю нечего считать
Большая языковая модель — прежде всего огромный набор числовых параметров. Во время работы их нужно извлекать из памяти, передавать вычислительным блокам, использовать в матричных операциях, а затем записывать промежуточные результаты. Процесс повторяется для каждого слоя и каждого нового токена.
Допустим, в ускоритель установили вдвое больше тензорных ядер. На бумаге его производительность выросла соответствующе. Но на практике она удвоится лишь при условии, что все ядра постоянно заняты. Если память не способна подавать данные с нужной скоростью, часть блоков простаивает. Чип становится крупнее, дороже и прожорливее, а нейросеть почти не ускоряется.
Еще важна вычислительная интенсивность — количество операций на байт. Когда один блок данных загружается единожды, а затем многократно используется, скорость определяется возможностями вычислительных ядер. Но, если значения постоянно считываются заново, ограничением становится память. Добавлять тензорные блоки в такой ситуации бесполезно.
Особенно хорошо проблема заметна в последовательной генерации текста. Для каждого нового токена ускоритель должен перепройти все слои модели и считать их веса из памяти. Да, веса можно переиспользовать, но если модель обрабатывает мало запросов одновременно, то получается редко. Поэтому скорость генерации часто ограничивают не вычислительные блоки, а пропускная способность памяти.
С ростом контекста увеличивается и KV-кеш, где хранятся ключи и значения для обработанных токенов. Чем длиннее диалог или документ и чем больше запросов обрабатывается одновременно, тем крупнее массив данных, который приходится читать. Так что одной емкости недостаточно. Объем памяти определяет, поместятся ли модель и ее рабочие данные, а пропускная способность — насколько быстро система с ними работает.
Разумеется, разработчики пытаются обойти ограничение с помощью кешей, предварительной загрузки и перехода на FP8 или FP4. Но SRAM занимает много места на кристалле, поэтому хранить в ней десятки гигабайт весов невозможно. Пониженная точность уменьшает объем передаваемых данных, однако модели и их контекст продолжают расти. Освободившаяся пропускная способность быстро находит нового хозяина.
Как HBM добралась до 2048-битной шины
Обычная DDR-память подключается к процессору сравнительно узкими каналами и устанавливается на отдельных модулях. Получается дешево и удобно: память можно заменить или нарастить. Вот только тысячам параллельно работающих блоков ИИ-ускорителя такой конструкции откровенно мало.
В HBM кристаллы DRAM устанавливаются друг на друга и связываются при помощи TSV — сквозных каналов в кремнии. Готовый стек размещается рядом с вычислительным кристаллом на общей подложке. Короткие линии связи дают использовать широкую шину и передавать большие объемы данных с меньшими энергозатратами.
Уже первое поколение HBM получило 1024-битный интерфейс на стек. Для сравнения, один канал обычной DDR имеет ширину 64 бита. В следующих поколениях производители увеличивали число слоев, емкость и скорость отдельных линий. HBM3 и HBM3E стали основой современных ИИ-ускорителей, а пропускная способность одного стека превысила 1 ТБ/с.
Повышать частоту до бесконечности, увы, нельзя. На больших скоростях растут потери, усиливаются помехи между соседними проводниками и сокращаются допустимые отклонения по времени. Приходится добавлять более сложные передатчики, приемники и схемы выравнивания сигнала. А они занимают место и потребляют энергию.
Поэтому в HBM4 ширину интерфейса увеличили с 1024 до 2048 бит. Принцип напоминает расширение дороги: чтобы пропустить вдвое больше машин, не обязательно заставлять их ехать вдвое быстрее — можно удвоить число полос. В случае HBM такими «полосами» служат линии интерфейса. Правда, их удвоение потребовало дополнительных контактов, переработанного контроллера и более сложной подложки.
Зачем HBM5 4096 бит
Ожидается, что стандартная скорость HBM4E составит около 12 ГТ/с на контакт, хотя разработчики контроллеров уже демонстрируют решения с 16 ГТ/с. Однако Samsung рассчитывает примерно вдвое повысить производительность HBM5 по сравнению с HBM4E. Если сохранить 2048-битную шину и добиваться такого прироста только за счет скорости передачи, ее придется увеличить примерно до 24 ГТ/с на контакт.
Удвоить скорость сразу нескольких тысяч линий за одно поколение непросто. На таких частотах сильнее помехи и искажения сигнала, а требования к синхронизации строже. Для стабильной работы понадобятся более сложные передатчики, приемники и схемы коррекции. Они займут дополнительное место на кристалле и увеличат энергопотребление, мешая прирастить обещанную эффективность на ватт.
Альтернативой может стать еще одно удвоение ширины шины — теперь до 4096 бит. Такой интерфейс передает вдвое больше информации при прежней скорости на контакт. Возможен и менее радикальный вариант: например, 3072 линии в сочетании с умеренным ростом частоты.
Примечательно, что Samsung пока не подтверждала 4096-битную шину в качестве характеристики HBM5. Компания назвала целевые показатели производительности, но не рассказала, как собирается их достичь. Поэтому и ширину интерфейса, и пропускную способность около 4 ТБ/с пока следует считать инженерным прогнозом, а не спецификацией.
Однако расширение шины тоже создает немало проблем. Для каждой дополнительной линии нужны контакты, передатчик и приемник, а они занимают место на базовом кристалле и подложке. Если рядом с ускорителем установить несколько стеков HBM5, количество соединений достигнет десятков тысяч. Их придется разместить на ограниченной площади вместе с вычислительными чиплетами и цепями питания.
Упаковка тоже станет сложнее. Все кристаллы могут быть полностью исправны, но одного неудачного соединения хватит, чтобы испортить дорогую сборку. Понадобятся более плотные подложки, раннее тестирование компонентов и резервирование линий. Словом, за дополнительные терабайты в секунду придется платить не только электричеством, но и процентом выхода годных устройств.
Что 4 ТБ/с дадут ИИ-системам
Дополнительная пропускная способность даст ускорителю обрабатывать более длинный контекст и одновременно обслуживать больше запросов, прежде чем память станет узким местом. Для владельца дата-центра это едва ли не важнее рекордных результатов в тестах: чем выше загрузка каждого ускорителя, тем меньше оборудования требуется для обслуживания того же числа пользователей.
При обучении эффект зависит от конкретных операций. Крупные матричные умножения обычно хорошо загружают тензорные ядра и многократно используют полученные данные. Нормализация, обмен параметрами, некоторые операции внимания и работа моделей со смесью экспертов сильнее зависят от памяти. Именно на таких участках HBM5 сможет сократить простои.
Однако двукратный рост пропускной способности не означает двукратного ускорения любой нейросети. Если задача упирается в тензорные ядра, новая память почти ничего не изменит. Реальная скорость окажется ниже пиковой и при случайных обращениях или неудачном размещении данных. Поэтому оценивать HBM5 только по пиковой пропускной способности неправильно.
Samsung рассчитывает повысить производительность на ватт на 20% относительно HBM4E. Но HBM5 не станет потреблять меньше энергии: пропускная способность удвоится, и абсолютная мощность стека все равно увеличится. Снизить энергозатраты должен новый базовый кристалл, который Samsung собирается выпускать по 2-нм-технологии — вместо 4-нм, как в HBM4 и HBM4E.
Одновременно возрастет тепловыделение, причем отводить тепло от многослойного стека сложнее, чем от обычной микросхемы. Для HBM5 Samsung разрабатывает конструкцию Heat Path Block с дополнительными теплопроводящими элементами внутри стека. Компания рассчитывает уменьшить тепловое сопротивление на 20%, благодаря чему тепло будет быстрее передаваться системе охлаждения. Для старших ИИ-ускорителей это, вероятно, означает дальнейшее распространение жидкостного охлаждения.
Как поменялась индустрия ИИ-ускорителей
HBM5 показывает, что развитие ИИ-ускорителей больше нельзя сводить к наращиванию вычислительной мощности. Производительность теперь зависит от всей системы: памяти, интерфейса, упаковки, питания и охлаждения. Шустрый процессор не раскроет свои возможности, если данные поступают к нему недостаточно быстро.
Впрочем, 4 ТБ/с на стек не устранят ограничение навсегда. Более быстрая память позволит создавать крупные модели, увеличивать контекст и обслуживать больше запросов — после чего обмен данными снова станет узким местом. Так что HBM5 лишь даст индустрии запас прочности до следующего поколения ИИ-ускорителей.
