Imate težave z umetno inteligenco ali razvojem celotnega paketa? Naši strokovnjaki so vam na voljo za pomoč: prilagojeni nasveti, tehnična integracija in še več. Obrnite se na [email protected].

10 najboljših ogrodij, storitev in akterjev za obdelavo naravnega jezika v letu 2022

Trg obdelave naravnega jezika je v razcvetu, v ekosistemu pa se je nedavno pojavilo veliko novih orodij. Tukaj so knjižnice, ogrodja, jeziki, storitve in akterji, ki jih morate poznati, če želite leta 2022 v svoj projekt vključiti razumevanje in ustvarjanje besedila.

AI

10 najboljših ogrodij, storitev in akterjev

1. Python

Python

Python je že vrsto let de facto standardni jezik v podatkovni znanosti. Če delate na projektu obdelave naravnega jezika, bo najverjetneje nekje prisotna koda v jeziku Python.

Python je zelo izrazit in preprost jezik visoke ravni, zato je popolnoma primeren za aplikacije strojnega učenja. Še pomembneje pa je, da ima Python koristi od obsežnega ekosistema knjižnic in ogrodij, ki podatkovnim znanstvenikom olajšajo življenje.

Ne glede na to, ali delate na raziskovalnem ali produkcijskem projektu, ali usposabljate nove modele ali jih uporabljate za sklepanje, boste najverjetneje morali uporabljati Python. Če morate nujno uporabiti drug jezik, lahko najdete dobre knjižnice tudi v drugih jezikih, vendar le za osnovne primere uporabe (za naprednejše primere uporabe je treba sprejeti strategijo mikrostoritev in uporabiti API REST).

2. Hugging Face Hub

Hugging Face

Hub Hugging Face je osrednji repozitorij, v katerem je shranjena večina odprtokodnih modelov za obdelavo naravnega jezika.

Na portalu Hugging Face lahko preprosto odkrijete nove modele umetne inteligence, pa tudi naložite in delite svoje. To je tudi odličen kraj za brskanje in iskanje zbirk podatkov za vaš naslednji projekt. Modele in podatkovne nize lahko preprosto prenesete in uporabite prek njihovega ogrodja Transformers (glej spodaj).

Vizija podjetja Hugging Face je "demokratizirati" obdelavo naravnega jezika in postati "Github za strojno učenje".

3. OpenAI

OpenAI

OpenAI je podjetje, ki stoji za GPT-3, najnaprednejšim modelom jezikovne umetne inteligence, ki je bil kdaj koli ustvarjen.

Prvi dve različici tega modela (GPT in GPT-2) sta bili odprtokodni, vendar se je organizacija OpenAI odločila, da GPT-3 ne bo več odprtokoden. Če želite uporabljati GPT-3, se morate naročiti na API OpenAI. Dostop do izvorne kode GPT-3 ima samo Microsoft, saj je kupil izključno licenco.

Modeli GPT so modeli umetne inteligence za ustvarjanje besedila, ki so zelo dobri pri pisanju besedila kot človek. Človek pravzaprav težko ugotovi, ali je besedilo napisala prava oseba ali model GPT-3...

Podjetje OpenAI je za zasnovo in usposabljanje te nove umetne inteligence porabilo več milijonov dolarjev. Če jo želite uporabljati, boste morali opraviti zahteven postopek potrjevanja, saj OpenAI ne dovoljuje uporabe svojega modela vsem vrstam aplikacij.

Da bi dohiteli OpenAI, so zdaj objavljeni novi odprtokodni modeli, kot sta GPT-J in GPT-NeoX.

4. NLP Cloud

NLP Cloud

To smo mi!

NLP Cloud je API, ki vam omogoča enostavno uporabo najnaprednejših modelov umetne inteligence za obdelavo naravnega jezika v produkciji.

Besedilo lahko na primer generirate z GPT-J in GPT-NeoX, povzamete vsebino s Facebookovim Bart Large CNN, klasificirate besedilo s programom Roberta, pridobivate entitete s spaCy, prevajate vsebino z Opus MT... in še veliko več.

V oblaku NLP Cloud je mogoče tudi usposobiti in prilagoditi lastno umetno inteligenco ali namestiti lastne notranje modele. Če želite na primer ustvariti lastnega medicinskega klepetalnega robota na podlagi GPT-J, morate preprosto naložiti nabor podatkov, sestavljen iz lastnih primerov iz vaše panoge, nato začeti postopek usposabljanja in končni model uporabiti v produkciji prek vmesnika API.

