AWS efectuează o reglare fină a unui model de limbă mare (LLM) pentru a clasifica vorbirea toxică pentru o companie mare de jocuri | Amazon Web Services

AWS efectuează o reglare fină a unui model de limbă mare (LLM) pentru a clasifica vorbirea toxică pentru o companie mare de jocuri | Amazon Web Services

Industria jocurilor video are o bază de utilizatori estimată la peste 3 miliarde în întreaga lume1. Constă în cantități masive de jucători care interacționează practic unii cu alții în fiecare zi. Din păcate, ca și în lumea reală, nu toți jucătorii comunică în mod corespunzător și respectuos. În efortul de a crea și menține un mediu de joc responsabil din punct de vedere social, AWS Professional Services a fost rugat să creeze un mecanism care detectează limbajul neadecvat (vorbire toxică) în interacțiunile jucătorilor de jocuri online. Rezultatul general al afacerii a fost îmbunătățirea operațiunilor organizației prin automatizarea unui proces manual existent și îmbunătățirea experienței utilizatorului prin creșterea vitezei și calității în detectarea interacțiunilor neadecvate între jucători, promovând în cele din urmă un mediu de joc mai curat și mai sănătos.

Cererea clientului a fost să creeze un detector de limba engleză care clasifică fragmentele de voce și text în propriile categorii de limbi toxice, definite personalizat. Ei au vrut să determine mai întâi dacă fragmentul de limbaj dat este toxic și apoi să clasifice fragmentul într-o anumită categorie de toxicitate, definită de client, cum ar fi limbajul vulgar sau abuziv.

AWS ProServe a rezolvat acest caz de utilizare printr-un efort comun între Centrul de inovare generativă AI (GAIIC) și echipa de livrare ProServe ML (MLDT). AWS GAIIC este un grup din cadrul AWS ProServe care împerechează clienții cu experți pentru a dezvolta soluții AI generative pentru o gamă largă de cazuri de utilizare în afaceri, utilizând versiuni proof of concept (PoC). AWS ProServe MLDT duce apoi PoC prin producție prin scalarea, consolidarea și integrarea soluției pentru client.

Acest caz de utilizare a clientului va fi prezentat în două postări separate. Această postare (Partea 1) servește ca o scufundare profundă în metodologia științifică. Acesta va explica procesul de gândire și experimentarea din spatele soluției, inclusiv procesul de formare și dezvoltare a modelului. Partea 2 va aprofunda în soluția de producție, explicând deciziile de proiectare, fluxul de date și ilustrarea arhitecturii de antrenament și implementare a modelului.

Această postare acoperă următoarele subiecte:

  • Provocările pe care AWS ProServe a trebuit să le rezolve pentru acest caz de utilizare
  • Contextul istoric despre modelele de limbaj mari (LLM) și de ce această tehnologie se potrivește perfect pentru acest caz de utilizare
  • PoC de la AWS GAIIC și soluția AWS ProServe MLDT din perspectiva științei datelor și a învățării automate (ML)

Provocarea datelor

Principala provocare cu care AWS ProServe s-a confruntat cu antrenarea unui clasificator de limbi toxice a fost obținerea de date suficiente etichetate de la client pentru a pregăti un model precis de la zero. AWS a primit aproximativ 100 de mostre de date etichetate de la client, ceea ce este cu mult mai puțin decât cele 1,000 de mostre recomandate pentru reglarea fină a unui LLM în comunitatea științei datelor.

Ca o provocare inerentă suplimentară, clasificatorii de procesare a limbajului natural (NLP) sunt cunoscute din punct de vedere istoric a fi foarte costisitoare de instruit și necesită un set mare de vocabular, cunoscut sub numele de corp, pentru a produce predicții precise. O soluție NLP riguroasă și eficientă, dacă sunt furnizate cantități suficiente de date etichetate, ar fi antrenarea unui model de limbaj personalizat folosind datele etichetate ale clientului. Modelul ar fi antrenat exclusiv cu vocabularul de joc al jucătorilor, făcându-l adaptat limbajului observat în jocuri. Clientul a avut atât costuri, cât și constrângeri de timp care au făcut ca această soluție să fie neviabilă. AWS ProServe a fost forțat să găsească o soluție pentru a antrena un clasificator precis de toxicitate a limbajului cu un set de date etichetat relativ mic. Soluția constă în ceea ce se numește transfer de învățare.

