Выбор ответа Middle Квантование и дистилляция обновлено

Как работает int8-квантование

Вопрос

Как устроено симметричное int8-квантование весов?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Масштаб s = maxw / 127, q = round(w / s) в [-127, 127], при вычислениях w ≈ q·s. Масштаб подбирается по тензору, каналу или группе.

Варианты ответа

  1. Каждый вес заменяют его знаком: +1 или -1, а модуль сохраняют в одном общем масштабе на слой
  2. Веса умножают на 8, округляют до целых и хранят в int8 без отдельного масштаба
  3. Удаляют 8 младших слоёв модели и хранят оставшиеся в целых числах
  4. Масштаб s = max|w| / 127, q = round(w / s) в [-127, 127], при вычислениях w ≈ q·sправильный ответ

Разбор

Масштаб подбирается по тензору, каналу или группе. Чем мельче группа, тем точнее, но больше накладных расходов. Выбросы в весах или активациях раздувают масштаб и портят точность остальных значений, с этим борются специальные методы (обработка выбросов, перенос масштаба между активациями и весами).

  • Знак это бинаризация, крайний случай.
  • Умножение на константу без масштаба по диапазону это не квантование: значения выйдут за [-127, 127].
  • Слои не удаляются.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.