import{s as Q,o as V,n as W}from"../chunks/scheduler.cc52f4b9.js";import{S as X,i as Y,e as u,s as o,c as d,h as Z,a as c,d as l,b as $,f as O,g as k,j as T,k as J,l as tt,m as r,n as M,t as y,o as A,p as L}from"../chunks/index.3c4d5777.js";import{T as et}from"../chunks/Tip.2a79deaa.js";import{C as nt,H as lt,E as at}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.e23023b3.js";import{C as it}from"../chunks/CourseFloatingBanner.c59a53e4.js";import{F as st}from"../chunks/FrameworkSwitchCourse.27b0b5cc.js";function rt(_){let e,f="これを行うには、第3章のKeras API、第5章の🤗 Datasetsライブラリ、第6章の🤗 Tokenizersライブラリでモデルのトレーニングについて学んだことをすべて活用する必要があります。また、第4章で行ったように、結果をモデルハブにアップロードすることになるので、この章はまさにすべてが集約された章と言えます。",a,i,p="各セクションは独立して読むことができます。";return{c(){e=u("p"),e.textContent=f,a=o(),i=u("p"),i.textContent=p},l(s){e=c(s,"P",{"data-svelte-h":!0}),T(e)!=="svelte-25fa86"&&(e.textContent=f),a=$(s),i=c(s,"P",{"data-svelte-h":!0}),T(i)!=="svelte-dw99r1"&&(i.textContent=p)},m(s,m){r(s,e,m),r(s,a,m),r(s,i,m)},d(s){s&&(l(e),l(a),l(i))}}}function ft(_){let e,f="これを行うには、第3章で学んだTrainer APIと🤗 Accelerateライブラリ、5章で学んだ🤗 Datasetsライブラリ、第6章で学んだ🤗 Tokenizersライブラリについて、すべて活用する必要があります。また、第4章で行ったように、結果をModel Hubにアップロードします。したがって、この章は本当にすべてが集約された章です。",a,i,p="各セクションは独立して読むことができ、Trainer APIや🤗 Accelerateを使った独自の学習ループでモデルを学習する方法が紹介されています。どのパートも自由にスキップできるので、最も興味のあるパートに集中してください。Trainer APIは裏で何が起こっているかを気にせずにモデルを微調整したりトレーニングしたりするのに最適です。一方、Accelerateを使ったトレーニングループでは、必要な部分をより簡単にカスタマイズすることができます。";return{c(){e=u("p"),e.textContent=f,a=o(),i=u("p"),i.textContent=p},l(s){e=c(s,"P",{"data-svelte-h":!0}),T(e)!=="svelte-10gz1c8"&&(e.textContent=f),a=$(s),i=c(s,"P",{"data-svelte-h":!0}),T(i)!=="svelte-133x5em"&&(i.textContent=p)},m(s,m){r(s,e,m),r(s,a,m),r(s,i,m)},d(s){s&&(l(e),l(a),l(i))}}}function mt(_){let e,f="各セクションを順番に読んでいくと、共通するコードや文章がかなりあることに気がつくと思います。この繰り返しは意図的なもので、興味のあるタスクに飛び込んで（あるいは後で戻って）、完全な動作例を見つけることができるようにするためのものです。";return{c(){e=u("p"),e.textContent=f},l(a){e=c(a,"P",{"data-svelte-h":!0}),T(e)!=="svelte-1jeso7n"&&(e.textContent=f)},m(a,i){r(a,e,i)},p:W,d(a){a&&l(e)}}}function pt(_){let e,f,a,i,p,s,m,H,w,z,v,S,h,N='<a href="/course/ja/chapter3">第3章</a>では、テキスト分類のためにモデルを微調整する方法を学びました。この章では、以下のような一般的な自然言語処理タスクに取り組みます。',j,b,R="<li>トークン分類</li> <li>マスク言語モデリング(BERTのような)</li> <li>要約</li> <li>翻訳</li> <li>因果言語モデリング事前学習(GPT-2など)</li> <li>質問応答</li>",I,g,C,F,P,B,E,D;p=new st({props:{fw:_[0]}}),m=new nt({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),w=new lt({props:{title:"イントロダクション",local:"イントロダクション",headingTag:"h1"}}),v=new it({props:{chapter:7,classNames:"absolute z-10 right-0 top-0"}});function U(t,n){return t[0]==="pt"?ft:rt}let G=U(_),x=G(_);return C=new et({props:{$$slots:{default:[mt]},$$scope:{ctx:_}}}),P=new at({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ja/chapter7/1.mdx"}}),{c(){e=u("meta"),f=o(),a=u("p"),i=o(),d(p.$$.fragment),s=o(),d(m.$$.fragment),H=o(),d(w.$$.fragment),z=o(),d(v.$$.fragment),S=o(),h=u("p"),h.innerHTML=N,j=o(),b=u("ul"),b.innerHTML=R,I=o(),x.c(),g=o(),d(C.$$.fragment),F=o(),d(P.$$.fragment),B=o(),E=u("p"),this.h()},l(t){const n=Z("svelte-u9bgzb",document.head);e=c(n,"META",{name:!0,content:!0}),n.forEach(l),f=$(t),a=c(t,"P",{}),O(a).forEach(l),i=$(t),k(p.$$.fragment,t),s=$(t),k(m.$$.fragment,t),H=$(t),k(w.$$.fragment,t),z=$(t),k(v.$$.fragment,t),S=$(t),h=c(t,"P",{"data-svelte-h":!0}),T(h)!=="svelte-tl9337"&&(h.innerHTML=N),j=$(t),b=c(t,"UL",{"data-svelte-h":!0}),T(b)!=="svelte-178307u"&&(b.innerHTML=R),I=$(t),x.l(t),g=$(t),k(C.$$.fragment,t),F=$(t),k(P.$$.fragment,t),B=$(t),E=c(t,"P",{}),O(E).forEach(l),this.h()},h(){J(e,"name","hf:doc:metadata"),J(e,"content",ot)},m(t,n){tt(document.head,e),r(t,f,n),r(t,a,n),r(t,i,n),M(p,t,n),r(t,s,n),M(m,t,n),r(t,H,n),M(w,t,n),r(t,z,n),M(v,t,n),r(t,S,n),r(t,h,n),r(t,j,n),r(t,b,n),r(t,I,n),x.m(t,n),r(t,g,n),M(C,t,n),r(t,F,n),M(P,t,n),r(t,B,n),r(t,E,n),D=!0},p(t,[n]){const q={};n&1&&(q.fw=t[0]),p.$set(q),G!==(G=U(t))&&(x.d(1),x=G(t),x&&(x.c(),x.m(g.parentNode,g)));const K={};n&2&&(K.$$scope={dirty:n,ctx:t}),C.$set(K)},i(t){D||(y(p.$$.fragment,t),y(m.$$.fragment,t),y(w.$$.fragment,t),y(v.$$.fragment,t),y(C.$$.fragment,t),y(P.$$.fragment,t),D=!0)},o(t){A(p.$$.fragment,t),A(m.$$.fragment,t),A(w.$$.fragment,t),A(v.$$.fragment,t),A(C.$$.fragment,t),A(P.$$.fragment,t),D=!1},d(t){t&&(l(f),l(a),l(i),l(s),l(H),l(z),l(S),l(h),l(j),l(b),l(I),l(g),l(F),l(B),l(E)),l(e),L(p,t),L(m,t),L(w,t),L(v,t),x.d(t),L(C,t),L(P,t)}}}const ot='{"title":"イントロダクション","local":"イントロダクション","sections":[],"depth":1}';function $t(_,e,f){let a="pt";return V(()=>{const i=new URLSearchParams(window.location.search);f(0,a=i.get("fw")||"pt")}),[a]}class vt extends X{constructor(e){super(),Y(this,e,$t,pt,Q,{})}}export{vt as component};
