#чтивонаночь
RL + retrival feedback
В чем идея: в оригинальном ресерче open ai использовалась схема при которой люди прописывали ревард для ответов модели, что вообще то не оч коректно и не оч скейлиться. Потом они выкинули часть людей и поствили gold RM учиться оценивать ответы, а людей оценивать генерации, писать промпты и оценивать оценку gold rm.
А потом добавили вместо людей proxy model которая учиться быть reward model.
Что я предлагаю: А зачем нам оценки от людей когда мы можем набрать таски которые легко оценивать по cosine similarity, и мы легко можем сравнить что нам модель наврала, а что нет, давая в качестве
А дальше начинается сааамое интересное:
0.37 Question: Sarah didn't like the activity she was doing, but she did it anyway. She felt that it was better than what? Answer: QuestionInvGrooSGroijaWCoSWCGroGroECDGroCVGroDTGroMJGroWCGBTGroDWWCECDGBTECDBMGroJOWCBMFGGroBMWCWCFMLGBTFML
КАЗАЛОСЬ БЫ в чем проблема?
А все довольно просто, видите ли, ppo+gpt довольно умная штука и отлично умеет находить разного рода локальные минимумы и улетает в них легко и весело, ломая reward и emdedings у sentence transofomer.
Я не буду описывать цирк которым занимался по вечерам две последние недели, просто скажу: китайский зло, ироглифы зло, bpe отлично ломает sentence трансформер, в итоге 200 строк кода на эвристики вида
Баги в целом очень специфичные и на некоторые запросы модель по прежнему ломается и бредит(вероятно через пару недель я выложу код + модель поинтереснее с таким подходом), но уже сейчас модель с PPO тюнингом дает +10 к blue score на задаче QA относительно ванильного трейна.
Благодарности @nadlskom за внимательное чтение статей, @gradientdip за полезные советы, neverix за поиск багов, @dealer_ai за выслушивание моего нытья, @seeallochnaya просто потому что.
Ну и да, очевидно это можно применять к любой задаче которая выглядит как: ну вот input, сделай output похожим на <единственный вариант ответа>
сollab если хочется посмотреть на еще багованную версию
Примеры генераций:
Question: What part of a property may be next to a driveway? Answer: The next part is a house or garage or a garage
Question: Jamie wen to the theater near his home. He was surrounded by servicemen. Where might he be? Answer: in the outdoor.
RL + retrival feedback
В чем идея: в оригинальном ресерче open ai использовалась схема при которой люди прописывали ревард для ответов модели, что вообще то не оч коректно и не оч скейлиться. Потом они выкинули часть людей и поствили gold RM учиться оценивать ответы, а людей оценивать генерации, писать промпты и оценивать оценку gold rm.
А потом добавили вместо людей proxy model которая учиться быть reward model.
Что я предлагаю: А зачем нам оценки от людей когда мы можем набрать таски которые легко оценивать по cosine similarity, и мы легко можем сравнить что нам модель наврала, а что нет, давая в качестве
reward = cosine_similarity(ground true answer, predicted answer)
Собственно, банальный вопрос анальный ответ, взял gpt2(110m), написал простой retrival(возвращает по вопросу -ответу ревард) на sentence transformer, взял trl и поcтавил учиться. А дальше начинается сааамое интересное:
0.37 Question: Sarah didn't like the activity she was doing, but she did it anyway. She felt that it was better than what? Answer: QuestionInvGrooSGroijaWCoSWCGroGroECDGroCVGroDTGroMJGroWCGBTGroDWWCECDGBTECDBMGroJOWCBMFGGroBMWCWCFMLGBTFML
КАЗАЛОСЬ БЫ в чем проблема?
А все довольно просто, видите ли, ppo+gpt довольно умная штука и отлично умеет находить разного рода локальные минимумы и улетает в них легко и весело, ломая reward и emdedings у sentence transofomer.
Я не буду описывать цирк которым занимался по вечерам две последние недели, просто скажу: китайский зло, ироглифы зло, bpe отлично ломает sentence трансформер, в итоге 200 строк кода на эвристики вида
(if bad_regex in answer): return 0
А еще очень сильно помог подбор гиперпараметров для KL value и LM weight, cпасибо за уточнение от @nadlskom что каждые 10 эпох open ai прогоняли эпоху классического FineTune(стабилизировало трейн и mean начал быстрее рости)Баги в целом очень специфичные и на некоторые запросы модель по прежнему ломается и бредит(вероятно через пару недель я выложу код + модель поинтереснее с таким подходом), но уже сейчас модель с PPO тюнингом дает +10 к blue score на задаче QA относительно ванильного трейна.
Благодарности @nadlskom за внимательное чтение статей, @gradientdip за полезные советы, neverix за поиск багов, @dealer_ai за выслушивание моего нытья, @seeallochnaya просто потому что.
Ну и да, очевидно это можно применять к любой задаче которая выглядит как: ну вот input, сделай output похожим на <единственный вариант ответа>
сollab если хочется посмотреть на еще багованную версию
Примеры генераций:
Question: What part of a property may be next to a driveway? Answer: The next part is a house or garage or a garage
Question: Jamie wen to the theater near his home. He was surrounded by servicemen. Where might he be? Answer: in the outdoor.