Как стать автором
Обновить

Комментарии 30

Спасибо за статью, помогла понять, как готовить модельку.

В общем, это не та история, когда мы из небольшого трейна пытаемся вытащить максимальное количество знаний и на их основе оцениваем возможности языковой модели.

А чем плохо мультиязыковое обучение? С точки зрения большой рабочей модели вытащить знания из английского, что бы использовать их в русском, хорошая идея, хорошо работает в других моделях.

Смысл в оценке возможностей модели обобщиться на трейн сет. Мультилингво модели можно брать и нужно. Для правильного сравнения возможностей на RSG она не должна быть предварительно затюнена на похожие сеты в других языках, например английский SuperGlue.
Мы, кстати, несколько мультилингво моделей замерили на RSG xlm-roberta-large (Facebook) finetune и mdeberta-v3-base (Microsoft) finetune.

Вопрос немножко не про вашу сеть но всё же спрошу:

  1. Как вы относитесь к идее с помощью ChatGPT-4 отчистить датасет (хотя бы частично) на котором обучалась ChatGPT-4 и переобучить её заново на отчищенном датасете. Чем эта идея не нравится разработчикам сетей?

  1. FRED-T5-1.7B по качеству распознавания русского языка находится примерно на уровне GPT-3 ?

  1. Не могу судить на сколько сет для GPT4 был грязным.

  2. А что вы имеете ввиду под распознаванием?

На странице модели в Huggingface перечислены Spaces, которые есть программы, использующие модель. Там можно поиграть.

Спасибо :)

Могу сказать, что на моей задаче FRED T5 XL оказался объективно круче старушки ai-forever/rugpt3large_based_on_gpt2.

Пните пожалуйста к разметке обучающих текстов для дообучения rugpts используя базовый токенизатор (small или medium). С февраля гуглю, найти не могу.

А что конкретно вы ищете?

Если я правильно понимаю - процессы:
1. Разметки текста перед преобразованием его в датасет.

2. Преобразование этого текстового файла в json.

3. А затем токенизацию всех трёх получившихся файлов (train, val и test).

Выпытал сегодня у chatGPT код на python, буду его пробовать. Я хоть правильно понял?

Ну нет нигде инструкций на нашем языке. А все примеры "как я дообучил нейросеть" волшебным образом обходят этот момент. У Сбера инструкции заточены под использование их облачных сервисов, а к их хранилищу датасетов доступ только от ИП. Частные датасеты в открытом доступе тоже не особо понятны - каждый из них построил структуры, которые поймет только те, кто уже разбирается в создании датасетов. А я даже не айтишник - так, эникейщик :D

Про главное то забыл. Ключи. Модели жалуются на отсутствие таких ключей как: input_ids,past_key_values,attention_mask и далее. А на каком этапе ими оперировать, где их разместить - не знаю.

Интересно, а как такие модельки в прод запускать, у которых условно >1 млрд. параметров? Тот же ru-bert-cased, у которого в 10 раз меньше параметров, не сильно должен просаживаться по accuracy/recall, ведь нет? Просто интересно насколько много данных нужно для обучения таких моделей и помогает ли квантизация в решении такого рода проблемы?

Модель 1.7B вполне себе промопригодна. На А100 считается быстро. Изначально выбирая архитектуру мы в это и целились.

а почему взяли именно такой токенайзер?! Почему не как у GPT4? почему увеличение токенов, вместо оптимизации лучше?!

50k токенов вполне хватает для русского языка. У GPT4 мультилингво словарь. По поводу увеличения токенов не понял немного.

BBPE (Byte-level BPE) токенизатор, т.е. 1 буква условно может занимать 2 токена.

тут видно, что некоторые буквы имеют несколько токенов
тут видно, что некоторые буквы имеют несколько токенов

ГПТ4 имеет другой токенизатор, не знаю только ли с мультиязычностью связано это, но токенов суммарно там меньше чем при BBPE, собственно и инференс быстрее

Токенизатор, который идёт в комплекте с FRED-T5-1.7B, делит текст на токены вполне себе экономно:


Num of tokens: 6
О|гром|ное| количество| ток|енов|

Пример
Num of tokens: 123
Те| п|сы|,| что| с| ры|жими| хво|стами|,|
|Се|бе| ов|ся|нку| вар|ят| сами|.|
|Те|,| чьи| хво|сты| ст|ального| цвета|,|
|Не| научились| делать| это|.|
|Кто| ва|рит| сам| себе| ов|ся|нку|,|
|Гу|лять| не| выйдет| сп|оза|ран|ку|.|
|А| кто| гулять| выходит| рано|,|
|Не| терпит| фальши| и| обмана|.|
|Вид| добродуш|ный| у| Бар|б|оса|,|
|Но| на| сорок| он| смотрит| кос|о|.|
|Он| видит|:| норов|ят| сор|оки|
|У| вороб|ь|ёв| спи|сать| уроки|.|
|Ответ|ьте| -| проще| нет| вопроса| -|
|Как|ого| цвета| хвост| Бар|б|оса|?|

😁

Нравятся мне такие публикации - ни целей, желательно экономически оправданных по-капиталистически, ни гипотезы. Только циферки и констатация.

Вопросы:
1. Для решения каких дорогостоящих или нерешённых на сегодняшний день, например из-за нехватки выч. мощностей, задач создаётся такая модель?
Какие конкретно цели, помимо циферок в тестах стоят?

Судя по хайпу вокруг ИИ-систем — этакая новая разновидность биткоина - куча шума, куча сил, куча бабла для Нвидии, и что-то близкое к пшику по итогу.

2. Чем обусловлен выбор такого сомнительного источника как Вики вместо, например БСЭ, большой технической энциклопедии и т.п.?

А теперь из собственного опыта ИИ-МП - малые качественные модели, максимально близкие к той области задач, для которой они нужны, требуют гораздо меньше сил, а результаты дают нередко лучше...
Несходимость на графике обучения может быть обусловлена следующими факторами — мусором в датасетах, вариативностью/синонимичностью языка.

1. Модель 1.7B, как писал выше, быстро инференсится на современных гпу. В ваших NLP сервисах можно подменить эту модель вместо например ruT5-large и ожидать, что метрики качества вырастут. Сравните результаты на RSG.
2. Для обучения мы брали большой корпус русского языка. В остально не понял вопроса.
А какой несходимости вы имеете ввиду?

Не вырастут. В узких областях, как я уже сказал, модели заточенные на небольших, качественных датасетах конкретно по теме дают лучшие результаты....
Метрика качества для текста - вещь вообще весьма условная. Кому-то нравится Блок, кому-то Маяковский. И вы никогда не убедите первого, что результаты модели 2 даже с метриками 100% будут идеальными.

Но я спрашиваю О КОНКРЕТНЫХ ЗАДАЧАХ (например, разработка истребителя 7 поколения), которые ЭКОНОМИЧЕСКИ ОПРАВДАННО решает конкретно ваша ИИ....Иначе знаете что это напоминает? Побросали в котёл всё что было, греем на огне, и ждём что получится - а получается у всех разное - кто жижу выловит, кто картофелину, а кто мяса кусок.... А предложение встраивать, куда хотите - эй подходи кто хочет со своим черпаком - и черпай....
Для серьёзного рабочего инструмента такое едва годится.....

Общий размер датасета около 300 Гб и состоит он из Википедии, новостей, книг, части очищенного CommonCrawl и т. д. 


Не увидел ничего про корпус....Но это, видимо, особенности синонимичности конкретно вашего изложения.... Не боитесь, кстати, того, что публичные датасеты могут быть намеренно и искусно отравлены (poisoned) - специалистов в данной области пока нет, алгоритмы, софт, метрики и прочее тоже не ваша разработка и вы едва ли понимаете его до конца....
Несходимость это пила в конце обучения....Кстати фактор выше - еще одна из причин недостижимости идеальных метрик.
И кстати а вы проверили, на каких принципах построены эти метрики? Опыт подсказывает, что иностранцы не очень понимают некоторые важные моменты русского языка. Здесь, наверное, это важно.

Ребят, возможно, вы найдете ответы на ваши вопросы в канале нашей команды https://t.me/nlpcoreteam. На многие вопросы мы там отвечали уже.

Мне кажется, что большинству интересно с этим поиграться, пописать запросы. И понятного объяснения как это запустить - нет. Как пользоваться моделями, как оцениь вау эффект?

Может, есть проект, где прилеплен норм интерфейс и мануал?

Проблема в том, что те, кто ими реально пользуются, пишут удобный интерфейс под себя, и он вряд ли зайдёт кому-то ещё, даже если его выложить и подробно расписать.
Я вот, к примеру, для работы с этой моделью написал плагин по интеграции её с vim.


Выглядит это так (1.6 Мб gif)

Однако как много людей сможет даже просто набрать текст в vim? Т.е. для большинства подобный код будет полностью бесполезен.

Лицензия позволяет использовать Фреда в коммерческих целях?


Да. Лицензия Apache 2.0

Добрый день. Установил модель. Для чего она была создана? Мне необходима суммаризация длинного русского текста. Я что-то не так делаю? 🤷‍♂️

Насколько я понял, она предназначена для использования в качестве "болванки" для дальнейших доработок. В сыром виде пригодна только для генерации текста.
Для суммаризации её требуется предварительно затюнить на чём-то вроде mlsum (суть идеи показана например здесь) или ином подходящем датасете.

Запустил в гугл колаб и она отъела 12 GB оперативной памяти, после чего упала. Можно с этим что-нибудь сделать?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий