import{s as R,o as D}from"../chunks/scheduler.cc52f4b9.js";import{S as J,i as Q,e as b,s,c as v,h as V,a as w,d as l,b as h,f as I,g as k,j as U,k as O,l as W,m as a,n as H,t as L,o as T,p as M}from"../chunks/index.9480bb2b.js";import{C as X,H as Y,E as Z}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.7aac1ff7.js";import{C as tt}from"../chunks/CourseFloatingBanner.d5461535.js";import{F as et}from"../chunks/FrameworkSwitchCourse.42d12053.js";function nt(u){let n,r="<li>Cách chuẩn bị một tập dữ liệu lớn từ Hub</li> <li>Cách sử dụng Keras để tinh chỉnh mô hình</li> <li>Cách sử dụng Keras để đưa ra dự đoán</li> <li>Cách sử dụng thước đo tùy chỉnh</li>";return{c(){n=b("ul"),n.innerHTML=r},l(i){n=w(i,"UL",{"data-svelte-h":!0}),U(n)!=="svelte-cdcxbv"&&(n.innerHTML=r)},m(i,c){a(i,n,c)},d(i){i&&l(n)}}}function it(u){let n,r="<li>Cách chuẩn bị một tập dữ liệu lớn từ Hub</li> <li>Cách sử dụng API <code>Trainer</code> cấp cao để tinh chỉnh mô hình</li> <li>Cách sử dụng vòng lặp huấn luyện tùy chỉnh</li> <li>Cách tận dụng thư viện 🤗 Accelerate để dễ dàng chạy vòng huấn luyện tùy chỉnh đó trên bất kỳ thiết lập phân tán nào</li>";return{c(){n=b("ul"),n.innerHTML=r},l(i){n=w(i,"UL",{"data-svelte-h":!0}),U(n)!=="svelte-1hwa01q"&&(n.innerHTML=r)},m(i,c){a(i,n,c)},d(i){i&&l(n)}}}function lt(u){let n,r,i,c,m,x,f,P,p,E,$,S,g,j='Trong <a href="/course/chapter2">Chương 2</a>, chúng ta đã khám phá cách sử dụng tokenizer và các mô hình huấn luyện trước để đưa ra dự đoán. Nhưng nếu bạn muốn tinh chỉnh một mô hình được huấn luyện trước cho tập dữ liệu của riêng mình thì sao? Đó là chủ đề của chương này! Bạn sẽ học:',z,y,d,q='Để tải các checkpoint được huấn luyện của bạn lên Hugging Face Hub, bạn sẽ cần có tài khoản huggingface.co: <a href="https://huggingface.co/join" rel="nofollow">tạo tài khoản</a>',F,_,A,C,G;m=new et({props:{fw:u[0]}}),f=new X({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),p=new Y({props:{title:"Giới thiệu",local:"giới-thiệu",headingTag:"h1"}}),$=new tt({props:{chapter:3,classNames:"absolute z-10 right-0 top-0"}});function B(t,e){return t[0]==="pt"?it:nt}let N=B(u),o=N(u);return _=new Z({props:{source:"https://github.com/huggingface/course/blob/main/chapters/vi/chapter3/1.mdx"}}),{c(){n=b("meta"),r=s(),i=b("p"),c=s(),v(m.$$.fragment),x=s(),v(f.$$.fragment),P=s(),v(p.$$.fragment),E=s(),v($.$$.fragment),S=s(),g=b("p"),g.innerHTML=j,z=s(),o.c(),y=s(),d=b("p"),d.innerHTML=q,F=s(),v(_.$$.fragment),A=s(),C=b("p"),this.h()},l(t){const e=V("svelte-u9bgzb",document.head);n=w(e,"META",{name:!0,content:!0}),e.forEach(l),r=h(t),i=w(t,"P",{}),I(i).forEach(l),c=h(t),k(m.$$.fragment,t),x=h(t),k(f.$$.fragment,t),P=h(t),k(p.$$.fragment,t),E=h(t),k($.$$.fragment,t),S=h(t),g=w(t,"P",{"data-svelte-h":!0}),U(g)!=="svelte-b6o0kn"&&(g.innerHTML=j),z=h(t),o.l(t),y=h(t),d=w(t,"P",{"data-svelte-h":!0}),U(d)!=="svelte-109nbo3"&&(d.innerHTML=q),F=h(t),k(_.$$.fragment,t),A=h(t),C=w(t,"P",{}),I(C).forEach(l),this.h()},h(){O(n,"name","hf:doc:metadata"),O(n,"content",at)},m(t,e){W(document.head,n),a(t,r,e),a(t,i,e),a(t,c,e),H(m,t,e),a(t,x,e),H(f,t,e),a(t,P,e),H(p,t,e),a(t,E,e),H($,t,e),a(t,S,e),a(t,g,e),a(t,z,e),o.m(t,e),a(t,y,e),a(t,d,e),a(t,F,e),H(_,t,e),a(t,A,e),a(t,C,e),G=!0},p(t,[e]){const K={};e&1&&(K.fw=t[0]),m.$set(K),N!==(N=B(t))&&(o.d(1),o=N(t),o&&(o.c(),o.m(y.parentNode,y)))},i(t){G||(L(m.$$.fragment,t),L(f.$$.fragment,t),L(p.$$.fragment,t),L($.$$.fragment,t),L(_.$$.fragment,t),G=!0)},o(t){T(m.$$.fragment,t),T(f.$$.fragment,t),T(p.$$.fragment,t),T($.$$.fragment,t),T(_.$$.fragment,t),G=!1},d(t){t&&(l(r),l(i),l(c),l(x),l(P),l(E),l(S),l(g),l(z),l(y),l(d),l(F),l(A),l(C)),l(n),M(m,t),M(f,t),M(p,t),M($,t),o.d(t),M(_,t)}}}const at='{"title":"Giới thiệu","local":"giới-thiệu","sections":[],"depth":1}';function rt(u,n,r){let i="pt";return D(()=>{const c=new URLSearchParams(window.location.search);r(0,i=c.get("fw")||"pt")}),[i]}class ut extends J{constructor(n){super(),Q(this,n,rt,lt,R,{})}}export{ut as component};
