Миф о полной детерминированности
В индустрии генеративного ИИ широко распространено мнение, что установка параметра temperature=0 гарантирует полностью детерминированный вывод. Однако новые данные из Towards Data Science опровергают это заблуждение. Оказывается, даже при нулевой температуре, которая должна выбирать токен с наивысшей вероятностью, результаты могут различаться от запуска к запуску.
Механизм сбоев: почему это происходит?
Причина кроется не в алгоритме выборки, а в аппаратной реализации вычислений с плавающей запятой. Различия в порядке выполнения операций (например, из-за параллельных вычислений на GPU) приводят к микроскопическим расхождениям в значениях логитов. Когда вероятности нескольких токенов находятся в непосредственной близости, эти аппаратные шумы могут изменить итоговый выбор «победителя».
Ключевые метрики и наблюдения
Авторы исследования выделили конкретные параметры, при которых расхождения становятся критичными:
- Порог расхождений: Идентичные завершения текста (completions) начинают разваливаться после примерно 100 токенов.
- Частота сбоев: Существует формула, позволяющая рассчитать вероятность смены топ-токена, которая зависит от разницы в логитах и точности вычислений.
- Влияние архитектуры: Разные реализации моделей (например, через разные библиотеки вроде vLLM или HuggingFace Transformers) могут демонстрировать разную степень нестабильности даже при одинаковых гиперпараметрах.
Практические последствия для разработчиков
Для инженеров, работающих с LLM, это означает, что:
- Полная воспроизводимость результатов требует не только
temperature=0, но и фиксации случайных семян (seeds), а также использования детерминированных режимов вычислений на GPU (например,torch.backends.cudnn.deterministic = True). - При тестировании моделей необходимо учитывать, что «одинаковые» промпты могут давать разные результаты в разных средах выполнения.
- Для критически важных приложений (медицина, финансы) простого обнуления температуры недостаточно для гарантии идентичности выводов.
Вывод
Температура 0 — это не панацея для детерминизма. Это лишь инструмент, который должен использоваться в комплексе с другими мерами по контролю воспроизводимости. Понимание аппаратных ограничений плавающей запяты становится важным навыком для современных AI-инженеров.
Источник: Towards Data Science ↗
