import{s as X,n as G,o as F}from"../chunks/scheduler.37c15a92.js";import{S as Y,i as L,g as h,s as n,r as x,A as P,h as y,f as t,c as l,j as A,u as B,x as I,k as N,y as K,a,v as $,d as Z,t as W,w as S}from"../chunks/index.2bf4358c.js";import{C as Q}from"../chunks/CodeBlock.4f5fc1ad.js";import{C as D}from"../chunks/CourseFloatingBanner.15ba07e6.js";import{H as O}from"../chunks/Heading.8ada512a.js";function ee(z){let i,U,b,f,r,g,o,j,p,_="Si vous souhaitez utiliser un modèle pré-entraîné ou une version <em>finetunée</em> de celui-ci en production, il est important d’avoir conscience que, bien que ces modèles soient puissants, ils ont des limites. La plus importante de ces limitations est que, pour permettre le pré-entraînement des modèles sur de grandes quantités de données, les chercheurs récupèrent souvent tout le contenu qu’ils peuvent trouver et donc en prenant le meilleur et le pire de ce qui est disponible sur internet.",T,u,E="Pour illustrer cela rapidement, revenons au pipeline <em>fill-mask</em> avec le modèle BERT :",w,m,k,c,v,M,R='Lorsque l’on demande au modèle de remplacer le mot manquant dans ces deux phrases, il ne propose qu’un seul métier ne portant pas la marque du genre (<em>waiter</em>/<em>waitress</em> → serveur/serveuse). Les autres sont des métiers habituellement associés à un genre spécifique : et oui malheureusement, prostituée a été retenu dans les 5 premiers choix du modèle, mot associé à « femme » et à « travail » par le modèle. Cela se produit même si BERT est l’un des rare <em>transformers</em> qui n’a pas été construit avec des données récupérées par <em>scrapping</em> sur internet, mais à l’aide de données en apparence neutres. En effet, il est entraîné sur les jeux de donnés <a href="https://huggingface.co/datasets/wikipedia" rel="nofollow">Wikipédia Anglais</a> et <a href="https://huggingface.co/datasets/bookcorpus" rel="nofollow">BookCorpus</a>).',C,d,H="Donc lorsque vous utilisez ce genre d’outils, il est important de garder en tête que le modèle que vous utilisez peut rapidement générer du contenu sexiste, raciste ou homophobe. Le <em>finetuning</em> du modèle sur vos données ne fera en aucun cas disparaître ce biais intrinsèque.",V,J,q;return r=new O({props:{title:"Biais et limitations",local:"biais-et-limitations",headingTag:"h1"}}),o=new D({props:{chapter:1,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"English",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/en/chapter1/section8.ipynb"},{label:"Français",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/fr/chapter1/section8.ipynb"},{label:"English",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/en/chapter1/section8.ipynb"},{label:"Français",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/fr/chapter1/section8.ipynb"}]}}),m=new Q({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBdW5tYXNrZXIlMjAlM0QlMjBwaXBlbGluZSglMjJmaWxsLW1hc2slMjIlMkMlMjBtb2RlbCUzRCUyMmJlcnQtYmFzZS11bmNhc2VkJTIyKSUwQXJlc3VsdCUyMCUzRCUyMHVubWFza2VyKCUyMlRoaXMlMjBtYW4lMjB3b3JrcyUyMGFzJTIwYSUyMCU1Qk1BU0slNUQuJTIyKSUyMCUyMCUyMyUyMENldCUyMGhvbW1lJTIwdHJhdmFpbGxlJTIwY29tbWUlMjAlNUJNQVNRVUUlNUQlMEFwcmludCglNUJyJTVCJTIydG9rZW5fc3RyJTIyJTVEJTIwZm9yJTIwciUyMGluJTIwcmVzdWx0JTVEKSUwQSUwQXJlc3VsdCUyMCUzRCUyMHVubWFza2VyKCUyMlRoaXMlMjB3b21hbiUyMHdvcmtzJTIwYXMlMjBhJTIwJTVCTUFTSyU1RC4lMjIpJTIwJTIwJTIzJTIwQ2V0dGUlMjBmZW1tZSUyMHRyYXZhaWxsZSUyMGNvbW1lJTIwJTVCTUFTUVVFJTVEJTBBcHJpbnQoJTVCciU1QiUyMnRva2VuX3N0ciUyMiU1RCUyMGZvciUyMHIlMjBpbiUyMHJlc3VsdCU1RCk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

unmasker = pipeline(<span class="hljs-string">&quot;fill-mask&quot;</span>, model=<span class="hljs-string">&quot;bert-base-uncased&quot;</span>)
result = unmasker(<span class="hljs-string">&quot;This man works as a [MASK].&quot;</span>)  <span class="hljs-comment"># Cet homme travaille comme [MASQUE]</span>
<span class="hljs-built_in">print</span>([r[<span class="hljs-string">&quot;token_str&quot;</span>] <span class="hljs-keyword">for</span> r <span class="hljs-keyword">in</span> result])

result = unmasker(<span class="hljs-string">&quot;This woman works as a [MASK].&quot;</span>)  <span class="hljs-comment"># Cette femme travaille comme [MASQUE]</span>
<span class="hljs-built_in">print</span>([r[<span class="hljs-string">&quot;token_str&quot;</span>] <span class="hljs-keyword">for</span> r <span class="hljs-keyword">in</span> result])`,wrap:!1}}),c=new Q({props:{code:"JTVCJ2xhd3llciclMkMlMjAnY2FycGVudGVyJyUyQyUyMCdkb2N0b3InJTJDJTIwJ3dhaXRlciclMkMlMjAnbWVjaGFuaWMnJTVEJTIwJTBBJTIzJTIwJTVCYXZvY2F0JTJDJTIwY2hhcnBlbnRpZXIlMkMlMjBtJUMzJUE5ZGVjaW4lMkMlMjBzZXJ2ZXVyJTJDJTIwbSVDMyVBOWNhbmljaWVuJTVEJTBBJTVCJ251cnNlJyUyQyUyMCd3YWl0cmVzcyclMkMlMjAndGVhY2hlciclMkMlMjAnbWFpZCclMkMlMjAncHJvc3RpdHV0ZSclNUQlMjAlMEElMjMlMjAlNUIlMjJpbmZpcm1pJUMzJUE4cmUlMjIlMkMlMjAlMjJzZXJ2ZXVzZSUyMiUyQyUyMCUyMnByb2Zlc3NldXIlMjIlMkMlMjAlMjJmZW1tZSUyMGRlJTIwY2hhbWJyZSUyMiUyQyUyMCUyMnByb3N0aXR1JUMzJUE5ZSUyMiU1RA==",highlighted:`[<span class="hljs-string">&#x27;lawyer&#x27;</span>, <span class="hljs-string">&#x27;carpenter&#x27;</span>, <span class="hljs-string">&#x27;doctor&#x27;</span>, <span class="hljs-string">&#x27;waiter&#x27;</span>, <span class="hljs-string">&#x27;mechanic&#x27;</span>] 
<span class="hljs-comment"># [avocat, charpentier, médecin, serveur, mécanicien]</span>
[<span class="hljs-string">&#x27;nurse&#x27;</span>, <span class="hljs-string">&#x27;waitress&#x27;</span>, <span class="hljs-string">&#x27;teacher&#x27;</span>, <span class="hljs-string">&#x27;maid&#x27;</span>, <span class="hljs-string">&#x27;prostitute&#x27;</span>] 
<span class="hljs-comment"># [&quot;infirmière&quot;, &quot;serveuse&quot;, &quot;professeur&quot;, &quot;femme de chambre&quot;, &quot;prostituée&quot;]</span>`,wrap:!1}}),{c(){i=h("meta"),U=n(),b=h("p"),f=n(),x(r.$$.fragment),g=n(),x(o.$$.fragment),j=n(),p=h("p"),p.innerHTML=_,T=n(),u=h("p"),u.innerHTML=E,w=n(),x(m.$$.fragment),k=n(),x(c.$$.fragment),v=n(),M=h("p"),M.innerHTML=R,C=n(),d=h("p"),d.innerHTML=H,V=n(),J=h("p"),this.h()},l(e){const s=P("svelte-u9bgzb",document.head);i=y(s,"META",{name:!0,content:!0}),s.forEach(t),U=l(e),b=y(e,"P",{}),A(b).forEach(t),f=l(e),B(r.$$.fragment,e),g=l(e),B(o.$$.fragment,e),j=l(e),p=y(e,"P",{"data-svelte-h":!0}),I(p)!=="svelte-qfkxtb"&&(p.innerHTML=_),T=l(e),u=y(e,"P",{"data-svelte-h":!0}),I(u)!=="svelte-1vwo7g9"&&(u.innerHTML=E),w=l(e),B(m.$$.fragment,e),k=l(e),B(c.$$.fragment,e),v=l(e),M=y(e,"P",{"data-svelte-h":!0}),I(M)!=="svelte-xwbmsn"&&(M.innerHTML=R),C=l(e),d=y(e,"P",{"data-svelte-h":!0}),I(d)!=="svelte-dhau7a"&&(d.innerHTML=H),V=l(e),J=y(e,"P",{}),A(J).forEach(t),this.h()},h(){N(i,"name","hf:doc:metadata"),N(i,"content",se)},m(e,s){K(document.head,i),a(e,U,s),a(e,b,s),a(e,f,s),$(r,e,s),a(e,g,s),$(o,e,s),a(e,j,s),a(e,p,s),a(e,T,s),a(e,u,s),a(e,w,s),$(m,e,s),a(e,k,s),$(c,e,s),a(e,v,s),a(e,M,s),a(e,C,s),a(e,d,s),a(e,V,s),a(e,J,s),q=!0},p:G,i(e){q||(Z(r.$$.fragment,e),Z(o.$$.fragment,e),Z(m.$$.fragment,e),Z(c.$$.fragment,e),q=!0)},o(e){W(r.$$.fragment,e),W(o.$$.fragment,e),W(m.$$.fragment,e),W(c.$$.fragment,e),q=!1},d(e){e&&(t(U),t(b),t(f),t(g),t(j),t(p),t(T),t(u),t(w),t(k),t(v),t(M),t(C),t(d),t(V),t(J)),t(i),S(r,e),S(o,e),S(m,e),S(c,e)}}}const se='{"title":"Biais et limitations","local":"biais-et-limitations","sections":[],"depth":1}';function te(z){return F(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class oe extends Y{constructor(i){super(),L(this,i,te,ee,X,{})}}export{oe as component};
