Секрет успеха Nvidia в области искусственного интеллекта
За последние 10 лет Nvidia удалось увеличить производительность своих чипов в задачах искусственного интеллекта в тысячу раз. По слухам, сейчас очень сложно достать H100 — новейший графический процессор для генеративного ИИ. На симпозиуме Hot Chips 2023 в Кремниевой долине главный научный советник NVIDIA Билл Далли рассказывает о четырех ключевых компонентах, которые привели корпорацию к такому успеху.
Как Nvidia добилась успехов
Закон Мура играл удивительно малую роль в успехе Nvidia, в то время как новые форматы чисел стали ключевым элементом. Объединив все это, мы получаем то, что Далли назвал Законом Хуана (по имени генерального директора Nvidia Дженсена Хуана).
«В целом наибольший прирост мы получили благодаря улучшенному представлению чисел», — поделился Далли с инженерами. Эти числа представляют ключевые параметры нейронной сети:
веса, то есть сила связи между нейронами в модели;
активации, которые определяют, активируется ли нейрон, передавая информацию на следующий слой.
До появления P100 графические процессоры Nvidia представляли эти веса с использованием чисел с плавающей запятой одинарной точности. Они определены стандартом IEEE 754 и состоят из 32 битов, из которых 23 бита представляют дробную часть, 8 битов действуют в качестве экспоненты, применяемой к дробной части, и 1 бит отвечает за знак числа.
Представление чисел: увеличение в 16 раз
Однако исследователи в области машинного обучения быстро осознали, что во многих вычислениях они могут использовать менее точные числа, и их нейронные сети все равно будут давать ответы с такой же точностью. Очевидное преимущество этого подхода заключается в том, что логика, выполняющая ключевые вычисления машинного обучения (умножение и накопление), может выполняться быстрее, компактнее и эффективнее, если требуется обрабатывать меньше бит.
Как объяснил Далли, энергия, необходимая для умножения, пропорциональна квадрату количества бит. Таким образом, P100 Nvidia уменьшила это число вдвое, используя FP16. Google даже предложил свою версию под названием bfloat16. Разница заключается в относительном количестве бит дробной части (они обеспечивают точность) и бит экспоненты (они обеспечивают диапазон). Bfloat16 имеет то же количество бит диапазона, что и FP32, что упрощает переключение между двумя форматами.
Лидирующий графический процессор Nvidia H100 может обрабатывать определенные части огромных трансформерных нейронных сетей, таких как ChatGPT, используя 8-битные числа. Однако Nvidia обнаружила, что это не универсальное решение. Например, архитектура графического процессора Hopper GPU фактически использует два разных формата FP8: у одного больше точность, а у другого — диапазон. Особенность Nvidia заключается в умении определять, какой формат использовать в той или иной ситуации.
Далли и его команда имеют множество интересных идей о том, как извлечь больше ИИ из еще меньшего количества бит. И становится ясно, что система с плавающей точкой не идеальна. Одна из основных проблем заключается в том, что точность чисел с плавающей точкой довольно стабильна, независимо от того, насколько большое или маленькое число. Но параметры для нейронных сетей не используют большие числа, они сгруппированы вокруг нуля. Поэтому основное направление исследований и разработок Nvidia — это поиск эффективных способов представления чисел так, чтобы они были более точными вблизи нуля.
Сложные инструкции: увеличение в 12,5 раз
«Затраты на извлечение и декодирование инструкции во много раз превышают затраты на выполнение простой арифметической операции», — заявил Далли. Он указал на один тип умножения, при котором накладные расходы потребляли целых в 20 раз больше, чем 1,5 пикоджоуля, затрачиваемых на само математическое действие.
Проектируя свои графические процессоры так, чтобы они выполняли большие вычисления одной инструкцией, а не последовательностью таковых, Nvidia достигла значительных результатов. Накладные расходы все еще существуют, как отметил Далли, но благодаря сложным инструкциям они распределяются на большее количество математических операций. Например, сложная инструкция умножения целочисленных матриц и накопления (IMMA) имеет накладные расходы, составляющие всего 16% от энергетической стоимости математической операции.
Закон Мура: увеличение в 2,5 раза
Поддержание прогресса Закона Мура стоит миллиардов долларов инвестиций, требует очень сложного инжиниринга и вызывает массу международных опасений. Однако он влияет только на часть прироста производительности графических процессоров Nvidia. Компания постоянно использует самые передовые технологии производства. H100 производят по техпроцессу TSMC N5 (5 нанометров), и только в конце 2022 года этот производитель микросхем начал первоначальное производство следующего поколения N3.
Разреженность: увеличение в 2 раза
После обучения в нейронной сети многие нейроны могут оказаться, по сути, ненужными. Для некоторых сетей «можно убрать половину или даже больше нейронов и не потерять в точности», по мнению Далли. Их весовые значения равны нулю или близки к нему. Таким образом, они просто не вносят вклад в результат, и их учет в вычислениях — это лишняя трата времени и энергии.
Преобразование этих сетей в «разреженные» для снижения вычислительной нагрузки — сложная задача. Однако с A100, предшественником H100, Nvidia представила то, что называет структурированной разреженностью. Это аппаратное обеспечение, которое может принудительно инициировать 2 из каждых 4 возможных событий обрезки, что приводит к созданию новой, более маленькой матрицы вычислений. «Мы еще не закончили с разреженностью. Нам нужно что-то сделать с активациями и можно добиться большей разреженности в весах», — добавил Далли.
ITGLOBAL.COM предлагает бизнесу сервис AI Cloud — GPU cloud compute, где ВМ работают с графическими видеокартами NVIDIA A800, тензорными ядрами и 80 GB оперативной памяти. С помощью аренды облачных GPU-серверов компании получают вычислительные мощности без необходимости инвестиций в оборудование и долгого ожидания поставок.