Революция в числовых форматах

Искусственный интеллект привёл к беспрецедентному взрыву в разработке новых числовых форматов — способов, которыми числа представляются в цифровом виде в компьютерном оборудовании. Стремление обучать и запускать всё более крупные нейронные сети с более низкими затратами привело инженеров к исследованию всех возможных способов снижения количества битов, используемых для представления данных, сокращая при этом время вычислений и потребление энергии. Форматы, такие как bfloat16 от Google, TensorFloat-32 от NVIDIA, и различные 8-битные и даже 4-битные представления, стали стандартными инструментами в арсенале инженеров ИИ.

Эти форматы с пониженной точностью работают для ИИ, потому что нейронные сети удивительно устойчивы к численной неточности. Небольшая ошибка округления в значении активации одного нейрона поглощается статистическим усреднением, которое происходит по миллионам параметров. Обучение может потребовать немного больше итераций для сходимости, но скорость, полученная при обработке меньших чисел, намного перевешивает стоимость немного более шумных вычислений.

Успех этих оптимизированных под ИИ форматов создал естественный соблазн: если пониженная точность работает для нейронных сетей, почему бы не применить тот же подход к научным вычислениям? Ответ, как объясняет Laslo Hunhold в подробном интервью IEEE Spectrum, заключается в том, что математика здесь иная.

Почему научные вычисления отличаются

Научные вычисления охватывают вычислительную физику, гидродинамику, моделирование строительных конструкций, климатическое моделирование, молекулярную динамику и десятки других областей, где компьютеры решают системы уравнений, описывающих физические явления. Эти симуляции отличаются от вычислений нейронной сети в фундаментальном смысле: они требуют численной точности, а не просто статистической корреляции.

Когда физик моделирует турбулентный поток воздуха над крылом, каждая вычислительная ячейка должна точно представлять значения давления, скорости и температуры, которые взаимодействуют с соседними ячейками через чётко определённые физические законы. Небольшая численная ошибка в одной ячейке не усредняется — она распространяется по всей симуляции, потенциально растя экспоненциально через явление, называемое численной неустойчивостью. То, что начинается как незаметная ошибка округления, может перерасти в симуляцию, которая производит физически бессмысленные результаты.

Эта чувствительность к точности не является недостатком программного обеспечения для моделирования. Это отражает математическую природу решаемых уравнений в частных производных. Многие из этих уравнений по сути хаотичны, что означает, что небольшие возмущения в начальных условиях или промежуточных вычислениях приводят к кардинально различным результатам. Вся дисциплина численного анализа существует для понимания и контроля этих ошибок, и десятилетия исследований установили, что определённые минимальные требования точности должны быть выполнены для получения надёжных результатов симуляции.

Вызов создания пользовательских форматов

Hunhold, недавно присоединившийся к базирующейся в Барселоне компании Openchip в качестве инженера ИИ, работает над разработкой числовых форматов, специально разработанных для научных вычислений — не заимствованных из ИИ. Его подход признаёт, что требования точности научных симуляций качественно отличаются от требований нейронных сетей, и что простое применение форматов ИИ к научным проблемам не является жизнеспособным решением.

Задача многогранна. Научные вычисления требуют более высокую точность в определённых частях диапазона чисел и могут допускать более низкую точность в других. Распределение значений в физической симуляции не похоже на распределение активаций в нейронной сети. Формат, оптимизированный для одного приложения, может быть активно вредным для другого.

  • Числовые форматы ИИ жертвуют точностью ради скорости, полагаясь на устойчивость нейронных сетей к ошибкам округления
  • Научные симуляции требуют численной точности — небольшие ошибки могут привести к катастрофическим результатам
  • Форматы ИИ с пониженной точностью могут привести к физически бессмысленным результатам в инженерных симуляциях
  • Исследователи разрабатывают пользовательские числовые форматы, специально предназначенные для научных вычислений
  • Распределение значений в физических симуляциях принципиально отличается от активаций нейронных сетей

Аппаратное измерение

Проблема выходит за пределы программного обеспечения в область проектирования оборудования. Современные ускорители ИИ — GPU и пользовательские микросхемы от NVIDIA, Google, AMD и стартапов — всё чаще оптимизированы под конкретные числовые форматы, используемые в машинном обучении. Их арифметические блоки предназначены для обработки bfloat16, FP8 и других родных форматов ИИ с максимальной пропускной способностью, в то время как производительность традиционной арифметики двойной точности стагнировала или даже снизилась в относительном выражении.

Эта тенденция в аппаратном обеспечении создаёт практическую проблему для научных вычислений. Если производители микросхем продолжат приоритизировать форматы, специфичные для ИИ, учёные и инженеры могут обнаружить, что новейшее и наиболее мощное вычислительное оборудование плохо подходит для их рабочих нагрузок. Микросхема, которая может выполнять триллионы низкоточных операций ИИ в секунду, может испытывать затруднения с арифметикой двойной точности, которая требуется для климатического моделирования или структурного анализа.

Работа Hunhold над пользовательскими научными форматами отчасти мотивирована этой аппаратной реальностью. Если научные вычисления смогут определить числовые форматы, которые достигают приемлемой точности с меньшим количеством битов, чем традиционная двойная точность, эти форматы могут быть реализованы в будущем оборудовании наряду с форматами ИИ, обеспечивая, чтобы научные рабочие нагрузки получали пользу от тех же производственных достижений, которые стимулируют развитие микросхем ИИ.

Последствия ошибки

Последствия применения неадекватной численной точности к научным вычислениям не являются абстрактными. Инженерные симуляции определяют конструкции летательных аппаратов, системы безопасности ядерных реакторов, нагрузки мостов и молекулярные взаимодействия в фармацевтике. Симуляция, которая возвращает результат, выглядящий правдоподобно, но численно неправильный, может привести к конструкциям, которые катастрофически выходят из строя в реальном мире.

Замечательный успех индустрии ИИ в вычислениях с пониженной точностью является подлинным достижением, но он сопровождается оговоркой, специфичной для области, которую сообщество научных вычислений хочет подчеркнуть: то, что работает для распознавания образов, не автоматически работает для физики. Числа должны быть правильными, и 'правильность' означает нечто совсем иное, когда жизни людей зависят от точности симуляции.

Эта статья основана на материалах IEEE Spectrum. Прочитайте оригинальную статью.