Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMakerissa

Nykyään käytössä on noin 7,000 19 kieltä. Huolimatta XNUMX-luvun lopun yrityksistä keksiä konstruoituja kieliä, kuten volapük tai esperanto, yhdistymisestä ei ole merkkejä. Ihmiset päättävät silti luoda uusia kieliä (mieti suosikkielokuvasi hahmoasi, joka puhuu klingonia, dothrakia tai haltiaa).

Nykyään luonnollisen kielen käsittelyn (NLP) esimerkkejä hallitsee englanti, joka on äidinkieli vain 5 %:lle ihmisväestöstä ja jota puhuu vain 17 %.

- digitaalinen kuilu määritellään kuiluksi niiden välillä, jotka voivat käyttää digitaalitekniikkaa, ja niiden välillä, jotka eivät voi käyttää sitä. Kielellisistä esteistä johtuva tiedon tai koulutuksen puute lisää myös digitaalista kuilua ei vain ihmisten välillä, jotka eivät puhu englantia, vaan myös englanninkielisten ihmisten välillä, joilla ei ole pääsyä muuhun kuin englanninkieliseen sisältöön. vähentää ajattelun ja tiedon monimuotoisuutta. On niin paljon opittavaa vastavuoroisesti.

Tässä viestissä teemme yhteenvedon vähän resursseja vaativien kielten haasteista ja kokeilemme erilaisia ​​ratkaisulähestymistapoja yli 100 kielellä käyttämällä Hugging Face -muuntajia Amazon SageMakerissa.

Hienosäädämme erilaisia ​​esikoulutettuja muuntajapohjaisia ​​kielimalleja kysymys- ja vastaustehtävää varten. Käytämme esimerkissämme turkkia, mutta voit soveltaa tätä lähestymistapaa muihin tuettuihin kieliin. Keskitymme BERT-muunnelmiin [1], koska BERT:n hieno ominaisuus on sen yhtenäinen arkkitehtuuri eri tehtävien kesken.

Esittelemme useita etuja Hugging Face -muuntajien käytöstä Amazon Sage Maker, kuten koulutus ja kokeilu laajassa mittakaavassa, sekä tuottavuuden ja kustannustehokkuuden lisääminen.

Yleiskatsaus NLP:stä

NLP:ssä on tapahtunut useita merkittäviä kehityskulkuja vuoden 2017 jälkeen. Syväoppimisarkkitehtuurien, kuten muuntajien [2] ilmaantuminen, valvomattomat oppimistekniikat tällaisten mallien opettamiseksi erittäin suurille tietojoukoille ja siirtooppiminen ovat parantaneet merkittävästi taidetta luonnollisen kielen ymmärtämisessä. Valmiiksi koulutettujen mallikeskittymien saapuminen on entisestään demokratisoinut pääsyä NLP-yhteisön kollektiiviseen tietoon ja poistanut tarpeen aloittaa tyhjästä.

Kielimalli on NLP-malli, joka oppii ennustamaan seuraavan sanan (tai minkä tahansa peitetyn sanan) sarjassa. Kielimallien aito kauneus lähtökohtana on kolmiosainen: Ensinnäkin tutkimus on osoittanut, että suurelle tekstikorpusdatalle koulutetut kielimallit oppivat monimutkaisempia sanojen merkityksiä kuin aikaisemmat menetelmät. Esimerkiksi voidakseen ennustaa lauseen seuraavan sanan, kielimallin on ymmärrettävä hyvin konteksti, semantiikka ja myös kielioppi. Toiseksi kielimallin kouluttamiseen ei vaadita esikoulutuksen aikana merkittyä dataa, joka on niukkaa ja kallista. Tämä on tärkeää, koska valtava määrä nimeämätöntä tekstidataa on julkisesti saatavilla verkossa monilla kielillä. Kolmanneksi on osoitettu, että kun kielimalli on tarpeeksi älykäs ennustamaan minkä tahansa lauseen seuraavan sanan, on suhteellisen helppoa suorittaa muita NLP-tehtäviä, kuten tunteiden analysointia tai kysymyksiin vastaamista hyvin vähän merkittyjä tietoja käyttäen, koska hienosäätö käyttää uudelleen esityksiä esiopetetusta kielimallista [3].