Ideea din spatele învățării prin transfer este de a folosi cunoștințele unui model pre-antrenat și de a le aplica la o problemă diferită, dar relativ similară. De exemplu, dacă un clasificator de imagini a fost antrenat să prezică dacă o imagine conține o pisică, puteți folosi cunoștințele pe care modelul le-a dobândit în timpul antrenamentului pentru a recunoaște alte animale precum tigrii. Pentru acest caz de utilizare a limbii, AWS ProServe trebuia să găsească un clasificator de limbi antrenat anterior, care a fost antrenat să detecteze limbajul toxic și să-l ajusteze folosind datele etichetate ale clientului.

Soluția a fost găsirea și reglarea fină a unui LLM pentru a clasifica limbajul toxic. LLM-urile sunt rețele neuronale care au fost antrenate folosind un număr masiv de parametri, de obicei de ordinul miliardelor, folosind date neetichetate. Înainte de a intra în soluția AWS, următoarea secțiune oferă o privire de ansamblu asupra istoriei LLM-urilor și a cazurilor de utilizare istorice ale acestora.

Profitând de puterea LLM-urilor

LLM-urile au devenit recent punctul focal pentru companiile care caută noi aplicații de ML, încă de când ChatGPT a capturat opinia publică fiind cea mai rapidă creștere a aplicației pentru consumatori din istorie.2, ajungând la 100 de milioane de utilizatori activi până în ianuarie 2023, la doar 2 luni de la lansare. Cu toate acestea, LLM-urile nu sunt o tehnologie nouă în spațiul ML. Ele au fost utilizate pe scară largă pentru a efectua sarcini NLP, cum ar fi analiza sentimentelor, rezumarea corpusurilor, extragerea cuvintelor cheie, traducerea vorbirii și clasificarea textului.

Datorită naturii secvențiale a textului, rețelele neuronale recurente (RNNs) au reprezentat stadiul tehnicii pentru modelarea NLP. Mai exact, cel codificator-decodor Arhitectura de rețea a fost formulată deoarece a creat o structură RNN capabilă să preia o intrare de lungime arbitrară și să genereze o ieșire de lungime arbitrară. Acesta a fost ideal pentru sarcini NLP, cum ar fi traducerea, în care o frază de ieșire dintr-o limbă putea fi prezisă dintr-o frază de intrare dintr-o altă limbă, de obicei cu un număr diferit de cuvinte între intrare și ieșire. Arhitectura Transformerului3 (Vaswani, 2017) a fost o îmbunătățire revoluționară a codificatorului-decodor; a introdus conceptul de autoatenție, ceea ce a permis modelului să-și concentreze atenția asupra diferitelor cuvinte din frazele de intrare și de ieșire. Într-un codificator-decodor tipic, fiecare cuvânt este interpretat de model într-un mod identic. Pe măsură ce modelul procesează secvențial fiecare cuvânt dintr-o frază de intrare, informațiile semantice de la început se pot pierde până la sfârșitul frazei. Mecanismul de auto-atenție a schimbat acest lucru prin adăugarea unui strat de atenție atât la blocul codificator, cât și la decodor, astfel încât modelul să poată pune ponderi diferite asupra anumitor cuvinte din fraza de intrare atunci când a generat un anumit cuvânt în fraza de ieșire. Astfel s-a născut baza modelului de transformator.

