Почему GPT-4 дает разные ответы с одинаковым приглашением и температурой =0?
Это мой код для вызова модели gpt-4:
messages = [
{"role": "system", "content": system_msg},
{"role": "user", "content": req}
]
response = openai.ChatCompletion.create(
engine = "******-gpt-4-32k",
messages = messages,
temperature=0,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
answer = response["choices"][0]["message"]["content"]
Сохраняя system_msg и req постоянными, с температурой = 0, я получаю разные ответы. Например, когда я в последний раз запускал это 10 раз, я получил 3 разных ответа. Ответы схожи по концепции, но различаются по семантике.
Почему это происходит?
3 ответа
В этом блоге, автором которого является Шерман Ченн, утверждается, что:
Недетерминизм в GPT-4 вызван разреженным MoE [сочетанием экспертов].
Нашел решение здесь:https://community.openai.com/t/observing-discrepancy-in-completions-with-temperature-0/73380 .
TLDR; некоторые расхождения возникают из-за операций с плавающей точкой, иногда когда 2 токена имеют очень близкие вероятности. Даже одно изменение токена влияет на всю цепочку и приводит к расходящимся поколениям.
Мое понимание нестабильности GPT4:
- учитывая уникальный процесс и последовательные вызовы API с температурой 0,0 и top_p 0,0, API является последовательным и стабильным (т. е. одно и то же приглашение ввода приводит к одному и тому же выводу)
- одно и то же приглашение в новом процессе может иметь разные результаты
Одним из возможных объяснений является то, что у них есть несколько конечных точек для обработки объема входящих запросов, они не имеют одинаковых настроек/инициализации и несовместимы друг с другом. Но если запросы случайно попадают в одну и ту же конечную точку, это согласовано (тот же процесс, тот же временной интервал, вероятно, то же http-соединение).
Кроме того, весьма вероятно, что openAI проведет несколько параллельных A/B-тестов с разными настройками сервисов и разными моделями.
Я не говорю, что GPT4 полностью детерминирован (с соответствующими параметрами), но возможны многие другие объяснения.