Charles Foster által
A Finetune-nál mesterséges intelligencia megoldásokat fejlesztünk az oktatási technológia legkihívóbb problémáinak kezelésére, beleértve az automatizált tartalomgenerálást és az MI-alapú tanulási források osztályozását és ajánlását. Mivel az általunk használt eszközök témája a K-12-től a munkaerő-fejlesztésig terjed, jelentős befektetéseket eszközlünk olyan módszerekbe, amelyek lehetővé teszik számunkra, hogy növeljük a modelljeink által lefedett terület és mélység szélességét. Ennek a megközelítésnek a kulcsfontosságú elemei a rugalmas módszerek, amelyek lehetővé teszik a specializált neurális hálózatok tréningezését olyan területeken, ahol az általános célú modellek nem elegendőek. Ebben a blogbejegyzésben szeretném megosztani a módszerek felfedezésével kapcsolatos utunk egy részét.
Finomhangolás
A neurális nyelvi modellek tipikus finomhangolása magában foglalja az összes tanítható paraméter egyidejű optimalizálását, amely milliárdokat is elérhet olyan hálózatok esetében, mint a GPT-J. Ilyen mértékek mellett a finomhangolás és a következtetési folyamatok nem triviálisak, ami megnehezíti a széleskörű alkalmazást. A saját vizsgálataink során néhány kulcsfontosságú probléma tűnt a legnagyobbnak:
- Egyszerűen ezeknek a transformer modelleknek a futtatása már a GPU memória (VRAM) határait feszegeti, és a finomhangolás során közvetlen kapcsolat áll fenn az optimalizált paraméterek száma és a felhasznált további memória mennyisége között.
- A hálózat összes paraméterének módosításával a pre-trainálás során tanult információáramlás megszakadhat, ami felejtéshez és néhány példás képesség elvesztéséhez vezethet.
- Az egyedi, több gigabájtos modell kiszolgálása minden egyes használati esethez elfogadhatatlan késleltetést és költségterhet jelentene.
Ezek a kombinált aggályok arra ösztönöztek minket, hogy más módszereket kutassunk a közelmúlt irodalmából neurális nyelvi modelljeink finomhangolásához. Szerencsére az elmúlt évben a természetes nyelvfeldolgozás kutatási területe számos módszert dolgozott ki a pre-trainált nyelvi modellek viselkedésének testreszabásának költségeinek csökkentésére.
Prompt Tuning
A kezdeti megközelítés, amelyet követtünk, a Prompt Tuning vagy Soft Prompting néven ismert (Lester et al. 2021). Ebben a módszerben a pre-trainálás során a hálózat paraméterei fagyott állapotban maradnak. Ehelyett egy kis számú tanulható beágyazási vektort (tipikusan 10-20) helyezünk el a bemeneti prompt tokenek elé, és ezeket a beágyazásokat a szokásos nyelvi modellezési céllal finomhangoló adathalmazon hangoljuk. Ezek a beágyazások nem nyelvi tokenek; inkább sűrű kontextustárolónak tekinthetjük őket, amelyre a hálózat kondicionálhat—az figyelmi mechanizmuson keresztül—amint előrejelzéseket készít a szekvenciában található tokenekről.
A prompt tuning csak kis futási költséget ad a modellhez, mivel a soft promptok kilobájt tartományban vannak, és párhuzamosan futhatnak a hálózaton. Ezek a jellemzők vonzóvá teszik őket sok egyidejű felhasználó kiszolgálására, ahogyan a technika legutóbbi alkalmazása az AI történetmesélésben is mutatta. Azonban a soft promptok integrálása népszerű keretrendszerekbe, mint például a HuggingFace transformers, összetett, mivel az interfészek főként token indexek szekvenciáira vannak tervezve, nem pedig sűrű vektorokra. Ezen kívül, ahogy több kontextus kerül a soft prompt és a generálás közé, kezdetben észlelhetjük az egyensúlyhiányokat a soft prompt és a token kontextusra való kondicionálás ereje között. Számunkra fontos volt, hogy rugalmasan több száz token kontextust adhassunk hozzá futásidőben, mivel ez további részletes vezérlőelemeket biztosít az elem szerzői folyamatában. Ha szeretnénk irányítani a modellt, hogy egy adott tankönyv egy oldalának tartalmára összpontosítson, vagy egy olvasási megértési elem megírására, vagy néhány példát nyújtson, a hosszú távú kontextualizálás fontos.
Alacsony Rangú Adapterek (LoRA)
Később áttértünk egy LoRA vagy Alacsony Rangú Adapterek néven ismert módszerre (Hu et al. 2021). Ezt a technikát a Microsoft kutatói fejlesztették ki a GPT-3 méretű modelleken dolgozva, és korábbi adapter megközelítésekre épít. Ha egy transformert úgy tekintünk, mint amely fokozatosan finomítja a token latens állapotait minden egyes maradék rétegen, az adapter fogalma az, hogy egy kis, bemeneti függő delta-t (amelyet no-op-ra inicializálnak) adunk hozzá ezekhez a latens állapotokhoz egy adott rétegben. Ez a finom lökés képes módosítani a viselkedését az alacsonyabb szinten, például hangsúlyozva azokat a bemeneti részeket, amelyek relevánsak a feladathoz.
Az alacsony rangú adapterek egy olyan adaptertípus, amely egy alacsony rangú alsíkon céloz, ami csökkenti az újonnan tanulandó paraméterek számát (D2-től 2 × D × r-ig, ahol D az ezrekben van). A soft promptinggel összhangban a hálózat eredeti paramétereit fagyott állapotban tartjuk, hogy megőrizzük a pre-trainálás során szerzett tudást, és csak ezeket az új adapter paramétereket állítjuk be. Belső tesztjeink során jó indikátorokat láttunk a LoRA-tól. Továbbá, lehetővé téve számunkra, hogy nagy modelleket finomítsunk kis hardver költségvetés mellett, az adapterrétegekkel interspersed modellek is megőrzik az eredeti néhány példás képességük nagy részét, miközben alkalmazkodnak a célnak megfelelő területhez. Különösen, hogy az alacsony rangú adapterek integrálása más keretrendszerekbe egyszerű, mivel egyszerűen kicserélhetjük a meglévő lineáris rétegeket lineáris + adapter rétegekre, amikor szükséges.
Továbbhaladás
A felfedezéseink során tapasztalt javulások ízének megadásához alább bemutatunk egy kis válogatást a különböző finomhangolási megközelítésekkel tanított modellek generálásaiból. Ezek az elemek mindhárom bemeneti prompt alapján készültek, amelyek a nővéri ellátás nyújtására vonatkoznak: az első a több kliens igényeinek prioritására összpontosított, a második pedig a csapatban történő cselekvésre.
Elem #1: Egy nővér értékel egy klienst, akit járóbeteg műtétre terveztek. Melyik következő beteget értékeli a nővér? (A) Egy 1-es típusú diabéteszes beteget (B) Egy akut hasnyálmirigy-gyulladásos beteget (C) Egy intravénás antibiotikum-terápiát igénylő beteget (D) Egy Crohn-betegségben szenvedő beteget Elem #2: Egy klienst felvettek a kórházba kongestív szívelégtelenség diagnózissal. A kliens anyja visszautasítja a kezelést. Milyen intézkedéseket kell tennie a nővérnek? (A) Értesítse a szolgáltatót a helyzetről. (B) Ellenőrizze a beteg gyógyszerlistáját. (C) Ellenőrizze a kliens orvosi chartját. (D) Értesítse a kliens orvosát a kliens állapotáról.
Elem #3: Egy nővér értékel egy beteget a gyermekgyógyászati osztályon. A kliens diagnosztikai vizsgálatra van beütemezve, beleértve egy mellkas röntgent is. Melyik következő beteget kell a nővérnek terveznie értékelni? (A) Egy gyermeket, akinek tüdőgyulladása van és láza van (B) Egy gyermeket, akinek kiütése van és nem reagál a gyógyszerre (C) Egy gyermeket, akinek láza van és a hőmérséklete >100.4 (D) Egy gyermeket, akinek láza van és kiütése van Elem #4: Egy vesebetegséggel küzdő kliens a kórházban van, és vesetranszplantációra van tervezve. A kliens erősen hisz abban, hogy a transzplantáló sebész inkompetens. A kliens visszautasítja, hogy egy másik kórház orvosa végezze el a transzplantációt. Milyen intézkedéseket kell tennie a felelős nővérnek? (A) Kérjen nyilatkozatot a klienstől, hogy a transzplantáló sebész kompetens, és adja át ezt a transzplantáló sebésznek. (B) Kérje meg a klienst, hogy írjon alá egy nyilatkozatot, hogy alátámassza állítását. (C) Vegye fel a kapcsolatot a transzplantáló sebésszel, és derítse ki, miért utasítja vissza a kliens, hogy a másik kórház sebésze végezze el a transzplantációt. (D) Értesítse a transzplantáló sebészt, hogy a kliens visszautasítja a transzplantációt.
Elem #5: Egy nővér tervezi, hogy klienseket rendel különböző ágy melletti állomásokhoz. Melyik klienst kell a nővérnek a nővérállomás legközelebbi ágy melletti állomásához rendelnie? (A) Egy klienst, akinek gyanítható diagnózisa van pulmonális embóliával, és CT-vizsgálatra van szüksége (B) Egy klienst, aki segítséget igényel a bélmozgásban (C) Egy klienst, akinek sürgősségi indikációja van mellkas röntgenre (D) Egy klienst, akinek mellkas röntgenre van szüksége, mert köhög) Elem #6: Egy LPN gondoz egy klienst, akinek tartós húgycső katéterje van, és kéri a nővért, hogy segítsen neki tisztítani a katétert. Milyen intézkedéseket kell tennie a nővérnek? (A) Magyarázza el a kliensnek, hogy szüksége lesz a tisztítóoldatra, és be kell szereznie a kliens beleegyezését a beavatkozáshoz. (B) Kérje meg az LPN-t, hogy segítsen. (C) Kínáljon segítséget a kliensnek a katéter tisztításához. (D) Biztosítsa az LPN-t, hogy a nővér segíteni fog neki.
Megfigyelhetjük, hogy míg a baseline modell legjobb elemei nagyrészt folyékonyak és logikailag koherensek, hajlamosak alulhangoltak lenni (pl. #1), vagy nagyon kevés tudást igényelnek a nővér domainből (pl. #3). A baseline elemekhez képest a prompt tuning és alacsony rangú adapter modellek elemei részletesebb információkat tartalmaznak az ingerekben, származásokban és lehetőségekben. A téma releváns a terület szempontjából, amely specifikus tudást igényel a nővéri ellátás kezelésében, nem csupán háttértudásra támaszkodva. Továbbá, az alacsony rangú adapter modellek elemei konzisztens formát mutatnak. Például az elemek következetesen a „klienst” említik a „beteg” helyett, összhangban a felmérésekben valószínűleg előforduló nyelvezettel (használja össze #5-öt #1-gyel és #3-mal). Szintén sikeresen követik a több egyénre vonatkozó utalásokat egy szcenárióban (használja össze #6-ot #4-gyel).
A terület lefedettségének, stílusbeli konzisztenciájának és logikai koherenciájának javulása jelentős javulásokat eredményezhet a neurális nyelvi modellek hasznosságában. Ez csak a kezdet: ahogy a technológia érik, még több módszert fognak felfedezni a testreszabott, kontrollálható természetes nyelvi modellek létrehozására nagy léptékben. Ahogy ezeket a módszereket felfedezik, továbbra is beépítjük a legjobbat az akadémiai, ipari és független kutatásokból a Finetune termékeibe.
Őszinte köszönet Nick Koprowicz, Jesse Hamer, Saad Khan és Ogden Morse számára a kedves, hasznos visszajelzésekért ennek a blogbejegyzésnek a fejlesztésében.
Hivatkozások
Hu, E. J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: Alacsony rangú alkalmazkodás nagy nyelvi modellekhez. arXiv preprint arXiv:2106.09685.
Lester, B., Al-Rfou, R., & Constant, N. (2021). A skálázás ereje a paraméterhatékony prompt tuning számára. arXiv preprint arXiv:2104.08691.