INNER CODE UNIT · Python
logits
hyperonym/basaran · basaran/model.py:258
logits = outputs.logits[:, -1, :]
with torch.inference_mode():
logits = processor(input_ids, logits)
probs = torch.nn.functional.softmax(logits, dim=-1)
# Select deterministic or stochastic decoding strategy.
if (config.top_p is not None and config.top_p <= 0) or (
config.temperature is not None and config.temperature <= 0
):
tokens = torch.argmax(probs, dim=-1)[:, None]
else:
tokens = torch.multinomial(probs, num_samples=1)
# Collect log probabilities of the selected tokens.
token_logprobs = torch.gather(probs, 1, tokens)
token_logprobs = torch.log(token_logprobs + 1e-7).squeeze(1)
tokens = tokens.squeeze(1)