import{s as Ot,n as el,o as tl}from"../chunks/scheduler.36a0863c.js";import{S as ll,i as al,g as i,s,r as d,A as sl,h as o,f as l,c as n,j as Dt,u as r,x as m,k as Kt,y as nl,a,v as p,d as u,t as c,w as g}from"../chunks/index.f891bdb2.js";import{C as b}from"../chunks/CodeBlock.3ec784ea.js";import{D as il}from"../chunks/DocNotebookDropdown.81c1f0fb.js";import{H as f,E as ol}from"../chunks/EditOnGithub.a58e27a9.js";function ml(yt){let M,Je,Me,ye,J,Te,y,he,T,Tt='Existen varios modelos multilingües en 🤗 Transformers y su uso para inferencia difiere de los modelos monolingües. Sin embargo, no <em>todos</em> los usos de los modelos multilingües son diferentes. Algunos modelos, como <a href="https://huggingface.co/google-bert/bert-base-multilingual-uncased" rel="nofollow">google-bert/bert-base-multilingual-uncased</a>, pueden utilizarse igual que un modelo monolingüe. Esta guía te enseñará cómo utilizar modelos multilingües cuyo uso difiere en la inferencia.',Ue,h,ke,U,ht="XLM tiene diez checkpoints diferentes de los cuales solo uno es monolingüe. Los nueve checkpoints restantes del modelo pueden dividirse en dos categorías: los checkpoints que utilizan language embeddings y los que no.",$e,k,je,$,Ut="Los siguientes modelos XLM usan language embeddings para especificar el lenguaje utilizado en la inferencia:",we,j,kt="<li><code>FacebookAI/xlm-mlm-ende-1024</code> (Masked language modeling, English-German)</li> <li><code>FacebookAI/xlm-mlm-enfr-1024</code> (Masked language modeling, English-French)</li> <li><code>FacebookAI/xlm-mlm-enro-1024</code> (Masked language modeling, English-Romanian)</li> <li><code>FacebookAI/xlm-mlm-xnli15-1024</code> (Masked language modeling, XNLI languages)</li> <li><code>FacebookAI/xlm-mlm-tlm-xnli15-1024</code> (Masked language modeling + translation, XNLI languages)</li> <li><code>FacebookAI/xlm-clm-enfr-1024</code> (Causal language modeling, English-French)</li> <li><code>FacebookAI/xlm-clm-ende-1024</code> (Causal language modeling, English-German)</li>",xe,w,$t="Los language embeddings son representados como un tensor de la mismas dimensiones que los <code>input_ids</code> pasados al modelo. Los valores de estos tensores dependen del idioma utilizado y se identifican mediante los atributos <code>lang2id</code> y <code>id2lang</code> del tokenizador.",ve,x,jt="En este ejemplo, carga el checkpoint <code>FacebookAI/xlm-clm-enfr-1024</code> (Causal language modeling, English-French):",Ze,v,Ce,Z,wt="El atributo <code>lang2id</code> del tokenizador muestra los idiomas de este modelo y sus ids:",_e,C,Ie,_,xt="A continuación, crea un input de ejemplo:",Xe,I,Ge,X,vt="Establece el id del idioma, por ejemplo <code>&quot;en&quot;</code>, y utilízalo para definir el language embedding. El language embedding es un tensor lleno de <code>0</code> ya que es el id del idioma para inglés. Este tensor debe ser del mismo tamaño que <code>input_ids</code>.",ze,G,Le,z,Zt="Ahora puedes pasar los <code>input_ids</code> y el language embedding al modelo:",We,L,Ee,W,Ct='El script <a href="https://github.com/huggingface/transformers/tree/master/examples/pytorch/text-generation/run_generation.py" rel="nofollow">run_generation.py</a> puede generar texto con language embeddings utilizando los checkpoints <code>xlm-clm</code>.',Ve,E,Re,V,_t="Los siguientes modelos XLM no requieren language embeddings durante la inferencia:",Be,R,It="<li><code>FacebookAI/xlm-mlm-17-1280</code> (modelado de lenguaje enmascarado, 17 idiomas)</li> <li><code>FacebookAI/xlm-mlm-100-1280</code> (modelado de lenguaje enmascarado, 100 idiomas)</li>",Fe,B,Xt="Estos modelos se utilizan para representaciones genéricas de frases a diferencia de los anteriores checkpoints XLM.",qe,F,He,q,Gt="Los siguientes modelos de BERT pueden utilizarse para tareas multilingües:",Qe,H,zt="<li><code>google-bert/bert-base-multilingual-uncased</code> (modelado de lenguaje enmascarado + predicción de la siguiente oración, 102 idiomas)</li> <li><code>google-bert/bert-base-multilingual-cased</code> (modelado de lenguaje enmascarado + predicción de la siguiente oración, 104 idiomas)</li>",Ye,Q,Lt=`Estos modelos no requieren language embeddings durante la inferencia. Deben identificar la lengua a partir del
contexto e inferir en consecuencia.`,Ne,Y,Ae,N,Wt="Los siguientes modelos de XLM-RoBERTa pueden utilizarse para tareas multilingües:",Pe,A,Et="<li><code>FacebookAI/xlm-roberta-base</code> (modelado de lenguaje enmascarado, 100 idiomas)</li> <li><code>FacebookAI/xlm-roberta-large</code> (Modelado de lenguaje enmascarado, 100 idiomas)</li>",Se,P,Vt="XLM-RoBERTa se entrenó con 2,5 TB de datos CommonCrawl recién creados y depurados en 100 idiomas. Proporciona fuertes ventajas sobre los modelos multilingües publicados anteriormente como mBERT o XLM en tareas posteriores como la clasificación, el etiquetado de secuencias y la respuesta a preguntas.",De,S,Ke,D,Rt="Los siguientes modelos de M2M100 pueden utilizarse para traducción multilingüe:",Oe,K,Bt="<li><code>facebook/m2m100_418M</code> (traducción)</li> <li><code>facebook/m2m100_1.2B</code> (traducción)</li>",et,O,Ft="En este ejemplo, carga el checkpoint <code>facebook/m2m100_418M</code> para traducir del chino al inglés. Puedes establecer el idioma de origen en el tokenizador:",tt,ee,lt,te,qt="Tokeniza el texto:",at,le,st,ae,Ht="M2M100 fuerza el id del idioma de destino como el primer token generado para traducir al idioma de destino.. Establece el <code>forced_bos_token_id</code> a <code>en</code> en el método <code>generate</code> para traducir al inglés:",nt,se,it,ne,ot,ie,Qt="Los siguientes modelos de MBart pueden utilizarse para traducción multilingüe:",mt,oe,Yt="<li><code>facebook/mbart-large-50-one-to-many-mmt</code> (traducción automática multilingüe de uno a muchos, 50 idiomas)</li> <li><code>facebook/mbart-large-50-many-to-many-mmt</code> (traducción automática multilingüe de muchos a muchos, 50 idiomas)</li> <li><code>facebook/mbart-large-50-many-to-one-mmt</code> (traducción automática multilingüe muchos a uno, 50 idiomas)</li> <li><code>facebook/mbart-large-50</code> (traducción multilingüe, 50 idiomas)</li> <li><code>facebook/mbart-large-cc25</code></li>",dt,me,Nt="En este ejemplo, carga el checkpoint <code>facebook/mbart-large-50-many-to-many-mmt</code> para traducir del finlandés al inglés. Puedes establecer el idioma de origen en el tokenizador:",rt,de,pt,re,At="Tokeniza el texto:",ut,pe,ct,ue,Pt="MBart fuerza el id del idioma de destino como el primer token generado para traducirlo. Establece el <code>forced_bos_token_id</code> a <code>en</code> en el método <code>generate</code> para traducir al inglés:",gt,ce,bt,ge,St="Si estás usando el checkpoint <code>facebook/mbart-large-50-many-to-one-mmt</code> no necesitas forzar el id del idioma de destino como el primer token generado, de lo contrario el uso es el mismo.",Mt,be,ft,fe,Jt;return J=new f({props:{title:"Modelos multilingües para inferencia",local:"modelos-multilingües-para-inferencia",headingTag:"h1"}}),y=new il({props:{classNames:"absolute z-10 right-0 top-0",options:[{label:"Mixed",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/es/multilingual.ipynb"},{label:"PyTorch",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/es/pytorch/multilingual.ipynb"},{label:"TensorFlow",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/transformers_doc/es/tensorflow/multilingual.ipynb"},{label:"Mixed",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/es/multilingual.ipynb"},{label:"PyTorch",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/es/pytorch/multilingual.ipynb"},{label:"TensorFlow",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/transformers_doc/es/tensorflow/multilingual.ipynb"}]}}),h=new f({props:{title:"XLM",local:"xlm",headingTag:"h2"}}),k=new f({props:{title:"XLM con language embeddings",local:"xlm-con-language-embeddings",headingTag:"h3"}}),v=new b({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwdHJhbnNmb3JtZXJzJTIwaW1wb3J0JTIwWExNVG9rZW5pemVyJTJDJTIwWExNV2l0aExNSGVhZE1vZGVsJTBBJTBBdG9rZW5pemVyJTIwJTNEJTIwWExNVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJGYWNlYm9va0FJJTJGeGxtLWNsbS1lbmZyLTEwMjQlMjIpJTBBbW9kZWwlMjAlM0QlMjBYTE1XaXRoTE1IZWFkTW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUyMkZhY2Vib29rQUklMkZ4bG0tY2xtLWVuZnItMTAyNCUyMik=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> XLMTokenizer, XLMWithLMHeadModel

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = XLMTokenizer.from_pretrained(<span class="hljs-string">&quot;FacebookAI/xlm-clm-enfr-1024&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = XLMWithLMHeadModel.from_pretrained(<span class="hljs-string">&quot;FacebookAI/xlm-clm-enfr-1024&quot;</span>)`,wrap:!1}}),C=new b({props:{code:"cHJpbnQodG9rZW5pemVyLmxhbmcyaWQp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-built_in">print</span>(tokenizer.lang2id)
{<span class="hljs-string">&#x27;en&#x27;</span>: <span class="hljs-number">0</span>, <span class="hljs-string">&#x27;fr&#x27;</span>: <span class="hljs-number">1</span>}`,wrap:!1}}),I=new b({props:{code:"aW5wdXRfaWRzJTIwJTNEJTIwdG9yY2gudGVuc29yKCU1QnRva2VuaXplci5lbmNvZGUoJTIyV2lraXBlZGlhJTIwd2FzJTIwdXNlZCUyMHRvJTIyKSU1RCklMjAlMjAlMjMlMjBiYXRjaCUyMHNpemUlMjBvZiUyMDE=",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>input_ids = torch.tensor([tokenizer.encode(<span class="hljs-string">&quot;Wikipedia was used to&quot;</span>)])  <span class="hljs-comment"># batch size of 1</span>',wrap:!1}}),G=new b({props:{code:"bGFuZ3VhZ2VfaWQlMjAlM0QlMjB0b2tlbml6ZXIubGFuZzJpZCU1QiUyMmVuJTIyJTVEJTIwJTIwJTIzJTIwMCUwQWxhbmdzJTIwJTNEJTIwdG9yY2gudGVuc29yKCU1Qmxhbmd1YWdlX2lkJTVEJTIwKiUyMGlucHV0X2lkcy5zaGFwZSU1QjElNUQpJTIwJTIwJTIzJTIwdG9yY2gudGVuc29yKCU1QjAlMkMlMjAwJTJDJTIwMCUyQyUyMC4uLiUyQyUyMDAlNUQpJTBBJTBBJTIzJTIwV2UlMjByZXNoYXBlJTIwaXQlMjB0byUyMGJlJTIwb2YlMjBzaXplJTIwKGJhdGNoX3NpemUlMkMlMjBzZXF1ZW5jZV9sZW5ndGgpJTBBbGFuZ3MlMjAlM0QlMjBsYW5ncy52aWV3KDElMkMlMjAtMSklMjAlMjAlMjMlMjBpcyUyMG5vdyUyMG9mJTIwc2hhcGUlMjAlNUIxJTJDJTIwc2VxdWVuY2VfbGVuZ3RoJTVEJTIwKHdlJTIwaGF2ZSUyMGElMjBiYXRjaCUyMHNpemUlMjBvZiUyMDEp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>language_id = tokenizer.lang2id[<span class="hljs-string">&quot;en&quot;</span>]  <span class="hljs-comment"># 0</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>langs = torch.tensor([language_id] * input_ids.shape[<span class="hljs-number">1</span>])  <span class="hljs-comment"># torch.tensor([0, 0, 0, ..., 0])</span>

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-comment"># We reshape it to be of size (batch_size, sequence_length)</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>langs = langs.view(<span class="hljs-number">1</span>, -<span class="hljs-number">1</span>)  <span class="hljs-comment"># is now of shape [1, sequence_length] (we have a batch size of 1)</span>`,wrap:!1}}),L=new b({props:{code:"b3V0cHV0cyUyMCUzRCUyMG1vZGVsKGlucHV0X2lkcyUyQyUyMGxhbmdzJTNEbGFuZ3Mp",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>outputs = model(input_ids, langs=langs)',wrap:!1}}),E=new f({props:{title:"XLM sin language embeddings",local:"xlm-sin-language-embeddings",headingTag:"h3"}}),F=new f({props:{title:"BERT",local:"bert",headingTag:"h2"}}),Y=new f({props:{title:"XLM-RoBERTa",local:"xlm-roberta",headingTag:"h2"}}),S=new f({props:{title:"M2M100",local:"m2m100",headingTag:"h2"}}),ee=new b({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyME0yTTEwMEZvckNvbmRpdGlvbmFsR2VuZXJhdGlvbiUyQyUyME0yTTEwMFRva2VuaXplciUwQSUwQWVuX3RleHQlMjAlM0QlMjAlMjJEbyUyMG5vdCUyMG1lZGRsZSUyMGluJTIwdGhlJTIwYWZmYWlycyUyMG9mJTIwd2l6YXJkcyUyQyUyMGZvciUyMHRoZXklMjBhcmUlMjBzdWJ0bGUlMjBhbmQlMjBxdWljayUyMHRvJTIwYW5nZXIuJTIyJTBBY2hpbmVzZV90ZXh0JTIwJTNEJTIwJTIyJUU0JUI4JThEJUU4JUE2JTgxJUU2JThGJTkyJUU2JTg5JThCJUU1JUI3JUFCJUU1JUI4JUFCJUU3JTlBJTg0JUU0JUJBJThCJUU1JThCJTk5JTJDJTIwJUU1JTlCJUEwJUU3JTgyJUJBJUU0JUJCJTk2JUU1JTgwJTkxJUU2JTk4JUFGJUU1JUJFJUFFJUU1JUE2JTk5JUU3JTlBJTg0JTJDJTIwJUU1JUJFJTg4JUU1JUJGJUFCJUU1JUIwJUIxJUU2JTlDJTgzJUU3JTk5JUJDJUU2JTgwJTkyLiUyMiUwQSUwQXRva2VuaXplciUyMCUzRCUyME0yTTEwMFRva2VuaXplci5mcm9tX3ByZXRyYWluZWQoJTIyZmFjZWJvb2slMkZtMm0xMDBfNDE4TSUyMiUyQyUyMHNyY19sYW5nJTNEJTIyemglMjIpJTBBbW9kZWwlMjAlM0QlMjBNMk0xMDBGb3JDb25kaXRpb25hbEdlbmVyYXRpb24uZnJvbV9wcmV0cmFpbmVkKCUyMmZhY2Vib29rJTJGbTJtMTAwXzQxOE0lMjIp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> M2M100ForConditionalGeneration, M2M100Tokenizer

<span class="hljs-meta">&gt;&gt;&gt; </span>en_text = <span class="hljs-string">&quot;Do not meddle in the affairs of wizards, for they are subtle and quick to anger.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>chinese_text = <span class="hljs-string">&quot;不要插手巫師的事務, 因為他們是微妙的, 很快就會發怒.&quot;</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = M2M100Tokenizer.from_pretrained(<span class="hljs-string">&quot;facebook/m2m100_418M&quot;</span>, src_lang=<span class="hljs-string">&quot;zh&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = M2M100ForConditionalGeneration.from_pretrained(<span class="hljs-string">&quot;facebook/m2m100_418M&quot;</span>)`,wrap:!1}}),le=new b({props:{code:"ZW5jb2RlZF96aCUyMCUzRCUyMHRva2VuaXplcihjaGluZXNlX3RleHQlMkMlMjByZXR1cm5fdGVuc29ycyUzRCUyMnB0JTIyKQ==",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>encoded_zh = tokenizer(chinese_text, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)',wrap:!1}}),se=new b({props:{code:"Z2VuZXJhdGVkX3Rva2VucyUyMCUzRCUyMG1vZGVsLmdlbmVyYXRlKCoqZW5jb2RlZF96aCUyQyUyMGZvcmNlZF9ib3NfdG9rZW5faWQlM0R0b2tlbml6ZXIuZ2V0X2xhbmdfaWQoJTIyZW4lMjIpKSUwQXRva2VuaXplci5iYXRjaF9kZWNvZGUoZ2VuZXJhdGVkX3Rva2VucyUyQyUyMHNraXBfc3BlY2lhbF90b2tlbnMlM0RUcnVlKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>generated_tokens = model.generate(**encoded_zh, forced_bos_token_id=tokenizer.get_lang_id(<span class="hljs-string">&quot;en&quot;</span>))
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.batch_decode(generated_tokens, skip_special_tokens=<span class="hljs-literal">True</span>)
<span class="hljs-string">&#x27;Do not interfere with the matters of the witches, because they are delicate and will soon be angry.&#x27;</span>`,wrap:!1}}),ne=new f({props:{title:"MBart",local:"mbart",headingTag:"h2"}}),de=new b({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMkMlMjBBdXRvTW9kZWxGb3JTZXEyU2VxTE0lMEElMEFlbl90ZXh0JTIwJTNEJTIwJTIyRG8lMjBub3QlMjBtZWRkbGUlMjBpbiUyMHRoZSUyMGFmZmFpcnMlMjBvZiUyMHdpemFyZHMlMkMlMjBmb3IlMjB0aGV5JTIwYXJlJTIwc3VidGxlJTIwYW5kJTIwcXVpY2slMjB0byUyMGFuZ2VyLiUyMiUwQWZpX3RleHQlMjAlM0QlMjAlMjIlQzMlODRsJUMzJUE0JTIwc2VrYWFubnUlMjB2ZWxob2plbiUyMGFzaW9paGluJTJDJTIwc2lsbCVDMyVBNCUyMG5lJTIwb3ZhdCUyMGhpZW5vdmFyYWlzaWElMjBqYSUyMG5vcGVhc3RpJTIwdmloYWlzaWEuJTIyJTBBJTBBdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplci5mcm9tX3ByZXRyYWluZWQoJTIyZmFjZWJvb2slMkZtYmFydC1sYXJnZS01MC1tYW55LXRvLW1hbnktbW10JTIyJTJDJTIwc3JjX2xhbmclM0QlMjJmaV9GSSUyMiklMEFtb2RlbCUyMCUzRCUyMEF1dG9Nb2RlbEZvclNlcTJTZXFMTS5mcm9tX3ByZXRyYWluZWQoJTIyZmFjZWJvb2slMkZtYmFydC1sYXJnZS01MC1tYW55LXRvLW1hbnktbW10JTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AutoModelForSeq2SeqLM

<span class="hljs-meta">&gt;&gt;&gt; </span>en_text = <span class="hljs-string">&quot;Do not meddle in the affairs of wizards, for they are subtle and quick to anger.&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>fi_text = <span class="hljs-string">&quot;Älä sekaannu velhojen asioihin, sillä ne ovat hienovaraisia ja nopeasti vihaisia.&quot;</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;facebook/mbart-large-50-many-to-many-mmt&quot;</span>, src_lang=<span class="hljs-string">&quot;fi_FI&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>model = AutoModelForSeq2SeqLM.from_pretrained(<span class="hljs-string">&quot;facebook/mbart-large-50-many-to-many-mmt&quot;</span>)`,wrap:!1}}),pe=new b({props:{code:"ZW5jb2RlZF9lbiUyMCUzRCUyMHRva2VuaXplcihlbl90ZXh0JTJDJTIwcmV0dXJuX3RlbnNvcnMlM0QlMjJwdCUyMik=",highlighted:'<span class="hljs-meta">&gt;&gt;&gt; </span>encoded_en = tokenizer(en_text, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)',wrap:!1}}),ce=new b({props:{code:"Z2VuZXJhdGVkX3Rva2VucyUyMCUzRCUyMG1vZGVsLmdlbmVyYXRlKCoqZW5jb2RlZF9lbiUyQyUyMGZvcmNlZF9ib3NfdG9rZW5faWQlM0R0b2tlbml6ZXIubGFuZ19jb2RlX3RvX2lkKCUyMmVuX1hYJTIyKSklMEF0b2tlbml6ZXIuYmF0Y2hfZGVjb2RlKGdlbmVyYXRlZF90b2tlbnMlMkMlMjBza2lwX3NwZWNpYWxfdG9rZW5zJTNEVHJ1ZSk=",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>generated_tokens = model.generate(**encoded_en, forced_bos_token_id=tokenizer.lang_code_to_id(<span class="hljs-string">&quot;en_XX&quot;</span>))
<span class="hljs-meta">&gt;&gt;&gt; </span>tokenizer.batch_decode(generated_tokens, skip_special_tokens=<span class="hljs-literal">True</span>)
<span class="hljs-string">&quot;Don&#x27;t interfere with the wizard&#x27;s affairs, because they are subtle, will soon get angry.&quot;</span>`,wrap:!1}}),be=new ol({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/es/multilingual.md"}}),{c(){M=i("meta"),Je=s(),Me=i("p"),ye=s(),d(J.$$.fragment),Te=s(),d(y.$$.fragment),he=s(),T=i("p"),T.innerHTML=Tt,Ue=s(),d(h.$$.fragment),ke=s(),U=i("p"),U.textContent=ht,$e=s(),d(k.$$.fragment),je=s(),$=i("p"),$.textContent=Ut,we=s(),j=i("ul"),j.innerHTML=kt,xe=s(),w=i("p"),w.innerHTML=$t,ve=s(),x=i("p"),x.innerHTML=jt,Ze=s(),d(v.$$.fragment),Ce=s(),Z=i("p"),Z.innerHTML=wt,_e=s(),d(C.$$.fragment),Ie=s(),_=i("p"),_.textContent=xt,Xe=s(),d(I.$$.fragment),Ge=s(),X=i("p"),X.innerHTML=vt,ze=s(),d(G.$$.fragment),Le=s(),z=i("p"),z.innerHTML=Zt,We=s(),d(L.$$.fragment),Ee=s(),W=i("p"),W.innerHTML=Ct,Ve=s(),d(E.$$.fragment),Re=s(),V=i("p"),V.textContent=_t,Be=s(),R=i("ul"),R.innerHTML=It,Fe=s(),B=i("p"),B.textContent=Xt,qe=s(),d(F.$$.fragment),He=s(),q=i("p"),q.textContent=Gt,Qe=s(),H=i("ul"),H.innerHTML=zt,Ye=s(),Q=i("p"),Q.textContent=Lt,Ne=s(),d(Y.$$.fragment),Ae=s(),N=i("p"),N.textContent=Wt,Pe=s(),A=i("ul"),A.innerHTML=Et,Se=s(),P=i("p"),P.textContent=Vt,De=s(),d(S.$$.fragment),Ke=s(),D=i("p"),D.textContent=Rt,Oe=s(),K=i("ul"),K.innerHTML=Bt,et=s(),O=i("p"),O.innerHTML=Ft,tt=s(),d(ee.$$.fragment),lt=s(),te=i("p"),te.textContent=qt,at=s(),d(le.$$.fragment),st=s(),ae=i("p"),ae.innerHTML=Ht,nt=s(),d(se.$$.fragment),it=s(),d(ne.$$.fragment),ot=s(),ie=i("p"),ie.textContent=Qt,mt=s(),oe=i("ul"),oe.innerHTML=Yt,dt=s(),me=i("p"),me.innerHTML=Nt,rt=s(),d(de.$$.fragment),pt=s(),re=i("p"),re.textContent=At,ut=s(),d(pe.$$.fragment),ct=s(),ue=i("p"),ue.innerHTML=Pt,gt=s(),d(ce.$$.fragment),bt=s(),ge=i("p"),ge.innerHTML=St,Mt=s(),d(be.$$.fragment),ft=s(),fe=i("p"),this.h()},l(e){const t=sl("svelte-u9bgzb",document.head);M=o(t,"META",{name:!0,content:!0}),t.forEach(l),Je=n(e),Me=o(e,"P",{}),Dt(Me).forEach(l),ye=n(e),r(J.$$.fragment,e),Te=n(e),r(y.$$.fragment,e),he=n(e),T=o(e,"P",{"data-svelte-h":!0}),m(T)!=="svelte-1urzwxy"&&(T.innerHTML=Tt),Ue=n(e),r(h.$$.fragment,e),ke=n(e),U=o(e,"P",{"data-svelte-h":!0}),m(U)!=="svelte-1tpv007"&&(U.textContent=ht),$e=n(e),r(k.$$.fragment,e),je=n(e),$=o(e,"P",{"data-svelte-h":!0}),m($)!=="svelte-sf6rgo"&&($.textContent=Ut),we=n(e),j=o(e,"UL",{"data-svelte-h":!0}),m(j)!=="svelte-bq7gp5"&&(j.innerHTML=kt),xe=n(e),w=o(e,"P",{"data-svelte-h":!0}),m(w)!=="svelte-1j3qusn"&&(w.innerHTML=$t),ve=n(e),x=o(e,"P",{"data-svelte-h":!0}),m(x)!=="svelte-1buqctr"&&(x.innerHTML=jt),Ze=n(e),r(v.$$.fragment,e),Ce=n(e),Z=o(e,"P",{"data-svelte-h":!0}),m(Z)!=="svelte-4lsbtx"&&(Z.innerHTML=wt),_e=n(e),r(C.$$.fragment,e),Ie=n(e),_=o(e,"P",{"data-svelte-h":!0}),m(_)!=="svelte-1tlykvk"&&(_.textContent=xt),Xe=n(e),r(I.$$.fragment,e),Ge=n(e),X=o(e,"P",{"data-svelte-h":!0}),m(X)!=="svelte-zrx9u1"&&(X.innerHTML=vt),ze=n(e),r(G.$$.fragment,e),Le=n(e),z=o(e,"P",{"data-svelte-h":!0}),m(z)!=="svelte-2882ma"&&(z.innerHTML=Zt),We=n(e),r(L.$$.fragment,e),Ee=n(e),W=o(e,"P",{"data-svelte-h":!0}),m(W)!=="svelte-14aj7e4"&&(W.innerHTML=Ct),Ve=n(e),r(E.$$.fragment,e),Re=n(e),V=o(e,"P",{"data-svelte-h":!0}),m(V)!=="svelte-akh8od"&&(V.textContent=_t),Be=n(e),R=o(e,"UL",{"data-svelte-h":!0}),m(R)!=="svelte-e8hrcc"&&(R.innerHTML=It),Fe=n(e),B=o(e,"P",{"data-svelte-h":!0}),m(B)!=="svelte-1yhdx4z"&&(B.textContent=Xt),qe=n(e),r(F.$$.fragment,e),He=n(e),q=o(e,"P",{"data-svelte-h":!0}),m(q)!=="svelte-bc4ir5"&&(q.textContent=Gt),Qe=n(e),H=o(e,"UL",{"data-svelte-h":!0}),m(H)!=="svelte-1pylxh5"&&(H.innerHTML=zt),Ye=n(e),Q=o(e,"P",{"data-svelte-h":!0}),m(Q)!=="svelte-1seqp0w"&&(Q.textContent=Lt),Ne=n(e),r(Y.$$.fragment,e),Ae=n(e),N=o(e,"P",{"data-svelte-h":!0}),m(N)!=="svelte-1kvozu1"&&(N.textContent=Wt),Pe=n(e),A=o(e,"UL",{"data-svelte-h":!0}),m(A)!=="svelte-1161vl4"&&(A.innerHTML=Et),Se=n(e),P=o(e,"P",{"data-svelte-h":!0}),m(P)!=="svelte-1u5ajxn"&&(P.textContent=Vt),De=n(e),r(S.$$.fragment,e),Ke=n(e),D=o(e,"P",{"data-svelte-h":!0}),m(D)!=="svelte-d5hmja"&&(D.textContent=Rt),Oe=n(e),K=o(e,"UL",{"data-svelte-h":!0}),m(K)!=="svelte-1fs8mlx"&&(K.innerHTML=Bt),et=n(e),O=o(e,"P",{"data-svelte-h":!0}),m(O)!=="svelte-15hj0dt"&&(O.innerHTML=Ft),tt=n(e),r(ee.$$.fragment,e),lt=n(e),te=o(e,"P",{"data-svelte-h":!0}),m(te)!=="svelte-t0s1pc"&&(te.textContent=qt),at=n(e),r(le.$$.fragment,e),st=n(e),ae=o(e,"P",{"data-svelte-h":!0}),m(ae)!=="svelte-1ujoh2i"&&(ae.innerHTML=Ht),nt=n(e),r(se.$$.fragment,e),it=n(e),r(ne.$$.fragment,e),ot=n(e),ie=o(e,"P",{"data-svelte-h":!0}),m(ie)!=="svelte-11kyy3j"&&(ie.textContent=Qt),mt=n(e),oe=o(e,"UL",{"data-svelte-h":!0}),m(oe)!=="svelte-1dl7zj1"&&(oe.innerHTML=Yt),dt=n(e),me=o(e,"P",{"data-svelte-h":!0}),m(me)!=="svelte-z8p06d"&&(me.innerHTML=Nt),rt=n(e),r(de.$$.fragment,e),pt=n(e),re=o(e,"P",{"data-svelte-h":!0}),m(re)!=="svelte-t0s1pc"&&(re.textContent=At),ut=n(e),r(pe.$$.fragment,e),ct=n(e),ue=o(e,"P",{"data-svelte-h":!0}),m(ue)!=="svelte-qtehx9"&&(ue.innerHTML=Pt),gt=n(e),r(ce.$$.fragment,e),bt=n(e),ge=o(e,"P",{"data-svelte-h":!0}),m(ge)!=="svelte-1xi9zr5"&&(ge.innerHTML=St),Mt=n(e),r(be.$$.fragment,e),ft=n(e),fe=o(e,"P",{}),Dt(fe).forEach(l),this.h()},h(){Kt(M,"name","hf:doc:metadata"),Kt(M,"content",dl)},m(e,t){nl(document.head,M),a(e,Je,t),a(e,Me,t),a(e,ye,t),p(J,e,t),a(e,Te,t),p(y,e,t),a(e,he,t),a(e,T,t),a(e,Ue,t),p(h,e,t),a(e,ke,t),a(e,U,t),a(e,$e,t),p(k,e,t),a(e,je,t),a(e,$,t),a(e,we,t),a(e,j,t),a(e,xe,t),a(e,w,t),a(e,ve,t),a(e,x,t),a(e,Ze,t),p(v,e,t),a(e,Ce,t),a(e,Z,t),a(e,_e,t),p(C,e,t),a(e,Ie,t),a(e,_,t),a(e,Xe,t),p(I,e,t),a(e,Ge,t),a(e,X,t),a(e,ze,t),p(G,e,t),a(e,Le,t),a(e,z,t),a(e,We,t),p(L,e,t),a(e,Ee,t),a(e,W,t),a(e,Ve,t),p(E,e,t),a(e,Re,t),a(e,V,t),a(e,Be,t),a(e,R,t),a(e,Fe,t),a(e,B,t),a(e,qe,t),p(F,e,t),a(e,He,t),a(e,q,t),a(e,Qe,t),a(e,H,t),a(e,Ye,t),a(e,Q,t),a(e,Ne,t),p(Y,e,t),a(e,Ae,t),a(e,N,t),a(e,Pe,t),a(e,A,t),a(e,Se,t),a(e,P,t),a(e,De,t),p(S,e,t),a(e,Ke,t),a(e,D,t),a(e,Oe,t),a(e,K,t),a(e,et,t),a(e,O,t),a(e,tt,t),p(ee,e,t),a(e,lt,t),a(e,te,t),a(e,at,t),p(le,e,t),a(e,st,t),a(e,ae,t),a(e,nt,t),p(se,e,t),a(e,it,t),p(ne,e,t),a(e,ot,t),a(e,ie,t),a(e,mt,t),a(e,oe,t),a(e,dt,t),a(e,me,t),a(e,rt,t),p(de,e,t),a(e,pt,t),a(e,re,t),a(e,ut,t),p(pe,e,t),a(e,ct,t),a(e,ue,t),a(e,gt,t),p(ce,e,t),a(e,bt,t),a(e,ge,t),a(e,Mt,t),p(be,e,t),a(e,ft,t),a(e,fe,t),Jt=!0},p:el,i(e){Jt||(u(J.$$.fragment,e),u(y.$$.fragment,e),u(h.$$.fragment,e),u(k.$$.fragment,e),u(v.$$.fragment,e),u(C.$$.fragment,e),u(I.$$.fragment,e),u(G.$$.fragment,e),u(L.$$.fragment,e),u(E.$$.fragment,e),u(F.$$.fragment,e),u(Y.$$.fragment,e),u(S.$$.fragment,e),u(ee.$$.fragment,e),u(le.$$.fragment,e),u(se.$$.fragment,e),u(ne.$$.fragment,e),u(de.$$.fragment,e),u(pe.$$.fragment,e),u(ce.$$.fragment,e),u(be.$$.fragment,e),Jt=!0)},o(e){c(J.$$.fragment,e),c(y.$$.fragment,e),c(h.$$.fragment,e),c(k.$$.fragment,e),c(v.$$.fragment,e),c(C.$$.fragment,e),c(I.$$.fragment,e),c(G.$$.fragment,e),c(L.$$.fragment,e),c(E.$$.fragment,e),c(F.$$.fragment,e),c(Y.$$.fragment,e),c(S.$$.fragment,e),c(ee.$$.fragment,e),c(le.$$.fragment,e),c(se.$$.fragment,e),c(ne.$$.fragment,e),c(de.$$.fragment,e),c(pe.$$.fragment,e),c(ce.$$.fragment,e),c(be.$$.fragment,e),Jt=!1},d(e){e&&(l(Je),l(Me),l(ye),l(Te),l(he),l(T),l(Ue),l(ke),l(U),l($e),l(je),l($),l(we),l(j),l(xe),l(w),l(ve),l(x),l(Ze),l(Ce),l(Z),l(_e),l(Ie),l(_),l(Xe),l(Ge),l(X),l(ze),l(Le),l(z),l(We),l(Ee),l(W),l(Ve),l(Re),l(V),l(Be),l(R),l(Fe),l(B),l(qe),l(He),l(q),l(Qe),l(H),l(Ye),l(Q),l(Ne),l(Ae),l(N),l(Pe),l(A),l(Se),l(P),l(De),l(Ke),l(D),l(Oe),l(K),l(et),l(O),l(tt),l(lt),l(te),l(at),l(st),l(ae),l(nt),l(it),l(ot),l(ie),l(mt),l(oe),l(dt),l(me),l(rt),l(pt),l(re),l(ut),l(ct),l(ue),l(gt),l(bt),l(ge),l(Mt),l(ft),l(fe)),l(M),g(J,e),g(y,e),g(h,e),g(k,e),g(v,e),g(C,e),g(I,e),g(G,e),g(L,e),g(E,e),g(F,e),g(Y,e),g(S,e),g(ee,e),g(le,e),g(se,e),g(ne,e),g(de,e),g(pe,e),g(ce,e),g(be,e)}}}const dl='{"title":"Modelos multilingües para inferencia","local":"modelos-multilingües-para-inferencia","sections":[{"title":"XLM","local":"xlm","sections":[{"title":"XLM con language embeddings","local":"xlm-con-language-embeddings","sections":[],"depth":3},{"title":"XLM sin language embeddings","local":"xlm-sin-language-embeddings","sections":[],"depth":3}],"depth":2},{"title":"BERT","local":"bert","sections":[],"depth":2},{"title":"XLM-RoBERTa","local":"xlm-roberta","sections":[],"depth":2},{"title":"M2M100","local":"m2m100","sections":[],"depth":2},{"title":"MBart","local":"mbart","sections":[],"depth":2}],"depth":1}';function rl(yt){return tl(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ml extends ll{constructor(M){super(),al(this,M,rl,ml,Ot,{})}}export{Ml as component};