Arhitectura transformatorului a fost fundația pentru două dintre cele mai cunoscute și populare LLM-uri utilizate astăzi, Bidirectional Encoder Representations from Transformers (BERT)4 (Radford, 2018) și transformatorul generativ preantrenat (GPT)5 (Devlin 2018). Versiunile ulterioare ale modelului GPT, și anume GPT3 și GPT4, sunt motorul care alimentează aplicația ChatGPT. Piesa finală a rețetei care face ca LLM-urile să fie atât de puternice este capacitatea de a distila informații din corpusuri vaste de text fără etichetare extinsă sau preprocesare printr-un proces numit ULMFiT. Această metodă are o fază de pre-antrenament în care poate fi adunat text general și modelul este antrenat cu sarcina de a prezice cuvântul următor pe baza cuvintelor anterioare; avantajul aici este că orice text de intrare folosit pentru antrenament vine în mod inerent preetichetat în funcție de ordinea textului. LLM-urile sunt cu adevărat capabile să învețe din datele la scară internet. De exemplu, modelul original BERT a fost antrenat în prealabil pe BookCorpus și pe întregul set de date de text Wikipedia în limba engleză.

Această nouă paradigmă de modelare a dat naștere la două concepte noi: modele de fundație (FM) și IA generativă. Spre deosebire de formarea unui model de la zero cu date specifice sarcinii, care este cazul obișnuit pentru învățarea supervizată clasică, LLM-urile sunt pre-instruite pentru a extrage cunoștințe generale dintr-un set de date cu text larg înainte de a fi adaptate la sarcini specifice sau domenii cu o capacitate mult mai mică. set de date (de obicei de ordinul a sute de mostre). Noul flux de lucru ML începe acum cu un model pre-antrenat numit model de fundație. Este important să construiți pe baza potrivită și există un număr tot mai mare de opțiuni, cum ar fi cea nouă Amazon Titan FM, care urmează să fie lansat de AWS ca parte a Amazon Bedrock. Aceste noi modele sunt, de asemenea, considerate generative, deoarece rezultatele lor sunt interpretabile de către om și sunt de același tip de date ca și datele de intrare. În timp ce modelele ML anterioare erau descriptive, cum ar fi clasificarea imaginilor de pisici vs. câini, LLM-urile sunt generative, deoarece rezultatul lor este următorul set de cuvinte bazat pe cuvintele introduse. Acest lucru le permite să alimenteze aplicații interactive, cum ar fi ChatGPT, care pot fi expresive în conținutul pe care îl generează.

Hugging Face a încheiat un parteneriat cu AWS pentru a democratiza FM-urile și a le face ușor de accesat și de construit. Hugging Face a creat un Transformers API care unifică mai mult de 50 de arhitecturi de transformatoare diferite pe diferite cadre ML, inclusiv acces la greutățile modelului pre-antrenate în lor Model Hub, care a crescut la peste 200,000 de modele la momentul scrierii acestei postări. În secțiunile următoare, explorăm dovada conceptului, soluția și FM-urile care au fost testate și alese ca bază pentru rezolvarea acestui caz de utilizare a clasificării vorbirii toxice pentru client.

Dovada conceptului AWS GAIIC

AWS GAIIC a ales să experimenteze cu modele de fundație LLM cu arhitectura BERT pentru a regla fin un clasificator de limbaj toxic. Au fost testate un total de trei modele din hub-ul modelului Hugging Face:

Toate cele trei arhitecturi model se bazează pe BERTweet arhitectură. BERTweet este antrenat pe baza ROBERTa procedura de pre-antrenament. Procedura de pre-antrenament RoBERTa este rezultatul unui studiu de replicare a pre-antrenamentului BERT care a evaluat efectele reglajului hiperparametrului și mărimea setului de antrenament pentru a îmbunătăți rețeta de antrenament a modelelor BERT.6 (Liu 2019). Experimentul a căutat să găsească o metodă de pre-formare care să îmbunătățească rezultatele de performanță ale BERT fără a modifica arhitectura de bază. Concluzia studiului a constatat că următoarele modificări înainte de antrenament au îmbunătățit substanțial performanța BERT:

  • Antrenarea modelului cu loturi mai mari pe mai multe date
  • Eliminarea următorului obiectiv de predicție a propoziției
  • Antrenament pe secvențe mai lungi
  • Schimbarea dinamică a modelului de mascare aplicat datelor de antrenament

