Sobes.tech
Senior
16

Расскажи про параметры генерации LLM: температура, top-k, top-p и другие.

Companies where asked
цифролаб

Answer from AI

sobes.tech AI

Параметры генерации LLM (Large Language Models) влияют на разнообразие и качество сгенерированного текста:

  • Температура (temperature) — управляет случайностью выбора следующего слова. Низкие значения (близкие к 0) делают вывод более детерминированным и консервативным, высокие (например, 0.8-1.0) — более разнообразным и креативным.

  • Top-k — ограничивает выбор следующего слова только k наиболее вероятными вариантами. Например, top-k=50 означает, что модель выбирает следующее слово только из 50 самых вероятных.

  • Top-p (nucleus sampling) — выбирает следующий токен из минимального множества слов, суммарная вероятность которых превышает порог p (например, 0.9). Это более гибкий способ ограничения, чем top-k.

Пример использования на Python с библиотекой Hugging Face:

from transformers import GPT2LMHeadModel, GPT2Tokenizer
import torch

tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2LMHeadModel.from_pretrained('gpt2')

input_text = "Сегодня погода"
input_ids = tokenizer.encode(input_text, return_tensors='pt')

outputs = model.generate(
    input_ids,
    max_length=50,
    do_sample=True,
    temperature=0.7,
    top_k=50,
    top_p=0.9
)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

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