Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker

Actualmente se utilizan aproximadamente 7,000 idiomas. A pesar de los intentos a fines del siglo XIX de inventar idiomas construidos como el volapük o el esperanto, no hay señales de unificación. La gente todavía elige crear nuevos idiomas (piense en su personaje de película favorito que habla klingon, dothraki o élfico).

Hoy en día, los ejemplos de procesamiento de lenguaje natural (PNL) están dominados por el idioma inglés, el idioma nativo de solo el 5 % de la población humana y hablado solo por el 17 %.

La brecha digital se define como la brecha entre quienes pueden acceder a las tecnologías digitales y quienes no. La falta de acceso al conocimiento o la educación debido a las barreras del idioma también contribuye a la brecha digital, no solo entre las personas que no hablan inglés, sino también entre las personas de habla inglesa que no tienen acceso a contenido que no está en inglés, lo que reduce la diversidad de pensamiento y conocimiento. Hay mucho que aprender mutuamente.

En esta publicación, resumimos los desafíos de los lenguajes de bajos recursos y experimentamos con diferentes enfoques de solución que cubren más de 100 idiomas utilizando los transformadores Hugging Face en Amazon SageMaker.

Ajustamos varios modelos de lenguaje basados ​​en transformadores previamente entrenados para una tarea de preguntas y respuestas. Usamos turco en nuestro ejemplo, pero podría aplicar este enfoque a otro idioma compatible. Nuestro enfoque está en las variantes BERT [1], porque una gran característica de BERT es su arquitectura unificada en diferentes tareas.

Demostramos varios beneficios de usar transformadores Hugging Face en Amazon SageMaker, como la formación y la experimentación a escala, y una mayor productividad y rentabilidad.

Descripción general de la PNL

Ha habido varios desarrollos importantes en NLP desde 2017. El surgimiento de arquitecturas de aprendizaje profundo como los transformadores [2], las técnicas de aprendizaje no supervisado para entrenar dichos modelos en conjuntos de datos extremadamente grandes y el aprendizaje de transferencia han mejorado significativamente el estado de la tecnología. arte en la comprensión del lenguaje natural. La llegada de centros de modelos pre-entrenados ha democratizado aún más el acceso al conocimiento colectivo de la comunidad de PNL, eliminando la necesidad de comenzar desde cero.

Un modelo de lenguaje es un modelo de PNL que aprende a predecir la siguiente palabra (o cualquier palabra enmascarada) en una secuencia. La belleza genuina de los modelos de lenguaje como punto de partida es triple: en primer lugar, la investigación ha demostrado que los modelos de lenguaje entrenados en un corpus de datos de texto grande aprenden significados de palabras más complejos que los métodos anteriores. Por ejemplo, para poder predecir la siguiente palabra en una oración, el modelo de lenguaje debe ser bueno para comprender el contexto, la semántica y también la gramática. En segundo lugar, para entrenar un modelo de lenguaje, no se requieren datos etiquetados, que son escasos y costosos, durante el entrenamiento previo. Esto es importante porque una enorme cantidad de datos de texto sin etiquetar está disponible públicamente en la web en muchos idiomas. En tercer lugar, se ha demostrado que una vez que el modelo de lenguaje es lo suficientemente inteligente como para predecir la siguiente palabra de cualquier oración dada, es relativamente fácil realizar otras tareas de PNL, como el análisis de sentimientos o la respuesta a preguntas con muy pocos datos etiquetados, porque el ajuste fino reutiliza representaciones de un modelo de lenguaje pre-entrenado [3].

Los servicios de PNL completamente administrados también han acelerado la adopción de la PNL. Amazon Comprehend es un servicio completamente administrado que permite el análisis de texto para extraer información del contenido de los documentos y es compatible con una variedad de idiomas. Amazon Comprehend admite la clasificación personalizada y el reconocimiento de entidades personalizadas, y le permite crear modelos NLP personalizados que son específicos para sus requisitos, sin necesidad de tener experiencia en ML.

Desafíos y soluciones para idiomas de bajos recursos

