{ "

Top-k Sampling

\n

Here we first pick the top-k tokens from the distribution of logits, and then sample from them.

\n

Here's an experiment that uses these sampling techniques.

\n": "

\u0d89\u0dc4\u0dc5-K\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd3\u0db8\u0dca

\n

\u0db8\u0dd9\u0db1\u0dca\u0db1\u0d85\u0db4\u0dd2 \u0db4\u0dc5\u0db8\u0dd4\u0dc0 \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca \u0db6\u0dd9\u0daf\u0dcf \u0dc4\u0dd0\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0d89\u0dc4\u0dc5\u0db8 \u0d9a\u0dda \u0da7\u0ddd\u0d9a\u0db1 \u0dad\u0ddd\u0dbb\u0dcf\u0d9c\u0dd9\u0db1 \u0d92\u0dc0\u0dcf\u0dba\u0dd2\u0db1\u0dca \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dd2\u0db8\u0dd4.

\n

\u0db8\u0dd9\u0db1\u0dca\u0db1\u0db8\u0dd9\u0db8 \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2 \u0dc1\u0dd2\u0dbd\u0dca\u0db4\u0dd3\u0dba \u0d9a\u0dca\u0dbb\u0db8 \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1 \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8\u0d9a\u0dca .

\n", "

Top-k Sampler

\n": "

\u0d89\u0dc4\u0dc5-K\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2

\n", "

Sample from logits

\n": "

\u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca\u0dc0\u0dbd\u0dd2\u0db1\u0dca \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba

\n", "

New logits filled with _^_0_^_; i.e. zero probability

\n": "

\u0db1\u0dc0\u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca \u0db4\u0dd2\u0dbb\u0dd3 \u0d87\u0dad _^_0_^_; i.e. \u0dc1\u0dd4\u0db1\u0dca\u0dba \u0dc3\u0db8\u0dca\u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf\u0dc0

\n", "

Pick the largest _^_0_^_ logits and their indices

\n": "

\u0dc0\u0dd2\u0dc1\u0dcf\u0dbd\u0dad\u0db8 _^_0_^_ \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca \u0dc3\u0dc4 \u0d92\u0dc0\u0dcf\u0dba\u0dda \u0daf\u0dbb\u0dca\u0dc1\u0d9a \u0dad\u0ddd\u0dbb\u0db1\u0dca\u0db1

\n", "

Sample from the top-k logits with the specified sampler.

\n": "

\u0db1\u0dd2\u0dc1\u0dca\u0da0\u0dd2\u0dad\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba \u0dc3\u0db8\u0d9f \u0d89\u0dc4\u0dc5-k \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca \u0dc0\u0dbd\u0dd2\u0db1\u0dca \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba.

\n", "

Set the values of the top-k selected indices to actual logits. Logits of other tokens remain _^_0_^_

\n": "

Top-k\u0dad\u0ddd\u0dbb\u0dcf\u0d9c\u0dad\u0dca \u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dc0\u0dbd \u0d85\u0d9c\u0dba\u0db1\u0dca \u0dc3\u0dd0\u0db6\u0dd1 \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca \u0dc0\u0dbd\u0da7 \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1. \u0dc0\u0dd9\u0db1\u0dad\u0dca \u0da7\u0ddd\u0d9a\u0db1 \u0dc0\u0dbd \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca \u0d89\u0dad\u0dd2\u0dbb\u0dd2\u0dc0 \u0db4\u0dc0\u0dad\u0dd3 _^_0_^_

\n", "\n

_^_2_^_ can be any sampler that takes a logits tensor as input and returns a token tensor; e.g. `TemperatureSampler'.

\n": "
  • _^_1_^_ \u0d89\u0dc4\u0dc5-k \u0da7\u0ddd\u0d9a\u0db1 \u0dc3\u0db3\u0dc4\u0dcf \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0d9a\u0dbb\u0dd4 \u0dc0\u0dda
  • \n

    _^_2_^_ \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca \u0da7\u0dd9\u0db1\u0dca\u0dc3\u0dbb\u0dba\u0d9a\u0dca \u0d86\u0daf\u0dcf\u0db1 \u0dbd\u0dd9\u0dc3 \u0d9c\u0dd9\u0db1 \u0da7\u0ddd\u0d9a\u0db1\u0dca \u0da7\u0dd9\u0db1\u0dca\u0dc3\u0dbb\u0dba\u0d9a\u0dca \u0db1\u0dd0\u0dc0\u0dad \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0db1 \u0d95\u0db1\u0dd1\u0db8 \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba\u0d9a \u0dc0\u0dd2\u0dba \u0dc4\u0dd0\u0d9a\u0dd2\u0dba; \u0d8b\u0daf\u0dcf: `\u0d8b\u0dc2\u0dca\u0dab\u0dad\u0dca\u0dc0 \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd\u0dba\u0d9a\u0dca'.

    \n", "A PyTorch implementation of top-k sampling from language models.": "\u0db7\u0dcf\u0dc2\u0dcf \u0d86\u0d9a\u0dd8\u0dad\u0dd2 \u0dc0\u0dbd\u0dd2\u0db1\u0dca \u0d89\u0dc4\u0dc5 \u0d9a\u0dda \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd3\u0db8\u0dca PyTorch \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8.", "Top-k Sampling": "\u0d89\u0dc4\u0dc5-K \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd3\u0db8\u0dca" }