ai-forever / ru-gpts

Russian GPT3 models.
Apache License 2.0
2.08k stars 444 forks source link

Как обучать для NER #50

Closed palandlom closed 3 years ago

palandlom commented 3 years ago

Хотел обучить для NER малую модель - сделал обуч. набор (300 000 образцов) с образцами такого формата:

...
<s>sent: Apple подавала в суд против Samsung относительно технологии разблокирования устройства.
ent: Apple
cat: IMW</s>
<s>sent: Корейцы же пытались взять верх, подав в суд против Apple относительно некоторых беспроводных технологий.
ent: Apple
cat: IMW</s>
...

... сделал также валидационный набор такого же формата (не оч. понял зачем он тренировочному скрипту).

Как я понял, модель должны обучиться формату т.е. я ей на вход даю незаконченный образец, а она его дописывает. Результаты такие:

out = model.generate(input_ids.cuda(), max_length=50, repetition_penalty=5.0, do_sample=True, top_k=5, top_p=0.95, temperature=1.5)

<s>sent: Так, в описании принципа работы технологии, указанного в патенте, есть существенная разница между тем, что предлагает Apple, и тем, что предлагает Samsung.
ent: 
 В патентном соглашении говорится следующее Каждый

 <s>sent: Это конфликт между разработчиками/программистами и самой Microsoft.
ent:  
.Microsoft\ServicesWorldNetCatcherToolboxProviderReceive

<s>sent: Microsoft пока ещ не готова создать новый API, и вместо этого она свалила на разработчиков Windows Presentation Foundation, Silverlight, и XNA.
ent:  
/Стизир/.

<s>sent: Однако графические процессоры за прошедшие годы стали куда мощнее и взаимодействовать с ними стало куда удобнее, но графический движок Windows просто не умел с ними работать.
ent:
cat-1b

... т.е. вроде как модель не обучилась формату - не дописывает окончание - верно? Т.е. нужно больший набор на для обучения?

DevAlone commented 3 years ago

300000 - достаточный размер, можно попробовать поменять формат или потыкать параметры при обучении и генерации. Я обучаю его отвечать на комментарии(два датасета в 2500 и 25000 комментариев, т.к. иначе обучение занимает целую вечность в колабе) и формат сделал следующий:

[Вопрос] Текст комментария 1
[Ответ] Текст комментария 2 [Конец]

Где текст комментариев в одну строку без переносов. Подаю на вход, например:

[Вопрос] Расскажи анекдот
[Ответ] 

и он пытается рассказывать анекдоты, т.е. вполне обучается формату, и если запрашивать достаточно длинную последовательность, то там будет токен [Конец] и мысль не обрывается на середине.

palandlom commented 3 years ago

Спасибо за ответ. ... да - игра с параметрами ( max_length=420, repetition_penalty=1.0) немного могла:

В этом выпуске мы поговорим о том, как мы использовали Microsoft Azure, какие инструменты и технологии использовать для создания облачных сервисов, а также о том, как использовать технологии и инструменты, которые позволяют создавать облачные сервисы, которые могут работать с облачными сервисами, а именно это облачными сервисами, и мобильными сервисами.
[Сущность] Microsoft Azure [Конец] Microsoft Azure.
[Сущность] Microsoft [Конец]
[Предложение]
[Предложение] Microsoft Azure Microsoft Azure [Конец]

В этом выпуске мы поговорим о том, как мы использовали Microsoft Azure и о том, как мы внедрили в наш облачный бизнес PaaS-сервис.
[Сущность] Microsoft [Конец]
[Предложение] В этом выпуске мы поговорим о том, что Microsoft Azure может стать облачным провайдером, как Paaaс, что может стать провайдером и как сервисом и как сервисом Azure.
[Сущность как сервисом Azure как сервисом как сервис Azure как сервис и как сервис Azure что будет Azure что будет в Azure что будет с Azure что Azure будет с ним делать и почему Azure будет, как сервис и что будет Azure и почему Azure что будет Azure будет с Pa как сервис и что это сервис и что будет Azure что Azure что будет Azure что будет Pa Azure что будет Azure и что будет PHub что будет Paaaaaaa Azure как сервис и как сервис как сервис как сервис и как сервис Azure что будет Pa Paaa Azure что будет Paa Paaaaaaa PaaaS-huba-PaaaaS и как сервис как сервис Azure как сервис и что будет Pa-h-h-huba-Paaaa-hubaS как сервис Azure что будет что это и что будет Pa-huba-h-s-h-h-huba-h-huba-hub и как Pa и как Pa-huba-huba-hub-huba-huba-hub-huba-hub-hub как это как Azure и т.
[Сущность Pa-hub и что-hub и что будет Pa-hub как Azure-hub и так и так и что-hub и что

... конечно далеко от того, что надо - много "мусора".

king-menin commented 3 years ago

Для задачи NER мы не проверяли наши модели. возможно ваша модель не доучилась + как было сказано, параметры генерации очень решают