group-telegram.com/seeallochnaya/1546
Last Update:
Discovering Preference Optimization Algorithms with and for Large Language Models
Помните у меня был лонг про FunSearch, алгоритм от DeepMind? Если пропустили — обязательно рекомендую к прочтению (особенно в контексте вчерашних постов про поиск). Вкратце: LLM общего назначения нашла решение оптимизационной задачи, над которой бились математики, лучше, чем найденное человеком. Алгоритм в некотором роде универсальный и может быть применён к любой задаче, решение которой можно каким-то образом числено оценить и сказать, что вот это лучше, а это хуже. Звучит сложно, поэт ому ещё раз отсылаю к лонгу.
Так вот, ребята из Японии из стартапа Sakana предложили схожую идею, но для оптимизации самого процесса дообучения LLM. Как вы наверянка знаете, есть 3 этапа тренировки моделей вроде ChatGPT:
— предтренировка на терабайтах текста (~98% всех ресурсов тут)
— обучение следованию инструкциям
— обучения на человеческих предпочтениях (чтобы модель отвечала так, как мы хотим, и была наиболее полезной, а также знала границы своих навыков)
Последние 2 этапа иногда схлопывают в один, но не суть. При обучении на предпочтениях модель обычно оперирует парами сравнений: дан один промпт (запрос в LLM) и два ответа, и известно, какой ответ человек считает лучшим (или что они равны). OpenAI для обучения на таких данных используют метод PPO, который сами изобрели в 2017м. Но он требует очень качественных данных и тонкой настройки, и работает мало у кого вне OpenAI (может они и сами с него съехали, хз). В последний год появилось много аналогов, которые запустить куда проще — два самых популярных это DPO и KTO. Можете прочитать обзор у Ильи вот тут.
По сути, все эти методы отличаются одной вещью: функцией потерь, используемой во время дообучения, а сами аргументы функции одни и те же (вероятности, выдаваемые моделями - текущей и исходной. Итого 4 штуки на каждый токен — потому что у нас 2 варианта, «хороший» ответ и тот, что похуже). То есть вся разница в том, какой обучающий сигнал мы подаём модели при прочих равных.
То есть функция для оптимизации через генерацию разных вариантов у нас есть, осталось понять, как оценивать — и можно запускать аналог FunSearch. Важно, чтобы оценка была автоматической и быстрой — ведь потенциально нужно генерировать сотни функций. Для этого можно использовать саму LLM: у нас уже есть несколько разных автоматизированных бенчмарков, состоящих из 80 (MTBench) или 500 (ArenaHard) промптов и референсных ответов GPT-4. Если хотим понять, насколько хороша новая модель, то генерируем ответы на эти запросы, подаём в GPT-4 вместе с референсами и просим оценить по шкале с разными критериями. Немного шумно, но внезапно неплохо коррелирует с оценками живых людей.
BY Сиолошная
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/seeallochnaya/1546