Nykyään generatiiviset tekoälymallit kattavat erilaisia tehtäviä tekstin yhteenvedosta, Q&A sekä kuvien ja videoiden luomisesta. Tuotoksen laadun parantamiseksi lähestymistapoja, kuten n-short learning, Prompt engineering, Retrieval Augmented Generation (RAG) ja hienosäätöä käytetään. Hienosäädön avulla voit säätää näitä generatiivisia tekoälymalleja parantaaksesi toimialuekohtaisten tehtäviesi suorituskykyä.
Kanssa Amazon Sage Maker, nyt voit suorittaa SageMaker-harjoitustyön yksinkertaisesti merkitsemällä Python-koodiisi @kaukosisustaja. SageMaker Python SDK muuntaa automaattisesti nykyisen työtilaympäristösi ja kaikki siihen liittyvät tietojenkäsittelykoodit ja tietojoukot SageMaker-koulutustyöksi, joka suoritetaan koulutusalustalla. Tämän etuna on, että koodi kirjoitetaan luonnollisemmalla, oliosuuntautuneemmalla tavalla ja silti käyttää SageMaker-ominaisuuksia harjoitustehtävien suorittamiseen etäklusterissa pienin muutoksin.
Tässä viestissä esittelemme kuinka hienosäätää a Falcon-7B Foundation Models (FM) SageMaker Python SDK:n @remote decoratorilla. Se myös käyttää Hugging Facen parametritehokas hienosäätö (PEFT) kirjaston ja kvantisointitekniikoiden kautta bittiä hiekkatavuja tukemaan hienosäätöä. Tässä blogissa esitettyä koodia voidaan käyttää myös muiden FM-soittimien hienosäätämiseen, esim Laama-2 13b.
Tämän mallin täydellisillä tarkkuudella voi olla haasteita mahtua muistiin yhdellä tai jopa usealla Graphic Processing Units (GPU:t) - tai ehkä jopa isompi tapaus. Siksi käytämme tekniikkaa, joka tunnetaan nimellä Kvantisoidut LLM:t Low-Rank-sovittimilla (QLoRA). QLoRA on tehokas hienosäätömenetelmä, joka vähentää LLM:ien muistin käyttöä säilyttäen samalla erittäin hyvän suorituskyvyn.
@remote decoratorin käytön edut
Ennen kuin jatkat, ymmärrämme, kuinka etäsisustaja parantaa kehittäjien tuottavuutta työskennellessään SageMakerin kanssa:
- @remote decorator käynnistää harjoitustyön suoraan käyttämällä alkuperäistä python-koodia ilman SageMakerin arvioijien ja SageMaker-syöttökanavien nimenomaista kutsumista
- Matala pääsyn este kehittäjien koulutusmalleille SageMakerissa.
- Ei tarvitse vaihtaa Integroidut kehitysympäristöt (IDE). Jatka koodin kirjoittamista valitsemallasi IDE:llä ja kutsu SageMaker-koulutustöitä.
- Säiliöistä ei tarvitse oppia. Jatka riippuvuuksien tarjoamista kohdassa a
requirements.txt
ja toimita se kaukosisustajalle.
Edellytykset
AWS-tili tarvitaan AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (AWS IAM) rooli jolla on oikeudet hallita osana ratkaisua luotuja resursseja. Katso lisätietoja kohdasta AWS-tilin luominen.
Tässä viestissä käytämme Amazon SageMaker Studio jossa Data Science 3.0
kuva ja a ml.t3.medium
nopean käynnistyksen esimerkki. Voit kuitenkin käyttää mitä tahansa valitsemaasi integroitua kehitysympäristöä (IDE). Sinun tarvitsee vain määrittää omasi AWS-komentoriviliitäntä (AWS CLI) -tunnistetiedot oikein. Lisätietoja on kohdassa Määritä AWS CLI.
Hienosäätöä varten Falcon-7B, an ml.g5.12xlarge
esimerkkiä käytetään tässä viestissä. Varmista, että AWS-tilillä on riittävästi kapasiteettia tälle esiintymälle.
Sinun täytyy kloonata tämä Github-arkisto tässä viestissä esitetyn ratkaisun toistamiseksi.
Ratkaisun yleiskatsaus
- Asenna edellytykset Falcon-7B-mallin hienosäätöön
- Määritä etäsisustajan kokoonpanot
- Esikäsittele AWS-palveluiden usein kysytyt kysymykset sisältävä tietojoukko
- Hienosäädä Falcon-7B AWS-palveluiden usein kysytyissä kysymyksissä
- Testaa hienosäätömalleja AWS-palveluihin liittyvissä esimerkkikysymyksissä
1. Asenna edellytykset Falcon-7B-mallin hienosäätöön
Käynnistä muistikirja falcon-7b-qlora-remote-decorator_qa.ipynb SageMaker Studiossa valitsemalla Imaagi as Data Science
ja Ydin as Python 3
. Asenna kaikki vaaditut kirjastot, jotka on mainittu kohdassa requirements.txt
. Harvat kirjastoista on asennettava itse kannettavan tietokoneen ilmentymään. Suorita muut tietojoukon käsittelyyn ja SageMaker-koulutustyön käynnistämiseen tarvittavat toiminnot.
2. Määritä etäsisustajan kokoonpanot
Luo määritystiedosto, jossa määritetään kaikki Amazon SageMaker -harjoitustyöhön liittyvät asetukset. @remote decorator lukee tämän tiedoston harjoitustyön aikana. Tämä tiedosto sisältää asetukset, kuten riippuvuudet, koulutuskuvan, ilmentymän ja suoritusroolin, joita käytetään harjoitustyössä. Katso yksityiskohtaiset tiedot kaikista asetustiedoston tukemista asetuksista Oletusasetusten määrittäminen ja käyttäminen SageMaker Python SDK:lla.
Ei ole pakollista käyttää config.yaml
tiedostoa, jotta voit työskennellä @remote decoratorin kanssa. Tämä on vain puhtaampi tapa toimittaa kaikki kokoonpanot @remote Decoratorille. Tämä pitää SageMakeriin ja AWS:ään liittyvät parametrit koodin ulkopuolella, jolloin tiimin jäsenten käyttämä konfigurointitiedosto on kerran määritettävä. Kaikki konfiguraatiot voidaan toimittaa myös suoraan sisustaja-argumenteissa, mutta se heikentää muutosten luettavuutta ja ylläpidettävyyttä pitkällä aikavälillä. Järjestelmänvalvoja voi myös luoda määritystiedoston ja jakaa sen kaikkien käyttäjien kanssa ympäristössä.
Esikäsittele AWS-palveluiden usein kysytyt kysymykset sisältävä tietojoukko
Seuraava vaihe on ladata ja esikäsitellä tietojoukko, jotta se on valmis koulutustyöhön. Katsotaanpa ensin tietojoukkoa:
Se näyttää yhden AWS-palvelun usein kysytyt kysymykset. QLoRA:n lisäksi bitsanbytes
käytetään muuttamaan 4-bittiseen tarkkuuteen jäädytetyn LLM:n kvantisoimiseksi 4-bittisiksi ja liittämään LoRA adapterit siinä.
Luo kehotemalli, joka muuntaa jokaisen UKK-näytteen kehotemuotoon:
Seuraava vaihe on muuntaa syötteet (teksti) tunnustunnuksiksi. Tämän tekee a Hugging Face Transformers Tokenizer.
Käytä nyt yksinkertaisesti prompt_template
toiminto muuntaa kaikki FAQ:t kehotemuotoon ja määrittää koulutus- ja testitietojoukot.
4. Hienosäädä Falcon-7B AWS-palveluiden usein kysytyissä kysymyksissä
Nyt voit valmistella harjoitusskriptin ja määrittää harjoitustoiminnon train_fn
ja laita @remote decorator toimintoon.
Koulutustoiminto tekee seuraavaa:
- tokenisoi ja lohkoi tietojoukon
- perustettu
BitsAndBytesConfig
, joka määrittää, että malli tulee ladata 4-bittisenä, mutta samalla laskenta muunnetaanbfloat16
. - Lataa malli
- Etsi kohdemoduulit ja päivitä tarvittavat matriisit apuohjelmalla
find_all_linear_names
- luoda LoRA kokoonpanot, jotka määrittävät päivitysmatriisien järjestyksen (
s
), skaalauskerroin (lora_alpha
), moduulit LoRA-päivitysmatriisien soveltamiseksi (target_modules
), keskeyttämisen todennäköisyys Lora-tasoille(lora_dropout
),task_type
, Jne - Aloita koulutus ja arviointi
Ja vedota train_fn()
Viritystyö olisi käynnissä Amazon SageMaker -koulutusklusterissa. Odota viritystyön valmistumista.
5. Testaa hienosäätömalleja AWS-palveluihin liittyvissä esimerkkikysymyksissä
Nyt on aika testata mallia. Ensin ladataan malli:
Lataa nyt esimerkkikysymys harjoitustietojoukosta nähdäksesi alkuperäisen vastauksen ja kysy sitten sama kysymys viritetystä mallista nähdäksesi vastauksen vertailussa.
Tässä esimerkki kysymyksestä koulutussarjasta ja alkuperäinen vastaus:
Nyt sama kysymys esitetään viritetylle Falcon-7B-mallille:
Tämä päättää Falcon-7B:n hienosäädön toteutuksen AWS-palveluiden UKK-tietojoukossa Amazon SageMaker Python SDK:n @remote decoratorilla.
Puhdistaa
Suorita seuraavat vaiheet puhdistaaksesi resurssit:
- Sammuta Amazon SageMaker Studio -esiintymät välttääksesi lisäkuluja.
- Puhdista Amazon Elastic -tiedostojärjestelmäsi (Amazon EFS) -hakemisto tyhjentämällä Hugging Face -välimuistihakemisto:
Yhteenveto
Tässä viestissä näytimme sinulle, kuinka voit tehokkaasti käyttää @remote-sisustajan ominaisuuksia Falcon-7B-mallin hienosäätämiseen käyttämällä QLoRAa, Hugging Face PEFT:tä. bitsandbtyes
ilman merkittäviä muutoksia harjoitusmuistikirjaan ja käytti Amazon SageMaker -ominaisuuksia harjoittelutehtävien suorittamiseen etäklusterissa.
Kaikki tämän viestin osana näkyvä koodi Falcon-7B:n hienosäätämiseksi on saatavilla osoitteessa GitHub-arkisto. Arkisto sisältää myös muistikirjan, joka näyttää kuinka Llama-13B:n hienosäätää.
Seuraavana vaiheena kehotamme sinua tarkistamaan @kaukosisustimen toiminnallisuus ja Python SDK API ja käytä sitä valitsemassasi ympäristössä ja IDE:ssä. Lisää esimerkkejä on saatavilla osoitteessa amazon-sagemaker-esimerkkejä arkisto, jotta pääset alkuun nopeasti. Voit myös katsoa seuraavat postaukset:
Tietoja Tekijät
Bruno Pistone on AWS:n AI/ML Specialist Solutions -arkkitehti Milanossa. Hän työskentelee suurten asiakkaiden kanssa auttaakseen heitä ymmärtämään syvällisesti teknisiä tarpeitaan ja suunnittelemaan tekoäly- ja koneoppimisratkaisuja, jotka hyödyntävät AWS-pilviä ja Amazon Machine Learning -pinoa parhaalla mahdollisella tavalla. Hänen asiantuntemukseensa kuuluvat: koneoppiminen päästä päähän, koneoppimisen teollistuminen ja generatiivinen tekoäly. Hän nauttii ajan viettämisestä ystäviensä kanssa ja uusien paikkojen tutkimisesta sekä matkustamisesta uusiin kohteisiin.
Vikesh Pandey on AWS:n koneoppimisen asiantuntijaratkaisujen arkkitehti, joka auttaa rahoitusalan asiakkaita suunnittelemaan ja rakentamaan ratkaisuja generatiiviseen tekoälyyn ja ML:ään. Työn ulkopuolella Vikesh nauttii erilaisten ruokien kokeilemisesta ja ulkoilusta.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. Autot / sähköautot, hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- ChartPrime. Nosta kaupankäyntipeliäsi ChartPrimen avulla. Pääsy tästä.
- BlockOffsets. Ympäristövastuun omistuksen nykyaikaistaminen. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/fine-tune-falcon-7b-and-other-llms-on-amazon-sagemaker-with-remote-decorator/
- :on
- :On
- :ei
- :missä
- $ YLÖS
- 1
- 10
- 100
- 12
- 13
- 150
- 28
- 31
- 40
- 7
- 8
- 9
- a
- Meistä
- pääsy
- Tili
- Saavuttaa
- poikki
- lisätä
- Lisäksi
- lisä-
- Etu
- AI
- AI-mallit
- AI / ML
- Kaikki
- sallia
- mahdollistaa
- Myös
- Amazon
- Amazonin koneoppiminen
- Amazon Sage Maker
- Amazon SageMaker Studio
- Amazon Web Services
- an
- ja
- vastaus
- vastauksia
- Kaikki
- käyttää
- Hakeminen
- lähestymistapa
- lähestymistavat
- arkkitehtuuri
- OVAT
- perustelut
- AS
- kysyä
- liittyvä
- At
- liittää
- täydennetty
- Tekijät
- auto
- automaattisesti
- saatavissa
- välttää
- AWS
- este
- perustua
- BE
- koska
- ovat
- PARAS
- suurempi
- Blogi
- BnB
- rakentaa
- mutta
- by
- Kätkö
- CAN
- kyvyt
- Koko
- haasteet
- Muutokset
- tarkastaa
- valinta
- siivooja
- Clearing
- pilvi
- Cluster
- koodi
- vertailu
- laskeminen
- Konfigurointi
- Kontit
- sisältää
- jatkaa
- muuntaa
- muunnetaan
- Hinta
- kustannukset
- voisi
- kattaa
- luotu
- Valtakirja
- asiakassuhde
- Asiakkaat
- tiedot
- tietojenkäsittely
- aineistot
- oletusarvot
- määritellä
- osoittivat
- riippuvuudet
- Malli
- kohteet
- yksityiskohtainen
- yksityiskohdat
- Kehittäjä
- kehittäjille
- Kehitys
- laite
- eri
- suoraan
- ei
- tehty
- alas
- kukin
- tehokkaasti
- tehokas
- vaivaa
- muu
- kannustaa
- loppu
- Tekniikka
- varmistaa
- merkintä
- ympäristö
- ympäristöissä
- jne.
- Jopa
- Esimerkit
- teloitus
- olemassa
- asiantuntemus
- Tutkiminen
- Kasvot
- tekijä
- väärä
- FAQ
- FAST
- Ominaisuudet
- harvat
- filee
- taloudellinen
- rahoitusalat
- loppu
- viimeistely
- Etunimi
- sovittaa
- jälkeen
- varten
- muoto
- löytyi
- perusta
- ystäviä
- alkaen
- jäädytetty
- koko
- toiminto
- edelleen
- sukupolvi
- generatiivinen
- Generatiivinen AI
- saada
- menee
- hyvä
- GPU
- Olla
- he
- auttaa
- siten
- hänen
- Miten
- Miten
- Kuitenkin
- HTML
- http
- HTTPS
- Identiteetti
- ids
- if
- kuva
- täytäntöönpano
- tuoda
- parantaa
- parani
- parantaa
- in
- sisältää
- lisää
- teollisuuden
- tiedot
- panos
- tuloa
- asentaa
- asennetaan
- esimerkki
- integroitu
- tulee
- IT
- itse
- Job
- Työpaikat
- jpg
- vain
- tunnettu
- suuri
- käynnistää
- OPPIA
- oppiminen
- antaa
- kirjastot
- Kirjasto
- pitää
- linja
- OTK
- kuormitus
- Pitkät
- katso
- kone
- koneoppiminen
- ylläpitäminen
- tehdä
- hoitaa
- pakollinen
- Saattaa..
- Jäsenet
- Muisti
- mainitsi
- ehkä
- MILAN
- minimi
- ML
- malli
- mallit
- Moduulit
- Moduulit
- lisää
- nimi
- nimet
- syntyperäinen
- Luonnollinen
- välttämätön
- Tarve
- tarvitaan
- tarpeet
- Uusi
- seuraava
- Nro
- Ei eristetty
- muistikirja
- nyt
- numero
- of
- on
- ONE
- Operations
- or
- tilata
- alkuperäinen
- Muut
- ulos
- ulostulo
- ulkopuolella
- parametrit
- osa
- Suorittaa
- suorituskyky
- Oikeudet
- paikat
- foorumi
- Platon
- Platonin tietotieto
- PlatonData
- pelaa
- Ole hyvä
- Kirje
- Viestejä
- Tarkkuus
- Valmistella
- edellytyksiä
- esitetty
- Painaa
- käsittely
- tuottavuus
- mikäli
- tarjoamalla
- laittaa
- Python
- Kysymyksiä ja vastauksia
- laatu
- kysymys
- kysymykset
- nopeasti
- satunnainen
- Sijoitus
- Lue
- valmis
- vähentää
- katso
- liittyvä
- kaukosäädin
- säilytyspaikka
- tarvitaan
- vaatimukset
- Vaatii
- Esittelymateriaalit
- palata
- Rooli
- ajaa
- juoksu
- toimii
- sagemaker
- sama
- skaalaus
- tiede
- käsikirjoitus
- sdk
- nähdä
- valitsemalla
- Palvelut
- setti
- asetus
- settings
- setup
- useat
- yhteinen
- shouldnt
- näyteikkuna
- osoittivat
- esitetty
- Näytä
- merkittävä
- yksinkertaisesti
- single
- ratkaisu
- Ratkaisumme
- jonkin verran
- asiantuntija
- määritelty
- menot
- Urheilu
- pino
- Alkaa
- alkoi
- Vaihe
- Askeleet
- Yhä
- studio
- niin
- riittävä
- toimitetaan
- toimittaa
- tuki
- Tuetut
- Vaihtaa
- järjestelmä
- Kohde
- tehtävät
- joukkue-
- Ryhmän jäsenet
- Tekninen
- tekniikat
- sapluuna
- testi
- testit
- teksti
- että
- -
- heidän
- Niitä
- sitten
- Nämä
- tätä
- Kautta
- aika
- että
- symbolinen
- merkitä
- taskulamppu
- Yhteensä
- Juna
- koulutus
- muuntajat
- liipaisu
- yrittää
- ymmärtää
- yksiköt
- Päivitykset
- us
- Käyttö
- käyttää
- käytetty
- Käyttäjät
- käyttötarkoituksiin
- käyttämällä
- hyödyllisyys
- lajike
- hyvin
- Video
- odottaa
- Tapa..
- we
- verkko
- verkkopalvelut
- HYVIN
- joka
- vaikka
- wikipedia
- with
- ilman
- Referenssit
- työskentely
- toimii
- olisi
- kirjoittaminen
- vielä
- Voit
- Sinun
- zephyrnet