L
LLM is all you need
@llm_is_all_you_need612 подп.
642просмотров
27 октября 2025 г.
Score: 706
logit_bias это параметр генерации, который позволяет контролировать какие токены и с какой вероятностью должна печатать модель. Как он работает... Рассмотрим такой запрос: Столица Франции? Одним словом.. Скорее всего мы получим ответ: Париж. Но мы хотим "услышать" от модели что-то другое. Сначала выясним из каких токенов состоит слово Париж. from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained('/models/qwen/Qwen3-14B') token_ids = tokenizer.encode('Париж') token_text = [tokenizer.decode([token_id]) for token_id in token_ids] print("ID токенов:", token_ids) # [16854, 125947, 16964] print("Текст токенов:", token_text) # ['П', 'ари', 'ж'] Итак, за букву П отвечает токен 16854. Занулим его: from openai import OpenAI client = OpenAI( base_url='http://192.168.0.108:8000/v1', api_key='any' ) prompt = 'Столица Франции? Одним словом.' response = client.chat.completions.create( model = '/Qwen3-14B', messages = [ {'role': 'user', 'content': prompt} ], temperature = 0.9, max_tokens = 500, logit_bias = {16854:-100}, # Выкручиваем вероятность появления токена в 0 extra_body = {'chat_template_kwargs': {'enable_thinking': False}} ) content = response.choices[0].message.reasoning_content print(content) После этого модель не сможеть начать текст с буквы "П" (да и вообще ее напечатать) и мы сможем увидеть в ответе что-то вроде "Ницца", "Версаль" и много чего еще :) Измеряется logit_bias от -100 до 100. При -100 вероятность появления токена около нулевая, а при 100 модель только его и будет печатать :) В logit_bias можно передать сразу несколько токенов: {16854:-100, 125947:-100, 16964:-100}
642
просмотров
1793
символов
Нет
эмодзи
Нет
медиа

Другие посты @llm_is_all_you_need

Все посты канала →
logit_bias это параметр генерации, который позволяет контрол — @llm_is_all_you_need | PostSniper