Affinez les modèles linguistiques du transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Ajustez les modèles de langage transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker

Environ 7,000 19 langues sont utilisées aujourd'hui. Malgré les tentatives à la fin du XIXe siècle d'inventer des langues construites telles que le volapük ou l'espéranto, il n'y a aucun signe d'unification. Les gens choisissent toujours de créer de nouvelles langues (pensez à votre personnage de film préféré qui parle le klingon, le dothraki ou l'elfique).

Aujourd'hui, les exemples de traitement du langage naturel (TAL) sont dominés par la langue anglaise, la langue maternelle de seulement 5 % de la population humaine et parlée seulement par 17 %.

La fracture numérique est défini comme l'écart entre ceux qui peuvent accéder aux technologies numériques et ceux qui ne le peuvent pas. Le manque d'accès aux connaissances ou à l'éducation en raison des barrières linguistiques contribue également à la fracture numérique, non seulement entre les personnes qui ne parlent pas anglais, mais aussi pour les anglophones qui n'ont pas accès à des contenus non anglais, ce qui réduit la diversité des pensées et des connaissances. Il y a tant à apprendre mutuellement.

Dans cet article, nous résumons les défis des langages à faibles ressources et expérimentons différentes approches de solution couvrant plus de 100 langues à l'aide des transformateurs Hugging Face sur Amazon SageMaker.

Nous affinons divers modèles de langage basés sur des transformateurs pré-formés pour une tâche de questions et réponses. Nous utilisons le turc dans notre exemple, mais vous pouvez appliquer cette approche à d'autres langues prises en charge. Nous nous concentrons sur les variantes BERT [1], car une grande caractéristique de BERT est son architecture unifiée à travers différentes tâches.

Nous démontrons plusieurs avantages de l'utilisation des transformateurs Hugging Face sur Amazon Sage Maker, telles que la formation et l'expérimentation à grande échelle, et l'augmentation de la productivité et de la rentabilité.

Présentation de la PNL

Il y a eu plusieurs développements majeurs dans le NLP depuis 2017. L'émergence d'architectures d'apprentissage en profondeur telles que les transformateurs [2], les techniques d'apprentissage non supervisé pour former de tels modèles sur des ensembles de données extrêmement volumineux et l'apprentissage par transfert ont considérablement amélioré l'état de l'art. art dans la compréhension du langage naturel. L'arrivée de centres de modèles pré-formés a encore démocratisé l'accès aux connaissances collectives de la communauté PNL, supprimant la nécessité de repartir de zéro.

Un modèle de langage est un modèle NLP qui apprend à prédire le mot suivant (ou tout mot masqué) dans une séquence. La véritable beauté des modèles de langage comme point de départ est triple : premièrement, la recherche a montré que les modèles de langage entraînés sur un grand corpus de données textuelles apprennent des significations de mots plus complexes que les méthodes précédentes. Par exemple, pour pouvoir prédire le mot suivant dans une phrase, le modèle de langage doit bien comprendre le contexte, la sémantique et aussi la grammaire. Deuxièmement, pour former un modèle de langage, les données étiquetées - qui sont rares et coûteuses - ne sont pas nécessaires pendant la pré-formation. Ceci est important car une énorme quantité de données textuelles non étiquetées est accessible au public sur le Web dans de nombreuses langues. Troisièmement, il a été démontré qu'une fois que le modèle de langage est suffisamment intelligent pour prédire le mot suivant pour une phrase donnée, il est relativement facile d'effectuer d'autres tâches NLP telles que l'analyse des sentiments ou la réponse aux questions avec très peu de données étiquetées, car le réglage fin réutilise représentations à partir d'un modèle de langage pré-entraîné [3].

Les services de PNL entièrement gérés ont également accéléré l'adoption de la PNL. Amazon comprendre est un service entièrement géré qui permet à l'analyse de texte d'extraire des informations du contenu des documents, et il prend en charge une variété de langues. Amazon Comprehend prend en charge la classification personnalisée et la reconnaissance d'entités personnalisées et vous permet de créer des modèles NLP personnalisés qui sont spécifiques à vos besoins, sans avoir besoin d'une quelconque expertise en ML.

