В последние годы большие языковые модели (LLM) стали неотъемлемой частью многих технологий, применяемых в самых разных сферах — от научных исследований до создания интеллектуальных помощников и генерации творческого контента. Однако, вместе с достижениями в области качества моделей возникает серьёзный и малоосвещённый вызов: воспроизводимость результатов работы LLM оказывается очень неустойчивой. Невероятно, но изменение таких, казалось бы, незначительных параметров, как количество используемых GPU, версия драйверов или размер пакета для оценки, может привести к существенным расхождениям в ответах модели. В частности, в задачах, требующих сложного логического вывода, например, при решении математических задач или проведении рассуждений, подобные расхождения особенно выражены. Исследование, проведённое группой исследователей во главе с Цзяем Юанем, показало, что частичные округлённые вычисления при использовании форматов с уменьшенной точностью, таких как bfloat16, способны вызвать каскад эффектов, когда небольшие ошибки на ранних этапах вывода приводят к полностью различающимся результатам.
Это свидетельствует о том, что арифметика с плавающей точкой, используемая в современных LLM, из-за своей ассоциативной природы при низкой точности может критически влиять на точность и воспроизводимость моделей. Так, модели вроде DeepSeek-R1-Distill-Qwen-7B при применении жадного декодирования под bfloat16 демонстрируют до 9% вариаций в точности и разницу вплоть до 9000 токенов в длине ответа только из-за разницы в аппаратных средствах и конфигурации. Такая нестабильность недопустима в ответственных областях применения — например, при использовании ИИ в медицине, финансах, образовании, где за каждым ответом стоит значительный риск или ответственность за точность. Одной из основных причин подобного поведения является ограниченный разряд чисел с плавающей точкой, из-за которого операции перестают быть строго ассоциативными. В результате даже элементарные арифметические операции могут давать небольшие, но существенные отличия в накопленных вычислениях модели.
Со временем эти расхождения умножаются и ведут к различиям в итоговых результатах. Кроме того, ПО и аппаратные платформы по-разному реализуют вычислительные ядра, что усугубляет проблему — идентичный код при изменении драйвера или поколения графического процессора может показать разный вывод. В ответ на выявленные пробелы в воспроизводимости группы разработчиков предложили инновационное решение — новую тонкую инференсную архитектуру под названием LayerCast. Основная идея заключается в том, чтобы хранить веса модели в упрощённом формате с 16-битной точностью, что позволяет сэкономить память, но при этом выполнять основные вычисления в высокоточной FP32 арифметике. Это сочетание гарантирует устойчивость вычислений без огромного потребления ресурсов и повышает стабильность результатов модели при изменении аппаратной среды.
Такой подход отличается от традиционного перехода на низкоразрядные числовые форматы, которые экономят вычислительные мощности, но жертвуют стабильностью и точностью. LayerCast, напротив, демонстрирует, что возможно достигнуть компромисса и добиться воспроизводимости и консистентности за счёт применения FP32 в критичных вычислительных узлах. Важность этого исследования и разработки нельзя переоценить. Сейчас, когда индустрия ИИ активно использует LLM в приложениях с высоким уровнем доверия, от безопасности до юридических консультаций, стабильность и предсказуемость результатов становятся обязательным условием. Рандомизация и вариативность в выводе могут приводить не только к снижению качества, но и к серьёзным ошибкам и критическим неисправностям в системах.
Помимо LayerCast, эта работа призывает индустрию к осознанию необходимости строгого контроля и стандартизации вычислительной точности при эксплуатации и оценке LLM. Этические и технические аспекты требуют, чтобы модель, представленная к тестированию или развертыванию, имела гарантированную воспроизводимость в любых условиях, что сегодня напрямую зависит от выбранной числовой точности и аппаратной платформы. Это также побуждает исследователей и разработчиков пересмотреть методы валидации и бенчмаркинга языковых моделей. Стандарты, игнорирующие влияние аппаратного окружения и числовой точности, не могут дать достоверный ответ о реальном уровне интеллекта или функциональности модели. В конечном итоге, проверка должна обеспечивать приемлемые отклонения и возможность воспроизводства, чтобы исключить влияние случайных или системных неопределённостей, вызванных вычислительными особенностями.
Большие языковые модели становятся не просто технологией, а платформой, на которой строится множество критичных современных систем. Их надёжность превращается в условие доверия между пользователями и технологиями. Возникает необходимость взглянуть на вычислительные аспекты с математической и инженерной точек зрения, уделяя первостепенное внимание тому, как именно реализуются операции с числами с плавающей точкой и как это влияет на процессы генерации текста и принятия решений. В настоящее время обсуждения о снижении точности для повышения производительности и снижения энергозатрат в области ИИ не должны игнорировать опасности такой экономии. Важным выводом становится тот факт, что без предусмотрительных мер есть риск существенно подорвать стабильность и точность работы LLM.
Внедрение же решений, подобных LayerCast, приближает индустрию к компромиссному сценарию: оптимальная эффективность и необходимая точность для надёжных результатов. Таким образом, вопрос в заголовке — «Дайте мне FP32 или дайте мне смерть» — можно считать современным девизом отвечающим вызовам, с которыми сталкиваются разработчики и исследователи в эпоху больших языковых моделей. Нельзя позволить себе пренебрегать числовой точностью и устойчивостью вычислений в угоду удобству или экономии, поскольку от этого напрямую зависит качество, безопасность и доверие к искусственному интеллекту. И, возможно, именно дорогая цена правильной и стабильной арифметики — единственный путь к долгосрочному развитию технологий, открытию новых горизонтов и созданию надёжных систем, на которые можно положиться.