Írta: Charles Foster
A Finetune-nál mesterséges intelligencia-megoldásokat készítünk az oktatástechnológia néhány legnagyobb kihívást jelentő problémájának megoldására, beleértve az automatizált tartalomgenerálást és az AI-alapú tanulási erőforrások osztályozását és ajánlásait. Mivel eszközeinknek a középiskolától a munkaerő fejlesztéséig terjedő témát kell kezelniük, jelentős befektetéseket fektetünk be olyan módszerekbe, amelyek lehetővé teszik modelljeink szélességének és mélységének növelését. Ennek a megközelítésnek a kulcselemei a rugalmas módszerek speciális neurális hálózatok képzésére olyan területeken, ahol az általános célú modellek nem elegendőek. Ebben a blogbejegyzésben szeretnék egy kicsit megosztani e módszereket feltáró utazásunkat.
Finomhangolás
A neurális nyelvi modellek tipikus finomhangolása magában foglalja az összes betanítható paraméter egyidejű optimalizálását, ami sok milliárdra rúghat olyan hálózatok esetében, mint például a GPT-J. Az ilyen méreteknél a finomhangolási és következtetési folyamatok sem triviálisak, ami megnehezíti ezek széles körű alkalmazását. Saját vizsgálataink során néhány kulcskérdés tűnt a legnagyobbnak:
- A transzformátormodellek egyszerű futtatása már a GPU-memória (VRAM) korlátaiba ütközik, és a finomhangolás során közvetlen kapcsolat van az optimalizálandó paraméterek száma és a felhasznált többletmemória mennyisége között.
- A hálózat összes paraméterének módosítása megzavarhatja az előképzés során tanult információáramlást, ami elfelejtést és néhány felvételi képesség elvesztését eredményezheti.
- Egy testreszabott több gigabájtos modell kiszolgálása minden egyes felhasználási esethez elfogadhatatlan késleltetést és költségterhet jelentene.
Ezek az együttes aggodalmak arra sarkalltak bennünket, hogy a legújabb irodalomból más módszereket is felfedezzünk neurális nyelvi modelljeink hangolására. Szerencsére az elmúlt egy évben a természetes nyelvi feldolgozás kutatási szférája egy sor módszert fejlesztett ki az előre betanított nyelvi modellek viselkedésének testreszabásának költségeinek csökkentésére.
Prompt Tuning
Az általunk követett eredeti megközelítés neve Prompt Tuning vagy Soft Prompting (Lester et al. 2021). Ennél a módszernél a hálózat előképzésből származó paraméterei fagyasztva vannak. Ehelyett kis számú tanulható beágyazási vektort (általában 10-20) helyezünk el a beviteli prompt tokenek elé, és ezeket a beágyazásokat a szokásos nyelvi modellezési céllal hangoljuk egy finomhangoló adatkészleten. Ezek a beágyazások nem képviselik a nyelv jelzőit; ehelyett úgy tekinthetünk rájuk, mint egy sűrű kontextustárolóra, amelyet a hálózat – a figyelemmechanizmuson keresztül – kondicionálhat, mivel előrejelzéseket ad a szekvenciában szereplő tokenekről.
A prompt hangolás csak kis futási költséggel jár a modellben, mivel a soft promptok kilobyte-os tartományban vannak, és párhuzamosan futtathatók a hálózaton. Ezek a tulajdonságok vonzóvá teszik őket sok egyidejű felhasználó kiszolgálásához, amint azt az AI történetmesélési technikának a közelmúltban történő alkalmazása jelezte. A lágy promptok integrálása olyan népszerű keretrendszerekbe, mint például a HuggingFace transzformátorai azonban bonyolult, mivel az interfészek nagyrészt a token indexek sorozatain működnek, nem pedig sűrű vektorokon. Ezen túlmenően, ahogy egyre több kontextus kerül a lágy prompt és a generálás közé, kezdünk egyensúlytalanságot látni a lágy prompt és a token kontextus kondicionálásának erőssége között. Fontos volt számunkra, hogy megőrizzük a kontextus több száz tokenek rugalmas hozzáadásának lehetőségét futás közben, mivel ez további finomszemcsés vezérelhetőséget biztosít az elemkészítési folyamatban. Ha arra akarjuk irányítani a modellt, hogy a tankönyv egy adott oldaláról származó tartalomra összpontosítson, vagy egy szövegértési elemet írjon, vagy néhány példát adjon, akkor a hosszú formájú kontextualizálás számít.
Alacsony rangú adapterek (LoRA)
Később áttértünk a LoRA vagy Low Rank Adapters nevű módszerre (Hu et al. 2021). Ezt a technikát a Microsoft GPT-3 méretű modelleken dolgozó kutatói fejlesztették ki, és korábbi adapter-megközelítésekre épít. Ha úgy gondoljuk, hogy egy transzformátor minden maradék réteggel fokozatosan finomítja token látens állapotait, akkor az adapter koncepciója az, hogy egy kis, bemenettől függő deltát ad hozzá (no-op-ra inicializálva) a látensekhez egy adott rétegen. Ez a gyengéd bökkenő azután képes modulálni a viselkedését az áramlás irányában, mondjuk azáltal, hogy kiemeli a bemenet azon részeit, amelyek relevánsak a feladat szempontjából.
Az alacsony rangú adapterek egyfajta adapter, amely egy alacsony rangú alteret céloz meg, ami csökkenti a betanítandó új paraméterek számát (D 2- ről 2 × D × r-re, ahol D több ezer). Mint a lágy felszólításnál, a hálózat eredeti paramétereit lefagyasztjuk, hogy megőrizzük az előzetes betanításból származó tudást, és csak ezeket az új adapterparamétereket módosítjuk. Belső tesztjeink során jó mutatókat láttunk a LoRA-tól. Amellett, hogy lehetővé válik a nagy modellek kis hardver-költségvetésű hangolása, a közbeiktatott adapterrétegekkel rendelkező modellek megőrzik eredeti néhány felvételi képességük nagy részét, miközben továbbra is alkalmazkodnak a céltartományhoz. Nevezetesen, az alacsony rangú adapterek integrálása más keretrendszerekbe egyszerű, mivel szükség szerint egyszerűen kicserélhetjük a meglévő lineáris rétegeket lineáris + adapterrétegekkel.
Továbblépés
Hogy ízelítőt adjunk a felfedezéseink során tapasztalt fejlesztéseknek, az alábbiakban megosztunk egy kis válogatást a különböző hangolási megközelítésekkel kiképzett modellekből származó generációkból. Ezeket az elemeket mind ugyanazzal a három bemeneti prompt felhasználásával generáltuk, amelyek az ápolási ellátás nyújtására vonatkoztak: az első a több kliens szükségleteinek priorizálására, a második pedig a csapatban történő cselekvésre összpontosított.
Item #1: A nurse is assessing a client who is scheduled for outpatient surgery. Which of the following patients would the nurse evaluate next? (A) A patient with type 1 diabetes (B) A patient with acute pancreatitis (C) A patient who requires intravenous antibiotic therapy (D) A patient with Crohn's disease Item #2: A client is admitted to the hospital with the diagnosis of congestive heart failure. The client's mother is refusing treatment. Which of the following actions should the nurse take? (A) Notify the provider of the situation. (B) Check the patient's medication list. (C) Check the client's medical chart. (D) Notify the client's doctor of the client's condition.
Item #3: A nurse is evaluating a patient on the pediatric unit. The client is scheduled for a diagnostic workup, including a chest radiograph. Which of the following patients should the nurse be planning to evaluate next? (A) A child who has pneumonia and is experiencing fever (B) A child who has a rash and is not responding to a medication (C) A child who has a fever and has a temperature >100.4 (D) A child who has a fever and a rash Item #4: A client with renal failure is in the hospital and is scheduled to undergo a renal transplant. The client has a strong belief that the transplant surgeon is incompetent. The client refuses to allow a doctor from another hospital to perform the transplant. Which of the following actions should the charge nurse take? (A) Take a statement from the client that the transplant surgeon is competent and give it to the transplant surgeon. (B) Ask the client for a signed statement to back up her assertion. (C) Contact the transplant surgeon and find out why the client refuses to allow the surgeon from another hospital to perform the transplant. (D) Inform the transplant surgeon that the client is refusing the transplant.
Item #5: A nurse is planning to assign clients to various bedside stations. Which of the following clients should the nurse assign to the bedside station closest to the nurses' station? (A) A client who has a suspected diagnosis of a pulmonary embolism and requires a computed tomography (CT) scan (B) A client who needs assistance with a bowel movement (C) A client who has an emergency indication for a chest X-ray (D) A client who requires a chest X-ray because she has a cough Item #6: An LPN is caring for a client with an indwelling urinary catheter and is asking the nurse to help her clean the catheter. Which of the following actions should the nurse take? (A) Explain to the client that she will need to provide the cleaning solution and will need to obtain the client's consent for the procedure. (B) Ask the LPN for assistance. (C) Offer to help the client clean the catheter. (D) Assure the LPN that the nurse will assist her.
Megfigyelhetjük, hogy bár az alapmodell legjobb elemei nagyrészt gördülékenyek és logikailag koherensek, általában alulkorlátozottak (mint az 1. pontban), vagy nagyon kevés tudást igényelnek az ápolási területről (mint a 3. pontban). Az alapelemekhez képest az azonnali hangolás és az alacsony rangú adaptermodellek elemei részletesebben tartalmazzák az ingereket, szárakat és opciókat. A téma releváns a terület szempontjából, és az ápolási ellátás irányításában specifikus ismereteket igényel, nem pedig kizárólag háttértudásra támaszkodva. Sőt, az alacsony rangú adaptermodell elemeinek formája egységesebb. Például a tételek következetesen az „ügyfélre” utalnak, nem a „betegre”, annak a nyelvezetnek megfelelően, amely valószínűleg megjelenik az értékelésekben (hasonlítsa össze az 5-öst az 1-essel és a 3-assal). Sikeresen követi a több személyre való hivatkozást is egy forgatókönyvön belül (hasonlítsa össze a 6. és a 4. számú hivatkozást).
A tartományi lefedettség, a stilisztikai konzisztencia és a logikai koherencia javítása a neurális nyelvi modellek hasznosságának jelentős javulását eredményezheti. Ez még csak a kezdet: a technológia fejlődésével még több módszert fedeznek fel testreszabott, ellenőrizhető természetes nyelvi modellek méretarányos létrehozására. És ahogy ezeket a módszereket felfedezzük, továbbra is beépítjük a tudományos körök, az ipar és a független kutatások legjavát a Finetune termékekbe.
Őszinte köszönet Nick Koprowicznak, Jesse Hamernek, Saad Khannak és Ogden Morse-nak, hogy kedves, hasznos visszajelzést adtak ennek a blogbejegyzésnek a kidolgozásához.
Hivatkozások
Hu, EJ, Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: Nagy nyelvi modellek alacsony szintű adaptációja. arXiv preprint arXiv:2106.09685.
Lester, B., Al-Rfou, R. és Constant, N. (2021). A skála ereje a paraméter-hatékony azonnali hangoláshoz. arXiv preprint arXiv:2104.08691.