Вопрос по обучению модели
Я правильно понимаю, что другой размер токенизатора приводит к тому, что меняется размер входного и выходного слоя, что влияет на все веса между ними и модель по сути надо обучать с нуля? Что остается от оригинального квена?
Вы отчасти только правы.
- Да меняются размер и содержимое входного и выходного слоя (инициализация идет усреднением за счет информации о прежних токенах)
- Но если токен был и там и тут, не важно под каким индексом, его вектор остается прежним
- В разработанной методологии после переноса модели на новую токенизацию происходит этап дообучения, но только эмбеддингов, все слои между ними остаются как и были в квене.
- Некоторая информация по методологии есть в статье https://huggingface.co/papers/2312.02598
Спасибо за ответ! Ваши методы могут помочь не только для улучшения инференса на заданных языках, но и в создании обрезанных, легковесных моделей. Я сейчас в качестве интереса пытаюсь вырезать все языки, кроме английского. На первый взгляд выгода для 1.5В версии небольшая, примерно 10Мб без кириллицы, иероглифов, иврита и др. Но ведь можно вырезАть не только языки, но целые определенные группы токенов и делать узко заточенные модели без полного переобучения. Еще раз спасибо за ответ, буду дальше разбираться
В руадапт версии токенайзера, кстати, нет большинства иероглифов квена, так как по сути это cl100k_base токенайзер + русские токены. Сам же квен тоже основан на cl100k_base, но с добавлением иероглифов (в основном).