El principal desafío para una gran cantidad de idiomas es que tienen relativamente menos datos disponibles para la capacitación. Estos se llaman lenguajes de bajos recursos. El documento m-BERT [4] y el documento XLM-R [7] se refieren al urdu y al swahili como idiomas de bajos recursos.

La siguiente figura especifica los códigos ISO de más de 80 idiomas y la diferencia de tamaño (en escala logarítmica) entre las dos principales capacitaciones previas [7]. En Wikipedia (naranja), solo hay 18 idiomas con más de 1 millón de artículos y 52 idiomas con más de 1,000 artículos, pero 164 idiomas con solo 1 a 10,000 9 artículos [XNUMX]. El corpus CommonCrawl (azul) aumenta la cantidad de datos para idiomas de bajos recursos en dos órdenes de magnitud. Sin embargo, todavía son relativamente pequeños en comparación con los idiomas de muchos recursos como el inglés, el ruso o el alemán.

Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

En términos de números de artículos de Wikipedia, el turco es otro idioma en el mismo grupo de más de 100,000 artículos (28), junto con el urdu (54). En comparación con el urdu, el turco se consideraría un idioma de recursos intermedios. El turco tiene algunas características interesantes, que podrían hacer que los modelos lingüísticos sean más poderosos al crear ciertos desafíos en la lingüística y la tokenización. Es una lengua aglutinante. Tiene un orden de palabras muy libre, una morfología compleja o tiempos verbales sin equivalentes en inglés. Las frases formadas por varias palabras en idiomas como el inglés se pueden expresar con una sola palabra, como se muestra en el siguiente ejemplo.

Turco Inglés
gato Gato
gatoleer Gatos
gatogilleer Familia de gatos
felinosdía Perteneciente a la familia de gatos
gatoleştirebileceklerimizdenmişçesineyken Cuando parece que uno es uno de los que podemos hacer gato

Dos enfoques de solución principales son los modelos específicos del idioma o los modelos multilingües (con o sin supervisión entre idiomas):

  • Modelos de lenguaje monolingüe – El primer enfoque es aplicar una variante BERT a un idioma de destino específico. Cuantos más datos de entrenamiento, mejor será el rendimiento del modelo.
  • Modelos de lenguaje enmascarado multilingüe – El otro enfoque es entrenar previamente modelos de transformadores grandes en muchos idiomas. El modelado de idiomas multilingües tiene como objetivo resolver el desafío de la falta de datos para los idiomas de bajos recursos mediante el entrenamiento previo en una gran cantidad de idiomas para que las tareas de PNL aprendidas de un idioma puedan transferirse a otros idiomas. Los modelos de lenguaje enmascarado multilingüe (MLM) han impulsado el estado del arte en las tareas de comprensión entre idiomas. Dos ejemplos son:
    • BERT multilingüe – El modelo BERT multilingüe se entrenó en 104 idiomas diferentes utilizando el corpus de Wikipedia. Sin embargo, se ha demostrado que solo se generaliza bien en estructuras lingüísticas y características tipológicas similares (por ejemplo, idiomas con un orden de palabras similar). Su multilingüismo se ve disminuido especialmente para idiomas con diferentes órdenes de palabras (por ejemplo, sujeto/objeto/verbo) [4].
    • XLM-R – Los modelos lingüísticos cruzados (XLM) se entrenan con un objetivo cruzado utilizando conjuntos de datos paralelos (el mismo texto en dos idiomas diferentes) o sin un objetivo cruzado utilizando conjuntos de datos monolingües [6]. La investigación muestra que los idiomas de bajos recursos se benefician de escalar a más idiomas. XLM-RoBERTa es un modelo basado en transformadores inspirado en RoBERTa [5], y su punto de partida es la propuesta de que BERT multilingüe y XLM no están sintonizados. Está entrenado en 100 idiomas utilizando tanto Wikipedia como el corpus CommonCrawl, por lo que la cantidad de datos de entrenamiento para idiomas de bajos recursos es aproximadamente dos órdenes de magnitud mayor en comparación con m-BERT [7].

