Ajustați și implementați Mistral 7B cu Amazon SageMaker JumpStart | Amazon Web Services

Ajustați și implementați Mistral 7B cu Amazon SageMaker JumpStart | Amazon Web Services

Astăzi, suntem încântați să anunțăm capacitatea de a regla fin modelul Mistral 7B folosind Amazon SageMaker JumpStart. Acum puteți ajusta și implementa modele de generare de text Mistral pe SageMaker JumpStart folosind Amazon SageMaker Studio Interfața de utilizare cu câteva clicuri sau folosind SDK-ul SageMaker Python.

Modelele de fundație se descurcă foarte bine cu sarcinile generative, de la elaborarea textului și a rezumatelor, răspunsul la întrebări, până la producerea de imagini și videoclipuri. În ciuda capacităților mari de generalizare ale acestor modele, există adesea cazuri de utilizare care au date de domeniu foarte specifice (cum ar fi asistența medicală sau serviciile financiare) și este posibil ca aceste modele să nu poată oferi rezultate bune pentru aceste cazuri de utilizare. Acest lucru are ca rezultat o nevoie de ajustare suplimentară a acestor modele AI generative asupra datelor specifice cazului de utilizare și specifice domeniului.

În această postare, demonstrăm cum să reglați fin modelul Mistral 7B folosind SageMaker JumpStart.

Ce este Mistral 7B

Mistral 7B este un model de bază dezvoltat de Mistral AI, care sprijină abilitățile de generare de text și cod în limba engleză. Acceptă o varietate de cazuri de utilizare, cum ar fi rezumarea textului, clasificarea, completarea textului și completarea codului. Pentru a demonstra personalizarea modelului, Mistral AI a lansat, de asemenea, un model Mistral 7B-Instruct pentru cazurile de utilizare a chat-ului, reglat fin folosind o varietate de seturi de date de conversație disponibile public.

Mistral 7B este un model de transformator și folosește atenția grupată la interogare și atenția ferestrei glisante pentru a obține o inferență mai rapidă (latență scăzută) și pentru a gestiona secvențe mai lungi. Atenția de interogare grupată este o arhitectură care combină atenția cu mai multe interogări și cu mai multe capete pentru a obține o calitate a ieșirii apropiată de atenția cu mai multe capete și o viteză comparabilă cu atenția cu mai multe interogări. Metoda atenției ferestrei glisante folosește mai multe niveluri ale unui model de transformator pentru a se concentra pe informațiile care au venit mai devreme, ceea ce ajută modelul să înțeleagă o întindere mai lungă a contextului. . Mistral 7B are o lungime de context de 8,000 de jetoane, demonstrează o latență scăzută și un randament ridicat și are performanțe puternice în comparație cu alternativele de model mai mari, oferind cerințe reduse de memorie la dimensiunea unui model de 7B. Modelul este disponibil sub licența Apache 2.0 permisivă, pentru utilizare fără restricții.

Puteți ajusta modelele folosind fie SageMaker Studio UI, fie SageMaker Python SDK. Discutăm ambele metode în această postare.

Reglați fin prin interfața de utilizare SageMaker Studio

În SageMaker Studio, puteți accesa modelul Mistral prin SageMaker JumpStart sub Modele, caiete și soluții, așa cum se arată în următoarea captură de ecran.

Dacă nu vedeți modelele Mistral, actualizați versiunea SageMaker Studio prin închiderea și repornirea. Pentru mai multe informații despre actualizările versiunii, consultați Închideți și actualizați aplicațiile Studio.

Ajustați și implementați Mistral 7B cu Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Pe pagina modelului, puteți indica Serviciul Amazon de stocare simplă Bucket (Amazon S3) care conține seturile de date de instruire și validare pentru reglare fină. În plus, puteți configura configurația de implementare, hiperparametrii și setările de securitate pentru reglare fină. Apoi puteți alege Tren pentru a începe munca de instruire pe o instanță SageMaker ML.

Ajustați și implementați Mistral 7B cu Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Implementați modelul

După ce modelul este reglat fin, îl puteți implementa folosind pagina de model din SageMaker JumpStart. Opțiunea de implementare a modelului reglat fin va apărea când reglarea fină este finalizată, așa cum se arată în următoarea captură de ecran.

Ajustați și implementați Mistral 7B cu Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Reglați fin prin intermediul SDK-ului SageMaker Python

De asemenea, puteți ajusta modelele Mistral folosind SDK-ul SageMaker Python. Caietul complet este disponibil pe GitHub. În această secțiune, oferim exemple de două tipuri de reglaj fin.

