import{s as I,n as K,o as N}from"../chunks/scheduler.36a0863c.js";import{S as W,i as F,g as n,s as r,r as j,A as J,h as i,f as a,c as l,j as q,u as S,x as b,k as U,y as Q,a as o,v as k,d as D,t as O,w as z}from"../chunks/index.f891bdb2.js";import{H as V,E as X}from"../chunks/EditOnGithub.a58e27a9.js";function Y(C){let s,x,g,T,p,P,d,H=`Hay un creciente campo de estudio empeñado en la investigación del funcionamiento interno de los transformers de gran escala como BERT
(que algunos llaman “BERTología”). Algunos buenos ejemplos de este campo son:`,_,m,R=`<li>BERT Rediscovers the Classical NLP Pipeline por Ian Tenney, Dipanjan Das, Ellie Pavlick:
<a href="https://arxiv.org/abs/1905.05950" rel="nofollow">https://arxiv.org/abs/1905.05950</a></li> <li>Are Sixteen Heads Really Better than One? por Paul Michel, Omer Levy, Graham Neubig: <a href="https://arxiv.org/abs/1905.10650" rel="nofollow">https://arxiv.org/abs/1905.10650</a></li> <li>What Does BERT Look At? An Analysis of BERT’s Attention por Kevin Clark, Urvashi Khandelwal, Omer Levy, Christopher D.
Manning: <a href="https://arxiv.org/abs/1906.04341" rel="nofollow">https://arxiv.org/abs/1906.04341</a></li> <li>CAT-probing: A Metric-based Approach to Interpret How Pre-trained Models for Programming Language Attend Code Structure: <a href="https://arxiv.org/abs/2210.04633" rel="nofollow">https://arxiv.org/abs/2210.04633</a></li>`,y,c,A=`Para asistir al desarrollo de este nuevo campo, hemos incluido algunas features adicionales en los modelos BERT/GPT/GPT-2 para
ayudar a acceder a las representaciones internas, principalmente adaptado de la gran obra de Paul Michel
(<a href="https://arxiv.org/abs/1905.10650" rel="nofollow">https://arxiv.org/abs/1905.10650</a>):`,w,u,B=`<li>accediendo a todos los hidden-states de BERT/GPT/GPT-2,</li> <li>accediendo a todos los pesos de atención para cada head de BERT/GPT/GPT-2,</li> <li>adquiriendo los valores de salida y gradientes de las heads para poder computar la métrica de importancia de las heads y realizar la poda de heads como se explica
en <a href="https://arxiv.org/abs/1905.10650" rel="nofollow">https://arxiv.org/abs/1905.10650</a>.</li>`,E,h,G=`Para ayudarte a entender y usar estas features, hemos añadido un script específico de ejemplo: <a href="https://github.com/huggingface/transformers/tree/main/examples/research_projects/bertology/run_bertology.py" rel="nofollow">bertology.py</a> mientras extraes información y cortas un modelo pre-entrenado en
GLUE.`,$,f,L,v,M;return p=new V({props:{title:"BERTología",local:"bertología",headingTag:"h1"}}),f=new X({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/es/bertology.md"}}),{c(){s=n("meta"),x=r(),g=n("p"),T=r(),j(p.$$.fragment),P=r(),d=n("p"),d.textContent=H,_=r(),m=n("ul"),m.innerHTML=R,y=r(),c=n("p"),c.innerHTML=A,w=r(),u=n("ul"),u.innerHTML=B,E=r(),h=n("p"),h.innerHTML=G,$=r(),j(f.$$.fragment),L=r(),v=n("p"),this.h()},l(e){const t=J("svelte-u9bgzb",document.head);s=i(t,"META",{name:!0,content:!0}),t.forEach(a),x=l(e),g=i(e,"P",{}),q(g).forEach(a),T=l(e),S(p.$$.fragment,e),P=l(e),d=i(e,"P",{"data-svelte-h":!0}),b(d)!=="svelte-t8qs96"&&(d.textContent=H),_=l(e),m=i(e,"UL",{"data-svelte-h":!0}),b(m)!=="svelte-1sb7ig0"&&(m.innerHTML=R),y=l(e),c=i(e,"P",{"data-svelte-h":!0}),b(c)!=="svelte-f71qwa"&&(c.innerHTML=A),w=l(e),u=i(e,"UL",{"data-svelte-h":!0}),b(u)!=="svelte-wp6xpp"&&(u.innerHTML=B),E=l(e),h=i(e,"P",{"data-svelte-h":!0}),b(h)!=="svelte-1wml3jh"&&(h.innerHTML=G),$=l(e),S(f.$$.fragment,e),L=l(e),v=i(e,"P",{}),q(v).forEach(a),this.h()},h(){U(s,"name","hf:doc:metadata"),U(s,"content",Z)},m(e,t){Q(document.head,s),o(e,x,t),o(e,g,t),o(e,T,t),k(p,e,t),o(e,P,t),o(e,d,t),o(e,_,t),o(e,m,t),o(e,y,t),o(e,c,t),o(e,w,t),o(e,u,t),o(e,E,t),o(e,h,t),o(e,$,t),k(f,e,t),o(e,L,t),o(e,v,t),M=!0},p:K,i(e){M||(D(p.$$.fragment,e),D(f.$$.fragment,e),M=!0)},o(e){O(p.$$.fragment,e),O(f.$$.fragment,e),M=!1},d(e){e&&(a(x),a(g),a(T),a(P),a(d),a(_),a(m),a(y),a(c),a(w),a(u),a(E),a(h),a($),a(L),a(v)),a(s),z(p,e),z(f,e)}}}const Z='{"title":"BERTología","local":"bertología","sections":[],"depth":1}';function ee(C){return N(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class se extends W{constructor(s){super(),F(this,s,ee,Y,I,{})}}export{se as component};
