Generative AI je sredi obdobja osupljive rasti. Nenehno se objavljajo vse bolj zmogljivi osnovni modeli, pri čemer so veliki jezikovni modeli (LLM) eden najbolj vidnih razredov modelov. LLM so modeli, sestavljeni iz milijard parametrov, usposobljenih na obsežnih korpusih besedila, do več sto milijard ali celo bilijona žetonov. Ti modeli so se izkazali za izjemno učinkovite za širok nabor besedilnih nalog, od odgovorov na vprašanja do analize razpoloženja.
Moč LLM izvira iz njihove sposobnosti učenja in posploševanja iz obsežnih in raznolikih podatkov o usposabljanju. Začetno usposabljanje teh modelov se izvaja z različnimi cilji, nadzorovanimi, nenadzorovanimi ali hibridnimi. Dokončanje besedila ali imputacija je eden najpogostejših nenadzorovanih ciljev: glede na kos besedila se model nauči natančno napovedati, kaj sledi (na primer predvideti naslednji stavek). Modele je mogoče uriti tudi na nadzorovan način z uporabo označenih podatkov za izvedbo niza nalog (na primer, ali je ta filmska ocena pozitivna, negativna ali nevtralna). Ne glede na to, ali je model usposobljen za dokončanje besedila ali kakšno drugo nalogo, to pogosto ni naloga, za katero stranke želijo uporabiti model.
Za izboljšanje uspešnosti predhodno usposobljenega LLM na določeni nalogi lahko prilagodimo model z uporabo primerov ciljne naloge v procesu, znanem kot natančna nastavitev navodil. Natančno uravnavanje navodil uporablja nabor označenih primerov v obliki parov {poziv, odgovor} za nadaljnje usposabljanje vnaprej usposobljenega modela za ustrezno napovedovanje odziva, ki ga prejme poziv. Ta postopek spremeni uteži modela.
Ta objava opisuje, kako izvesti natančno nastavitev navodil LLM, in sicer FLAN T5 XL, z uporabo Amazon SageMaker Jumpstart. Prikazali smo, kako to doseči z uporabo uporabniškega vmesnika Jumpstart in zvezka v Amazon SageMaker Studio. Lahko najdete spremljajoči zvezek v amazon-sagemaker-primeri Repozitorij GitHub.
Pregled rešitev
Ciljna naloga v tej objavi je glede na del besedila v pozivu vrniti vprašanja, ki so povezana z besedilom, vendar nanje ni mogoče odgovoriti na podlagi informacij, ki jih vsebuje. To je uporabna naloga za prepoznavanje manjkajočih informacij v opisu ali ugotavljanje, ali poizvedba potrebuje več informacij za odgovor.
Modeli FLAN T5 so navodila, ki so natančno prilagojena za širok nabor nalog, da bi povečali zmogljivost teh modelov z ničelnim strelom pri mnogih pogostih nalogah [1]. Dodatno natančno prilagajanje navodil za določeno nalogo stranke lahko dodatno poveča natančnost teh modelov, zlasti če ciljna naloga ni bila predhodno uporabljena za usposabljanje modela FLAN T5, kot je to v primeru naše naloge.
V naši vzorčni nalogi nas zanima ustvarjanje ustreznih, a neodgovorjenih vprašanj. V ta namen uporabljamo podmnožico različice 2 nabora podatkov Stanford Question Answering Dataset (SQuAD2.0) [2] za natančno nastavitev modela. Ta nabor podatkov vsebuje vprašanja, ki so jih postavili človeški označevalci niza člankov v Wikipediji. Poleg vprašanj z odgovori SQuAD2.0 vsebuje približno 50,000 neodgovorljivih vprašanj. Takšna vprašanja so verjetna, vendar nanje ni mogoče neposredno odgovoriti iz vsebine člankov. Uporabljamo samo vprašanja, na katera ni odgovora. Naši podatki so strukturirani kot datoteka vrstic JSON, pri čemer vsaka vrstica vsebuje kontekst in vprašanje.
Predpogoji
Za začetek potrebujete le račun AWS, v katerem lahko uporabljate Studio. Ustvariti boste morali uporabniški profil za Studio, če ga še nimate.
Natančno nastavite FLAN-T5 z uporabniškim vmesnikom Jumpstart
Za natančno nastavitev modela z uporabniškim vmesnikom Jumpstart izvedite naslednje korake:
- Na konzoli SageMaker odprite Studio.
- Pod SageMaker Jumpstart v podoknu za krmarjenje izberite Modeli, zvezki, rešitve.
Videli boste seznam temeljnih modelov, vključno s FLAN T5 XL, ki je označen kot fino nastavljiv.
- Izberite Ogled modela.
- Pod Vir podatkov, lahko zagotovite pot do svojih podatkov o vadbi. Vir podatkov, uporabljenih v tej objavi, je privzeto naveden.
- Lahko obdržite privzeto vrednost za konfiguracijo razmestitve (vključno z vrsto primerka), varnost in hiperparametre, vendar morate povečati število epoh na vsaj tri, da dobite dobre rezultate.
- Izberite Vlak za usposabljanje modela.
Statusu usposabljanja lahko sledite v uporabniškem vmesniku.
- Ko je trening končan (po približno 53 minutah v našem primeru), izberite uvajanje za uvedbo natančno nastavljenega modela.
Ko je končna točka ustvarjena (nekaj minut), lahko odprete zvezek in začnete uporabljati svoj natančno nastavljen model.
Natančno nastavite FLAN-T5 z uporabo prenosnega računalnika Python
Naš primer prenosnega računalnika prikazuje, kako uporabiti Jumpstart in SageMaker za programsko natančno nastavitev in uvajanje modela FLAN T5 XL. Lahko se izvaja v Studiu ali lokalno.
V tem razdelku si najprej ogledamo nekatere splošne nastavitve. Nato natančno prilagodite model z uporabo naborov podatkov SQuADv2. Nato uvedete vnaprej usposobljeno različico modela za končno točko SageMaker in storite enako z natančno nastavljenim modelom. Končno lahko povprašate po končnih točkah in primerjate kakovost izhoda vnaprej usposobljenega in natančno nastavljenega modela. Ugotovili boste, da je rezultat natančno nastavljenega modela veliko višje kakovosti.
Nastavite predpogoje
Začnite z namestitvijo in nadgradnjo potrebnih paketov. Ponovno zaženite jedro, potem ko zaženete naslednjo kodo:
Nato pridobite izvršilno vlogo, povezano s trenutnim primerkom prenosnika:
Določite lahko priročen spustni meni, ki bo navedel velikosti modelov, ki so na voljo za natančno nastavitev:
Jumpstart samodejno pridobi ustrezne vrste instanc usposabljanja in sklepanja za model, ki ste ga izbrali:
Zdaj ste pripravljeni na začetek natančnega prilagajanja.
Ponovno usposobite model na naboru podatkov za natančno uravnavanje
Ko je nastavitev končana, izvedite naslednje korake:
Uporabite naslednjo kodo, da pridobite URI za potrebne artefakte:
Podatki o usposabljanju so v javnosti Preprosta storitev shranjevanja Amazon (Amazon S3) vedro.
Uporabite naslednjo kodo, da pokažete na lokacijo podatkov in nastavite izhodno lokacijo v vedru v svojem računu:
Izvirni podatki niso v obliki, ki ustreza nalogi, za katero natančno prilagajate model, zato jih lahko preoblikujete:
Zdaj lahko določite nekaj hiperparametrov za usposabljanje:
Zdaj ste pripravljeni na začetek usposabljanja:
Odvisno od velikosti podatkov za natančno nastavitev in izbranega modela lahko natančna nastavitev traja do nekaj ur.
Z uporabo lahko spremljate meritve uspešnosti, kot sta izguba usposabljanja in validacije amazoncloudwatch med treningom. Prav tako lahko pridobite najnovejši posnetek meritev, tako da zaženete naslednjo kodo:
Ko je usposabljanje končano, imate na voljo natančno nastavljen model model_uri
. Uporabimo ga!
Ustvarite lahko dve končni točki sklepanja: eno za izvirni vnaprej usposobljeni model in eno za natančno nastavljen model. To vam omogoča primerjavo rezultatov obeh različic modela. V naslednjem koraku uvedete končno točko sklepanja za predhodno usposobljen model. Nato uvedete končno točko za svoj natančno nastavljen model.
Razmestite vnaprej usposobljeni model
Začnimo z uvedbo vnaprej usposobljenega modela za pridobitev URI-ja sklepne slike Docker. To je osnovna slika vsebnika Hugging Face. Uporabite naslednjo kodo:
Zdaj lahko ustvarite končno točko in uvedete vnaprej usposobljeni model. Upoštevajte, da morate posredovati razred Predictor pri uvajanju modela prek razreda Model, da lahko izvajate sklepanje prek API-ja SageMaker. Oglejte si naslednjo kodo:
Ustvarjanje končne točke in uvedba modela lahko traja nekaj minut, nato pa je vaša končna točka pripravljena na sprejemanje sklepnih klicev.
Razmestite natančno nastavljen model
Razmestimo natančno nastavljen model na lastno končno točko. Postopek je skoraj enak tistemu, ki smo ga uporabili prej za predhodno usposobljen model. Edina razlika je v tem, da uporabljamo natančno nastavljeno ime modela in URI:
Ko je ta postopek končan, se vnaprej usposobljeni in natančno nastavljeni modeli razmestijo za lastne končne točke. Primerjajmo njihove rezultate.
Ustvarite rezultate in primerjajte rezultate
Definirajte nekaj pomožnih funkcij za poizvedovanje končne točke in razčlenitev odgovora:
V naslednjem delčku kode definiramo poziv in testne podatke. Opisuje našo ciljno nalogo, to je ustvarjanje vprašanj, ki so povezana s podanim besedilom, vendar nanje ni mogoče odgovoriti na podlagi njega.
Testni podatki so sestavljeni iz treh različnih odstavkov, enega o avstralskem mestu Adelaide iz prva dva odstavka strani Wikipedije, ena glede Trgovina z elastičnimi bloki Amazon (Amazon EBS) od Dokumentacija Amazon EBS, in eno od Amazonsko razumevanje Iz Dokumentacija Amazon Comprehend. Pričakujemo, da bo model identificiral vprašanja, povezana s temi odstavki, vendar nanje ni mogoče odgovoriti z informacijami, ki so v njih navedene.
Zdaj lahko preizkusite končne točke z uporabo primerov člankov
Testni podatki: Adelaide
Uporabljamo naslednji kontekst:
Odziv vnaprej usposobljenega modela je naslednji:
Natančno nastavljeni odzivi modela so naslednji:
Testni podatki: Amazon EBS
Uporabljamo naslednji kontekst:
Vnaprej usposobljeni odgovori modela so naslednji:
Natančno nastavljeni odzivi modela so naslednji:
Testni podatki: Amazon Comprehend
Uporabljamo naslednji kontekst:
Vnaprej usposobljeni odgovori modela so naslednji:
Natančno nastavljeni odzivi modela so naslednji:
Razlika v kakovosti izhoda med predhodno usposobljenim modelom in natančno nastavljenim modelom je očitna. Vprašanja, ki jih ponuja natančno nastavljen model, se dotikajo širšega spektra tem. Gre za sistematično pomembna vprašanja, kar ne velja vedno za vnaprej usposobljen model, kot je prikazano na primeru Amazon EBS.
Čeprav to ne predstavlja formalne in sistematične ocene, je jasno, da je postopek natančnega prilagajanja izboljšal kakovost odzivov modela na to nalogo.
Čiščenje
Na koncu ne pozabite počistiti in izbrisati končnih točk:
zaključek
V tej objavi smo pokazali, kako uporabljati natančno nastavitev navodil z modeli FLAN T5 z uporabniškim vmesnikom Jumpstart ali prenosnim računalnikom Jupyter, ki se izvaja v programu Studio. Zagotovili smo kodo, ki pojasnjuje, kako ponovno usposobiti model z uporabo podatkov za ciljno nalogo in uvesti natančno nastavljen model za končno točko. Ciljna naloga v tej objavi je bila identificirati vprašanja, ki se nanašajo na del besedila v vnosu, vendar nanje ni mogoče odgovoriti na podlagi informacij v tem besedilu. Dokazali smo, da model, natančno nastavljen za to posebno nalogo, vrača boljše rezultate kot vnaprej usposobljen model.
Zdaj, ko veste, kako z navodili natančno prilagoditi model z Jumpstartom, lahko ustvarite zmogljive modele, prilagojene vaši aplikaciji. Zberite nekaj podatkov za svoj primer uporabe, jih naložite v Amazon S3 in uporabite uporabniški vmesnik Studio ali prenosni računalnik za nastavitev modela FLAN T5!
Reference
[1] Chung, Hyung Won, et al. "Skaliranje natančno nastavljenih jezikovnih modelov z navodili." prednatis arXiv arXiv:2210.11416 (2022).
[2] Rajpurkar, Pranav, Robin Jia in Percy Liang. »Veš, česa ne veš: Neodgovorljiva vprašanja za SQUAD.« Zbornik 56. letnega zborovanja Društva za računalniško jezikoslovje (2. zvezek: Kratki prispevki). 2018.
O avtorjih
Laurent Callot je glavni aplikativni znanstvenik in vodja pri AWS AI Labs, ki je delal na različnih problemih strojnega učenja, od temeljnih modelov in generativnega umetne inteligence do napovedovanja, odkrivanja anomalij, vzročnosti in operacij umetne inteligence.
Andrej Kan je višji aplikativni znanstvenik pri AWS AI Labs v okviru zanimanj in izkušenj na različnih področjih strojnega učenja. Ti vključujejo raziskave temeljnih modelov ter aplikacije ML za grafe in časovne vrste.
Dr. Ashish Khetan je višji aplikativni znanstvenik z vgrajenimi algoritmi Amazon SageMaker in pomaga pri razvoju algoritmov strojnega učenja. Doktoriral je na Univerzi Illinois Urbana Champaign. Je aktiven raziskovalec strojnega učenja in statističnega sklepanja ter je objavil veliko člankov na konferencah NeurIPS, ICML, ICLR, JMLR, ACL in EMNLP.
Baris Kurt je uporabni znanstvenik pri AWS AI Labs. Zanima ga odkrivanje anomalij časovnih vrst in modeli temeljev. Rad razvija uporabniku prijazne sisteme ML.
Jonas Kübler je uporabni znanstvenik pri AWS AI Labs. Dela na temeljnih modelih s ciljem olajšati aplikacije, specifične za primere uporabe.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoAiStream. Podatkovna inteligenca Web3. Razširjeno znanje. Dostopite tukaj.
- Kovanje prihodnosti z Adryenn Ashley. Dostopite tukaj.
- Kupujte in prodajajte delnice podjetij pred IPO s PREIPO®. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/instruction-fine-tuning-for-flan-t5-xl-with-amazon-sagemaker-jumpstart/
- :ima
- : je
- :ne
- $GOR
- 000
- 1
- 10
- 100
- 11
- 12
- 13
- 17
- 1M
- 20
- 2018
- 2022
- 22
- 40
- 50
- 60
- 7
- 8
- 80
- 9
- a
- Sposobna
- O meni
- Sprejmi
- dostop
- dostopen
- doseganje
- Račun
- natančnost
- natančno
- aktivna
- Poleg tega
- Dodatne
- ustrezno
- po
- AI
- AL
- algoritmi
- vsi
- omogoča
- že
- Prav tako
- vedno
- Amazon
- Amazonsko razumevanje
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- an
- Analiza
- analizirati
- in
- letno
- odkrivanje anomalije
- odgovori
- kaj
- API
- API-ji
- uporaba
- aplikacije
- uporabna
- primerno
- SE
- OBMOČJE
- Argument
- članek
- članki
- AS
- povezan
- Združenje
- At
- Avstralija
- avstralski
- samodejno
- Na voljo
- AWS
- baza
- temeljijo
- BE
- Beach
- Širina
- zadaj
- počutje
- spodaj
- Boljše
- med
- milijardah
- Block
- telo
- krepko
- tako
- vgrajeno
- vendar
- by
- se imenuje
- poziva
- CAN
- ne more
- Zmogljivosti
- lahko
- kapaciteta
- Kapital
- primeru
- center
- spremenite
- izbira
- Izberite
- izbral
- izbran
- mesto
- razred
- razredi
- Razvrstitev
- jasno
- stranke
- Obala
- Koda
- prihaja
- Skupno
- primerjate
- dokončanje
- dokončanje
- sestavljajo
- razumeti
- konference
- konfiguracija
- Konzole
- predstavljajo
- Posoda
- Vsebuje
- vsebina
- ozadje
- neprekinjeno
- stalno
- Priročen
- ustreza
- bi
- par
- ustvarjajo
- ustvaril
- Ustvarjanje
- Oblikovanje
- Trenutna
- po meri
- stranka
- Stranke, ki so
- meri
- datum
- baze podatkov
- nabor podatkov
- privzeto
- izkazati
- Dokazano
- Odvisno
- razporedi
- razporejeni
- uvajanja
- uvajanje
- opis
- Odkrivanje
- Ugotovite,
- Razvoj
- razvoju
- razvija
- naprava
- naprave
- Razlika
- drugačen
- neposredno
- zaslon
- razne
- do
- Lučki delavec
- dokument
- Dokumenti
- ne
- Ne
- prevladujoč
- dont
- pogon
- med
- dinamično
- E&T
- vsak
- prej
- East
- Učinkovito
- bodisi
- elementi
- ostalo
- konec
- Končna točka
- Celotna
- subjekti
- entiteta
- epoha
- epohe
- zlasti
- Ocena
- Tudi
- preučiti
- Primer
- Primeri
- izvršiti
- izvedba
- pričakovati
- izkušnje
- pojasnjujejo
- izpostavljena
- Se razširi
- razširitev
- obsežen
- ekstrakt
- izredno
- Obraz
- olajšati
- daleč
- Moda
- Feature
- Lastnosti
- Nekaj
- Področja
- file
- datoteke
- končno
- Najdi
- konec
- prva
- po
- sledi
- za
- obrazec
- formalno
- format
- je pokazala,
- Fundacija
- Četrti
- Okvirni
- pogosto
- Prijazno
- iz
- funkcije
- nadalje
- zbiranje
- splošno
- ustvarjajo
- ustvarila
- ustvarjajo
- generacija
- generativno
- Generativna AI
- dobili
- GitHub
- dana
- Cilj
- dobro
- grafi
- veliko
- več
- Rast
- Trdi
- trdi disk
- Imajo
- he
- Pomaga
- več
- Hills
- njegov
- URE
- Kako
- Kako
- HTML
- http
- HTTPS
- HuggingFace
- človeškega
- Stotine
- Hybrid
- i
- ID
- enako
- identificirati
- ID-ji
- if
- Illinois
- slika
- uvoz
- izboljšanje
- izboljšalo
- in
- vključujejo
- Vključno
- Povečajte
- vedno
- neodvisno
- info
- Podatki
- informativni
- začetna
- vhod
- vhodi
- vpogledi
- namestitev
- Namestitev
- primer
- zainteresirani
- interesi
- Predstavitev
- IT
- ITS
- Job
- Delovna mesta
- jpg
- json
- Imejte
- Ključne
- Vedite
- znano
- Labs
- jezik
- jeziki
- velika
- Največji
- kosilo
- UČITE
- učenje
- vsaj
- dolžina
- Stopnja
- življenje
- kot
- vrstica
- linije
- Seznam
- LLM
- lokalno
- nahaja
- kraj aktivnosti
- vzvišen
- Long
- dolgoročna
- off
- ljubi
- stroj
- strojno učenje
- upravitelj
- več
- označeno
- max
- Maj ..
- smiselna
- srečanja
- omenja
- Meni
- Meritve
- Minute
- manjka
- ML
- Model
- modeli
- monitor
- več
- Najbolj
- Gora
- Film
- veliko
- morajo
- Ime
- in sicer
- naravna
- Obdelava Natural Language
- ostalo
- potrebno
- Nimate
- potrebna
- potrebe
- negativna
- mreženje
- Nevtralna
- Novo
- novi izdelki
- Naslednja
- nlp
- sever
- prenosnik
- zdaj
- Številka
- Cilji
- pridobi
- of
- on
- ONE
- samo
- odprite
- or
- izvirno
- Ostalo
- naši
- izhod
- več
- preglasijo
- lastne
- Lastniki
- pakete
- parov
- podokno
- članki
- parametri
- del
- zlasti
- zlasti
- mimo
- pot
- ljudje
- Izvedite
- performance
- Obdobje
- vztrajnost
- stavki
- platon
- Platonova podatkovna inteligenca
- PlatoData
- verjetno
- Točka
- prebivalstvo
- pozitiven
- Prispevek
- moč
- močan
- napovedati
- napovedovanje
- Predictor
- prej
- primarni
- , ravnateljica
- tiskanje
- Težave
- Postopek
- obravnavati
- Izdelki
- profil
- Napredek
- dokazano
- zagotavljajo
- če
- zagotavlja
- javnega
- objavljeno
- Python
- kakovost
- poizvedbe
- vprašanje
- vprašanja
- hitro
- naključno
- območje
- Surovi
- pripravljen
- v realnem času
- prejeti
- nedavno
- Priznanje
- priznajo
- prepoznavanje
- Priporočamo
- priporočeno
- o
- regularni izraz
- okolica
- povezane
- sprosti
- pomembno
- zanašajo
- ne pozabite
- Skladišče
- zahteva
- obvezna
- zahteva
- Raziskave
- raziskovalec
- prebivalci
- viri
- Odgovor
- odgovorov
- omejiti
- Rezultati
- vrnitev
- vrne
- pregleda
- Robin
- vloga
- Run
- tek
- s
- sagemaker
- Enako
- skeniranje
- Znanstvenik
- Iskalnik
- drugi
- Oddelek
- varnost
- glej
- izbor
- višji
- stavek
- sentiment
- Serija
- Storitev
- Storitve
- Zasedanje
- nastavite
- Kompleti
- nastavitev
- več
- Kratke Hlače
- shouldnt
- je pokazala,
- Razstave
- Enostavno
- Velikosti
- velikosti
- majhna
- Posnetek
- So
- socialna
- Družabno mreženje
- nekaj
- vir
- South
- specifična
- po delih
- Stanford
- stark
- Začetek
- začel
- Država
- Statistično
- Status
- Korak
- Koraki
- Še vedno
- shranjevanje
- trgovina
- Struktura
- strukturirano
- studio
- Osupljiva
- taka
- podpora
- Podprti
- Okolica
- sistem
- sistemi
- Bodite
- ciljna
- Naloga
- Naloge
- Predloga
- Test
- kot
- da
- O
- Območje
- Glavno mesto
- informacije
- Vir
- Država
- Zahod
- svet
- njihove
- Njih
- POTEM
- v njem
- te
- jih
- ta
- tisti,
- 3
- skozi
- čas
- Časovne serije
- do
- Boni
- vrh
- Teme
- na dotik
- sledenje
- tradicionalna
- Vlak
- usposobljeni
- usposabljanje
- Bilijona
- Res
- dva
- tip
- Vrste
- ui
- razumevanje
- univerza
- posodobitve
- naložili
- uporaba
- primeru uporabe
- Rabljeni
- uporabnik
- uporabo
- pripomoček
- potrjevanje
- vrednost
- Vrednote
- raznolikost
- različica
- vincent
- vidna
- Obseg
- prostornine
- W
- želeli
- je
- način..
- we
- web
- spletne storitve
- Dobro
- West
- Kaj
- Kaj je
- kdaj
- ali
- ki
- medtem
- WHO
- široka
- Širok spekter
- širše
- širina
- Wikipedia
- bo
- z
- v
- Zmagali
- beseda
- delal
- deluje
- svet
- bi
- Vi
- Vaša rutina za
- zefirnet