На мінулым тыдні артыкул пра InstructGPT з’явіўся на arXiv. У сябе на сайце OpenAI выклала яго яшчэ ў студзені. Галоўнае сцвярджэнне такое: людзі аддалі перавагу адказам мадэлі на 1,3 млрд параметраў, данавучанай на зваротнай сувязі ад людзей, перад адказамі GPT-3 на 175 млрд. Я прачытаў і зразумеў, што сам кажу “навучана на зваротнай сувязі ад людзей”, а што такое гэтая зваротная сувязь фізічна, сказаць не магу. Нехта нешта націскае і адказы робяцца лепшымі. Вось на такім узроўні магіі я і быў.
Да InstructGPT тая ж група рабіла гэта на пераказах пастоў з Reddit. У 2020 годзе яны выклалі сырыя клікі, таму я іх спампаваў і паспрабаваў паўтарыць механізм на 4 ядрах працэсара.
Што такое клік
Даныя гэта summarize_from_feedback ад OpenAI. Кожны радок гэта пост з Reddit, 2 кароткія пераказы да яго і той, які выбраў чалавек. У часткі радкоў ёсць яшчэ ацэнка ўпэўненасці і нататкі, але прычыны выбару няма. У навучальнай частцы 92 858 такіх параўнанняў, у праверачнай 83 802 на іншых пастах.
Некаторыя пары размячалі некалькі чалавек. У пасце пра дзяўчыну, з якой аўтар пазнаёміўся на адпачынку паўтара года таму і дагэтуль да яе неабыякавы, 11 чалавек параўналі адны і тыя ж 2 пераказы і разышліся 6 на 5. Па ўсіх паўторна размечаных парах у праверачнай частцы 2 разметчыкі згодныя ў 72,5% параўнанняў, у навучальнай у 74,7%. Гэта значыць, “чаго хочуць людзі” гэта галасаванне. Прыкладна ў кожным чацвёртым выпадку другі чалавек галасуе наадварот.
Самая танная мадэль узнагароды
Да ўсякага навучання я запісаў чаканні. Першае было такое: дурное правіла ўжо дае больш за 55%. Правіла такое: выйграе даўжэйшы пераказ. На праверачнай частцы яно мае рацыю ў 58,0% выпадкаў, не лічачы нічыіх. У сярэднім у выбраным пераказе 28,4 слова, у адкінутым 26,6. Стынан з сааўтарамі, якія збіралі гэтыя даныя, у сваім артыкуле даўжыню ўжо ўлічвалі.
Потым лінейная мадэль, лагістычная рэгрэсія з scikit-learn 1.0.2. Кожны пераказ ператвараецца ў мяшок слоў і пар слоў плюс лагарыфм яго даўжыні. Па розніцы паміж 2 пераказамі мадэль вучыцца адгадваць, які выбралі. Гэта мадэль Брэдлі і Тэры 1952 года, тая ж формула, што і ў лагістычным варыянце шахматнага рэйтынгу Эла. Першы прагон выйшаў горшым за адну толькі даўжыню, 56,9%, бо я не падабраў рэгулярызацыю. Пасля падбору на адкладзенай частцы навучальных даных выйшла 58,3% на праверачнай. Адна даўжыня ў той жа мадэлі дае 57,7%. Атрымліваецца, 103 587 прыкмет са слоў дадалі паўпункта. Вагі чытаюцца, але нічога цікавага ў іх няма. “ex”, “relationship”, “boyfriend”, “wedding” з плюсам. Сярод верхніх слоў многія пра стасункі і сэкс. Самы моцны мінус у “edit”. Адна з ранніх мадэляў OpenAI часам дапісвала ў канцы пераказу радок “EDIT:” у духу Reddit. Людзі галасавалі супраць такіх.
Сапраўдная мадэль узнагароды, толькі маленькая
У артыкулах гэта вялікі трансфармер з адным лікам на выхадзе, таму я хацеў узяць GPT-2 small. На гэтай машыне адна навучальная пара займала каля 7 секунд, гэта значыць 16 000 пар занялі б больш за суткі. Я ўзяў MiniLM: 6 слаёў, 22 млн параметраў, энкодар сказаў 2021 года. Ён чытае пост і пераказ разам, зверху 1 лінейны выхад. Функцыя страт тая ж, што ў артыкулах. Гэта мінус лагарыфм сігмоіды ад розніцы ўзнагарод выбранага і адкінутага пераказаў. Навучаў на 16 000 пар за 1 праход. Ацэнкі выніковай мадэлі я асобна пераправерыў на torch 1.11 і transformers 4.17.
Правяраў на 3000 пар з праверачнай часткі. Там яна мае рацыю ў 60,3% выпадкаў. На тых жа парах даўжыня дае 57,5%, лінейная мадэль 58,1%. Пасля 2000 навучальных пар было 57,8%, пасля 8000 59,0%. Рост працягваўся, але пад канец і крок навучання падаў да нуля, таму прамежкавыя кропкі не чыстыя. На 772 парах, дзе пераказы адрозніваюцца па даўжыні не больш чым на 10%, даўжыня дапамагчы не можа. Там мадэль дае 58,4%, значыць, акрамя даўжыні яна нешта вывучыла.
Сярод гэтых пар, дзе даўжыні розныя, людзі выбіралі даўжэйшы пераказ у 57,5% выпадкаў. Мадэль узнагароды аддае перавагу даўжэйшаму ў 69,0%. Пасля першых 2000 пар было 74,8%, гэта значыць 3 разы з 4. Усё, што ідзе разам з даўжынёй, больш падрабязнасцей або больш капіявання, яна ўзнагароджвае часцей, чым людзі, якія клікалі.
Цягнем адказ да ўзнагароды
InstructGPT цягне адказ да ўзнагароды навучаннем з падмацаваннем, PPO, а яго я тут запусціць не магу. Прасцейшы спосаб называецца best of n: згенераваць n адказаў і пакінуць той, у якога ўзнагарода найвышэйшая. WebGPT карыстаўся ім у снежні.
Мая палітыка гэта звычайны GPT-2 small без усякага данавучання. Промпт гэта пост і потым “TL;DR:”. Я браў па 16 сэмплаў на пост пры тэмпературы 0,7, не даўжэй за 48 токенаў, і абразаў на першым пераносе радка, для 100 пастоў з праверачнай часткі. З 1600 пераказаў 134 пустыя. Для кожнага паста я палічыў па ўсіх падмноствах з n сэмплаў, які з іх пакіне мая мадэль узнагароды.
| n | слоў | трыграм скапіявана з паста | пустых |
|---|---|---|---|
| 1 | 21,5 | 6,2% | 8,4% |
| 4 | 30,0 | 10,4% | 0,4% |
| 16 | 35,4 | 16,1% | 0 |
Выбраны пераказ робіцца даўжэйшым на 65%. У 54 пастах са 100 лепшы з 16 упіраецца ў ліміт 48 токенаў. 48 з іх абрываюцца на сярэдзіне сказа. Выпадковы сэмпл упіраецца ў ліміт у 22 пастах.
Што капіявання стане больш, я чакаў: цэлыя скапіяваныя сказы Цыглер з сааўтарамі бачылі яшчэ ў 2019 годзе. З GPT-2 без данавучання яны ў мяне таксама з’явіліся. 17 сэмплаў з 1600 маюць не менш за 5 слоў і не менш за 90% трыграм з паста, у большасці гэта проста суцэльны кавалак паста. Мадэль узнагароды ставіць іх у сярэднім на 2,8 месца з 16. 7 з іх перамаглі ў сваім пасце. Адзін пост пачынаецца словамі “I met this girl online, we planned a date but by talking with her I saw some traits I’m not really sure I like”. Пераможца для яго якраз гэты сказ. Ён па тэме і паўтарае якраз тое, што чытач толькі што прачытаў.
Што я з гэтага вынес
Чаканні пра даўжыню і капіяванне пацвердзіліся. Мадэль узнагароды дала 60,3%. Я чакаў ад 60 да 68 для GPT-2 small. Мадэль, якую давялося ўзяць, меншая больш чым у 5 разоў. Ад лінейнай мадэлі я чакаў каля 60%, а яна дала 58,3%.
Нічога новага тут няма. Стынан з сааўтарамі ў 2020 годзе паказалі, што калі занадта моцна аптымізаваць палітыку пад мадэль узнагароды, пераказы робяцца для людзей горшымі. Далей хачу паглядзець, што PPO зробіць з такой узнагародай, калі знайду GPU.
Чаго я не правяраў
- PPO няма. Best of n паказвае толькі кірунак, куды цягне ўзнагарода.
- 1 прагон навучання, 1 seed, 16 000 пар з 92 858.
- Палітыка гэта GPT-2 small без данавучання, таму мадэль узнагароды выбірае паміж тэкстамі мадэлі, якую ніхто не вучыў пераказваць.
- Ніхто не ацэньваў, ці лепшыя выбраныя пераказы для чалавека. Я мераў толькі тое, што яны даўжэйшыя і ў іх больш скапіявана.