import{S as Me,i as Pe,s as Te,e as r,k as g,w as J,t,M as Be,c as l,d as a,m as b,a as i,x as U,h as n,b as m,G as s,g as u,y as F,L as Le,q as Q,o as V,B as X,v as Ne}from"../../chunks/vendor-hf-doc-builder.js";import{I as Re}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as Ce}from"../../chunks/CodeBlock-hf-doc-builder.js";import{D as De}from"../../chunks/DocNotebookDropdown-hf-doc-builder.js";function Ie(ke){let f,L,h,k,S,w,Y,A,Z,N,y,R,c,ee,C,se,ae,M,oe,te,D,v,ne,P,re,le,I,_,K,j,G,p,ie,T,pe,ue,B,ce,de,q,me,fe,$,he,ge,O,x,be,W;return w=new Re({}),y=new De({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"}]}}),_=new Ce({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])`}}),j=new Ce({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(){f=r("meta"),L=g(),h=r("h1"),k=r("a"),S=r("span"),J(w.$$.fragment),Y=g(),A=r("span"),Z=t("Sesgos y limitaciones"),N=g(),J(y.$$.fragment),R=g(),c=r("p"),ee=t("Si tu intenci\xF3n es usar modelos preentrenados o una versi\xF3n ajustada en producci\xF3n, ten en cuenta que a pesar de ser herramientas poderosas, tienen limitaciones. La m\xE1s importante de ellas es que, para permitir el preentrenamiento con grandes cantidades de datos, los investigadores suelen "),C=r("em"),se=t("raspar"),ae=t(" ("),M=r("em"),oe=t("scrape"),te=t(") todo el contenido que puedan encontrar, tomando lo mejor y lo peor que est\xE1 disponible en internet."),D=g(),v=r("p"),ne=t("Para dar un ejemplo r\xE1pido, volvamos al caso del pipeline "),P=r("code"),re=t("fill-mask"),le=t(" con el modelo BERT:"),I=g(),J(_.$$.fragment),K=g(),J(j.$$.fragment),G=g(),p=r("p"),ie=t("Cuando se le pide llenar la palabra faltante en estas dos oraciones, el modelo devuelve solo una respuesta agn\xF3stica de g\xE9nero ("),T=r("em"),pe=t("waiter/waitress"),ue=t("). Las otras son ocupaciones que se suelen asociar con un g\xE9nero espec\xEDfico \u2014 y si, prostituta es una de las primeras 5 posibilidades que el modelo asocia con \u201Cmujer\u201D y \u201Ctrabajo\u201D. Esto sucede a pesar de que BERT es uno de los pocos modelos de Transformadores que no se construyeron basados en datos "),B=r("em"),ce=t("raspados"),de=t(" de todo el internet, pero usando datos aparentemente neutrales (est\xE1 entrenado con los conjuntos de datos de "),q=r("a"),me=t("Wikipedia en Ingl\xE9s"),fe=t(" y "),$=r("a"),he=t("BookCorpus"),ge=t(")."),O=g(),x=r("p"),be=t("Cuando uses estas herramientas, debes tener en cuenta que el modelo original que est\xE1s usando puede muy f\xE1cilmente generar contenido sexista, racista u homof\xF3bico. Ajustar el modelo con tus datos no va a desaparecer este sesgo intr\xEDnseco."),this.h()},l(e){const o=Be('[data-svelte="svelte-1phssyn"]',document.head);f=l(o,"META",{name:!0,content:!0}),o.forEach(a),L=b(e),h=l(e,"H1",{class:!0});var z=i(h);k=l(z,"A",{id:!0,class:!0,href:!0});var ve=i(k);S=l(ve,"SPAN",{});var we=i(S);U(w.$$.fragment,we),we.forEach(a),ve.forEach(a),Y=b(z),A=l(z,"SPAN",{});var ye=i(A);Z=n(ye,"Sesgos y limitaciones"),ye.forEach(a),z.forEach(a),N=b(e),U(y.$$.fragment,e),R=b(e),c=l(e,"P",{});var E=i(c);ee=n(E,"Si tu intenci\xF3n es usar modelos preentrenados o una versi\xF3n ajustada en producci\xF3n, ten en cuenta que a pesar de ser herramientas poderosas, tienen limitaciones. La m\xE1s importante de ellas es que, para permitir el preentrenamiento con grandes cantidades de datos, los investigadores suelen "),C=l(E,"EM",{});var _e=i(C);se=n(_e,"raspar"),_e.forEach(a),ae=n(E," ("),M=l(E,"EM",{});var je=i(M);oe=n(je,"scrape"),je.forEach(a),te=n(E,") todo el contenido que puedan encontrar, tomando lo mejor y lo peor que est\xE1 disponible en internet."),E.forEach(a),D=b(e),v=l(e,"P",{});var H=i(v);ne=n(H,"Para dar un ejemplo r\xE1pido, volvamos al caso del pipeline "),P=l(H,"CODE",{});var qe=i(P);re=n(qe,"fill-mask"),qe.forEach(a),le=n(H," con el modelo BERT:"),H.forEach(a),I=b(e),U(_.$$.fragment,e),K=b(e),U(j.$$.fragment,e),G=b(e),p=l(e,"P",{});var d=i(p);ie=n(d,"Cuando se le pide llenar la palabra faltante en estas dos oraciones, el modelo devuelve solo una respuesta agn\xF3stica de g\xE9nero ("),T=l(d,"EM",{});var $e=i(T);pe=n($e,"waiter/waitress"),$e.forEach(a),ue=n(d,"). Las otras son ocupaciones que se suelen asociar con un g\xE9nero espec\xEDfico \u2014 y si, prostituta es una de las primeras 5 posibilidades que el modelo asocia con \u201Cmujer\u201D y \u201Ctrabajo\u201D. Esto sucede a pesar de que BERT es uno de los pocos modelos de Transformadores que no se construyeron basados en datos "),B=l(d,"EM",{});var xe=i(B);ce=n(xe,"raspados"),xe.forEach(a),de=n(d," de todo el internet, pero usando datos aparentemente neutrales (est\xE1 entrenado con los conjuntos de datos de "),q=l(d,"A",{href:!0,rel:!0});var Ee=i(q);me=n(Ee,"Wikipedia en Ingl\xE9s"),Ee.forEach(a),fe=n(d," y "),$=l(d,"A",{href:!0,rel:!0});var Se=i($);he=n(Se,"BookCorpus"),Se.forEach(a),ge=n(d,")."),d.forEach(a),O=b(e),x=l(e,"P",{});var Ae=i(x);be=n(Ae,"Cuando uses estas herramientas, debes tener en cuenta que el modelo original que est\xE1s usando puede muy f\xE1cilmente generar contenido sexista, racista u homof\xF3bico. Ajustar el modelo con tus datos no va a desaparecer este sesgo intr\xEDnseco."),Ae.forEach(a),this.h()},h(){m(f,"name","hf:doc:metadata"),m(f,"content",JSON.stringify(Ke)),m(k,"id","sesgos-y-limitaciones"),m(k,"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"),m(k,"href","#sesgos-y-limitaciones"),m(h,"class","relative group"),m(q,"href","https://huggingface.co/datasets/wikipedia"),m(q,"rel","nofollow"),m($,"href","https://huggingface.co/datasets/bookcorpus"),m($,"rel","nofollow")},m(e,o){s(document.head,f),u(e,L,o),u(e,h,o),s(h,k),s(k,S),F(w,S,null),s(h,Y),s(h,A),s(A,Z),u(e,N,o),F(y,e,o),u(e,R,o),u(e,c,o),s(c,ee),s(c,C),s(C,se),s(c,ae),s(c,M),s(M,oe),s(c,te),u(e,D,o),u(e,v,o),s(v,ne),s(v,P),s(P,re),s(v,le),u(e,I,o),F(_,e,o),u(e,K,o),F(j,e,o),u(e,G,o),u(e,p,o),s(p,ie),s(p,T),s(T,pe),s(p,ue),s(p,B),s(B,ce),s(p,de),s(p,q),s(q,me),s(p,fe),s(p,$),s($,he),s(p,ge),u(e,O,o),u(e,x,o),s(x,be),W=!0},p:Le,i(e){W||(Q(w.$$.fragment,e),Q(y.$$.fragment,e),Q(_.$$.fragment,e),Q(j.$$.fragment,e),W=!0)},o(e){V(w.$$.fragment,e),V(y.$$.fragment,e),V(_.$$.fragment,e),V(j.$$.fragment,e),W=!1},d(e){a(f),e&&a(L),e&&a(h),X(w),e&&a(N),X(y,e),e&&a(R),e&&a(c),e&&a(D),e&&a(v),e&&a(I),X(_,e),e&&a(K),X(j,e),e&&a(G),e&&a(p),e&&a(O),e&&a(x)}}}const Ke={local:"sesgos-y-limitaciones",title:"Sesgos y limitaciones"};function Ge(ke){return Ne(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Je extends Me{constructor(f){super();Pe(this,f,Ge,Ie,Te,{})}}export{Je as default,Ke as metadata};