Reglajul fin al instrucțiunilor

Reglarea instrucțiunilor este o tehnică care implică reglarea fină a unui model de limbaj pe o colecție de sarcini de procesare a limbajului natural (NLP) folosind instrucțiuni. În această tehnică, modelul este antrenat să execute sarcini urmând instrucțiuni textuale în loc de seturi de date specifice pentru fiecare sarcină. Modelul este ajustat cu un set de exemple de intrare și ieșire pentru fiecare sarcină, permițând modelului să se generalizeze la sarcini noi pentru care nu a fost instruit în mod explicit, atâta timp cât sunt furnizate solicitări pentru sarcini. Reglarea instrucțiunilor ajută la îmbunătățirea acurateței și eficacității modelelor și este utilă în situațiile în care seturi mari de date nu sunt disponibile pentru anumite sarcini.

Să parcurgem codul de reglare fină furnizat în exemplu caiet cu SageMaker Python SDK.

Folosim un subset al Setul de date Dolly într-un format de reglare a instrucțiunilor și specificați template.json fișier care descrie formatele de intrare și de ieșire. Datele de antrenament trebuie să fie formatate în format de linii JSON (.jsonl), unde fiecare linie este un dicționar care reprezintă un singur eșantion de date. În acest caz, o numim train.jsonl.

Următorul fragment este un exemplu de train.jsonl. Cheile instruction, context, și response în fiecare probă ar trebui să aibă intrări corespunzătoare {instruction}, {context}, {response} în template.json.

{ "instruction": "What is a dispersive prism?", "context": "In optics, a dispersive prism is an optical prism that is used to disperse light, that is, to separate light into its spectral components (the colors of the rainbow). Different wavelengths (colors) of light will be deflected by the prism at different angles. This is a result of the prism material's index of refraction varying with wavelength (dispersion). Generally, longer wavelengths (red) undergo a smaller deviation than shorter wavelengths (blue). The dispersion of white light into colors by a prism led Sir Isaac Newton to conclude that white light consisted of a mixture of different colors.", "response": "A dispersive prism is an optical prism that disperses the light's different wavelengths at different angles. When white light is shined through a dispersive prism it will separate into the different colors of the rainbow."
}

Următorul este un eșantion de template.json:

{ "prompt": "Below is an instruction that describes a task, paired with an input that provides further context. " "Write a response that appropriately completes the request.nn" "### Instruction:n{instruction}nn### Input:n{context}nn", "completion": " {response}",
}

După ce încărcați șablonul prompt și datele de antrenament într-o găleată S3, puteți seta hiperparametrii.

my_hyperparameters["epoch"] = "1"
my_hyperparameters["per_device_train_batch_size"] = "2"
my_hyperparameters["gradient_accumulation_steps"] = "2"
my_hyperparameters["instruction_tuned"] = "True"
print(my_hyperparameters)

Apoi puteți începe procesul de reglare fină și puteți implementa modelul la un punct final de inferență. În următorul cod, folosim o instanță ml.g5.12xlarge:

from sagemaker.jumpstart.estimator import JumpStartEstimator instruction_tuned_estimator = JumpStartEstimator( model_id=model_id, hyperparameters=my_hyperparameters, instance_type="ml.g5.12xlarge",
)
instruction_tuned_estimator.fit({"train": train_data_location}, logs=True) instruction_tuned_predictor = instruction_tuned_estimator.deploy()

Reglarea fină a adaptării domeniului

Reglarea fină a adaptării domeniului este un proces care rafinează un LLM pre-antrenat pentru a se potrivi mai bine unui anumit domeniu sau sarcină. Folosind un set de date mai mic, specific unui domeniu, LLM poate fi ajustat pentru a înțelege și genera conținut care este mai precis, relevant și perspicace pentru acel domeniu specific, păstrând în același timp cunoștințele vaste pe care le-a dobândit în timpul formării sale inițiale.

Modelul Mistral poate fi reglat fin pe orice set de date specifice domeniului. După ce este reglat fin, este de așteptat să genereze text specific domeniului și să rezolve diverse sarcini NLP în acel domeniu specific. Pentru setul de date de antrenament, furnizați un director de tren și un director de validare opțional, fiecare conținând un singur fișier CSV, JSON sau TXT. Pentru formatele CSV și JSON, utilizați datele din text coloană sau prima coloană dacă text nu este prezent. Asigurați-vă că există un singur fișier sub fiecare director. De exemplu, datele de intrare pot fi fișiere SEC ale Amazon ca fișier text:

