Низкий ранг в ML
Вопрос
Где в ML используется идея низкорангового приближения матриц? Приведите два-три примера и объясните, почему это работает.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Усечённое SVD как лучшее приближение ранга k (Эккарт-Янг)
Матричная факторизация в рекомендациях: пользователи и товары как векторы латентных факторов
LoRA: обновление весов ΔW = BA с маленьким рангом r
Сжатие слоёв и эмбеддингов, LSA для текстов
Работает, потому что реальные матрицы имеют быстро убывающий спектр
Что могут спросить следом
- Сколько параметров экономит LoRA для слоя 4096×4096 при r = 8?
- Как обучают факторизацию, если в матрице оценок почти все значения пропущены?
Разбор
Теорема Эккарта-Янга говорит, что усечённое SVD даёт лучшую матрицу ранга k. Это полезно потому, что у реальных матриц спектр быстро убывает: основная структура сидит в нескольких направлениях. Примеры. Первый: рекомендации. Матрицу пользователь × товар приближают произведением UVᵀ, где у каждого пользователя и товара вектор из k латентных факторов, а прогноз оценки это их скалярное произведение. Так как почти все значения пропущены, честное SVD не применяют, а учат факторы градиентным спуском или ALS только по известным оценкам. Второй: LoRA при дообучении больших моделей. Вместо полной матрицы обновления 4096×4096 (около 16,8 млн параметров) учат B размером 4096×8 и A размером 8×4096, это около 65 тысяч параметров, в 256 раз меньше. Третий: сжатие слоёв и эмбеддингов и латентно-семантический анализ текстов, где SVD матрицы термин × документ выделяет темы.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.