Modelul bertweet-base folosește procedura anterioară de pre-formare din studiul Roberta pentru a pre-antrenează arhitectura originală BERT folosind 850 de milioane de tweet-uri în limba engleză. Este primul model de limbă public la scară largă pregătit în prealabil pentru tweet-uri în limba engleză.

S-a gândit că FM pre-antrenați care utilizează tweet-uri se potrivesc cazului de utilizare din două motive teoretice principale:

  • Lungimea unui tweet este foarte asemănătoare cu lungimea unei fraze nepotrivite sau toxice găsite în chat-urile de jocuri online
  • Tweeturile provin de la o populație cu o mare varietate de utilizatori diferiți, similară cu cea a populației găsite în platformele de jocuri

AWS a decis să ajusteze mai întâi BERTweet cu datele etichetate ale clientului pentru a obține o bază de referință. Apoi a ales să ajusteze alte două FM-uri în bertweet-base-offensive și bertweet-base-hate, care au fost mai departe pre-antrenate special pe tweet-uri toxice mai relevante pentru a obține o precizie potențial mai mare. Modelul bertweet-base-ofensiv folosește baza BertTweet FM și este pre-antrenat în continuare pe 14,100 de tweet-uri adnotate care au fost considerate ofensatoare.7 (Zampieri 2019). Modelul bertweet-base-hate folosește, de asemenea, BertTweet FM de bază, dar este pregătit în continuare pe 19,600 de tweet-uri care au fost considerate discurs instigator la ură8 (Basile 2019).

Pentru a îmbunătăți și mai mult performanța modelului PoC, AWS GAIIC a luat două decizii de proiectare:

  • A creat un flux de predicție în două etape în care primul model acționează ca un clasificator binar care clasifică dacă o bucată de text este toxică sau nu. Al doilea model este un model cu granulație fină care clasifică textul în funcție de tipurile toxice definite de client. Numai dacă primul model prezice textul ca fiind toxic, acesta este trecut la al doilea model.
  • Am mărit datele de antrenament și am adăugat un subset al unui set de date cu text toxic etichetat de terți dintr-o competiție publică Kaggle (Toxicitate Jigsaw) la cele 100 de mostre originale primite de la client. Ei au mapat etichetele Jigsaw cu etichetele asociate de toxicitate definite de client și au făcut o împărțire de 80% ca date de antrenament și 20% ca date de testare pentru a valida modelul.

AWS efectuează o reglare fină a unui model de limbă mare (LLM) pentru a clasifica vorbirea toxică pentru o companie mare de jocuri | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

AWS GAIIC folosit Amazon SageMaker notebook-uri pentru a-și desfășura experimentele de reglare fină și a constatat că modelul bertweet-base-ofensiv a obținut cele mai bune scoruri pe setul de validare. Următorul tabel rezumă scorurile metrice observate.

Model Precizie Rechemare F1 ASC
Binar . 92 . 90 . 91 . 92
Granulație fină . 81 . 80 . 81 . 89

Din acest punct, GAIIC a predat PoC echipei AWS ProServe ML Delivery pentru a produce PoC.

Soluție AWS ProServe ML Delivery Team

Pentru a produce arhitectura modelului, clientului a solicitat echipei de livrare ML AWS ProServe (MLDT) să creeze o soluție care este scalabilă și ușor de întreținut. Au existat câteva provocări de întreținere ale abordării modelului în două etape:

  • Modelele ar necesita o cantitate dublă de monitorizare a modelului, ceea ce face ca timpul de reinstruire să fie inconsecvent. Pot exista momente în care un model va trebui să fie recalificat mai des decât celălalt.
  • Costuri crescute de funcționare a două modele, spre deosebire de unul.
  • Viteza de inferență încetinește deoarece inferența trece prin două modele.

Pentru a face față acestor provocări, AWS ProServe MLDT a trebuit să descopere cum să transforme arhitectura modelului în două etape într-o arhitectură a modelului unic, putând în același timp să mențină acuratețea arhitecturii în două etape.

