Skip to content

Latest commit

 

History

History
111 lines (74 loc) · 13.7 KB

File metadata and controls

111 lines (74 loc) · 13.7 KB

Open Source Models

Fino podešavanje vašeg LLM-a

Korištenje velikih jezičnih modela za izgradnju generativnih AI aplikacija donosi nove izazove. Ključno pitanje je osigurati kvalitetu odgovora (točnost i relevantnost) u sadržaju koji model generira za određeni korisnički zahtjev. U prethodnim lekcijama raspravljali smo o tehnikama poput oblikovanja upita (prompt engineering) i generacije uz prošireno pretraživanje, koje pokušavaju riješiti problem modificiranjem ulaznog upita postojećem modelu.

U današnjoj lekciji raspravljamo o trećoj tehnici, fino podešavanje, koja pokušava riješiti izazov ponovnim treniranjem samog modela s dodatnim podacima. Zaronimo u detalje.

Ciljevi učenja

Ova lekcija uvodi koncept finog podešavanja unaprijed treniranih jezičnih modela, istražuje prednosti i izazove ovog pristupa te pruža smjernice o tome kada i kako koristiti fino podešavanje za poboljšanje performansi vaših generativnih AI modela.

Na kraju ove lekcije trebali biste moći odgovoriti na sljedeća pitanja:

  • Što je fino podešavanje jezičnih modela?
  • Kada i zašto je fino podešavanje korisno?
  • Kako mogu fino podesiti unaprijed trenirani model?
  • Koja su ograničenja finog podešavanja?

Spremni? Krenimo.

Ilustrirani vodič

Želite li dobiti širu sliku o tome što ćemo pokriti prije nego što zaronimo u detalje? Pogledajte ovaj ilustrirani vodič koji opisuje put učenja za ovu lekciju - od učenja osnovnih pojmova i motivacije za fino podešavanje, do razumijevanja procesa i najboljih praksi za izvršavanje zadatka finog podešavanja. Ovo je fascinantna tema za istraživanje, stoga ne zaboravite provjeriti Resurse za dodatne poveznice koje će podržati vaše samostalno učenje!

Ilustrirani vodič za fino podešavanje jezičnih modela

Što je fino podešavanje jezičnih modela?

Po definiciji, veliki jezični modeli su unaprijed trenirani na velikim količinama teksta prikupljenog iz raznih izvora, uključujući internet. Kao što smo naučili u prethodnim lekcijama, potrebne su nam tehnike poput oblikovanja upita i generacije uz prošireno pretraživanje kako bismo poboljšali kvalitetu odgovora modela na korisnička pitanja ("upite").

Popularna tehnika oblikovanja upita uključuje davanje modelu više smjernica o tome što se očekuje u odgovoru, bilo pružanjem uputa (eksplicitne smjernice) ili davanjem nekoliko primjera (implicitne smjernice). To se naziva učenje s nekoliko primjera (few-shot learning), ali ima dva ograničenja:

  • Ograničenja broja tokena u modelu mogu ograničiti broj primjera koje možete dati i smanjiti učinkovitost.
  • Troškovi tokena mogu učiniti skupo dodavanje primjera svakom upitu i ograničiti fleksibilnost.

Fino podešavanje je uobičajena praksa u sustavima strojnog učenja gdje uzimamo unaprijed trenirani model i ponovno ga treniramo s novim podacima kako bismo poboljšali njegovu izvedbu za određeni zadatak. U kontekstu jezičnih modela, možemo fino podesiti unaprijed trenirani model s pažljivo odabranim skupom primjera za određeni zadatak ili domenu primjene kako bismo stvorili prilagođeni model koji može biti precizniji i relevantniji za taj specifični zadatak ili domenu. Dodatna prednost finog podešavanja je da može smanjiti broj potrebnih primjera za učenje s nekoliko primjera - smanjujući korištenje tokena i povezane troškove.

Kada i zašto bismo trebali fino podešavati modele?

U ovom kontekstu, kada govorimo o finom podešavanju, mislimo na supervizirano fino podešavanje gdje se ponovno treniranje provodi dodavanjem novih podataka koji nisu bili dio originalnog skupa podataka za treniranje. To se razlikuje od pristupa nesuperviziranog finog podešavanja gdje se model ponovno trenira na originalnim podacima, ali s različitim hiperparametrima.

Ključno je zapamtiti da je fino podešavanje napredna tehnika koja zahtijeva određenu razinu stručnosti kako bi se postigli željeni rezultati. Ako se ne provede ispravno, možda neće pružiti očekivana poboljšanja, pa čak može i pogoršati performanse modela za vašu ciljanu domenu.