This report includes estimates, projections, statements relating to our
business plans, objectives, and expected operating results that are “forward-
looking statements” within the meaning of the Private Securities Litigation
Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E
of the Securities Exchange Act of 1934. Forward-looking statements may appear
throughout this report, including the following sections: “Business” (Part I,
Item 1 of this Form 10-K), “Risk Factors” (Part I, Item 1A of this Form 10-K),
and “Management’s Discussion and Analysis of Financial Condition and Results
of Operations” (Part II, Item 7 of this Form 10-K). These forward-looking
statements generally are identified by the words “believe,” “project,”
“expect,” “anticipate,” “estimate,” “intend,” “strategy,” “future,”
“opportunity,” “plan,” “may,” “should,” “will,” “would,” “will be,” “will
continue,” “will likely result,” and similar expressions.

Puteți începe reglarea fină a adaptării domeniului specificând hiperparametrul „instruction_tuned" la fel de "False„. Restul pașilor sunt similari cu pașii de reglare fină a instrucțiunilor.

Noi am stabilit max_input_length să fie 2048 pe g5.12xlarge. Puteți utiliza o lungime de intrare mai mare pe un tip de instanță mai mare. Pentru detalii, consultați exemplu caiet.

Exemplu de inferență cu și fără reglaj fin

Următorul tabel conține rezultatele modelului Mistral 7B ajustat cu documentele de depunere la SEC ale Amazon din 2021-2022. Comparăm rezultatul înainte și după reglaj fin.

Prompt de intrare Ieșire înainte de reglaj fin Ieșire după reglaj fin parametrii
Acest raport Formular 10-K arată că

compania are in activitate de 10 ani si are in total 10 angajati. Compania are un total de 10 angajați și se ocupă de furnizarea de servicii publicului. Compania are un total de 10 angajați și se ocupă de furnizarea de servicii publicului.

Compania are un total de 10 angajați și se ocupă de furnizarea de servicii publicului. Compania are un total de 10 angajați și se ocupă de furnizarea de servicii publicului. Compania are un total de 10 angajați și se ocupă de furnizarea de servicii publicului. Compania are un total de 10 angajați și are o activitate de furnizare

am avut vânzări nete de 1.2 miliarde USD, 1.5 miliarde USD și 1.8 miliarde USD în 2004, 2003 și 2002. Aceste sume includ vânzările de pe site-urile noastre internaționale. Vânzările nete de pe site-urile noastre internaționale au fost de 323 milioane USD, 242 milioane USD și 150 milioane USD în 2004, 2003 și 2002. Vânzările nete de pe site-urile noastre internaționale au reprezentat 27%, 16% și 8% din vânzările nete în 2004, 2003 și 2002. . „temperatura”: 0.2,
„max_new_tokens”: 150,
Servim consumatorii prin intermediul

rețeaua noastră de vânzare cu amănuntul de 1,700 de magazine, care include 1,200 de magazine în Statele Unite, 400 de magazine în Canada și 100 de magazine în Mexic. De asemenea, servim consumatorii prin intermediul site-urilor noastre de comerț electronic.

## Care este cel mai mare magazin de îmbunătățiri pentru locuințe?

Home Depot este cel mai mare comerciant cu amănuntul de îmbunătățiri pentru locuințe din Statele Unite.

## Care este cel mai mare magazin de îmbunătățiri pentru locuințe din lume?

Cel mai mare magazin de îmbunătățiri pentru locuințe din lume este Home Depot.

## Care este cel mai mare magazin de îmbunătățiri pentru locuințe din

magazinele noastre online și fizice și se concentrează pe selecție, preț și comoditate. Ne proiectăm magazinele astfel încât sute de milioane de produse unice să fie vândute de către noi și de către terți în zeci de categorii de produse. Clienții accesează ofertele noastre prin site-urile noastre web, aplicațiile mobile, Alexa, dispozitive, streaming și vizitând fizic magazinele noastre. De asemenea, producem și vindem dispozitive electronice, inclusiv Kindle, tabletă Fire, Fire TV, Echo și Ring și dezvoltăm și producem conținut media. Căutăm să oferim clienților noștri prețuri mici, livrare rapidă și gratuită, funcționalitate ușor de utilizat și servicii pentru clienți la timp. În plus, oferim servicii de abonament precum Amazon Prime, a
Viziunea noastră este

