Короче, ситуация такая. В том случае, когда мы не учим lm_head и embed_tokens, шаблон важен. Особенно, когда спец. токены нормально не обучены (как в случае базовой модели). И в целом с 4 битами, Лорой и 8-битным оптимизатором 24 Гб памяти на градиенты обеих матриц хватает. Но матрицы в идеале должны быть в float32, чтобы модель вообще не развалилась.
И в unsloth это нормально не работает! В их кастомном "быстром" коде для Лоры это не учтено. Я попытался пофиксить это в исходниках, но grad_norm=inf. С lm_head, впрочем, проблем нет, и может быть этого будет достаточно. В итоге план такой:
- Переучить Сайгу с текущим 7к датасетом, но с lm_head и Лорой.
- Параллельно оценивается русская часть tagengo и капелька ещё 4 языков (чтобы научить модель переключать язык в зависимости от языка запроса).
- Переучить Сайгу на 7к + очищенном tagengo.
А если ничего не заработает, то 1) можно перейти на оригинальный шаблон 2) можно забить и пользоваться Suzume.
P.S. Есть ещё мини-прикол: в unsloth нормально не работает маска при батчинге в обучении, то ли из-за flash-attention, то ли из-за их оптимизаций.
И в unsloth это нормально не работает! В их кастомном "быстром" коде для Лоры это не учтено. Я попытался пофиксить это в исходниках, но grad_norm=inf. С lm_head, впрочем, проблем нет, и может быть этого будет достаточно. В итоге план такой:
- Переучить Сайгу с текущим 7к датасетом, но с lm_head и Лорой.
- Параллельно оценивается русская часть tagengo и капелька ещё 4 языков (чтобы научить модель переключать язык в зависимости от языка запроса).
- Переучить Сайгу на 7к + очищенном tagengo.
А если ничего не заработает, то 1) можно перейти на оригинальный шаблон 2) можно забить и пользоваться Suzume.
P.S. Есть ещё мини-прикол: в unsloth нормально не работает маска при батчинге в обучении, то ли из-за flash-attention, то ли из-за их оптимизаций.