De 10 bästa ramarna, tjänsterna och aktörerna för behandling av naturligt språk 2022

Marknaden för behandling av naturliga språk blomstrar och många nya verktyg har nyligen dykt upp i ekosystemet. Här är de bibliotek, ramverk, språk, tjänster och aktörer som du bör känna till för att integrera textförståelse och textgenerering i ditt projekt under 2022.

AI

De 10 främsta ramarna, tjänsterna och aktörerna

1. Python

Python

Python har varit standardspråket inom datavetenskap i många år. Om du arbetar med ett projekt för behandling av naturliga språk finns det troligen Pythonkod någonstans.

Python är ett mycket uttrycksfullt och enkelt språk på hög nivå, vilket gör det perfekt lämpat för tillämpningar för maskininlärning. Men ännu viktigare är att Python drar nytta av ett omfattande ekosystem av bibliotek och ramverk som gör livet för datavetare enklare.

Oavsett om du arbetar med ett forskningsprojekt eller ett produktionsprojekt, om du tränar nya modeller eller använder dem för inferens, kommer du sannolikt att behöva använda Python. Om du absolut måste använda ett annat språk kan du hitta bra bibliotek i andra språk, men bara för grundläggande användningsfall (för mer avancerade användningsfall är lösningen att anta en strategi för mikrotjänster och använda ett REST API).

2. Hugging Face Hub

Hugging Face

Hugging Face Hub är ett centralt arkiv där de flesta modeller för behandling av naturliga språk med öppen källkod lagras.

På Hugging Face är det lätt att upptäcka nya AI-modeller, men det är också lätt att ladda upp och dela med sig av sina egna. Det är också ett utmärkt ställe att bläddra och hitta dataset för ditt nästa projekt. Modeller och dataset kan enkelt laddas ner och användas genom deras Transformers-ramverk (se nedan).

Hugging Face har som vision att "demokratisera" naturlig språkbehandling och bli "Github för maskininlärning".

3. OpenAI

OpenAI

OpenAI är företaget bakom GPT-3, den mest avancerade AI-modellen för språk som någonsin skapats.

De två första versionerna av denna modell (GPT och GPT-2) var öppen källkod, men OpenAI beslutade att GPT-3 inte längre skulle vara öppen källkod. Om du vill använda GPT-3 måste du prenumerera på OpenAI API. Endast Microsoft har tillgång till källkoden för GPT-3 eftersom de har köpt en exklusiv licens.

GPT-modellerna är AI-modeller för textgenerering som är mycket bra på att skriva text som en människa. Det är faktiskt ganska svårt för en människa att avgöra om en text har skrivits av en riktig person eller av GPT-3...

Det kostade OpenAI miljontals dollar att utforma och träna den nya AI:n. Om du vill använda den måste du gå igenom en krävande valideringsprocess eftersom OpenAI inte tillåter alla typer av applikationer att använda deras modell.

Nya modeller med öppen källkod släpps nu för att komma ikapp OpenAI, t.ex. GPT-J och GPT-NeoX.

4. NLP Cloud

NLP Cloud

Det här är vi!

NLP Cloud är ett API som gör att du enkelt kan använda de mest avancerade AI-modellerna för behandling av naturliga språk i produktionen.

Du kan till exempel generera text med GPT-J och GPT-NeoX, sammanfatta innehåll med Facebooks Bart Large CNN, klassificera en text med Roberta, extrahera enheter med spaCy, översätta innehåll med Opus MT och mycket mer.

På NLP Cloud är det också möjligt att träna och finjustera din egen AI, eller använda dina egna interna modeller. Om du till exempel vill skapa en egen medicinsk chattbot baserad på GPT-J behöver du bara ladda upp ditt dataset som består av egna exempel från din bransch, sedan starta träningsprocessen och använda din slutliga modell i produktionen via API:et.

5. Deepspeed

Deepspeed

Deepspeed är ett ramverk med öppen källkod från Microsoft som fokuserar på parallellisering av modeller.

Vad betyder det egentligen?

AI-modellerna blir allt större (se GPT-3, GPT-J, GPT-NeoX 20B, T0, Fairseq 13B...). Dessa enorma modeller öppnar dörren för massor av nya tillämpningar, men de är också mycket svåra att köra.

Utbildning av dessa modeller och tillförlitlig körning av dem i produktion för inferens kan antingen ske genom vertikal skalbarhet (med hjälp av stora GPU:er som NVIDIA A100 eller Google TPU:er) eller horisontell skalbarhet (med hjälp av flera små GPU:er parallellt).

Det andra tillvägagångssättet blir allt mer populärt eftersom det är billigare och skalbarare. Det är dock långt ifrån lätt att utföra distribuerad träning och inferens, och det är därför Deepspeed är till stor hjälp.

Deepspeed var ursprungligen inriktat på träningsuppgifter, men används nu allt oftare för inferens eftersom det är lätt att använda och integreras med Hugging Face Transformers (se nedan).

6. Big Science

Big Science

Big Science är ett kollektiv av forskare och företag som arbetar med stora språkmodeller.

Deras första workshop resulterade i en AI-modell som kallas T0 och som är mycket bra på att förstå mänskliga instruktioner.

De arbetar nu med mycket större modeller: deras mål är att skapa flerspråkiga AI-modeller med öppen källkod som är större och mer avancerade än GPT-3.

7. SpaCy

spaCy

SpaCy är ett ramverk för behandling av naturligt språk i Python som är perfekt lämpat för produktion: det är både snabbt och lätt att leka med.

Detta är ett ramverk som underhålls av ett tyskt AI-företag som heter Explosion AI.

SpaCy är mycket bra på igenkänning av namngivna entiteter (även kallat entitetsutvinning) och kan användas på cirka 50 olika språk. De tillhandahåller förtränade modeller och du kan enkelt skapa dina egna modeller med hjälp av kommenterade exempel.

8. HF Transformers

Transformers-ramverket släpptes av Hugging Face för ett par år sedan. De flesta av de avancerade modellerna för behandling av naturliga språk är nu baserade på Transformers.

Detta är en Python-modul som bygger på PyTorch, Tensorflow och Jax och som kan användas antingen för träning eller inferens.

Hugging Face Transformers gör det mycket enkelt att ladda ner och ladda upp modeller till Hugging Face Hub.

9. HF Tokenizers

Biblioteket med tokenizers från Hugging Face är en uppsättning avancerade tokenizers för behandling av naturliga språk som används av transformatorbaserade modeller.

Tokenisering handlar om att dela upp en inmatningstext i små ord eller underord som sedan kan kodas och bearbetas av AI-modellen.

Tokenisering kan låta som en detalj, men det är det inte. Det är faktiskt en kritisk del av behandlingen av naturliga språk, och att använda rätt tokeniserare gör stor skillnad när det gäller resultatens kvalitet och prestanda.

10. NLTK

NLTK står för Natural Language Toolkit. Det är ett ramverk i Python som har funnits i många år och som är utmärkt för forskning och utbildning.

NLTK är inte ett produktionsorienterat ramverk, men det är perfekt för datavetare som försöker öka sin kunskap om behandling av naturliga språk.

Slutsats

Behandlingen av naturliga språk har utvecklats avsevärt under 2021. I dag vill allt fler företag använda AI-modeller för språkbehandling i produktionen, och det är intressant att se att ekosystemet år 2022 inte har mycket att göra med vad det var för fem år sedan.

Bibliotek och ramverk blir allt mer avancerade, och skapandet av stora språkmodeller som GPT-3 ger upphov till nya intressanta utmaningar.

Jag längtar efter att få se hur 2023 kommer att se ut!

Julien Salinas
CTO på NLP Cloud