Расскажи про параметры генерации LLM: температура, top-k, top-p и другие.
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))
Эти параметры помогают балансировать между предсказуемостью и креативностью модели в зависимости от задачи.