Нейролента - подборка новостей о нейронных сетях, ChatGPT

Так в чём же фишка? Авторы замечают, что...

Так в чём же фишка? Авторы замечают, что не все токены одинаково полезны при тренировке. Есть какой-то мусор, который не нужно предсказывать, есть вещи, которые сами по себе сложно предсказать (например, вымышленные фамилии).

Они берут игрушечную модель TinyLlama-1B, тренируют её, а затем анализируют изменение предсказаний на отложенной выборке. Оказывается, что:
— 51% токенов как предсказывались хорошо, так и продолжают
— лишь для 26% токенов появляется существенное улучшение в точности их предсказаний
— (и ещё есть 12% где предсказания ухудшаются, но это пофиг)

При этом если посмотреть на динамику изменения лосса (того, насколько хорошо модель предсказывает), то во время тренировки будут заметны большие флуктуации, которые мешают сходимости модели. Её как-бы шатает туда-сюда, делается бесполезная работа. Давайте сфокусируемся на основном!

Для этого отбираем очень высококачественный датасет, тренируем на нём 7B модель, а затем используем её для разметки «грязного» тренировочного корпуса. Для каждого токена мы оцениваем лосс предсказаний. Это значение называется референсным.

Затем во время тренировки мы считаем лосс текущей модели и сравниваем с референсным. И тут и кроется весь трюк:
— если и то, и другое очень маленькое — то и хрен с ним! Модели уже хорошо предсказывают
— если и то, и другое очень большое — то и хрен с ним! Модель не может это предсказывать
— и самое интересное: если референсная модель научилась предсказывать хорошо (лосс маленький), а текущая модель предсказывает плохо — то это непорядок, надо исправлять.

И вот токены, попадающие в последнюю группу, и являются наиболее важными для обучения! В них и кроется весь смысл. Авторы добавляют динамический отбор в рамках батча, по их замерам лучше всего брать топ-60% токенов, оцененных по разнице референсного значения и предсказания текущей модели. То есть на 40% слов мы не учимся (но они участвуют в формировании контекста) — отсюда не течёт градиент.

Давно ждал такой работы, идея на поверхности — перевзвешивать примеры во время обучения, игнорировать шлак. Правда, я не до конца удовлетворён исследованием:
— маленькая модель получила прирост метрик, в то время как большая только сравнялась с DeepSeek. Не ясно, получится ли улучшить и тут.
— тестировали только 7B модели, быть может на 70B+ не будет работать — например, они могли естественным образом развить склонность к выявлению и использованию полезных данных (про это я кажется третий раз за неделю пишу?)