Soluția a fost să ceri mai întâi clientului mai multe date de antrenament, apoi să ajustezi modelul bertweet-base-ofensiv pe toate etichetele, inclusiv mostre netoxice, într-un singur model. Ideea a fost că reglarea fină a unui model cu mai multe date ar avea ca rezultat rezultate similare cu reglarea fină a unei arhitecturi de model în două etape pe mai puține date. Pentru a ajusta arhitectura modelului în două etape, AWS ProServe MLDT a actualizat capul de clasificare cu mai multe etichete a modelului pre-antrenat pentru a include un nod suplimentar pentru a reprezenta clasa non-toxică.

Următorul este un exemplu de cod despre modul în care ați ajusta fin un model pre-antrenat din hub-ul modelului Hugging Face folosind platforma lor de transformatoare și ați modifica capul de clasificare cu mai multe etichete al modelului pentru a prezice numărul dorit de clase. AWS ProServe MLDT a folosit acest plan ca bază pentru reglarea fină. Se presupune că aveți datele trenului și datele de validare pregătite și în formatul de intrare corect.

În primul rând, modulele Python sunt importate, precum și modelul pre-antrenat dorit din hub-ul model Hugging Face:

# Imports.
from transformers import ( AutoModelForSequenceClassification, AutoTokenizer, DataCollatorWithPadding, PreTrainedTokenizer, Trainer, TrainingArguments,
) # Load pretrained model from model hub into a tokenizer.
model_checkpoint = “cardiffnlp/bertweet-base-offensive”
tokenizer = AutoTokenizer.from_pretrained(checkpoint)

Modelul pre-antrenat este apoi încărcat și pregătit pentru reglare fină. Acesta este pasul în care sunt definite numărul de categorii toxice și toți parametrii modelului:

# Load pretrained model into a sequence classifier to be fine-tuned and define the number of classes you want to classify in the num_labels parameter. model = AutoModelForSequenceClassification.from_pretrained( model_checkpoint, num_labels=[number of classes] ) # Set your training parameter arguments. The below are some key parameters that AWS ProServe MLDT tuned:
training_args = TrainingArguments( num_train_epochs=[enter input] per_device_train_batch_size=[enter input] per_device_eval_batch_size=[enter input] evaluation_strategy="epoch", logging_strategy="epoch", save_strategy="epoch", learning_rate=[enter input] load_best_model_at_end=True, metric_for_best_model=[enter input] optim=[enter input], )

Reglarea fină a modelului începe cu introducerea căilor către seturile de date de instruire și validare:

# Finetune the model from the model_checkpoint, tokenizer, and training_args defined assuming train and validation datasets are correctly preprocessed.
trainer = Trainer( model=model, args=training_args, train_dataset=[enter input], eval_dataset=[enter input], tokenizer=tokenizer, data_collator=data_collator, ) # Finetune model command.
trainer.train()

AWS ProServe MLDT a primit aproximativ 5,000 de mostre de date etichetate, 3,000 fiind netoxice și 2,000 fiind toxice și a ajustat fin toate cele trei modele de bază de bertweet, combinând toate etichetele într-un singur model. Ei au folosit aceste date în plus față de cele 5,000 de eșantioane din PoC pentru a regla fin noi modele cu o singură etapă folosind aceeași metodă de set de trenuri 80%, set de testare 20%. Următorul tabel arată că scorurile de performanță au fost comparabile cu cele ale modelului în două etape.

Model Precizie Rechemare F1 ASC
bertweet-base (1-etapă) . 76 . 72 . 74 . 83
bertweet-base-hate (1-etapă) . 85 . 82 . 84 . 87
bertweet-base-offensive (1-etapă) . 88 . 83 . 86 . 89
bertweet-base-offensive (2-etapă) . 91 . 90 . 90 . 92

Abordarea modelului într-o singură etapă a adus îmbunătățiri ale costurilor și întreținerii, în timp ce a redus precizia doar cu 3%. După ce a cântărit compromisurile, clientul a optat pentru AWS ProServe MLDT pentru a produce modelul într-o singură etapă.