Défis et solutions pour les langues à faibles ressources

Le principal défi pour un grand nombre de langues est qu'elles ont relativement moins de données disponibles pour la formation. Ceux-ci sont appelés langues à faibles ressources. L'article m-BERT [4] et l'article XLM-R [7] désignent l'ourdou et le swahili comme des langues à faibles ressources.

La figure suivante précise les codes ISO de plus de 80 langues, et la différence de taille (en échelle logarithmique) entre les deux principales pré-formations [7]. Dans Wikipédia (orange), il n'y a que 18 langues avec plus d'un million d'articles et 1 langues avec plus de 52 1,000 articles, mais 164 langues avec seulement 1 à 10,000 9 articles [XNUMX]. Le corpus CommonCrawl (bleu) augmente la quantité de données pour les langages à faibles ressources de deux ordres de grandeur. Néanmoins, ils sont encore relativement petits par rapport aux langues à ressources élevées telles que l'anglais, le russe ou l'allemand.

Affinez les modèles linguistiques du transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

En termes de numéros d'articles Wikipédia, le turc est une autre langue dans le même groupe de plus de 100,000 28 articles (54e), avec l'ourdou (XNUMXe). Comparé à l'ourdou, le turc serait considéré comme une langue de ressources intermédiaires. Le turc présente des caractéristiques intéressantes, qui pourraient rendre les modèles linguistiques plus puissants en créant certains défis en linguistique et en tokenisation. C'est une langue agglutinante. Il a un ordre des mots très libre, une morphologie complexe, ou des temps sans équivalents anglais. Les phrases formées de plusieurs mots dans des langues comme l'anglais peuvent être exprimées avec une seule forme de mot, comme le montre l'exemple suivant.

Turc Anglais
Kedi Cathy
Kediler Cathys
Kedigiller Famille de chats
Kédigillerjour Appartenant à la famille de chats
Kedileştirebileceklerimizdenmişçesineyken Quand il semble que l'on est l'un de ceux que nous pouvons faire cat

Deux principales approches de solution sont les modèles spécifiques à une langue ou les modèles multilingues (avec ou sans supervision multilingue) :

  • Modèles linguistiques monolingues – La première approche consiste à appliquer une variante BERT à une langue cible spécifique. Plus il y a de données d'apprentissage, meilleures sont les performances du modèle.
  • Modèles multilingues de langage masqué – L'autre approche consiste à pré-entraîner de grands modèles de transformateurs dans de nombreux langages. La modélisation linguistique multilingue vise à résoudre le défi du manque de données pour les langues à faibles ressources en pré-formant sur un grand nombre de langues afin que les tâches NLP apprises d'une langue puissent être transférées vers d'autres langues. Les modèles multilingues de langage masqué (MLM) ont poussé l'état de l'art sur les tâches de compréhension multilingues. Voici deux exemples :
    • BERT multilingue – Le modèle BERT multilingue a été formé dans 104 langues différentes à l'aide du corpus Wikipedia. Cependant, il a été démontré qu'il ne se généralise bien qu'à travers des structures linguistiques et des caractéristiques typologiques similaires (par exemple, des langues avec un ordre de mots similaire). Son multilinguisme est diminué surtout pour les langues avec des ordres de mots différents (par exemple, sujet/objet/verbe) [4].
    • XLM-R – Les modèles de langage interlinguistique (XLM) sont entraînés avec un objectif interlinguistique en utilisant des ensembles de données parallèles (le même texte dans deux langues différentes) ou sans objectif interlinguistique en utilisant des ensembles de données monolingues [6]. La recherche montre que les langues à faibles ressources bénéficient d'une mise à l'échelle vers plus de langues. XLM-RoBERTa est un modèle basé sur un transformateur inspiré de RoBERTa [5], et son point de départ est la proposition selon laquelle BERT et XLM multilingues sont sous-réglés. Il est formé sur 100 langues en utilisant à la fois les corpus Wikipedia et CommonCrawl, de sorte que la quantité de données de formation pour les langues à faibles ressources est d'environ deux ordres de grandeur supérieure à celle de m-BERT [7].

