Tekoälyn päivälehti — mallit, työkalut ja hardware
Koodi · päivän Python-kirjasto · Koodi
Hugging Facen vahvistusoppimiskirjasto lopetti oman FastAPI-kääreensä ylläpidon ja siirtyi käyttämään vLLM:n omaa palvelinta. Samalla painojen synkronointi vaihtui yksittäisistä HTTP-pyynnöistä yhteen pakattuun lähetykseen — ja mukana tuli uusi tislaustreeneri, joka osaa jakaa opetuksen usealle opettajalle.
trl on Hugging Facen kirjasto kielimallien jälkikoulutukseen: vahvistusoppimiseen, preferenssikoulutukseen ja tislaukseen. Se on paikallisen ajajan kannalta kiinnostava siksi, että se on käytännössä ainoa tapa muokata avoimen painon mallin käytöstä ilman uudelleenkoulutusta — ja keskiviikkoiltana se sai version 1.11.0 ja heti perään korjausversion 1.12.0.
Suurin muutos on poisto. Komento trl vllm-serve on tähän asti pyörittänyt omaa FastAPI-sovellustaan vLLM:n ympärillä, oman rinnakkaisjakonsa ja oman painojensiirtolaajennuksensa kanssa. Kaikki tämä on nyt vLLM:n omassa palvelimessa, joten kääre poistettiin: tiedosto kutistui 1 218 rivistä noin 130:een. Komento toimii yhä samoilla valitsimilla, mutta se kääntää ne vLLM:n omiksi ja tulostaa vastaavan komennon näkyviin.
Toinen muutos on nopeus. Painojen synkronointi käyttää nyt vLLM:n NCCL-siirtomoottoria: tensorit ilmoitetaan kerran ja lähetetään yhtenä pakattuna lähetyksenä sen sijaan, että jokaisesta tensorista tehtäisiin oma HTTP-pyyntö ja oma lähetys. Kirjaston oma mittaus H100-näytönohjaimella samalla siemenluvulla ja samalla datalla: tekstimallilla askel lyheni 1,08 ja 0,91 sekunnista 0,63 ja 0,62 sekuntiin eli 1,59-kertainen nopeutus, ja kuvia lukevalla mallilla 1,44-kertainen. Tulokset olivat bitilleen samat kuin vanhalla palvelimella.
Kolmas on uusi kokeellinen AsyncDistillationTrainer. Se tislaa mallia asynkronisesti: taustatyöläinen generoi oppilasmallin omia vastauksia ja pisteyttää ne HTTP:n yli tarjoiltua opettajaa vasten, jolloin generointi ja koulutus limittyvät sen sijaan että vuorottelisivat. Opettajaa ei ladata paikallisesti lainkaan — riittää palvelimen osoite. Mukana tulee myös monen opettajan tislaus: teacher_server_urls-listaan voi antaa useita osoitteita ja reitittää jokaisen näytteen omalle opettajalleen, esimerkiksi matematiikan ja koodin erikoisopettajille erikseen.
Sivuhuomiona: sama monen opettajan tislaustekniikka nousi esiin myös SenseTimen kiinankielisessä julkaisussa, jossa erikoisalojen mallit koulutettiin erikseen ja sulautettiin takaisin yhdeksi malliksi. Menetelmä, joka pari kuukautta sitten oli tutkimuspaperi, on nyt kirjastossa parametrina.
Rajoitus kannattaa tietää: nämä ovat palvelinluokan työkaluja. Tislaus vaatii opettajamallin jossain päässä johtoa, ja vahvistusoppimisen askelajat mitataan H100-luokan raudalla. Kotikoneella trl on käyttökelpoinen lähinnä LoRA-sovittimien kouluttamiseen pienille malleille.