Ринок обробки природної мови знаходиться на підйомі, і останнім часом в екосистемі з'явилося багато нових інструментів. Ось бібліотеки, фреймворки, мови, сервіси та актори, про які варто знати, щоб інтегрувати розуміння тексту та генерацію тексту у свій проєкт у 2022 році.

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

Hugging Face Hub - це центральне сховище, в якому зберігається більшість моделей обробки природної мови з відкритим вихідним кодом.
На Hugging Face легко знаходити нові моделі ШІ, а також завантажувати та ділитися своїми. Це також чудове місце для перегляду та пошуку наборів даних для вашого наступного проекту. Моделі і набори даних можна легко завантажити і використовувати за допомогою фреймворку Transformers (див. нижче).
Бачення Hugging Face полягає в тому, щоб "демократизувати" обробку природної мови і стати "Github машинного навчання".

OpenAI - це компанія, яка розробила GPT-3, найсучаснішу мовну модель штучного інтелекту, коли-небудь створену.
2 перші версії цієї моделі (GPT і GPT-2) були з відкритим вихідним кодом, але OpenAI вирішила, що GPT-3 більше не буде з відкритим вихідним кодом. Якщо ви хочете використовувати GPT-3, вам необхідно підписатися на OpenAI API. Доступ до вихідного коду GPT-3 має тільки Microsoft, оскільки вони придбали ексклюзивну ліцензію.
Моделі GPT - це моделі ШІ для генерації тексту, які дуже добре пишуть текст, як людина. Насправді людині досить складно визначити, чи був фрагмент тексту написаний реальною людиною, чи GPT-3...
Розробка та навчання цього нового ШІ коштувала OpenAI мільйони доларів. Якщо ви хочете використовувати його, вам доведеться пройти складний процес валідації, оскільки OpenAI не дозволяє всім типам додатків використовувати свою модель.
Зараз випускаються нові моделі з відкритим вихідним кодом, щоб наздогнати OpenAI, такі як GPT-J і GPT-NeoX.

Це ж ми!
NLP Cloud - це API, який дозволяє легко використовувати найсучасніші моделі штучного інтелекту для обробки природної мови у виробництві.
Наприклад, ви можете генерувати текст за допомогою GPT-J і GPT-NeoX, підсумовувати контент за допомогою Facebook's Bart Large CNN, класифікувати фрагмент тексту за допомогою Roberta, витягувати сутності за допомогою spaCy, перекладати контент за допомогою NLLB 200... і багато іншого.
У NLP Cloud також можна навчати та налаштовувати власний ШІ або розгортати власні внутрішні моделі. Наприклад, якщо ви хочете створити власного медичного чат-бота на основі GPT-J, вам просто потрібно завантажити свій набір даних, що складається з ваших власних прикладів з вашої галузі, потім розпочати процес навчання та використовувати вашу кінцеву модель у виробництві через API.

Deepspeed - це фреймворк з відкритим вихідним кодом від Microsoft, який фокусується на розпаралелюванні моделей.
Що саме це означає?
Моделі ШІ стають все більшими і більшими (див. GPT-3, GPT-J, GPT-NeoX 20B, T0, Fairseq 13B...). Ці величезні моделі відкривають двері для безлічі нових застосувань, але їх також дуже важко запускати.
Навчання цих моделей та їх надійний запуск у виробництво для отримання висновків можна здійснити за допомогою вертикального масштабування (з використанням величезних графічних процесорів, таких як NVIDIA A100 або Google TPU) або горизонтального масштабування (з використанням декількох невеликих графічних процесорів паралельно).
2-й підхід стає все більш популярним, оскільки він дешевший і краще масштабується. Тим не менш, виконувати розподілене навчання та висновок далеко не просто, і саме тому Deepspeed дійсно допомагає.
Спочатку Deepspeed був орієнтований на навчальні завдання, але зараз він все більше і більше використовується для висновків, оскільки він простий у використанні та інтегрується з Hugging Face Transformers (див. нижче).

Велика наука - це колектив або дослідники та компанії, які працюють над великими мовними моделями.
На першому семінарі була створена модель ШІ під назвою 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