Микрочип LPU Как работает новый молниеносный языковой процессор
Играть на фортепиано очень просто: надо лишь нажимать на нужные клавиши в нужный момент. Так и с искусственным интеллектом: нужно всего-то выполнить нужные преобразования с нужными коэффициентами. Нейросеть — это компьютерная программа, поведение которой определяется значениями ряда числовых параметров (их также называют коэффициентами). Коэффициентов в современных моделях ИИ невероятно много. Их число измеряется миллиардами, а в последней версии GPT‑4 количество коэффициентов достигает 1,76 триллиона.
* Language Processing Unit, или языковой процессор. Предназначен для обсчета языковых моделей, например GPT‑4
Как работает языковая модель
Разработчик ИИ задает количество и параметры нейронных слоев, а компьютер подбирает нужные коэффициенты по алгоритму машинного обучения. Этот алгоритм построен на методе проб и ошибок: модель получает входные данные и оценивает полученный результат. Опираясь на величину ошибки, компьютер вносит коррективы в коэффициенты, после чего цикл повторяется заново. Если в процессе обучения удается достичь хороших результатов — коэффициенты фиксируются и модель передают в использование. На этом процесс обучения нейросети (собственно, подбора коэффициентов) считается завершенным.
Во время практического использования ИИ, например общения с ChatGPT или генерации изображений в Midjourney, коэффициенты уже не меняются, иначе гарантировать стабильность результатов было бы невозможно. Как в человеческом мозге нейроны с похожими функциями образуют целые слои нервной ткани, так и в компьютерных нейросетях численные преобразования собираются в последовательные слои. Для удобства слои разделяются на два вида. Первый вид — слои с многомерными матрицами чисел, или тензорами, выражающими линейные преобразования. Второй вид — слои с нелинейными преобразованиями, которые помогают модели выразить более сложные взаимосвязи, но сами по себе довольно просты и не содержат коэффициентов.
В этой конфигурации чип Groq был добавлен на испытательный стенд Аргонской национальной лаборатории
Тензоры — это не просто таблицы с числами. Сложение и умножение тензоров происходит по определенным математическим законам, которые позволяют разделять вычисления на множество независимых потоков. Чем эффективнее построен обсчет тензорных операций, тем быстрее работа нейросети. При этом наносекунды, выигранные на логистике данных или синхронизации потоков вычислений, складываются в секунды ожидания пользователем ответа чат-бота, в минуты одного цикла обучения, дни и недели полного обучения нейронки. Решающую роль в этом играют процессоры.
Чем отличаются CPU и GPU
Самые первые ЭВМ не были рассчитаны на интерактивное взаимодействие: программист подавал на вход пачку перфокарт, ждал какое-то время и получал результат расчета. Такие машины использовались для нахождения интегралов, расчета баллистических таблиц и решения других сложных вычислительных задач. Когда появились клавиатура, мышь и другие периферийные устройства для ввода информации, процессоры пришлось адаптировать под более гибкую работу.
Так внутри центральных процессоров (CPU) появились дополнительные модули, такие как кэш памяти нескольких уровней, высокопропускная шина данных, маршрутизаторы. Дирижирование этими компонентами и синхронизация процессов обеспечивается на уровне «железа». Это упрощает разработку обычных программ и обеспечивает для них быстродействие, но делает время выполнения любой операции непредсказуемым.
В течение многих лет CPU занимались всеми расчетами от положения курсора на экране до орбитальной траектории МКС, и небольшие проволочки с их стороны никого не смущали. Но когда появилась необходимость совершать огромное количество простых математических операций подряд, задержки стали накапливаться и мешать пользователям. Особенно заметно это стало в середине 1990-х в период бурного роста игровой индустрии. Возможностей CPU стало не хватать для рендеринга — отрисовки кадров для 3D-игр. Рендеринг строится на физических законах оптики и проективной геометрии: линейное движение света, проекция на плоскую пленку объемного изображения и так далее. И все эти расчеты описываются двумерными матрицами чисел.
Тогда появились первые массовые графические ускорители: специальные процессоры, которые умеют выполнять только простейшие операции, но зато имеют тысячи ядер и могут эффективно производить матричные вычисления. В 1999 году NVIDIA представила микрочип GeForce 256, а вскоре все персональные компьютеры стали укомплектовываться двумя основными процессорами — CPU и GPU (Graphics Processing Unit).
Период бурного развития нейросетей и машинного обучения принято отсчитывать от 2012 года. Именно тогда на соревнованиях по классификации изображений ILSVRC‑2012* была впервые представлена модель, обученная с использованием GPU. Притом что математический аппарат для обучения нейросетей разрабатывается с середины XX века, именно использование эффективного инструмента для вычислений открыло ему дорогу из научных статей в повседневную жизнь.
* ImageNet Large Scale Visual Recognition Challenge 2012.
Что придумали в Groq
Стремительное развитие технологий ИИ не изменило приоритетов NVIDIA: компания продолжила фокусироваться на разработке высокопроизводительных игровых чипов. Однако за железо для нейросетей взялись другие игроки: от гигантов Google* и Amazon до многочисленных стартапов. Среди прочих в 2016 году возник стартап Groq. Джонатан Росс, его основатель, изначально занимался разработкой чипа для тензорных операций в Google. TPU (Tensor Processing Unit) вышел на рынок в 2016-м, и тогда же Росс ушел из компании, чтобы открыть свое дело.
Команда Groq взялась за разработку чипа с неожиданной стороны. Джонатан Росс решил отказаться от слишком сложных частей современных GPU и вернуться к детерминированности. Эта концепция предполагает предопределенность всех вычислительных процессов и полный контроль в руках разработчика. В любой момент он знает, какие части ядра заняты или свободны, где находятся данные и какое время займет их обработка. Программист может максимально эффективно управлять вычислениями, ни теряя ни наносекунды на простое ресурсов в ожидании синхронизации.
Сервер GroqNode включает 8 карт Groq, а 8 серверов входят в вычислительный кластер GroqRack
В сравнении с процессором Groq обычные CPU и GPU напоминают систему скоростных дорог со светофорными перекрестками: машины движутся быстро, но в какой-то момент вынуждены останавливаться и ждать. В чипе Groq «перекрестки» работают в «индийском стиле»: все едут сразу и никто не останавливается. А аварий удается избежать благодаря «контролю свыше» — со стороны разработчика.
Вторая проблема, которую хотел решить Росс, — чрезвычайная сложность разработки на GPU. Да, на высокоуровневых языках вроде Python сейчас не программирует только ленивый. Далее команды превращаются в машинный код при помощи компилятора, и вот его, компилятор, создать очень непросто. От его эффективности зависит эффективность работы всей системы: наносекунды, потерянные на одной команде, будут накапливаться в значительные задержки. Разработка компилятора требует глубокого понимания устройства процессора, и из-за сложности современных GPU в NVIDIA над этой задачей трудятся десятки тысяч разработчиков.
10-кратное преимущество в скорости обработки запроса чип Groq демонстрирует, несмотря на устаревшую технологию производства. Микросхемы сделаны с помощью 14-нанометрового технологического процесса, что на три поколения старше, чем 4-нанометровый техпроцесс, использующийся в современных GPU NVIDIA
Groq подошел к вопросу с другой стороны. Вместо того чтобы сперва сконструировать процессор, а потом писать компилятор, первые шесть месяцев инженеры Groq вообще не занимались «железом». Они начали с разработки компилятора для будущего чипа, чтобы ИИ-модели можно было легко перекладывать на машинные команды процессора Groq.
Только убедившись, что концепция работает на уровне компилятора, команда взялась за разработку самого чипа. Если сравнить то, что у них получилось, с популярным графическим процессором от NVIDIA, почти невооруженным глазом видно, насколько проще архитектура чипа Groq.
* ИИ-оптимизированные чипы Google Tensor (дебютировали в 2021 году) устанавливаются в смартфоны компании Pixel начиная с 6-го поколения.
NVIDIA GTX 1070
Рецепт успеха
Свою первую разработку, TSP (Tensor Streaming Processor), Groq представил еще в 2020 году. Процессор предназначался для ИИ-моделей с последовательными данными: такие модели принимают данные не единым блоком, а как последовательные сигналы, и каждый новый сигнал анализируется в контексте предыдущих. Например, так работает модель для ИИ-трейдинга: котировки в отдельный момент времени важны не сами по себе, а как продолжение какого-то тренда. Когда система получает новый сигнал, она обновляет свое текущее состояние и выдает результат: покупать акцию или продавать.
Процессор TSP успешно применялся в сфере кибербезопасности для обнаружения аномалий в режиме реального времени, его использовали для быстрого трейдинга и других задач. Однако бешеного коммерческого успеха стартап не имел. И лишь благодаря специальному процессору для нейросетей LPU (Language Processing Unit) основатели Groq однажды проснулись знаменитыми.
Джонатан Росс, основатель стартапа Groq, был инициатором разработки процессора Tensor в Google
Чем LPU отличается от предшественника? Ничем. Он собран на основе тех же ядер TSP и кастомизирован под работу языковых моделей, однако само инженерное решение осталось прежним. Поменялся контекст. С хайпом вокруг языковых моделей и чат-ботов, который не утихает уже год, Groq впервые смогли продемонстрировать свою разработку во всю мощь: простой чип на более старой технологии в 10 раз обгоняет разработки топовой компании. И дело не только в скорости: LPU тратит меньше энергии на вычисления, может выпускаться в уменьшенном виде для телефонов и других носимых устройств и стоит намного дешевле.
На фоне ажиотажа вокруг языковых моделей стоимость NVIDIA превысила ВВП большинства стран мира. В отличие от GPU компании-гиганта, чип Groq пока не включен в базовую комплектацию каждого компьютера на планете. Но стартап Джонатана Росса пока лишь в начале пути. В первую же неделю после сенсационного выступления компания заключила договор с Samsung на разработку 4-нанометрового чипа и планирует развивать свой успех.
«Многие говорят, что ускорение в 10 раз — это невероятно. Но так ли это удивительно в сравнении с технологией 25-летней давности, которая никогда не предназначалась для этой задачи? — рассуждает Игорь Арсовский, главный инженер Groq. — Когда-нибудь появится компания, которая придумает что-нибудь еще лучше и обойдет нас в 10 раз».
Читайте также, что такое GPU
Использованные источники: Материал опубликован в журнале «Цифровой океан» № 23 (май-ииюнь), 2024, Photos courtesy of Groq®, Fritzchens Fritz