Otro desafío de los modelos de idiomas multilingües para idiomas de bajos recursos es el tamaño del vocabulario y la tokenización. Debido a que todos los idiomas usan el mismo vocabulario compartido en los modelos de idiomas multilingües, existe una compensación entre aumentar el tamaño del vocabulario (lo que aumenta los requisitos de cómputo) y disminuirlo (las palabras que no están presentes en el vocabulario se marcarían como desconocidas o se usarían caracteres en lugar de palabras como fichas ignoraría cualquier estructura). El algoritmo de tokenización de piezas de palabras combina los beneficios de ambos enfoques. Por ejemplo, maneja eficazmente las palabras fuera del vocabulario dividiendo la palabra en subpalabras hasta que esté presente en el vocabulario o hasta que se alcance el carácter individual. La tokenización basada en caracteres no es muy útil excepto para ciertos idiomas, como el chino. Existen técnicas para abordar los desafíos de los lenguajes de bajos recursos, como el muestreo con ciertas distribuciones [6].

La siguiente tabla muestra cómo se comportan tres tokenizadores diferentes para la palabra "kedileri" (que significa "sus gatos"). Para ciertos idiomas y tareas de PNL, esto marcaría la diferencia. Por ejemplo, para la tarea de respuesta de preguntas, el modelo devuelve el intervalo del índice de token de inicio y el índice de token de finalización; devolver "kediler" ("gatos") o "kedileri" ("sus gatos") perdería algo de contexto y conduciría a resultados de evaluación diferentes para ciertas métricas.

modelo preentrenado Tamaño del vocabulario Tokenización para “Kedileri”*
dbmdz/bert-base-turco-sin carcasa 32,000 Tokens [CLS] gatos ##i [SEP]
ID de entrada 2 23714 1023 3
Bert-base-multilingüe-sin carcasa 105,879 Tokens [CLS] ked ##iler ##i [SEP]
ID de entrada 101 30210 33719 10116 102
deepset/xlm-roberta-base-squad2 250,002 Tokens ke di leri
ID de entrada 0 1345 428 1341 .
*En inglés: (Its) cats

Por lo tanto, aunque los idiomas de bajos recursos se benefician de los modelos de idiomas multilingües, la tokenización en un vocabulario compartido puede ignorar algunas características lingüísticas de ciertos idiomas.

En la siguiente sección, comparamos tres enfoques ajustándolos para una tarea de respuesta a preguntas utilizando un conjunto de datos de control de calidad para turco: BERTurk [8], BERT multilingüe [4] y XLM-R [7].

Resumen de la solución

Nuestro flujo de trabajo es el siguiente:

  1. Preparar el conjunto de datos en un Estudio Amazon SageMaker entorno portátil y cárguelo en Servicio de almacenamiento simple de Amazon (Amazon S3).
  2. Inicie trabajos de capacitación paralelos en contenedores de aprendizaje profundo de capacitación de SageMaker al proporcionar el script de ajuste fino.
  3. Recopile metadatos de cada experimento.
  4. Compara resultados e identifica el modelo más adecuado.

El siguiente diagrama ilustra la arquitectura de la solución.

Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Para obtener más información sobre los portátiles Studio, consulte Sumérjase en la arquitectura de los portátiles de Amazon SageMaker Studio. Para obtener más información sobre cómo se integra Hugging Face con SageMaker, consulte AWS y Hugging Face colaboran para simplificar y acelerar la adopción de modelos de procesamiento de lenguaje natural.

Preparar el conjunto de datos

La biblioteca Hugging Face Datasets proporciona métodos de procesamiento de datos potentes para preparar rápidamente un conjunto de datos para el entrenamiento en un modelo de aprendizaje profundo. El siguiente código carga el conjunto de datos de control de calidad de Turquía y explora lo que hay dentro:

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

Hay alrededor de 9,000 muestras.

Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El conjunto de datos de entrada se transforma ligeramente en un formato esperado por los modelos previamente entrenados y contiene las siguientes columnas:

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

Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
La traducción al inglés de la salida es la siguiente:

  • contexto – Resit Emre Kongar (n. 13 de octubre de 1941, Estambul), sociólogo turco, profesor.
  • pregunta – ¿Cuál es el título académico de Emre Kongar?
  • https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be - Profesor

Guión de ajuste fino

La biblioteca Hugging Face Transformers proporciona un código de ejemplo para ajustar un modelo para una tarea de respuesta a preguntas, llamada run_qa.py. El siguiente código inicializa el entrenador:

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

Repasemos los componentes básicos a un alto nivel.

Tokenizer

El script carga un tokenizador usando el AutoTokenizer clase. La AutoTokenizer class se encarga de devolver el tokenizador correcto que corresponde al modelo:

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

El siguiente es un ejemplo de cómo funciona el tokenizador:

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

Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Modelo

El script carga un modelo. AutoModel clases (por ejemplo, AutoModelForQuestionAnswering) crea directamente una clase con pesos, configuración y vocabulario de la arquitectura relevante con el nombre y la ruta al modelo preentrenado. Gracias a la abstracción de Hugging Face, puedes cambiar fácilmente a un modelo diferente usando el mismo código, simplemente proporcionando el nombre del modelo. Consulte el siguiente código de ejemplo:

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

Preprocesamiento y entrenamiento

La prepare_train_features() y prepare_validation_features() Los métodos preprocesan el conjunto de datos de entrenamiento y los conjuntos de datos de validación, respectivamente. El código itera sobre el conjunto de datos de entrada y crea una secuencia a partir del contexto y la pregunta actual, con los identificadores de tipo de token (representaciones numéricas de tokens) y máscaras de atención correctos y específicos del modelo. Luego, la secuencia se pasa a través del modelo. Esto genera un rango de puntajes, tanto para las posiciones de inicio como para las finales, como se muestra en la siguiente tabla.

Campos de conjuntos de datos de entrada Campos de conjuntos de datos de entrenamiento preprocesados ​​para QuestionAnsweringTrainer
id id_entrada
título máscara_atención
contexto posiciones_de_inicio
pregunta posiciones_finales
Respuestas { answer_start, answer_text } .

Evaluación

La compute_metrics() El método se encarga de calcular las métricas. Utilizamos las siguientes métricas populares para tareas de respuesta a preguntas:

  • Coincidencia exacta – Mide el porcentaje de predicciones que coinciden exactamente con cualquiera de las respuestas de la verdad básica.
  • Puntuación F1 – Mide la superposición promedio entre la predicción y la respuesta real. La puntuación F1 es la media armónica de precisión y recuperación:
    • Precisión – La relación entre el número de palabras compartidas y el número total de palabras en la predicción.
    • Recordar – La relación entre el número de palabras compartidas y el número total de palabras en la verdad básica.

Capacitación administrada en SageMaker

Configurar y administrar entornos personalizados de aprendizaje automático (ML) puede llevar mucho tiempo y ser engorroso. Con Contenedor de aprendizaje profundo de AWS (DLC) para las bibliotecas de Hugging Face Transformers, tenemos acceso a marcos de trabajo de aprendizaje profundo preempaquetados y optimizados, lo que facilita la ejecución de nuestro script en múltiples trabajos de capacitación con un código adicional mínimo.

Solo tenemos que usar el Estimador de cara abrazada disponible en SageMaker Python SDK con las siguientes entradas:

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

Evaluar los resultados