Dakle, prije nego što naučite "kako" fino podesiti jezične modele, trebate znati "zašto" biste trebali krenuti tim putem i "kada" započeti proces finog podešavanja. Počnite postavljanjem ovih pitanja:

  • Slučaj upotrebe: Koji je vaš slučaj upotrebe za fino podešavanje? Koji aspekt trenutnog unaprijed treniranog modela želite poboljšati?
  • Alternative: Jeste li pokušali druge tehnike za postizanje željenih rezultata? Koristite ih za stvaranje osnovne usporedbe.
    • Oblikovanje upita: Pokušajte s tehnikama poput učenja s nekoliko primjera koristeći primjere relevantnih odgovora na upite. Procijenite kvalitetu odgovora.
    • Generacija uz prošireno pretraživanje: Pokušajte proširiti upite rezultatima pretraživanja vaših podataka. Procijenite kvalitetu odgovora.
  • Troškovi: Jeste li identificirali troškove finog podešavanja?
    • Mogućnost podešavanja - je li unaprijed trenirani model dostupan za fino podešavanje?
    • Napor - za pripremu podataka za treniranje, evaluaciju i poboljšanje modela.
    • Računalni resursi - za pokretanje poslova finog podešavanja i implementaciju fino podešenog modela.
    • Podaci - pristup dovoljnim kvalitetnim primjerima za utjecaj finog podešavanja.
  • Prednosti: Jeste li potvrdili prednosti finog podešavanja?
    • Kvaliteta - je li fino podešeni model nadmašio osnovnu usporedbu?
    • Trošak - smanjuje li korištenje tokena pojednostavljivanjem upita?
    • Proširivost - možete li ponovno koristiti osnovni model za nove domene?

Odgovaranjem na ova pitanja trebali biste moći odlučiti je li fino podešavanje pravi pristup za vaš slučaj upotrebe. Idealno, pristup je valjan samo ako prednosti nadmašuju troškove. Kada odlučite nastaviti, vrijeme je da razmislite o tome kako možete fino podesiti unaprijed trenirani model.

Želite li dobiti više uvida u proces donošenja odluka? Pogledajte Fino podešavanje ili ne fino podešavanje

Kako možemo fino podesiti unaprijed trenirani model?

Za fino podešavanje unaprijed treniranog modela, trebate imati:

  • unaprijed trenirani model za fino podešavanje
  • skup podataka za fino podešavanje
  • okruženje za treniranje za pokretanje posla finog podešavanja
  • okruženje za hosting za implementaciju fino podešenog modela

Fino podešavanje u praksi

Sljedeći resursi pružaju korak-po-korak vodiče koji vas vode kroz stvarni primjer korištenja odabranog modela s pažljivo odabranim skupom podataka. Za rad kroz ove vodiče, trebate račun na određenom pružatelju usluga, zajedno s pristupom relevantnom modelu i skupovima podataka.

Pružatelj Vodič Opis
OpenAI Kako fino podesiti chat modele Naučite fino podesiti gpt-35-turbo za određenu domenu ("asistent za recepte") pripremom podataka za treniranje, pokretanjem posla finog podešavanja i korištenjem fino podešenog modela za zaključivanje.
Azure OpenAI GPT 3.5 Turbo vodič za fino podešavanje Naučite fino podesiti model gpt-35-turbo-0613 na Azureu poduzimanjem koraka za kreiranje i učitavanje podataka za treniranje, pokretanje posla finog podešavanja. Implementirajte i koristite novi model.
Hugging Face Fino podešavanje LLM-a s Hugging Face Ovaj blog post vodi vas kroz fino podešavanje otvorenog LLM-a (npr. CodeLlama 7B) koristeći transformers biblioteku i Transformer Reinforcement Learning (TRL) s otvorenim skupovima podataka na Hugging Face.
🤗 AutoTrain Fino podešavanje LLM-a s AutoTrain AutoTrain (ili AutoTrain Advanced) je python biblioteka koju je razvio Hugging Face i omogućuje fino podešavanje za mnoge različite zadatke, uključujući fino podešavanje LLM-a. AutoTrain je rješenje bez koda, a fino podešavanje može se obaviti u vašem vlastitom oblaku, na Hugging Face Spaces ili lokalno. Podržava i web-bazirani GUI, CLI i treniranje putem yaml konfiguracijskih datoteka.

Zadatak

Odaberite jedan od gore navedenih vodiča i prođite kroz njega. Možda ćemo replicirati verziju ovih vodiča u Jupyter Notebooks u ovom repozitoriju samo za referencu. Molimo koristite izvorne izvore izravno kako biste dobili najnovije verzije.

Odlično! Nastavite s učenjem.

Nakon što završite ovu lekciju, pogledajte našu Generative AI Learning kolekciju kako biste nastavili unapređivati svoje znanje o generativnoj umjetnoj inteligenciji!

Čestitamo!! Završili ste posljednju lekciju iz v2 serije ovog tečaja! Nemojte prestati učiti i stvarati. **Pogledajte RESURSE stranicu za popis dodatnih prijedloga samo za ovu temu.

Naša v1 serija lekcija također je ažurirana s više zadataka i koncepata. Stoga odvojite trenutak da osvježite svoje znanje - i molimo vas podijelite svoja pitanja i povratne informacije kako bismo poboljšali ove lekcije za zajednicu.


Izjava o odricanju odgovornosti:
Ovaj dokument je preveden pomoću AI usluge za prevođenje Co-op Translator. Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane čovjeka. Ne preuzimamo odgovornost za nesporazume ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda.