import{S as sn,i as nn,s as rn,e as n,k as l,w as q,t as h,M as on,c as r,d as t,m as p,x as $,a as o,h as v,b as i,G as s,g as u,y as x,o as d,p as an,q as c,B as g,v as un,n as ln}from"../../chunks/vendor-hf-doc-builder.js";import{I as j}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{Q as I}from"../../chunks/Question-hf-doc-builder.js";import{F as pn}from"../../chunks/FrameworkSwitchCourse-hf-doc-builder.js";function dn(de){let m,k,_,E,z,b,H,P,O,T,L,A,S,w,y,C;return E=new j({}),y=new I({props:{choices:[{text:"Parce que les <i>tranformers</i> sont entra\xEEn\xE9s avec un apprentissage non supervis\xE9.",explain:"Pas tout \xE0 fait. M\xEAme l'apprentissage non supervis\xE9 a besoin d'une fonction de perte !"},{text:"Parce que la sortie de perte interne du mod\xE8le est utilis\xE9e par d\xE9faut.",explain:"C'est exact !",correct:!0},{text:"Parce que nous calculons les mesures apr\xE8s l'entra\xEEnement au lieu de le faire.",explain:"Nous le faisons souvent, mais cela n'explique pas d'o\xF9 vient la valeur de perte que nous optimisons dans l'entra\xEEnement."},{text:"Parce que la perte est sp\xE9cifi\xE9e dans `model.fit()`.",explain:"Non, la fonction de perte est toujours fix\xE9e une fois que vous ex\xE9cutez `model.compile()`, et ne peut pas \xEAtre modifi\xE9e dans `model.fit()`."}]}}),{c(){m=n("h3"),k=n("a"),_=n("span"),q(E.$$.fragment),z=l(),b=n("span"),H=h("9. Pourquoi est-il souvent inutile de sp\xE9cifier une perte quand on appelle "),P=n("code"),O=h("compile()"),T=h(" sur un "),L=n("em"),A=h("transformer"),S=h(" ?"),w=l(),q(y.$$.fragment),this.h()},l(f){m=r(f,"H3",{class:!0});var N=o(m);k=r(N,"A",{id:!0,class:!0,href:!0});var M=o(k);_=r(M,"SPAN",{});var He=o(_);$(E.$$.fragment,He),He.forEach(t),M.forEach(t),z=p(N),b=r(N,"SPAN",{});var Q=o(b);H=v(Q,"9. Pourquoi est-il souvent inutile de sp\xE9cifier une perte quand on appelle "),P=r(Q,"CODE",{});var Te=o(P);O=v(Te,"compile()"),Te.forEach(t),T=v(Q," sur un "),L=r(Q,"EM",{});var ee=o(L);A=v(ee,"transformer"),ee.forEach(t),S=v(Q," ?"),Q.forEach(t),N.forEach(t),w=p(f),$(y.$$.fragment,f),this.h()},h(){i(k,"id","9.-pourquoi-est-il-souvent-inutile-de-sp\xE9cifier-une-perte-quand-on-appelle-<code>compile()</code>-sur-un-<em>transformer</em>-?"),i(k,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(k,"href","#9.-pourquoi-est-il-souvent-inutile-de-sp\xE9cifier-une-perte-quand-on-appelle-<code>compile()</code>-sur-un-<em>transformer</em>-?"),i(m,"class","relative group")},m(f,N){u(f,m,N),s(m,k),s(k,_),x(E,_,null),s(m,z),s(m,b),s(b,H),s(b,P),s(P,O),s(b,T),s(b,L),s(L,A),s(b,S),u(f,w,N),x(y,f,N),C=!0},i(f){C||(c(E.$$.fragment,f),c(y.$$.fragment,f),C=!0)},o(f){d(E.$$.fragment,f),d(y.$$.fragment,f),C=!1},d(f){f&&t(m),g(E),f&&t(w),g(y,f)}}}function cn(de){let m,k,_,E,z,b,H,P,O,T,L,A,S;return E=new j({}),A=new I({props:{choices:[{text:"Parce que les probl\xE8mes de s\xE9quence-\xE0-s\xE9quence utilisent une perte personnalis\xE9e, pour ignorer les \xE9tiquettes d\xE9finies \xE0 <code>-100</code>",explain:"Ce n'est pas du tout une perte personnalis\xE9e, mais la fa\xE7on dont la perte est toujours calcul\xE9e."},{text:"Parce que les probl\xE8mes de s\xE9quence \xE0 s\xE9quence n\xE9cessitent une boucle d'\xE9valuation sp\xE9ciale",explain:"C'est exact. Les pr\xE9dictions des mod\xE8les de s\xE9quence \xE0 s\xE9quence sont souvent ex\xE9cut\xE9es en utilisant la m\xE9thode <code>generate()</code>.",correct:!0},{text:"Parce que les cibles sont des textes dans des probl\xE8mes de s\xE9quence \xE0 s\xE9quence",explain:"Le <code>Trainer</code> ne se soucie pas vraiment de cela puisqu'ils ont \xE9t\xE9 pr\xE9trait\xE9s auparavant."},{text:"Parce que nous utilisons deux mod\xE8les dans les probl\xE8mes de s\xE9quence \xE0 s\xE9quence.",explain:"Nous utilisons en quelque sorte deux mod\xE8les, un encodeur et un d\xE9codeur, mais ils sont regroup\xE9s dans un seul mod\xE8le."}]}}),{c(){m=n("h3"),k=n("a"),_=n("span"),q(E.$$.fragment),z=l(),b=n("span"),H=h("8. Pourquoi existe-t-il une sous-classe sp\xE9cifique de "),P=n("code"),O=h("Trainer"),T=h(" pour les probl\xE8mes de s\xE9quence \xE0 s\xE9quence ?"),L=l(),q(A.$$.fragment),this.h()},l(w){m=r(w,"H3",{class:!0});var y=o(m);k=r(y,"A",{id:!0,class:!0,href:!0});var C=o(k);_=r(C,"SPAN",{});var f=o(_);$(E.$$.fragment,f),f.forEach(t),C.forEach(t),z=p(y),b=r(y,"SPAN",{});var N=o(b);H=v(N,"8. Pourquoi existe-t-il une sous-classe sp\xE9cifique de "),P=r(N,"CODE",{});var M=o(P);O=v(M,"Trainer"),M.forEach(t),T=v(N," pour les probl\xE8mes de s\xE9quence \xE0 s\xE9quence ?"),N.forEach(t),y.forEach(t),L=p(w),$(A.$$.fragment,w),this.h()},h(){i(k,"id","8.-pourquoi-existe-t-il-une-sous-classe-sp\xE9cifique-de-<code>trainer</code>-pour-les-probl\xE8mes-de-s\xE9quence-\xE0-s\xE9quence-?"),i(k,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(k,"href","#8.-pourquoi-existe-t-il-une-sous-classe-sp\xE9cifique-de-<code>trainer</code>-pour-les-probl\xE8mes-de-s\xE9quence-\xE0-s\xE9quence-?"),i(m,"class","relative group")},m(w,y){u(w,m,y),s(m,k),s(k,_),x(E,_,null),s(m,z),s(m,b),s(b,H),s(b,P),s(P,O),s(b,T),u(w,L,y),x(A,w,y),S=!0},i(w){S||(c(E.$$.fragment,w),c(A.$$.fragment,w),S=!0)},o(w){d(E.$$.fragment,w),d(A.$$.fragment,w),S=!1},d(w){w&&t(m),g(E),w&&t(L),g(A,w)}}}function mn(de){let m,k,_,E,z,b,H,P,O,T,L,A,S,w,y,C,f,N,M,He,Q,Te,ee,Dt,Rt,ut,ce,lt,D,te,Ve,me,Ft,fe,Gt,Be,Jt,Ut,pt,he,dt,R,se,De,ve,Kt,F,Wt,Re,Xt,Yt,Fe,Zt,es,ct,qe,mt,G,ne,Ge,$e,ts,Je,ss,ft,xe,ht,J,re,Ue,ge,ns,Ke,rs,vt,be,qt,U,oe,We,we,os,Xe,as,$t,ke,xt,K,ae,Ye,_e,is,Ze,us,gt,Ee,bt,V,B,Me,W,ie,et,ye,ls,tt,ps,wt,Pe,kt,X,ue,st,Ne,ds,nt,cs,_t,ze,Et,Y,le,rt,Ce,ms,ot,fs,yt,Ae,Pt,Z,pe,at,Se,hs,it,vs,Nt,Le,zt;_=new pn({props:{fw:de[0]}}),P=new j({}),M=new j({}),ce=new I({props:{choices:[{text:"Trouvez les composants grammaticaux d'une phrase.",explain:"Correct ! Nous pouvons alors \xE9tiqueter chaque mot comme \xE9tant un nom, un verbe, etc.",correct:!0},{text:"Trouvez si une phrase est grammaticalement correcte ou non.",explain:"Non, c'est un probl\xE8me de classification des s\xE9quences."},{text:"Trouvez les personnes mentionn\xE9es dans une phrase.",explain:"Correct ! Nous pouvons \xE9tiqueter chaque mot comme personne ou non personne.",correct:!0},{text:"Trouvez le groupe de mots dans une phrase qui r\xE9pond \xE0 une question.",explain:"Non, ce serait un probl\xE8me de r\xE9ponse aux questions."}]}}),me=new j({}),he=new I({props:{choices:[{text:"Il n'y a rien \xE0 faire, les textes sont d\xE9j\xE0 tokenis\xE9s.",explain:"Les textes sont en effet donn\xE9s comme des mots s\xE9par\xE9s, mais nous devons encore appliquer le mod\xE8le de tokenisation des sous-mots."},{text:"Les textes sont donn\xE9s sous forme de mots, il suffit donc d'appliquer la tok\xE9nisation en sous-mots.",explain:"C'est exact ! C'est diff\xE9rent du pr\xE9traitement habituel, o\xF9 nous devons appliquer le pipeline complet de tok\xE9nisation. Pouvez-vous penser \xE0 une autre diff\xE9rence ?",correct:!0},{text:"Nous utilisons <code>-100</code> pour \xE9tiqueter les <i>tokens</i> sp\xE9ciaux.",explain:"Ce n'est pas sp\xE9cifique \xE0 la classification de <i>tokens</i>. Nous utilisons toujours <code>-100</code> comme \xE9tiquette pour les <i>tokens</i> que nous voulons ignorer dans la perte."},{text:"Nous devons nous assurer que les \xE9tiquettes sont tronqu\xE9es ou rembourr\xE9es \xE0 la m\xEAme taille que les entr\xE9es, lorsque nous appliquons la troncature/le <i>padding</i>.",explain:"En effet ! Mais ce n'est pas la seule diff\xE9rence.",correct:!0}]}}),ve=new j({}),qe=new I({props:{choices:[{text:"Le <i>tokenizer</i> ajoute des <i>tokens</i> sp\xE9ciaux et nous n'avons pas d'\xE9tiquettes pour eux.",explain:"Nous \xE9tiquetons ces <code>-100</code> ils sont donc ignor\xE9s dans la perte."},{text:"Chaque mot peut produire plusieurs <i>tokens</i>, ce qui fait que nous nous retrouvons avec plus de <i>tokens</i> que d'\xE9tiquettes.",explain:"C'est le probl\xE8me principal, et nous devons aligner les \xE9tiquettes originales avec les <i>tokens</i>.",correct:!0},{text:"Les <i>tokens</i> ajout\xE9s n'ont pas d'\xE9tiquettes, il n'y a donc pas de probl\xE8me.",explain:"C'est incorrect. Nous avons besoin d'autant d'\xE9tiquettes que de <i>tokens</i>, sinon nos mod\xE8les se tromperont."}]}}),$e=new j({}),xe=new I({props:{choices:[{text:"C'est lorsque nous ex\xE9cutons un mod\xE8le sur un jeu de donn\xE9es et que nous obtenons les pr\xE9dictions pour chaque \xE9chantillon de cet ensemble de donn\xE9es.",explain:"Non, c'est juste une d\xE9duction courante."},{text:"C'est quand on entra\xEEne un mod\xE8le sur un jeu de donn\xE9es.",explain:"Non, il s'agit d'entra\xEEner un mod\xE8le. Il n'y a pas d'adaptation ici."},{text:"C'est lorsque nous affinons un mod\xE8le pr\xE9-entra\xEEn\xE9 sur un nouvel ensemble de donn\xE9es, et qu'il donne des pr\xE9dictions qui sont plus adapt\xE9es \xE0 ce jeu de donn\xE9es.",explain:"Correct ! Le mod\xE8le a adapt\xE9 ses connaissances au nouvel jeu de donn\xE9es.",correct:!0},{text:"C'est lorsque nous ajoutons des \xE9chantillons mal class\xE9s \xE0 un jeu de donn\xE9es pour rendre notre mod\xE8le plus robuste.",explain:"C'est certainement quelque chose que vous devriez faire si vous r\xE9entra\xEEnez votre mod\xE8le r\xE9guli\xE8rement, mais ce n'est pas une adaptation au domaine.."}]}}),ge=new j({}),be=new I({props:{choices:[{text:"Certains des <i>tokens</i> de la phrase d'entr\xE9e sont masqu\xE9s de mani\xE8re al\xE9atoire et les \xE9tiquettes sont les <i>tokens</i> d'entr\xE9e originaux.",explain:"C'est \xE7a !",correct:!0},{text:"Certains des <i>tokens</i> de la phrase d'entr\xE9e sont masqu\xE9s al\xE9atoirement et les \xE9tiquettes sont les <i>tokens</i> d'entr\xE9e originaux, d\xE9cal\xE9s vers la gauche.",explain:"Non, le d\xE9placement des \xE9tiquettes vers la gauche correspond \xE0 la pr\xE9diction du mot suivant, ce qui est une mod\xE9lisation causale du langage."},{text:"Certains des <i>tokens</i> de la phrase d'entr\xE9e sont masqu\xE9s de mani\xE8re al\xE9atoire, et l'\xE9tiquette indique si la phrase est positive ou n\xE9gative.",explain:"Il s'agit d'un probl\xE8me de classification de s\xE9quences avec une certaine augmentation des donn\xE9es, et non d'une mod\xE9lisation du langage masqu\xE9."},{text:"Certains des <i>tokens</i> des deux phrases d'entr\xE9e sont masqu\xE9s de mani\xE8re al\xE9atoire, et l'\xE9tiquette indique si les deux phrases sont similaires ou non.",explain:"Il s'agit d'un probl\xE8me de classification de s\xE9quences avec une certaine augmentation des donn\xE9es, et non d'une mod\xE9lisation du langage masqu\xE9."}]}}),we=new j({}),ke=new I({props:{choices:[{text:"R\xE9diger de courtes critiques de longs documents",explain:"Oui, c'est un probl\xE8me de r\xE9sum\xE9. Essayez une autre r\xE9ponse !",correct:!0},{text:"R\xE9pondre \xE0 des questions sur un document",explain:"Cela peut \xEAtre formul\xE9 comme un probl\xE8me de s\xE9quence \xE0 s\xE9quence. Ce n'est pas la seule bonne r\xE9ponse, cependant.",correct:!0},{text:"Traduire un texte en chinois en anglais",explain:"C'est d\xE9finitivement un probl\xE8me de s\xE9quence \xE0 s\xE9quence. Pouvez-vous en trouver un autre ?",correct:!0},{text:"Corriger les messages envoy\xE9s par mon neveu/ami pour qu'ils soient en anglais correct.",explain:"Il s'agit d'un probl\xE8me de traduction, donc d'une t\xE2che de s\xE9quence \xE0 s\xE9quence. Mais ce n'est pas la seule bonne r\xE9ponse !",correct:!0}]}}),_e=new j({}),Ee=new I({props:{choices:[{text:"Les entr\xE9es et les cibles doivent \xEAtre envoy\xE9es ensemble au <i>tokenizer</i> avec les \xE9l\xE9ments suivants <code>inputs=...</code> et <code>targets=...</code>.",explain:"Nous pourrions ajouter cette API \xE0 l'avenir, mais ce n'est pas possible pour le moment."},{text:"Les entr\xE9es et les cibles doivent \xEAtre pr\xE9trait\xE9es, en deux appels s\xE9par\xE9s au <i>tokenizer</i>.",explain:"C'est vrai, mais incomplet. Il y a quelque chose que vous devez faire pour vous assurer que le <i>tokenizer</i> traite les deux correctement."},{text:"Comme d'habitude, nous devons simplement tokeniser les entr\xE9es.",explain:"Pas dans un probl\xE8me de classification de s\xE9quences. Les cibles sont aussi des textes que nous devons convertir en chiffres !"},{text:"Les entr\xE9es doivent \xEAtre envoy\xE9es au <i>tokenizer</i>, et les cibles aussi, mais sous un gestionnaire de contexte sp\xE9cial.",explain:"C'est exact, le <i>tokenizer</i> doit \xEAtre mis en mode cible par ce gestionnaire de contexte.",correct:!0}]}});const qs=[cn,dn],Qe=[];function $s(e,a){return e[0]==="pt"?0:1}return V=$s(de),B=Qe[V]=qs[V](de),ye=new j({}),Pe=new I({props:{choices:[{text:"Lorsqu'il n'y a pas de mod\xE8le pr\xE9-entra\xEEn\xE9 disponible pour votre langue sp\xE9cifique.",explain:"C'est exact.",correct:!0},{text:"Lorsque vous disposez d'un grand nombre de donn\xE9es, m\xEAme s'il existe un mod\xE8le pr\xE9-entra\xEEn\xE9 qui pourrait fonctionner sur ces donn\xE9es.",explain:"Dans ce cas, vous devriez probablement utiliser le mod\xE8le pr\xE9-entra\xEEn\xE9 et le <i>finetuner</i> sur vos donn\xE9es, afin d'\xE9viter d'\xE9normes co\xFBts de calcul."},{text:"Lorsque vous avez des doutes sur le biais du mod\xE8le pr\xE9-entra\xEEn\xE9 que vous utilisez.",explain:"C'est vrai, mais vous devez vous assurer que les donn\xE9es que vous utiliserez pour l'entra\xEEnement sont vraiment meilleures.",correct:!0},{text:"Lorsque les mod\xE8les pr\xE9-entra\xEEn\xE9s disponibles ne sont tout simplement pas assez bons.",explain:"Vous \xEAtes s\xFBr d'avoir bien d\xE9bogu\xE9 votre entra\xEEnement ?"}]}}),Ne=new j({}),ze=new I({props:{choices:[{text:"Parce qu'il y a beaucoup de textes disponibles sur internet.",explain:"Bien que vrai, cela ne r\xE9pond pas vraiment \xE0 la question. Essayez encore !"},{text:"Parce que l'objectif de pr\xE9-entra\xEEnement ne n\xE9cessite pas que les humains \xE9tiquettent les donn\xE9es.",explain:"C'est exact, la mod\xE9lisation du langage est un probl\xE8me autosupervis\xE9.",correct:!0},{text:"Parce que la biblioth\xE8que \u{1F917} <i>Transformers</i> ne n\xE9cessite que quelques lignes de code pour d\xE9marrer l'entra\xEEnement.",explain:"Bien que vrai, cela ne r\xE9pond pas vraiment \xE0 la question pos\xE9e. Essayez une autre r\xE9ponse !"}]}}),Ce=new j({}),Ae=new I({props:{choices:[{text:"Vous devez tokeniser les entr\xE9es.",explain:"C'est exact, mais est-ce vraiment un d\xE9fi majeur ?"},{text:"Vous devez faire face \xE0 des contextes tr\xE8s longs, qui donnent plusieurs caract\xE9ristiques d'entra\xEEnement qui peuvent ou non contenir la r\xE9ponse.",explain:"C'est certainement l'un des d\xE9fis \xE0 relever.",correct:!0},{text:"Vous devez tokeniser les r\xE9ponses \xE0 la question ainsi que les entr\xE9es.",explain:"Non, \xE0 moins que vous ne formuliez votre probl\xE8me de r\xE9ponse aux questions comme une t\xE2che de s\xE9quence \xE0 s\xE9quence."},{text:"\xC0 partir de l'intervalle de r\xE9ponse dans le texte, vous devez trouver le token de d\xE9but et de fin dans l'entr\xE9e tokenis\xE9e.",explain:"C'est une des parties les plus difficiles, oui !",correct:!0}]}}),Se=new j({}),Le=new I({props:{choices:[{text:"Le mod\xE8le vous donne les positions de d\xE9but et de fin de la r\xE9ponse, et vous n'avez plus qu'\xE0 d\xE9coder la plage de <i>tokens</i> correspondant.",explain:"Ce pourrait \xEAtre une fa\xE7on de faire, mais c'est un peu trop simpliste."},{text:"Le mod\xE8le vous donne les positions de d\xE9but et de fin de la r\xE9ponse pour chaque caract\xE9ristique cr\xE9\xE9e par un exemple, et il vous suffit de d\xE9coder la plage de <i>tokens</i> correspondant dans celui qui a le meilleur score.",explain:"C'est proche du post-traitement que nous avons \xE9tudi\xE9, mais ce n'est pas tout \xE0 fait exact."},{text:"Le mod\xE8le vous donne les positions de d\xE9but et de fin de la r\xE9ponse pour chaque caract\xE9ristique cr\xE9\xE9e par un exemple, et vous n'avez plus qu'\xE0 les faire correspondre \xE0 la port\xE9e dans le contexte de celui qui a le meilleur score.",explain:"C'est \xE7a en r\xE9sum\xE9 !",correct:!0},{text:"Le mod\xE8le g\xE9n\xE8re une r\xE9ponse, et il vous suffit de la d\xE9coder.",explain:"Non, \xE0 moins que vous ne formuliez votre probl\xE8me de r\xE9ponse aux questions comme une t\xE2che de s\xE9quence \xE0 s\xE9quence."}]}}),{c(){m=n("meta"),k=l(),q(_.$$.fragment),E=l(),z=n("h1"),b=n("a"),H=n("span"),q(P.$$.fragment),O=l(),T=n("span"),L=h("Quiz de fin de chapitre"),A=l(),S=n("p"),w=h("Testons ce que vous avez appris dans ce chapitre !"),y=l(),C=n("h3"),f=n("a"),N=n("span"),q(M.$$.fragment),He=l(),Q=n("span"),Te=h("1. Laquelle des t\xE2ches suivantes peut \xEAtre consid\xE9r\xE9e comme un probl\xE8me de classification de "),ee=n("em"),Dt=h("tokens"),Rt=h(" ?"),ut=l(),q(ce.$$.fragment),lt=l(),D=n("h3"),te=n("a"),Ve=n("span"),q(me.$$.fragment),Ft=l(),fe=n("span"),Gt=h("2. Quelle partie du pr\xE9traitement pour la classification des "),Be=n("em"),Jt=h("tokens"),Ut=h(" diff\xE8re des autres pipelines de pr\xE9traitement ?"),pt=l(),q(he.$$.fragment),dt=l(),R=n("h3"),se=n("a"),De=n("span"),q(ve.$$.fragment),Kt=l(),F=n("span"),Wt=h("3. Quel probl\xE8me se pose lorsque nous tokenisons les mots dans un probl\xE8me de classification de "),Re=n("em"),Xt=h("tokens"),Yt=h(" et que nous voulons \xE9tiqueter les "),Fe=n("em"),Zt=h("tokens"),es=h(" ?"),ct=l(),q(qe.$$.fragment),mt=l(),G=n("h3"),ne=n("a"),Ge=n("span"),q($e.$$.fragment),ts=l(),Je=n("span"),ss=h("4. Que signifie \u201Cadaptation au domaine\u201D ?"),ft=l(),q(xe.$$.fragment),ht=l(),J=n("h3"),re=n("a"),Ue=n("span"),q(ge.$$.fragment),ns=l(),Ke=n("span"),rs=h("5. Quelles sont les \xE9tiquettes dans un probl\xE8me de mod\xE9lisation du langage masqu\xE9 ?"),vt=l(),q(be.$$.fragment),qt=l(),U=n("h3"),oe=n("a"),We=n("span"),q(we.$$.fragment),os=l(),Xe=n("span"),as=h("6. Laquelle de ces t\xE2ches peut \xEAtre consid\xE9r\xE9e comme un probl\xE8me de s\xE9quence \xE0 s\xE9quence ?"),$t=l(),q(ke.$$.fragment),xt=l(),K=n("h3"),ae=n("a"),Ye=n("span"),q(_e.$$.fragment),is=l(),Ze=n("span"),us=h("7. Quelle est la bonne fa\xE7on de pr\xE9traiter les donn\xE9es pour un probl\xE8me de s\xE9quence \xE0 s\xE9quence ?"),gt=l(),q(Ee.$$.fragment),bt=l(),B.c(),Me=l(),W=n("h3"),ie=n("a"),et=n("span"),q(ye.$$.fragment),ls=l(),tt=n("span"),ps=h("10. Quand devez-vous pr\xE9-entra\xEEner un nouveau mod\xE8le ?"),wt=l(),q(Pe.$$.fragment),kt=l(),X=n("h3"),ue=n("a"),st=n("span"),q(Ne.$$.fragment),ds=l(),nt=n("span"),cs=h("11. Pourquoi est-il facile de pr\xE9tra\xEEner un mod\xE8le de langage sur des batchs de textes ?"),_t=l(),q(ze.$$.fragment),Et=l(),Y=n("h3"),le=n("a"),rt=n("span"),q(Ce.$$.fragment),ms=l(),ot=n("span"),fs=h("12. Quels sont les principaux d\xE9fis lors du pr\xE9traitement des donn\xE9es pour une t\xE2che de r\xE9ponse \xE0 des questions ?"),yt=l(),q(Ae.$$.fragment),Pt=l(),Z=n("h3"),pe=n("a"),at=n("span"),q(Se.$$.fragment),hs=l(),it=n("span"),vs=h("13. Comment le post-traitement est-il g\xE9n\xE9ralement effectu\xE9 dans les r\xE9ponses aux questions ?"),Nt=l(),q(Le.$$.fragment),this.h()},l(e){const a=on('[data-svelte="svelte-1phssyn"]',document.head);m=r(a,"META",{name:!0,content:!0}),a.forEach(t),k=p(e),$(_.$$.fragment,e),E=p(e),z=r(e,"H1",{class:!0});var je=o(z);b=r(je,"A",{id:!0,class:!0,href:!0});var Ie=o(b);H=r(Ie,"SPAN",{});var xs=o(H);$(P.$$.fragment,xs),xs.forEach(t),Ie.forEach(t),O=p(je),T=r(je,"SPAN",{});var gs=o(T);L=v(gs,"Quiz de fin de chapitre"),gs.forEach(t),je.forEach(t),A=p(e),S=r(e,"P",{});var bs=o(S);w=v(bs,"Testons ce que vous avez appris dans ce chapitre !"),bs.forEach(t),y=p(e),C=r(e,"H3",{class:!0});var Ct=o(C);f=r(Ct,"A",{id:!0,class:!0,href:!0});var ws=o(f);N=r(ws,"SPAN",{});var ks=o(N);$(M.$$.fragment,ks),ks.forEach(t),ws.forEach(t),He=p(Ct),Q=r(Ct,"SPAN",{});var At=o(Q);Te=v(At,"1. Laquelle des t\xE2ches suivantes peut \xEAtre consid\xE9r\xE9e comme un probl\xE8me de classification de "),ee=r(At,"EM",{});var _s=o(ee);Dt=v(_s,"tokens"),_s.forEach(t),Rt=v(At," ?"),At.forEach(t),Ct.forEach(t),ut=p(e),$(ce.$$.fragment,e),lt=p(e),D=r(e,"H3",{class:!0});var St=o(D);te=r(St,"A",{id:!0,class:!0,href:!0});var Es=o(te);Ve=r(Es,"SPAN",{});var ys=o(Ve);$(me.$$.fragment,ys),ys.forEach(t),Es.forEach(t),Ft=p(St),fe=r(St,"SPAN",{});var Lt=o(fe);Gt=v(Lt,"2. Quelle partie du pr\xE9traitement pour la classification des "),Be=r(Lt,"EM",{});var Ps=o(Be);Jt=v(Ps,"tokens"),Ps.forEach(t),Ut=v(Lt," diff\xE8re des autres pipelines de pr\xE9traitement ?"),Lt.forEach(t),St.forEach(t),pt=p(e),$(he.$$.fragment,e),dt=p(e),R=r(e,"H3",{class:!0});var Qt=o(R);se=r(Qt,"A",{id:!0,class:!0,href:!0});var Ns=o(se);De=r(Ns,"SPAN",{});var zs=o(De);$(ve.$$.fragment,zs),zs.forEach(t),Ns.forEach(t),Kt=p(Qt),F=r(Qt,"SPAN",{});var Oe=o(F);Wt=v(Oe,"3. Quel probl\xE8me se pose lorsque nous tokenisons les mots dans un probl\xE8me de classification de "),Re=r(Oe,"EM",{});var Cs=o(Re);Xt=v(Cs,"tokens"),Cs.forEach(t),Yt=v(Oe," et que nous voulons \xE9tiqueter les "),Fe=r(Oe,"EM",{});var As=o(Fe);Zt=v(As,"tokens"),As.forEach(t),es=v(Oe," ?"),Oe.forEach(t),Qt.forEach(t),ct=p(e),$(qe.$$.fragment,e),mt=p(e),G=r(e,"H3",{class:!0});var jt=o(G);ne=r(jt,"A",{id:!0,class:!0,href:!0});var Ss=o(ne);Ge=r(Ss,"SPAN",{});var Ls=o(Ge);$($e.$$.fragment,Ls),Ls.forEach(t),Ss.forEach(t),ts=p(jt),Je=r(jt,"SPAN",{});var Qs=o(Je);ss=v(Qs,"4. Que signifie \u201Cadaptation au domaine\u201D ?"),Qs.forEach(t),jt.forEach(t),ft=p(e),$(xe.$$.fragment,e),ht=p(e),J=r(e,"H3",{class:!0});var Ht=o(J);re=r(Ht,"A",{id:!0,class:!0,href:!0});var js=o(re);Ue=r(js,"SPAN",{});var Hs=o(Ue);$(ge.$$.fragment,Hs),Hs.forEach(t),js.forEach(t),ns=p(Ht),Ke=r(Ht,"SPAN",{});var Ts=o(Ke);rs=v(Ts,"5. Quelles sont les \xE9tiquettes dans un probl\xE8me de mod\xE9lisation du langage masqu\xE9 ?"),Ts.forEach(t),Ht.forEach(t),vt=p(e),$(be.$$.fragment,e),qt=p(e),U=r(e,"H3",{class:!0});var Tt=o(U);oe=r(Tt,"A",{id:!0,class:!0,href:!0});var Ms=o(oe);We=r(Ms,"SPAN",{});var Is=o(We);$(we.$$.fragment,Is),Is.forEach(t),Ms.forEach(t),os=p(Tt),Xe=r(Tt,"SPAN",{});var Os=o(Xe);as=v(Os,"6. Laquelle de ces t\xE2ches peut \xEAtre consid\xE9r\xE9e comme un probl\xE8me de s\xE9quence \xE0 s\xE9quence ?"),Os.forEach(t),Tt.forEach(t),$t=p(e),$(ke.$$.fragment,e),xt=p(e),K=r(e,"H3",{class:!0});var Mt=o(K);ae=r(Mt,"A",{id:!0,class:!0,href:!0});var Vs=o(ae);Ye=r(Vs,"SPAN",{});var Bs=o(Ye);$(_e.$$.fragment,Bs),Bs.forEach(t),Vs.forEach(t),is=p(Mt),Ze=r(Mt,"SPAN",{});var Ds=o(Ze);us=v(Ds,"7. Quelle est la bonne fa\xE7on de pr\xE9traiter les donn\xE9es pour un probl\xE8me de s\xE9quence \xE0 s\xE9quence ?"),Ds.forEach(t),Mt.forEach(t),gt=p(e),$(Ee.$$.fragment,e),bt=p(e),B.l(e),Me=p(e),W=r(e,"H3",{class:!0});var It=o(W);ie=r(It,"A",{id:!0,class:!0,href:!0});var Rs=o(ie);et=r(Rs,"SPAN",{});var Fs=o(et);$(ye.$$.fragment,Fs),Fs.forEach(t),Rs.forEach(t),ls=p(It),tt=r(It,"SPAN",{});var Gs=o(tt);ps=v(Gs,"10. Quand devez-vous pr\xE9-entra\xEEner un nouveau mod\xE8le ?"),Gs.forEach(t),It.forEach(t),wt=p(e),$(Pe.$$.fragment,e),kt=p(e),X=r(e,"H3",{class:!0});var Ot=o(X);ue=r(Ot,"A",{id:!0,class:!0,href:!0});var Js=o(ue);st=r(Js,"SPAN",{});var Us=o(st);$(Ne.$$.fragment,Us),Us.forEach(t),Js.forEach(t),ds=p(Ot),nt=r(Ot,"SPAN",{});var Ks=o(nt);cs=v(Ks,"11. Pourquoi est-il facile de pr\xE9tra\xEEner un mod\xE8le de langage sur des batchs de textes ?"),Ks.forEach(t),Ot.forEach(t),_t=p(e),$(ze.$$.fragment,e),Et=p(e),Y=r(e,"H3",{class:!0});var Vt=o(Y);le=r(Vt,"A",{id:!0,class:!0,href:!0});var Ws=o(le);rt=r(Ws,"SPAN",{});var Xs=o(rt);$(Ce.$$.fragment,Xs),Xs.forEach(t),Ws.forEach(t),ms=p(Vt),ot=r(Vt,"SPAN",{});var Ys=o(ot);fs=v(Ys,"12. Quels sont les principaux d\xE9fis lors du pr\xE9traitement des donn\xE9es pour une t\xE2che de r\xE9ponse \xE0 des questions ?"),Ys.forEach(t),Vt.forEach(t),yt=p(e),$(Ae.$$.fragment,e),Pt=p(e),Z=r(e,"H3",{class:!0});var Bt=o(Z);pe=r(Bt,"A",{id:!0,class:!0,href:!0});var Zs=o(pe);at=r(Zs,"SPAN",{});var en=o(at);$(Se.$$.fragment,en),en.forEach(t),Zs.forEach(t),hs=p(Bt),it=r(Bt,"SPAN",{});var tn=o(it);vs=v(tn,"13. Comment le post-traitement est-il g\xE9n\xE9ralement effectu\xE9 dans les r\xE9ponses aux questions ?"),tn.forEach(t),Bt.forEach(t),Nt=p(e),$(Le.$$.fragment,e),this.h()},h(){i(m,"name","hf:doc:metadata"),i(m,"content",JSON.stringify(fn)),i(b,"id","quiz-de-fin-de-chapitre"),i(b,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(b,"href","#quiz-de-fin-de-chapitre"),i(z,"class","relative group"),i(f,"id","1.-laquelle-des-t\xE2ches-suivantes-peut-\xEAtre-consid\xE9r\xE9e-comme-un-probl\xE8me-de-classification-de-<em>tokens</em>-?"),i(f,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(f,"href","#1.-laquelle-des-t\xE2ches-suivantes-peut-\xEAtre-consid\xE9r\xE9e-comme-un-probl\xE8me-de-classification-de-<em>tokens</em>-?"),i(C,"class","relative group"),i(te,"id","2.-quelle-partie-du-pr\xE9traitement-pour-la-classification-des-<em>tokens</em>-diff\xE8re-des-autres-pipelines-de-pr\xE9traitement-?"),i(te,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(te,"href","#2.-quelle-partie-du-pr\xE9traitement-pour-la-classification-des-<em>tokens</em>-diff\xE8re-des-autres-pipelines-de-pr\xE9traitement-?"),i(D,"class","relative group"),i(se,"id","3.-quel-probl\xE8me-se-pose-lorsque-nous-tokenisons-les-mots-dans-un-probl\xE8me-de-classification-de-<em>tokens</em>-et-que-nous-voulons-\xE9tiqueter-les-<em>tokens</em>-?"),i(se,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(se,"href","#3.-quel-probl\xE8me-se-pose-lorsque-nous-tokenisons-les-mots-dans-un-probl\xE8me-de-classification-de-<em>tokens</em>-et-que-nous-voulons-\xE9tiqueter-les-<em>tokens</em>-?"),i(R,"class","relative group"),i(ne,"id","4.-que-signifie-\u201Cadaptation-au-domaine\u201D-?"),i(ne,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(ne,"href","#4.-que-signifie-\u201Cadaptation-au-domaine\u201D-?"),i(G,"class","relative group"),i(re,"id","5.-quelles-sont-les-\xE9tiquettes-dans-un-probl\xE8me-de-mod\xE9lisation-du-langage-masqu\xE9-?"),i(re,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(re,"href","#5.-quelles-sont-les-\xE9tiquettes-dans-un-probl\xE8me-de-mod\xE9lisation-du-langage-masqu\xE9-?"),i(J,"class","relative group"),i(oe,"id","6.-laquelle-de-ces-t\xE2ches-peut-\xEAtre-consid\xE9r\xE9e-comme-un-probl\xE8me-de-s\xE9quence-\xE0-s\xE9quence-?"),i(oe,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(oe,"href","#6.-laquelle-de-ces-t\xE2ches-peut-\xEAtre-consid\xE9r\xE9e-comme-un-probl\xE8me-de-s\xE9quence-\xE0-s\xE9quence-?"),i(U,"class","relative group"),i(ae,"id","7.-quelle-est-la-bonne-fa\xE7on-de-pr\xE9traiter-les-donn\xE9es-pour-un-probl\xE8me-de-s\xE9quence-\xE0-s\xE9quence-?"),i(ae,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(ae,"href","#7.-quelle-est-la-bonne-fa\xE7on-de-pr\xE9traiter-les-donn\xE9es-pour-un-probl\xE8me-de-s\xE9quence-\xE0-s\xE9quence-?"),i(K,"class","relative group"),i(ie,"id","10.-quand-devez-vous-pr\xE9-entra\xEEner-un-nouveau-mod\xE8le-?"),i(ie,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(ie,"href","#10.-quand-devez-vous-pr\xE9-entra\xEEner-un-nouveau-mod\xE8le-?"),i(W,"class","relative group"),i(ue,"id","11.-pourquoi-est-il-facile-de-pr\xE9tra\xEEner-un-mod\xE8le-de-langage-sur-des-batchs-de-textes-?"),i(ue,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(ue,"href","#11.-pourquoi-est-il-facile-de-pr\xE9tra\xEEner-un-mod\xE8le-de-langage-sur-des-batchs-de-textes-?"),i(X,"class","relative group"),i(le,"id","12.-quels-sont-les-principaux-d\xE9fis-lors-du-pr\xE9traitement-des-donn\xE9es-pour-une-t\xE2che-de-r\xE9ponse-\xE0-des-questions-?"),i(le,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(le,"href","#12.-quels-sont-les-principaux-d\xE9fis-lors-du-pr\xE9traitement-des-donn\xE9es-pour-une-t\xE2che-de-r\xE9ponse-\xE0-des-questions-?"),i(Y,"class","relative group"),i(pe,"id","13.-comment-le-post-traitement-est-il-g\xE9n\xE9ralement-effectu\xE9-dans-les-r\xE9ponses-aux-questions-?"),i(pe,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),i(pe,"href","#13.-comment-le-post-traitement-est-il-g\xE9n\xE9ralement-effectu\xE9-dans-les-r\xE9ponses-aux-questions-?"),i(Z,"class","relative group")},m(e,a){s(document.head,m),u(e,k,a),x(_,e,a),u(e,E,a),u(e,z,a),s(z,b),s(b,H),x(P,H,null),s(z,O),s(z,T),s(T,L),u(e,A,a),u(e,S,a),s(S,w),u(e,y,a),u(e,C,a),s(C,f),s(f,N),x(M,N,null),s(C,He),s(C,Q),s(Q,Te),s(Q,ee),s(ee,Dt),s(Q,Rt),u(e,ut,a),x(ce,e,a),u(e,lt,a),u(e,D,a),s(D,te),s(te,Ve),x(me,Ve,null),s(D,Ft),s(D,fe),s(fe,Gt),s(fe,Be),s(Be,Jt),s(fe,Ut),u(e,pt,a),x(he,e,a),u(e,dt,a),u(e,R,a),s(R,se),s(se,De),x(ve,De,null),s(R,Kt),s(R,F),s(F,Wt),s(F,Re),s(Re,Xt),s(F,Yt),s(F,Fe),s(Fe,Zt),s(F,es),u(e,ct,a),x(qe,e,a),u(e,mt,a),u(e,G,a),s(G,ne),s(ne,Ge),x($e,Ge,null),s(G,ts),s(G,Je),s(Je,ss),u(e,ft,a),x(xe,e,a),u(e,ht,a),u(e,J,a),s(J,re),s(re,Ue),x(ge,Ue,null),s(J,ns),s(J,Ke),s(Ke,rs),u(e,vt,a),x(be,e,a),u(e,qt,a),u(e,U,a),s(U,oe),s(oe,We),x(we,We,null),s(U,os),s(U,Xe),s(Xe,as),u(e,$t,a),x(ke,e,a),u(e,xt,a),u(e,K,a),s(K,ae),s(ae,Ye),x(_e,Ye,null),s(K,is),s(K,Ze),s(Ze,us),u(e,gt,a),x(Ee,e,a),u(e,bt,a),Qe[V].m(e,a),u(e,Me,a),u(e,W,a),s(W,ie),s(ie,et),x(ye,et,null),s(W,ls),s(W,tt),s(tt,ps),u(e,wt,a),x(Pe,e,a),u(e,kt,a),u(e,X,a),s(X,ue),s(ue,st),x(Ne,st,null),s(X,ds),s(X,nt),s(nt,cs),u(e,_t,a),x(ze,e,a),u(e,Et,a),u(e,Y,a),s(Y,le),s(le,rt),x(Ce,rt,null),s(Y,ms),s(Y,ot),s(ot,fs),u(e,yt,a),x(Ae,e,a),u(e,Pt,a),u(e,Z,a),s(Z,pe),s(pe,at),x(Se,at,null),s(Z,hs),s(Z,it),s(it,vs),u(e,Nt,a),x(Le,e,a),zt=!0},p(e,[a]){const je={};a&1&&(je.fw=e[0]),_.$set(je);let Ie=V;V=$s(e),V!==Ie&&(ln(),d(Qe[Ie],1,1,()=>{Qe[Ie]=null}),an(),B=Qe[V],B||(B=Qe[V]=qs[V](e),B.c()),c(B,1),B.m(Me.parentNode,Me))},i(e){zt||(c(_.$$.fragment,e),c(P.$$.fragment,e),c(M.$$.fragment,e),c(ce.$$.fragment,e),c(me.$$.fragment,e),c(he.$$.fragment,e),c(ve.$$.fragment,e),c(qe.$$.fragment,e),c($e.$$.fragment,e),c(xe.$$.fragment,e),c(ge.$$.fragment,e),c(be.$$.fragment,e),c(we.$$.fragment,e),c(ke.$$.fragment,e),c(_e.$$.fragment,e),c(Ee.$$.fragment,e),c(B),c(ye.$$.fragment,e),c(Pe.$$.fragment,e),c(Ne.$$.fragment,e),c(ze.$$.fragment,e),c(Ce.$$.fragment,e),c(Ae.$$.fragment,e),c(Se.$$.fragment,e),c(Le.$$.fragment,e),zt=!0)},o(e){d(_.$$.fragment,e),d(P.$$.fragment,e),d(M.$$.fragment,e),d(ce.$$.fragment,e),d(me.$$.fragment,e),d(he.$$.fragment,e),d(ve.$$.fragment,e),d(qe.$$.fragment,e),d($e.$$.fragment,e),d(xe.$$.fragment,e),d(ge.$$.fragment,e),d(be.$$.fragment,e),d(we.$$.fragment,e),d(ke.$$.fragment,e),d(_e.$$.fragment,e),d(Ee.$$.fragment,e),d(B),d(ye.$$.fragment,e),d(Pe.$$.fragment,e),d(Ne.$$.fragment,e),d(ze.$$.fragment,e),d(Ce.$$.fragment,e),d(Ae.$$.fragment,e),d(Se.$$.fragment,e),d(Le.$$.fragment,e),zt=!1},d(e){t(m),e&&t(k),g(_,e),e&&t(E),e&&t(z),g(P),e&&t(A),e&&t(S),e&&t(y),e&&t(C),g(M),e&&t(ut),g(ce,e),e&&t(lt),e&&t(D),g(me),e&&t(pt),g(he,e),e&&t(dt),e&&t(R),g(ve),e&&t(ct),g(qe,e),e&&t(mt),e&&t(G),g($e),e&&t(ft),g(xe,e),e&&t(ht),e&&t(J),g(ge),e&&t(vt),g(be,e),e&&t(qt),e&&t(U),g(we),e&&t($t),g(ke,e),e&&t(xt),e&&t(K),g(_e),e&&t(gt),g(Ee,e),e&&t(bt),Qe[V].d(e),e&&t(Me),e&&t(W),g(ye),e&&t(wt),g(Pe,e),e&&t(kt),e&&t(X),g(Ne),e&&t(_t),g(ze,e),e&&t(Et),e&&t(Y),g(Ce),e&&t(yt),g(Ae,e),e&&t(Pt),e&&t(Z),g(Se),e&&t(Nt),g(Le,e)}}}const fn={local:"quiz-de-fin-de-chapitre",title:"Quiz de fin de chapitre"};function hn(de,m,k){let _="pt";return un(()=>{const E=new URLSearchParams(window.location.search);k(0,_=E.get("fw")||"pt")}),[_]}class gn extends sn{constructor(m){super();nn(this,m,hn,mn,rn,{})}}export{gn as default,fn as metadata};