Prin reglarea fină a unui model cu mai multe date etichetate, AWS ProServe MLDT a reușit să furnizeze o soluție care a îndeplinit pragul de precizie a modelului al clientului, precum și să le ofere cererea de întreținere ușoară, reducând în același timp costurile și sporind robustețea.

Concluzie

Un mare client de jocuri de noroc căuta o modalitate de a detecta limbajul toxic în canalele lor de comunicare pentru a promova un mediu de joc responsabil din punct de vedere social. AWS GAIIC a creat un PoC al unui detector de limbaj toxic prin reglarea fină a unui LLM pentru a detecta limbajul toxic. AWS ProServe MLDT a actualizat apoi fluxul de formare a modelului de la o abordare în două etape la o abordare într-o etapă și a produs LLM-ul pentru client pentru a fi utilizat la scară.

În această postare, AWS demonstrează eficacitatea și caracterul practic al reglarii fine a unui LLM pentru a rezolva acest caz de utilizare a clienților, împărtășește contextul asupra istoriei modelelor de bază și LLM-urilor și introduce fluxul de lucru dintre Centrul de inovare AWS Generative AI și AWS ProServe ML Echipa de livrare. În următoarea postare din această serie, ne vom aprofunda în modul în care AWS ProServe MLDT a produs modelul rezultat într-o etapă folosind SageMaker.

Dacă sunteți interesat să lucrați cu AWS pentru a construi o soluție generativă AI, vă rugăm să contactați GAIIC. Ei vor evalua cazul dvs. de utilizare, vor construi o dovadă de concept bazată pe IA generativă și vor avea opțiuni de extindere a colaborării cu AWS pentru a implementa PoC rezultat în producție.

Referinte

  1. Date demografice ale jucătorilor: fapte și statistici despre cel mai popular hobby din lume
  2. ChatGPT stabilește recordul pentru baza de utilizatori cu cea mai rapidă creștere – nota analistului
  3. Vaswani și colab., „Atenția este tot ce ai nevoie”
  4. Radford și colab., „Îmbunătățirea înțelegerii limbajului prin preformare generativă”
  5. Devlin și colab., „BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding”
  6. Yinhan Liu și colab., „RoBERTa: O abordare de preformare BERT optimizată robust”
  7. Marcos Zampieri și colab., „SemEval-2019 Sarcina 6: Identificarea și clasificarea limbajului ofensator în social media (OffensEval)”
  8. Valerio Basile și colab., „SemEval-2019 Sarcina 5: Detectarea multilingvă a discursului instigator la ură împotriva imigranților și a femeilor pe Twitter”

Despre autori

AWS efectuează o reglare fină a unui model de limbă mare (LLM) pentru a clasifica vorbirea toxică pentru o companie mare de jocuri | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.James Poquiz este un Data Scientist cu AWS Professional Services cu sediul în Orange County, California. El are o licență în Informatică de la Universitatea din California, Irvine și are câțiva ani de experiență de lucru în domeniul datelor, având multe roluri diferite. Astăzi lucrează la implementarea și implementarea soluțiilor ML scalabile pentru a obține rezultate de afaceri pentru clienții AWS.

AWS efectuează o reglare fină a unui model de limbă mare (LLM) pentru a clasifica vorbirea toxică pentru o companie mare de jocuri | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Omul Han este senior Data Science & Machine Learning Manager cu AWS Professional Services cu sediul în San Diego, CA. El are un doctorat în inginerie la Universitatea Northwestern și are câțiva ani de experiență ca consultant de management, consiliind clienții în producție, servicii financiare și energie. Astăzi, el lucrează cu pasiune cu clienți cheie dintr-o varietate de verticale din industrie pentru a dezvolta și implementa soluții ML și GenAI pe AWS.

AWS efectuează o reglare fină a unui model de limbă mare (LLM) pentru a clasifica vorbirea toxică pentru o companie mare de jocuri | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Safa Tinaztepe este un om de știință de date cu servicii profesionale AWS. Are o licență în informatică de la Universitatea Emory și are interese în MLOps, sisteme distribuite și web3.

Timestamp-ul:

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