import{s as R,n as G,o as J}from"../chunks/scheduler.37c15a92.js";import{S as K,i as O,g as o,s as a,r as D,A as Q,h as u,f as n,c as i,j as N,u as S,x as _,k as A,y as V,a as s,v as I,d as U,t as B,w as F}from"../chunks/index.2bf4358c.js";import{C as W}from"../chunks/CourseFloatingBanner.15ba07e6.js";import{H as X}from"../chunks/Heading.8ada512a.js";function Y(M){let r,x,v,q,l,z,m,$,p,H='Dans le <a href="/course/fr/chapter3">chapitre 3</a>, nous avons vu comment <em>finetuner</em> un modèle sur une tâche donnée. Pour ce faire, nous utilisons le même <em>tokenizer</em> que celui avec lequel le modèle a été pré-entraîné. Mais que faisons-nous lorsque nous voulons entraîner un modèle à partir de zéro ? Dans ces cas, l’utilisation d’un <em>tokenizer</em> qui a été pré-entraîné sur un corpus d’un autre domaine ou d’une autre langue est généralement sous-optimale. Par exemple, un <em>tokenizer</em> entraîné sur un corpus anglais sera peu performant sur un corpus de textes japonais car l’utilisation des espaces et de la ponctuation est très différente entre les deux langues.',k,c,w='Dans ce chapitre, vous apprendrez à entraîner un tout nouveau <em>tokenizer</em> sur un corpus de textes afin qu’il puisse ensuite être utilisé pour pré-entraîner un modèle de langue. Tout cela se fera à l’aide de la bibliothèque <a href="https://github.com/huggingface/tokenizers" rel="nofollow">🤗 <em>Tokenizers</em></a>, qui fournit les <em>tokenizers</em> « rapides » de la bibliothèque <a href="https://github.com/huggingface/transformers" rel="nofollow">🤗 <em>Transformers</em></a>. Nous examinerons de près les fonctionnalités offertes par cette bibliothèque et nous étudierons comment les <em>tokenizers</em> rapides diffèrent des versions « lentes ».',b,f,j="Les sujets que nous couvrirons comprennent :",P,d,y="<li>comment entraîner sur un nouveau corpus de textes, un nouveau <em>tokenizer</em> similaire à celui utilisé par un <em>checkpoint</em> donné,</li> <li>les caractéristiques spéciales des <em>tokenizers</em> rapides,</li> <li>les différences entre les trois principaux algorithmes de tokénisation utilisés aujourd’hui en NLP,</li> <li>comment construire un <em>tokenizer</em> à partir de zéro avec la bibliothèque 🤗 <em>Tokenizers</em> et l’entraîner sur des données.</li>",T,h,E='Les techniques présentées dans ce chapitre vous prépareront à la section du <a href="/course/fr/chapter7/6">chapitre 7</a> où nous verrons comment créer un modèle de langue pour le langage Python. Commençons par examiner ce que signifie « entraîner » un <em>tokenizer</em>.',L,g,C;return l=new X({props:{title:"Introduction",local:"introduction",headingTag:"h1"}}),m=new W({props:{chapter:6,classNames:"absolute z-10 right-0 top-0"}}),{c(){r=o("meta"),x=a(),v=o("p"),q=a(),D(l.$$.fragment),z=a(),D(m.$$.fragment),$=a(),p=o("p"),p.innerHTML=H,k=a(),c=o("p"),c.innerHTML=w,b=a(),f=o("p"),f.textContent=j,P=a(),d=o("ul"),d.innerHTML=y,T=a(),h=o("p"),h.innerHTML=E,L=a(),g=o("p"),this.h()},l(e){const t=Q("svelte-u9bgzb",document.head);r=u(t,"META",{name:!0,content:!0}),t.forEach(n),x=i(e),v=u(e,"P",{}),N(v).forEach(n),q=i(e),S(l.$$.fragment,e),z=i(e),S(m.$$.fragment,e),$=i(e),p=u(e,"P",{"data-svelte-h":!0}),_(p)!=="svelte-t1ff6g"&&(p.innerHTML=H),k=i(e),c=u(e,"P",{"data-svelte-h":!0}),_(c)!=="svelte-1oo9qum"&&(c.innerHTML=w),b=i(e),f=u(e,"P",{"data-svelte-h":!0}),_(f)!=="svelte-1uiouof"&&(f.textContent=j),P=i(e),d=u(e,"UL",{"data-svelte-h":!0}),_(d)!=="svelte-118c9qj"&&(d.innerHTML=y),T=i(e),h=u(e,"P",{"data-svelte-h":!0}),_(h)!=="svelte-1l3x3qe"&&(h.innerHTML=E),L=i(e),g=u(e,"P",{}),N(g).forEach(n),this.h()},h(){A(r,"name","hf:doc:metadata"),A(r,"content",Z)},m(e,t){V(document.head,r),s(e,x,t),s(e,v,t),s(e,q,t),I(l,e,t),s(e,z,t),I(m,e,t),s(e,$,t),s(e,p,t),s(e,k,t),s(e,c,t),s(e,b,t),s(e,f,t),s(e,P,t),s(e,d,t),s(e,T,t),s(e,h,t),s(e,L,t),s(e,g,t),C=!0},p:G,i(e){C||(U(l.$$.fragment,e),U(m.$$.fragment,e),C=!0)},o(e){B(l.$$.fragment,e),B(m.$$.fragment,e),C=!1},d(e){e&&(n(x),n(v),n(q),n(z),n($),n(p),n(k),n(c),n(b),n(f),n(P),n(d),n(T),n(h),n(L),n(g)),n(r),F(l,e),F(m,e)}}}const Z='{"title":"Introduction","local":"introduction","sections":[],"depth":1}';function ee(M){return J(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ae extends K{constructor(r){super(),O(this,r,ee,Y,R,{})}}export{ae as component};
