[HN Gopher] Controlling GPT-3 with Logit Bias
___________________________________________________________________
Controlling GPT-3 with Logit Bias
Author : ve55
Score : 40 points
Date : 2021-01-25 14:19 UTC (8 hours ago)
(HTM) web link (medium.com)
(TXT) w3m dump (medium.com)
| sweezyjeezy wrote:
| Not sure if useful - but if you know the initial biases of
| outputs, you can recalibrate these yourselves, provided you have
| output probabilities for all tokens (or all non-negligible ones
| at least).
|
| Say the model outputs n tokens, and the prior (bias) in the model
| for tokens is m = (m_1, m_2, .... m_n), and the new prior you
| want is n=(n_1, n_2, ..._)
|
| Then if the model outputs prediction p = (p_1, ... , p_n) for all
| tokens, then the new output you are looking for is
|
| bias_shift(p) = softmax(logit(p) + log(n) - log(m))
|
| You can prove this using Bayes rule + a bit of algebra. Most ML
| people don't seem to know this trick, but it's super useful for
| domain adaptation / class upsampling, where you know that the
| class balance in your training set is different to the one you
| want to predict on.
| albertzeyer wrote:
| This is like the density ratio approach
| (https://arxiv.org/abs/2002.11268). The Hybrid Autoregressive
| Transducer also uses a similar idea
| (https://arxiv.org/abs/2003.07705).
|
| Do you really need the renormalization, i.e. the outer softmax?
| gradys wrote:
| This is a great tip, thanks! Is this essentially importance
| sampling? Reminds me of a technique for off-policy RL.
| 317070 wrote:
| They are related, but not the same. This recalibrating of
| logits is basically what you would do afterwards, to correct
| for the fact that you have been importance sampling your
| replay buffer.
___________________________________________________________________
(page generated 2021-01-25 23:02 UTC)