2024-08-16
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Koneen sydänraportti
Toimittajat: Du Wei, Chen Chen, Zenan
Pienten mallien nousu.
Viime kuussa Meta julkaisi Llama 3.1 -mallisarjan, joka sisältää Metan tähän mennessä suurimman 405B-mallin sekä kaksi pienempää mallia, joissa on 70 miljardia ja 8 miljardia parametria.
Llama 3.1:n katsotaan tuovan uuden avoimen lähdekoodin aikakauden. Vaikka uuden sukupolven mallit ovat suorituskyvyltään tehokkaita, ne vaativat silti paljon laskentaresursseja käyttöön otettaessa.
Tästä syystä alalla on noussut esiin toinen suuntaus, joka on kehittää pieniä kielimalleja (SLM), jotka toimivat riittävän hyvin monissa kielitehtävissä ja ovat myös erittäin halpoja ottaa käyttöön.
Äskettäin NVIDIA-tutkimukset ovat osoittaneet, että strukturoitu painon karsiminen yhdistettynä tiedon tislaamiseen voi vähitellen saada pienempiä kielimalleja alun perin suuremmasta mallista.
Yann LeCun, Turing-palkinnon voittaja ja Metan johtava tekoälytutkija, piti myös tutkimuksesta ja julkaisi sen uudelleen.
Karsimisen ja tislauksen jälkeen NVIDIA-tutkimusryhmä jalosti Llama 3.1 8B:n Llama-3.1-Minitron 4B:ksi ja teki siitä avoimen lähdekoodin. Tämä on NVIDIAn ensimmäinen teos avoimen lähdekoodin Llama 3.1 -sarjassa.
Llama-3.1-Minitron 4B päihittää samankokoiset huippuluokan avoimen lähdekoodin mallit, mukaan lukien Minitron 4B, Phi-2 2.7B, Gemma2 2.6B ja Qwen2-1.5B.
Tähän tutkimukseen liittyvä paperi julkaistiin jo viime kuussa.
karsiminen ja tislaus
Karsiminen tekee mallista pienemmän ja ohuemman, ja se voidaan saavuttaa poistamalla kerroksia (syvyysleikkaus) tai poistamalla hermosoluja ja huomiopäitä ja upottamalla kanavia (leveysleikkaus). Leikkaukseen liittyy yleensä jonkinasteista uudelleenkoulutusta tarkkuuden palauttamiseksi.
Mallin tislaus on tekniikka tiedon siirtämiseksi suuresta, monimutkaisesta mallista (kutsutaan usein opettajamalliksi) pienempään, yksinkertaisempaan opiskelijamalliin. Tavoitteena on luoda tehokkaampi malli, joka säilyttää suuren osan alkuperäisen suuremman mallin ennustevoimasta samalla, kun se toimii nopeammin ja kuluttaa vähemmän resursseja.
On olemassa kaksi pääasiallista tislausmenetelmää: SDG-hienosäätö ja klassinen tietotislaus. Nämä kaksi tislausmenetelmää täydentävät toisiaan. Tämä artikkeli keskittyy klassisiin tiedon tislausmenetelmiin.
NVIDIA käyttää menetelmää, joka yhdistää karsimisen ja klassisen tietämyksen tislaamisen suurten mallien rakentamiseen. Alla olevassa kuvassa näkyy yksittäisen mallin karsiminen ja tislaus (ylhäällä) sekä mallin karsiminen ja tislaus (alhaalla). Erityinen prosessi on seuraava:
1. NVIDIA aloittaa 15B-mallilla, arvioi jokaisen komponentin (kerrokset, hermosolut, päät ja upotuskanavat) tärkeyden, sitten lajittelee ja karsii mallin saavuttaakseen tavoitekoon: 8B-malli.
2. Käytä sitten mallitislaamista kevyeen uudelleenkoulutukseen, jossa alkuperäinen malli opettajana ja karsittu malli opiskelijana.
3. Käytä harjoituksen jälkeen pientä mallia (8B) lähtökohtana, karsi ja tislaa se pienemmäksi 4B-malliksi.
Karsiminen ja tislaus 15B-mallista.
Yksi huomioitava asia on, että ennen mallin karsimista sinun on ymmärrettävä, mitkä mallin osat ovat tärkeitä. NVIDIA ehdottaa aktivointiin perustuvaa puhtaasti tärkeysarviointistrategiaa, joka laskee samanaikaisesti tiedot kaikista asiaankuuluvista ulottuvuuksista (syvyys, hermosolu, pää ja upotuskanavat) käyttämällä pientä 1024 näytteen kalibrointitietojoukkoa, ja vain eteenpäin etenemistä tarvitaan. Tämä lähestymistapa on yksinkertaisempi ja kustannustehokkaampi kuin strategiat, jotka perustuvat gradienttitietoihin ja vaativat takaisin leviämistä.
Karsimisen aikana voit toistuvasti vuorotellen karsimista ja tärkeysarviointia tietylle akselille tai akseliyhdistelmälle. Empiiriset tutkimukset osoittavat, että yhden tärkeysarvion käyttäminen riittää ja että iteratiiviset estimaatit eivät tuota lisähyötyä.
Uudelleenkoulutus käyttäen klassista tiedon tislaamista
Alla oleva kuva 2 esittää tislausprosessia, jossa N-kerroksen opiskelijamalli (karsittu malli) tislataan M-kerroksen opettajamallista (alkuperäinen karsimaton malli). Opiskelijamalli opitaan minimoimalla upotuslähtöhäviön, logit-häviön ja muuntaja-enkooderikohtaisen häviön yhdistelmä, joka on kartoitettu opiskelijalohkoon S ja opettajalohkoon T.
Kuva 2: Tislausharjoituksen menetys.
Leikkaamisen ja tislauksen parhaat käytännöt
Perustuu laajaan ablaatiotutkimukseen karsimisesta ja tiedon tislaamisesta kompakteissa kielimalleissa, NVIDIA tiivistää oppimistulokset seuraaviin strukturoidun pakkaustavan parhaisiin käytäntöihin.
Yksi on koon muuttaminen.
Toinen on karsiminen.
Kolmas on uudelleenkoulutus.
Llama-3.1-Minitron: Parhaiden käytäntöjen toteuttaminen käytännössä
Meta julkaisi hiljattain tehokkaan avoimen lähdekoodin mallien Llama 3.1 -perheen, joka kilpailee suljetun lähdekoodin mallien kanssa monissa vertailuissa. Llama 3.1:n parametrit vaihtelevat valtavasta 405B:stä 70B:hen ja 8B:hen.
Nemotron-tislauksesta saadun kokemuksen perusteella NVIDIA päätti tislata Llama 3.1 8B -mallin pienemmäksi ja tehokkaammaksi 4B-malliksi seuraavin toimenpitein:
Opettajan hienosäätö
Korjatakseen alkuperäisen tietojoukon, johon mallikoulutus perustui, jakeluharhaa NVIDIA hienosääsi ensin karsimatonta 8B-mallia tietojoukossaan (94B-tunnisteet). Kokeet osoittavat, että jos jakauman poikkeamaa ei korjata, opettajamalli tarjoaa epäoptimaalisen opastuksen tietojoukolle tislauksen aikana.
Vain syvyysleikkaus
Vähentääkseen 8B:stä 4B:hen NVIDIA karsi 16 kerrosta (50%). He arvioivat ensin kunkin kerroksen tai peräkkäisten alikerrosten ryhmän tärkeyden poistamalla ne mallista ja havaitsevat LM-häviön lisääntymisen tai tarkkuuden heikkenemisen loppupään tehtävissä.
Alla oleva kuva 5 näyttää validointisarjan LM-häviöarvot 1, 2, 8 tai 16 kerroksen poistamisen jälkeen. Esimerkiksi kerroksen 16 punainen käyrä osoittaa, että LM-häviö tapahtuu, jos ensimmäiset 16 kerrosta poistetaan. Kerros 17 tarkoittaa, että jos ensimmäinen kerros säilytetään ja kerrokset 2-17 poistetaan, tapahtuu myös LM-häviö. Nvidia huomauttaa: Aloitus- ja loppukerrokset ovat tärkeimpiä.
Kuva 5: Keskikerrosten vain syvyysleikkauksen merkitys.
NVIDIA huomauttaa kuitenkin, että tämä LM-häviö ei välttämättä liity suoraan loppupään suorituskykyyn.
Alla olevassa kuvassa 6 näkyy kunkin karsitun mallin Winogrande-tarkkuus. Se osoittaa, että on parasta poistaa kerrokset 16 - 31, jossa kerros 31 on toiseksi viimeinen. Karsitun mallin tarkkuus on huomattavasti suurempi kuin satunnainen. 0,5). Nvidia omaksui tämän näkemyksen ja poisti kerrokset 16–31.
Kuva 6: Tarkkuus Winogrande-tehtävässä, kun 16 kerrosta poistetaan.
Vain leveysleikkaus
NVIDIA leikkaa upotus (piilotettu) ja MLP-välimitat leveysakselia pitkin pakatakseen Llama 3.1 8B:n. Erityisesti he käyttävät aiemmin kuvattua aktivointiin perustuvaa strategiaa tärkeyspisteiden laskemiseen kullekin huomiopäälle, upotuskanavalle ja MLP:n piilotetulle ulottuvuudelle.
Arvioituaan tärkeyden NVIDIA valitsi
On syytä mainita, että yhden näytteen karsinnan jälkeen leveysleikkauksen LM-häviö on suurempi kuin syvyysleikkauksen. Lyhyen uudelleenkoulutusjakson jälkeen suuntaus kuitenkin kääntyi.
Tarkkuusvertailu
NVIDIA tislaa mallin seuraavilla parametreilla
Alla olevassa taulukossa 1 on esitetty Llama-3.1-Minitron 4B -malliversioiden (leveysleikkaus ja syvyysleikkaus) suorituskykyvertailu alkuperäiseen Llama 3.1 8B -malliin ja muihin samankokoisiin malleihin useiden verkkotunnusten vertailuarvoilla. Kaiken kaikkiaan NVIDIA vahvisti jälleen kerran laajan karsintastrategian tehokkuuden verrattuna parhaita käytäntöjä noudattavaan syväleikkaukseen.
Taulukko 1: Minitron 4B -perusmallin tarkkuusvertailu samankokoisiin perusmalleihin.
NVIDIA käytti NeMo-Aligneria Llama-3.1-Minitron 4B -mallin hienosäätämiseen varmistaakseen, voiko tislatusta mallista tulla tehokas ohjemalli.
He käyttivät Nemotron-4 340B -harjoitustietoja ja suorittivat arvioinnin IFEvalissa, MT-Benchissä, ChatRAG-Benchissä ja Berkeley Function Calling Leaderboardissa (BFCL) ohjeiden seuraamisen, roolipelien, RAG- ja toimintokutsujen testaamiseksi. Lopuksi vahvistettiin, että Llama-3.1-Minitron 4B -mallista voi tulla luotettava ohjemalli ja sen suorituskyky on parempi kuin muiden perustason SLM:ien.
Taulukko 2: Kohdistettujen Minitron 4B -perusmallien ja samankokoisten kohdistettujen mallien tarkkuusvertailu.
Suorituskyvyn vertailukohta
NVIDIA optimoi Llama 3.1 8B- ja Llama-3.1-Minitron 4B -mallit käyttämällä NVIDIA TensorRT-LLM:ää, avoimen lähdekoodin työkalupakkia LLM-päätelmien optimointiin.
Seuraavat kaksi kuvaa esittävät suorituskyvyn pyynnöt sekunnissa FP8- ja FP16-tarkkuudella eri malleissa eri käyttötapauksissa, ilmaistuna syöttösekvenssin pituus/lähtösekvenssin pituus (ISL/OSL) yhdistelmänä erän koon ollessa 32 8B-mallissa ja 4B-malli Eräkoko on 64:n syöttösekvenssin pituus/lähtösekvenssin pituus (ISL/OSL) yhdistelmä, koska pienemmät painot mahdollistavat suuremman eräkoon NVIDIA H100 80GB GPU:ssa.
Llama-3.1-Minitron-4B-Depth-Base-variantti on nopein, ja sen keskimääräinen suorituskyky on noin 2,7 kertaa Llama 3.1 8B:n suorituskyky, kun taas Llama-3.1-Minitron-4B-Width-Base-variantin keskimääräinen suorituskyky on noin laama 3.1 1.8x 8B. Käyttöönotto FP8:ssa parantaa myös näiden kolmen mallin suorituskykyä noin 1,3 kertaa BF16:een verrattuna.
Kuva 8: Yhdistelmä: Llama 3.1 8B BS = 32, Llama-3.1-Minitron 4B malli BS = 64 1x H100 80GB GPU.
lopuksi
Karsiminen ja klassinen tiedon jalostaminen on erittäin kustannustehokas tapa hankkia asteittain pienempiä LLM:itä, jotka saavuttavat suuremman tarkkuuden kuin koulutuksen alusta kaikilla aloilla. Tämä on tehokkaampi ja datatehokkaampi lähestymistapa kuin synteettisten tietojen hienosäätö tai esikoulutus tyhjästä.
Llama-3.1-Minitron 4B on NVIDIAn ensimmäinen yritys käyttää edistyneintä avoimen lähdekoodin Llama 3.1 -sarjaa. Jos haluat käyttää Llama-3.1:n SDG-hienosäätöä NVIDIA NeMon kanssa, katso GitHubin /sdg-law-title-generation osa.
Lisätietoja on seuraavissa resursseissa:
https://developer.nvidia.com/blog/how-to-prune-and-distill-llama-3-1-8b-to-an-nvidia-llama-3-1-minitron-4b-model/