5. Deepspeed

Deepspeed

Deepspeed je Microsoftovo odprtokodno ogrodje, ki se osredotoča na vzporejanje modelov.

Kaj točno pomeni?

Modeli umetne inteligence so vedno večji (glejte GPT-3, GPT-J, GPT-NeoX 20B, T0, Fairseq 13B ...). Ti veliki modeli odpirajo vrata za številne nove aplikacije, vendar jih je tudi zelo težko izvajati.

Usposabljanje teh modelov in njihovo zanesljivo izvajanje v produkciji za sklepanje je mogoče z vertikalno (z uporabo velikih grafičnih procesorjev, kot so NVIDIA A100 ali Googlovi TPU) ali horizontalno (z vzporedno uporabo več majhnih grafičnih procesorjev).

Drugi pristop je vse bolj priljubljen, saj je cenejši in se bolje uporablja. Kljub temu izvajanje porazdeljenega usposabljanja in sklepanja še zdaleč ni enostavno, zato je Deepspeed pri tem v veliko pomoč.

Deepspeed je bil prvotno namenjen nalogam usposabljanja, vendar se zdaj vse pogosteje uporablja za sklepanje, saj je enostaven za uporabo in se povezuje s programom Hugging Face Transformers (glej spodaj).

6. Big Science

Big Science

Big Science je skupina raziskovalcev in podjetij, ki se ukvarjajo z velikimi jezikovnimi modeli.

Na prvi delavnici so izdelali model umetne inteligence z imenom T0, ki zelo dobro razume človeška navodila.

Zdaj delajo na veliko večjih modelih: njihov cilj je ustvariti odprtokodne večjezične modele umetne inteligence, ki so večji in naprednejši od modela GPT-3.

7. SpaCy

spaCy

SpaCy je ogrodje za obdelavo naravnega jezika v jeziku Python, ki je popolnoma primerno za produkcijo: je hitro in enostavno za uporabo.

To je ogrodje, ki ga vzdržuje nemško podjetje Explosion AI.

SpaCy je zelo dober pri prepoznavanju poimenovanih entitet (znanem tudi kot ekstrakcija entitet), in sicer v približno 50 različnih jezikih. Na voljo so vnaprej usposobljeni modeli, lahko pa preprosto ustvarite svoje modele s pomočjo komentiranih primerov.

8. HF Transformers

Okvir Transformerji je pred nekaj leti izdalo podjetje Hugging Face. Večina naprednih modelov za obdelavo naravnega jezika zdaj temelji na Transformerjih.

To je modul Python, ki temelji na PyTorchu, Tensorflowu in Jaxu ter se lahko uporablja za učenje ali sklepanje.

Z aplikacijo Hugging Face Transformers lahko zelo enostavno prenesete in naložite modele v vozlišče Hugging Face.

9. HF Tokenizers

Knjižnica tokenizatorjev podjetja Hugging Face je niz naprednih tokenizatorjev za obdelavo naravnega jezika, ki jih uporabljajo modeli, ki temeljijo na transformatorjih.

Pri tokenizaciji gre za razdelitev vhodnega besedila na majhne besede in podpomenske besede, ki jih lahko model umetne inteligence nato kodira in obdela.

Tokenizacija se morda sliši kot podrobnost, vendar to ni tako. Pravzaprav je ključni del obdelave naravnega jezika, uporaba pravega tokenizatorja pa pomeni veliko razliko v smislu kakovosti rezultatov in zmogljivosti.

10. NLTK

NLTK je kratica za Natural Language Toolkit. To je ogrodje v Pythonu, ki obstaja že več let in je odlično za raziskave in izobraževanje.

NLTK ni produkcijsko usmerjeno ogrodje, vendar je kot nalašč za podatkovne znanstvenike, ki se želijo lotiti obdelave naravnega jezika.

Zaključek

Področje obdelave naravnega jezika se je v letu 2021 precej razvilo. Danes vse več podjetij želi uporabljati modele umetne inteligence jezika v proizvodnji, zanimivo pa je, da leta 2022 ekosistem nima skoraj nič skupnega s tistim, kar je bilo pred petimi leti.

Knjižnice in ogrodja postajajo vse bolj napredni, ustvarjanje velikih jezikovnih modelov, kot je GPT-3, pa prinaša nove zanimive izzive.

Komaj čakam, da vidim, kakšno bo leto 2023!

Julien Salinas
Tehnični direktor v podjetju NLP Cloud