Täysin hallitut NLP-palvelut ovat myös nopeuttaneet NLP:n käyttöönottoa. Amazonin käsitys on täysin hallittu palvelu, jonka avulla tekstianalytiikka voi poimia näkemyksiä asiakirjojen sisällöstä, ja se tukee useita kieliä. Amazon Comprehend tukee mukautettua luokittelua ja mukautetun entiteetin tunnistusta, ja sen avulla voit rakentaa mukautettuja NLP-malleja, jotka vastaavat tarpeitasi ilman ML-asiantuntemusta.

Haasteita ja ratkaisuja vähän resursseja vaativille kielille

Suurin haaste useille kielille on se, että niillä on suhteellisen vähemmän tietoa käytettävissä koulutukseen. Näitä kutsutaan vähän resursseja käyttävät kielet. M-BERT-paperit [4] ja XLM-R-paperit [7] viittaavat urduun ja swahiliin vähäresursseina kielinä.

Seuraavassa kuvassa on määritelty yli 80 kielen ISO-koodit ja kokoerot (logimittakaavassa) kahden suuren esikoulutuksen välillä [7]. Wikipediassa (oranssi) on vain 18 kieltä, joissa on yli miljoona artikkelia ja 1 kieltä, joissa on yli 52 1,000 artikkelia, mutta 164 kieltä, joissa on vain 1–10,000 9 artikkelia [XNUMX]. CommonCrawl-korpus (sininen) lisää vähän resursseja vaativien kielten tiedon määrää kahdella suuruusluokalla. Siitä huolimatta ne ovat edelleen suhteellisen pieniä verrattuna paljon resursseja vaativiin kieliin, kuten englanti, venäjä tai saksa.

Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Wikipedian artikkelinumeroilla mitattuna turkki on toinen kieli samassa yli 100,000 28 artikkelin ryhmässä (54.) yhdessä urdun (XNUMX.) kanssa. Verrattuna urduun turkkia pidettäisiin resurssien keskimääräisenä kielenä. Turkin kielellä on mielenkiintoisia piirteitä, jotka voivat tehdä kielimalleista tehokkaampia luomalla tiettyjä haasteita kielitieteen ja tokenisoinnin alalla. Se on agglutinoiva kieli. Sillä on erittäin vapaa sanajärjestys, monimutkainen morfologia tai aikamuodot ilman englanninkielisiä vastineita. Useista sanoista muodostetut lauseet kielissä, kuten englannissa, voidaan ilmaista yhdellä sanamuodolla, kuten seuraavassa esimerkissä näkyy.

turkki Englanti
kissa Kissa
kissalukea Kissas
kissagillukea Perhe kissat
kissaeläintenpäivä Kuuluu kissojen perhe
kissaleştirebileceklerimizdenmişçesineyken Kun näyttää siltä, ​​että se on yksi niistä, joita voimme tehdä miten

Kaksi pääasiallista ratkaisumallia ovat kielikohtaiset mallit tai monikieliset mallit (kieltenvälisen valvonnan kanssa tai ilman):

  • Yksikieliset kielimallit – Ensimmäinen tapa on soveltaa BERT-varianttia tiettyyn kohdekieleen. Mitä enemmän harjoitusdataa, sitä parempi mallin suorituskyky.
  • Monikieliset maskikielimallit – Toinen tapa on esiopettaa suuria muuntajamalleja useilla kielillä. Monikielinen kielimallinnus pyrkii ratkaisemaan vähän resursseja vaativien kielten tiedonpuutehaastetta harjoittelemalla esikoulutusta suurelle määrälle kieliä, jotta yhdestä kielestä opitut NLP-tehtävät voidaan siirtää muille kielille. Monikieliset peitetyt kielimallit (MLM) ovat työstäneet uusinta tekniikkaa monikielisten ymmärtämistehtävien alalla. Kaksi esimerkkiä ovat:
    • Monikielinen BERT – Monikielinen BERT-malli koulutettiin 104 eri kielellä Wikipedia-korpuksen avulla. On kuitenkin osoitettu, että se yleistyy hyvin vain samankaltaisille kielellisille rakenteille ja typologisille piirteille (esimerkiksi kielille, joilla on samanlainen sanajärjestys). Sen monikielisyys on heikentynyt erityisesti kielillä, joilla on eri sanajärjestys (esim. subjekti/objekti/verbi) [4].
    • XLM-R – Monikieliset kielimallit (XLM:t) opetetaan monikielisellä tavoitteella käyttämällä rinnakkaisia ​​tietojoukkoja (sama teksti kahdella eri kielellä) tai ilman monikielistä tavoitetta käyttämällä yksikielisiä tietojoukkoja [6]. Tutkimukset osoittavat, että vähän resursseja käyttävät kielet hyötyvät skaalaamisesta useammille kielille. XLM-RoBERTa on muuntajapohjainen malli, joka on saanut inspiraationsa RoBERTasta [5], ja sen lähtökohtana on väite, että monikieliset BERT ja XLM ovat aliviritetty. Se on koulutettu 100 kielellä käyttäen sekä Wikipediaa että CommonCrawl-korpusta, joten vähän resursseja vaativien kielten koulutusdatan määrä on noin kaksi suuruusluokkaa suurempi kuin m-BERT [7].

Toinen vähän resursseja vaativien kielten monikielisten kielimallien haaste on sanaston koko ja tokenointi. Koska kaikki kielet käyttävät samaa jaettua sanastoa monikielisissä kielimalleissa, on olemassa kompromissi sanaston koon lisäämisen (joka lisää laskentavaatimuksia) ja sen pienentämisen välillä (sanastosta puuttuvat sanat merkitään tuntemattomiksi tai merkkien käyttö). sanojen sijaan merkit jättäisivät huomioimatta kaiken rakenteen). Sanakappaleen tokenointialgoritmi yhdistää molempien lähestymistapojen edut. Se esimerkiksi käsittelee tehokkaasti sanaston ulkopuolisia sanoja jakamalla sanan osasanoihin, kunnes se on läsnä sanastossa tai kunnes yksilöllinen merkki saavutetaan. Merkkipohjainen tokenointi ei ole kovin hyödyllinen paitsi tietyillä kielillä, kuten kiinalla. On olemassa tekniikoita, joilla voidaan käsitellä vähän resursseja vaativien kielten haasteita, kuten näytteenotto tietyillä jakeluilla [6].

Seuraava taulukko kuvaa, kuinka kolme erilaista tokenisaattoria käyttäytyvät sanalle "kedileri" (tarkoittaa "sen kissat"). Tietyillä kielillä ja NLP-tehtävillä tällä olisi merkitystä. Esimerkiksi kysymysvastaustehtävää varten malli palauttaa aloitustunnusindeksin ja lopetusmerkkiindeksin jänteen; "kediler" ("kissat") tai "kedileri" ("sen kissat") palauttaminen menettäisi osan kontekstista ja johtaisi erilaisiin arviointituloksiin tietyillä mittareilla.

Valmiiksi koulutettu malli Sanaston koko Tokenointi "Kedileri"*
dbmdz/bert-base-turkish-uncased 32,000 tokens [CLS] kissat ##i [SYYSKUU]
Syötä tunnukset 2 23714 1023 3
bert-base-multilingual-uncased 105,879 tokens [CLS] lukituksesta ##iler ##i [SYYSKUU]
Syötä tunnukset 101 30210 33719 10116 102
deepset/xlm-roberta-base-squad2 250,002 tokens Ke di s
Syötä tunnukset 0 1345 428 1341 .
*Englanniksi: (sen) kissat

Tästä syystä, vaikka vähän resursseja käyttävät kielet hyötyvätkin monikielisistä kielimalleista, tokenoinnin suorittaminen jaetun sanaston yli saattaa jättää huomiotta joitakin kielellisiä ominaisuuksia tiettyjen kielten osalta.

Seuraavassa osiossa vertaamme kolmea lähestymistapaa hienosäätämällä niitä kysymysvastaustehtävää varten käyttämällä turkin kielen QA-aineistoa: BERTurk [8], monikielinen BERT [4] ja XLM-R [7].

Ratkaisun yleiskatsaus

Työnkulkumme on seuraava:

  1. Valmistele tietojoukko an Amazon SageMaker Studio muistikirjaympäristö ja lataa se Amazonin yksinkertainen tallennuspalvelu (Amazon S3).
  2. Käynnistä rinnakkaiset koulutustyöt SageMaker-koulutussäilöissä tarjoamalla hienosäätöskriptin.
  3. Kerää metatiedot jokaisesta kokeilusta.
  4. Vertaile tuloksia ja valitse sopivin malli.

Seuraava kaavio kuvaa ratkaisuarkkitehtuuria.

Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Lisätietoja Studio-muistikirjoista on kohdassa Sukella syvälle Amazon SageMaker Studio Notebooks -arkkitehtuuriin. Lisätietoja Hugging Facen integroinnista SageMakeriin on kohdassa AWS ja Hugging Face yksinkertaistavat ja nopeuttavat luonnollisen kielen käsittelymallien käyttöönottoa.

Valmistele tietojoukko

Hugging Face Datasets -kirjasto tarjoaa tehokkaita tiedonkäsittelymenetelmiä, joiden avulla tietojoukko saadaan nopeasti valmiiksi syvän oppimismallin harjoittelua varten. Seuraava koodi lataa turkkilaisen laadunvarmistustietojoukon ja tutkii, mitä sen sisällä on:

data_files = {}
data_files["train"] = 'data/train.json'
data_files["validation"] = 'data/val.json' ds = load_dataset("json", data_files=data_files) print("Number of features in dataset: n Train = {}, n Validation = {}".format(len(ds['train']), len(ds['validation'])))

Näytteitä on noin 9,000 XNUMX.

Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Syötetietojoukko muunnetaan hieman esikoulutettujen mallien odottamaan muotoon ja sisältää seuraavat sarakkeet:

df = pd.DataFrame(ds['train'])
df.sample(1)

Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.
Tuotoksen englanninkielinen käännös on seuraava:

  • tausta – Resit Emre Kongar (s. 13. lokakuuta 1941, Istanbul), turkkilainen sosiologi, professori.
  • kysymys – Mikä on Emre Kongarin akateeminen arvonimi?
  • vastaus – Professori

Käsikirjoituksen hienosäätö

Hugging Face Transformers -kirjasto tarjoaa esimerkkikoodin mallin hienosäätämiseksi kysymykseen vastaustehtävää varten, ns. run_qa.py. Seuraava koodi alustaa kouluttajan:

 # Initialize our Trainer trainer = QuestionAnsweringTrainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, eval_examples=eval_examples, tokenizer=tokenizer, data_collator=data_collator, post_process_function=post_processing_function, compute_metrics=compute_metrics, )

Tarkastellaanpa rakennuspalikoita korkealla tasolla.

Tokenizer

Skripti lataa tokenisaattorin käyttämällä AutoTokenizer luokassa. AutoTokenizer luokka huolehtii oikean mallia vastaavan tokenisaattorin palauttamisesta:

tokenizer = AutoTokenizer.from_pretrained( model_args.model_name_or_path, cache_dir=model_args.cache_dir, use_fast=True, revision=model_args.model_revision, use_auth_token=None, )

Seuraavassa on esimerkki tokenisaattorin toiminnasta:

from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("deepset/xlm-roberta-base-squad2") input_ids = tokenizer.encode('İstanbulun en popüler hayvanı hangisidir? Kedileri', return_tensors="pt")
tokens = tokenizer('İstanbulun en popüler hayvanı hangisidir? Kedileri').tokens()

Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Malli

Skripti lataa mallin. AutoModel luokat (esim. AutoModelForQuestionAnswering) luo suoraan luokan, jossa on painot, konfiguraatiot ja asianmukaisen arkkitehtuurin sanasto, jolle annetaan esikoulutetun mallin nimi ja polku. Hugging Facen abstraktion ansiosta voit helposti vaihtaa toiseen malliin käyttämällä samaa koodia antamalla mallin nimen. Katso seuraava esimerkkikoodi:

 model = AutoModelForQuestionAnswering.from_pretrained( model_args.model_name_or_path, config=config, cache_dir=model_args.cache_dir, revision=model_args.model_revision, )

Esikäsittely ja koulutus

- prepare_train_features() ja prepare_validation_features() menetelmät esikäsittelevät koulutustietojoukon ja validointitietojoukot, vastaavasti. Koodi toistuu syötetietojoukon yli ja muodostaa sekvenssin kontekstista ja nykyisestä kysymyksestä oikeilla mallikohtaisilla merkkityyppien tunnuksilla (tunnisteiden numeerisilla esityksillä) ja huomiomaskeilla. Jakso kulkee sitten mallin läpi. Tämä tulostaa pistemäärän sekä aloitus- että loppupisteille seuraavan taulukon mukaisesti.

Syötä tietojoukon kentät Esikäsitellyt koulutustietojoukon kentät QuestionAnsweringTrainerille
id input_ids
otsikko huomion_naamio
tausta aloituspaikat
kysymys end_positions
Vastaukset { vastaus_aloitus, vastaus_teksti } .

Arviointi

- compute_metrics() menetelmä huolehtii mittareiden laskemisesta. Käytämme seuraavia suosittuja mittareita kysymyksiin vastaamiseen:

  • Tarkka ottelu – Mittaa niiden ennusteiden prosenttiosuuden, jotka vastaavat mitä tahansa perustotuusvastausta tarkasti.
  • F1 pisteet – Mittaa ennusteen ja perustotuusvastauksen keskimääräistä päällekkäisyyttä. F1-pisteet on tarkkuuden ja muistamisen harmoninen keskiarvo:
    • Tarkkuus – Jaettujen sanojen määrän suhde ennusteen sanojen kokonaismäärään.
    • Palauttaa mieleen – Jaettujen sanojen määrän suhde pohjatotuuden sanojen kokonaismäärään.

Ohjattu koulutus SageMakerilla

Mukautettujen koneoppimisympäristöjen (ML) määrittäminen ja hallinta voi olla aikaa vievää ja vaivalloista. Kanssa AWS Deep Learning Container (DLC) Hugging Face Transformers -kirjastoille, meillä on pääsy valmiiksi pakattuihin ja optimoituihin syväoppimiskehikkoihin, mikä tekee skriptimme suorittamisesta helppoa useissa harjoitustöissä minimaalisella lisäkoodilla.

Meidän on vain käytettävä Halaavien kasvojen arviointityökalu saatavilla SageMaker Python SDK:ssa seuraavilla tuloilla:

# Trial configuration
config['model'] = 'deepset/xlm-roberta-base-squad2'
config['instance_type'] = 'ml.p3.16xlarge'
config['instance_count'] = 2 # Define the distribution parameters in the HuggingFace Estimator config['distribution'] = {'smdistributed':{'dataparallel':{ 'enabled': True }}}
trial_configs.append(config) # We can specify a training script that is stored in a GitHub repository as the entry point for our Estimator, # so we don’t have to download the scripts locally.
git_config = {'repo': 'https://github.com/huggingface/transformers.git'} hyperparameters_qa={ 'model_name_or_path': config['model'], 'train_file': '/opt/ml/input/data/train/train.json', 'validation_file': '/opt/ml/input/data/val/val.json', 'do_train': True, 'do_eval': True, 'fp16': True, 'per_device_train_batch_size': 16, 'per_device_eval_batch_size': 16, 'num_train_epochs': 2, 'max_seq_length': 384, 'pad_to_max_length': True, 'doc_stride': 128, 'output_dir': '/opt/ml/model' } huggingface_estimator = HuggingFace(entry_point='run_qa.py', source_dir='./examples/pytorch/question-answering', git_config=git_config, instance_type=config['instance_type'], instance_count=config['instance_count'], role=role, transformers_version='4.12.3', pytorch_version='1.9.1', py_version='py38', distribution=config['distribution'], hyperparameters=hyperparameters_qa, metric_definitions=metric_definitions, enable_sagemaker_metrics=True,) nlp_training_job_name = f"NLPjob-{model}-{instance}-{int(time.time())}" training_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' test_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' huggingface_estimator.fit( inputs={'train': training_input_path, 'val': test_input_path}, job_name=nlp_training_job_name, experiment_config={ "ExperimentName": nlp_experiment.experiment_name, "TrialName": nlp_trial.trial_name, "TrialComponentDisplayName": nlp_trial.trial_name,}, wait=False, )

Arvioi tulokset

Kun turkkilaisen kysymyksen vastaustehtävän hienosäätötyöt ovat valmiit, vertaamme kolmen lähestymistavan mallin suorituskykyä:

  • Yksikielinen kielimalli – Esikoulutettu malli, joka on hienosäädetty turkkilaiseen kysymykseen vastaustekstiin, on ns bert-base-turkish-uncased [8]. Se saavuttaa F1-pistemäärän 75.63 ja tarkan ottelun pistemäärän 56.17 vain kahdella aikakaudella ja 9,000 XNUMX merkittyä tuotetta. Tämä lähestymistapa ei kuitenkaan sovellu vähän resursseja vaativalle kielelle, kun valmiiksi koulutettua kielimallia ei ole olemassa tai koulutukseen on saatavilla vain vähän tietoa tyhjästä.
  • Monikielinen kielimalli monikielisellä BERT:llä – Esikoulutettu malli on ns bert-base-multilingual-uncased. Monikielinen BERT-paperi [4] on osoittanut, että se yleistyy hyvin eri kielille. Yksikieliseen malliin verrattuna se toimii huonommin (F1-pisteet 71.73, tarkka vastaavuus 50:45), mutta huomaa, että tämä malli käsittelee yli 100 muuta kieltä, mikä jättää vähemmän tilaa turkin kielen edustamiselle.
  • Monikielinen kielimalli XLM-R:llä – Esikoulutettu malli on ns xlm-roberta-base-squad2. XLM-R-paperi osoittaa, että on mahdollista saada yksi suuri malli yli 100 kielelle tinkimättä kielikohtaisesta suorituskyvystä [7]. Turkin kysymyksen vastaustehtävässä se ylittää monikielisen BERT:n ja yksikielisen BERT:n F1-pisteet 5 %:lla ja yksikielisen BERT:n F2-pisteet 1 % (F77.14-pistemäärä 56.39, tarkka vastaavuus XNUMX).

Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Vertailussamme ei oteta huomioon muita mallien välisiä eroja, kuten mallin kapasiteettia, käytettyjä opetusaineistoja, valmiiksi koulutettuja NLP-tehtäviä, sanaston kokoa tai tokenointia.

Lisäkokeet

Mukana toimitettu muistikirja sisältää lisää kokeiluesimerkkejä.

SageMaker tarjoaa laajan valikoiman koulutusinstanssityyppejä. Hienosäädimme XLM-R-mallia p3.2xlargessa (GPU: Nvidia V100 GPU, GPU-arkkitehtuuri: Volta (2017)), p3.16xlargessa (GPU: 8 Nvidia V100 GPU:ta) ja g4dn.xlargessa (GPU: Nvidia T4 GPU, GPU-arkkitehtuuri: Turing (2018)) ja huomioi seuraavat asiat:

  • Harjoituksen kesto – Kokeemme mukaan XLM-R-mallin harjoittelu kesti noin 24 minuuttia p3.2xlargella ja 30 minuuttia g4dn.xlargella (noin 23 % pidempi). Teimme myös hajautetun hienosäädön kahdelle p3.16xlarge-instanssille ja harjoitusaika lyheni 10 minuuttiin. Lisätietoja muuntajapohjaisen mallin hajautetusta koulutuksesta SageMakerissa on kohdassa BERT Large -mallin hajautettu hienosäätö kysymys-vastaustehtävää varten käyttämällä Hugging Face Transformers -sovellusta Amazon SageMakerissa.
  • Koulutuskustannukset – Käytimme AWS Pricing API:tä hakeaksemme SageMakerin on-demand-hinnat laskeaksemme ne lennossa. Kokeilumme mukaan koulutus maksoi noin 1.58 dollaria p3.2xlargella ja noin neljä kertaa vähemmän g4dn.xlargella (0.37 dollaria). Hajautettu koulutus kahdessa p3.16xlarge-kopiossa 16 GPU:lla maksoi 9.68 dollaria.

Yhteenvetona voidaan todeta, että vaikka g4dn.xlarge oli halvin kone, sen harjoittaminen kesti myös noin kolme kertaa kauemmin kuin tehokkain kokeilutyyppi (kaksi p3.16xlargea). Projektisi prioriteeteista riippuen voit valita useista SageMaker-koulutusinstanssityypeistä.

Yhteenveto

Tässä viestissä tutkimme esikoulutettujen muuntajapohjaisten kielimallien hienosäätöä kysymykseen vastaustehtävää varten keskiresurssikielen (tässä tapauksessa turkin) kielelle. Voit soveltaa tätä lähestymistapaa yli 100 muuhun kieleen käyttämällä yhtä mallia. Tätä kirjoittaessa mallin laajentaminen kattamaan kaikki maailman 7,000 XNUMX kieltä on edelleen kohtuutonta, mutta NLP-ala tarjoaa mahdollisuuden laajentaa näköalojamme.

Kieli on ihmisten pääasiallinen kommunikaatiotapa, ja se on keino viestiä arvoista ja jakaa kulttuuriperinnön kauneutta. Kielellinen monimuotoisuus vahvistaa kulttuurienvälistä vuoropuhelua ja rakentaa osallistavia yhteiskuntia.

ML on erittäin iteratiivinen prosessi; Yhden projektin aikana datatieteilijät kouluttavat satoja erilaisia ​​malleja, tietojoukkoja ja parametreja parhaan tarkkuuden saavuttamiseksi. SageMaker tarjoaa täydellisimmän työkalusarjan ML:n ja syvän oppimisen tehon hyödyntämiseen. Sen avulla voit järjestää, seurata, vertailla ja arvioida ML-kokeita mittakaavassa.

Hugging Face on integroitu SageMakeriin, jotta datatieteilijät voivat kehittää, kouluttaa ja virittää huippuluokan NLP-malleja nopeammin ja helpommin. Osoitimme useita etuja Hugging Face -muuntajien käytöstä Amazon SageMakerissa, kuten koulutusta ja mittakaavaa kokeilua sekä tuottavuuden ja kustannustehokkuuden lisääntymistä.

Voit kokeilla NLP-tehtäviä haluamallasi kielellä SageMakerissa kaikilla AWS-alueilla, joissa SageMaker on saatavilla. Esimerkki muistikirjan koodista on saatavilla GitHub.

