AWS izvaja fino nastavitev na velikem jezikovnem modelu (LLM), da razvrsti strupen govor za veliko igralniško podjetje | Spletne storitve Amazon

AWS izvaja fino nastavitev na velikem jezikovnem modelu (LLM), da razvrsti strupen govor za veliko igralniško podjetje | Spletne storitve Amazon

Industrija video iger ima po ocenah več kot 3 milijarde uporabnikov po vsem svetu1. Sestavljen je iz ogromnih količin igralcev, ki vsak dan praktično komunicirajo drug z drugim. Na žalost, tako kot v resničnem svetu, vsi igralci ne komunicirajo primerno in spoštljivo. V prizadevanju za ustvarjanje in vzdrževanje družbeno odgovornega igralnega okolja so AWS Professional Services prosili, naj zgradijo mehanizem, ki zaznava neprimeren jezik (strupen govor) v interakcijah igralcev spletnih iger. Celoten poslovni rezultat je bil izboljšanje delovanja organizacije z avtomatizacijo obstoječega ročnega procesa in izboljšanje uporabniške izkušnje s povečanjem hitrosti in kakovosti pri odkrivanju neprimernih interakcij med igralci, kar je na koncu spodbudilo čistejše in bolj zdravo igralno okolje.

Zahteva stranke je bila ustvariti detektor angleškega jezika, ki razvršča glasovne in besedilne izseke v lastne po meri opredeljene kategorije strupenega jezika. Najprej so želeli ugotoviti, ali je dani jezikovni odlomek toksičen, nato pa odlomek razvrstiti v posebno kategorijo toksičnosti, ki jo določi stranka, kot sta kletvice ali žaljiv jezik.

AWS ProServe je ta primer uporabe rešil s skupnim prizadevanjem Generative AI Innovation Center (GAIIC) in ProServe ML Delivery Team (MLDT). AWS GAIIC je skupina znotraj AWS ProServe, ki združuje stranke s strokovnjaki za razvoj generativnih rešitev umetne inteligence za širok spekter primerov poslovne uporabe z uporabo dokazov koncepta (PoC). AWS ProServe MLDT nato popelje PoC skozi proizvodnjo s skaliranjem, utrjevanjem in integracijo rešitve za stranko.

Ta primer uporabe stranke bo predstavljen v dveh ločenih objavah. Ta objava (1. del) služi kot globok potop v znanstveno metodologijo. Razložil bo miselni proces in eksperimentiranje v ozadju rešitve, vključno s postopkom usposabljanja in razvoja modela. 2. del se bo poglobil v izdelano rešitev, razložil oblikovalske odločitve, pretok podatkov in ponazoril arhitekturo usposabljanja in uvajanja modela.

Ta objava pokriva naslednje teme:

  • Izzivi, ki jih je AWS ProServe moral rešiti za ta primer uporabe
  • Zgodovinski kontekst o velikih jezikovnih modelih (LLM) in zakaj je ta tehnologija popolna za ta primer uporabe
  • Rešitev PoC AWS GAIIC in AWS ProServe MLDT z vidika podatkovne znanosti in strojnega učenja (ML)

Podatkovni izziv

Glavni izziv, s katerim se je soočil AWS ProServe pri usposabljanju strupenega jezikovnega klasifikatorja, je bil pridobiti dovolj označenih podatkov od stranke za usposabljanje natančnega modela iz nič. AWS je od stranke prejel približno 100 vzorcev označenih podatkov, kar je veliko manj od 1,000 vzorcev, priporočenih za natančno nastavitev LLM v skupnosti podatkovnih znanosti.

