import{S as me,i as ce,s as de,e as r,k as c,w as R,t as d,M as he,c as i,d as s,m as h,a as l,x as K,h as f,b as u,F as a,g as n,y as I,L as fe,q as W,o as F,B as G,v as ve}from"../../chunks/vendor-1e8b365d.js";import{I as ge}from"../../chunks/IconCopyLink-483c28ba.js";import{C as pe}from"../../chunks/CodeBlock-e5764662.js";import{D as qe}from"../../chunks/DocNotebookDropdown-37d928d3.js";function be(se){let p,S,m,v,E,g,H,A,J,B,q,L,_,O,P,$,U,T,b,C,w,z,o,Q,k,V,X,x,Y,Z,M,j,ee,D;return g=new ge({}),q=new qe({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"}]}}),b=new pe({props:{code:`from transformers import pipeline

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

result = unmasker("This woman works as a [MASK].")
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-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-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])`}}),w=new pe({props:{code:`['lawyer', 'carpenter', 'doctor', 'waiter', 'mechanic']
['nurse', 'waitress', 'teacher', 'maid', 'prostitute']`,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-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>]`}}),{c(){p=r("meta"),S=c(),m=r("h1"),v=r("a"),E=r("span"),R(g.$$.fragment),H=c(),A=r("span"),J=d("Biais et limitations"),B=c(),R(q.$$.fragment),L=c(),_=r("p"),O=d("Si vous souhaitez utiliser un mod\xE8le pr\xE9-entra\xEEn\xE9 ou une version fine-tun\xE9e 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, en prenant le meilleur et le pire de ce qui est disponible sur internet."),P=c(),$=r("p"),U=d("Pour illustrer cela rapidement, revenons au mod\xE8le de remplacement de mot-masque avec le mod\xE8le BERT:"),T=c(),R(b.$$.fragment),C=c(),R(w.$$.fragment),z=c(),o=r("p"),Q=d("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 (waiter/waitress = serveur/serveuse). Les autres sont des m\xE9tiers habituellement associ\xE9s \xE0 un genre sp\xE9cifique \u2014 et oui malheureusement, prostitu\xE9e a \xE9t\xE9 retenu dans les 5 premiers choix du mod\xE8le, mot associ\xE9 \xE0 \u201Cfemme\u201D et \xE0 \u201Ctravail\u201D par le mod\xE8le. Cela se produit m\xEAme si BERT est l\u2019un des rare mod\xE8les Transformer qui n\u2019a pas \xE9t\xE9 construit avec des donn\xE9es r\xE9cup\xE9r\xE9es par scrapping sur internet, mais \xE0 l\u2019aide de donn\xE9es en apparence neutres (il est entra\xEEn\xE9 sur les jeux de donn\xE9es suivants : "),k=r("a"),V=d("Wikip\xE9dia Anglais"),X=d(" et "),x=r("a"),Y=d("BookCorpus"),Z=d(")."),M=c(),j=r("p"),ee=d("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 fine-tuning de ce mod\xE8le sur vos donn\xE9es ne fera en aucun cas dispara\xEEtre ce biais intrins\xE8que."),this.h()},l(e){const t=he('[data-svelte="svelte-1phssyn"]',document.head);p=i(t,"META",{name:!0,content:!0}),t.forEach(s),S=h(e),m=i(e,"H1",{class:!0});var N=l(m);v=i(N,"A",{id:!0,class:!0,href:!0});var te=l(v);E=i(te,"SPAN",{});var ae=l(E);K(g.$$.fragment,ae),ae.forEach(s),te.forEach(s),H=h(N),A=i(N,"SPAN",{});var ne=l(A);J=f(ne,"Biais et limitations"),ne.forEach(s),N.forEach(s),B=h(e),K(q.$$.fragment,e),L=h(e),_=i(e,"P",{});var re=l(_);O=f(re,"Si vous souhaitez utiliser un mod\xE8le pr\xE9-entra\xEEn\xE9 ou une version fine-tun\xE9e 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, en prenant le meilleur et le pire de ce qui est disponible sur internet."),re.forEach(s),P=h(e),$=i(e,"P",{});var ie=l($);U=f(ie,"Pour illustrer cela rapidement, revenons au mod\xE8le de remplacement de mot-masque avec le mod\xE8le BERT:"),ie.forEach(s),T=h(e),K(b.$$.fragment,e),C=h(e),K(w.$$.fragment,e),z=h(e),o=i(e,"P",{});var y=l(o);Q=f(y,"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 (waiter/waitress = serveur/serveuse). Les autres sont des m\xE9tiers habituellement associ\xE9s \xE0 un genre sp\xE9cifique \u2014 et oui malheureusement, prostitu\xE9e a \xE9t\xE9 retenu dans les 5 premiers choix du mod\xE8le, mot associ\xE9 \xE0 \u201Cfemme\u201D et \xE0 \u201Ctravail\u201D par le mod\xE8le. Cela se produit m\xEAme si BERT est l\u2019un des rare mod\xE8les Transformer qui n\u2019a pas \xE9t\xE9 construit avec des donn\xE9es r\xE9cup\xE9r\xE9es par scrapping sur internet, mais \xE0 l\u2019aide de donn\xE9es en apparence neutres (il est entra\xEEn\xE9 sur les jeux de donn\xE9es suivants : "),k=i(y,"A",{href:!0,rel:!0});var oe=l(k);V=f(oe,"Wikip\xE9dia Anglais"),oe.forEach(s),X=f(y," et "),x=i(y,"A",{href:!0,rel:!0});var le=l(x);Y=f(le,"BookCorpus"),le.forEach(s),Z=f(y,")."),y.forEach(s),M=h(e),j=i(e,"P",{});var ue=l(j);ee=f(ue,"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 fine-tuning de ce mod\xE8le sur vos donn\xE9es ne fera en aucun cas dispara\xEEtre ce biais intrins\xE8que."),ue.forEach(s),this.h()},h(){u(p,"name","hf:doc:metadata"),u(p,"content",JSON.stringify(we)),u(v,"id","biais-et-limitations"),u(v,"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"),u(v,"href","#biais-et-limitations"),u(m,"class","relative group"),u(k,"href","https://huggingface.co/datasets/wikipedia"),u(k,"rel","nofollow"),u(x,"href","https://huggingface.co/datasets/bookcorpus"),u(x,"rel","nofollow")},m(e,t){a(document.head,p),n(e,S,t),n(e,m,t),a(m,v),a(v,E),I(g,E,null),a(m,H),a(m,A),a(A,J),n(e,B,t),I(q,e,t),n(e,L,t),n(e,_,t),a(_,O),n(e,P,t),n(e,$,t),a($,U),n(e,T,t),I(b,e,t),n(e,C,t),I(w,e,t),n(e,z,t),n(e,o,t),a(o,Q),a(o,k),a(k,V),a(o,X),a(o,x),a(x,Y),a(o,Z),n(e,M,t),n(e,j,t),a(j,ee),D=!0},p:fe,i(e){D||(W(g.$$.fragment,e),W(q.$$.fragment,e),W(b.$$.fragment,e),W(w.$$.fragment,e),D=!0)},o(e){F(g.$$.fragment,e),F(q.$$.fragment,e),F(b.$$.fragment,e),F(w.$$.fragment,e),D=!1},d(e){s(p),e&&s(S),e&&s(m),G(g),e&&s(B),G(q,e),e&&s(L),e&&s(_),e&&s(P),e&&s($),e&&s(T),G(b,e),e&&s(C),G(w,e),e&&s(z),e&&s(o),e&&s(M),e&&s(j)}}}const we={local:"biais-et-limitations",title:"Biais et limitations"};function ke(se){return ve(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ye extends me{constructor(p){super();ce(this,p,ke,be,de,{})}}export{ye as default,we as metadata};
