import{S as Re,i as Ue,s as Ke,e as i,k as h,w as F,t as a,M as Qe,c as l,d as t,m as v,a as u,x as V,h as r,b as c,G as s,g as m,y as X,L as Ge,q as Y,o as Z,B as ee,v as Ie}from"../../chunks/vendor-hf-doc-builder.js";import{I as We}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as Ne}from"../../chunks/CodeBlock-hf-doc-builder.js";import{D as He}from"../../chunks/DocNotebookDropdown-hf-doc-builder.js";function Je($e){let d,z,f,q,y,w,se,M,te,D,_,N,g,ae,A,re,ne,R,b,oe,S,ie,le,U,E,K,x,Q,o,ue,C,pe,me,B,ce,de,L,fe,he,P,ve,qe,$,ge,be,j,ke,we,G,k,_e,T,Ee,xe,I;return w=new We({}),_=new He({props:{classNames:"absolute z-10 right-0 top-0",options:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/chapter1/section8.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/chapter1/section8.ipynb"}]}}),E=new Ne({props:{code:`from transformers import pipeline

unmasker = pipeline("fill-mask", model="bert-base-uncased")
result = unmasker("This man works as a [MASK].")  # Cet homme travaille comme [MASQUE]
print([r["token_str"] for r in result])

result = unmasker("This woman works as a [MASK].")  # Cette femme travaille comme [MASQUE]
print([r["token_str"] for r in result])`,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])`}}),x=new Ne({props:{code:`['lawyer', 'carpenter', 'doctor', 'waiter', 'mechanic'] 
# [avocat, charpentier, m\xE9decin, serveur, m\xE9canicien]
['nurse', 'waitress', 'teacher', 'maid', 'prostitute'] 
# ["infirmi\xE8re", "serveuse", "professeur", "femme de chambre", "prostitu\xE9e"]`,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\xE9decin, serveur, m\xE9canicien]</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\xE8re&quot;, &quot;serveuse&quot;, &quot;professeur&quot;, &quot;femme de chambre&quot;, &quot;prostitu\xE9e&quot;]</span>`}}),{c(){d=i("meta"),z=h(),f=i("h1"),q=i("a"),y=i("span"),F(w.$$.fragment),se=h(),M=i("span"),te=a("Biais et limitations"),D=h(),F(_.$$.fragment),N=h(),g=i("p"),ae=a("Si vous souhaitez utiliser un mod\xE8le pr\xE9-entra\xEEn\xE9 ou une version "),A=i("em"),re=a("finetun\xE9e"),ne=a(" de celui-ci en production, il est important d\u2019avoir conscience que, bien que ces mod\xE8les soient puissants, ils ont des limites. La plus importante de ces limitations est que, pour permettre le pr\xE9-entra\xEEnement des mod\xE8les sur de grandes quantit\xE9s de donn\xE9es, les chercheurs r\xE9cup\xE8rent souvent tout le contenu qu\u2019ils peuvent trouver et donc en prenant le meilleur et le pire de ce qui est disponible sur internet."),R=h(),b=i("p"),oe=a("Pour illustrer cela rapidement, revenons au pipeline "),S=i("em"),ie=a("fill-mask"),le=a(" avec le mod\xE8le BERT :"),U=h(),F(E.$$.fragment),K=h(),F(x.$$.fragment),Q=h(),o=i("p"),ue=a("Lorsque l\u2019on demande au mod\xE8le de remplacer le mot manquant dans ces deux phrases, il ne propose qu\u2019un seul m\xE9tier ne portant pas la marque du genre ("),C=i("em"),pe=a("waiter"),me=a("/"),B=i("em"),ce=a("waitress"),de=a(" \u2192 serveur/serveuse). Les autres sont des m\xE9tiers habituellement associ\xE9s \xE0 un genre sp\xE9cifique : et oui malheureusement, prostitu\xE9e a \xE9t\xE9 retenu dans les 5 premiers choix du mod\xE8le, mot associ\xE9 \xE0 \xAB femme \xBB et \xE0 \xAB travail \xBB par le mod\xE8le. Cela se produit m\xEAme si BERT est l\u2019un des rare "),L=i("em"),fe=a("transformers"),he=a(" qui n\u2019a pas \xE9t\xE9 construit avec des donn\xE9es r\xE9cup\xE9r\xE9es par "),P=i("em"),ve=a("scrapping"),qe=a(" sur internet, mais \xE0 l\u2019aide de donn\xE9es en apparence neutres. En effet, il est entra\xEEn\xE9 sur les jeux de donn\xE9s "),$=i("a"),ge=a("Wikip\xE9dia Anglais"),be=a(" et "),j=i("a"),ke=a("BookCorpus"),we=a(")."),G=h(),k=i("p"),_e=a("Donc lorsque vous utilisez ce genre d\u2019outils, il est important de garder en t\xEAte que le mod\xE8le que vous utilisez peut rapidement g\xE9n\xE9rer du contenu sexiste, raciste ou homophobe. Le "),T=i("em"),Ee=a("finetuning"),xe=a(" du mod\xE8le sur vos donn\xE9es ne fera en aucun cas dispara\xEEtre ce biais intrins\xE8que."),this.h()},l(e){const n=Qe('[data-svelte="svelte-1phssyn"]',document.head);d=l(n,"META",{name:!0,content:!0}),n.forEach(t),z=v(e),f=l(e,"H1",{class:!0});var W=u(f);q=l(W,"A",{id:!0,class:!0,href:!0});var je=u(q);y=l(je,"SPAN",{});var ye=u(y);V(w.$$.fragment,ye),ye.forEach(t),je.forEach(t),se=v(W),M=l(W,"SPAN",{});var Me=u(M);te=r(Me,"Biais et limitations"),Me.forEach(t),W.forEach(t),D=v(e),V(_.$$.fragment,e),N=v(e),g=l(e,"P",{});var H=u(g);ae=r(H,"Si vous souhaitez utiliser un mod\xE8le pr\xE9-entra\xEEn\xE9 ou une version "),A=l(H,"EM",{});var Ae=u(A);re=r(Ae,"finetun\xE9e"),Ae.forEach(t),ne=r(H," de celui-ci en production, il est important d\u2019avoir conscience que, bien que ces mod\xE8les soient puissants, ils ont des limites. La plus importante de ces limitations est que, pour permettre le pr\xE9-entra\xEEnement des mod\xE8les sur de grandes quantit\xE9s de donn\xE9es, les chercheurs r\xE9cup\xE8rent souvent tout le contenu qu\u2019ils peuvent trouver et donc en prenant le meilleur et le pire de ce qui est disponible sur internet."),H.forEach(t),R=v(e),b=l(e,"P",{});var J=u(b);oe=r(J,"Pour illustrer cela rapidement, revenons au pipeline "),S=l(J,"EM",{});var Se=u(S);ie=r(Se,"fill-mask"),Se.forEach(t),le=r(J," avec le mod\xE8le BERT :"),J.forEach(t),U=v(e),V(E.$$.fragment,e),K=v(e),V(x.$$.fragment,e),Q=v(e),o=l(e,"P",{});var p=u(o);ue=r(p,"Lorsque l\u2019on demande au mod\xE8le de remplacer le mot manquant dans ces deux phrases, il ne propose qu\u2019un seul m\xE9tier ne portant pas la marque du genre ("),C=l(p,"EM",{});var Ce=u(C);pe=r(Ce,"waiter"),Ce.forEach(t),me=r(p,"/"),B=l(p,"EM",{});var Be=u(B);ce=r(Be,"waitress"),Be.forEach(t),de=r(p," \u2192 serveur/serveuse). Les autres sont des m\xE9tiers habituellement associ\xE9s \xE0 un genre sp\xE9cifique : et oui malheureusement, prostitu\xE9e a \xE9t\xE9 retenu dans les 5 premiers choix du mod\xE8le, mot associ\xE9 \xE0 \xAB femme \xBB et \xE0 \xAB travail \xBB par le mod\xE8le. Cela se produit m\xEAme si BERT est l\u2019un des rare "),L=l(p,"EM",{});var Le=u(L);fe=r(Le,"transformers"),Le.forEach(t),he=r(p," qui n\u2019a pas \xE9t\xE9 construit avec des donn\xE9es r\xE9cup\xE9r\xE9es par "),P=l(p,"EM",{});var Pe=u(P);ve=r(Pe,"scrapping"),Pe.forEach(t),qe=r(p," sur internet, mais \xE0 l\u2019aide de donn\xE9es en apparence neutres. En effet, il est entra\xEEn\xE9 sur les jeux de donn\xE9s "),$=l(p,"A",{href:!0,rel:!0});var Te=u($);ge=r(Te,"Wikip\xE9dia Anglais"),Te.forEach(t),be=r(p," et "),j=l(p,"A",{href:!0,rel:!0});var ze=u(j);ke=r(ze,"BookCorpus"),ze.forEach(t),we=r(p,")."),p.forEach(t),G=v(e),k=l(e,"P",{});var O=u(k);_e=r(O,"Donc lorsque vous utilisez ce genre d\u2019outils, il est important de garder en t\xEAte que le mod\xE8le que vous utilisez peut rapidement g\xE9n\xE9rer du contenu sexiste, raciste ou homophobe. Le "),T=l(O,"EM",{});var De=u(T);Ee=r(De,"finetuning"),De.forEach(t),xe=r(O," du mod\xE8le sur vos donn\xE9es ne fera en aucun cas dispara\xEEtre ce biais intrins\xE8que."),O.forEach(t),this.h()},h(){c(d,"name","hf:doc:metadata"),c(d,"content",JSON.stringify(Oe)),c(q,"id","biais-et-limitations"),c(q,"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"),c(q,"href","#biais-et-limitations"),c(f,"class","relative group"),c($,"href","https://huggingface.co/datasets/wikipedia"),c($,"rel","nofollow"),c(j,"href","https://huggingface.co/datasets/bookcorpus"),c(j,"rel","nofollow")},m(e,n){s(document.head,d),m(e,z,n),m(e,f,n),s(f,q),s(q,y),X(w,y,null),s(f,se),s(f,M),s(M,te),m(e,D,n),X(_,e,n),m(e,N,n),m(e,g,n),s(g,ae),s(g,A),s(A,re),s(g,ne),m(e,R,n),m(e,b,n),s(b,oe),s(b,S),s(S,ie),s(b,le),m(e,U,n),X(E,e,n),m(e,K,n),X(x,e,n),m(e,Q,n),m(e,o,n),s(o,ue),s(o,C),s(C,pe),s(o,me),s(o,B),s(B,ce),s(o,de),s(o,L),s(L,fe),s(o,he),s(o,P),s(P,ve),s(o,qe),s(o,$),s($,ge),s(o,be),s(o,j),s(j,ke),s(o,we),m(e,G,n),m(e,k,n),s(k,_e),s(k,T),s(T,Ee),s(k,xe),I=!0},p:Ge,i(e){I||(Y(w.$$.fragment,e),Y(_.$$.fragment,e),Y(E.$$.fragment,e),Y(x.$$.fragment,e),I=!0)},o(e){Z(w.$$.fragment,e),Z(_.$$.fragment,e),Z(E.$$.fragment,e),Z(x.$$.fragment,e),I=!1},d(e){t(d),e&&t(z),e&&t(f),ee(w),e&&t(D),ee(_,e),e&&t(N),e&&t(g),e&&t(R),e&&t(b),e&&t(U),ee(E,e),e&&t(K),ee(x,e),e&&t(Q),e&&t(o),e&&t(G),e&&t(k)}}}const Oe={local:"biais-et-limitations",title:"Biais et limitations"};function Fe($e){return Ie(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class es extends Re{constructor(d){super();Ue(this,d,Fe,Je,Ke,{})}}export{es as default,Oe as metadata};
