Luonnollisen kielen käsittelyn markkinat kukoistavat, ja ekosysteemiin on viime aikoina ilmestynyt monia uusia työkaluja. Tässä ovat kirjastot, kehykset, kielet, palvelut ja toimijat, jotka sinun tulisi tuntea, jotta voit integroida tekstin ymmärtämisen ja tekstin tuottamisen projektiisi vuonna 2022.

Python on ollut tietojenkäsittelytieteen de facto standardikieli jo vuosia. Jos työskentelet luonnollisen kielen käsittelyprojektin parissa, jossain on todennäköisesti Python-koodia.
Python on erittäin ilmaisuvoimainen ja yksinkertainen korkean tason kieli, joten se soveltuu erinomaisesti koneoppimissovelluksiin. Vielä tärkeämpää on kuitenkin se, että Pythonissa on kattava kirjastojen ja kehysten ekosysteemi, joka helpottaa tietojenkäsittelytieteilijöiden elämää.
Olipa kyseessä sitten tutkimusprojekti tai tuotantoprojekti, uusien mallien kouluttaminen tai niiden käyttäminen päättelyyn, joudut todennäköisesti käyttämään Pythonia. Jos sinun on ehdottomasti käytettävä toista kieltä, saatat löytää mukavia kirjastoja myös muilla kielillä, mutta vain peruskäyttötapauksia varten (edistyneemmissä käyttötapauksissa ratkaisu on ottaa käyttöön mikropalvelustrategia ja käyttää REST APIa).

Hugging Face Hub on keskitetty arkisto, johon on tallennettu suurin osa avoimen lähdekoodin luonnollisen kielen käsittelymalleista.
Hugging Facessa on helppo löytää uusia tekoälymalleja, mutta myös ladata ja jakaa omasi. Se on myös loistava paikka selata ja löytää tietokokonaisuuksia seuraavaa projektiasi varten. Malleja ja tietokokonaisuuksia voi helposti ladata ja käyttää Transformers-kehyksen kautta (katso alla).
Hugging Facen visiona on "demokratisoida" luonnollisen kielen käsittely ja tulla "koneoppimisen Githubiksi".

OpenAI on GPT-3:n, kaikkien aikojen kehittyneimmän kielellisen tekoälymallin takana.
Mallin kaksi ensimmäistä versiota (GPT ja GPT-2) olivat avoimen lähdekoodin versioita, mutta OpenAI päätti, että GPT-3 ei olisi enää avoimen lähdekoodin malli. Jos haluat käyttää GPT-3:a, sinun on tilattava OpenAI:n API. Ainoastaan Microsoftilla on pääsy GPT-3:n lähdekoodiin, koska se on ostanut yksinoikeuslisenssin.
GPT-mallit ovat tekoälymalleja, jotka osaavat hyvin kirjoittaa tekstiä kuin ihminen. Ihmisen on itse asiassa melko vaikea havaita, onko tekstin kirjoittanut oikea ihminen vai GPT-3....
Tämän uuden tekoälyn suunnittelu ja kouluttaminen maksoi OpenAI:lle miljoonia dollareita. Jos haluat käyttää sitä, sinun on läpäistävä vaativa validointiprosessi, sillä OpenAI ei anna kaikenlaisten sovellusten käyttää malliaan.
Nyt julkaistaan uusia avoimen lähdekoodin malleja, kuten GPT-J ja GPT-NeoX, jotta OpenAI:n vauhtiin päästään.

Tässä olemme me!
NLP Cloud on sovellusliittymä, jonka avulla voit helposti käyttää edistyksellisimpiä luonnollisen kielen prosessoinnin tekoälymalleja tuotannossa.
Voit esimerkiksi luoda tekstiä GPT-J:llä ja GPT-NeoX:llä, tiivistää sisältöä Facebookin Bart Large CNN:llä, luokitella tekstin Roberta-ohjelmalla, poimia entiteettejä spaCy:llä, kääntää sisältöä Opus MT:llä... ja paljon muuta.
NLP Cloudissa on myös mahdollista kouluttaa ja hienosäätää omaa tekoälyä tai ottaa käyttöön omia sisäisiä malleja. Jos esimerkiksi haluat luoda oman GPT-J:hen perustuvan lääketieteellisen chatbotin, sinun tarvitsee vain ladata toimialaltasi peräisin olevista esimerkkitapauksista koostuva tietokokonaisuus, käynnistää koulutusprosessi ja käyttää lopullista malliasi tuotannossa API:n kautta.

Deepspeed on Microsoftin avoimen lähdekoodin kehys, joka keskittyy mallien rinnakkaistamiseen.
Mitä se tarkalleen ottaen tarkoittaa?
Tekoälymallit kasvavat ja kasvavat (ks. GPT-3, GPT-J, GPT-NeoX 20B, T0, Fairseq 13B...). Nämä valtavat mallit avaavat oven lukemattomille uusille sovelluksille, mutta niitä on myös hyvin vaikea käyttää.
Näiden mallien kouluttaminen ja niiden luotettava käyttäminen tuotannossa päätelmiä varten voidaan toteuttaa joko vertikaalisen skaalautuvuuden avulla (käyttämällä valtavia GPU:ita, kuten NVIDIA A100:a tai Googlen TPU:ita) tai horisontaalisen skaalautuvuuden avulla (käyttämällä useita pieniä GPU:ita rinnakkain).
Toinen lähestymistapa on yhä suositumpi, koska se on halvempi ja skaalautuu paremmin. Hajautetun harjoittelun ja päättelyn suorittaminen ei kuitenkaan ole läheskään helppoa, minkä vuoksi Deepspeed on todella avuksi.
Deepspeed suunnattiin alun perin koulutustehtäviin, mutta sitä käytetään nyt yhä enemmän päättelyyn, koska se on helppokäyttöinen ja integroitavissa Hugging Face Transformers -ohjelmaan (ks. jäljempänä).

Big Science on kollektiivinen ryhmä tutkijoita ja yrityksiä, jotka työskentelevät suurten kielimallien parissa.
Heidän ensimmäisessä työpajassaan kehitettiin T0-niminen tekoälymalli, joka ymmärtää hyvin ihmisen ohjeita.
He työskentelevät nyt paljon suurempien mallien parissa: heidän tavoitteenaan on luoda avoimen lähdekoodin monikielisiä tekoälymalleja, jotka ovat suurempia ja kehittyneempiä kuin GPT-3.

SpaCy on Python-kielinen luonnollisen kielen prosessointikehys, joka soveltuu täydellisesti tuotantoon: se on sekä nopea että helppo käyttää.
Kyseessä on saksalainen tekoälyyritys Explosion AI:n ylläpitämä kehys.
SpaCy on erittäin hyvä nimettyjen entiteettien tunnistuksessa (tunnetaan myös nimellä entiteettien louhinta), ja se toimii noin 50 eri kielellä. Se tarjoaa valmiiksi koulutettuja malleja, ja voit helposti luoda omia malleja kommentoitujen esimerkkien avulla.
Transformers-kehyksen julkaisi Hugging Face pari vuotta sitten. Suurin osa kehittyneistä luonnollisen kielen prosessointimalleista perustuu nyt Transformersiin.
Tämä on PyTorchiin, Tensorflow'hun ja Jaxiin perustuva Python-moduuli, jota voidaan käyttää joko koulutukseen tai päättelyyn.
Hugging Face Transformersin avulla on erittäin helppoa ladata ja ladata malleja Hugging Face Hubiin.
Hugging Facen tokenizers-kirjasto on joukko kehittyneitä luonnollisen kielen prosessoinnin tokenizereita, joita käytetään muuntajapohjaisissa malleissa.
Tokenisoinnissa on kyse syötetekstin jakamisesta pieniin sanoihin, jotka tekoälymalli voi sitten koodata ja käsitellä.
Tokenisointi saattaa kuulostaa yksityiskohdalta, mutta sitä se ei ole. Se on itse asiassa kriittinen osa luonnollisen kielen käsittelyä, ja oikean tokenisaattorin käyttäminen vaikuttaa suuresti tulosten laatuun ja suorituskykyyn.
NLTK on lyhenne sanoista Natural Language Toolkit. Se on Python-kehys, joka on ollut käytössä jo vuosia ja joka sopii erinomaisesti tutkimukseen ja opetukseen.
NLTK ei ole tuotantoon suunnattu kehys, mutta se sopii erinomaisesti tietojenkäsittelytieteilijöille, jotka yrittävät kehittää luonnollisen kielen käsittelyä.
Luonnollisen kielen käsittelyn ala on kehittynyt huomattavasti vuonna 2021. Nykyään yhä useammat yritykset haluavat käyttää kielellisiä tekoälymalleja tuotannossa, ja on mielenkiintoista nähdä, että vuonna 2022 ekosysteemillä ei ole juuri mitään tekemistä sen kanssa, mitä se oli viisi vuotta sitten.
Kirjastot ja kehykset kehittyvät koko ajan, ja GPT-3:n kaltaisten suurten kielimallien luominen asettaa uusia mielenkiintoisia haasteita.
En malta odottaa, millainen vuodesta 2023 tulee!
Julien Salinas