pentru a fi furnizorul principal de servicii de îngrijire a sănătății de calitate, la prețuri accesibile și accesibile în comunitățile pe care le deservim.

Misiunea noastră este să oferim servicii de îngrijire a sănătății de calitate, la prețuri accesibile și accesibile comunităților pe care le deservim.

Valorile noastre sunt:

– Integritate: acționăm cu onestitate și integritate în toate relațiile noastre.
– Respect: Tratăm pe toată lumea cu respect și demnitate.
– Excelență: Ne străduim să obținem excelență în tot ceea ce facem.
– Compasiune: Avem grijă de pacienții noștri și unii de alții cu compasiune.
– Munca în echipă: Lucrăm împreună ca o echipă pentru a ne atinge obiectivele.

Angajamentul nostru față de pacienții noștri este de a oferi servicii medicale de calitate, la prețuri accesibile și accesibile.

pentru a fi cea mai centrată companie de pe Pământ pe client. Ne ghidăm după patru principii: obsesia clienților, mai degrabă decât concentrarea pe concurență, pasiunea pentru invenție, angajamentul față de excelența operațională și gândirea pe termen lung. În fiecare dintre segmentele noastre, deservim seturile noastre de clienți principali, formate din consumatori, vânzători, dezvoltatori, întreprinderi și creatori de conținut. În plus, oferim servicii, cum ar fi publicitate. Ne-am organizat operațiunile în trei segmente: America de Nord, Internațional și AWS. Aceste segmente reflectă modul în care Compania își evaluează performanța afacerii și își gestionează operațiunile. Informațiile despre vânzările noastre nete sunt conținute în punctul 8 din partea a II-a, „Situații financiare

După cum puteți vedea, modelul ajustat oferă informații mai specifice legate de Amazon în comparație cu cel generic pre-antrenat. Acest lucru se datorează faptului că reglarea fină adaptează modelul pentru a înțelege nuanțele, modelele și specificul setului de date furnizat. Folosind un model pre-antrenat și adaptându-l cu reglaj fin, ne asigurăm că obțineți tot ce este mai bun din ambele lumi: cunoștințele ample despre modelul pre-antrenat și precizia specializată pentru setul dvs. unic de date. O mărime poate să nu se potrivească tuturor în lumea învățării automate, iar reglarea fină este soluția personalizată de care aveți nevoie!

Concluzie

În această postare, am discutat despre reglarea fină a modelului Mistral 7B folosind SageMaker JumpStart. Am arătat cum puteți utiliza consola SageMaker JumpStart în SageMaker Studio sau SageMaker Python SDK pentru a regla și implementa aceste modele. Ca pas următor, puteți încerca să reglați aceste modele pe propriul set de date folosind codul furnizat în depozitul GitHub pentru a testa și compara rezultatele pentru cazurile dvs. de utilizare.


Despre Autori

Xin HuangXin Huang este cercetător aplicat senior pentru algoritmii încorporați Amazon SageMaker JumpStart și Amazon SageMaker. El se concentrează pe dezvoltarea de algoritmi scalabili de învățare automată. Interesele sale de cercetare sunt în domeniul prelucrării limbajului natural, al învățării profunde explicabile pe date tabulare și al analizei robuste a grupării non-parametrice spațiu-timp. A publicat multe lucrări în ACL, ICDM, conferințe KDD și Royal Statistical Society: Series A.

Ajustați și implementați Mistral 7B cu Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Vivek Gangasani este un arhitect de soluții de pornire AI/ML pentru startup-uri generative AI la AWS. El ajută startup-urile emergente GenAI să construiască soluții inovatoare folosind servicii AWS și calcul accelerat. În prezent, el se concentrează pe dezvoltarea de strategii pentru reglarea fină și optimizarea performanței de inferență a modelelor de limbaj mari. În timpul liber, lui Vivek îi place să facă drumeții, să se uite la filme și să încerce diferite bucătării.

Ajustați și implementați Mistral 7B cu Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Dr. Ashish Khetan este un om de știință senior aplicat cu algoritmi încorporați Amazon SageMaker și ajută la dezvoltarea algoritmilor de învățare automată. Și-a luat doctoratul la Universitatea din Illinois Urbana-Champaign. Este un cercetător activ în învățarea automată și inferența statistică și a publicat multe lucrări în conferințele NeurIPS, ICML, ICLR, JMLR, ACL și EMNLP.

Timestamp-ul:

Mai mult de la Învățare automată AWS