Buckets:

rtrm's picture
download
raw
24.4 kB
import{s as Me,o as Se}from"../chunks/scheduler.893fe8c9.js";import{S as Ve,i as Ae,e as Pe,s as u,c as l,h as Be,a as Le,d as n,b as o,f as Ee,g as p,j as Fe,k as Ie,l as Re,m as i,n as d,o as r,q as He,t as a,p as m,r as De}from"../chunks/index.2d09ebb4.js";import{C as Ge,H as x,E as Oe}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.dd797e7e.js";import{C as Ue}from"../chunks/CourseFloatingBanner.2900b001.js";import{Q as g}from"../chunks/Question.6e77d2db.js";import{F as Je}from"../chunks/FrameworkSwitchCourse.f49b9dc4.js";function Ke(h){let c,q,f,$;return c=new x({props:{title:"9. Pourquoi est-il souvent inutile de spécifier une perte quand on appelle <code> compile() </code> sur un <i> transformer </i> ?",local:"9-pourquoi-est-il-souvent-inutile-de-spécifier-une-perte-quand-on-appelle-code-compile-code-sur-un-i-transformer-i-",headingTag:"h3"}}),f=new g({props:{choices:[{text:"Parce que les <i>tranformers</i> sont entraînés avec un apprentissage autosupervisé.",explain:"Pas tout à fait. Même l'apprentissage autosupervisé a besoin d'une fonction de perte !"},{text:"Parce que la sortie de perte interne du modèle est utilisée par défaut.",explain:" ",correct:!0},{text:"Parce que nous calculons les mesures après l'entraînement au lieu de le faire.",explain:"Nous le faisons souvent mais cela n'explique pas d'où vient la valeur de perte que nous optimisons dans l'entraînement."},{text:"Parce que la perte est spécifiée dans <code>model.fit()</code>.",explain:"La fonction de perte est toujours fixée une fois que vous exécutez <code>model.compile()</code> et ne peut pas être modifiée dans <code>model.fit()</code>."}]}}),{c(){l(c.$$.fragment),q=u(),l(f.$$.fragment)},l(s){p(c.$$.fragment,s),q=o(s),p(f.$$.fragment,s)},m(s,v){d(c,s,v),i(s,q,v),d(f,s,v),$=!0},i(s){$||(a(c.$$.fragment,s),a(f.$$.fragment,s),$=!0)},o(s){r(c.$$.fragment,s),r(f.$$.fragment,s),$=!1},d(s){s&&n(q),m(c,s),m(f,s)}}}function We(h){let c,q,f,$;return c=new x({props:{title:"8. Pourquoi existe-t-il une sous-classe spécifique de <code> Trainer </code> pour les problèmes de séquence à séquence ?",local:"8-pourquoi-existe-t-il-une-sous-classe-spécifique-de-code-trainer-code-pour-les-problèmes-de-séquence-à-séquence-",headingTag:"h3"}}),f=new g({props:{choices:[{text:"Parce que les problèmes de séquence-à-séquence utilisent une perte personnalisée, pour ignorer les étiquettes définies à <code>-100</code>.",explain:"Ce n'est pas du tout une perte personnalisée mais la façon dont la perte est toujours calculée."},{text:"Parce que les problèmes de séquence à séquence nécessitent une boucle d'évaluation spéciale.",explain:"Les prédictions des modèles de séquence à séquence sont souvent exécutées en utilisant la méthode <code>generate()</code>.",correct:!0},{text:"Parce que les cibles sont des textes dans des problèmes de séquence à séquence.",explain:"<code>Trainer</code> ne se soucie pas vraiment de cela puisqu'elles ont été prétraités auparavant."},{text:"Parce que nous utilisons deux modèles dans les problèmes de séquence à séquence.",explain:"Nous utilisons en quelque sorte deux modèles, un encodeur et un décodeur, mais ils sont regroupés dans un seul modèle."}]}}),{c(){l(c.$$.fragment),q=u(),l(f.$$.fragment)},l(s){p(c.$$.fragment,s),q=o(s),p(f.$$.fragment,s)},m(s,v){d(c,s,v),i(s,q,v),d(f,s,v),$=!0},i(s){$||(a(c.$$.fragment,s),a(f.$$.fragment,s),$=!0)},o(s){r(c.$$.fragment,s),r(f.$$.fragment,s),$=!1},d(s){s&&n(q),m(c,s),m(f,s)}}}function Xe(h){let c,q,f,$,s,v,z,Z,w,ee,C,te,_,ye="Testons ce que vous avez appris dans ce chapitre !",se,P,ne,L,ie,T,ue,y,oe,j,re,Q,ae,N,le,E,pe,I,de,M,me,S,ce,V,fe,A,qe,B,$e,b,k,X,F,xe,R,ge,H,ve,D,be,G,ke,O,he,U,ze,J,we,K,Ce,Y,_e;s=new Je({props:{fw:h[0]}}),z=new Ge({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),w=new x({props:{title:"Quiz de fin de chapitre",local:"quiz-de-fin-de-chapitre",headingTag:"h1"}}),C=new Ue({props:{chapter:7,classNames:"absolute z-10 right-0 top-0"}}),P=new x({props:{title:"1. Laquelle des tâches suivantes peut être considérée comme un problème de classification de <i> tokens </i> ?",local:"1-laquelle-des-tâches-suivantes-peut-être-considérée-comme-un-problème-de-classification-de-i-tokens-i-",headingTag:"h3"}}),L=new g({props:{choices:[{text:"Trouvez les composants grammaticaux d'une phrase.",explain:"Nous pouvons alors étiqueter chaque mot comme étant un nom, un verbe, etc.",correct:!0},{text:"Trouvez si une phrase est grammaticalement correcte ou non.",explain:"C'est un problème de classification des séquences."},{text:"Trouvez les personnes mentionnées dans une phrase.",explain:"Nous pouvons étiqueter chaque mot comme personne ou non personne.",correct:!0},{text:"Trouvez le groupe de mots dans une phrase qui répond à une question.",explain:"C'est un problème de réponse aux questions."}]}}),T=new x({props:{title:"2. Quelle partie du prétraitement pour la classification de <i> tokens </i> diffère des autres pipelines de prétraitement ?",local:"2-quelle-partie-du-prétraitement-pour-la-classification-de-i-tokens-i-diffère-des-autres-pipelines-de-prétraitement-",headingTag:"h3"}}),y=new g({props:{choices:[{text:"Il n'y a rien à faire, les textes sont déjà tokenisés.",explain:"Les textes sont en effet donnés sous la forme de mots séparés mais nous devons encore appliquer le modèle de tokenisation en sous-mots."},{text:"Les textes sont donnés sous forme de mots, il suffit donc d'appliquer la tokénisation en sous-mots.",explain:"C'est différent du prétraitement habituel, où nous devons appliquer le pipeline complet de tokénisation. Pouvez-vous penser à une autre différence ?",correct:!0},{text:"Nous utilisons <code>-100</code> pour étiqueter les <i>tokens</i> spéciaux.",explain:"Ce n'est pas spécifique à la classification de <i>tokens</i>. Nous utilisons toujours <code>-100</code> comme étiquette pour les <i>tokens</i> que nous voulons ignorer dans la perte."},{text:"Nous devons nous assurer que les étiquettes sont tronquées ou rembourrées à la même taille que les entrées, lorsque nous appliquons la troncature/le <i>padding</i>.",explain:"En effet mais ce n'est pas la seule différence.",correct:!0}]}}),j=new x({props:{title:"3. Quel problème se pose lorsque nous tokenisons les mots dans un problème de classification de <i> tokens </i> et que nous voulons étiqueter les <i> tokens </i> ?",local:"3-quel-problème-se-pose-lorsque-nous-tokenisons-les-mots-dans-un-problème-de-classification-de-i-tokens-i-et-que-nous-voulons-étiqueter-les-i-tokens-i-",headingTag:"h3"}}),Q=new g({props:{choices:[{text:"Le <i>tokenizer</i> ajoute des <i>tokens</i> spéciaux et nous n'avons pas d'étiquettes pour eux.",explain:"Nous les étiquetons par <code>-100</code> ils sont donc ignorés 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'étiquettes.",explain:"C'est le problème principal et nous devons aligner les étiquettes originales avec les <i>tokens</i>.",correct:!0},{text:"Les <i>tokens</i> ajoutés n'ont pas d'étiquettes, il n'y a donc pas de problème.",explain:"Nous avons besoin d'autant d'étiquettes que de <i>tokens</i>, sinon nos modèles se tromperont."}]}}),N=new x({props:{title:"4. Que signifie « adaptation au domaine » ?",local:"4-que-signifie--adaptation-au-domaine--",headingTag:"h3"}}),E=new g({props:{choices:[{text:"C'est lorsque nous exécutons un modèle sur un jeu de données et que nous obtenons les prédictions pour chaque échantillon de ce jeu de données.",explain:"C'est juste une inférence."},{text:"C'est quand on entraîne un modèle sur un jeu de données.",explain:"Il s'agit d'entraîner un modèle. Il n'y a pas d'adaptation ici."},{text:"C'est lorsque nous <i>finetunons</i> un modèle pré-entraîné sur un nouveau jeu de données et qu'il donne des prédictions qui sont plus adaptées à ce nouveau jeu de données.",explain:"Le modèle a adapté ses connaissances au nouveau jeu de données.",correct:!0},{text:"C'est lorsque nous ajoutons des échantillons mal classés à un jeu de données pour rendre notre modèle plus robuste.",explain:"C'est certainement quelque chose que vous devriez faire si vous réentraînez votre modèle régulièrement, mais ce n'est pas une adaptation au domaine."}]}}),I=new x({props:{title:"5. Quelles sont les étiquettes dans un problème de modélisation du langage masqué ?",local:"5-quelles-sont-les-étiquettes-dans-un-problème-de-modélisation-du-langage-masqué-",headingTag:"h3"}}),M=new g({props:{choices:[{text:"Certains des <i>tokens</i> de la phrase d'entrée sont masqués de manière aléatoire et les étiquettes sont les <i>tokens</i> d'entrée originaux.",explain:"C'est ça !",correct:!0},{text:"Certains des <i>tokens</i> de la phrase d'entrée sont masqués de manière aléatoire et les étiquettes sont les <i>tokens</i> d'entrée originaux, décalés vers la gauche.",explain:"Non, le déplacement des étiquettes vers la gauche correspond à la prédiction du mot suivant, ce qui est une modélisation causale du langage."},{text:"Certains des <i>tokens</i> de la phrase d'entrée sont masqués de manière aléatoire et l'étiquette indique si la phrase est positive ou négative.",explain:"Il s'agit d'un problème de classification de séquences avec une certaine augmentation de données et non d'une modélisation du langage masqué."},{text:"Certains des <i>tokens</i> des deux phrases d'entrée sont masqués de manière aléatoire et l'étiquette indique si les deux phrases sont similaires ou non.",explain:"Il s'agit d'un problème de classification de séquences avec une certaine augmentation de données et non d'une modélisation du langage masqué."}]}}),S=new x({props:{title:"6. Laquelle de ces tâches peut être considérée comme un problème de séquence à séquence ?",local:"6-laquelle-de-ces-tâches-peut-être-considérée-comme-un-problème-de-séquence-à-séquence-",headingTag:"h3"}}),V=new g({props:{choices:[{text:"Rédiger de courtes critiques de longs documents.",explain:"C'est un problème de résumé. Essayez une autre réponse !",correct:!0},{text:"Répondre à des questions sur un document.",explain:"Cela peut être formulé comme un problème de séquence à séquence. Ce n'est cependant pas la seule bonne réponse.",correct:!0},{text:"Traduire un texte en chinois en anglais.",explain:"C'est définitivement un problème de séquence à séquence. Pouvez-vous en trouver un autre ?",correct:!0},{text:"Corriger les messages envoyés par mon neveu/ami pour qu'ils soient en anglais correct.",explain:"Il s'agit d'un problème de traduction donc d'une tâche de séquence à séquence. Mais ce n'est pas la seule bonne réponse !",correct:!0}]}}),A=new x({props:{title:"7. Quelle est la bonne façon de prétraiter les données pour un problème de séquence à séquence ?",local:"7-quelle-est-la-bonne-façon-de-prétraiter-les-données-pour-un-problème-de-séquence-à-séquence-",headingTag:"h3"}}),B=new g({props:{choices:[{text:"Les entrées et les cibles doivent être envoyées ensemble au <i>tokenizer</i> avec les éléments suivants <code>inputs=...</code> et <code>targets=...</code>.",explain:"Nous pourrions ajouter cette API à l'avenir mais ce n'est pas possible pour le moment."},{text:"Les entrées et les cibles doivent être prétraitées, en deux appels séparés 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ées.",explain:"Pas dans un problème de classification de séquences. Les cibles sont aussi des textes que nous devons convertir en chiffres !"},{text:"Les entrées doivent être envoyées au <i>tokenizer</i>, et les cibles aussi, mais sous un gestionnaire de contexte spécial.",explain:"C'est exact, le <i>tokenizer</i> doit être mis en mode cible par ce gestionnaire de contexte.",correct:!0}]}});const je=[We,Ke],W=[];function Qe(e,t){return e[0]==="pt"?0:1}return b=Qe(h),k=W[b]=je[b](h),F=new x({props:{title:"10. Quand devez-vous pré-entraîner un nouveau modèle ?",local:"10-quand-devez-vous-pré-entraîner-un-nouveau-modèle-",headingTag:"h3"}}),R=new g({props:{choices:[{text:"Lorsqu'il n'y a pas de modèle pré-entraîné disponible pour votre langue spécifique.",explain:" ",correct:!0},{text:"Lorsque vous disposez d'un grand nombre de données, même s'il existe un modèle pré-entraîné qui pourrait fonctionner sur ces données.",explain:"Dans ce cas, vous devriez probablement utiliser le modèle pré-entraîné et le <i>finetuner</i> sur vos données afin d'éviter d'énormes coûts de calcul."},{text:"Lorsque vous avez des doutes sur le biais du modèle pré-entraîné que vous utilisez.",explain:"C'est vrai mais vous devez vous assurer que les données que vous utiliserez pour l'entraînement sont vraiment meilleures.",correct:!0},{text:"Lorsque les modèles pré-entraînés disponibles ne sont tout simplement pas assez bons.",explain:"Vous êtes sûr d'avoir bien débogué votre entraînement ?"}]}}),H=new x({props:{title:"11. Pourquoi est-il facile de prétraîner un modèle de langage sur des batchs de textes ?",local:"11-pourquoi-est-il-facile-de-prétraîner-un-modèle-de-langage-sur-des-batchs-de-textes-",headingTag:"h3"}}),D=new g({props:{choices:[{text:"Parce qu'il y a beaucoup de textes disponibles sur internet.",explain:"Bien que vrai, cela ne répond pas vraiment à la question. Essayez encore !"},{text:"Parce que l'objectif de pré-entraînement ne nécessite pas que les humains étiquettent les données.",explain:"La modélisation du langage est un problème autosupervisé.",correct:!0},{text:"Parce que la bibliothèque 🤗 <i>Transformers</i> ne nécessite que quelques lignes de code pour démarrer l'entraînement.",explain:"Bien que vrai, cela ne répond pas vraiment à la question posée. Essayez une autre réponse !"}]}}),G=new x({props:{title:"12. Quels sont les principaux défis lors du prétraitement des données pour une tâche de réponse à des questions ?",local:"12-quels-sont-les-principaux-défis-lors-du-prétraitement-des-données-pour-une-tâche-de-réponse-à-des-questions-",headingTag:"h3"}}),O=new g({props:{choices:[{text:"Vous devez tokeniser les entrées.",explain:"Mais est-ce vraiment un défi majeur ?"},{text:"Vous devez faire face à des contextes très longs, qui donnent plusieurs caractéristiques d'entraînement qui peuvent ou non contenir la réponse.",explain:"C'est certainement l'un des défis à relever.",correct:!0},{text:"Vous devez tokeniser les réponses à la question ainsi que les entrées.",explain:"Non, à moins que vous ne formuliez votre problème de réponse aux questions comme une tâche de séquence à séquence."},{text:"À partir de l'intervalle de réponse dans le texte, vous devez trouver le token de début et de fin dans l'entrée tokenisée.",explain:"C'est une des parties les plus difficiles, oui !",correct:!0}]}}),U=new x({props:{title:"13. Comment le post-traitement est-il généralement effectué dans les réponses aux questions ?",local:"13-comment-le-post-traitement-est-il-généralement-effectué-dans-les-réponses-aux-questions-",headingTag:"h3"}}),J=new g({props:{choices:[{text:"Le modèle vous donne les positions de début et de fin de la réponse, et vous n'avez plus qu'à décoder la plage de <i>tokens</i> correspondant.",explain:"Ce pourrait être une façon de faire mais c'est un peu trop simpliste."},{text:"Le modèle vous donne les positions de début et de fin de la réponse pour chaque caractéristique créée par un exemple et il vous suffit de décoder la plage de <i>tokens</i> correspondant dans celui qui a le meilleur score.",explain:"C'est proche du post-traitement que nous avons étudié, mais ce n'est pas tout à fait exact."},{text:"Le modèle vous donne les positions de début et de fin de la réponse pour chaque caractéristique créée par un exemple et vous n'avez plus qu'à les faire correspondre à la portée dans le contexte de celui qui a le meilleur score.",explain:"C'est ça en résumé !",correct:!0},{text:"Le modèle génère une réponse et il vous suffit de la décoder.",explain:"A moins que vous ne formuliez votre problème de réponse aux questions comme une tâche de séquence à séquence."}]}}),K=new Oe({props:{source:"https://github.com/huggingface/course/blob/main/chapters/fr/chapter7/9.mdx"}}),{c(){c=Pe("meta"),q=u(),f=Pe("p"),$=u(),l(s.$$.fragment),v=u(),l(z.$$.fragment),Z=u(),l(w.$$.fragment),ee=u(),l(C.$$.fragment),te=u(),_=Pe("p"),_.textContent=ye,se=u(),l(P.$$.fragment),ne=u(),l(L.$$.fragment),ie=u(),l(T.$$.fragment),ue=u(),l(y.$$.fragment),oe=u(),l(j.$$.fragment),re=u(),l(Q.$$.fragment),ae=u(),l(N.$$.fragment),le=u(),l(E.$$.fragment),pe=u(),l(I.$$.fragment),de=u(),l(M.$$.fragment),me=u(),l(S.$$.fragment),ce=u(),l(V.$$.fragment),fe=u(),l(A.$$.fragment),qe=u(),l(B.$$.fragment),$e=u(),k.c(),X=u(),l(F.$$.fragment),xe=u(),l(R.$$.fragment),ge=u(),l(H.$$.fragment),ve=u(),l(D.$$.fragment),be=u(),l(G.$$.fragment),ke=u(),l(O.$$.fragment),he=u(),l(U.$$.fragment),ze=u(),l(J.$$.fragment),we=u(),l(K.$$.fragment),Ce=u(),Y=Pe("p"),this.h()},l(e){const t=Be("svelte-u9bgzb",document.head);c=Le(t,"META",{name:!0,content:!0}),t.forEach(n),q=o(e),f=Le(e,"P",{}),Ee(f).forEach(n),$=o(e),p(s.$$.fragment,e),v=o(e),p(z.$$.fragment,e),Z=o(e),p(w.$$.fragment,e),ee=o(e),p(C.$$.fragment,e),te=o(e),_=Le(e,"P",{"data-svelte-h":!0}),Fe(_)!=="svelte-n4p1na"&&(_.textContent=ye),se=o(e),p(P.$$.fragment,e),ne=o(e),p(L.$$.fragment,e),ie=o(e),p(T.$$.fragment,e),ue=o(e),p(y.$$.fragment,e),oe=o(e),p(j.$$.fragment,e),re=o(e),p(Q.$$.fragment,e),ae=o(e),p(N.$$.fragment,e),le=o(e),p(E.$$.fragment,e),pe=o(e),p(I.$$.fragment,e),de=o(e),p(M.$$.fragment,e),me=o(e),p(S.$$.fragment,e),ce=o(e),p(V.$$.fragment,e),fe=o(e),p(A.$$.fragment,e),qe=o(e),p(B.$$.fragment,e),$e=o(e),k.l(e),X=o(e),p(F.$$.fragment,e),xe=o(e),p(R.$$.fragment,e),ge=o(e),p(H.$$.fragment,e),ve=o(e),p(D.$$.fragment,e),be=o(e),p(G.$$.fragment,e),ke=o(e),p(O.$$.fragment,e),he=o(e),p(U.$$.fragment,e),ze=o(e),p(J.$$.fragment,e),we=o(e),p(K.$$.fragment,e),Ce=o(e),Y=Le(e,"P",{}),Ee(Y).forEach(n),this.h()},h(){Ie(c,"name","hf:doc:metadata"),Ie(c,"content",Ye)},m(e,t){Re(document.head,c),i(e,q,t),i(e,f,t),i(e,$,t),d(s,e,t),i(e,v,t),d(z,e,t),i(e,Z,t),d(w,e,t),i(e,ee,t),d(C,e,t),i(e,te,t),i(e,_,t),i(e,se,t),d(P,e,t),i(e,ne,t),d(L,e,t),i(e,ie,t),d(T,e,t),i(e,ue,t),d(y,e,t),i(e,oe,t),d(j,e,t),i(e,re,t),d(Q,e,t),i(e,ae,t),d(N,e,t),i(e,le,t),d(E,e,t),i(e,pe,t),d(I,e,t),i(e,de,t),d(M,e,t),i(e,me,t),d(S,e,t),i(e,ce,t),d(V,e,t),i(e,fe,t),d(A,e,t),i(e,qe,t),d(B,e,t),i(e,$e,t),W[b].m(e,t),i(e,X,t),d(F,e,t),i(e,xe,t),d(R,e,t),i(e,ge,t),d(H,e,t),i(e,ve,t),d(D,e,t),i(e,be,t),d(G,e,t),i(e,ke,t),d(O,e,t),i(e,he,t),d(U,e,t),i(e,ze,t),d(J,e,t),i(e,we,t),d(K,e,t),i(e,Ce,t),i(e,Y,t),_e=!0},p(e,[t]){const Ne={};t&1&&(Ne.fw=e[0]),s.$set(Ne);let Te=b;b=Qe(e),b!==Te&&(De(),r(W[Te],1,1,()=>{W[Te]=null}),He(),k=W[b],k||(k=W[b]=je[b](e),k.c()),a(k,1),k.m(X.parentNode,X))},i(e){_e||(a(s.$$.fragment,e),a(z.$$.fragment,e),a(w.$$.fragment,e),a(C.$$.fragment,e),a(P.$$.fragment,e),a(L.$$.fragment,e),a(T.$$.fragment,e),a(y.$$.fragment,e),a(j.$$.fragment,e),a(Q.$$.fragment,e),a(N.$$.fragment,e),a(E.$$.fragment,e),a(I.$$.fragment,e),a(M.$$.fragment,e),a(S.$$.fragment,e),a(V.$$.fragment,e),a(A.$$.fragment,e),a(B.$$.fragment,e),a(k),a(F.$$.fragment,e),a(R.$$.fragment,e),a(H.$$.fragment,e),a(D.$$.fragment,e),a(G.$$.fragment,e),a(O.$$.fragment,e),a(U.$$.fragment,e),a(J.$$.fragment,e),a(K.$$.fragment,e),_e=!0)},o(e){r(s.$$.fragment,e),r(z.$$.fragment,e),r(w.$$.fragment,e),r(C.$$.fragment,e),r(P.$$.fragment,e),r(L.$$.fragment,e),r(T.$$.fragment,e),r(y.$$.fragment,e),r(j.$$.fragment,e),r(Q.$$.fragment,e),r(N.$$.fragment,e),r(E.$$.fragment,e),r(I.$$.fragment,e),r(M.$$.fragment,e),r(S.$$.fragment,e),r(V.$$.fragment,e),r(A.$$.fragment,e),r(B.$$.fragment,e),r(k),r(F.$$.fragment,e),r(R.$$.fragment,e),r(H.$$.fragment,e),r(D.$$.fragment,e),r(G.$$.fragment,e),r(O.$$.fragment,e),r(U.$$.fragment,e),r(J.$$.fragment,e),r(K.$$.fragment,e),_e=!1},d(e){e&&(n(q),n(f),n($),n(v),n(Z),n(ee),n(te),n(_),n(se),n(ne),n(ie),n(ue),n(oe),n(re),n(ae),n(le),n(pe),n(de),n(me),n(ce),n(fe),n(qe),n($e),n(X),n(xe),n(ge),n(ve),n(be),n(ke),n(he),n(ze),n(we),n(Ce),n(Y)),n(c),m(s,e),m(z,e),m(w,e),m(C,e),m(P,e),m(L,e),m(T,e),m(y,e),m(j,e),m(Q,e),m(N,e),m(E,e),m(I,e),m(M,e),m(S,e),m(V,e),m(A,e),m(B,e),W[b].d(e),m(F,e),m(R,e),m(H,e),m(D,e),m(G,e),m(O,e),m(U,e),m(J,e),m(K,e)}}}const Ye='{"title":"Quiz de fin de chapitre","local":"quiz-de-fin-de-chapitre","sections":[{"title":"1. Laquelle des tâches suivantes peut être considérée comme un problème de classification de <i> tokens </i> ?","local":"1-laquelle-des-tâches-suivantes-peut-être-considérée-comme-un-problème-de-classification-de-i-tokens-i-","sections":[],"depth":3},{"title":"2. Quelle partie du prétraitement pour la classification de <i> tokens </i> diffère des autres pipelines de prétraitement ?","local":"2-quelle-partie-du-prétraitement-pour-la-classification-de-i-tokens-i-diffère-des-autres-pipelines-de-prétraitement-","sections":[],"depth":3},{"title":"3. Quel problème se pose lorsque nous tokenisons les mots dans un problème de classification de <i> tokens </i> et que nous voulons étiqueter les <i> tokens </i> ?","local":"3-quel-problème-se-pose-lorsque-nous-tokenisons-les-mots-dans-un-problème-de-classification-de-i-tokens-i-et-que-nous-voulons-étiqueter-les-i-tokens-i-","sections":[],"depth":3},{"title":"4. Que signifie « adaptation au domaine » ?","local":"4-que-signifie--adaptation-au-domaine--","sections":[],"depth":3},{"title":"5. Quelles sont les étiquettes dans un problème de modélisation du langage masqué ?","local":"5-quelles-sont-les-étiquettes-dans-un-problème-de-modélisation-du-langage-masqué-","sections":[],"depth":3},{"title":"6. Laquelle de ces tâches peut être considérée comme un problème de séquence à séquence ?","local":"6-laquelle-de-ces-tâches-peut-être-considérée-comme-un-problème-de-séquence-à-séquence-","sections":[],"depth":3},{"title":"7. Quelle est la bonne façon de prétraiter les données pour un problème de séquence à séquence ?","local":"7-quelle-est-la-bonne-façon-de-prétraiter-les-données-pour-un-problème-de-séquence-à-séquence-","sections":[],"depth":3},{"title":"8. Pourquoi existe-t-il une sous-classe spécifique de <code> Trainer </code> pour les problèmes de séquence à séquence ?","local":"8-pourquoi-existe-t-il-une-sous-classe-spécifique-de-code-trainer-code-pour-les-problèmes-de-séquence-à-séquence-","sections":[],"depth":3},{"title":"9. Pourquoi est-il souvent inutile de spécifier une perte quand on appelle <code> compile() </code> sur un <i> transformer </i> ?","local":"9-pourquoi-est-il-souvent-inutile-de-spécifier-une-perte-quand-on-appelle-code-compile-code-sur-un-i-transformer-i-","sections":[],"depth":3},{"title":"10. Quand devez-vous pré-entraîner un nouveau modèle ?","local":"10-quand-devez-vous-pré-entraîner-un-nouveau-modèle-","sections":[],"depth":3},{"title":"11. Pourquoi est-il facile de prétraîner un modèle de langage sur des batchs de textes ?","local":"11-pourquoi-est-il-facile-de-prétraîner-un-modèle-de-langage-sur-des-batchs-de-textes-","sections":[],"depth":3},{"title":"12. Quels sont les principaux défis lors du prétraitement des données pour une tâche de réponse à des questions ?","local":"12-quels-sont-les-principaux-défis-lors-du-prétraitement-des-données-pour-une-tâche-de-réponse-à-des-questions-","sections":[],"depth":3},{"title":"13. Comment le post-traitement est-il généralement effectué dans les réponses aux questions ?","local":"13-comment-le-post-traitement-est-il-généralement-effectué-dans-les-réponses-aux-questions-","sections":[],"depth":3}],"depth":1}';function Ze(h,c,q){let f="pt";return Se(()=>{const $=new URLSearchParams(window.location.search);q(0,f=$.get("fw")||"pt")}),[f]}class ot extends Ve{constructor(c){super(),Ae(this,c,Ze,Xe,Me,{})}}export{ot as component};

Xet Storage Details

Size:
24.4 kB
·
Xet hash:
37ba7d41a1743031bbb0bc7fe540bfe7732cf505980b4732e9ad73cdc2ea719a

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.