BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding/paper/es

    From Marovi AI
    Other languages:
    SummarySource
    Research Paper
    Authors Jacob Devlin; Ming-Wei Chang; Kenton Lee; Kristina Toutanova
    Year 2018
    Topic area NLP
    Difficulty Research
    arXiv 1810.04805
    PDF Download PDF

    <span id="bert-pre-training-of-deep-bidirectional-transformers-for-language-understanding"> = BERT: pre-training profundo de Transformers bidireccionales para
    comprensión del lenguaje =

    Jacob Devlin Ming-Wei Chang Kenton Lee Kristina Toutanova
    Google AI Language
    {jacobdevlin,mingweichang,kentonl,kristout}@google.com

    Resumen

    Presentamos un nuevo modelo de representación del lenguaje llamado BERT, acrónimo de Bidirectional Encoder Representations from Transformers. A diferencia de los modelos recientes de representación del lenguaje Peters et al. (2018a); Radford et al. (2018), BERT está diseñado para preentrenar representaciones bidireccionales profundas a partir de texto no etiquetado condicionando conjuntamente sobre el contexto izquierdo y derecho en todas las capas. Como resultado, el modelo BERT preentrenado puede ser ajustado mediante fine-tuning con tan solo una capa de salida adicional para crear modelos de última generación para una amplia gama de tareas, como respuesta a preguntas e inferencia del lenguaje, sin modificaciones sustanciales de la arquitectura específica de cada tarea.

    BERT es conceptualmente simple y empíricamente potente. Obtiene nuevos resultados de última generación en once tareas de procesamiento de lenguaje natural, incluida la elevación de la puntuación GLUE al 80.5% (mejora absoluta de 7.7 puntos), de la precisión MultiNLI al 86.7% (mejora absoluta del 4.6%), del F1 de prueba en SQuAD v1.1 a 93.2 (mejora absoluta de 1.5 puntos) y del F1 de prueba en SQuAD v2.0 a 83.1 (mejora absoluta de 5.1 puntos).

    1 Introducción

    El pre-training de modelos de lenguaje ha demostrado ser eficaz para mejorar muchas tareas de procesamiento de lenguaje natural Dai and Le (2015); Peters et al. (2018a); Radford et al. (2018); Howard and Ruder (2018). Estas incluyen tareas a nivel de oración, como la inferencia de lenguaje natural Bowman et al. (2015); Williams et al. (2018) y la paráfrasis Dolan and Brockett (2005), que buscan predecir las relaciones entre oraciones analizándolas de manera holística, así como tareas a nivel de token, como el reconocimiento de entidades nombradas y la respuesta a preguntas, donde se requiere que los modelos produzcan resultados detallados a nivel de token Tjong Kim Sang and De Meulder (2003); Rajpurkar et al. (2016).

    Existen dos estrategias para aplicar las representaciones de lenguaje preentrenadas a tareas posteriores: basadas en características y fine-tuning. El enfoque basado en características, como ELMo Peters et al. (2018a), utiliza arquitecturas específicas de tarea que incluyen las representaciones preentrenadas como características adicionales. El enfoque de fine-tuning, como el Generative Pre-trained transformer (OpenAI GPT) Radford et al. (2018), introduce parámetros mínimos específicos de tarea, y se entrena en las tareas posteriores simplemente realizando fine-tuning de todos los parámetros preentrenados. Los dos enfoques comparten la misma función objetivo durante el pre-training, donde utilizan modelos de lenguaje unidireccionales para aprender representaciones generales del lenguaje.

    Argumentamos que las técnicas actuales restringen el poder de las representaciones preentrenadas, especialmente para los enfoques de fine-tuning. La principal limitación es que los modelos de lenguaje estándar son unidireccionales, y esto limita la elección de arquitecturas que pueden utilizarse durante el pre-training. Por ejemplo, en OpenAI GPT, los autores utilizan una arquitectura de izquierda a derecha, donde cada token solo puede atender a los tokens previos en las capas de auto-Lua error: Internal error: The interpreter exited with status 1. del Lua error: Internal error: The interpreter exited with status 1. Vaswani et al. (2017). Tales restricciones son subóptimas para tareas a nivel de oración, y pueden ser muy perjudiciales al aplicar enfoques basados en Lua error: Internal error: The interpreter exited with status 1. a tareas a nivel de token, como la respuesta a preguntas, donde es crucial incorporar contexto desde ambas direcciones.

    En este artículo, mejoramos los enfoques basados en Lua error: Internal error: The interpreter exited with status 1. proponiendo BERT: Bidirectional Encoder Representations from Lua error: Internal error: The interpreter exited with status 1.. BERT alivia la restricción de unidireccionalidad mencionada anteriormente utilizando un objetivo de Lua error: Internal error: The interpreter exited with status 1. de "modelo de lenguaje enmascarado" (MLM), inspirado en la tarea Cloze Taylor (1953). El modelo de lenguaje enmascarado oculta aleatoriamente algunos de los tokens de la entrada, y el objetivo es predecir el id de vocabulario original de la palabra enmascarada basándose únicamente en su contexto. A diferencia del Lua error: Internal error: The interpreter exited with status 1. de modelos de lenguaje de izquierda a derecha, el objetivo MLM permite que la representación fusione el contexto izquierdo y derecho, lo que nos permite preentrenar un Lua error: Internal error: The interpreter exited with status 1. bidireccional profundo. Además del modelo de lenguaje enmascarado, también utilizamos una tarea de "predicción de la siguiente oración" que preentrena conjuntamente representaciones de pares de texto. Las contribuciones de nuestro artículo son las siguientes:

    • Demostramos la importancia del Lua error: Internal error: The interpreter exited with status 1. bidireccional para las representaciones del lenguaje. A diferencia de Radford et al. (2018), que utiliza modelos de lenguaje unidireccionales para el Lua error: Internal error: The interpreter exited with status 1., BERT utiliza modelos de lenguaje enmascarados para habilitar representaciones bidireccionales profundas preentrenadas. Esto también contrasta con Peters et al. (2018a), que utiliza una concatenación superficial de LM independientemente entrenados de izquierda a derecha y de derecha a izquierda.

    • Mostramos que las representaciones preentrenadas reducen la necesidad de muchas arquitecturas específicas de tarea altamente diseñadas. BERT es el primer modelo de representación basado en Lua error: Internal error: The interpreter exited with status 1. que alcanza un rendimiento de última generación en una amplia colección de tareas a nivel de oración y a nivel de token, superando a muchas arquitecturas específicas de tarea.

    • BERT avanza el estado del arte en once tareas de NLP. El código y los modelos preentrenados están disponibles en https://github.com/google-research/bert.

    2 Trabajo relacionado

    Existe una larga historia de Lua error: Internal error: The interpreter exited with status 1. de representaciones generales del lenguaje, y revisamos brevemente los enfoques más utilizados en esta sección.

    2.1 Enfoques no supervisados basados en características

    El aprendizaje de representaciones ampliamente aplicables de palabras ha sido un área activa de investigación durante décadas, incluyendo métodos no neuronales Brown et al. (1992); Ando and Zhang (2005); Blitzer et al. (2006) y neuronales Mikolov et al. (2013); Pennington et al. (2014). Los Lua error: Internal error: The interpreter exited with status 1. de palabras preentrenados son una parte integral de los sistemas modernos de NLP, ofreciendo mejoras significativas sobre los Lua error: Internal error: The interpreter exited with status 1. aprendidos desde cero Turian et al. (2010). Para preentrenar vectores de Lua error: Internal error: The interpreter exited with status 1. de palabras, se han utilizado objetivos de modelado de lenguaje de izquierda a derecha Mnih and Hinton (2009), así como objetivos para discriminar palabras correctas de incorrectas en el contexto izquierdo y derecho Mikolov et al. (2013).

    Estos enfoques se han generalizado a granularidades más gruesas, como los Lua error: Internal error: The interpreter exited with status 1. de oraciones Kiros et al. (2015); Logeswaran and Lee (2018) o los Lua error: Internal error: The interpreter exited with status 1. de párrafos Le and Mikolov (2014). Para entrenar representaciones de oraciones, trabajos previos han utilizado objetivos para clasificar oraciones siguientes candidatas Jernite et al. (2017); Logeswaran and Lee (2018), generación de izquierda a derecha de palabras de la siguiente oración dada una representación de la oración previa Kiros et al. (2015), u objetivos derivados de autoencoders de eliminación de ruido Hill et al. (2016).

    Refer to caption

    ELMo y su predecesor Peters et al. (2017, 2018a) generalizan la investigación tradicional de Lua error: Internal error: The interpreter exited with status 1. de palabras en una dimensión diferente. Extraen características sensibles al contexto de un modelo de lenguaje de izquierda a derecha y de derecha a izquierda. La representación contextual de cada token es la concatenación de las representaciones de izquierda a derecha y de derecha a izquierda. Al integrar los Lua error: Internal error: The interpreter exited with status 1. contextuales de palabras con las arquitecturas específicas de tarea existentes, ELMo avanza el estado del arte en varios benchmarks importantes de NLP Peters et al. (2018a) incluyendo respuesta a preguntas Rajpurkar et al. (2016), análisis de sentimiento Socher et al. (2013) y reconocimiento de entidades nombradas Tjong Kim Sang and De Meulder (2003). Melamud et al. (2016) propusieron aprender representaciones contextuales mediante una tarea para predecir una sola palabra a partir tanto del contexto izquierdo como del derecho usando Lua error: Internal error: The interpreter exited with status 1.. Similar a ELMo, su modelo está basado en características y no es profundamente bidireccional. Fedus et al. (2018) muestra que la tarea cloze puede usarse para mejorar la robustez de los modelos de generación de texto.

    <span id="unsupervised-Lua error: Internal error: The interpreter exited with status 1.-approaches">

    2.2 Enfoques no supervisados de Lua error: Internal error: The interpreter exited with status 1.

    Al igual que con los enfoques basados en características, los primeros trabajos en esta dirección solo preentrenaban parámetros de Lua error: Internal error: The interpreter exited with status 1. de palabras a partir de texto no etiquetado Collobert and Weston (2008).

    Más recientemente, los codificadores de oraciones o documentos que producen representaciones contextuales de tokens se han preentrenado a partir de texto no etiquetado y se han ajustado mediante Lua error: Internal error: The interpreter exited with status 1. para una tarea supervisada posterior Dai and Le (2015); Howard and Ruder (2018); Radford et al. (2018). La ventaja de estos enfoques es que pocos parámetros necesitan aprenderse desde cero. Al menos en parte debido a esta ventaja, OpenAI GPT Radford et al. (2018) logró resultados de última generación previos en muchas tareas a nivel de oración del benchmark GLUE Wang et al. (2018a). El modelado de lenguaje de izquierda a derecha y los objetivos de autoencoder se han utilizado para el Lua error: Internal error: The interpreter exited with status 1. de tales modelos Howard and Ruder (2018); Radford et al. (2018); Dai and Le (2015).

    2.3 Aprendizaje por transferencia desde datos supervisados

    También ha habido trabajos que muestran una transferencia efectiva desde tareas supervisadas con grandes conjuntos de datos, como la inferencia de lenguaje natural Conneau et al. (2017) y la traducción automática McCann et al. (2017). La investigación en visión por computador también ha demostrado la importancia del aprendizaje por transferencia desde grandes modelos preentrenados, donde una receta efectiva es realizar Lua error: Internal error: The interpreter exited with status 1. de modelos preentrenados con ImageNet Deng et al. (2009); Yosinski et al. (2014).

    3 BERT

    Presentamos BERT y su implementación detallada en esta sección. Hay dos pasos en nuestro marco: Lua error: Internal error: The interpreter exited with status 1. y Lua error: Internal error: The interpreter exited with status 1.. Durante el Lua error: Internal error: The interpreter exited with status 1., el modelo se entrena con datos no etiquetados sobre diferentes tareas de Lua error: Internal error: The interpreter exited with status 1.. Para el Lua error: Internal error: The interpreter exited with status 1., el modelo BERT se inicializa primero con los parámetros preentrenados, y todos los parámetros se ajustan mediante Lua error: Internal error: The interpreter exited with status 1. usando datos etiquetados de las tareas posteriores. Cada tarea posterior tiene modelos ajustados separados, aunque se inicialicen con los mismos parámetros preentrenados. El ejemplo de respuesta a preguntas en la Figura 1 servirá como ejemplo recurrente para esta sección.

    Una característica distintiva de BERT es su arquitectura unificada a través de diferentes tareas. Hay una diferencia mínima entre la arquitectura preentrenada y la arquitectura final posterior.

    Arquitectura del modelo

    La arquitectura del modelo de BERT es un codificador Lua error: Internal error: The interpreter exited with status 1. bidireccional multicapa basado en la implementación original descrita en Vaswani et al. (2017) y publicada en la biblioteca tensor2tensor.111https://github.com/tensorflow/tensor2tensor Debido a que el uso de Lua error: Internal error: The interpreter exited with status 1. se ha vuelto común y nuestra implementación es casi idéntica a la original, omitiremos una descripción de fondo exhaustiva de la arquitectura del modelo y remitiremos a los lectores a Vaswani et al. (2017) así como a guías excelentes como "The Annotated Lua error: Internal error: The interpreter exited with status 1.".222http://nlp.seas.harvard.edu/2018/04/03/Lua error: Internal error: The interpreter exited with status 1..html

    En este trabajo, denotamos el número de capas (es decir, bloques Lua error: Internal error: The interpreter exited with status 1.) como $ {\textstyle L} $, el tamaño oculto como $ {\textstyle H} $, y el número de cabezas de auto-Lua error: Internal error: The interpreter exited with status 1. como $ {\textstyle A} $.333En todos los casos establecemos el tamaño feed-forward/filtro como $ {\textstyle 4\hspace{0pt}H} $, es decir, 3072 para $ {\textstyle H = 768} $ y 4096 para $ {\textstyle H = 1024} $. Reportamos principalmente resultados sobre dos tamaños de modelo: BERT$ {\textstyle _{\text{BASE}}} $ (L=12, H=768, A=12, parámetros totales=110M) y BERT$ {\textstyle _{\text{LARGE}}} $ (L=24, H=1024, A=16, parámetros totales=340M).

    BERT$ {\textstyle _{\text{BASE}}} $ fue elegido para tener el mismo tamaño de modelo que OpenAI GPT con fines de comparación. Sin embargo, de manera crítica, el Lua error: Internal error: The interpreter exited with status 1. de BERT utiliza auto-Lua error: Internal error: The interpreter exited with status 1. bidireccional, mientras que el Lua error: Internal error: The interpreter exited with status 1. de GPT utiliza auto-Lua error: Internal error: The interpreter exited with status 1. restringida donde cada token solo puede atender al contexto a su izquierda.444Notamos que en la literatura el Lua error: Internal error: The interpreter exited with status 1. bidireccional a menudo se denomina "codificador Lua error: Internal error: The interpreter exited with status 1.", mientras que la versión solo de contexto izquierdo se denomina "decodificador Lua error: Internal error: The interpreter exited with status 1.", ya que puede usarse para generación de texto.

    Representaciones de entrada/salida

    Para que BERT maneje una variedad de tareas posteriores, nuestra representación de entrada es capaz de representar de forma inequívoca tanto una sola oración como un par de oraciones (por ejemplo, $ {\textstyle \langle} $ Pregunta, Respuesta $ {\textstyle \rangle} $) en una sola secuencia de tokens. A lo largo de este trabajo, una "oración" puede ser un tramo arbitrario de texto contiguo, en lugar de una oración lingüística real. Una "secuencia" se refiere a la secuencia de tokens de entrada a BERT, que puede ser una sola oración o dos oraciones empaquetadas juntas.

    Utilizamos Lua error: Internal error: The interpreter exited with status 1. WordPiece Wu et al. (2016) con un vocabulario de 30,000 tokens. El primer token de cada secuencia es siempre un token especial de clasificación ([CLS]). El estado oculto final correspondiente a este token se utiliza como la representación agregada de la secuencia para tareas de clasificación. Los pares de oraciones se empaquetan juntos en una sola secuencia. Diferenciamos las oraciones de dos maneras. Primero, las separamos con un token especial ([SEP]). Segundo, añadimos un Lua error: Internal error: The interpreter exited with status 1. aprendido a cada token indicando si pertenece a la oración A o a la oración B. Como se muestra en la Figura 1, denotamos el Lua error: Internal error: The interpreter exited with status 1. de entrada como $ {\textstyle E} $, el vector oculto final del token especial [CLS] como $ {\textstyle C \in {\mathbb{R}}^{H}} $, y el vector oculto final para el $ {\textstyle i^{th}} $ token de entrada como $ {\textstyle T_{i} \in {\mathbb{R}}^{H}} $.

    Para un token dado, su representación de entrada se construye sumando los Lua error: Internal error: The interpreter exited with status 1. de token, segmento y posición correspondientes. Una visualización de esta construcción puede verse en la Figura 2.

    Refer to caption

    <span id="Lua error: Internal error: The interpreter exited with status 1.-bert">

    3.1 Lua error: Internal error: The interpreter exited with status 1. de BERT

    A diferencia de Peters et al. (2018a) y Radford et al. (2018), no utilizamos modelos de lenguaje tradicionales de izquierda a derecha o de derecha a izquierda para preentrenar BERT. En su lugar, preentrenamos BERT utilizando dos tareas no supervisadas, descritas en esta sección. Este paso se presenta en la parte izquierda de la Figura 1.

    Tarea #1: LM enmascarado

    Intuitivamente, es razonable creer que un modelo bidireccional profundo es estrictamente más potente que un modelo de izquierda a derecha o que la concatenación superficial de un modelo de izquierda a derecha y otro de derecha a izquierda. Desafortunadamente, los modelos de lenguaje condicional estándar solo pueden entrenarse de izquierda a derecha o de derecha a izquierda, ya que el condicionamiento bidireccional permitiría que cada palabra "se viera a sí misma" indirectamente, y el modelo podría predecir trivialmente la palabra objetivo en un contexto multicapa.

    Para entrenar una representación bidireccional profunda, simplemente enmascaramos un porcentaje de los tokens de entrada al azar, y luego predecimos esos tokens enmascarados. Nos referimos a este procedimiento como un "LM enmascarado" (MLM), aunque a menudo se denomina tarea Cloze en la literatura Taylor (1953). En este caso, los vectores ocultos finales correspondientes a los tokens de máscara se introducen en una salida Lua error: Internal error: The interpreter exited with status 1. sobre el vocabulario, como en un LM estándar. En todos nuestros experimentos, enmascaramos el 15% de todos los tokens WordPiece en cada secuencia al azar. A diferencia de los autoencoders de eliminación de ruido Vincent et al. (2008), solo predecimos las palabras enmascaradas en lugar de reconstruir toda la entrada.

    Aunque esto nos permite obtener un modelo preentrenado bidireccional, una desventaja es que estamos creando un desajuste entre el Lua error: Internal error: The interpreter exited with status 1. y el Lua error: Internal error: The interpreter exited with status 1., ya que el token [MASK] no aparece durante el Lua error: Internal error: The interpreter exited with status 1.. Para mitigar esto, no siempre reemplazamos las palabras "enmascaradas" con el token [MASK] real. El generador de datos de entrenamiento elige el 15% de las posiciones de tokens al azar para predicción. Si se elige el $ {\textstyle i} $-ésimo token, lo reemplazamos con (1) el token [MASK] el 80% del tiempo (2) un token aleatorio el 10% del tiempo (3) el $ {\textstyle i} $-ésimo token sin cambios el 10% del tiempo. Luego, $ {\textstyle T_{i}} $ se utilizará para predecir el token original con pérdida de entropía cruzada. Comparamos variaciones de este procedimiento en el Apéndice C.2.

    Tarea #2: Predicción de la siguiente oración (NSP)

    Muchas tareas posteriores importantes, como Question Answering (QA) y Natural Language Inference (NLI), se basan en comprender la relación entre dos oraciones, lo cual no se captura directamente mediante el modelado de lenguaje. Para entrenar un modelo que comprenda las relaciones entre oraciones, preentrenamos para una tarea binarizada de predicción de la siguiente oración que puede generarse trivialmente a partir de cualquier corpus monolingüe. Específicamente, al elegir las oraciones A y B para cada ejemplo de Lua error: Internal error: The interpreter exited with status 1., el 50% del tiempo B es la oración real que sigue a A (etiquetada como IsNext), y el 50% del tiempo es una oración aleatoria del corpus (etiquetada como NotNext). Como mostramos en la Figura 1, $ {\textstyle C} $ se utiliza para la predicción de la siguiente oración (NSP).555El modelo final logra entre 97% y 98% de precisión en NSP. A pesar de su simplicidad, demostramos en la Sección 5.1 que el Lua error: Internal error: The interpreter exited with status 1. hacia esta tarea es muy beneficioso tanto para QA como para NLI. 666El vector $ {\textstyle C} $ no es una representación significativa de la oración sin Lua error: Internal error: The interpreter exited with status 1., ya que fue entrenado con NSP. La tarea NSP está estrechamente relacionada con los objetivos de aprendizaje de representaciones utilizados en Jernite et al. (2017) y Logeswaran and Lee (2018). Sin embargo, en trabajos previos, solo los Lua error: Internal error: The interpreter exited with status 1. de oraciones se transfieren a las tareas posteriores, mientras que BERT transfiere todos los parámetros para inicializar los parámetros del modelo de la tarea final.

    Datos de Lua error: Internal error: The interpreter exited with status 1. El procedimiento de Lua error: Internal error: The interpreter exited with status 1. sigue en gran medida la literatura existente sobre Lua error: Internal error: The interpreter exited with status 1. de modelos de lenguaje. Para el corpus de Lua error: Internal error: The interpreter exited with status 1. utilizamos el BooksCorpus (800M palabras) Zhu et al. (2015) y Wikipedia en inglés (2,500M palabras). Para Wikipedia extraemos solo los pasajes de texto e ignoramos listas, tablas y encabezados. Es crítico utilizar un corpus a nivel de documento en lugar de un corpus de oraciones mezcladas como el Billion Word Benchmark Chelba et al. (2013) para extraer secuencias contiguas largas.

    <span id="Lua error: Internal error: The interpreter exited with status 1.-bert">

    3.2 Lua error: Internal error: The interpreter exited with status 1. de BERT

    El Lua error: Internal error: The interpreter exited with status 1. es directo, ya que el mecanismo de auto-Lua error: Internal error: The interpreter exited with status 1. en el Lua error: Internal error: The interpreter exited with status 1. permite a BERT modelar muchas tareas posteriores—ya sea que involucren texto único o pares de texto—simplemente intercambiando las entradas y salidas apropiadas. Para aplicaciones que involucran pares de texto, un patrón común es codificar pares de texto independientemente antes de aplicar Lua error: Internal error: The interpreter exited with status 1. cruzada bidireccional, como Parikh et al. (2016); Seo et al. (2017). En cambio, BERT utiliza el mecanismo de auto-Lua error: Internal error: The interpreter exited with status 1. para unificar estas dos etapas, ya que codificar un par de texto concatenado con auto-Lua error: Internal error: The interpreter exited with status 1. incluye efectivamente Lua error: Internal error: The interpreter exited with status 1. cruzada bidireccional entre dos oraciones.

    Para cada tarea, simplemente conectamos las entradas y salidas específicas de la tarea en BERT y ajustamos todos los parámetros de extremo a extremo mediante Lua error: Internal error: The interpreter exited with status 1.. En la entrada, las oraciones A y B del Lua error: Internal error: The interpreter exited with status 1. son análogas a (1) pares de oraciones en paráfrasis, (2) pares hipótesis-premisa en implicación, (3) pares pregunta-pasaje en respuesta a preguntas, y (4) un par texto-$ {\textstyle \varnothing} $ degenerado en clasificación de texto o etiquetado de secuencias. En la salida, las representaciones de tokens se introducen en una capa de salida para tareas a nivel de token, como el etiquetado de secuencias o la respuesta a preguntas, y la representación [CLS] se introduce en una capa de salida para clasificación, como implicación o análisis de sentimiento.

    En comparación con el Lua error: Internal error: The interpreter exited with status 1., el Lua error: Internal error: The interpreter exited with status 1. es relativamente económico. Todos los resultados del artículo pueden replicarse en a lo sumo 1 hora en una sola Cloud TPU, o unas pocas horas en una GPU, partiendo del mismo modelo preentrenado.777Por ejemplo, el modelo BERT SQuAD puede entrenarse en aproximadamente 30 minutos en una sola Cloud TPU para alcanzar una puntuación Dev F1 del 91.0%. Describimos los detalles específicos de la tarea en las subsecciones correspondientes de la Sección 4. Más detalles pueden encontrarse en el Apéndice A.5.

    System MNLI-(m/mm) QQP QNLI SST-2 CoLA STS-B MRPC RTE Average
    392k 363k 108k 67k 8.5k 5.7k 3.5k 2.5k -
    Pre-OpenAI SOTA 80.6/80.1 66.1 82.3 93.2 35.0 81.0 86.0 61.7 74.0
    BiLSTM+ELMo+Attn 76.4/76.1 64.8 79.8 90.4 36.0 73.3 84.9 56.8 71.0
    OpenAI GPT 82.1/81.4 70.3 87.4 91.3 45.4 80.0 82.3 56.0 75.1
    BERT$ {\textstyle _{\text{BASE}}} $ 84.6/83.4 71.2 90.5 93.5 52.1 85.8 88.9 66.4 79.6
    BERT$ {\textstyle _{\text{LARGE}}} $ 86.7/85.9 72.1 92.7 94.9 60.5 86.5 89.3 70.1 82.1

    99footnotetext: Véase (10) en https://gluebenchmark.com/faq.

    4 Experimentos

    En esta sección, presentamos los resultados de Lua error: Internal error: The interpreter exited with status 1. de BERT en 11 tareas de NLP.

    4.1 GLUE

    El benchmark General Language Understanding Evaluation (GLUE) Wang et al. (2018a) es una colección de diversas tareas de comprensión del lenguaje natural. Las descripciones detalladas de los conjuntos de datos de GLUE se incluyen en el Apéndice B.1.

    Para realizar Lua error: Internal error: The interpreter exited with status 1. en GLUE, representamos la secuencia de entrada (para una sola oración o pares de oraciones) como se describe en la Sección 3, y utilizamos el vector oculto final $ {\textstyle C \in {\mathbb{R}}^{H}} $ correspondiente al primer token de entrada ([CLS]) como representación agregada. Los únicos parámetros nuevos introducidos durante el Lua error: Internal error: The interpreter exited with status 1. son los pesos de la capa de clasificación $ {\textstyle W \in {\mathbb{R}}^{K \times H}} $, donde $ {\textstyle K} $ es el número de etiquetas. Calculamos una pérdida de clasificación estándar con $ {\textstyle C} $ y $ {\textstyle W} $, es decir, $ {\textstyle \log{({{softmax}\hspace{0pt}{({C\hspace{0pt}W^{T}})}})}} $.

    Utilizamos un tamaño de lote de 32 y realizamos Lua error: Internal error: The interpreter exited with status 1. durante 3 Lua error: Internal error: The interpreter exited with status 1. sobre los datos de todas las tareas GLUE. Para cada tarea, seleccionamos la mejor Lua error: Internal error: The interpreter exited with status 1. de Lua error: Internal error: The interpreter exited with status 1. (entre 5e-5, 4e-5, 3e-5 y 2e-5) en el conjunto Dev. Adicionalmente, para BERT$ {\textstyle _{\text{LARGE}}} $ encontramos que el Lua error: Internal error: The interpreter exited with status 1. a veces era inestable en conjuntos de datos pequeños, por lo que ejecutamos varios reinicios aleatorios y seleccionamos el mejor modelo en el conjunto Dev. Con reinicios aleatorios, utilizamos el mismo checkpoint preentrenado pero realizamos diferente mezcla de datos de Lua error: Internal error: The interpreter exited with status 1. e inicialización de la capa clasificadora.101010La distribución del conjunto de datos GLUE no incluye las etiquetas de prueba, y solo hicimos una única envío al servidor de evaluación GLUE para cada uno de BERT$ {\textstyle _{\text{BASE}}} $ y BERT$ {\textstyle _{\text{LARGE}}} $.

    Los resultados se presentan en la Tabla 9. Tanto BERT$ {\textstyle _{\text{BASE}}} $ como BERT$ {\textstyle _{\text{LARGE}}} $ superan a todos los sistemas en todas las tareas por un margen sustancial, obteniendo mejoras promedio de precisión del 4.5% y 7.0% respectivamente sobre el estado del arte previo. Nótese que BERT$ {\textstyle _{\text{BASE}}} $ y OpenAI GPT son casi idénticos en términos de arquitectura del modelo aparte del enmascaramiento de Lua error: Internal error: The interpreter exited with status 1.. Para la tarea GLUE más grande y ampliamente reportada, MNLI, BERT obtiene una mejora absoluta de precisión del 4.6%. En el ranking oficial de GLUE111111https://gluebenchmark.com/leaderboard, BERT$ {\textstyle _{\text{LARGE}}} $ obtiene una puntuación de 80.5, frente a OpenAI GPT, que obtiene 72.8 en la fecha de redacción.

    Encontramos que BERT$ {\textstyle _{\text{LARGE}}} $ supera significativamente a BERT$ {\textstyle _{\text{BASE}}} $ en todas las tareas, especialmente aquellas con muy pocos datos de entrenamiento. El efecto del tamaño del modelo se explora más detalladamente en la Sección 5.2.

    4.2 SQuAD v1.1

    El Stanford Question Answering Dataset (SQuAD v1.1) es una colección de 100k pares pregunta/respuesta crowdsourced Rajpurkar et al. (2016). Dada una pregunta y un pasaje de Wikipedia que contiene la respuesta, la tarea es predecir el tramo de texto de la respuesta en el pasaje.

    Como se muestra en la Figura 1, en la tarea de respuesta a preguntas, representamos la pregunta de entrada y el pasaje como una sola secuencia empaquetada, con la pregunta usando el Lua error: Internal error: The interpreter exited with status 1. A y el pasaje usando el Lua error: Internal error: The interpreter exited with status 1. B. Solo introducimos un vector de inicio $ {\textstyle S \in {\mathbb{R}}^{H}} $ y un vector de fin $ {\textstyle E \in {\mathbb{R}}^{H}} $ durante el Lua error: Internal error: The interpreter exited with status 1.. La probabilidad de que la palabra $ {\textstyle i} $ sea el inicio del tramo de respuesta se calcula como un producto escalar entre $ {\textstyle T_{i}} $ y $ {\textstyle S} $ seguido de un Lua error: Internal error: The interpreter exited with status 1. sobre todas las palabras del párrafo: $ {\textstyle P_{i} = \frac{e^{S \cdot T_{i}}}{\sum_{j}e^{S \cdot T_{j}}}} $. Se utiliza la fórmula análoga para el final del tramo de respuesta. La puntuación de un tramo candidato desde la posición $ {\textstyle i} $ hasta la posición $ {\textstyle j} $ se define como $ {\textstyle {S \cdot T_{i}} + {E \cdot T_{j}}} $, y se utiliza como predicción el tramo de máxima puntuación donde $ {\textstyle j \geq i} $. El objetivo de entrenamiento es la suma de las log-verosimilitudes de las posiciones de inicio y fin correctas. Realizamos Lua error: Internal error: The interpreter exited with status 1. durante 3 Lua error: Internal error: The interpreter exited with status 1. con una Lua error: Internal error: The interpreter exited with status 1. de 5e-5 y un tamaño de lote de 32.

    System Dev Test
    EM F1 EM F1
    Top Leaderboard Systems (Dec 10th, 2018)
    Human - - 82.3 91.2
    #1 Ensemble - nlnet - - 86.0 91.7
    #2 Ensemble - QANet - - 84.5 90.5
    Published
    BiDAF+ELMo (Single) - 85.6 - 85.8
    R.M. Reader (Ensemble) 81.2 87.9 82.3 88.5
    Ours
    BERT$ {\textstyle _{\text{BASE}}} $ (Single) 80.8 88.5 - -
    BERT$ {\textstyle _{\text{LARGE}}} $ (Single) 84.1 90.9 - -
    BERT$ {\textstyle _{\text{LARGE}}} $ (Ensemble) 85.8 91.8 - -
    BERT$ {\textstyle _{\text{LARGE}}} $ (Sgl.+TriviaQA) 84.2 91.1 85.1 91.8
    BERT$ {\textstyle _{\text{LARGE}}} $ (Ens.+TriviaQA) 86.2 92.2 87.4 93.2
    System Dev Test
    EM F1 EM F1
    Top Leaderboard Systems (Dec 10th, 2018)
    Human 86.3 89.0 86.9 89.5
    #1 Single - MIR-MRC (F-Net) - - 74.8 78.0
    #2 Single - nlnet - - 74.2 77.1
    Published
    unet (Ensemble) - - 71.4 74.9
    SLQA+ (Single) - 71.4 74.4
    Ours
    BERT$ {\textstyle _{\text{LARGE}}} $ (Single) 78.7 81.9 80.0 83.1

    La Tabla 2 muestra las entradas principales del ranking, así como los resultados de los principales sistemas publicados Seo et al. (2017); Clark and Gardner (2018); Peters et al. (2018a); Hu et al. (2018). Los mejores resultados del ranking de SQuAD no tienen descripciones públicas actualizadas del sistema disponibles,121212QANet se describe en Yu et al. (2018), pero el sistema ha mejorado sustancialmente después de la publicación. y se les permite usar cualquier dato público al entrenar sus sistemas. Por lo tanto, utilizamos un aumento modesto de datos en nuestro sistema realizando primero Lua error: Internal error: The interpreter exited with status 1. en TriviaQA Joshi et al. (2017) antes de realizar Lua error: Internal error: The interpreter exited with status 1. en SQuAD.

    Nuestro sistema con mejor desempeño supera al sistema líder del ranking en +1.5 F1 en ensamblaje y +1.3 F1 como sistema único. De hecho, nuestro modelo BERT único supera al sistema de ensamblaje líder en términos de puntuación F1. Sin los datos de Lua error: Internal error: The interpreter exited with status 1. de TriviaQA, solo perdemos 0.1-0.4 F1, superando aún a todos los sistemas existentes por un amplio margen.131313Los datos de TriviaQA que utilizamos consisten en párrafos de TriviaQA-Wiki formados por los primeros 400 tokens de los documentos, que contienen al menos una de las posibles respuestas proporcionadas.

    4.3 SQuAD v2.0

    La tarea SQuAD 2.0 extiende la definición del problema de SQuAD 1.1 al permitir la posibilidad de que no exista una respuesta corta en el párrafo proporcionado, haciendo el problema más realista.

    Utilizamos un enfoque simple para extender el modelo BERT de SQuAD v1.1 para esta tarea. Tratamos las preguntas que no tienen respuesta como si tuvieran un tramo de respuesta con inicio y fin en el token [CLS]. El espacio de probabilidad para las posiciones de inicio y fin del tramo de respuesta se extiende para incluir la posición del token [CLS]. Para la predicción, comparamos la puntuación del tramo sin respuesta: $ {\textstyle s_{\mathtt{n}\mathtt{u}\mathtt{l}\mathtt{l}} = {{S \cdot C} + {E \cdot C}}} $ con la puntuación del mejor tramo no nulo $ {\textstyle \hat{s_{i,j}}} $ = $ {\textstyle {{{\mathtt{m}\mathtt{a}\mathtt{x}}_{j \geq i}\hspace{0pt}S} \cdot T_{i}} + {E \cdot T_{j}}} $. Predecimos una respuesta no nula cuando $ {\textstyle \hat{s_{i,j}} > {s_{\mathtt{n}\mathtt{u}\mathtt{l}\mathtt{l}} + \tau}} $, donde el umbral $ {\textstyle \tau} $ se selecciona en el conjunto dev para maximizar F1. No usamos datos de TriviaQA para este modelo. Realizamos Lua error: Internal error: The interpreter exited with status 1. durante 2 Lua error: Internal error: The interpreter exited with status 1. con una Lua error: Internal error: The interpreter exited with status 1. de 5e-5 y un tamaño de lote de 48.

    Los resultados comparados con las entradas anteriores del ranking y los principales trabajos publicados Sun et al. (2018); Wang et al. (2018b) se muestran en la Tabla 3, excluyendo sistemas que utilizan BERT como uno de sus componentes. Observamos una mejora de +5.1 F1 sobre el sistema previo de mejor rendimiento.

    4.4 SWAG

    El conjunto de datos Situations With Adversarial Generations (SWAG) contiene 113k ejemplos de finalización de pares de oraciones que evalúan la inferencia de sentido común fundamentada Zellers et al. (2018). Dada una oración, la tarea consiste en elegir la continuación más plausible entre cuatro opciones.

    Al realizar Lua error: Internal error: The interpreter exited with status 1. en el conjunto de datos SWAG, construimos cuatro secuencias de entrada, cada una conteniendo la concatenación de la oración dada (oración A) y una posible continuación (oración B). Los únicos parámetros específicos de la tarea introducidos son un vector cuyo producto escalar con la representación del token [CLS] $ {\textstyle C} $ denota una puntuación para cada elección, la cual se normaliza con una capa Lua error: Internal error: The interpreter exited with status 1..

    Realizamos Lua error: Internal error: The interpreter exited with status 1. del modelo durante 3 Lua error: Internal error: The interpreter exited with status 1. con una Lua error: Internal error: The interpreter exited with status 1. de 2e-5 y un tamaño de lote de 16. Los resultados se presentan en la Tabla 4. BERT$ {\textstyle _{\text{LARGE}}} $ supera al sistema de referencia ESIM+ELMo de los autores en +27.1% y a OpenAI GPT en 8.3%.

    System Dev Test
    ESIM+GloVe 51.9 52.7
    ESIM+ELMo 59.1 59.2
    OpenAI GPT - 78.0
    BERT$ {\textstyle _{\text{BASE}}} $ 81.6 -
    BERT$ {\textstyle _{\text{LARGE}}} $ 86.6 86.3
    Human (expert) - 85.0
    Human (5 annotations) - 88.0

    5 Estudios de ablación

    En esta sección, realizamos experimentos de ablación sobre varias facetas de BERT para comprender mejor su importancia relativa. Pueden encontrarse estudios de ablación adicionales en el Apéndice C.

    <span id="effect-of-Lua error: Internal error: The interpreter exited with status 1.-tasks">

    5.1 Efecto de las tareas de Lua error: Internal error: The interpreter exited with status 1.

    Demostramos la importancia de la bidireccionalidad profunda de BERT evaluando dos objetivos de Lua error: Internal error: The interpreter exited with status 1. utilizando exactamente los mismos datos de Lua error: Internal error: The interpreter exited with status 1., esquema de Lua error: Internal error: The interpreter exited with status 1. e Lua error: Internal error: The interpreter exited with status 1. que BERT$ {\textstyle _{\text{BASE}}} $:
    No NSP: Un modelo bidireccional que se entrena utilizando el "LM enmascarado" (MLM) pero sin la tarea de "predicción de la siguiente oración" (NSP).
    LTR & No NSP: Un modelo solo de contexto izquierdo que se entrena utilizando un LM estándar de izquierda a derecha (LTR), en lugar de un MLM. La restricción solo de izquierda también se aplicó en el Lua error: Internal error: The interpreter exited with status 1., porque eliminarla introducía un desajuste pre-entrenamiento/Lua error: Internal error: The interpreter exited with status 1. que degradaba el rendimiento posterior. Adicionalmente, este modelo se preentrenó sin la tarea NSP. Esto es directamente comparable a OpenAI GPT, pero utilizando nuestro conjunto de entrenamiento más grande, nuestra representación de entrada y nuestro esquema de Lua error: Internal error: The interpreter exited with status 1..

    Dev Set
    Tasks MNLI-m QNLI MRPC SST-2 SQuAD
    (Acc) (Acc) (Acc) (Acc) (F1)
    BERT$ {\textstyle _{\text{BASE}}} $ 84.4 88.4 86.7 92.7 88.5
    No NSP 83.9 84.9 86.5 92.6 87.9
    LTR & No NSP 82.1 84.3 77.5 92.1 77.8
    + BiLSTM 82.1 84.1 75.7 91.6 84.9

    Primero examinamos el impacto causado por la tarea NSP. En la Tabla 5, mostramos que eliminar NSP perjudica significativamente el rendimiento en QNLI, MNLI y SQuAD 1.1. A continuación, evaluamos el impacto del entrenamiento de representaciones bidireccionales comparando "No NSP" con "LTR & No NSP". El modelo LTR rinde peor que el modelo MLM en todas las tareas, con grandes caídas en MRPC y SQuAD.

    Para SQuAD es intuitivamente claro que un modelo LTR rendirá mal en las predicciones de tokens, ya que los estados ocultos a nivel de token no tienen contexto del lado derecho. Para hacer un intento de buena fe por fortalecer el sistema LTR, añadimos un BiLSTM inicializado aleatoriamente en la parte superior. Esto mejora significativamente los resultados en SQuAD, pero los resultados siguen siendo mucho peores que los de los modelos bidireccionales preentrenados. El BiLSTM perjudica el rendimiento en las tareas GLUE.

    Reconocemos que también sería posible entrenar modelos LTR y RTL separados y representar cada token como la concatenación de los dos modelos, como hace ELMo. Sin embargo: (a) esto es el doble de costoso que un solo modelo bidireccional; (b) esto es no intuitivo para tareas como QA, ya que el modelo RTL no podría condicionar la respuesta a la pregunta; (c) esto es estrictamente menos potente que un modelo bidireccional profundo, ya que puede usar tanto contexto izquierdo como derecho en cada capa.

    5.2 Efecto del tamaño del modelo

    En esta sección, exploramos el efecto del tamaño del modelo en la precisión de la tarea de Lua error: Internal error: The interpreter exited with status 1.. Entrenamos varios modelos BERT con diferentes números de capas, unidades ocultas y cabezas de Lua error: Internal error: The interpreter exited with status 1., mientras que por lo demás utilizamos los mismos Lua error: Internal error: The interpreter exited with status 1. y procedimiento de entrenamiento descritos previamente.

    Los resultados sobre tareas GLUE seleccionadas se muestran en la Tabla 6. En esta tabla, reportamos la precisión promedio del conjunto Dev de 5 reinicios aleatorios de Lua error: Internal error: The interpreter exited with status 1.. Podemos ver que los modelos más grandes conducen a una mejora estricta en la precisión en los cuatro conjuntos de datos, incluso para MRPC, que solo tiene 3,600 ejemplos de entrenamiento etiquetados, y es sustancialmente diferente de las tareas de Lua error: Internal error: The interpreter exited with status 1.. También es quizás sorprendente que podamos lograr mejoras tan significativas sobre modelos que ya son bastante grandes con respecto a la literatura existente. Por ejemplo, el Lua error: Internal error: The interpreter exited with status 1. más grande explorado en Vaswani et al. (2017) es (L=6, H=1024, A=16) con 100M parámetros para el codificador, y el Lua error: Internal error: The interpreter exited with status 1. más grande que hemos encontrado en la literatura es (L=64, H=512, A=2) con 235M parámetros Al-Rfou et al. (2018). En contraste, BERT$ {\textstyle _{\text{BASE}}} $ contiene 110M parámetros y BERT$ {\textstyle _{\text{LARGE}}} $ contiene 340M parámetros.

    Hyperparams Dev Set Accuracy
    #L #H #A LM (ppl) MNLI-m MRPC SST-2
     3 768 12 5.84 77.9 79.8 88.4
    6 768 3 5.24 80.6 82.2 90.7
    6 768 12 4.68 81.9 84.8 91.3
    12 768 12 3.99 84.4 86.7 92.9
    12 1024 16 3.54 85.7 86.9 93.3
    24 1024 16 3.23 86.6 87.8 93.7

    Desde hace tiempo se sabe que aumentar el tamaño del modelo conducirá a mejoras continuas en tareas a gran escala como la traducción automática y el modelado de lenguaje, lo cual se demuestra mediante la perplejidad LM en datos de entrenamiento retenidos mostrada en la Tabla 6. Sin embargo, creemos que este es el primer trabajo en demostrar de manera convincente que escalar a tamaños de modelo extremos también conduce a grandes mejoras en tareas a muy pequeña escala, siempre que el modelo haya sido suficientemente preentrenado. Peters et al. (2018b) presentaron resultados mixtos sobre el impacto en tareas posteriores de aumentar el tamaño del bi-LM preentrenado de dos a cuatro capas y Melamud et al. (2016) mencionaron de pasada que aumentar el tamaño de la dimensión oculta de 200 a 600 ayudó, pero aumentar más a 1,000 no produjo más mejoras. Ambos trabajos previos utilizaron un enfoque basado en características — hipotetizamos que cuando el modelo se ajusta directamente mediante Lua error: Internal error: The interpreter exited with status 1. en las tareas posteriores y utiliza solo un número muy pequeño de parámetros adicionales inicializados aleatoriamente, los modelos específicos de tarea pueden beneficiarse de las representaciones preentrenadas más grandes y expresivas incluso cuando los datos de la tarea posterior son muy pequeños.

    5.3 Enfoque basado en características con BERT

    Todos los resultados de BERT presentados hasta ahora han utilizado el enfoque de Lua error: Internal error: The interpreter exited with status 1., donde se añade una simple capa de clasificación al modelo preentrenado, y todos los parámetros se ajustan conjuntamente mediante Lua error: Internal error: The interpreter exited with status 1. en una tarea posterior. Sin embargo, el enfoque basado en características, donde se extraen características fijas del modelo preentrenado, tiene ciertas ventajas. Primero, no todas las tareas pueden representarse fácilmente mediante una arquitectura de codificador Lua error: Internal error: The interpreter exited with status 1., y por lo tanto requieren añadir una arquitectura de modelo específica de la tarea. Segundo, hay grandes beneficios computacionales al precomputar una representación costosa de los datos de entrenamiento una vez y luego ejecutar muchos experimentos con modelos más baratos sobre esta representación.

    En esta sección, comparamos los dos enfoques aplicando BERT a la tarea CoNLL-2003 Named Entity Recognition (NER) Tjong Kim Sang and De Meulder (2003). En la entrada de BERT, utilizamos un modelo WordPiece que preserva las mayúsculas, e incluimos el contexto máximo de documento proporcionado por los datos. Siguiendo la práctica estándar, formulamos esto como una tarea de etiquetado pero no utilizamos una capa CRF en la salida. Utilizamos la representación del primer sub-token como entrada al clasificador a nivel de token sobre el conjunto de etiquetas NER.

    Para realizar la ablación del enfoque de Lua error: Internal error: The interpreter exited with status 1., aplicamos el enfoque basado en características extrayendo las Lua error: Internal error: The interpreter exited with status 1. de una o más capas sin realizar Lua error: Internal error: The interpreter exited with status 1. de ningún parámetro de BERT. Estos Lua error: Internal error: The interpreter exited with status 1. contextuales se utilizan como entrada a un BiLSTM inicializado aleatoriamente de dos capas y 768 dimensiones antes de la capa de clasificación.

    Los resultados se presentan en la Tabla 7. BERT$ {\textstyle _{\text{LARGE}}} $ compite con los métodos de última generación. El método de mejor rendimiento concatena las representaciones de tokens de las cuatro capas ocultas superiores del Lua error: Internal error: The interpreter exited with status 1. preentrenado, lo cual está solo a 0.3 F1 detrás del Lua error: Internal error: The interpreter exited with status 1. del modelo completo. Esto demuestra que BERT es eficaz tanto para enfoques de Lua error: Internal error: The interpreter exited with status 1. como basados en características.

    System Dev F1 Test F1
    ELMo Peters et al. (2018a) 95.7 92.2
    CVT Clark et al. (2018) - 92.6
    CSE Akbik et al. (2018) - 93.1
    Lua error: Internal error: The interpreter exited with status 1. approach
    BERT$ {\textstyle _{\text{LARGE}}} $ 96.6 92.8
    BERT$ {\textstyle _{\text{BASE}}} $ 96.4 92.4
    Feature-based approach (BERT$ {\textstyle _{\text{BASE}}} $)
    Lua error: Internal error: The interpreter exited with status 1. 91.0 -
    Second-to-Last Hidden 95.6 -
    Last Hidden 94.9 -
    Weighted Sum Last Four Hidden 95.9 -
    Concat Last Four Hidden 96.1 -
    Weighted Sum All 12 Layers 95.5 -

    6 Conclusión

    Las recientes mejoras empíricas debidas al aprendizaje por transferencia con modelos de lenguaje han demostrado que el Lua error: Internal error: The interpreter exited with status 1. no supervisado y rico es una parte integral de muchos sistemas de comprensión del lenguaje. En particular, estos resultados permiten que incluso las tareas con pocos recursos se beneficien de las arquitecturas unidireccionales profundas. Nuestra principal contribución es generalizar aún más estos hallazgos a arquitecturas bidireccionales profundas, permitiendo que el mismo modelo preentrenado aborde con éxito un amplio conjunto de tareas de NLP.

    Referencias

    • Akbik et al. (2018) Alan Akbik, Duncan Blythe, and Roland Vollgraf. 2018. Contextual string Lua error: Internal error: The interpreter exited with status 1. for sequence labeling. In Proceedings of the 27th International Conference on Computational Linguistics, pages 1638–1649.
    • Al-Rfou et al. (2018) Rami Al-Rfou, Dokook Choe, Noah Constant, Mandy Guo, and Llion Jones. 2018. Character-level language modeling with deeper self-Lua error: Internal error: The interpreter exited with status 1.. arXiv preprint arXiv:1808.04444.
    • Ando and Zhang (2005) Rie Kubota Ando and Tong Zhang. 2005. A framework for learning predictive structures from multiple tasks and unlabeled data. Journal of Machine Learning Research, 6(Nov):1817–1853.
    • Bentivogli et al. (2009) Luisa Bentivogli, Bernardo Magnini, Ido Dagan, Hoa Trang Dang, and Danilo Giampiccolo. 2009. The fifth PASCAL recognizing textual entailment challenge. In TAC. NIST.
    • Blitzer et al. (2006) John Blitzer, Ryan McDonald, and Fernando Pereira. 2006. Lua error: Internal error: The interpreter exited with status 1. with structural correspondence learning. In Proceedings of the 2006 conference on empirical methods in natural language processing, pages 120–128. Association for Computational Linguistics.
    • Bowman et al. (2015) Samuel R. Bowman, Gabor Angeli, Christopher Potts, and Christopher D. Manning. 2015. A large annotated corpus for learning natural language inference. In EMNLP. Association for Computational Linguistics.
    • Brown et al. (1992) Peter F Brown, Peter V Desouza, Robert L Mercer, Vincent J Della Pietra, and Jenifer C Lai. 1992. Class-based n-gram models of natural language. Computational linguistics, 18(4):467–479.
    • Cer et al. (2017) Daniel Cer, Mona Diab, Eneko Agirre, Inigo Lopez-Gazpio, and Lucia Specia. 2017. Semeval-2017 task 1: Semantic textual similarity multilingual and crosslingual focused evaluation. In Proceedings of the 11th International Workshop on Semantic Evaluation (SemEval-2017), pages 1–14, Vancouver, Canada. Association for Computational Linguistics.
    • Chelba et al. (2013) Ciprian Chelba, Tomas Mikolov, Mike Schuster, Qi Ge, Thorsten Brants, Phillipp Koehn, and Tony Robinson. 2013. One billion word benchmark for measuring progress in statistical language modeling. arXiv preprint arXiv:1312.3005.
    • Chen et al. (2018) Z. Chen, H. Zhang, X. Zhang, and L. Zhao. 2018. Quora question pairs.
    • Clark and Gardner (2018) Christopher Clark and Matt Gardner. 2018. Simple and effective multi-paragraph reading comprehension. In ACL.
    • Clark et al. (2018) Kevin Clark, Minh-Thang Luong, Christopher D Manning, and Quoc Le. 2018. Semi-supervised sequence modeling with cross-view training. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 1914–1925.
    • Collobert and Weston (2008) Ronan Collobert and Jason Weston. 2008. A unified architecture for natural language processing: Deep neural networks with multitask learning. In Proceedings of the 25th international conference on Machine learning, pages 160–167. ACM.
    • Conneau et al. (2017) Alexis Conneau, Douwe Kiela, Holger Schwenk, Loïc Barrault, and Antoine Bordes. 2017. Supervised learning of universal sentence representations from natural language inference data. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, pages 670–680, Copenhagen, Denmark. Association for Computational Linguistics.
    • Dai and Le (2015) Andrew M Dai and Quoc V Le. 2015. Semi-supervised sequence learning. In Advances in neural information processing systems, pages 3079–3087.
    • Deng et al. (2009) J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. 2009. ImageNet: A Large-Scale Hierarchical Image Database. In CVPR09.
    • Dolan and Brockett (2005) William B Dolan and Chris Brockett. 2005. Automatically constructing a corpus of sentential paraphrases. In Proceedings of the Third International Workshop on Paraphrasing (IWP2005).
    • Fedus et al. (2018) William Fedus, Ian Goodfellow, and Andrew M Dai. 2018. Maskgan: Better text generation via filling in the_. arXiv preprint arXiv:1801.07736.
    • Hendrycks and Gimpel (2016) Dan Hendrycks and Kevin Gimpel. 2016. Bridging nonlinearities and stochastic regularizers with gaussian error linear units. CoRR, abs/1606.08415.
    • Hill et al. (2016) Felix Hill, Kyunghyun Cho, and Anna Korhonen. 2016. Learning distributed representations of sentences from unlabelled data. In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Association for Computational Linguistics.
    • Howard and Ruder (2018) Jeremy Howard and Sebastian Ruder. 2018. Universal language model fine-tuning for text classification. In ACL. Association for Computational Linguistics.
    • Hu et al. (2018) Minghao Hu, Yuxing Peng, Zhen Huang, Xipeng Qiu, Furu Wei, and Ming Zhou. 2018. Reinforced mnemonic reader for machine reading comprehension. In IJCAI.
    • Jernite et al. (2017) Yacine Jernite, Samuel R. Bowman, and David Sontag. 2017. Discourse-based objectives for fast unsupervised sentence representation learning. CoRR, abs/1705.00557.
    • Joshi et al. (2017) Mandar Joshi, Eunsol Choi, Daniel S Weld, and Luke Zettlemoyer. 2017. Triviaqa: A large scale distantly supervised challenge dataset for reading comprehension. In ACL.
    • Kiros et al. (2015) Ryan Kiros, Yukun Zhu, Ruslan R Salakhutdinov, Richard Zemel, Raquel Urtasun, Antonio Torralba, and Sanja Fidler. 2015. Skip-thought vectors. In Advances in neural information processing systems, pages 3294–3302.
    • Le and Mikolov (2014) Quoc Le and Tomas Mikolov. 2014. Distributed representations of sentences and documents. In International Conference on Machine Learning, pages 1188–1196.
    • Levesque et al. (2011) Hector J Levesque, Ernest Davis, and Leora Morgenstern. 2011. The winograd schema challenge. In Aaai spring symposium: Logical formalizations of commonsense reasoning, volume 46, page 47.
    • Logeswaran and Lee (2018) Lajanugen Logeswaran and Honglak Lee. 2018. An efficient framework for learning sentence representations. In International Conference on Learning Representations.
    • McCann et al. (2017) Bryan McCann, James Bradbury, Caiming Xiong, and Richard Socher. 2017. Learned in translation: Contextualized word vectors. In NIPS.
    • Melamud et al. (2016) Oren Melamud, Jacob Goldberger, and Ido Dagan. 2016. context2vec: Learning generic context Lua error: Internal error: The interpreter exited with status 1. with bidirectional Lua error: Internal error: The interpreter exited with status 1.. In CoNLL.
    • Mikolov et al. (2013) Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. 2013. Distributed representations of words and phrases and their compositionality. In Advances in Neural Information Processing Systems 26, pages 3111–3119. Curran Associates, Inc.
    • Mnih and Hinton (2009) Andriy Mnih and Geoffrey E Hinton. 2009. A scalable hierarchical distributed language model. In D. Koller, D. Schuurmans, Y. Bengio, and L. Bottou, editors, Advances in Neural Information Processing Systems 21, pages 1081–1088. Curran Associates, Inc.
    • Parikh et al. (2016) Ankur P Parikh, Oscar Täckström, Dipanjan Das, and Jakob Uszkoreit. 2016. A decomposable Lua error: Internal error: The interpreter exited with status 1. model for natural language inference. In EMNLP.
    • Pennington et al. (2014) Jeffrey Pennington, Richard Socher, and Christopher D. Manning. 2014. Glove: Global vectors for word representation. In Empirical Methods in Natural Language Processing (EMNLP), pages 1532–1543.
    • Peters et al. (2017) Matthew Peters, Waleed Ammar, Chandra Bhagavatula, and Russell Power. 2017. Semi-supervised sequence tagging with bidirectional language models. In ACL.
    • Peters et al. (2018a) Matthew Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, and Luke Zettlemoyer. 2018a. Deep contextualized word representations. In NAACL.
    • Peters et al. (2018b) Matthew Peters, Mark Neumann, Luke Zettlemoyer, and Wen-tau Yih. 2018b. Dissecting contextual word Lua error: Internal error: The interpreter exited with status 1.: Architecture and representation. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 1499–1509.
    • Radford et al. (2018) Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. 2018. Improving language understanding with unsupervised learning. Technical report, OpenAI.
    • Rajpurkar et al. (2016) Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. 2016. Squad: 100,000+ questions for machine comprehension of text. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pages 2383–2392.
    • Seo et al. (2017) Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, and Hannaneh Hajishirzi. 2017. Bidirectional Lua error: Internal error: The interpreter exited with status 1. flow for machine comprehension. In ICLR.
    • Socher et al. (2013) Richard Socher, Alex Perelygin, Jean Wu, Jason Chuang, Christopher D Manning, Andrew Ng, and Christopher Potts. 2013. Recursive deep models for semantic compositionality over a sentiment treebank. In Proceedings of the 2013 conference on empirical methods in natural language processing, pages 1631–1642.
    • Sun et al. (2018) Fu Sun, Linyang Li, Xipeng Qiu, and Yang Liu. 2018. U-net: Machine reading comprehension with unanswerable questions. arXiv preprint arXiv:1810.06638.
    • Taylor (1953) Wilson L Taylor. 1953. “Cloze procedure”: A new tool for measuring readability. Journalism Bulletin, 30(4):415–433.
    • Tjong Kim Sang and De Meulder (2003) Erik F Tjong Kim Sang and Fien De Meulder. 2003. Introduction to the conll-2003 shared task: Language-independent named entity recognition. In CoNLL.
    • Turian et al. (2010) Joseph Turian, Lev Ratinov, and Yoshua Bengio. 2010. Word representations: A simple and general method for semi-supervised learning. In Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics, ACL ’10, pages 384–394.
    • Vaswani et al. (2017) Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. Lua error: Internal error: The interpreter exited with status 1. is all you need. In Advances in Neural Information Processing Systems, pages 6000–6010.
    • Vincent et al. (2008) Pascal Vincent, Hugo Larochelle, Yoshua Bengio, and Pierre-Antoine Manzagol. 2008. Extracting and composing robust features with denoising autoencoders. In Proceedings of the 25th international conference on Machine learning, pages 1096–1103. ACM.
    • Wang et al. (2018a) Alex Wang, Amanpreet Singh, Julian Michael, Felix Hill, Omer Levy, and Samuel Bowman. 2018a. Glue: A multi-task benchmark and analysis platform for natural language understanding. In Proceedings of the 2018 EMNLP Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP, pages 353–355.
    • Wang et al. (2018b) Wei Wang, Ming Yan, and Chen Wu. 2018b. Multi-granularity hierarchical Lua error: Internal error: The interpreter exited with status 1. fusion networks for reading comprehension and question answering. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Association for Computational Linguistics.
    • Warstadt et al. (2018) Alex Warstadt, Amanpreet Singh, and Samuel R Bowman. 2018. Neural network acceptability judgments. arXiv preprint arXiv:1805.12471.
    • Williams et al. (2018) Adina Williams, Nikita Nangia, and Samuel R Bowman. 2018. A broad-coverage challenge corpus for sentence understanding through inference. In NAACL.
    • Wu et al. (2016) Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, et al. 2016. Google’s neural machine translation system: Bridging the gap between human and machine translation. arXiv preprint arXiv:1609.08144.
    • Yosinski et al. (2014) Jason Yosinski, Jeff Clune, Yoshua Bengio, and Hod Lipson. 2014. How transferable are features in deep neural networks? In Advances in neural information processing systems, pages 3320–3328.
    • Yu et al. (2018) Lua error: Internal error: The interpreter exited with status 1. Wei Yu, David Dohan, Minh-Thang Luong, Rui Zhao, Kai Chen, Mohammad Norouzi, and Quoc V Le. 2018. QANet: Combining local Lua error: Internal error: The interpreter exited with status 1. with global self-Lua error: Internal error: The interpreter exited with status 1. for reading comprehension. In ICLR.
    • Zellers et al. (2018) Rowan Zellers, Yonatan Bisk, Roy Schwartz, and Yejin Choi. 2018. Swag: A large-scale adversarial dataset for grounded commonsense inference. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing (EMNLP).
    • Zhu et al. (2015) Yukun Zhu, Ryan Kiros, Rich Zemel, Ruslan Salakhutdinov, Raquel Urtasun, Antonio Torralba, and Sanja Fidler. 2015. Aligning books and movies: Towards story-like visual explanations by watching movies and reading books. In Proceedings of the IEEE international conference on computer vision, pages 19–27.

    Apéndice de "BERT: Lua error: Internal error: The interpreter exited with status 1. de Lua error: Internal error: The interpreter exited with status 1. bidireccionales profundos para la comprensión del lenguaje"

    Organizamos el apéndice en tres secciones:

    • Detalles adicionales de implementación de BERT se presentan en el Apéndice A;

    • Detalles adicionales de nuestros experimentos se presentan en el Apéndice B; y

    • Estudios de ablación adicionales se presentan en el Apéndice C.

      Presentamos estudios de ablación adicionales para BERT incluyendo:

      • Efecto del número de pasos de entrenamiento; y

      • Ablación para diferentes procedimientos de enmascaramiento.

    Apéndice A Detalles adicionales para BERT

    Refer to caption

    <span id="a.1-illustration-of-the-Lua error: Internal error: The interpreter exited with status 1.-tasks">

    A.1 Ilustración de las tareas de Lua error: Internal error: The interpreter exited with status 1.

    Proporcionamos ejemplos de las tareas de Lua error: Internal error: The interpreter exited with status 1. a continuación.

    LM enmascarado y el procedimiento de enmascaramiento

    Suponiendo que la oración no etiquetada es my dog is hairy, y durante el procedimiento de enmascaramiento aleatorio elegimos el 4º token (que corresponde a hairy), nuestro procedimiento de enmascaramiento puede ilustrarse aún más mediante

    • El 80% del tiempo: Reemplazar la palabra con el token [MASK], p. ej., my dog is hairy →→\rightarrow my dog is [MASK]

    • El 10% del tiempo: Reemplazar la palabra con una palabra aleatoria, p. ej., my dog is hairy →→\rightarrow my dog is apple

    • El 10% del tiempo: Mantener la palabra sin cambios, p. ej., my dog is hairy →→\rightarrow my dog is hairy. El propósito de esto es sesgar la representación hacia la palabra realmente observada.

    La ventaja de este procedimiento es que el codificador Lua error: Internal error: The interpreter exited with status 1. no sabe qué palabras se le pedirá predecir o cuáles han sido reemplazadas por palabras aleatorias, por lo que se ve forzado a mantener una representación contextual distribucional de cada token de entrada. Adicionalmente, debido a que el reemplazo aleatorio solo ocurre para el 1.5% de todos los tokens (es decir, el 10% del 15%), esto no parece dañar la capacidad de comprensión del lenguaje del modelo. En la Sección C.2, evaluamos el impacto de este procedimiento.

    En comparación con el entrenamiento estándar de modelos de lenguaje, el LM enmascarado solo realiza predicciones sobre el 15% de los tokens en cada lote, lo que sugiere que pueden requerirse más pasos de Lua error: Internal error: The interpreter exited with status 1. para que el modelo converja. En la Sección C.1 demostramos que MLM converge marginalmente más lento que un modelo de izquierda a derecha (que predice cada token), pero las mejoras empíricas del modelo MLM superan ampliamente el aumento del costo de entrenamiento.

    Predicción de la siguiente oración

    La tarea de predicción de la siguiente oración puede ilustrarse en los siguientes ejemplos.

    Input $ {\textstyle = \text{[CLS] the man went to [MASK] store [SEP]}} $
           he bought a gallon [MASK] milk [SEP]
    Label $ {\textstyle = \text{IsNext}} $
    Input $ {\textstyle = \text{[CLS] the man [MASK] to the store [SEP]}} $
           penguin [MASK] are flight ##less birds [SEP]
    Label $ {\textstyle = \text{NotNext}} $

    <span id="a.2-Lua error: Internal error: The interpreter exited with status 1.-procedure">

    A.2 Procedimiento de Lua error: Internal error: The interpreter exited with status 1.

    Para generar cada secuencia de entrada de entrenamiento, muestreamos dos tramos de texto del corpus, a los que nos referimos como "oraciones" aunque típicamente son mucho más largos que oraciones individuales (pero también pueden ser más cortos). La primera oración recibe el Lua error: Internal error: The interpreter exited with status 1. A y la segunda recibe el Lua error: Internal error: The interpreter exited with status 1. B. El 50% del tiempo B es la oración real que sigue a A y el 50% del tiempo es una oración aleatoria, lo cual se hace para la tarea de "predicción de la siguiente oración". Se muestrean de manera que la longitud combinada sea $ {\textstyle \leq} $ 512 tokens. El enmascaramiento del LM se aplica después de la Lua error: Internal error: The interpreter exited with status 1. WordPiece con una tasa de enmascaramiento uniforme del 15%, y sin consideración especial para fragmentos parciales de palabras.

    Entrenamos con un tamaño de lote de 256 secuencias (256 secuencias * 512 tokens = 128,000 tokens/lote) durante 1,000,000 pasos, lo cual es aproximadamente 40 Lua error: Internal error: The interpreter exited with status 1. sobre el corpus de 3.3 mil millones de palabras. Utilizamos Lua error: Internal error: The interpreter exited with status 1. con Lua error: Internal error: The interpreter exited with status 1. de 1e-4, $ {\textstyle \beta_{1} = 0.9} $, $ {\textstyle \beta_{2} = 0.999} $, Lua error: Internal error: The interpreter exited with status 1. L2 de $ {\textstyle 0.01} $, calentamiento de la Lua error: Internal error: The interpreter exited with status 1. sobre los primeros 10,000 pasos y decaimiento lineal de la Lua error: Internal error: The interpreter exited with status 1.. Utilizamos una probabilidad de Lua error: Internal error: The interpreter exited with status 1. de 0.1 en todas las capas. Utilizamos una Lua error: Internal error: The interpreter exited with status 1. gelu Hendrycks and Gimpel (2016) en lugar de la relu estándar, siguiendo OpenAI GPT. La pérdida de entrenamiento es la suma de la verosimilitud media del LM enmascarado y la verosimilitud media de la predicción de la siguiente oración.

    El entrenamiento de BERT$ {\textstyle _{\text{BASE}}} $ se realizó en 4 Cloud TPUs en configuración Pod (16 chips TPU en total).141414https://cloudplatform.googleblog.com/2018/06/Cloud-TPU-now-offers-preemptible-pricing-and-global-availability.html El entrenamiento de BERT$ {\textstyle _{\text{LARGE}}} $ se realizó en 16 Cloud TPUs (64 chips TPU en total). Cada Lua error: Internal error: The interpreter exited with status 1. tomó 4 días en completarse.

    Las secuencias más largas son desproporcionadamente caras porque la Lua error: Internal error: The interpreter exited with status 1. es cuadrática respecto a la longitud de la secuencia. Para acelerar el preentrenamiento en nuestros experimentos, preentrenamos el modelo con longitud de secuencia de 128 durante el 90% de los pasos. Luego, entrenamos el 10% restante de los pasos con secuencia de 512 para aprender los Lua error: Internal error: The interpreter exited with status 1. posicionales.

    <span id="a.3-Lua error: Internal error: The interpreter exited with status 1.-procedure">

    A.3 Procedimiento de Lua error: Internal error: The interpreter exited with status 1.

    Para el Lua error: Internal error: The interpreter exited with status 1., la mayoría de los Lua error: Internal error: The interpreter exited with status 1. del modelo son los mismos que en el Lua error: Internal error: The interpreter exited with status 1., con excepción del tamaño de lote, la Lua error: Internal error: The interpreter exited with status 1. y el número de Lua error: Internal error: The interpreter exited with status 1. de entrenamiento. La probabilidad de Lua error: Internal error: The interpreter exited with status 1. se mantuvo siempre en 0.1. Los valores óptimos de Lua error: Internal error: The interpreter exited with status 1. son específicos de cada tarea, pero encontramos que el siguiente rango de valores posibles funcionaba bien en todas las tareas:

    • Tamaño de lote: 16, 32

    • Lua error: Internal error: The interpreter exited with status 1. (Lua error: Internal error: The interpreter exited with status 1.): 5e-5, 3e-5, 2e-5

    • Número de Lua error: Internal error: The interpreter exited with status 1.: 2, 3, 4

    También observamos que los conjuntos de datos grandes (p. ej., 100k+ ejemplos de entrenamiento etiquetados) eran mucho menos sensibles a la elección de Lua error: Internal error: The interpreter exited with status 1. que los conjuntos pequeños. El Lua error: Internal error: The interpreter exited with status 1. es típicamente muy rápido, por lo que es razonable simplemente realizar una búsqueda exhaustiva sobre los parámetros anteriores y elegir el modelo que mejor se desempeñe en el conjunto de desarrollo.

    A.4 Comparación de BERT, ELMo y OpenAI GPT

    Aquí estudiamos las diferencias en los modelos populares recientes de aprendizaje de representaciones, incluyendo ELMo, OpenAI GPT y BERT. Las comparaciones entre las arquitecturas de los modelos se muestran visualmente en la Figura 3. Nótese que además de las diferencias arquitectónicas, BERT y OpenAI GPT son enfoques de Lua error: Internal error: The interpreter exited with status 1., mientras que ELMo es un enfoque basado en características.

    El método de Lua error: Internal error: The interpreter exited with status 1. existente más comparable a BERT es OpenAI GPT, que entrena un LM Lua error: Internal error: The interpreter exited with status 1. de izquierda a derecha en un corpus grande de texto. De hecho, muchas de las decisiones de diseño en BERT se tomaron intencionalmente para hacerlo lo más cercano posible a GPT, de modo que los dos métodos pudieran compararse de forma mínima. El argumento central de este trabajo es que la bidireccionalidad y las dos tareas de Lua error: Internal error: The interpreter exited with status 1. presentadas en la Sección 3.1 explican la mayoría de las mejoras empíricas, pero observamos que existen varias otras diferencias entre cómo se entrenaron BERT y GPT:

    • GPT se entrena en BooksCorpus (800M palabras); BERT se entrena en BooksCorpus (800M palabras) y Wikipedia (2,500M palabras).

    • GPT utiliza un separador de oraciones ([SEP]) y un token clasificador ([CLS]) que solo se introducen en el momento del Lua error: Internal error: The interpreter exited with status 1.; BERT aprende los Lua error: Internal error: The interpreter exited with status 1. de [SEP], [CLS] y de oración A/B durante el Lua error: Internal error: The interpreter exited with status 1..

    • GPT se entrenó durante 1M de pasos con un tamaño de lote de 32,000 palabras; BERT se entrenó durante 1M de pasos con un tamaño de lote de 128,000 palabras.

    • GPT utilizó la misma Lua error: Internal error: The interpreter exited with status 1. de 5e-5 para todos los experimentos de Lua error: Internal error: The interpreter exited with status 1.; BERT elige una Lua error: Internal error: The interpreter exited with status 1. de Lua error: Internal error: The interpreter exited with status 1. específica de la tarea que rinde mejor en el conjunto de desarrollo.

    Para aislar el efecto de estas diferencias, realizamos experimentos de ablación en la Sección 5.1 que demuestran que la mayoría de las mejoras provienen, de hecho, de las dos tareas de Lua error: Internal error: The interpreter exited with status 1. y la bidireccionalidad que estas habilitan.

    <span id="a.5-illustrations-of-Lua error: Internal error: The interpreter exited with status 1.-on-different-tasks">

    A.5 Ilustraciones de Lua error: Internal error: The interpreter exited with status 1. en diferentes tareas

    La ilustración del Lua error: Internal error: The interpreter exited with status 1. de BERT en diferentes tareas puede verse en la Figura 4. Nuestros modelos específicos de tarea se forman incorporando BERT con una capa de salida adicional, por lo que solo es necesario aprender un número mínimo de parámetros desde cero. Entre las tareas, (a) y (b) son tareas a nivel de secuencia, mientras que (c) y (d) son tareas a nivel de token. En la figura, $ {\textstyle E} $ representa el Lua error: Internal error: The interpreter exited with status 1. de entrada, $ {\textstyle T_{i}} $ representa la representación contextual del token $ {\textstyle i} $, [CLS] es el símbolo especial para la salida de clasificación y [SEP] es el símbolo especial para separar secuencias de tokens no consecutivas.

    Refer to caption

    Apéndice B Configuración experimental detallada

    B.1 Descripciones detalladas de los experimentos del benchmark GLUE.

    Nuestros resultados de GLUE en la Tabla9 se obtienen de https://gluebenchmark.com/leaderboard y https://blog.openai.com/language-unsupervised. El benchmark GLUE incluye los siguientes conjuntos de datos, cuyas descripciones fueron originalmente resumidas en Wang et al. (2018a):

    MNLI

    Multi-Genre Natural Language Inference es una tarea de clasificación de implicación a gran escala obtenida mediante crowdsourcing Williams et al. (2018). Dado un par de oraciones, el objetivo es predecir si la segunda oración es una implicación, contradicción o neutral con respecto a la primera.

    QQP

    Quora Question Pairs es una tarea de clasificación binaria donde el objetivo es determinar si dos preguntas formuladas en Quora son semánticamente equivalentes Chen et al. (2018).

    QNLI

    Question Natural Language Inference es una versión del Stanford Question Answering Dataset Rajpurkar et al. (2016) que ha sido convertida en una tarea de clasificación binaria Wang et al. (2018a). Los ejemplos positivos son pares (pregunta, oración) que sí contienen la respuesta correcta, y los ejemplos negativos son (pregunta, oración) del mismo párrafo que no contienen la respuesta.

    SST-2

    El Stanford Sentiment Treebank es una tarea de clasificación binaria de oración única que consiste en oraciones extraídas de reseñas de películas con anotaciones humanas de su sentimiento Socher et al. (2013).

    CoLA

    El Corpus of Linguistic Acceptability es una tarea de clasificación binaria de oración única, donde el objetivo es predecir si una oración en inglés es lingüísticamente "aceptable" o no Warstadt et al. (2018).

    STS-B

    El Semantic Textual Similarity Benchmark es una colección de pares de oraciones extraídas de titulares de noticias y otras fuentes Cer et al. (2017). Fueron anotadas con una puntuación de 1 a 5 que denota cuán similares son las dos oraciones en términos de significado semántico.

    MRPC

    Microsoft Research Paraphrase Corpus consiste en pares de oraciones extraídas automáticamente de fuentes de noticias en línea, con anotaciones humanas sobre si las oraciones del par son semánticamente equivalentes Dolan and Brockett (2005).

    RTE

    Recognizing Textual Entailment es una tarea binaria de implicación similar a MNLI, pero con muchos menos datos de entrenamiento Bentivogli et al. (2009).151515Nótese que en este artículo solo reportamos resultados de Lua error: Internal error: The interpreter exited with status 1. de tarea única. Un enfoque de Lua error: Internal error: The interpreter exited with status 1. multitarea podría potencialmente impulsar aún más el rendimiento. Por ejemplo, sí observamos mejoras sustanciales en RTE a partir del entrenamiento multitarea con MNLI.

    WNLI

    Winograd NLI es un pequeño conjunto de datos de inferencia de lenguaje natural Levesque et al. (2011). La página web de GLUE indica que hay problemas con la construcción de este conjunto de datos, 161616https://gluebenchmark.com/faq y todo sistema entrenado que ha sido enviado a GLUE ha rendido peor que la precisión de referencia del 65.1 al predecir la clase mayoritaria. Por lo tanto, excluimos este conjunto para ser justos con OpenAI GPT. Para nuestra envío a GLUE, siempre predijimos la clase mayoritaria.

    Apéndice C Estudios de ablación adicionales

    C.1 Efecto del número de pasos de entrenamiento

    La Figura 5 presenta la precisión Dev de MNLI tras realizar Lua error: Internal error: The interpreter exited with status 1. desde un checkpoint que ha sido preentrenado durante $ {\textstyle k} $ pasos. Esto nos permite responder las siguientes preguntas:

    [[File:data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQwOC4yNyIgaWQ9IkEzLkY1LnBpYzEiIG92ZXJmbG93PSJ2aXNpYmxlIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSI1NzAuMTEiPjxnIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIwLjRwdCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCw0MDguMjcpIG1hdHJpeCgxIDAgMCAtMSAwIDApIHRyYW5zbGF0ZSg0Mi4wMSwwKSB0cmFuc2xhdGUoMCw0MS40NykgbWF0cml4KDEuMCAwLjAgMC4wIDEuMCAtNDIuMDEgLTQxLjQ3KSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSAwIDApIHRyYW5zbGF0ZSg0Mi4wMSwwKSB0cmFuc2xhdGUoMCw0MS40NykiPjxnIGNvbG9yPSIjQkZCRkJGIiBmaWxsPSIjQkZCRkJGIiBzdHJva2U9IiNCRkJGQkYiIHN0cm9rZS13aWR0aD0iMC40cHQiPjxwYXRoIGQ9Ik0gMTAxLjU1IDAgTCAxMDEuNTUgMzU3LjczIE0gMjAzLjA5IDAgTCAyMDMuMDkgMzU3LjczIE0gMzA0LjY0IDAgTCAzMDQuNjQgMzU3LjczIE0gNDA2LjE5IDAgTCA0MDYuMTkgMzU3LjczIE0gNTA3LjczIDAgTCA1MDcuNzMgMzU3LjczIiBzdHlsZT0iZmlsbDpub25lIiAvPjwvZz48ZyBjb2xvcj0iI0JGQkZCRiIgZmlsbD0iI0JGQkZCRiIgc3Ryb2tlPSIjQkZCRkJGIiBzdHJva2Utd2lkdGg9IjAuNHB0Ij48cGF0aCBkPSJNIDAgMCBMIDUwNy43MyAwIE0gMCAzNS43NyBMIDUwNy43MyAzNS43NyBNIDAgNzEuNTUgTCA1MDcuNzMgNzEuNTUgTSAwIDEwNy4zMiBMIDUwNy43MyAxMDcuMzIgTSAwIDE0My4wOSBMIDUwNy43MyAxNDMuMDkgTSAwIDE3OC44NyBMIDUwNy43MyAxNzguODcgTSAwIDIxNC42NCBMIDUwNy43MyAyMTQuNjQgTSAwIDI1MC40MSBMIDUwNy43MyAyNTAuNDEgTSAwIDI4Ni4xOSBMIDUwNy43MyAyODYuMTkgTSAwIDMyMS45NiBMIDUwNy43MyAzMjEuOTYgTSAwIDM1Ny43MyBMIDUwNy43MyAzNTcuNzMiIHN0eWxlPSJmaWxsOm5vbmUiIC8+PC9nPjxnIGNvbG9yPSIjODA4MDgwIiBmaWxsPSIjODA4MDgwIiBzdHJva2U9IiM4MDgwODAiIHN0cm9rZS13aWR0aD0iMC4ycHQiPjxwYXRoIGQ9Ik0gMTAxLjU1IDAgTCAxMDEuNTUgNS45MSBNIDIwMy4wOSAwIEwgMjAzLjA5IDUuOTEgTSAzMDQuNjQgMCBMIDMwNC42NCA1LjkxIE0gNDA2LjE5IDAgTCA0MDYuMTkgNS45MSBNIDUwNy43MyAwIEwgNTA3LjczIDUuOTEgTSAxMDEuNTUgMzU3LjczIEwgMTAxLjU1IDM1MS44MyBNIDIwMy4wOSAzNTcuNzMgTCAyMDMuMDkgMzUxLjgzIE0gMzA0LjY0IDM1Ny43MyBMIDMwNC42NCAzNTEuODMgTSA0MDYuMTkgMzU3LjczIEwgNDA2LjE5IDM1MS44MyBNIDUwNy43MyAzNTcuNzMgTCA1MDcuNzMgMzUxLjgzIiBzdHlsZT0iZmlsbDpub25lIiAvPjwvZz48ZyBjb2xvcj0iIzgwODA4MCIgZmlsbD0iIzgwODA4MCIgc3Ryb2tlPSIjODA4MDgwIiBzdHJva2Utd2lkdGg9IjAuMnB0Ij48cGF0aCBkPSJNIDAgMCBMIDUuOTEgMCBNIDAgMzUuNzcgTCA1LjkxIDM1Ljc3IE0gMCA3MS41NSBMIDUuOTEgNzEuNTUgTSAwIDEwNy4zMiBMIDUuOTEgMTA3LjMyIE0gMCAxNDMuMDkgTCA1LjkxIDE0My4wOSBNIDAgMTc4Ljg3IEwgNS45MSAxNzguODcgTSAwIDIxNC42NCBMIDUuOTEgMjE0LjY0IE0gMCAyNTAuNDEgTCA1LjkxIDI1MC40MSBNIDAgMjg2LjE5IEwgNS45MSAyODYuMTkgTSAwIDMyMS45NiBMIDUuOTEgMzIxLjk2IE0gMCAzNTcuNzMgTCA1LjkxIDM1Ny43MyBNIDUwNy43MyAwIEwgNTAxLjgzIDAgTSA1MDcuNzMgMzUuNzcgTCA1MDEuODMgMzUuNzcgTSA1MDcuNzMgNzEuNTUgTCA1MDEuODMgNzEuNTUgTSA1MDcuNzMgMTA3LjMyIEwgNTAxLjgzIDEwNy4zMiBNIDUwNy43MyAxNDMuMDkgTCA1MDEuODMgMTQzLjA5IE0gNTA3LjczIDE3OC44NyBMIDUwMS44MyAxNzguODcgTSA1MDcuNzMgMjE0LjY0IEwgNTAxLjgzIDIxNC42NCBNIDUwNy43MyAyNTAuNDEgTCA1MDEuODMgMjUwLjQxIE0gNTA3LjczIDI4Ni4xOSBMIDUwMS44MyAyODYuMTkgTSA1MDcuNzMgMzIxLjk2IEwgNTAxLjgzIDMyMS45NiBNIDUwNy43MyAzNTcuNzMgTCA1MDEuODMgMzU3LjczIiBzdHlsZT0iZmlsbDpub25lIiAvPjwvZz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMC40cHQiPjxwYXRoIGQ9Ik0gMCAwIEwgMCAzNTcuNzMgTCA1MDcuNzMgMzU3LjczIEwgNTA3LjczIDAgTCAwIDAgWiIgc3R5bGU9ImZpbGw6bm9uZSIgLz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHRyYW5zZm9ybT0ibWF0cml4KDEuMCAwLjAgMC4wIDEuMCA5MS4xNyAtMTMuODEpIj48Zm9yZWlnbm9iamVjdCBoZWlnaHQ9IjguOTIiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDE2LjYpIiB3aWR0aD0iMjAuNzYiPjxtYXRoIGFsdHRleHQ9IjIwMCIgZGlzcGxheT0iaW5saW5lIiBpZD0iQTMuRjUucGljMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMSI+PHNlbWFudGljcyBpZD0iQTMuRjUucGljMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWEiPjxtbiBpZD0iQTMuRjUucGljMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIiB4cmVmPSJBMy5GNS5waWMxLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCI+MjAwPC9tbj48YW5ub3RhdGlvbi14bWwgZW5jb2Rpbmc9Ik1hdGhNTC1Db250ZW50IiBpZD0iQTMuRjUucGljMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWIiPjxjbiBpZD0iQTMuRjUucGljMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLmNtbWwiIHR5cGU9ImludGVnZXIiIHhyZWY9IkEzLkY1LnBpYzEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMSI+MjAwPC9jbj48L2Fubm90YXRpb24teG1sPjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCIgaWQ9IkEzLkY1LnBpYzEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFjIj4yMDA8L2Fubm90YXRpb24+PC9zZW1hbnRpY3M+PC9tYXRoPjwvZm9yZWlnbm9iamVjdD48L2c+PGcgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjAgMC4wIDAuMCAxLjAgMTkyLjcyIC0xMy44MSkiPjxmb3JlaWdub2JqZWN0IGhlaWdodD0iOC45MiIgb3ZlcmZsb3c9InZpc2libGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMTYuNikiIHdpZHRoPSIyMC43NiI+PG1hdGggYWx0dGV4dD0iNDAwIiBkaXNwbGF5PSJpbmxpbmUiIGlkPSJBMy5GNS5waWMxLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xIj48c2VtYW50aWNzIGlkPSJBMy5GNS5waWMxLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYSI+PG1uIGlkPSJBMy5GNS5waWMxLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiIHhyZWY9IkEzLkY1LnBpYzEuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIj40MDA8L21uPjxhbm5vdGF0aW9uLXhtbCBlbmNvZGluZz0iTWF0aE1MLUNvbnRlbnQiIGlkPSJBMy5GNS5waWMxLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYiI+PGNuIGlkPSJBMy5GNS5waWMxLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCIgdHlwZT0iaW50ZWdlciIgeHJlZj0iQTMuRjUucGljMS4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIj40MDA8L2NuPjwvYW5ub3RhdGlvbi14bWw+PGFubm90YXRpb24gZW5jb2Rpbmc9ImFwcGxpY2F0aW9uL3gtdGV4IiBpZD0iQTMuRjUucGljMS4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMi4yLjIuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWMiPjQwMDwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9mb3JlaWdub2JqZWN0PjwvZz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHRyYW5zZm9ybT0ibWF0cml4KDEuMCAwLjAgMC4wIDEuMCAyOTQuMjYgLTEzLjgxKSI+PGZvcmVpZ25vYmplY3QgaGVpZ2h0PSI4LjkyIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAxNi42KSIgd2lkdGg9IjIwLjc2Ij48bWF0aCBhbHR0ZXh0PSI2MDAiIGRpc3BsYXk9ImlubGluZSIgaWQ9IkEzLkY1LnBpYzEuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEiPjxzZW1hbnRpY3MgaWQ9IkEzLkY1LnBpYzEuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFhIj48bW4gaWQ9IkEzLkY1LnBpYzEuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMSIgeHJlZj0iQTMuRjUucGljMS4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLmNtbWwiPjYwMDwvbW4+PGFubm90YXRpb24teG1sIGVuY29kaW5nPSJNYXRoTUwtQ29udGVudCIgaWQ9IkEzLkY1LnBpYzEuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFiIj48Y24gaWQ9IkEzLkY1LnBpYzEuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIiB0eXBlPSJpbnRlZ2VyIiB4cmVmPSJBMy5GNS5waWMxLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiPjYwMDwvY24+PC9hbm5vdGF0aW9uLXhtbD48YW5ub3RhdGlvbiBlbmNvZGluZz0iYXBwbGljYXRpb24veC10ZXgiIGlkPSJBMy5GNS5waWMxLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4zLjMuMy4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYyI+NjAwPC9hbm5vdGF0aW9uPjwvc2VtYW50aWNzPjwvbWF0aD48L2ZvcmVpZ25vYmplY3Q+PC9nPjxnIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgdHJhbnNmb3JtPSJtYXRyaXgoMS4wIDAuMCAwLjAgMS4wIDM5NS44MSAtMTMuODEpIj48Zm9yZWlnbm9iamVjdCBoZWlnaHQ9IjguOTIiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDE2LjYpIiB3aWR0aD0iMjAuNzYiPjxtYXRoIGFsdHRleHQ9IjgwMCIgZGlzcGxheT0iaW5saW5lIiBpZD0iQTMuRjUucGljMS40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuMS4xLjEuMS4xLjEuMS4xLjEubTEuMSI+PHNlbWFudGljcyBpZD0iQTMuRjUucGljMS40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWEiPjxtbiBpZD0iQTMuRjUucGljMS40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIiB4cmVmPSJBMy5GNS5waWMxLjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCI+ODAwPC9tbj48YW5ub3RhdGlvbi14bWwgZW5jb2Rpbmc9Ik1hdGhNTC1Db250ZW50IiBpZD0iQTMuRjUucGljMS40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWIiPjxjbiBpZD0iQTMuRjUucGljMS40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLmNtbWwiIHR5cGU9ImludGVnZXIiIHhyZWY9IkEzLkY1LnBpYzEuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMSI+ODAwPC9jbj48L2Fubm90YXRpb24teG1sPjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCIgaWQ9IkEzLkY1LnBpYzEuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjQuNC40LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFjIj44MDA8L2Fubm90YXRpb24+PC9zZW1hbnRpY3M+PC9tYXRoPjwvZm9yZWlnbm9iamVjdD48L2c+PGcgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjAgMC4wIDAuMCAxLjAgNDkxLjk3IC0xMy44MSkiPjxmb3JlaWdub2JqZWN0IGhlaWdodD0iMTEuNjEiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDE2LjYpIiB3aWR0aD0iMzEuNTIiPjxtYXRoIGFsdHRleHQ9IjF7LH0wMDAiIGRpc3BsYXk9ImlubGluZSIgaWQ9IkEzLkY1LnBpYzEuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjIiPjxzZW1hbnRpY3MgaWQ9IkEzLkY1LnBpYzEuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjJhIj48bXJvdyBpZD0iQTMuRjUucGljMS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuMS4xLjEuMS4xLjEuMS4xLjEubTEuMi4zLjIiIHhyZWY9IkEzLkY1LnBpYzEuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjIuMy4xLmNtbWwiPjxtbiBpZD0iQTMuRjUucGljMS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIiB4cmVmPSJBMy5GNS5waWMxLjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCI+MTwvbW4+PG1vIGlkPSJBMy5GNS5waWMxLjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4yLjMuMi4xIiB4cmVmPSJBMy5GNS5waWMxLjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4yLjMuMS5jbW1sIj4sPC9tbz48bW4gaWQ9IkEzLkY1LnBpYzEuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjIuMiIgeHJlZj0iQTMuRjUucGljMS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuMS4xLjEuMS4xLjEuMS4xLjEubTEuMi4yLmNtbWwiPjAwMDwvbW4+PC9tcm93Pjxhbm5vdGF0aW9uLXhtbCBlbmNvZGluZz0iTWF0aE1MLUNvbnRlbnQiIGlkPSJBMy5GNS5waWMxLjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4yYiI+PGxpc3QgaWQ9IkEzLkY1LnBpYzEuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjIuMy4xLmNtbWwiIHhyZWY9IkEzLkY1LnBpYzEuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjIuMy4yIj48Y24gaWQ9IkEzLkY1LnBpYzEuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIiB0eXBlPSJpbnRlZ2VyIiB4cmVmPSJBMy5GNS5waWMxLjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiPjE8L2NuPjxjbiBpZD0iQTMuRjUucGljMS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuMS4xLjEuMS4xLjEuMS4xLjEubTEuMi4yLmNtbWwiIHR5cGU9ImludGVnZXIiIHhyZWY9IkEzLkY1LnBpYzEuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjIuMiI+MDAwPC9jbj48L2xpc3Q+PC9hbm5vdGF0aW9uLXhtbD48YW5ub3RhdGlvbiBlbmNvZGluZz0iYXBwbGljYXRpb24veC10ZXgiIGlkPSJBMy5GNS5waWMxLjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS41LjUuNS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4yYyI+MXssfTAwMDwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9mb3JlaWdub2JqZWN0PjwvZz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHRyYW5zZm9ybT0ibWF0cml4KDEuMCAwLjAgMC4wIDEuMCAtMTguNzMgLTQuNDYpIj48Zm9yZWlnbm9iamVjdCBoZWlnaHQ9IjguOTIiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDE2LjYpIiB3aWR0aD0iMTMuODQiPjxtYXRoIGFsdHRleHQ9Ijc1IiBkaXNwbGF5PSJpbmxpbmUiIGlkPSJBMy5GNS5waWMxLjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xIj48c2VtYW50aWNzIGlkPSJBMy5GNS5waWMxLjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYSI+PG1uIGlkPSJBMy5GNS5waWMxLjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiIHhyZWY9IkEzLkY1LnBpYzEuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIj43NTwvbW4+PGFubm90YXRpb24teG1sIGVuY29kaW5nPSJNYXRoTUwtQ29udGVudCIgaWQ9IkEzLkY1LnBpYzEuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFiIj48Y24gaWQ9IkEzLkY1LnBpYzEuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIiB0eXBlPSJpbnRlZ2VyIiB4cmVmPSJBMy5GNS5waWMxLjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiPjc1PC9jbj48L2Fubm90YXRpb24teG1sPjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCIgaWQ9IkEzLkY1LnBpYzEuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFjIj43NTwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9mb3JlaWdub2JqZWN0PjwvZz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHRyYW5zZm9ybT0ibWF0cml4KDEuMCAwLjAgMC4wIDEuMCAtMTguNzMgMzEuMzEpIj48Zm9yZWlnbm9iamVjdCBoZWlnaHQ9IjguOTIiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDE2LjYpIiB3aWR0aD0iMTMuODQiPjxtYXRoIGFsdHRleHQ9Ijc2IiBkaXNwbGF5PSJpbmxpbmUiIGlkPSJBMy5GNS5waWMxLjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xIj48c2VtYW50aWNzIGlkPSJBMy5GNS5waWMxLjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYSI+PG1uIGlkPSJBMy5GNS5waWMxLjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiIHhyZWY9IkEzLkY1LnBpYzEuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIj43NjwvbW4+PGFubm90YXRpb24teG1sIGVuY29kaW5nPSJNYXRoTUwtQ29udGVudCIgaWQ9IkEzLkY1LnBpYzEuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFiIj48Y24gaWQ9IkEzLkY1LnBpYzEuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIiB0eXBlPSJpbnRlZ2VyIiB4cmVmPSJBMy5GNS5waWMxLjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiPjc2PC9jbj48L2Fubm90YXRpb24teG1sPjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCIgaWQ9IkEzLkY1LnBpYzEuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjcuNy43LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFjIj43NjwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9mb3JlaWdub2JqZWN0PjwvZz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHRyYW5zZm9ybT0ibWF0cml4KDEuMCAwLjAgMC4wIDEuMCAtMTguNzMgNjcuMDkpIj48Zm9yZWlnbm9iamVjdCBoZWlnaHQ9IjguOTIiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDE2LjYpIiB3aWR0aD0iMTMuODQiPjxtYXRoIGFsdHRleHQ9Ijc3IiBkaXNwbGF5PSJpbmxpbmUiIGlkPSJBMy5GNS5waWMxLjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xIj48c2VtYW50aWNzIGlkPSJBMy5GNS5waWMxLjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYSI+PG1uIGlkPSJBMy5GNS5waWMxLjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiIHhyZWY9IkEzLkY1LnBpYzEuOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIj43NzwvbW4+PGFubm90YXRpb24teG1sIGVuY29kaW5nPSJNYXRoTUwtQ29udGVudCIgaWQ9IkEzLkY1LnBpYzEuOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFiIj48Y24gaWQ9IkEzLkY1LnBpYzEuOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIiB0eXBlPSJpbnRlZ2VyIiB4cmVmPSJBMy5GNS5waWMxLjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiPjc3PC9jbj48L2Fubm90YXRpb24teG1sPjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCIgaWQ9IkEzLkY1LnBpYzEuOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjguOC44LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFjIj43NzwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9mb3JlaWdub2JqZWN0PjwvZz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHRyYW5zZm9ybT0ibWF0cml4KDEuMCAwLjAgMC4wIDEuMCAtMTguNzMgMTAyLjg2KSI+PGZvcmVpZ25vYmplY3QgaGVpZ2h0PSI4LjkyIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAxNi42KSIgd2lkdGg9IjEzLjg0Ij48bWF0aCBhbHR0ZXh0PSI3OCIgZGlzcGxheT0iaW5saW5lIiBpZD0iQTMuRjUucGljMS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuMS4xLjEuMS4xLjEuMS4xLjEubTEuMSI+PHNlbWFudGljcyBpZD0iQTMuRjUucGljMS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWEiPjxtbiBpZD0iQTMuRjUucGljMS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIiB4cmVmPSJBMy5GNS5waWMxLjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCI+Nzg8L21uPjxhbm5vdGF0aW9uLXhtbCBlbmNvZGluZz0iTWF0aE1MLUNvbnRlbnQiIGlkPSJBMy5GNS5waWMxLjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYiI+PGNuIGlkPSJBMy5GNS5waWMxLjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCIgdHlwZT0iaW50ZWdlciIgeHJlZj0iQTMuRjUucGljMS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIj43ODwvY24+PC9hbm5vdGF0aW9uLXhtbD48YW5ub3RhdGlvbiBlbmNvZGluZz0iYXBwbGljYXRpb24veC10ZXgiIGlkPSJBMy5GNS5waWMxLjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS45LjkuOS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYyI+Nzg8L2Fubm90YXRpb24+PC9zZW1hbnRpY3M+PC9tYXRoPjwvZm9yZWlnbm9iamVjdD48L2c+PGcgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjAgMC4wIDAuMCAxLjAgLTE4LjczIDEzOC42MykiPjxmb3JlaWdub2JqZWN0IGhlaWdodD0iOC45MiIgb3ZlcmZsb3c9InZpc2libGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMTYuNikiIHdpZHRoPSIxMy44NCI+PG1hdGggYWx0dGV4dD0iNzkiIGRpc3BsYXk9ImlubGluZSIgaWQ9IkEzLkY1LnBpYzEuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMS4xLjEuMS4xLjEuMS4xLjEubTEuMSI+PHNlbWFudGljcyBpZD0iQTMuRjUucGljMS4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYSI+PG1uIGlkPSJBMy5GNS5waWMxLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMSIgeHJlZj0iQTMuRjUucGljMS4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xMC4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCI+Nzk8L21uPjxhbm5vdGF0aW9uLXhtbCBlbmNvZGluZz0iTWF0aE1MLUNvbnRlbnQiIGlkPSJBMy5GNS5waWMxLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFiIj48Y24gaWQ9IkEzLkY1LnBpYzEuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLmNtbWwiIHR5cGU9ImludGVnZXIiIHhyZWY9IkEzLkY1LnBpYzEuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMTAuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIj43OTwvY24+PC9hbm5vdGF0aW9uLXhtbD48YW5ub3RhdGlvbiBlbmNvZGluZz0iYXBwbGljYXRpb24veC10ZXgiIGlkPSJBMy5GNS5waWMxLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEwLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFjIj43OTwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9mb3JlaWdub2JqZWN0PjwvZz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHRyYW5zZm9ybT0ibWF0cml4KDEuMCAwLjAgMC4wIDEuMCAtMTguNzMgMTc0LjQxKSI+PGZvcmVpZ25vYmplY3QgaGVpZ2h0PSI4LjkyIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAxNi42KSIgd2lkdGg9IjEzLjg0Ij48bWF0aCBhbHR0ZXh0PSI4MCIgZGlzcGxheT0iaW5saW5lIiBpZD0iQTMuRjUucGljMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xIj48c2VtYW50aWNzIGlkPSJBMy5GNS5waWMxLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFhIj48bW4gaWQ9IkEzLkY1LnBpYzEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIiB4cmVmPSJBMy5GNS5waWMxLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjExLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIj44MDwvbW4+PGFubm90YXRpb24teG1sIGVuY29kaW5nPSJNYXRoTUwtQ29udGVudCIgaWQ9IkEzLkY1LnBpYzEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWIiPjxjbiBpZD0iQTMuRjUucGljMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCIgdHlwZT0iaW50ZWdlciIgeHJlZj0iQTMuRjUucGljMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiPjgwPC9jbj48L2Fubm90YXRpb24teG1sPjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCIgaWQ9IkEzLkY1LnBpYzEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMTEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWMiPjgwPC9hbm5vdGF0aW9uPjwvc2VtYW50aWNzPjwvbWF0aD48L2ZvcmVpZ25vYmplY3Q+PC9nPjxnIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgdHJhbnNmb3JtPSJtYXRyaXgoMS4wIDAuMCAwLjAgMS4wIC0xOC43MyAyMTAuMTgpIj48Zm9yZWlnbm9iamVjdCBoZWlnaHQ9IjguOTIiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDE2LjYpIiB3aWR0aD0iMTMuODQiPjxtYXRoIGFsdHRleHQ9IjgxIiBkaXNwbGF5PSJpbmxpbmUiIGlkPSJBMy5GNS5waWMxLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEiPjxzZW1hbnRpY3MgaWQ9IkEzLkY1LnBpYzEuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWEiPjxtbiBpZD0iQTMuRjUucGljMS4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiIHhyZWY9IkEzLkY1LnBpYzEuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMTIuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLmNtbWwiPjgxPC9tbj48YW5ub3RhdGlvbi14bWwgZW5jb2Rpbmc9Ik1hdGhNTC1Db250ZW50IiBpZD0iQTMuRjUucGljMS4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYiI+PGNuIGlkPSJBMy5GNS5waWMxLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIiB0eXBlPSJpbnRlZ2VyIiB4cmVmPSJBMy5GNS5waWMxLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEyLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMSI+ODE8L2NuPjwvYW5ub3RhdGlvbi14bWw+PGFubm90YXRpb24gZW5jb2Rpbmc9ImFwcGxpY2F0aW9uL3gtdGV4IiBpZD0iQTMuRjUucGljMS4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xMi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYyI+ODE8L2Fubm90YXRpb24+PC9zZW1hbnRpY3M+PC9tYXRoPjwvZm9yZWlnbm9iamVjdD48L2c+PGcgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjAgMC4wIDAuMCAxLjAgLTE4LjczIDI0NS45NikiPjxmb3JlaWdub2JqZWN0IGhlaWdodD0iOC45MiIgb3ZlcmZsb3c9InZpc2libGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMTYuNikiIHdpZHRoPSIxMy44NCI+PG1hdGggYWx0dGV4dD0iODIiIGRpc3BsYXk9ImlubGluZSIgaWQ9IkEzLkY1LnBpYzEuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMS4xLjEuMS4xLjEuMS4xLjEubTEuMSI+PHNlbWFudGljcyBpZD0iQTMuRjUucGljMS4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYSI+PG1uIGlkPSJBMy5GNS5waWMxLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMSIgeHJlZj0iQTMuRjUucGljMS4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xMy4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCI+ODI8L21uPjxhbm5vdGF0aW9uLXhtbCBlbmNvZGluZz0iTWF0aE1MLUNvbnRlbnQiIGlkPSJBMy5GNS5waWMxLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFiIj48Y24gaWQ9IkEzLkY1LnBpYzEuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLmNtbWwiIHR5cGU9ImludGVnZXIiIHhyZWY9IkEzLkY1LnBpYzEuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMTMuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIj44MjwvY24+PC9hbm5vdGF0aW9uLXhtbD48YW5ub3RhdGlvbiBlbmNvZGluZz0iYXBwbGljYXRpb24veC10ZXgiIGlkPSJBMy5GNS5waWMxLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEzLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFjIj44MjwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9mb3JlaWdub2JqZWN0PjwvZz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHRyYW5zZm9ybT0ibWF0cml4KDEuMCAwLjAgMC4wIDEuMCAtMTguNzMgMjgxLjczKSI+PGZvcmVpZ25vYmplY3QgaGVpZ2h0PSI4LjkyIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAxNi42KSIgd2lkdGg9IjEzLjg0Ij48bWF0aCBhbHR0ZXh0PSI4MyIgZGlzcGxheT0iaW5saW5lIiBpZD0iQTMuRjUucGljMS4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xIj48c2VtYW50aWNzIGlkPSJBMy5GNS5waWMxLjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFhIj48bW4gaWQ9IkEzLkY1LnBpYzEuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIiB4cmVmPSJBMy5GNS5waWMxLjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjE0LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIj44MzwvbW4+PGFubm90YXRpb24teG1sIGVuY29kaW5nPSJNYXRoTUwtQ29udGVudCIgaWQ9IkEzLkY1LnBpYzEuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWIiPjxjbiBpZD0iQTMuRjUucGljMS4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCIgdHlwZT0iaW50ZWdlciIgeHJlZj0iQTMuRjUucGljMS4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xNC4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiPjgzPC9jbj48L2Fubm90YXRpb24teG1sPjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCIgaWQ9IkEzLkY1LnBpYzEuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMTQuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWMiPjgzPC9hbm5vdGF0aW9uPjwvc2VtYW50aWNzPjwvbWF0aD48L2ZvcmVpZ25vYmplY3Q+PC9nPjxnIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgdHJhbnNmb3JtPSJtYXRyaXgoMS4wIDAuMCAwLjAgMS4wIC0xOC43MyAzMTcuNSkiPjxmb3JlaWdub2JqZWN0IGhlaWdodD0iOC45MiIgb3ZlcmZsb3c9InZpc2libGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMTYuNikiIHdpZHRoPSIxMy44NCI+PG1hdGggYWx0dGV4dD0iODQiIGRpc3BsYXk9ImlubGluZSIgaWQ9IkEzLkY1LnBpYzEuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMS4xLjEuMS4xLjEuMS4xLjEubTEuMSI+PHNlbWFudGljcyBpZD0iQTMuRjUucGljMS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYSI+PG1uIGlkPSJBMy5GNS5waWMxLjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMSIgeHJlZj0iQTMuRjUucGljMS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xNS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCI+ODQ8L21uPjxhbm5vdGF0aW9uLXhtbCBlbmNvZGluZz0iTWF0aE1MLUNvbnRlbnQiIGlkPSJBMy5GNS5waWMxLjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFiIj48Y24gaWQ9IkEzLkY1LnBpYzEuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLmNtbWwiIHR5cGU9ImludGVnZXIiIHhyZWY9IkEzLkY1LnBpYzEuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMTUuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIj44NDwvY24+PC9hbm5vdGF0aW9uLXhtbD48YW5ub3RhdGlvbiBlbmNvZGluZz0iYXBwbGljYXRpb24veC10ZXgiIGlkPSJBMy5GNS5waWMxLjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjE1LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFjIj44NDwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9mb3JlaWdub2JqZWN0PjwvZz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHRyYW5zZm9ybT0ibWF0cml4KDEuMCAwLjAgMC4wIDEuMCAtMTguNzMgMzUzLjI4KSI+PGZvcmVpZ25vYmplY3QgaGVpZ2h0PSI4LjkyIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAxNi42KSIgd2lkdGg9IjEzLjg0Ij48bWF0aCBhbHR0ZXh0PSI4NSIgZGlzcGxheT0iaW5saW5lIiBpZD0iQTMuRjUucGljMS4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xIj48c2VtYW50aWNzIGlkPSJBMy5GNS5waWMxLjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjFhIj48bW4gaWQ9IkEzLkY1LnBpYzEuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIiB4cmVmPSJBMy5GNS5waWMxLjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjE2LjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIj44NTwvbW4+PGFubm90YXRpb24teG1sIGVuY29kaW5nPSJNYXRoTUwtQ29udGVudCIgaWQ9IkEzLkY1LnBpYzEuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWIiPjxjbiBpZD0iQTMuRjUucGljMS4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCIgdHlwZT0iaW50ZWdlciIgeHJlZj0iQTMuRjUucGljMS4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xNi4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiPjg1PC9jbj48L2Fubm90YXRpb24teG1sPjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCIgaWQ9IkEzLkY1LnBpYzEuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMTYuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWMiPjg1PC9hbm5vdGF0aW9uPjwvc2VtYW50aWNzPjwvbWF0aD48L2ZvcmVpZ25vYmplY3Q+PC9nPjxjbGlwcGF0aCBpZD0icGdmY3AxIj48cGF0aCBkPSJNIDAgMCBMIDUwNy43MyAwIEwgNTA3LjczIDM1Ny43MyBMIDAgMzU3LjczIFoiIC8+PC9jbGlwcGF0aD48ZyBjbGlwLXBhdGg9InVybCgjcGdmY3AxKSI+PGcgY29sb3I9IiM0Mjg1RjQiIGZpbGw9IiM0Mjg1RjQiIHN0cm9rZT0iIzQyODVGNCI+PHBhdGggZD0iTSAxNS4yMyAxMjguNzggTCAyNS4zOSAxNjQuNTYgTCA1MC43NyAxOTYuNzUgTCAxMDEuNTUgMjU3LjU3IEwgMjAzLjA5IDI5My4zNCBMIDMwNC42NCAzMjEuOTYgTCA0MDYuMTkgMzMyLjY5IEwgNTA3LjczIDMzNi4yNyIgc3R5bGU9ImZpbGw6bm9uZSIgLz48L2c+PGc+PC9nPjxnIGNvbG9yPSIjREI0NDM3IiBmaWxsPSIjREI0NDM3IiBzdHJva2U9IiNEQjQ0MzciPjxwYXRoIGQ9Ik0gMTUuMjMgMTU3LjQgTCAyNS4zOSAxNzEuNzEgTCA1MC43NyAxODkuNiBMIDEwMS41NSAyMTQuNjQgTCAyMDMuMDkgMjM5LjY4IEwgMzA0LjY0IDI0Ni44NCBMIDQwNi4xOSAyNTMuOTkgTCA1MDcuNzMgMjU3LjU3IiBzdHlsZT0iZmlsbDpub25lIiAvPjwvZz48Zz48L2c+PC9nPjxnIGNvbG9yPSIjNDI4NUY0IiBmaWxsPSIjNDI4NUY0IiBzdHJva2U9IiM0Mjg1RjQiPjxwYXRoIGQ9Ik0gMTUuMjMgMTMyLjk0IEwgMTguODMgMTI2LjcxIEwgMTEuNjQgMTI2LjcxIFoiIHN0eWxlPSJmaWxsOm5vbmUiIC8+PHBhdGggZD0iTSAyNS4zOSAxNjguNzEgTCAyOC45OCAxNjIuNDggTCAyMS43OSAxNjIuNDggWiIgc3R5bGU9ImZpbGw6bm9uZSIgLz48cGF0aCBkPSJNIDUwLjc3IDIwMC45IEwgNTQuMzcgMTk0LjY4IEwgNDcuMTggMTk0LjY4IFoiIHN0eWxlPSJmaWxsOm5vbmUiIC8+PHBhdGggZD0iTSAxMDEuNTUgMjYxLjcyIEwgMTA1LjE0IDI1NS40OSBMIDk3Ljk1IDI1NS40OSBaIiBzdHlsZT0iZmlsbDpub25lIiAvPjxwYXRoIGQ9Ik0gMjAzLjA5IDI5Ny40OSBMIDIwNi42OSAyOTEuMjcgTCAxOTkuNSAyOTEuMjcgWiIgc3R5bGU9ImZpbGw6bm9uZSIgLz48cGF0aCBkPSJNIDMwNC42NCAzMjYuMTEgTCAzMDguMjMgMzE5Ljg4IEwgMzAxLjA0IDMxOS44OCBaIiBzdHlsZT0iZmlsbDpub25lIiAvPjxwYXRoIGQ9Ik0gNDA2LjE5IDMzNi44NCBMIDQwOS43OCAzMzAuNjIgTCA0MDIuNTkgMzMwLjYyIFoiIHN0eWxlPSJmaWxsOm5vbmUiIC8+PHBhdGggZD0iTSA1MDcuNzMgMzQwLjQyIEwgNTExLjMzIDMzNC4xOSBMIDUwNC4xNCAzMzQuMTkgWiIgc3R5bGU9ImZpbGw6bm9uZSIgLz48L2c+PGcgY29sb3I9IiNEQjQ0MzciIGZpbGw9IiNEQjQ0MzciIHN0cm9rZT0iI0RCNDQzNyI+PHBhdGggZD0iTSAxMi4zIDE1NC40NyBMIDE4LjE3IDE2MC4zNCBNIDEyLjMgMTYwLjM0IEwgMTguMTcgMTU0LjQ3IiBzdHlsZT0iZmlsbDpub25lIiAvPjxwYXRoIGQ9Ik0gMjIuNDUgMTY4Ljc4IEwgMjguMzIgMTc0LjY1IE0gMjIuNDUgMTc0LjY1IEwgMjguMzIgMTY4Ljc4IiBzdHlsZT0iZmlsbDpub25lIiAvPjxwYXRoIGQ9Ik0gNDcuODQgMTg2LjY2IEwgNTMuNzEgMTkyLjUzIE0gNDcuODQgMTkyLjUzIEwgNTMuNzEgMTg2LjY2IiBzdHlsZT0iZmlsbDpub25lIiAvPjxwYXRoIGQ9Ik0gOTguNjEgMjExLjcxIEwgMTA0LjQ4IDIxNy41OCBNIDk4LjYxIDIxNy41OCBMIDEwNC40OCAyMTEuNzEiIHN0eWxlPSJmaWxsOm5vbmUiIC8+PHBhdGggZD0iTSAyMDAuMTYgMjM2Ljc1IEwgMjA2LjAzIDI0Mi42MiBNIDIwMC4xNiAyNDIuNjIgTCAyMDYuMDMgMjM2Ljc1IiBzdHlsZT0iZmlsbDpub25lIiAvPjxwYXRoIGQ9Ik0gMzAxLjcgMjQzLjkgTCAzMDcuNTggMjQ5Ljc3IE0gMzAxLjcgMjQ5Ljc3IEwgMzA3LjU4IDI0My45IiBzdHlsZT0iZmlsbDpub25lIiAvPjxwYXRoIGQ9Ik0gNDAzLjI1IDI1MS4wNiBMIDQwOS4xMiAyNTYuOTMgTSA0MDMuMjUgMjU2LjkzIEwgNDA5LjEyIDI1MS4wNiIgc3R5bGU9ImZpbGw6bm9uZSIgLz48cGF0aCBkPSJNIDUwNC44IDI1NC42MyBMIDUxMC42NyAyNjAuNSBNIDUwNC44IDI2MC41IEwgNTEwLjY3IDI1NC42MyIgc3R5bGU9ImZpbGw6bm9uZSIgLz48L2c+PGcgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjAgMC4wIDAuMCAxLjAgMTU4LjMgLTMzLjQpIj48Zm9yZWlnbm9iamVjdCBoZWlnaHQ9IjEzLjg0IiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAxNi42KSIgd2lkdGg9IjE5MS4xNCI+UHJlLXRyYWluaW5nIFN0ZXBzIChUaG91c2FuZHMpPC9mb3JlaWdub2JqZWN0PjwvZz48ZyBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHRyYW5zZm9ybT0ibWF0cml4KDAuMCAxLjAgLTEuMCAwLjAgLTI3Ljk0IDExNS44MSkiPjxmb3JlaWdub2JqZWN0IGhlaWdodD0iMTIuMTUiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDE2LjYpIiB3aWR0aD0iMTI2LjExIj5NTkxJIERldiBBY2N1cmFjeTwvZm9yZWlnbm9iamVjdD48L2c+PGcgZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlPSIjMDAwMDAwIj48cGF0aCBkPSJNIDMxNS4xMSAwLjI4IGggMTkyLjM1IHYgNDEuNTEgaCAtMTkyLjM1IFoiIC8+PC9nPjxnIGZpbGw9IiNGRkZGRkYiIHN0cm9rZT0iIzAwMDAwMCIgdHJhbnNmb3JtPSJtYXRyaXgoMS4wIDAuMCAwLjAgMS4wIDMxOS4yNiAzLjA0KSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAyNi45ODUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDAgOC45OSkiPjxnIGNvbG9yPSIjNDI4NUY0IiBmaWxsPSIjNDI4NUY0IiBzdHJva2U9IiM0Mjg1RjQiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMCkgdHJhbnNsYXRlKDAuMjgsMCkiPjxwYXRoIGQ9Ik0gMCAwIEwgMTEuODEgMCBMIDIzLjYyIDAiIHN0eWxlPSJmaWxsOm5vbmUiIC8+PHBhdGggZD0iTSAxMS44MSA0LjE1IEwgMTUuNDEgLTIuMDggTCA4LjIyIC0yLjA4IFoiIHN0eWxlPSJmaWxsOm5vbmUiIC8+PC9nPjxnIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMjQuNDUgMCkgdHJhbnNsYXRlKC0wLjI4LDApIG1hdHJpeCgxLjAgMC4wIDAuMCAxLjAgMy4wNCAtNC4xNSkiPjxmb3JlaWdub2JqZWN0IGhlaWdodD0iMTMuODQiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDE2LjYpIiB3aWR0aD0iMTQ3Ljc5Ij5CRVJUPG1hdGggYWx0dGV4dD0ie31fe1x0ZXh0c2N7QkFTRX19IiBkaXNwbGF5PSJpbmxpbmUiIGlkPSJBMy5GNS5waWMxLjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEiPjxzZW1hbnRpY3MgaWQ9IkEzLkY1LnBpYzEuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWEiPjxtc3ViIGlkPSJBMy5GNS5waWMxLjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMSIgeHJlZj0iQTMuRjUucGljMS4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCI+PG1pIGlkPSJBMy5GNS5waWMxLjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMWEiIHhyZWY9IkEzLkY1LnBpYzEuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLmNtbWwiPjwvbWk+PG10ZXh0IGlkPSJBMy5GNS5waWMxLjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS4xIiB4cmVmPSJBMy5GNS5waWMxLjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS4xYS5jbW1sIj5CQVNFPC9tdGV4dD48L21zdWI+PGFubm90YXRpb24teG1sIGVuY29kaW5nPSJNYXRoTUwtQ29udGVudCIgaWQ9IkEzLkY1LnBpYzEuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWIiPjxhcHBseSBpZD0iQTMuRjUucGljMS4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCIgeHJlZj0iQTMuRjUucGljMS4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEiPjxjaSBpZD0iQTMuRjUucGljMS4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuMWEuY21tbCIgeHJlZj0iQTMuRjUucGljMS4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xNy4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuMSI+PG10ZXh0IGlkPSJBMy5GNS5waWMxLjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjE3LjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS4xLmNtbWwiIG1hdGhzaXplPSI3MCUiIHhyZWY9IkEzLkY1LnBpYzEuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLjEiPkJBU0U8L210ZXh0PjwvY2k+PC9hcHBseT48L2Fubm90YXRpb24teG1sPjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCIgaWQ9IkEzLkY1LnBpYzEuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMTcuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMWMiPnt9X3tcdGV4dHNje0JBU0V9fTwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+IChNYXNrZWQgTE0pPC9mb3JlaWdub2JqZWN0PjwvZz48L2c+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgMSAwIDI2Ljk4KSI+PGcgY29sb3I9IiNEQjQ0MzciIGZpbGw9IiNEQjQ0MzciIHN0cm9rZT0iI0RCNDQzNyIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAwKSB0cmFuc2xhdGUoMC4yOCwwKSI+PHBhdGggZD0iTSAwIDAgTCAxMS44MSAwIEwgMjMuNjIgMCIgc3R5bGU9ImZpbGw6bm9uZSIgLz48cGF0aCBkPSJNIDguODggLTIuOTQgTCAxNC43NSAyLjk0IE0gOC44OCAyLjk0IEwgMTQuNzUgLTIuOTQiIHN0eWxlPSJmaWxsOm5vbmUiIC8+PC9nPjxnIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMjQuNDUgMCkgdHJhbnNsYXRlKC0wLjI4LDApIG1hdHJpeCgxLjAgMC4wIDAuMCAxLjAgMy4wNCAtNC4xNSkiPjxmb3JlaWdub2JqZWN0IGhlaWdodD0iMTMuODQiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDE2LjYpIiB3aWR0aD0iMTU1LjYiPkJFUlQ8bWF0aCBhbHR0ZXh0PSJ7fV97XHRleHRzY3tCQVNFfX0iIGRpc3BsYXk9ImlubGluZSIgaWQ9IkEzLkY1LnBpYzEuMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMSI+PHNlbWFudGljcyBpZD0iQTMuRjUucGljMS4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4yLjIuMi4yLjIuMi4yLjIuMi4yLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYSI+PG1zdWIgaWQ9IkEzLkY1LnBpYzEuMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xIiB4cmVmPSJBMy5GNS5waWMxLjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjIuMi4yLjIuMi4yLjIuMi4yLjIuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIj48bWkgaWQ9IkEzLkY1LnBpYzEuMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xYSIgeHJlZj0iQTMuRjUucGljMS4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4yLjIuMi4yLjIuMi4yLjIuMi4yLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuY21tbCI+PC9taT48bXRleHQgaWQ9IkEzLkY1LnBpYzEuMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLjEiIHhyZWY9IkEzLkY1LnBpYzEuMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLjFhLmNtbWwiPkJBU0U8L210ZXh0PjwvbXN1Yj48YW5ub3RhdGlvbi14bWwgZW5jb2Rpbmc9Ik1hdGhNTC1Db250ZW50IiBpZD0iQTMuRjUucGljMS4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4yLjIuMi4yLjIuMi4yLjIuMi4yLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYiI+PGFwcGx5IGlkPSJBMy5GNS5waWMxLjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjIuMi4yLjIuMi4yLjIuMi4yLjIuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS5jbW1sIiB4cmVmPSJBMy5GNS5waWMxLjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjIuMi4yLjIuMi4yLjIuMi4yLjIuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMSI+PGNpIGlkPSJBMy5GNS5waWMxLjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjIuMi4yLjIuMi4yLjIuMi4yLjIuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS4xYS5jbW1sIiB4cmVmPSJBMy5GNS5waWMxLjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjE4LjIuMi4yLjIuMi4yLjIuMi4yLjIuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLm0xLjEuMS4xIj48bXRleHQgaWQ9IkEzLkY1LnBpYzEuMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMTguMi4yLjIuMi4yLjIuMi4yLjIuMi4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEubTEuMS4xLjEuY21tbCIgbWF0aHNpemU9IjcwJSIgeHJlZj0iQTMuRjUucGljMS4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4yLjIuMi4yLjIuMi4yLjIuMi4yLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xLjEuMSI+QkFTRTwvbXRleHQ+PC9jaT48L2FwcGx5PjwvYW5ub3RhdGlvbi14bWw+PGFubm90YXRpb24gZW5jb2Rpbmc9ImFwcGxpY2F0aW9uL3gtdGV4IiBpZD0iQTMuRjUucGljMS4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4xOC4yLjIuMi4yLjIuMi4yLjIuMi4yLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS4xLjEuMS5tMS4xYyI+e31fe1x0ZXh0c2N7QkFTRX19PC9hbm5vdGF0aW9uPjwvc2VtYW50aWNzPjwvbWF0aD4gKExlZnQtdG8tUmlnaHQpPC9mb3JlaWdub2JqZWN0PjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=]]

    1. 1.

      Pregunta: ¿BERT realmente necesita una cantidad tan grande de Lua error: Internal error: The interpreter exited with status 1. (128,000 palabras/lote * 1,000,000 pasos) para alcanzar una alta precisión de Lua error: Internal error: The interpreter exited with status 1.?
      Respuesta: Sí, BERT$ {\textstyle _{\text{BASE}}} $ alcanza casi un 1.0% de precisión adicional en MNLI cuando se entrena con 1M de pasos en comparación con 500k pasos.

    2. 2.

      Pregunta: ¿El Lua error: Internal error: The interpreter exited with status 1. MLM converge más lento que el Lua error: Internal error: The interpreter exited with status 1. LTR, dado que solo se predice el 15% de las palabras en cada lote en lugar de todas las palabras?
      Respuesta: El modelo MLM sí converge ligeramente más lento que el modelo LTR. Sin embargo, en términos de precisión absoluta, el modelo MLM comienza a superar al modelo LTR casi de inmediato.

    C.2 Ablación para diferentes procedimientos de enmascaramiento

    En la Sección 3.1, mencionamos que BERT utiliza una estrategia mixta para enmascarar los tokens objetivo al realizar Lua error: Internal error: The interpreter exited with status 1. con el objetivo de modelo de lenguaje enmascarado (MLM). El siguiente es un estudio de ablación para evaluar el efecto de diferentes estrategias de enmascaramiento.

    Nótese que el propósito de las estrategias de enmascaramiento es reducir el desajuste entre el Lua error: Internal error: The interpreter exited with status 1. y el Lua error: Internal error: The interpreter exited with status 1., ya que el símbolo [MASK] nunca aparece durante la etapa de Lua error: Internal error: The interpreter exited with status 1.. Reportamos los resultados Dev tanto para MNLI como para NER. Para NER, reportamos tanto los enfoques de Lua error: Internal error: The interpreter exited with status 1. como los basados en características, ya que esperamos que el desajuste se amplifique en el enfoque basado en características, dado que el modelo no tendrá oportunidad de ajustar las representaciones.

    Masking Rates Dev Set Results
    Mask Same Rnd MNLI NER
    Fine-tune Fine-tune Feature-based
    80% 10% 10% 84.2 95.4 94.9
    100% 0% 0% 84.3 94.9 94.0
    80% 0% 20% 84.1 95.2 94.6
    80% 20% 0% 84.4 95.2 94.7
    0% 20% 80% 83.7 94.8 94.6
    0% 0% 100% 83.6 94.9 94.6

    Los resultados se presentan en la Tabla 8. En la tabla, Mask significa que reemplazamos el token objetivo con el símbolo [MASK] para MLM; Same significa que mantenemos el token objetivo tal cual; Rnd significa que reemplazamos el token objetivo con otro token aleatorio.

    Los números en la parte izquierda de la tabla representan las probabilidades de las estrategias específicas utilizadas durante el Lua error: Internal error: The interpreter exited with status 1. MLM (BERT utiliza 80%, 10%, 10%). La parte derecha del artículo representa los resultados del conjunto Dev. Para el enfoque basado en características, concatenamos las últimas 4 capas de BERT como las características, lo cual demostró ser el mejor enfoque en la Sección 5.3.

    A partir de la tabla puede observarse que el Lua error: Internal error: The interpreter exited with status 1. es sorprendentemente robusto ante diferentes estrategias de enmascaramiento. Sin embargo, como se esperaba, usar solo la estrategia Mask resultó problemático al aplicar el enfoque basado en características a NER. Curiosamente, usar solo la estrategia Rnd también rinde mucho peor que nuestra estrategia.