Pull to refresh
18
0
Vasilii Zemlianov @re9ulus

Senior MLE

Send message

Для 4-битного будет 8 слева, 9 справа

Все так, для 4х-битного будет:

  • 8 слева, самое правое будет верхней границей диапазона - нулем;

  • 9 справа, самое левое будет нижней границей диапазона - нулем.

Дальше по этому нулю мы их "склеиваем" и говорим что представление нуля у них общее.

Получаем:

  • 7 значений меньше нуля;

  • 8 значений больше нуля;

  • представления для нуля.

16 значений, уложились в 4 бита.

С такой литературой не подскажу. Возможно получится вдоховиться математикой из VQ-VAE (если упростить: кодируют изображение векторами из небольшого словаря, потом восстанавливают обратно) и попробовать перенести на свою задачу. Но в таком виде не работает условие "без НС".

Спасибо за интерес к теме!

Идея частично перекликается с тем, что предложили авторы QLoRA и можно подумать в эту сторону.

Если пытаться напрямую дистиллить знания к вантизованную модель (если я правильно понял идею), могут быть сложности с тем, чтоб докинуть градиенты до квантизованных весов. Неочевидно как это сделать, когда веса уже лежат в целочисленных int8.

Подружить эту технику с дистилляцией можно в другую сторону - сначала отдистиллировать большую модель в маленькую, а потом квантизовать маленькую модельку. В зависимости от требований к скорости/точности.

Еще один вариант соблюсти требования по скорости/качеству: можно баллансировать скорость и качество по разному квантизуя разные слои сети. Например часть слоев в 8 бит, часть в 4 бита. Это скорее история не про LLM, но на более простых архитектурах могут получаться интересные результаты.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity