Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében az Amazon SageMaker PlatoBlockchain Data Intelligence Hugging Face segítségével. Függőleges keresés. Ai.

Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében Hugging Face segítségével az Amazon SageMakeren

Ma körülbelül 7,000 nyelvet használnak. Annak ellenére, hogy a 19. század végén olyan konstruált nyelveket próbáltak feltalálni, mint a volapük vagy az eszperantó, nincs jele az egyesülésnek. Az emberek továbbra is úgy döntenek, hogy új nyelveket hoznak létre (gondoljon a kedvenc filmfigurájára, aki klingonul, dothrakit vagy tünde nyelven beszél).

Napjainkban a természetes nyelvi feldolgozás (NLP) példáit az angol nyelv uralja, amely az emberi populáció mindössze 5%-ának anyanyelve, és csak 17%-a beszéli.

A digitális megosztottság Úgy definiálják, mint a szakadékot azok között, akik hozzáférhetnek a digitális technológiákhoz, és azok között, akik nem. A nyelvi akadályok miatti tudáshoz vagy oktatáshoz való hozzáférés hiánya szintén hozzájárul a digitális megosztottsághoz, nemcsak az angolul nem beszélők között, hanem az angolul beszélők között is, akik nem férnek hozzá a nem angol nyelvű tartalomhoz. csökkenti a gondolatok és ismeretek sokszínűségét. Annyi mindent lehet kölcsönösen tanulni.

Ebben a bejegyzésben összefoglaljuk az alacsony erőforrás-igényű nyelvek kihívásait, és több mint 100 nyelvet lefedő különböző megoldási megközelítésekkel kísérletezünk az Amazon SageMaker Hugging Face transzformátorai segítségével.

Különféle előre betanított transzformátor alapú nyelvi modelleket finomhangolunk egy kérdés-válasz feladathoz. Példánkban a törököt használjuk, de ezt a megközelítést más támogatott nyelvekre is alkalmazhatja. A fókuszunk a BERT [1] változataira irányul, mert a BERT nagyszerű tulajdonsága a különböző feladatokon keresztüli egységes architektúrája.

Bemutatjuk a Hugging Face transzformátorok használatának számos előnyét Amazon SageMaker, mint például a képzés és a nagyszabású kísérletezés, valamint a termelékenység és a költséghatékonyság növelése.

Az NLP áttekintése

2017 óta számos jelentős fejlesztés történt az NLP-ben. A mély tanulási architektúrák, például a transzformátorok [2] megjelenése, az ilyen modellek rendkívül nagy adathalmazokon történő betanítására szolgáló felügyelet nélküli tanulási technikák és a transzfertanulás jelentősen javította a művészet a természetes nyelv megértésében. Az előre kiképzett modellközpontok megjelenése tovább demokratizálta az NLP közösség kollektív tudásához való hozzáférést, és nem szükséges a nulláról kezdeni.

A nyelvi modell egy NLP-modell, amely megtanulja megjósolni a következő szót (vagy bármely maszkolt szót) egy sorozatban. A nyelvi modellek valódi szépsége kiindulópontként háromszoros: Először is, a kutatások kimutatták, hogy a nagy szövegkorpusz adatokon kiképzett nyelvi modellek bonyolultabb szavak jelentését tanulják meg, mint a korábbi módszerek. Például ahhoz, hogy meg tudja jósolni a következő szót egy mondatban, a nyelvi modellnek jól kell megértenie a szövegkörnyezetet, a szemantikát és a nyelvtant is. Másodszor, egy nyelvi modell betanításához nincs szükség címkézett adatokra – ami ritka és drága – az előképzés során. Ez azért fontos, mert hatalmas mennyiségű címkézetlen szöveges adat érhető el nyilvánosan az interneten számos nyelven. Harmadszor, bebizonyosodott, hogy amint a nyelvi modell elég okos ahhoz, hogy megjósolja a következő szót egy adott mondathoz, viszonylag könnyen elvégezhető más NLP-feladatok, mint például a hangulatelemzés vagy a kérdések megválaszolása nagyon kevés címkézett adattal, mivel a finomhangolás újrafelhasznál. reprezentációk egy előre betanított nyelvi modellből [3].

A teljesen menedzselt NLP-szolgáltatások szintén felgyorsították az NLP elfogadását. Amazon Comprehend egy teljesen felügyelt szolgáltatás, amely lehetővé teszi a szövegelemzés számára, hogy betekintést nyerjen a dokumentumok tartalmából, és számos nyelvet támogat. Az Amazon Comprehend támogatja az egyéni besorolást és az egyéni entitásfelismerést, és lehetővé teszi egyedi NLP-modellek létrehozását, amelyek kifejezetten az Ön igényeihez igazodnak, anélkül, hogy bármilyen ML-szakértelemre lenne szükség.

Kihívások és megoldások az alacsony erőforrás-igényű nyelvekhez

A fő kihívás sok nyelv számára az, hogy viszonylag kevesebb adat áll rendelkezésre a képzéshez. Ezeket hívják alacsony erőforrás-igényű nyelvek. Az m-BERT [4] és az XLM-R tanulmány [7] az urdu és a szuahéli nyelvet alacsony forrásigényű nyelvként említi.

A következő ábra több mint 80 nyelv ISO-kódjait, valamint a két fő előképzés közötti méretkülönbséget (log-skálában) mutatja be [7]. A Wikipédiában (narancssárga) csak 18 nyelv található több mint 1 millió cikkel és 52 nyelv több mint 1,000 szócikkel, de 164 nyelv csak 1–10,000 9 szócikkel [XNUMX]. A CommonCrawl korpusz (kék) két nagyságrenddel növeli az alacsony erőforrás-igényű nyelvek adatmennyiségét. Ennek ellenére még mindig viszonylag kicsik az olyan nagy erőforrásokat igénylő nyelvekhez képest, mint az angol, az orosz vagy a német.

Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében az Amazon SageMaker PlatoBlockchain Data Intelligence Hugging Face segítségével. Függőleges keresés. Ai.

A Wikipédia cikkszámait tekintve a török ​​egy másik nyelv ugyanabban a több mint 100,000 28 cikkből álló csoportban (54.), az urduval (XNUMX.) együtt. Az urduval összehasonlítva a török ​​közepes forrásnyelvnek számít. A török ​​nyelvnek van néhány érdekes tulajdonsága, amelyek a nyelvi modelleket erősebbé tehetik azáltal, hogy bizonyos nyelvészeti és tokenizációs kihívásokat jelentenek. Ez egy agglutinatív nyelv. Nagyon szabad szórendje, összetett morfológiája, vagy angol megfelelők nélküli igeidők. A több szóból álló kifejezések olyan nyelvekben, mint az angol, egyetlen szóalakkal is kifejezhetők, amint az a következő példában látható.

török Angol
macska Macska
macskaolvasni Macskas
macskaGilolvasni Családja macskák
Kedigillernap Tartozik a macska család
macskaleştirebileceklerimizdenmişçesineyken Amikor úgy tűnik, hogy ez az egyik, amit meg tudunk alkotni hogyan

Két fő megoldási megközelítés a nyelvspecifikus modellek vagy a többnyelvű modellek (nyelvek közötti felügyelettel vagy anélkül):

  • Egynyelvű nyelvi modellek – Az első megközelítés egy BERT-változat alkalmazása egy adott célnyelvre. Minél több a képzési adat, annál jobb a modell teljesítménye.
  • Többnyelvű maszkos nyelvi modellek – A másik megközelítés a nagy transzformátormodellek előtanítása sok nyelven. A többnyelvű nyelvi modellezés célja az alacsony erőforrás-igényű nyelvek adathiányos kihívásainak megoldása nagyszámú nyelv előképzésével, hogy az egyik nyelvről tanult NLP-feladatok átvihetők legyenek más nyelvekre. A többnyelvű maszkolt nyelvi modellek (MLM-ek) a legkorszerűbbek a többnyelvű megértési feladatok terén. Két példa:
    • Többnyelvű BERT – A többnyelvű BERT-modellt 104 különböző nyelven képezték ki a Wikipédia korpusz segítségével. Kimutatták azonban, hogy csak hasonló nyelvi struktúrákra és tipológiai jellemzőkre (például hasonló szórendű nyelvekre) általánosítható jól. Többnyelvűsége különösen az eltérő szórendű nyelvek esetében csökken (például alany/tárgy/ige) [4].
    • XLM-R – A többnyelvű nyelvi modellek (XLM-ek) képzése többnyelvű céllal párhuzamos adatkészletek használatával (ugyanaz a szöveg két különböző nyelven) vagy többnyelvű cél nélkül, egynyelvű adatkészletek használatával történik [6]. A kutatások azt mutatják, hogy az alacsony erőforrás-igényű nyelvek számára előnyös a több nyelvre skálázás. Az XLM-RoBERTa egy transzformátor alapú modell, amelyet RoBERTa ihletett [5], és kiindulópontja az a felvetés, hogy a többnyelvű BERT és XLM alulhangolt. 100 nyelven oktatják a Wikipédia és a CommonCrawl korpusz segítségével, így az alacsony erőforrás-igényű nyelvek képzési adatai körülbelül két nagyságrenddel nagyobbak az m-BERT-hez képest [7].

Az alacsony erőforrás-igényű nyelvek többnyelvű nyelvi modelljeinek másik kihívása a szókincs mérete és a tokenizálás. Mivel minden nyelv ugyanazt a megosztott szókincset használja a többnyelvű nyelvi modellekben, kompromisszum van a szókincs méretének növelése (ami növeli a számítási követelményeket) és a csökkentése között (a szókincsben nem szereplő szavakat ismeretlenként jelöljük meg, vagy karaktereket használunk). szavak helyett a tokenek figyelmen kívül hagynának minden szerkezetet). A szódarab-tokenizációs algoritmus egyesíti mindkét megközelítés előnyeit. Például hatékonyan kezeli a szókincsen kívüli szavakat azáltal, hogy a szót részszavakra bontja, amíg jelen van a szókincsben, vagy amíg el nem éri az egyedi karaktert. A karakter alapú tokenizálás bizonyos nyelvek, például a kínai kivételével nem túl hasznos. Léteznek technikák az alacsony erőforrás-igényű nyelvek kihívásainak kezelésére, például mintavételezés bizonyos disztribúciókkal [6].

A következő táblázat bemutatja, hogyan viselkedik három különböző tokenizátor a „kedileri” szóra (jelentése „macskái”). Bizonyos nyelvek és NLP-feladatok esetében ez változást jelentene. Például a kérdésre válaszoló feladatnál a modell visszaadja a kezdő jogkivonat indexének és a végjogkivonat-indexének terjedelmét; a „kediler” („macskák”) vagy „kedileri” („macskái”) visszaadása elveszítené a kontextust, és bizonyos mérőszámok esetében eltérő értékelési eredményekhez vezetne.

Előképzett modell Szókincs mérete Tokenizálás a „Kedileri”* számára
dbmdz/bert-base-turkish-uncased 32,000 tokenek [CLS] macskák ##én [szeptember]
Beviteli azonosítók 2 23714 1023 3
bert-base-multilingual-uncased 105,879 tokenek [CLS] ked ##iler ##én [szeptember]
Beviteli azonosítók 101 30210 33719 10116 102
deepset/xlm-roberta-base-squad2 250,002 tokenek Ke di s
Beviteli azonosítók 0 1345 428 1341 .
*Angolul: (Its) cats

Ezért, bár az alacsony erőforrást igénylő nyelvek számára előnyösek a többnyelvű nyelvi modellek, a megosztott szókincsen keresztüli tokenizálás során figyelmen kívül hagyhat bizonyos nyelvek bizonyos nyelvi jellemzőit.

A következő részben három megközelítést hasonlítunk össze úgy, hogy finomhangoljuk őket egy kérdésmegválaszolási feladathoz egy török ​​nyelvű QA adatkészlet segítségével: BERTurk [8], többnyelvű BERT [4] és XLM-R [7].

Megoldás áttekintése

Munkafolyamatunk a következő:

  1. Készítse elő az adatkészletet egy Amazon SageMaker Studio notebook környezetben, és töltse fel Amazon egyszerű tárolási szolgáltatás (Amazon S3).
  2. Indítson el párhuzamos képzési feladatokat a SageMaker képzési mélytanulási konténereken a finomhangoló szkript biztosításával.
  3. Gyűjtsön metaadatokat minden kísérletből.
  4. Hasonlítsa össze az eredményeket, és válassza ki a legmegfelelőbb modellt.

A következő ábra a megoldás architektúráját mutatja be.

Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében az Amazon SageMaker PlatoBlockchain Data Intelligence Hugging Face segítségével. Függőleges keresés. Ai.

A Studio notebookokkal kapcsolatos további információkért lásd: Merüljön el az Amazon SageMaker Studio Notebooks architektúrájában. A Hugging Face és a SageMaker integrálásával kapcsolatos további információkért lásd: Az AWS és a Hugging Face együttműködik a természetes nyelvi feldolgozási modellek egyszerűsítése és felgyorsítása érdekében.

Készítse elő az adatkészletet

A Hugging Face Datasets könyvtár hatékony adatfeldolgozási módszereket kínál az adatkészlet gyors képzésére a mély tanulási modellben. A következő kód betölti a török ​​minőségbiztosítási adatkészletet, és feltárja, mi van benne:

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'])))

Mintegy 9,000 minta van.

Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében az Amazon SageMaker PlatoBlockchain Data Intelligence Hugging Face segítségével. Függőleges keresés. Ai.

A bemeneti adatkészlet kissé átalakul az előre betanított modellek által elvárt formátumba, és a következő oszlopokat tartalmazza:

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

Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében az Amazon SageMaker PlatoBlockchain Data Intelligence Hugging Face segítségével. Függőleges keresés. Ai.
A kimenet angol fordítása a következő:

  • kontextus – Resit Emre Kongar (sz. 13. október 1941., Isztambul), török ​​szociológus, professzor.
  • kérdés – Mi Kongar Emre tudományos címe?
  • válasz - Egyetemi tanár

Szkript finomhangolása

A Hugging Face Transformers könyvtár példakódot ad a modell finomhangolásához egy kérdésre válaszoló feladathoz, az ún. run_qa.py. A következő kód inicializálja a trénert:

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

Tekintsük át magas szinten az építőelemeket.

Tokenizátor

A szkript betölt egy tokenizert a AutoTokenizer osztály. A AutoTokenizer osztály gondoskodik a modellnek megfelelő tokenizátor visszaküldéséről:

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

A következő egy példa a tokenizátor működésére:

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()

Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében az Amazon SageMaker PlatoBlockchain Data Intelligence Hugging Face segítségével. Függőleges keresés. Ai.

Modell

A szkript betölt egy modellt. AutoModel osztályok (pl. AutoModelForQuestionAnswering) közvetlenül hozzon létre egy osztályt a megfelelő architektúra súlyaival, konfigurációjával és szókincsével, az előre betanított modell nevével és elérési útjával. A Hugging Face absztrakciójának köszönhetően könnyedén válthat másik modellre ugyanazzal a kóddal, mindössze a modell nevének megadásával. Lásd a következő példakódot:

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

Előfeldolgozás és képzés

A prepare_train_features() és a prepare_validation_features() metódusok előfeldolgozzák a betanítási adatkészletet, illetve az érvényesítési adatkészleteket. A kód a bemeneti adatkészleten iterál, és a kontextusból és az aktuális kérdésből sorozatot épít fel a megfelelő modell-specifikus token típusú azonosítókkal (a tokenek numerikus ábrázolásaival) és figyelemmaszkokkal. A sorozat ezután áthalad a modellen. Ez egy sor pontszámot ad ki mind a kezdő, mind a végpozícióra, amint az a következő táblázatban látható.

Beviteli adatkészlet mezők Előfeldolgozott képzési adatkészlet mezői a QuestionAnsweringTrainer számára
id input_ids
cím figyelem_maszk
kontextus start_positions
kérdés end_positions
Válaszok { answer_start, answer_text } .

Értékelés

A compute_metrics() metódus gondoskodik a metrikák kiszámításáról. A következő népszerű mérőszámokat használjuk a kérdések megválaszolására:

  • Pontos egyezés – Azon előrejelzések százalékos arányát méri, amelyek pontosan egyeznek az alapigazság-válaszok bármelyikével.
  • F1 pontszám – Az előrejelzés és az alapigazság válasz átlagos átfedését méri. Az F1 pontszám a pontosság és a visszahívás harmonikus átlaga:
    • Pontosság – A megosztott szavak számának aránya a jóslatban szereplő szavak teljes számához viszonyítva.
    • visszahívás – A megosztott szavak számának aránya az alapigazság összes szószámához képest.

Menedzselt képzés a SageMakeren

Az egyéni gépi tanulási (ML) környezetek beállítása és kezelése időigényes és nehézkes lehet. Val vel AWS Deep Learning Container (DLC-k) a Hugging Face Transformers könyvtárakhoz, hozzáférésünk van előre csomagolt és optimalizált mély tanulási keretrendszerekhez, amelyek megkönnyítik a szkriptünk futtatását több képzési munkán keresztül minimális további kóddal.

Csak használnunk kell a Ölelés Arc Becslő elérhető a SageMaker Python SDK-ban a következő bemenetekkel:

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

Értékelje az eredményeket

Amikor a török ​​kérdésre válaszoló feladat finomhangolási munkái elkészültek, összehasonlítjuk a három megközelítés modellteljesítményét:

  • Egynyelvű nyelvi modell – Az előre betanított, a török ​​kérdésre válaszoló szövegre finomhangolt modell ún bert-alap-török-tokos [8]. 1-as F75.63-es pontszámot és 56.17-es pontos egyezési pontszámot ér el mindössze két korszakban és 9,000 címkézett elemmel. Ez a megközelítés azonban nem megfelelő egy alacsony erőforrás-igényű nyelvhez, ha nem létezik előre betanított nyelvi modell, vagy kevés adat áll rendelkezésre a nulláról való képzéshez.
  • Többnyelvű nyelvi modell többnyelvű BERT-tel – Az előre betanított modell ún bert-base-multilingual-uncased. A többnyelvű BERT-dokumentum [4] kimutatta, hogy jól általánosítható a különböző nyelveken. Az egynyelvű modellhez képest rosszabbul teljesít (F1 pontszám 71.73, pontos egyezés 50:45), de vegye figyelembe, hogy ez a modell több mint 100 másik nyelvet kezel, így kevesebb teret hagy a török ​​nyelv megjelenítésére.
  • Többnyelvű nyelvi modell XLM-R-rel – Az előre betanított modell ún xlm-roberta-base-squad2. Az XLM-R tanulmány azt mutatja, hogy lehetséges egyetlen nagy modell több mint 100 nyelvhez anélkül, hogy feláldoznánk a nyelvenkénti teljesítményt [7]. A török ​​kérdésre válaszoló feladatnál a többnyelvű BERT és az egynyelvű BERT F1 pontszámait 5%-kal, illetve 2%-kal felülmúlja (F1 pontszám 77.14, pontos egyezés 56.39).

Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében az Amazon SageMaker PlatoBlockchain Data Intelligence Hugging Face segítségével. Függőleges keresés. Ai.

Összehasonlításunk nem veszi figyelembe a modellek közötti egyéb különbségeket, mint például a modellkapacitás, a használt betanítási adatkészletek, az előre betanított NLP-feladatok, a szókincs mérete vagy a tokenizáció.

További kísérletek

A mellékelt jegyzetfüzet további kísérleti példákat tartalmaz.

A SageMaker a képzési példánytípusok széles skáláját kínálja. Finomhangoltuk az XLM-R modellt p3.2xlarge (GPU: Nvidia V100 GPU, GPU architektúra: Volta (2017)), p3.16xlarge (GPU: 8 Nvidia V100 GPU) és g4dn.xlarge (GPU: Nvidia T4) GPU, GPU architektúra: Turing (2018)), és a következőket figyelte meg:

  • Az edzés időtartama – Kísérletünk szerint az XLM-R modell körülbelül 24 perc alatt edzett p3.2xlarge-en és 30 percig g4dn.xlarge-en (körülbelül 23%-kal hosszabb). Elosztott finomhangolást is végeztünk két p3.16xlarge példányon, és az edzési idő 10 percre csökkent. A transzformátor alapú modell SageMaker-en való megosztott betanításáról további információkért lásd: A BERT Large modell elosztott finomhangolása egy kérdés-megválaszoló feladathoz Hugging Face Transformers segítségével az Amazon SageMakeren.
  • Képzési költségek – Az AWS Pricing API segítségével lekértük a SageMaker igény szerinti árakat, hogy menet közben kiszámíthassuk. Kísérletünk szerint a képzés körülbelül 1.58 dollárba került a p3.2xlarge-en, és körülbelül négyszer kevesebbe a g4dn.xlarge-en (0.37 dollár). Az elosztott képzés két p3.16xnagy példányon 16 GPU-val 9.68 dollárba került.

Összefoglalva, bár a g4dn.xlarge volt a legolcsóbb gép, körülbelül háromszor hosszabb ideig tartott betanítani, mint a legerősebb példánytípus, amellyel kísérleteztünk (két p3.16xlarge). A projekt prioritásaitól függően sokféle SageMaker képzési példány közül választhat.

Következtetés

Ebben a bejegyzésben megvizsgáltuk az előre betanított transzformátor alapú nyelvi modellek finomhangolását egy közepes erőforrású nyelv (jelen esetben a török) kérdésmegválaszolási feladatához. Ezt a megközelítést több mint 100 másik nyelven alkalmazhatja egyetlen modell használatával. Az írás pillanatában a világ 7,000 nyelvét lefedő modell felnagyítása még mindig túlzó, de az NLP területe lehetőséget ad látókörünk szélesítésére.

A nyelv az emberi kommunikáció fő módszere, az értékek közlésének és a kulturális örökség szépségének megosztásának eszköze. A nyelvi sokszínűség erősíti a kultúrák közötti párbeszédet és befogadó társadalmakat épít.

Az ML erősen iteratív folyamat; Egyetlen projekt során az adattudósok több száz különböző modellt, adatkészletet és paramétert képeznek ki a maximális pontosság érdekében. A SageMaker a legteljesebb eszközkészletet kínálja az ML és a mély tanulás erejének kihasználásához. Lehetővé teszi az ML-kísérletek rendszerezését, nyomon követését, összehasonlítását és értékelését.

A Hugging Face integrálva van a SageMakerrel, hogy segítse az adatkutatókat a legkorszerűbb NLP-modellek gyorsabb és egyszerűbb fejlesztésében, képzésében és hangolásában. Számos előnyt mutattunk be a Hugging Face transzformátorok használatából az Amazon SageMakeren, például a képzést és a nagyszabású kísérletezést, valamint a termelékenység és a költséghatékonyság növekedését.

Kísérletezhet NLP-feladatokkal a preferált nyelven a SageMakerben minden AWS-régióban, ahol a SageMaker elérhető. A notebook példakódja a következő nyelven érhető el: GitHub.

Ha meg szeretné tudni, hogy az Amazon SageMaker Training Compiler miként képes akár 50%-kal felgyorsítani a mély tanulási modellek képzését, lásd Új – Bemutatkozik a SageMaker Training Compiler.

A szerzők legmélyebb elismerésüket szeretnék kifejezni Mariano Kampnak és Emily Webbernek a vázlatok áttekintéséért és a tanácsadásért.

Referenciák

  1. J. Devlin et al., „BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding”, (2018).
  2. A. Vaswani et al., „A figyelem minden, amire szüksége van”, (2017).
  3. J. Howard és S. Ruder, „Universal Language Model Fine-Tuning for Text Classification”, (2018).
  4. T. Pires et al., „How multilingual is Multilingual BERT?”, (2019).
  5. Y. Liu et al., „RoBERTa: A Robustly Optimized BERT Pretraining Approach”, (2019).
  6. G. Lample és A. Conneau, „Cross-lingual Language Model Pretraining”, (2019).
  7. A. Conneau és mtsai, „Unsupervised Cross-Lingual Representation Learning at Scale”, (2019).
  8. Stefan Schweter. BERTurk – BERT modellek török ​​nyelvre (2020).
  9. Többnyelvű Wiki statisztika https://en.wikipedia.org/wiki/Wikipedia:Multilingual_statistics

A szerzőkről

Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében az Amazon SageMaker PlatoBlockchain Data Intelligence Hugging Face segítségével. Függőleges keresés. Ai.Arnav Khare az AWS globális pénzügyi szolgáltatások fő megoldástervezője. Elsődleges célja, hogy segítsen a pénzügyi szolgáltató intézményeknek analitikai és gépi tanulási alkalmazások felhőben történő felépítésében és tervezésében. Arnav az Edinburgh Egyetemen szerzett MSc fokozatot mesterséges intelligencia szakon, és 18 éves iparági tapasztalattal rendelkezik az általa alapított kis startupoktól a nagyvállalatokig, mint a Nokia és a Bank of America. Munkán kívül Arnav szeret két lányával tölteni az idejét, új, független kávézókat keresni, olvasni és utazni. Engem megtalálhat LinkedIn és Surreyben, az Egyesült Királyságban a való életben.

Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében az Amazon SageMaker PlatoBlockchain Data Intelligence Hugging Face segítségével. Függőleges keresés. Ai.Hasan-Basri AKIRMAK (BSc és MSc számítástechnikai mérnök, valamint Executive MBA a Graduate School of Businessben) az Amazon Web Services vezető megoldástervezője. Üzleti technológus, nagyvállalati szegmens ügyfelei számára tanácsot ad. Szakterülete architektúrák és üzleti esetek tervezése nagyméretű adatfeldolgozó rendszereken és gépi tanulási megoldásokon. A Hasan üzletfejlesztést, rendszerintegrációt és programmenedzsmentet nyújtott európai, közel-keleti és afrikai ügyfelek számára. 2016 óta vállalkozók százait mentorálta startup inkubációs programokban pro-bono.

Finomhangoljon transzformátor nyelvi modelleket a nyelvi sokszínűség érdekében az Amazon SageMaker PlatoBlockchain Data Intelligence Hugging Face segítségével. Függőleges keresés. Ai.Heiko Hotz az AI és a gépi tanulás vezető megoldástervezője, és az AWS-en belül a Natural Language Processing (NLP) közösséget vezeti. Ezt megelőzően az Amazon EU-s ügyfélszolgálatának adattudományi vezetője volt. A Heiko segít ügyfeleinknek abban, hogy sikeresek legyenek az AI/ML-útjukon az AWS-ben, és számos iparágban dolgozott együtt szervezetekkel, beleértve a biztosítást, a pénzügyi szolgáltatásokat, a médiát és a szórakoztatást, az egészségügyet, a közműveket és a gyártást. Szabadidejében Heiko minél többet utazik.

Időbélyeg:

Még több AWS gépi tanulás