Kot dodaten inherentni izziv je zgodovinsko znano, da so klasifikatorji za obdelavo naravnega jezika (NLP) zelo dragi za usposabljanje in zahtevajo velik nabor besedišča, znanega kot corpus, za izdelavo natančnih napovedi. Stroga in učinkovita rešitev NLP, če bi zagotovili zadostne količine označenih podatkov, bi bilo usposabljanje jezikovnega modela po meri z uporabo strankinih označenih podatkov. Model bi se usposabljal samo z besediščem igre igralcev, zaradi česar bi bil prilagojen jeziku, opazovanemu v igrah. Stranka je imela tako stroškovne kot časovne omejitve, zaradi katerih je bila ta rešitev neizvedljiva. AWS ProServe je bil prisiljen najti rešitev za usposabljanje natančnega klasifikatorja jezikovne toksičnosti z relativno majhnim označenim naborom podatkov. Rešitev je bila v tem, kar je znano kot transferno učenje.

Ideja prenosnega učenja je uporaba znanja vnaprej usposobljenega modela in njegova uporaba pri drugačnem, a relativno podobnem problemu. Na primer, če je bil klasifikator slik usposobljen za napovedovanje, ali slika vsebuje mačko, lahko uporabite znanje, ki ga je model pridobil med usposabljanjem, da prepozna druge živali, kot so tigri. Za ta primer uporabe jezika je AWS ProServe moral poiskati predhodno usposobljen klasifikator jezikov, ki je bil usposobljen za zaznavanje strupenega jezika in njegovo natančno nastavitev z uporabo strankinih označenih podatkov.

Rešitev je bila najti in natančno prilagoditi LLM za razvrščanje strupenega jezika. LLM so nevronske mreže, ki so bile usposobljene z uporabo velikega števila parametrov, običajno v vrstnem redu milijard, z uporabo neoznačenih podatkov. Preden preidemo na rešitev AWS, naslednji razdelek nudi pregled zgodovine LLM-jev in njihovih zgodovinskih primerov uporabe.

Izkoriščanje moči LLM

LLM-ji so pred kratkim postali osrednja točka za podjetja, ki iščejo nove aplikacije strojnega učenja, odkar je ChatGPT zajel javno miselnost, saj je najhitreje rastoča potrošniška aplikacija v zgodovini2, ki je do januarja 100 dosegel 2023 milijonov aktivnih uporabnikov, le 2 meseca po izdaji. Vendar LLM niso nova tehnologija v prostoru ML. Obširno so jih uporabljali za izvajanje NLP nalog, kot so analiza čustev, povzemanje korpusov, ekstrahiranje ključnih besed, prevajanje govora in razvrščanje besedila.

Zaradi zaporedne narave besedila so bile ponavljajoče se nevronske mreže (RNN) najsodobnejše za modeliranje NLP. Natančneje, kodirnik-dekoder omrežna arhitektura je bila oblikovana, ker je ustvarila strukturo RNN, ki lahko sprejme vhod poljubne dolžine in ustvari izhod poljubne dolžine. To je bilo idealno za naloge NLP, kot je prevajanje, kjer je bilo mogoče izhodno frazo enega jezika predvideti iz vhodne fraze drugega jezika, običajno z različnim številom besed med vhodom in izhodom. Arhitektura Transformerja3 (Vaswani, 2017) je bila prelomna izboljšava kodirnika-dekoderja; uvedla je koncept samopazljivost, kar je modelu omogočilo, da se osredotoči na različne besede v vhodnih in izhodnih frazah. V tipičnem kodirniku-dekoderju model vsako besedo interpretira na enak način. Ker model zaporedno obdeluje vsako besedo v vhodni besedni zvezi, se lahko semantične informacije na začetku do konca fraze izgubijo. Mehanizem samopozornosti je to spremenil z dodajanjem sloja pozornosti tako kodirniku kot dekodirnemu bloku, tako da je lahko model pri ustvarjanju določene besede v izhodni frazi dal različne uteži določenim besedam iz vhodne fraze. Tako je nastala osnova modela transformatorja.

Arhitektura transformatorja je bila osnova za dva najbolj znana in priljubljena LLM-ja, ki sta danes v uporabi, Bidirectional Encoder Representations from Transformers (BERT)4 (Radford, 2018) in Generative Pretrained Transformer (GPT)5 (Devlin 2018). Kasnejši različici modela GPT, in sicer GPT3 in GPT4, sta motor, ki poganja aplikacijo ChatGPT. Zadnji del recepta, zaradi katerega so LLM-ji tako močni, je zmožnost destilacije informacij iz obsežnih besedilnih korpusov brez obsežnega označevanja ali predprocesiranja s postopkom, imenovanim ULMFiT. Ta metoda ima fazo pred usposabljanjem, kjer je mogoče zbrati splošno besedilo, model pa se uri za nalogo napovedovanja naslednje besede na podlagi prejšnjih besed; prednost tukaj je, da je vsako vhodno besedilo, ki se uporablja za usposabljanje, vnaprej označeno glede na vrstni red besedila. LLM-ji so se resnično sposobni učiti iz internetnih podatkov. Na primer, prvotni model BERT je bil predhodno usposobljen za BookCorpus in celotne angleške besedilne zbirke Wikipedije.

Ta nova paradigma modeliranja je povzročila dva nova koncepta: temeljne modele (FM) in Generative AI. V nasprotju z usposabljanjem modela iz nič s podatki, specifičnimi za nalogo, kar je običajen primer za klasično nadzorovano učenje, so LLM predhodno usposobljeni za pridobivanje splošnega znanja iz širokega nabora besedilnih podatkov, preden se prilagodijo specifičnim nalogam ali domenam z veliko manjšim nabor podatkov (običajno na stotine vzorcev). Novi potek dela ML se zdaj začne z vnaprej usposobljenim modelom, imenovanim temeljni model. Pomembno je graditi na pravih temeljih, možnosti, kot je nova, pa je vse več Amazon Titan FMs, ki ga bo izdal AWS kot del Amazon Bedrock. Ti novi modeli veljajo tudi za generativne, ker so njihovi izhodi človeško interpretirani in so v istem podatkovnem tipu kot vhodni podatki. Medtem ko so bili pretekli modeli ML deskriptivni, kot je razvrščanje slik mačk v primerjavi s psi, so LLM-ji generativni, ker je njihov rezultat naslednji niz besed, ki temelji na vhodnih besedah. To jim omogoča, da poganjajo interaktivne aplikacije, kot je ChatGPT, ki so lahko izrazite v vsebini, ki jo ustvarijo.

Hugging Face je sodeloval z AWS demokratizirati FM-je in narediti enostaven dostop do njih ter z njimi graditi. Hugging Face je ustvaril a Transformers API ki združuje več kot 50 različnih transformatorskih arhitektur na različnih ogrodjih ML, vključno z dostopom do vnaprej pripravljenih uteži modelov v njihovih Model Hub, ki je od pisanja te objave zrasla na več kot 200,000 modelov. V naslednjih razdelkih raziskujemo dokaz koncepta, rešitev in FM-je, ki so bili preizkušeni in izbrani kot podlaga za rešitev tega primera uporabe toksične klasifikacije govora za stranko.

AWS GAIIC dokaz koncepta

AWS GAIIC se je odločil za eksperimentiranje z osnovnimi modeli LLM z arhitekturo BERT za natančno nastavitev strupenega jezikovnega klasifikatorja. Preizkušeni so bili skupno trije modeli iz Hugging Face model huba:

Vse tri arhitekture modela temeljijo na BERTweet arhitektura. BERTweet je usposobljen na podlagi RoBERTa postopek pred usposabljanjem. Postopek predhodnega usposabljanja RoBERTa je rezultat replikacijske študije predhodnega usposabljanja BERT, ki je ocenila učinke nastavitve hiperparametrov in velikosti nabora usposabljanja za izboljšanje recepta za usposabljanje modelov BERT6 (Liu 2019). Poskus je poskušal najti metodo pred usposabljanjem, ki bi izboljšala rezultate delovanja BERT, ne da bi spremenila osnovno arhitekturo. Zaključek študije je pokazal, da so naslednje modifikacije pred treningom znatno izboljšale učinkovitost BERT:

  • Usposabljanje modela z večjimi serijami več podatkov
  • Odstranjevanje cilja predvidevanja naslednjega stavka
  • Usposabljanje na daljših sekvencah
  • Dinamično spreminjanje vzorca maskiranja, uporabljenega za podatke o usposabljanju

Model bertweet-base uporablja predhodni postopek predhodnega usposabljanja iz študije RoBERTa za predhodno usposabljanje izvirne arhitekture BERT z uporabo 850 milijonov angleških tvitov. Je prvi javni jezikovni model velikega obsega, ki je bil predhodno usposobljen za angleške tvite.

Predhodno usposobljeni FM-ji, ki uporabljajo tvite, naj bi ustrezali primeru uporabe iz dveh glavnih teoretičnih razlogov:

  • Dolžina tvita je zelo podobna dolžini neprimerne ali strupene fraze, ki jo najdemo v klepetih spletnih iger
  • Tweeti prihajajo iz populacije z veliko različnih uporabnikov, podobnih populaciji na igralnih platformah

AWS se je odločil, da najprej natančno prilagodi BERTweet z označenimi podatki stranke, da dobi izhodišče. Nato se je odločil za natančno nastavitev dveh drugih FM-jev v bertweet-base-offensive in bertweet-base-hate, ki sta bila dodatno vnaprej usposobljena posebej za ustreznejše strupene tvite, da bi dosegli potencialno večjo natančnost. Žaljivi model bertweet-base-offensive uporablja osnovni BertTweet FM in je dodatno usposobljen za 14,100 označenih tvitov, ki so bili ocenjeni kot žaljivi.7 (Zampieri 2019). Model bertweet-base-hate uporablja tudi osnovni BertTweet FM, vendar je dodatno predhodno usposobljen za 19,600 tvitov, ki so bili ocenjeni kot sovražni govor.8 (Basile 2019).

Za nadaljnje izboljšanje zmogljivosti modela PoC je AWS GAIIC sprejel dve oblikovalski odločitvi:

  • Ustvaril je dvostopenjski tok napovedovanja, kjer prvi model deluje kot binarni klasifikator, ki razvršča, ali je del besedila strupen ali nestrupen. Drugi model je natančen model, ki razvršča besedilo na podlagi strankinih opredeljenih strupenih tipov. Samo če prvi model predvideva, da je besedilo strupeno, se to prenese v drugi model.
  • Povečali podatke o usposabljanju in dodali podmnožico podatkovnega niza strupenih besedil tretjih oseb iz javnega tekmovanja Kaggle (Toksičnost sestavljanke) na prvotnih 100 vzorcev, prejetih od stranke. Oznake Jigsaw so preslikali na povezane oznake toksičnosti, ki jih je določil kupec, in opravili 80-odstotno razdelitev kot podatke o usposabljanju in 20-odstotno razdelitev kot testne podatke za potrditev modela.

AWS performs fine-tuning on a Large Language Model (LLM) to classify toxic speech for a large gaming company | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Uporabljen AWS GAIIC Amazon SageMaker prenosnike, da izvedejo svoje poskuse natančnega uravnavanja, in ugotovili, da je model bertweet-base-offensive dosegel najboljše rezultate v validacijskem nizu. Naslednja tabela povzema opazovane rezultate metrike.

Model Precision Recall F1 AUC
Binarni . 92 . 90 . 91 . 92
Drobnozrnat . 81 . 80 . 81 . 89

Od te točke je GAIIC predal PoC ekipi za dostavo AWS ProServe ML za izdelavo PoC.

Rešitev AWS ProServe ML Delivery Team

Za produkcijo arhitekture modela je stranka AWS ProServe ML Delivery Team (MLDT) prosila, naj ustvari rešitev, ki je razširljiva in enostavna za vzdrževanje. Pri pristopu dvostopenjskega modela je bilo nekaj vzdrževalnih izzivov:

  • Modeli bi zahtevali dvojno količino spremljanja modela, zaradi česar je čas prekvalifikacije nedosleden. Včasih bo treba en model prekvalificirati pogosteje kot drugega.
  • Povečani stroški uporabe dveh modelov namesto enega.
  • Hitrost sklepanja se upočasni, ker sklepanje poteka skozi dva modela.

Za reševanje teh izzivov je moral AWS ProServe MLDT ugotoviti, kako spremeniti arhitekturo dvostopenjskega modela v arhitekturo enega samega modela, hkrati pa ohraniti natančnost dvostopenjske arhitekture.

Rešitev je bila, da se od stranke najprej zahteva več podatkov o usposabljanju, nato pa se natančno prilagodi model bertweet-base-offensive na vseh etiketah, vključno z nestrupenimi vzorci, v en model. Zamisel je bila, da bi fina nastavitev enega modela z več podatki povzročila podobne rezultate kot fina nastavitev dvostopenjske arhitekture modela na manj podatkov. Za natančnejšo prilagoditev dvostopenjske arhitekture modela je AWS ProServe MLDT posodobil vnaprej usposobljeno klasifikacijsko glavo z več oznakami modela, da je vključil eno dodatno vozlišče, ki predstavlja netoksični razred.

Sledi vzorec kode, kako bi natančno prilagodili predhodno usposobljen model iz vozlišča modelov Hugging Face z uporabo njihove transformatorske platforme in spremenili klasifikacijsko glavo modela z več oznakami, da bi predvideli želeno število razredov. AWS ProServe MLDT je ​​uporabil ta načrt kot osnovo za natančno nastavitev. Predvideva se, da imate podatke o vlaku in validacijske podatke pripravljene in v pravilni obliki vnosa.

Najprej se uvozijo moduli Python in želeni vnaprej usposobljeni model iz središča modela 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)

Vnaprej usposobljeni model se nato naloži in pripravi za natančno nastavitev. To je korak, v katerem se določi število toksičnih kategorij in vsi parametri modela:

# 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], )

Natančna nastavitev modela se začne z vnosom poti do podatkovnih nizov za usposabljanje in validacijo:

# 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 je ​​prejel še približno 5,000 označenih vzorcev podatkov, od tega 3,000 nestrupenih in 2,000 strupenih, ter natančno prilagodil vse tri osnovne modele bertweet, tako da je vse oznake združil v en model. Te podatke so uporabili poleg 5,000 vzorcev iz PoC za natančno nastavitev novih enostopenjskih modelov z uporabo iste metode 80 % sklopov vlakov, 20 % testnih sklopov. Naslednja tabela kaže, da so bile ocene uspešnosti primerljive z rezultati dvostopenjskega modela.

Model Precision Recall F1 AUC
bertweet-base (1-Stage) . 76 . 72 . 74 . 83
bertweet-base-hate (1-Stage) . 85 . 82 . 84 . 87
bertweet-base-offensive (1-Stage) . 88 . 83 . 86 . 89
bertweet-base-offensive (2-Stage) . 91 . 90 . 90 . 92

Pristop enostopenjskega modela je prinesel izboljšave stroškov in vzdrževanja, medtem ko se je natančnost zmanjšala le za 3 %. Po tehtanju kompromisov se je stranka odločila za AWS ProServe MLDT za proizvodnjo enostopenjskega modela.

S fino nastavitvijo enega modela z več označenimi podatki je AWS ProServe MLDT lahko ponudil rešitev, ki je dosegla strankin prag za natančnost modela, ter izpolnila njihovo zahtevo po enostavnosti vzdrževanja, hkrati pa znižala stroške in povečala robustnost.

zaključek

Velika stranka iger je iskala način za odkrivanje strupenega jezika v svojih komunikacijskih kanalih, da bi spodbudila družbeno odgovorno igralniško okolje. AWS GAIIC je ustvaril PoC detektorja strupenega jezika s fino nastavitvijo LLM za zaznavanje strupenega jezika. AWS ProServe MLDT je ​​nato posodobil potek usposabljanja modela iz dvostopenjskega pristopa v enostopenjski pristop in izdelal LLM za stranko, ki se uporablja v velikem obsegu.

V tej objavi AWS prikazuje učinkovitost in praktičnost natančnega prilagajanja LLM za reševanje tega primera uporabe strank, deli kontekst o zgodovini temeljnih modelov in LLM ter uvaja potek dela med AWS Generative AI Innovation Center in AWS ProServe ML Ekipa za dostavo. V naslednji objavi v tej seriji se bomo poglobili v to, kako je AWS ProServe MLDT izdelal nastali enostopenjski model z uporabo SageMakerja.

Če vas zanima sodelovanje z AWS pri izdelavi rešitve Generative AI, se obrnite na GAIIC. Ocenili bodo vaš primer uporabe, zgradili dokaz koncepta, ki temelji na Generative-AI, in imeli možnosti za razširitev sodelovanja z AWS za implementacijo nastalega PoC v proizvodnjo.

Reference

  1. Demografija igralcev: dejstva in statistika o najbolj priljubljenem hobiju na svetu
  2. ChatGPT postavlja rekord za najhitreje rastočo bazo uporabnikov – opomba analitika
  3. Vaswani et al., "Pozornost je vse, kar potrebujete"
  4. Radford et al., "Izboljšanje razumevanja jezika z generativnim predhodnim usposabljanjem"
  5. Devlin et al., »BERT: Predhodno usposabljanje globokih dvosmernih transformatorjev za razumevanje jezika«
  6. Yinhan Liu et al., "RoBERTa: robustno optimiziran pristop pred usposabljanjem BERT"
  7. Marcos Zampieri et al., »SemEval-2019 Naloga 6: Identifikacija in kategorizacija žaljivega jezika v družbenih medijih (OffensEval)«
  8. Valerio Basile et al., »SemEval-2019 Naloga 5: Večjezično odkrivanje sovražnega govora proti priseljencem in ženskam na Twitterju«

O avtorjih

AWS performs fine-tuning on a Large Language Model (LLM) to classify toxic speech for a large gaming company | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.James Pokviz je podatkovni znanstvenik pri AWS Professional Services s sedežem v Orange Countyju v Kaliforniji. Diplomiral je iz računalništva na kalifornijski univerzi v Irvinu in ima več let izkušenj z delom na področju podatkov, pri čemer je imel veliko različnih vlog. Danes dela na implementaciji in uvajanju razširljivih rešitev ML za doseganje poslovnih rezultatov za stranke AWS.

AWS performs fine-tuning on a Large Language Model (LLM) to classify toxic speech for a large gaming company | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Han Man je višji vodja podatkovne znanosti in strojnega učenja pri AWS Professional Services s sedežem v San Diegu v Kaliforniji. Ima doktorat iz inženiringa na univerzi Northwestern in ima večletne izkušnje kot svetovalec za upravljanje pri svetovanju strankam v proizvodnji, finančnih storitvah in energetiki. Danes strastno sodeluje s ključnimi strankami iz različnih industrijskih vertikal pri razvoju in implementaciji rešitev ML in GenAI na AWS.

AWS performs fine-tuning on a Large Language Model (LLM) to classify toxic speech for a large gaming company | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Safa Tinaztepe je podatkovni znanstvenik z AWS Professional Services. Diplomiral je iz računalništva na Univerzi Emory in ga zanimajo MLOps, porazdeljeni sistemi in web3.

Časovni žig:

Več od Strojno učenje AWS