Katso kuinka Amazon SageMaker Training Compiler voi nopeuttaa syväoppimismallien koulutusta jopa 50 %:lla Uutta – Esittelyssä SageMaker Training Compiler.

Kirjoittajat haluavat ilmaista syvimmän kiitoksensa Mariano Kampille ja Emily Webberille luonnosten tarkistamisesta ja neuvojen antamisesta.

Viitteet

  1. J. Devlin et al., "BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding", (2018).
  2. A. Vaswani et ai., "Attention Is All You Need", (2017).
  3. J. Howard ja S. Ruder, "Universal Language Model Fine-Tuning for Text Classification", (2018).
  4. T. Pires et al., "Kuinka monikielinen on monikielinen BERT?", (2019).
  5. Y. Liu et al., "RoBERTa: A Robustly Optimized BERT Pretraining Approach", (2019).
  6. G. Lample ja A. Conneau, "Cross-lingual Language Model Pretraining", (2019).
  7. A. Conneau et al., "Supervised Cross-Lingual Representation Learning at Scale", (2019).
  8. Stefan Schweter. BERTurk – BERT-mallit turkkilaisille (2020).
  9. Monikieliset Wikitilastot https://en.wikipedia.org/wiki/Wikipedia:Multilingual_statistics

Tietoja Tekijät

Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Arnav Khare on AWS:n globaalien rahoituspalvelujen pääratkaisuarkkitehti. Hänen pääpainonsa on auttaa rahoituspalvelulaitoksia rakentamaan ja suunnittelemaan Analytics- ja koneoppimissovelluksia pilvessä. Arnavilla on tekoälyn diplomi-insinööri Edinburghin yliopistosta, ja hänellä on 18 vuoden kokemus alalta perustamista pienistä startupeista suuriin yrityksiin, kuten Nokia ja Bank of America. Työn ulkopuolella Arnav rakastaa viettää aikaa kahden tyttärensä kanssa, löytää uusia itsenäisiä kahviloita, lukea ja matkustaa. Löydät minut osoitteesta LinkedIn ja Surreyssa, Isossa-Britanniassa tosielämässä.

Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Hasan-Basri AKIRMAK (BSc ja MSc tietokonetekniikassa ja Executive MBA Graduate School of Businessissa) on vanhempi ratkaisuarkkitehti Amazon Web Servicesissä. Hän on yritysteknologi, joka neuvoo yrityssegmentin asiakkaita. Hänen erikoisalaansa on arkkitehtuurien ja liiketoimintamallien suunnittelu suurille tietojenkäsittelyjärjestelmille ja koneoppimisratkaisuille. Hasan on toimittanut liiketoiminnan kehitystä, järjestelmäintegraatiota ja ohjelmahallintaa asiakkaille Euroopassa, Lähi-idässä ja Afrikassa. Vuodesta 2016 lähtien hän mentoroi satoja yrittäjiä startup-hautomo-ohjelmissa pro-bono.

Hienosäädä muuntajakielimalleja kielelliseen monimuotoisuuteen Hugging Facen avulla Amazon SageMaker PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Heiko Hotz on tekoälyn ja koneoppimisen vanhempi ratkaisuarkkitehti ja johtaa Natural Language Processing (NLP) -yhteisöä AWS:ssä. Ennen tätä tehtävää hän toimi Amazonin EU-asiakaspalvelun datatieteen johtajana. Heiko auttaa asiakkaitamme menestymään AI/ML-matkallaan AWS:ssä ja on työskennellyt organisaatioiden kanssa monilla toimialoilla, mukaan lukien vakuutus-, rahoitus-, media- ja viihde-, terveydenhuolto-, yleishyödylliset ja tuotantolaitokset. Vapaa-ajallaan Heiko matkustaa niin paljon kuin mahdollista.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen