Пейджер

🌍 Всем привет! 👋

🌍 Всем привет! 👋

А я вернулся из отпуска 😫, и это не мое желание, а жизненная необходимость, при проектировании человека была заложена то ли фича то ли бага, нам всегда хочется кушать 🍔 (желательно вкусно), а для этого нужны деньги, поэтому рабооотать 👨‍💻 =)

Я вот сейчас активно шотганю, это когда преобразуется весь проект в структурированный текстовый документ, и мы пихаем его вместе с нашим вопросом или просьбой, таким образом у нас не теряется контекст при обращении к моделям.

И возникла необходимость выставить temperature LLM пониже, НО зачем 🤷‍♀️? Я был без понятия, сказали скрутить на 0.1, я cкрутил, но это был бы не я, если бы не разобрался и не поделился этой информацией с вами.

Температура это про 36.6?

Не совсем, LLM Temperature — это параметр, который определяет будет результат более случайным и креативным или более предсказуемым.

🔥 Высокая температура → больше креатива и неожиданностей.
❄️ Низкая температура → более строгие и повторяемые ответы.

При генерации текста модель рассматривает варианты возможных следующих слов, каждое из которых имеет определенную вероятность.

Например у нас есть фраза: "Собака кушает…"

Модель может присвоить высокие вероятности таким словам, как “мясо”, “корм” или “косточку” и по этой же логике низкие вероятности для слов “семечки”, “апельсины” и тд.


⚙️ Как это работает внутри?

Температура это числовое значение. Можно выделить основные 3 положения для температуры:

🚩 <1.0 - в таком случае модель почти всегда берёт самый вероятный вариант и ответы для вас становятся более детерминированными.
🚩 >1.0 - становится более вероятно, что на выходе будут менее вероятные слова в качестве следующего слова.
🚩 1.0 - как правило это настройка по умолчанию, баланс между случайностью и детерминизмом.

Кстати вот что говорят в OpenAI об этом
What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic


🧑‍💻 Пример

from openai import OpenAI

client = OpenAI()

prompt = "Придумай креативное название для кофейни у моря"

# Низкая температура — предсказуемо
low_temp = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": prompt}],
    temperature=0.2
)

# Высокая температура — креативно
high_temp = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": prompt}],
    temperature=0.9
)

print("T=0.2:", low_temp.choices[0].message.content)
print("T=0.9:", high_temp.choices[0].message.content)


Пример вывода:

T=0.2: Кофейня у Моря
T=0.9: Пенные Берега 


🟠 При T=0.2 получили максимально прямой и предсказуемый ответ.

🟠 При T=0.9 неожиданная ассоциация и креатив.

🤫 А что вообще происходит с числом когда мы передаем ?

Внутри модель считает вероятности слов через функцию softmax. Это такая математическая штука, которая берёт «сырые» оценки (логиты) и превращает их в аккуратные вероятности, которые в сумме дают 1.

Математику тута писать не буду, но вот небольшая статья про эту логику.

⭐️ Полезности:

💡 Температура регулирует баланс между точностью и креативом, чем ниже значение — тем стабильнее результат, чем выше — тем разнообразнее и непредсказуемее.

💡 Температура ≠ интеллект модели. Это не «умнее» или «глупее», а «строже» или «свободнее».

💡 Есть пакетик promptfoo который позволяет оценивать качество и безопасность LLM.

💬 Делитесь своим мнением в комментариях👇! Если вам понравилась статья, не забудьте поставить лайк! 👍

#AI
Медиа 1
Хотите больше таких постов?
Подпишитесь на канал и читайте продолжение в Telegram.
Подписаться на @ivanchikovitclub Открыть пост в Telegram