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

Python уже много лет является стандартным языком де-факто в области науки о данных. Если вы работаете над проектом по обработке естественного языка, в нем, скорее всего, будет присутствовать код на Python.
Python - очень выразительный и простой язык высокого уровня, что делает его идеально подходящим для приложений машинного обучения. Но еще важнее то, что Python обладает обширной экосистемой библиотек и фреймворков, которые облегчают жизнь специалистов по изучению данных.
Работаете ли вы над исследовательским или производственным проектом, обучаете ли вы новые модели или используете их для выводов, вам, скорее всего, придется использовать Python. Если вам совершенно необходимо использовать другой язык, вы можете найти хорошие библиотеки и на других языках, но только для базовых случаев использования (для более сложных случаев использования решением будет принятие стратегии микросервисов и использование REST API).

Hugging Face Hub - это центральный репозиторий, в котором хранится большинство моделей обработки естественного языка с открытым исходным кодом.
На Hugging Face легко обнаружить новые модели ИИ, а также загрузить и поделиться своими. Это также отличное место для просмотра и поиска наборов данных для вашего следующего проекта. Модели и наборы данных можно легко загрузить и использовать с помощью фреймворка Transformers (см. ниже).
Видение Hugging Face - "демократизировать" обработку естественного языка и стать "Github машинного обучения".

OpenAI - компания, стоящая за GPT-3, самой продвинутой моделью языкового ИИ из когда-либо созданных.
Две первые версии этой модели (GPT и GPT-2) были с открытым исходным кодом, но OpenAI решил, что GPT-3 больше не будет с открытым исходным кодом. Если вы хотите использовать GPT-3, вам необходимо подписаться на API OpenAI. Только компания Microsoft имеет доступ к исходному коду GPT-3, поскольку она приобрела эксклюзивную лицензию.
Модели GPT - это модели ИИ для генерации текста, которые очень хорошо умеют писать текст, как человек. На самом деле человеку довольно сложно определить, был ли текст написан реальным человеком или GPT-3...
Разработка и обучение нового ИИ обошлись OpenAI в миллионы долларов. Если вы хотите использовать его, вам придется пройти сложный процесс проверки, поскольку OpenAI не разрешает использовать свою модель всем типам приложений.
Сейчас выпускаются новые модели с открытым исходным кодом, чтобы догнать OpenAI, такие как GPT-J и GPT-NeoX.

Это мы!
NLP Cloud - это API, позволяющий легко использовать самые передовые модели ИИ для обработки естественного языка в производстве.
Например, вы можете генерировать текст с помощью GPT-J и GPT-NeoX, обобщать контент с помощью Facebook's Bart Large CNN, классифицировать фрагмент текста с помощью Roberta, извлекать сущности с помощью spaCy, переводить контент с помощью Opus MT... и многое другое.
На NLP Cloud также можно обучать и настраивать свой собственный ИИ или внедрять собственные модели. Например, если вы хотите создать собственный медицинский чат-бот на основе GPT-J, вам просто нужно загрузить набор данных, состоящий из ваших собственных примеров из вашей отрасли, затем запустить процесс обучения и использовать вашу конечную модель в производстве через API.

Deepspeed - это фреймворк с открытым исходным кодом от Microsoft, который фокусируется на распараллеливании моделей.
Что это значит?
Модели ИИ становятся все больше и больше (см. GPT-3, GPT-J, GPT-NeoX 20B, T0, Fairseq 13B...). Эти огромные модели открывают двери для множества новых приложений, но их также очень сложно запустить.
Обучение этих моделей и их надежное использование в производстве для выводов может осуществляться либо за счет вертикального масштабирования (использование огромных графических процессоров, таких как NVIDIA A100 или Google TPU), либо за счет горизонтального масштабирования (параллельное использование нескольких небольших графических процессоров).
Второй подход становится все более популярным, поскольку он дешевле и лучше масштабируется. Тем не менее, выполнять распределенное обучение и выводы далеко не просто, поэтому Deepspeed действительно помогает.
Изначально Deepspeed был нацелен на задачи обучения, но сейчас он все чаще используется для выводов, поскольку прост в использовании и интегрируется с Hugging Face Transformers (см. ниже).

Big Science - это коллектив исследователей и компаний, которые работают над большими языковыми моделями.
В ходе первого семинара была создана модель ИИ под названием T0, которая очень хорошо справляется с пониманием человеческих инструкций.
Сейчас они работают над гораздо более крупными моделями: их цель - создать многоязычные модели ИИ с открытым исходным кодом, которые будут больше и совершеннее, чем GPT-3.

SpaCy - это фреймворк для обработки естественного языка на языке Python, который идеально подходит для производства: он одновременно быстрый и простой в использовании.
Это фреймворк, поддерживаемый немецкой компанией по разработке ИИ под названием Explosion AI.
SpaCy отлично справляется с распознаванием именованных сущностей (также известным как извлечение сущностей), причем примерно на 50 различных языках. Они предоставляют предварительно обученные модели, и вы можете легко создавать свои собственные модели на аннотированных примерах.
Фреймворк Transformers был выпущен компанией Hugging Face пару лет назад. Большинство продвинутых моделей обработки естественного языка сейчас основаны на Transformers.
Это модуль Python, основанный на PyTorch, Tensorflow и Jax, который можно использовать как для обучения, так и для вывода.
Трансформеры Hugging Face позволяют очень легко загружать и выкладывать модели в Hugging Face Hub.
Библиотека токенизаторов от Hugging Face - это набор продвинутых токенизаторов для обработки естественного языка, используемых моделями на основе трансформаторов.
Токенизация - это разбиение входного текста на небольшие слова, которые затем могут быть закодированы и обработаны моделью ИИ.
Токенизация может показаться мелочью, но это не так. На самом деле это важнейшая часть обработки естественного языка, и использование правильного токенизатора имеет огромное значение для качества результатов и производительности.
NLTK расшифровывается как Natural Language Toolkit. Это среда Python, которая существует уже много лет и отлично подходит для исследований и образования.
NLTK не является фреймворком, ориентированным на производство, но он идеально подходит для специалистов по обработке данных, пытающихся освоить обработку естественного языка.
Область обработки естественного языка значительно эволюционировала в 2021 году. Сегодня все больше компаний хотят использовать модели языкового ИИ в производстве, и интересно видеть, что в 2022 году экосистема практически не имеет ничего общего с тем, что было 5 лет назад.
Библиотеки и фреймворки становятся все более совершенными, а создание больших языковых моделей, таких как GPT-3, ставит новые интересные задачи.
Не терпится узнать, каким будет 2023 год!
Julien Salinas