import{s as Q,n as V,o as W}from"../chunks/scheduler.cc52f4b9.js";import{S as X,i as Z,e as r,s as l,c as b,h as ee,a as i,d as n,b as a,f as I,g as v,j as L,k as J,l as te,m as s,n as w,t as C,o as T,p as M}from"../chunks/index.9480bb2b.js";import{C as ne,H as se,E as le}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.04d617be.js";import{Y as ae}from"../chunks/Youtube.7b12d9e8.js";import{C as oe}from"../chunks/CourseFloatingBanner.cdc38ef1.js";function re(F){let o,P,x,y,m,E,u,H,p,z,c,S,f,G="Les modèles encodeur-décodeur (également appelés modèles de séquence-à-séquence) utilisent les deux parties du <em>transformer</em>. À chaque étape, les couches d’attention de l’encodeur peuvent accéder à tous les mots de la phrase initiale, tandis que les couches d’attention du décodeur n’ont accès qu’aux mots positionnés avant un mot donné en entrée de ces couches d’attention.",j,d,K='Le pré-entraînement de ces modèles peut être réalisé en utilisant les objectifs des modèles basés sur l’encodeur ou des modèles basés sur le décodeur. En général cela implique quelque chose de plus complexe. Par exemple, le modèle <a href="https://huggingface.co/t5-base" rel="nofollow">T5</a> est pré-entraîné en remplaçant des zones aléatoires de texte (qui peuvent contenir plusieurs mots) par un masque spécial et l’objectif est alors de prédire le texte que ce masque cache.',A,$,N="Les modèles de séquence-à-séquence sont les plus adaptés pour les tâches liées à la génération de nouvelles phrases en fonction d’une entrée donnée, comme le résumé de texte, la traduction ou la génération de questions-réponses.",B,h,O="Les modèles qui représentent le mieux cette famille sont :",R,g,D='<li><a href="https://huggingface.co/transformers/model_doc/bart.html" rel="nofollow">BART</a></li> <li><a href="https://huggingface.co/transformers/model_doc/mbart.html" rel="nofollow">mBART</a></li> <li><a href="https://huggingface.co/transformers/model_doc/marian.html" rel="nofollow">Marian</a></li> <li><a href="https://huggingface.co/transformers/model_doc/t5.html" rel="nofollow">T5</a></li>',U,q,Y,_,k;return m=new ne({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),u=new se({props:{title:"Les modèles de séquence-à-séquence",local:"les-modèles-de-séquence-à-séquence",headingTag:"h1"}}),p=new oe({props:{chapter:1,classNames:"absolute z-10 right-0 top-0"}}),c=new ae({props:{id:"0_4KEb08xrE"}}),q=new le({props:{source:"https://github.com/huggingface/course/blob/main/chapters/fr/chapter1/7.mdx"}}),{c(){o=r("meta"),P=l(),x=r("p"),y=l(),b(m.$$.fragment),E=l(),b(u.$$.fragment),H=l(),b(p.$$.fragment),z=l(),b(c.$$.fragment),S=l(),f=r("p"),f.innerHTML=G,j=l(),d=r("p"),d.innerHTML=K,A=l(),$=r("p"),$.textContent=N,B=l(),h=r("p"),h.textContent=O,R=l(),g=r("ul"),g.innerHTML=D,U=l(),b(q.$$.fragment),Y=l(),_=r("p"),this.h()},l(e){const t=ee("svelte-u9bgzb",document.head);o=i(t,"META",{name:!0,content:!0}),t.forEach(n),P=a(e),x=i(e,"P",{}),I(x).forEach(n),y=a(e),v(m.$$.fragment,e),E=a(e),v(u.$$.fragment,e),H=a(e),v(p.$$.fragment,e),z=a(e),v(c.$$.fragment,e),S=a(e),f=i(e,"P",{"data-svelte-h":!0}),L(f)!=="svelte-cqo8zl"&&(f.innerHTML=G),j=a(e),d=i(e,"P",{"data-svelte-h":!0}),L(d)!=="svelte-1hb2z5n"&&(d.innerHTML=K),A=a(e),$=i(e,"P",{"data-svelte-h":!0}),L($)!=="svelte-10dqry8"&&($.textContent=N),B=a(e),h=i(e,"P",{"data-svelte-h":!0}),L(h)!=="svelte-ngnotm"&&(h.textContent=O),R=a(e),g=i(e,"UL",{"data-svelte-h":!0}),L(g)!=="svelte-1lyffe"&&(g.innerHTML=D),U=a(e),v(q.$$.fragment,e),Y=a(e),_=i(e,"P",{}),I(_).forEach(n),this.h()},h(){J(o,"name","hf:doc:metadata"),J(o,"content",ie)},m(e,t){te(document.head,o),s(e,P,t),s(e,x,t),s(e,y,t),w(m,e,t),s(e,E,t),w(u,e,t),s(e,H,t),w(p,e,t),s(e,z,t),w(c,e,t),s(e,S,t),s(e,f,t),s(e,j,t),s(e,d,t),s(e,A,t),s(e,$,t),s(e,B,t),s(e,h,t),s(e,R,t),s(e,g,t),s(e,U,t),w(q,e,t),s(e,Y,t),s(e,_,t),k=!0},p:V,i(e){k||(C(m.$$.fragment,e),C(u.$$.fragment,e),C(p.$$.fragment,e),C(c.$$.fragment,e),C(q.$$.fragment,e),k=!0)},o(e){T(m.$$.fragment,e),T(u.$$.fragment,e),T(p.$$.fragment,e),T(c.$$.fragment,e),T(q.$$.fragment,e),k=!1},d(e){e&&(n(P),n(x),n(y),n(E),n(H),n(z),n(S),n(f),n(j),n(d),n(A),n($),n(B),n(h),n(R),n(g),n(U),n(Y),n(_)),n(o),M(m,e),M(u,e),M(p,e),M(c,e),M(q,e)}}}const ie='{"title":"Les modèles de séquence-à-séquence","local":"les-modèles-de-séquence-à-séquence","sections":[],"depth":1}';function me(F){return W(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class $e extends X{constructor(o){super(),Z(this,o,me,re,Q,{})}}export{$e as component};
