Системы машинного интеллекта и особенно инференс-системы, чьей задачей является принятие решений в нейросетевых сценариях обработки, требуют особого подхода к реализации аппаратной части для достижения действительно высокой производительности при приемлемом уровне энергопотребления. Стартап Groq, который ещё осенью 2019 года анонсировал свой тензорный процессор Groq TSP, начал поставки систем на базе этого чипа.
В своё время Groq наделали немало шума, заявив о создании самого быстрого ИИ-процессора с производительностью 1 Петаопс (PetaOPS, 1015 операций в секунду, обычно целочисленных), оставляющего позади даже таких монстров, как NVIDIA Tesla V100. Добиться этого удалось благодаря уникальной многоядерной архитектуре, из которой Groq исключила всё лишнее для тех задач, на которые ориентирован свой процессор.
Подход оказался плодотворным: прототип ускорителя на базе Groq TSP, работая на частоте 1 ГГц, развил 205 Тфлопс в режиме FP16 и 820 Топс в режиме INT8. Для сравнения, V100 при аналогичном потреблении 300 Ватт показала лишь 125 Тфлопс и 250 Топс соответственно. В тесте ResNet-50 новый чип смог достичь производительности на уровне 21700 распознаваний в секунду, уступив лишь проприетарному ASIC Alibaba HanGuang, недоступному для приобретения.
Об архитектуре Groq до недавних пор было известно немного, однако компания-разработчик, похоже, успешно набирает обороты: начались коммерческие поставки ускорителей на базе Groq TSP и даже законченных вычислительных узлов, позволяющих организовывать целые кластеры с высочайшим уровнем производительности. На днях компания рассказала The Next Platform об особенностях своих решений.
Главной особенностью своего TSP разработчики по-прежнему называют наличие блока SRAM объёмом 220 Мбайт. Такая память обеспечивает пропускную способность на уровне 80 Тбайт/с, что является настоящим подарком для инференс-сценариев. Кроме того, теперь известно, что каждый TSP содержит два блока матричной математики (320×320 Fused Dot Product, INT8 или FP16, 32-битный аккумулятор) и один блок векторных вычислений (тензорные линейные и нелинейные вычисления в режимах INT8/16/32 и FP16/32, 5120 вычислительных элементов).
Как обычно, по краям кристалла расположены различные блоки ввода-вывода, в частности, контроллер PCI Express 4.0, а также два I/O-модуля для межпроцессорной связи. Последние обеспечивают Groq TSP 16 линиями с общей пропускной способностью 512 Гбайт/с, так что узким местом в многопроцессорных кластерах на базе TSP они стать не должны. Кроме того, на кристалле присутствует и небольшой блок управления, могущий оперировать очередями из 144 инструкций, так что полностью отказываться от управляющих структур в TSP разработчики всё-таки не стали.
Структура вычислительной системы на базе Groq TSP довольно проста. Она состоит из трёх функциональных блоков, два из которых занимаются собственно вычислениями и управляющего блока с классическими процессорами. Каждый из вычислительных модулей содержит по четыре ускорителя Groq TSP, соединённых по схеме «каждый с каждым» и имеет 16 свободных портов для дальнейшего масштабирования и добавления новых модулей TSP. Ускорители могут использоваться независимо, каждый для своей задачи, либо работать вместе над одной задачей, развивая большую производительность.
Управляющая часть с точки зрения архитектуры выглядит несложно: это обычная двухпроцессорная система на базе AMD EPYC 7002, и каждый из четырёх ускорителей подключен к своему процессору посредством PCI Express 4.0 x16. В этой части используются 32-ядерные процессоры AMD и установлен общий пул оперативной памяти объёмом 1 Тбайт. Вся система занимает модифицированный стоечный корпус высотой 5U и потребляет в пределе 3,3 кВт. Производительность такого комплекса заявлена на уровне 6 Петаопс в режиме INT8 и 1,5 Пфлопс в режиме FP16.
И это далеко не предел, недаром Groq называет своё решение Node Scalable Compute System. Новинка действительно масштабируется, поскольку каждый из ускорителей имеет по четыре свободных порта интерконнекта. Стойка, разработанная и представленная Groq, может включать в себя 17 вычислительных модулей с вышеописанной архитектурой. 18-ое место занято модулем, содержащим в себе сетевые интерфейсы и дисковую подсистему.
Без программного обеспечения любая система мертва, тем более, с учётом архитектурных особенностей Groq TSP, практически целиком полагающегося на компилятор. Компания сопровождает новые системы комплектом ПО Groqware SDK. Он включает в себя все необходимые средства разработки и набор API, что позволит разработчикам в кратчайшие сроки начать создавать ПО, в полной мере раскрывающее немалый потенциал новой платформы.
Из-за того, что Groq лучше всего раскрывается на задачах с небольшой очередью (в пределе при batch size 1), эта инференс-платформа обеспечивает великолепную латентность, что делает её привлекательной для финансовых структур. Интересна платформа и учёным, но те более заинтересованы в возможностях TSP в области классических вычислений, в частности, линейной алгебры.
Из-за этого сложилась любопытная ситуация: стартовал Groq TSP как инференс-ускоритель, но первые клиенты компании потребовали большей универсальности, так что разработчикам пришлось создать сначала Groq Node, описанный выше, а потом и целый масштабируемый кластер на базе таких узлов. Таким образом, платформа, стартовавшая как узкоспециализированное решение, эволюционировала в более универсальный вычислительный комплекс, гибкий и масштабируемый.
Источники: