Kutatás fejlesztés
AI alapú természetes nyelvfeldolgozás
A nyelvi modellek közül két alapmodellt érdemes kiemelni. Mind tanítási módjuk hasznos lehet akár más domain területeken történő alkalmazásra, akár specifikus nyelvfeldolgozási feladatokra, mind funkciójuk meghatározó lehet. Mindkét modell általános és kontextusfüggő nyelvfeldolgozással foglalkozik, ám ezek közül az egyik egy kontextusfüggő szövegbeágyazást hoz létre (BERT), míg a másik a generatív területeken erős (GPT), illetve few-shot tanítás mellett jól teljesít specifikus komplex feladatokban, mint a kérdés-válasz probléma, összegzés generálás, vagy szöveg kategorizálás.
Természetes nyelvfeldolgozási (NLP) algoritmusok
BERT és NSP algoritmusok
A BERT modell (Bidirectional Encoder Representations from Transformers) a neve alapján jelzett módon a Transformerek encoder egységét használja fel, hogy a domainnek megfelelő tömör, könnyen újrahasznosítható reprezentációkat állítson elő. Az encoder felhasználásának fontos sarokpontja, hogy a Transformer encoder maszkolási módszeréhez is igazodik, miszerint az információ szabadon folyhat a szekvencia minden időpillanata között (nincs kauzalitást kikötő attention maszk). Ez a módszer nem csak a nyelvfeldolgozásban használható, fel, így érdemes megismerni a tanítás módját is.
Nyelvi modellek esetén a BERT két feladat együttes megoldásával tanul. Az első az MLM (masked language modelling), mely a nyelvmodellezés egy általános feladatát végzi el. Tetszőleges szövegrészletből (általánosságban egy-egy mondatról van szó) a szavak egy kis hányada kitakarásra, maszkolásra kerül, ekkor [MASK] token helyettesíti őket. A BERT, és a kimenetére csatolt egyszerű egy rejtett rétegű osztályozó feladata az, hogy visszaállítsa az eredeti, kitakart szó vektorát az encoder reprezentációkból. Ez a feladat a kontextusfüggő szóbeágyazások előállítását segíti elő.
A másik feladat, mely mondatszintű jelentésalapú reprezentáció létrehozását szorgalmazza az NSP (next sentence prediction). Ebben az esetben a bemenethez a mondat, vagy mondatok klasszifikációjára alkalmas plusz token kerül a bemenet elejére, mely a [CLS] értéket kapja. A [CLS] tokent az első mondat tokenjei, követik, ezután a bemenetre egy [SEP] szeparátor token kerül, végül egy második mondat tokenjei következnek ismét szeparátorral lezárva. A módszer lényege, hogy a [CLS] token encoder reprezentációja alapján egy szintén egy rétegű klasszifikátor hálózatnak képesnek kell eldöntenie, hogy a két mondat egy szövegen belül egymás után következik-e, avagy sem. Ily módon a mondatok egészének jelentéseire vonatkozó információ kerül eltárolásra a [CLS] tokenhez tartozó reprezentációban.
A BERT egyik legfontosabb előnye, hogy transzfer-tanítással kiválóan alkalmazható alapként szinte bármilyen kontextust is igénylő nyelvfeldolgozási feladat megvalósítására.
Másik kiemelten fontos előnye, hogy mára számos, különféle nyelvekre optimalizált változata létezik, melyek könnyen és hatékonyan fejleszthetők tovább. Ilyenek például:
(1) huBERT – Magyar nyelvre optimalizált algoritmus
(2) mBERT – Multilingual BERT – többnyelvű alkalmazáshoz készített algoritmus
Tetszőleges kontextusú nyelvfeldolgozásra alkalmas
Többféle variációja létezik, többnyelvű alkalmazásokhoz
AI asszisztensek kialakításánál hatékonyan alkalmazható
Természetes nyelvfeldolgozási (NLP) algoritmusok
GPT algoritmusok
A GPT (Generative Pretrained Transformer) modell család jelenleg harmadik iterációja került a piacra, mely online is elérhető eszközként az OpenAI kínálatában. A modell alapvetően angol nyelvre van optimalizálva, de magyar nyelven is képes működni.
A GPT modellek a Transformer decoderét használják, itt van kauzalitást biztosító maszk, így az attention súlyok a jövőbeli elemekre nézve zérus értéket kapnak (nincs jövőből múltba információ áramlás). A modellnek egyszerű feladata van, a következő tokent kell prediktálnia egy adott bemenethez. Ahogyan a modell neve is írja, ez egy generatív feladat, meglevő szöveg esetén pedig a BERT-hez hasonlóan címkézetlen adatsoron is tanítható.
A GPT modellek ezután finomhangolandóak különböző feladatokon való további ígéretes teljesítéshez. Az ilyen finomhangolás igen energia- és adatigényes, de látható, hogy az OpenAI finomhangolt (davinci névre keresztelt) modellje akár magyar nyelven is képes absztrakt fogalmak megértésére és felhasználására szöveggenerálás esetén.
A GPT legjellemzőbb felhasználási esetei az úgynevezett zero-shot szituációk, amikor a hálózat nem kap egyetlen példát sem kimenetére, és így kell meghatározza a predikcióit.
A GPT egyik variánsának, a GPT-3 algoritmusnak azonban az egyik legfontosabb előnye az, hogy alkalmas few-shot learningre is. Few-shot learning esetén a legenerálandó szöveg elé plusz információt, néhány mintát adunk meg, melyekből a generálásra vonatkozó szabályszerűségek kiderülhetnek a hálózat számára. Ennek segítségével még az egyszerű, zero-shot típusú problémáknál is komplexebb, esetlegesebb feladatok megoldására is képes, például előre megadott étlap alapján ételt ajánlani, vagy összeget kiszámítani.
A GPT-hez hasonló modellek tanítása generatív esetben kézenfekvő, azonban a finomhangolatlan modellek használata nehézkes. A finomhangolatlan modelleket jellemzően csak alapfeladatokra érdemes alkalmazni, komplexebb használathoz témakör specifikus finomhangolás szükséges.
Generatív esetben kézenfekvő alkalmazhatóság
Célzott felhasználásnak megfelelően finomhangolható
Kutatás-fejlesztés a trilobitával
K+F projektjeink fázisai
K+F Projekttervezés
A K+F projekttervezési fázisban segítünk ügyfeleinknek megtalálni a legoptimálisabb forrásfelhasználási lehetőségeket. Elkészítjük a projekt pénzügyi és szakmai tervét, valamint összeállítjuk a kiválasztott pályázati konstrukciónak megfelelő pályázatot.
Alkalmazott kutatás
Az alkalmazott kutatási fázisban elkészítjük a szükséges kutatási terveket. Végrehajtjuk és módszertan alapján dokumentáljuk a kísérletsorozatokat.
Kutatási Eredmények értékelése
A kísérletsorozatok eredményét különböző adatelemző módszerek segítségével kiértékeljük és elkészítjük a kutatási összefoglaló dokumentumot.
Tervezés
A kutatási eredmények alapján megtervezzük az ügyfelünk által igényelt rendszereket. A tervezéshez rendszertervezési módszertant és eszközöket használunk.
Fejlesztés és tesztelés
Fejlesztési módszertanunk ötvözi a klasszikus vízesés és az agilis módszertanok elemeit, rugalmasan illeszkedve az adott ügyfél és projekt igényeihez. Fejlesztési és tesztelési munkánk hatékonyságát számos kész rendszermodul növeli.
Támogatás
K+F projektjeink lezárását követően az általunk szállított megoldásokhoz minden esetben biztosítunk követési, támogatási szolgáltatást ügyfeleink számára. Célunk, hogy ügyfeleinkkel hosszú távú, sikeres együttműködést alakítsunk ki.
Hiszünk abban, hogy minden tervezéssel eltöltött óra többszörösen térül meg rendszereink kivitelezése és bevezetés során. Az ergonomikusan megtervezett felhasználói felületek új felhasználói élményt és könnyű kezelhetőséget biztosítanak ügyfeleinknek.