Cuando se completan los trabajos de ajuste para la tarea de respuesta de preguntas en turco, comparamos el rendimiento del modelo de los tres enfoques:

  • Modelo de lenguaje monolingüe – El modelo pre-entrenado ajustado en el texto de respuesta a la pregunta turca se llama bert-base-turco-sin carcasa [8]. Logra una puntuación F1 de 75.63 y una puntuación de coincidencia exacta de 56.17 en solo dos épocas y con 9,000 elementos etiquetados. Sin embargo, este enfoque no es adecuado para un lenguaje de bajos recursos cuando no existe un modelo de lenguaje entrenado previamente o hay pocos datos disponibles para entrenar desde cero.
  • Modelo de idioma multilingüe con BERT multilingüe – El modelo pre-entrenado se llama Bert-base-multilingüe-sin carcasa. El artículo multilingüe del BERT [4] ha demostrado que se generaliza bien entre idiomas. Comparado con el modelo monolingüe, funciona peor (puntaje F1 71.73, coincidencia exacta 50:45), pero tenga en cuenta que este modelo maneja más de 100 idiomas, dejando menos espacio para representar el idioma turco.
  • Modelo de idioma multilingüe con XLM-R – El modelo pre-entrenado se llama xlm-roberta-base-squad2. El documento XLM-R muestra que es posible tener un solo modelo grande para más de 100 idiomas sin sacrificar el rendimiento por idioma [7]. Para la tarea de respuesta a preguntas en turco, supera las puntuaciones BERT multilingüe y BERT F1 monolingüe en un 5 % y un 2 %, respectivamente (puntuación F1 77.14, coincidencia exacta 56.39).

Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Nuestra comparación no tiene en cuenta otras diferencias entre los modelos, como la capacidad del modelo, los conjuntos de datos de entrenamiento utilizados, las tareas de NLP preentrenadas, el tamaño del vocabulario o la tokenización.

Experimentos adicionales

El cuaderno proporcionado contiene ejemplos de experimentos adicionales.

SageMaker proporciona una amplia variedad de tipos de instancias de capacitación. Ajustamos el modelo XLM-R en p3.2xlarge (GPU: GPU Nvidia V100, arquitectura GPU: Volta (2017)), p3.16xlarge (GPU: 8 GPU Nvidia V100) y g4dn.xlarge (GPU: Nvidia T4 GPU, arquitectura GPU: Turing (2018)), y observó lo siguiente:

  • Duración del entrenamiento – Según nuestro experimento, el modelo XLM-R tardó aproximadamente 24 minutos en entrenarse en p3.2xlarge y 30 minutos en g4dn.xlarge (alrededor de un 23 % más). También realizamos un ajuste fino distribuido en dos instancias p3.16xlarge y el tiempo de entrenamiento se redujo a 10 minutos. Para obtener más información sobre el entrenamiento distribuido de un modelo basado en transformadores en SageMaker, consulte Ajuste fino distribuido de un modelo BERT grande para una tarea de respuesta a preguntas mediante Hugging Face Transformers en Amazon SageMaker.
  • Costos de entrenamiento – Utilizamos la API de precios de AWS para obtener los precios bajo demanda de SageMaker para calcularlos sobre la marcha. Según nuestro experimento, el entrenamiento cuesta aproximadamente $1.58 en p3.2xlarge y unas cuatro veces menos en g4dn.xlarge ($0.37). El entrenamiento distribuido en dos instancias p3.16xlarge con 16 GPU cuesta $9.68.

Para resumir, aunque g4dn.xlarge fue la máquina menos costosa, también tardó aproximadamente tres veces más en entrenarse que el tipo de instancia más potente con el que experimentamos (dos p3.16xlarge). Según las prioridades de su proyecto, puede elegir entre una amplia variedad de tipos de instancias de capacitación de SageMaker.

Conclusión

En esta publicación, exploramos el ajuste fino de modelos de lenguaje basados ​​en transformadores previamente entrenados para una tarea de respuesta a preguntas para un idioma de recursos medios (en este caso, turco). Puede aplicar este enfoque a más de 100 idiomas diferentes utilizando un solo modelo. En el momento de escribir este artículo, ampliar un modelo para cubrir los 7,000 idiomas del mundo sigue siendo prohibitivo, pero el campo de la PNL brinda la oportunidad de ampliar nuestros horizontes.

El lenguaje es el principal método de comunicación humana, y es un medio para comunicar valores y compartir la belleza de un patrimonio cultural. La diversidad lingüística fortalece el diálogo intercultural y construye sociedades inclusivas.

ML es un proceso altamente iterativo; En el transcurso de un solo proyecto, los científicos de datos entrenan cientos de modelos, conjuntos de datos y parámetros diferentes en busca de la máxima precisión. SageMaker ofrece el conjunto de herramientas más completo para aprovechar el poder del aprendizaje automático y el aprendizaje profundo. Le permite organizar, rastrear, comparar y evaluar experimentos de ML a escala.

Hugging Face está integrado con SageMaker para ayudar a los científicos de datos a desarrollar, entrenar y ajustar modelos de NLP de última generación de forma más rápida y sencilla. Demostramos varios beneficios de usar los transformadores Hugging Face en Amazon SageMaker, como la capacitación y la experimentación a escala, y una mayor productividad y rentabilidad.

Puede experimentar con tareas de NLP en su idioma preferido en SageMaker en todas las regiones de AWS donde SageMaker está disponible. El código del cuaderno de ejemplo está disponible en GitHub.

Para saber cómo Amazon SageMaker Training Compiler puede acelerar el entrenamiento de modelos de aprendizaje profundo hasta en un 50 %, consulte Nuevo: presentación del compilador de capacitación de SageMaker.

Los autores desean expresar su más profundo agradecimiento a Mariano Kamp y Emily Webber por revisar los borradores y brindar asesoramiento.

Referencias

  1. J. Devlin et al., "BERT: Entrenamiento previo de transformadores bidireccionales profundos para la comprensión del lenguaje", (2018).
  2. A. Vaswani et al., “Todo lo que necesitas es atención”, (2017).
  3. J. Howard y S. Ruder, "Ajuste fino del modelo de lenguaje universal para la clasificación de textos", (2018).
  4. T. Pires et al., "¿Qué tan multilingüe es el BERT multilingüe?", (2019).
  5. Y. Liu et al., "RoBERTa: un enfoque de preentrenamiento BERT robustamente optimizado", (2019).
  6. G. Lample y A. Conneau, “Preentrenamiento del modelo de lenguaje multilingüe”, (2019).
  7. A. Conneau et al., "Aprendizaje de representación multilingüe no supervisado a escala", (2019).
  8. Stefan Schweter. BERTurk - Modelos BERT para turco (2020).
  9. Estadísticas wiki multilingües https://en.wikipedia.org/wiki/Wikipedia:Multilingual_statistics

Acerca de los autores

Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Arnav Khare es Arquitecto Principal de Soluciones para Servicios Financieros Globales en AWS. Su enfoque principal es ayudar a las instituciones de servicios financieros a crear y diseñar aplicaciones de análisis y aprendizaje automático en la nube. Arnav tiene una Maestría en Inteligencia Artificial de la Universidad de Edimburgo y tiene 18 años de experiencia en la industria, desde pequeñas empresas emergentes que fundó hasta grandes empresas como Nokia y Bank of America. Fuera del trabajo, a Arnav le encanta pasar tiempo con sus dos hijas, encontrar nuevas cafeterías independientes, leer y viajar. Puedes encontrarme en Etiqueta LinkedIn y en Surrey, Reino Unido en la vida real.

Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Hasan Basri AKIRMAK (BSc y MSc en Ingeniería Informática y Executive MBA en Graduate School of Business) es Arquitecto de Soluciones Senior en Amazon Web Services. Es un tecnólogo de negocios que asesora a clientes del segmento empresarial. Su área de especialidad es el diseño de arquitecturas y casos de negocio sobre sistemas de procesamiento de datos a gran escala y soluciones de Machine Learning. Hasan ha brindado desarrollo comercial, integración de sistemas y administración de programas para clientes en Europa, Medio Oriente y África. Desde 2016, asesoró a cientos de emprendedores en programas de incubación de empresas emergentes pro bono.

Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Heiko Hotz es arquitecto sénior de soluciones para IA y aprendizaje automático y lidera la comunidad de procesamiento de lenguaje natural (NLP) dentro de AWS. Antes de ocupar este puesto, fue director de ciencia de datos del servicio de atención al cliente de la UE de Amazon. Heiko ayuda a nuestros clientes a tener éxito en su viaje de IA/ML en AWS y ha trabajado con organizaciones en muchas industrias, incluidas las de seguros, servicios financieros, medios y entretenimiento, atención médica, servicios públicos y fabricación. En su tiempo libre, Heiko viaja tanto como puede.

Sello de tiempo:

Mas de Aprendizaje automático de AWS