feedback

AI саммари

Лаборатория Thinking Machines Миры Мурати запустила блог, представив исследование Хораса Хе о недетерминированности LLM. Выявлена ключевая причина: отсутствие batch-инвариантности в ядрах GPU, а не только неассоциативность операций с плавающей точкой. Предложено решение для достижения детерминированности, которое успешно протестировано на Qwen3-235B, но приводит к снижению производительности в 1.6 раза.
от FlowFeed AI
Обновлено: 10 hours ago

Стартап Миры Мурати Thinking Machines анонсировал свой рисерч блог Connectionism, и в нём уже опубликована первая статья. Кстати, название Connectionism отсылает к направлению в ИИ 80-х, изучавшему сходство нейросетей с биологическим мозгом.


В блоге Thinking Machines обещают публикации на разные темы, от промпт-инжиниринга до проектирования ядер. Первая статья, написанная исследователем Хорасом Хе, посвящена одной из важнейших технических тем: воспроизводимости (детерминированности) ответов LLM

LLM (Large Language Model) - большая языковая модель, способная генерировать текст, переводить языки, писать различные виды контента и отвечать на вопросы информативным образом.
.


Ответы LLM обычно случайны: на один и тот же промпт модель может отвечать по-разному. Это связано с тем, что при инференсе

Инференс (Inference) — процесс использования обученной модели для получения предсказаний на новых данных.
выбирается не только самый вероятный токен. Здесь присутствует доля случайности, управляемая гиперпараметром "температура".


Если температура близка к 1, модель чаще выбирает токены с меньшими вероятностями, что делает ответы разнообразнее и креативнее. Если температура близка к 0, выбираются наиболее вероятные токены, и ответы становятся стабильнее.


По логике, при температуре = 0 ответы на одинаковые запросы не должны отличаться. Но, как показывает практика, это не так.


Почему? Долгое время считалось, что главная причина недетерминированности - это комбинация параллельных вычислений и неассоциативности операций с плавающей точкой на GPU. Однако Хорас Хе показывает, что это не полная картина.


Главная причина недетерминированности, выявленная в исследовании Thinking Machines, заключается в отсутствии batch-инвариантности в ядрах GPU. Когда модель работает, на сервер поступают запросы от множества пользователей. В зависимости от нагрузки, фреймворк объединяет их в батчи разного размера: например, 8 последовательностей, затем 32, потом снова 4. Это делается для эффективной загрузки GPU.


Сама по себе операция умножения матриц (матмуль), даже при распараллеливании, даёт детерминированные результаты для одинаковых входов (run-to-run deterministic). Но изменение размера батча нарушает эту детерминированность. Математически это странно, так как элементы в батче должны обрабатываться независимо, но оптимизации под GPU (другой порядок операций, разбиение на блоки) приводят к таким результатам. В итоге, из-за изменений размера батча числа внутри модели немного "плавают". Даже при температуре 0 эти небольшие различия могут привести к тому, что модель выберет другой токен, и ответ пойдёт по другому пути.


В статье предлагается создать batch-инвариантные версии ключевых операций. По результатам тестирования на модели Qwen3-235B удалось добиться полной идентичности ответов — правда, ценой снижения производительности в 1,6 раза. Конечно, это еще не полное оправдание полученного финансирования, но хорошая иллюстрация его полезности.


Конечно, пользователям это реализовывать не нужно, но для отладки, элаймент тестов и безопасности – полезно. Thinking Machines порадовали этим глубоким исследованием. Надеемся, в блоге будут чаще появляться новые материалы.


Более подробно о исследовании можно узнать по ссылке: thinkingmachines.ai/blog/defeating-nondeterminism-in-llm-inference/. Дополнительная информация также доступна на TechCrunch.

Thinking Machines раскрывает причины недетерминированности LLM
Link copied