Почему 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 полностью детерминирован (с соответствующими параметрами), но возможны многие другие объяснения.

Другие вопросы по тегам