Un autre défi des modèles linguistiques multilingues pour les langues à faibles ressources est la taille du vocabulaire et la tokenisation. Étant donné que toutes les langues utilisent le même vocabulaire partagé dans les modèles de langues multilingues, il existe un compromis entre l'augmentation de la taille du vocabulaire (ce qui augmente les exigences de calcul) et sa diminution (les mots non présents dans le vocabulaire seraient marqués comme inconnus ou utilisant des caractères au lieu de mots car les jetons ignoreraient toute structure). L'algorithme de tokenisation par mots combine les avantages des deux approches. Par exemple, il gère efficacement les mots hors vocabulaire en divisant le mot en sous-mots jusqu'à ce qu'il soit présent dans le vocabulaire ou jusqu'à ce que le caractère individuel soit atteint. La tokenisation basée sur les caractères n'est pas très utile, sauf pour certaines langues, comme le chinois. Des techniques existent pour relever les défis des langages à faibles ressources, comme l'échantillonnage avec certaines distributions [6].

Le tableau suivant décrit le comportement de trois tokenizers différents pour le mot « kedileri » (qui signifie « ses chats »). Pour certaines langues et tâches NLP, cela ferait une différence. Par exemple, pour la tâche de réponse aux questions, le modèle renvoie l'étendue de l'index de jeton de début et de l'index de jeton de fin ; renvoyer « kediler » (« chats ») ou « kedileri » (« ses chats ») perdrait du contexte et conduirait à des résultats d'évaluation différents pour certaines métriques.

Modèle pré-entraîné Taille du vocabulaire Tokénisation pour "Kedileri"*
dbmdz/bert-base-turc-sans boîtier 32,000 Tokens [CLS] chats ##je [SEP]
ID d'entrée 2 23714 1023 3
bert-base-multilingue-sans boîtier 105,879 Tokens [CLS] roi ##iler ##je [SEP]
ID d'entrée 101 30210 33719 10116 102
deepset/xlm-roberta-base-squad2 250,002 Tokens Ke Ke di leri
ID d'entrée 0 1345 428 1341 .
*En anglais : (Its) cats

Par conséquent, bien que les langues à faibles ressources bénéficient des modèles linguistiques multilingues, effectuer la tokenisation sur un vocabulaire partagé peut ignorer certaines caractéristiques linguistiques pour certaines langues.

Dans la section suivante, nous comparons trois approches en les affinant pour une tâche de réponse à une question à l'aide d'un ensemble de données QA pour le turc : BERTurk [8], BERT multilingue [4] et XLM-R [7].

Vue d'ensemble de la solution

Notre flux de travail est le suivant :

  1. Préparez le jeu de données dans un Amazon SageMakerStudio environnement de bloc-notes et chargez-le dans Service de stockage simple Amazon (Amazon S3).
  2. Lancez des tâches de formation parallèles sur les conteneurs d'apprentissage en profondeur SageMaker en fournissant le script de réglage fin.
  3. Collectez les métadonnées de chaque expérience.
  4. Comparez les résultats et identifiez le modèle le plus approprié.

Le diagramme suivant illustre l'architecture de la solution.

Affinez les modèles linguistiques du transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Pour plus d'informations sur les blocs-notes Studio, reportez-vous à Plongez au cœur de l'architecture des blocs-notes Amazon SageMaker Studio. Pour plus d'informations sur la manière dont Hugging Face est intégré à SageMaker, reportez-vous à AWS et Hugging Face collaborent pour simplifier et accélérer l'adoption des modèles de traitement du langage naturel.

Préparer le jeu de données

La bibliothèque Hugging Face Datasets fournit de puissantes méthodes de traitement des données pour obtenir rapidement un ensemble de données prêt pour la formation dans un modèle d'apprentissage en profondeur. Le code suivant charge l'ensemble de données de contrôle qualité turc et explore ce qu'il contient :

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

Il y a environ 9,000 XNUMX échantillons.

Affinez les modèles linguistiques du transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

L'ensemble de données d'entrée est légèrement transformé dans un format attendu par les modèles pré-entraînés et contient les colonnes suivantes :

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

