3) Few-shot adaptation. Вычисляется новый z′ как взвешенная комбинация имеющихся выученных SVF векторов. Коэффициенты α_k при этих векторах находятся через Cross-entropy method (CEM) на наборе few-shot prompts. Это надо сделать лишь единожды для каждой целевой задачи, при этом в отличие от классического few-shot в промптинге здесь нет нужды увеличивать размер рабочего промпта, добавляя в него примеры. Какие результаты у квадратного трансформера? Взяли три LLM из пары разных семейств: Llama3 8B Instruct, Mistral 7B Instruct v0.3 и Llama3 70B Instruct. Для каждой модели находят три набора z-векторов под задачи GSM8K, MBPP-pro и ARC-Easy соответственно. То есть математика, program synthesis и reasoning. Для Llama3 8B также обучили вектор для TextVQA. На соответствующих тест-сетах SVF даёт стабильное улучшение, часто превосходящее LoRA с рангом 16 (эти обучались на next token prediction, через RL тоже пробовали, но с RL LoRA хуже SVF). Авторы считают, что тут дело в RL, его training objective не требует идеального решения для каждого примера, что не так в случае лоры. Также SVF более параметр-эффективно, количество обучаемых параметров менее 10% от LoRA. После обучения SVF и получения z-векторов можно оценить качество адаптации к новым задачам. Оценивают на задачах MATH, Humaneval, ARC-Challenge, OKVQA. Результаты LoRA здесь примерно никакие (всё хуже), а Transformer^2 даёт улучшение почти везде. Метод адаптации Few-shot лучший. Интересно, что даже на VLM задаче с векторами обученными на совсем других текстовых задачах Transformer^2 демонстрирует заметное улучшение. Видимо, реально полезная параметризация. Интересна визуализация весов отдельных векторов α_k для третьего варианта адаптации. Например, при решении задач MATH там нет доминирования весов от GSM8K, для Llama3 8B почти половину вклада дают веса от ARC. На других задачах и у других моделей тоже нетривиальные миксы. А для первого и второго варианта адаптации, основанных на классификации, confusion matrices показывают, что примеры хорошо матчатся с экспертами, обученными на соответствующих доменах. Второй проход по времени инференса обычно существенно дольше первого, и вклад первого прохода относительно второго в зависимости от задачи (в реальности от количества генерируемых токенов) составляет от 13% до 47%. Абляции показали, что применение SVF и к вниманию, и к MLP даёт буст — к MLP больше, но там и весов больше, а лучше сразу к обоим. RL objective даёт сильно лучший результат, чем next token. А LoRA с RL хуже, чем SVF с next token. Интересный эксперимент с переносом векторов-экспертов между разными LLM. Перенос векторов от Ламы на Мистраль улучшает результат на двух задачах из трёх. На ARC-Challenge это даже лучше собственных результатов Мистраля. Это потенциально интересный результат, надо копать дальше. В общем, интересная работа. Мне сама параметризация нравится, она красивая и понятная. Может даже к интерпретируемости что-то добавит. Ну и то, что оно лучше Лоры работает, это тоже, конечно, прекрасно. Хотя пока у Лоры остаётся преимущество в виде скорости, там нет двух проходов. Но, может быть, в эпоху test-time scaling (https://t.me/gonzo_ML/3175) это уже не так важно. Ну и традиционно напоминаю, что у канала есть Патреон (https://patreon.com/GonzoML) и Boosty (https://boosty.to/gonzoml). Спасибо за то, что вы с нами :)