Во-вторых, для реализации SVF делается небольшая модификация полученных матриц в виде вектора z размерности r (количество сингулярных чисел), который целевым образом модифицирует отдельные сингулярные числа умножая их на соответствующие компоненты вектора z. То есть финально SVF выглядит как W* = UΣ*V’, где Σ* = Σ ⊗ diag(z). Эти вектора z будут соответствовать отдельным экспертам, специализирующимся на различных задачах. Задача обучения здесь — найти набор этих z-векторов, по одному на каждую downstream задачу. Каждый z-вектор можно представить как одного эксперта, который задаёт силу каждого конкретного сингулярного компонента, полученного после SVD. Какие-то компоненты ослабляются, какие-то усиливаются. Набор SVF векторов z находится через RL старым-добрым алгоритмом REINFORCE с KL-регуляризацией на отклонение от оригинального поведения модели. Вроде как регуляризационные способности SVF помогают RL не попадать в типичные failure modes, не уходить к обучению на next-token prediction и обучаться на небольшом числе примеров. У такого подхода есть несколько преимуществ: 1. Файнтюнинг упрощается, потому что на каждую задачу достаточно найти только значения вектора z (r чисел), не трогая все остальные веса. Для LoRA требуется (m+n)×r′, где m и n — размерности исходной матрицы весов, а r’ — гиперпараметр (тот самый LoRA rank), который должен быть достаточно большим для выразительности (может доходить и до 256, https://huggingface.co/blog/mlabonne/sft-llama3). SVF требует r = min(m, n). Это может выглядеть как ведущее к меньшей выразительности, но возможность влиять на матрицу весов полного ранга даёт больше информации, чем низкоранговые методы. 2. Композиционность улучшается. Веса исходной матрицы разбираются на независимые сингулярные компоненты, в итоге обучаемый вектор z также становится более компонуемым и интерпретируемым. У LoRA таких свойств нет (хотя, пожалуй, комбинируемость LoRA адаптеров вроде какая-то есть) 3. Возможность изменять магнитуду уже имеющихся сингулярных компонент даёт эффективную форму регуляризации с возможностью файнтюна на задачи по сотням точек без опасности серьёзного коллапса или оверфиттинга. Мне не до конца очевидно, откуда это прям следует, с большими коэффициентами в полиномах, например, очень даже можно переобучиться. После обучения на набор заранее заданных задач мы в test-time можем производить адаптацию на конкретный пример и относящуюся к нему задачу. Адаптация заключается в следующем. Это двухпроходный алгоритм, который комбинирует K экспертов — обученных через SVF векторов z. В первом проходе на заданной задаче или промпте Трансформер^2 смотрит на своё поведение при инференсе и определяет оптимизированный к текущим условиям вектор z’ (выбирает лучшего эксперта). Этот z’ используется во втором проходе инференса для того, чтобы получить итоговый ответ с помощью новых адаптированных весов. В работе предлагают три разных подхода к определению z’. 1) Prompt engineering. Создаётся специальный адаптационный промпт, который используется LLM для категоризации входного промпта. В зависимости от ответа извлекается одна из категорий, использовавшихся для предобучения экспертов в SVF, и соответствующий z’ для неё. Если никто не подходит, есть generic категория “others”, в случае которой используются базовые веса без модификаций. 2) Classification expert. Используется специальная система для классификации. В лучших традициях разработки компиляторов языков, когда в какой-то момент компилятор языка пишется на этом же языке, для решения этой задачи базовая LLM файнтюнится через SVF. На датасете с K задачами обучается специальный классификационный эксперт z^c, который загружается в первый проход инференса и тем самым делает более качественное определение, кого нужно использовать на втором проходе.
Во-вторых, для реализации SVF делается небольшая модификация полученных матриц…
Из этого канала
- #32243) Few-shot adaptation. Вычисляется новый z′ как взвешенная комбинация…
3) Few-shot adaptation. Вычисляется новый z′ как взвешенная комбинация имеющихся выученных SVF векторов.
- #3238"Извинити, но это прекрасно. ""Central artificial intelligence agency""…
"Извинити, но это прекрасно. ""Central artificial intelligence agency""…
- #3239DeepSeek moment Нельзя ничего не сказать про DeepSeek. Эти ребята просто супер…
DeepSeek moment Нельзя ничего не сказать про DeepSeek. Эти ребята просто супер молодцы — так задизраптить всё поле мало кому удавалось.
- #3222"Transformer^2: Self-adaptive LLMs Qi Sun, Edoardo Cetin, Yujin Tang Статья:…
"Transformer^2: Self-adaptive LLMs Qi Sun, Edoardo Cetin, Yujin Tang Статья: https://arxiv.org/abs/2501.06252 Блог: https://sakana.ai/transformer-squared/ Код:…
- #3221Дожили! Теперь можно заниматься машинным обучением в футбольном клубе!
Дожили! Теперь можно заниматься машинным обучением в футбольном клубе!