nano-sampler

nano-vllm/nanovllm/layers/sampler.py · bb823b3 · L5–12 · 固定 commit 上游

这是固定版本源码的只读摘录;可在线阅读,也可通过上游链接查看原文件。

5class Sampler(nn.Module):
6
7    @torch.compile
8    def forward(self, logits: torch.Tensor, temperatures: torch.Tensor):
9        logits = logits.float().div_(temperatures.unsqueeze(dim=1))
10        probs = torch.softmax(logits, dim=-1)
11        sample_tokens = probs.div_(torch.empty_like(probs).exponential_(1).clamp_min_(1e-10)).argmax(dim=-1)
12        return sample_tokens