Affinez les modèles linguistiques du transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
La traduction anglaise de la sortie est la suivante :

  • contexte – Resit Emre Kongar (né le 13 octobre 1941 à Istanbul), sociologue turc, professeur.
  • question – Quel est le titre académique d'Emre Kongar ?
  • répondre - Professeur

Script de réglage fin

La bibliothèque Hugging Face Transformers fournit un exemple de code pour affiner un modèle pour une tâche de réponse aux questions, appelée run_qa.py. Le code suivant initialise l'entraîneur :

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

Passons en revue les blocs de construction à un niveau élevé.

Générateur de jetons

Le script charge un tokenizer en utilisant le AutoTokenizer classer. le AutoTokenizer class se charge de retourner le bon tokenizer qui correspond au modèle :

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

Voici un exemple du fonctionnement du tokenizer :

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

Affinez les modèles linguistiques du transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Modèle

Le script charge un modèle. AutoModel cours (par exemple, AutoModelForQuestionAnswering) créent directement une classe avec les pondérations, la configuration et le vocabulaire de l'architecture pertinente en fonction du nom et du chemin d'accès au modèle pré-entraîné. Grâce à l'abstraction de Hugging Face, vous pouvez facilement passer à un modèle différent en utilisant le même code, simplement en fournissant le nom du modèle. Voir l'exemple de code suivant :

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

Prétraitement et formation

La prepare_train_features() ainsi que prepare_validation_features() Les méthodes prétraitent respectivement l'ensemble de données d'apprentissage et les ensembles de données de validation. Le code itère sur l'ensemble de données d'entrée et crée une séquence à partir du contexte et de la question actuelle, avec les ID de type de jeton spécifiques au modèle (représentations numériques des jetons) et les masques d'attention. La séquence est ensuite passée à travers le modèle. Cela génère une plage de scores, pour les positions de début et de fin, comme indiqué dans le tableau suivant.

Champs d'ensemble de données d'entrée Champs de jeu de données de formation prétraités pour QuestionAnsweringTrainer
id ID_entrée
titre masque_attention
contexte start_positions
question fin_positions
Réponses { answer_start, answer_text } .

Evaluation

La compute_metrics() La méthode prend en charge le calcul des métriques. Nous utilisons les métriques populaires suivantes pour les tâches de réponse aux questions :

  • Correspondance exacte - Mesure le pourcentage de prédictions qui correspondent exactement à l'une des réponses de la vérité terrain.
  • Score F1 – Mesure le chevauchement moyen entre la prédiction et la réponse de la vérité terrain. Le score F1 est la moyenne harmonique de la précision et du rappel :
    • La précision – Le rapport entre le nombre de mots partagés et le nombre total de mots dans la prédiction.
    • Rappeler – Le rapport du nombre de mots partagés au nombre total de mots dans la vérité terrain.

Formation managée sur SageMaker

La configuration et la gestion d'environnements d'apprentissage automatique (ML) personnalisés peuvent prendre du temps et être fastidieuses. Avec Conteneur d'apprentissage en profondeur AWS (DLC) pour les bibliothèques Hugging Face Transformers, nous avons accès à des frameworks d'apprentissage en profondeur prépackagés et optimisés, ce qui facilite l'exécution de notre script sur plusieurs tâches de formation avec un minimum de code supplémentaire.

Nous avons juste besoin d'utiliser le Estimateur de visage étreignant disponible dans le SDK SageMaker Python avec les entrées suivantes :

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

Évaluer les résultats

Lorsque les tâches de réglage fin pour la tâche de réponse aux questions en turc sont terminées, nous comparons les performances du modèle des trois approches :

  • Modèle linguistique monolingue - Le modèle pré-formé affiné sur le texte de réponse à la question turque s'appelle bert-base-turc-sans boîtier [8]. Il obtient un score F1 de 75.63 et un score de correspondance exacte de 56.17 en seulement deux époques et avec 9,000 XNUMX éléments étiquetés. Cependant, cette approche n'est pas adaptée à un langage à faibles ressources lorsqu'un modèle de langage pré-formé n'existe pas, ou qu'il y a peu de données disponibles pour un apprentissage à partir de zéro.
  • Modèle linguistique multilingue avec BERT multilingue – Le modèle pré-entraîné est appelé bert-base-multilingue-sans boîtier. L'article multilingue du BERT [4] a montré qu'il se généralise bien à travers les langues. Comparé au modèle monolingue, il est moins performant (score F1 71.73, correspondance exacte 50:45), mais notez que ce modèle gère plus de 100 autres langues, laissant moins de place à la représentation de la langue turque.
  • Modèle linguistique multilingue avec XLM-R – Le modèle pré-entraîné est appelé xlm-roberta-base-squad2. L'article XLM-R montre qu'il est possible d'avoir un seul grand modèle pour plus de 100 langues sans sacrifier les performances par langue [7]. Pour la tâche de réponse aux questions en turc, il surpasse les scores BERT multilingue et BERT monolingue F1 de 5 % et 2 %, respectivement (score F1 77.14, correspondance exacte 56.39).

Affinez les modèles linguistiques du transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Notre comparaison ne prend pas en considération d'autres différences entre les modèles telles que la capacité du modèle, les ensembles de données de formation utilisés, les tâches NLP pré-formées, la taille du vocabulaire ou la tokenisation.

Expériences supplémentaires

Le bloc-notes fourni contient des exemples d'expériences supplémentaires.

SageMaker fournit une large gamme de types d'instances de formation. Nous avons affiné le modèle XLM-R sur p3.2xlarge (GPU : GPU Nvidia V100, architecture GPU : Volta (2017)), p3.16xlarge (GPU : 8 GPU Nvidia V100) et g4dn.xlarge (GPU : Nvidia T4 GPU, architecture GPU : Turing (2018)), et a observé ce qui suit :

  • Durée de la formation – Selon notre expérience, le modèle XLM-R a pris environ 24 minutes pour s'entraîner sur p3.2xlarge et 30 minutes sur g4dn.xlarge (environ 23 % plus longtemps). Nous avons également effectué un réglage fin distribué sur deux instances p3.16xlarge, et le temps de formation a été réduit à 10 minutes. Pour plus d'informations sur la formation distribuée d'un modèle basé sur un transformateur sur SageMaker, reportez-vous à Ajustement distribué d'un grand modèle BERT pour une tâche de question-réponse à l'aide de transformateurs de visage étreignant sur Amazon SageMaker.
  • Frais de formation – Nous avons utilisé l'API de tarification AWS pour récupérer les prix à la demande de SageMaker afin de les calculer à la volée. Selon notre expérience, la formation coûte environ 1.58 $ sur p3.2xlarge et environ quatre fois moins sur g4dn.xlarge (0.37 $). La formation distribuée sur deux instances p3.16xlarge utilisant 16 GPU coûte 9.68 $.

Pour résumer, bien que g4dn.xlarge soit la machine la moins chère, il a également fallu environ trois fois plus de temps pour s'entraîner que le type d'instance le plus puissant que nous ayons expérimenté (deux p3.16xlarge). En fonction des priorités de votre projet, vous pouvez choisir parmi une grande variété de types d'instances de formation SageMaker.

Conclusion

Dans cet article, nous avons exploré le réglage fin de modèles de langage basés sur des transformateurs pré-formés pour une tâche de réponse à une question pour une langue à ressource intermédiaire (dans ce cas, le turc). Vous pouvez appliquer cette approche à plus de 100 autres langues en utilisant un seul modèle. Au moment de l'écriture, la mise à l'échelle d'un modèle pour couvrir l'ensemble des 7,000 XNUMX langues du monde est encore prohibitive, mais le domaine de la PNL offre une opportunité d'élargir nos horizons.

La langue est la principale méthode de communication humaine et un moyen de communiquer des valeurs et de partager la beauté d'un patrimoine culturel. La diversité linguistique renforce le dialogue interculturel et construit des sociétés inclusives.

Le ML est un processus hautement itératif ; au cours d'un seul projet, les scientifiques des données forment des centaines de modèles, d'ensembles de données et de paramètres différents à la recherche d'une précision maximale. SageMaker propose l'ensemble d'outils le plus complet pour exploiter la puissance du ML et de l'apprentissage en profondeur. Il vous permet d'organiser, de suivre, de comparer et d'évaluer des expériences de ML à grande échelle.

Hugging Face est intégré à SageMaker pour aider les scientifiques des données à développer, former et ajuster plus rapidement et plus facilement des modèles NLP de pointe. Nous avons démontré plusieurs avantages de l'utilisation des transformateurs Hugging Face sur Amazon SageMaker, tels que la formation et l'expérimentation à grande échelle, ainsi qu'une productivité et une rentabilité accrues.

Vous pouvez tester les tâches NLP dans votre langue préférée dans SageMaker dans toutes les régions AWS où SageMaker est disponible. L'exemple de code de bloc-notes est disponible dans GitHub.

Pour savoir comment Amazon SageMaker Training Compiler peut accélérer la formation des modèles d'apprentissage en profondeur jusqu'à 50 %, consultez Nouveau - Présentation du compilateur de formation SageMaker.

Les auteurs tiennent à exprimer leur plus profonde gratitude à Mariano Kamp et Emily Webber pour avoir révisé les ébauches et fourni des conseils.

Bibliographie

  1. J. Devlin et al., "BERT : Pré-formation des transformateurs bidirectionnels profonds pour la compréhension du langage", (2018).
  2. A. Vaswani et al., "L'attention est tout ce dont vous avez besoin", (2017).
  3. J. Howard et S. Ruder, « Réglage fin du modèle de langage universel pour la classification de texte », (2018).
  4. T. Pires et al., « Dans quelle mesure le BERT multilingue est-il multilingue ? », (2019).
  5. Y. Liu et al., "RoBERTa : une approche de préformation BERT optimisée de manière robuste", (2019).
  6. G. Lample et A. Conneau, « Préformation du modèle linguistique interlinguistique », (2019).
  7. A. Conneau et al., « Apprentissage non supervisé de la représentation interlinguistique à l'échelle », (2019).
  8. Stéphane Schweter. BERTurk - Modèles BERT pour le turc (2020).
  9. Statistiques Wiki multilingues https://en.wikipedia.org/wiki/Wikipedia:Multilingual_statistics

À propos des auteurs

Affinez les modèles linguistiques du transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Arnav Kharé est architecte principal de solutions pour les services financiers mondiaux chez AWS. Son objectif principal est d'aider les institutions de services financiers à créer et à concevoir des applications d'analyse et d'apprentissage automatique dans le cloud. Arnav est titulaire d'une maîtrise en intelligence artificielle de l'Université d'Édimbourg et possède 18 ans d'expérience dans l'industrie, allant des petites startups qu'il a fondées aux grandes entreprises comme Nokia et Bank of America. En dehors du travail, Arnav aime passer du temps avec ses deux filles, trouver de nouveaux cafés indépendants, lire et voyager. Vous pouvez me trouver sur LinkedIn et à Surrey, au Royaume-Uni, dans la vraie vie.

Affinez les modèles linguistiques du transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Hasan-Basri AKIRMAK (BSc et MSc en génie informatique et Executive MBA à la Graduate School of Business) est architecte de solutions senior chez Amazon Web Services. Il est un technologue d'affaires qui conseille les clients du secteur des entreprises. Son domaine de spécialité est la conception d'architectures et de business cases sur des systèmes de traitement de données à grande échelle et des solutions d'apprentissage automatique. Hasan a assuré le développement commercial, l'intégration de systèmes et la gestion de programmes pour des clients en Europe, au Moyen-Orient et en Afrique. Depuis 2016, il a encadré gratuitement des centaines d'entrepreneurs dans le cadre de programmes d'incubation de startups.

Affinez les modèles linguistiques du transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Heiko Hotz est architecte de solutions senior pour l'IA et l'apprentissage automatique et dirige la communauté de traitement du langage naturel (NLP) au sein d'AWS. Avant d'occuper ce poste, il était responsable de la science des données pour le service client européen d'Amazon. Heiko aide nos clients à réussir leur parcours IA/ML sur AWS et a travaillé avec des organisations de nombreux secteurs, notamment l'assurance, les services financiers, les médias et le divertissement, la santé, les services publics et la fabrication. Pendant son temps libre, Heiko voyage autant que possible.

Horodatage:

Plus de Apprentissage automatique AWS