import{S as V,i as B,s as J,e as u,k as I,w as H,t as E,l as x,M as O,c as d,d as i,m as L,x as N,a as h,h as b,b as T,F as n,g as A,y as q,q as R,o as j,B as G,v as Q}from"../../chunks/vendor-e6c5d93e.js";import{I as X}from"../../chunks/IconCopyLink-7b8d27fe.js";import{F as Y}from"../../chunks/FrameworkSwitchCourse-ab838f47.js";function Z(C){let t,l,o,r,m,v,p,g,M,_,z,$,c,D;return{c(){t=u("ul"),l=u("li"),o=E("\xDCber Datens\xE4tze im "),r=u("a"),m=E("Hub"),v=I(),p=u("li"),g=E("Wie man Datens\xE4tze l\xE4dt und vorverarbeitet"),M=I(),_=u("li"),z=E("Wie man ein Modell mit Keras fein-tunet und auswertet"),$=I(),c=u("li"),D=E("Eine eigene Metrik implementiert"),this.h()},l(k){t=d(k,"UL",{});var a=h(t);l=d(a,"LI",{});var y=h(l);o=b(y,"\xDCber Datens\xE4tze im "),r=d(y,"A",{href:!0,rel:!0});var P=h(r);m=b(P,"Hub"),P.forEach(i),y.forEach(i),v=L(a),p=d(a,"LI",{});var s=h(p);g=b(s,"Wie man Datens\xE4tze l\xE4dt und vorverarbeitet"),s.forEach(i),M=L(a),_=d(a,"LI",{});var w=h(_);z=b(w,"Wie man ein Modell mit Keras fein-tunet und auswertet"),w.forEach(i),$=L(a),c=d(a,"LI",{});var e=h(c);D=b(e,"Eine eigene Metrik implementiert"),e.forEach(i),a.forEach(i),this.h()},h(){T(r,"href","https://huggingface.co/datasets"),T(r,"rel","nofollow")},m(k,a){A(k,t,a),n(t,l),n(l,o),n(l,r),n(r,m),n(t,v),n(t,p),n(p,g),n(t,M),n(t,_),n(_,z),n(t,$),n(t,c),n(c,D)},d(k){k&&i(t)}}}function ee(C){let t,l,o,r,m,v,p,g,M,_,z,$,c,D,k,a,y;return{c(){t=u("ul"),l=u("li"),o=E("\xDCber Datens\xE4tze im "),r=u("a"),m=E("Hub"),v=I(),p=u("li"),g=E("Wie du Datens\xE4tze l\xE4dst und vorverarbeitest, einschlie\xDFlich der Verwendung von dynamischem Padding und Collators"),M=I(),_=u("li"),z=E("Implementierung des eigenen Fein-tunings und der Evaluierung eines Modells"),$=I(),c=u("li"),D=E("Eine Trainingsschleife auf niedriger Ebene implementiert"),k=I(),a=u("li"),y=E("Mit \u{1F917} Accelerate die Trainingsschleife so anpassen, dass sie f\xFCr mehrere GPUs oder TPUs funktioniert"),this.h()},l(P){t=d(P,"UL",{});var s=h(t);l=d(s,"LI",{});var w=h(l);o=b(w,"\xDCber Datens\xE4tze im "),r=d(w,"A",{href:!0,rel:!0});var e=h(r);m=b(e,"Hub"),e.forEach(i),w.forEach(i),v=L(s),p=d(s,"LI",{});var f=h(p);g=b(f,"Wie du Datens\xE4tze l\xE4dst und vorverarbeitest, einschlie\xDFlich der Verwendung von dynamischem Padding und Collators"),f.forEach(i),M=L(s),_=d(s,"LI",{});var S=h(_);z=b(S,"Implementierung des eigenen Fein-tunings und der Evaluierung eines Modells"),S.forEach(i),$=L(s),c=d(s,"LI",{});var F=h(c);D=b(F,"Eine Trainingsschleife auf niedriger Ebene implementiert"),F.forEach(i),k=L(s),a=d(s,"LI",{});var U=h(a);y=b(U,"Mit \u{1F917} Accelerate die Trainingsschleife so anpassen, dass sie f\xFCr mehrere GPUs oder TPUs funktioniert"),U.forEach(i),s.forEach(i),this.h()},h(){T(r,"href","https://huggingface.co/datasets"),T(r,"rel","nofollow")},m(P,s){A(P,t,s),n(t,l),n(l,o),n(l,r),n(r,m),n(t,v),n(t,p),n(p,g),n(t,M),n(t,_),n(_,z),n(t,$),n(t,c),n(c,D),n(t,k),n(t,a),n(a,y)},d(P){P&&i(t)}}}function te(C){let t,l,o,r,m,v,p,g,M,_,z,$,c,D,k,a,y;o=new Y({props:{fw:C[0]}}),g=new X({});function P(e,f){return e[0]==="pt"?ee:Z}let s=P(C),w=s(C);return{c(){t=u("meta"),l=I(),H(o.$$.fragment),r=I(),m=u("h1"),v=u("a"),p=u("span"),H(g.$$.fragment),M=I(),_=u("span"),z=E("Fein-tunen, Check!"),$=I(),c=u("p"),D=E("Das hat Spa\xDF gemacht! In den ersten beiden Kapiteln hast du etwas \xFCber Modelle und Tokenizer gelernt, und jetzt wei\xDFt du, wie du sie auf deine eigenen Daten fein-tunen kannst. Rekapitulieren wir, was du in diesem Kapitel gelernt hast:"),k=I(),w.c(),a=x(),this.h()},l(e){const f=O('[data-svelte="svelte-1phssyn"]',document.head);t=d(f,"META",{name:!0,content:!0}),f.forEach(i),l=L(e),N(o.$$.fragment,e),r=L(e),m=d(e,"H1",{class:!0});var S=h(m);v=d(S,"A",{id:!0,class:!0,href:!0});var F=h(v);p=d(F,"SPAN",{});var U=h(p);N(g.$$.fragment,U),U.forEach(i),F.forEach(i),M=L(S),_=d(S,"SPAN",{});var K=h(_);z=b(K,"Fein-tunen, Check!"),K.forEach(i),S.forEach(i),$=L(e),c=d(e,"P",{});var W=h(c);D=b(W,"Das hat Spa\xDF gemacht! In den ersten beiden Kapiteln hast du etwas \xFCber Modelle und Tokenizer gelernt, und jetzt wei\xDFt du, wie du sie auf deine eigenen Daten fein-tunen kannst. Rekapitulieren wir, was du in diesem Kapitel gelernt hast:"),W.forEach(i),k=L(e),w.l(e),a=x(),this.h()},h(){T(t,"name","hf:doc:metadata"),T(t,"content",JSON.stringify(ne)),T(v,"id","feintunen-check"),T(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"),T(v,"href","#feintunen-check"),T(m,"class","relative group")},m(e,f){n(document.head,t),A(e,l,f),q(o,e,f),A(e,r,f),A(e,m,f),n(m,v),n(v,p),q(g,p,null),n(m,M),n(m,_),n(_,z),A(e,$,f),A(e,c,f),n(c,D),A(e,k,f),w.m(e,f),A(e,a,f),y=!0},p(e,[f]){const S={};f&1&&(S.fw=e[0]),o.$set(S),s!==(s=P(e))&&(w.d(1),w=s(e),w&&(w.c(),w.m(a.parentNode,a)))},i(e){y||(R(o.$$.fragment,e),R(g.$$.fragment,e),y=!0)},o(e){j(o.$$.fragment,e),j(g.$$.fragment,e),y=!1},d(e){i(t),e&&i(l),G(o,e),e&&i(r),e&&i(m),G(g),e&&i($),e&&i(c),e&&i(k),w.d(e),e&&i(a)}}}const ne={local:"feintunen-check",title:"Fein-tunen, Check!"};function ie(C,t,l){let o="pt";return Q(()=>{const r=new URLSearchParams(window.location.search);l(0,o=r.get("fw")||"pt")}),[o]}class se extends V{constructor(t){super();B(this,t,ie,te,J,{})}}export{se as default,ne as metadata};
