import{S as Gu,i as Ju,s as Vu,e as r,k as p,w as x,t as i,M as Xu,c as o,d as a,m as c,a as s,x as w,h as l,b as m,G as t,g as u,y as z,q as y,o as q,B as P,v as Bu,L as ss}from"../chunks/vendor-hf-doc-builder.js";import{I as ae}from"../chunks/IconCopyLink-hf-doc-builder.js";import{C as H}from"../chunks/CodeBlock-hf-doc-builder.js";import{F as Ru,M as is}from"../chunks/Markdown-hf-doc-builder.js";function Ku(R){let d,$,f,v,T,b,N,S,C,F,A,U,k,L,I,j,M,E,g,G;return g=new H({props:{code:`python examples/pytorch/summarization/run_summarization.py \\
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config "3.0.0" \\
    --source_prefix "summarize: " \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --predict_with_generate`,highlighted:`python examples/pytorch/summarization/run_summarization.py \\
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config <span class="hljs-string">&quot;3.0.0&quot;</span> \\
    --source_prefix <span class="hljs-string">&quot;summarize: &quot;</span> \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --predict_with_generate`}}),{c(){d=r("p"),$=i("O script de exemplo baixa e pr\xE9-processa um conjunto de dados da biblioteca \u{1F917} "),f=r("a"),v=i("Datasets"),T=i(". Em seguida, o script ajusta um conjunto de dados com o "),b=r("a"),N=i("Trainer"),S=i(" em uma arquitetura que oferece suporte \xE0 sumariza\xE7\xE3o. O exemplo a seguir mostra como ajustar "),C=r("a"),F=i("T5-small"),A=i(" no conjunto de dados "),U=r("a"),k=i("CNN/DailyMail"),L=i(". O modelo T5 requer um argumento "),I=r("code"),j=i("source_prefix"),M=i(" adicional devido \xE0 forma como foi treinado. Este prompt informa ao T5 que esta \xE9 uma tarefa de sumariza\xE7\xE3o."),E=p(),x(g.$$.fragment),this.h()},l(D){d=o(D,"P",{});var O=s(d);$=l(O,"O script de exemplo baixa e pr\xE9-processa um conjunto de dados da biblioteca \u{1F917} "),f=o(O,"A",{href:!0,rel:!0});var V=s(f);v=l(V,"Datasets"),V.forEach(a),T=l(O,". Em seguida, o script ajusta um conjunto de dados com o "),b=o(O,"A",{href:!0,rel:!0});var $t=s(b);N=l($t,"Trainer"),$t.forEach(a),S=l(O," em uma arquitetura que oferece suporte \xE0 sumariza\xE7\xE3o. O exemplo a seguir mostra como ajustar "),C=o(O,"A",{href:!0,rel:!0});var Le=s(C);F=l(Le,"T5-small"),Le.forEach(a),A=l(O," no conjunto de dados "),U=o(O,"A",{href:!0,rel:!0});var J=s(U);k=l(J,"CNN/DailyMail"),J.forEach(a),L=l(O,". O modelo T5 requer um argumento "),I=o(O,"CODE",{});var Et=s(I);j=l(Et,"source_prefix"),Et.forEach(a),M=l(O," adicional devido \xE0 forma como foi treinado. Este prompt informa ao T5 que esta \xE9 uma tarefa de sumariza\xE7\xE3o."),O.forEach(a),E=c(D),w(g.$$.fragment,D),this.h()},h(){m(f,"href","https://huggingface.co/docs/datasets/"),m(f,"rel","nofollow"),m(b,"href","https://huggingface.co/docs/transformers/main_classes/trainer"),m(b,"rel","nofollow"),m(C,"href","https://huggingface.co/t5-small"),m(C,"rel","nofollow"),m(U,"href","https://huggingface.co/datasets/cnn_dailymail"),m(U,"rel","nofollow")},m(D,O){u(D,d,O),t(d,$),t(d,f),t(f,v),t(d,T),t(d,b),t(b,N),t(d,S),t(d,C),t(C,F),t(d,A),t(d,U),t(U,k),t(d,L),t(d,I),t(I,j),t(d,M),u(D,E,O),z(g,D,O),G=!0},p:ss,i(D){G||(y(g.$$.fragment,D),G=!0)},o(D){q(g.$$.fragment,D),G=!1},d(D){D&&a(d),D&&a(E),P(g,D)}}}function Qu(R){let d,$;return d=new is({props:{$$slots:{default:[Ku]},$$scope:{ctx:R}}}),{c(){x(d.$$.fragment)},l(f){w(d.$$.fragment,f)},m(f,v){z(d,f,v),$=!0},p(f,v){const T={};v&2&&(T.$$scope={dirty:v,ctx:f}),d.$set(T)},i(f){$||(y(d.$$.fragment,f),$=!0)},o(f){q(d.$$.fragment,f),$=!1},d(f){P(d,f)}}}function Yu(R){let d,$,f,v,T,b,N,S,C,F,A,U,k,L,I,j,M;return j=new H({props:{code:`python examples/tensorflow/summarization/run_summarization.py  \\
    --model_name_or_path t5-small \\
    --dataset_name cnn_dailymail \\
    --dataset_config "3.0.0" \\
    --output_dir /tmp/tst-summarization  \\
    --per_device_train_batch_size 8 \\
    --per_device_eval_batch_size 16 \\
    --num_train_epochs 3 \\
    --do_train \\
    --do_eval`,highlighted:`python examples/tensorflow/summarization/run_summarization.py  \\
    --model_name_or_path t5-small \\
    --dataset_name cnn_dailymail \\
    --dataset_config <span class="hljs-string">&quot;3.0.0&quot;</span> \\
    --output_dir /tmp/tst-summarization  \\
    --per_device_train_batch_size 8 \\
    --per_device_eval_batch_size 16 \\
    --num_train_epochs 3 \\
    --do_train \\
    --do_eval`}}),{c(){d=r("p"),$=i("Este outro script de exemplo baixa e pr\xE9-processa um conjunto de dados da biblioteca \u{1F917} "),f=r("a"),v=i("Datasets"),T=i(". Em seguida, o script ajusta um conjunto de dados usando Keras em uma arquitetura que oferece suporte \xE0 sumariza\xE7\xE3o. O exemplo a seguir mostra como ajustar "),b=r("a"),N=i("T5-small"),S=i(" no conjunto de dados "),C=r("a"),F=i("CNN/DailyMail"),A=i(". O modelo T5 requer um argumento "),U=r("code"),k=i("source_prefix"),L=i(" adicional devido \xE0 forma como foi treinado. Este prompt informa ao T5 que esta \xE9 uma tarefa de sumariza\xE7\xE3o."),I=p(),x(j.$$.fragment),this.h()},l(E){d=o(E,"P",{});var g=s(d);$=l(g,"Este outro script de exemplo baixa e pr\xE9-processa um conjunto de dados da biblioteca \u{1F917} "),f=o(g,"A",{href:!0,rel:!0});var G=s(f);v=l(G,"Datasets"),G.forEach(a),T=l(g,". Em seguida, o script ajusta um conjunto de dados usando Keras em uma arquitetura que oferece suporte \xE0 sumariza\xE7\xE3o. O exemplo a seguir mostra como ajustar "),b=o(g,"A",{href:!0,rel:!0});var D=s(b);N=l(D,"T5-small"),D.forEach(a),S=l(g," no conjunto de dados "),C=o(g,"A",{href:!0,rel:!0});var O=s(C);F=l(O,"CNN/DailyMail"),O.forEach(a),A=l(g,". O modelo T5 requer um argumento "),U=o(g,"CODE",{});var V=s(U);k=l(V,"source_prefix"),V.forEach(a),L=l(g," adicional devido \xE0 forma como foi treinado. Este prompt informa ao T5 que esta \xE9 uma tarefa de sumariza\xE7\xE3o."),g.forEach(a),I=c(E),w(j.$$.fragment,E),this.h()},h(){m(f,"href","https://huggingface.co/docs/datasets/"),m(f,"rel","nofollow"),m(b,"href","https://huggingface.co/t5-small"),m(b,"rel","nofollow"),m(C,"href","https://huggingface.co/datasets/cnn_dailymail"),m(C,"rel","nofollow")},m(E,g){u(E,d,g),t(d,$),t(d,f),t(f,v),t(d,T),t(d,b),t(b,N),t(d,S),t(d,C),t(C,F),t(d,A),t(d,U),t(U,k),t(d,L),u(E,I,g),z(j,E,g),M=!0},p:ss,i(E){M||(y(j.$$.fragment,E),M=!0)},o(E){q(j.$$.fragment,E),M=!1},d(E){E&&a(d),E&&a(I),P(j,E)}}}function Wu(R){let d,$;return d=new is({props:{$$slots:{default:[Yu]},$$scope:{ctx:R}}}),{c(){x(d.$$.fragment)},l(f){w(d.$$.fragment,f)},m(f,v){z(d,f,v),$=!0},p(f,v){const T={};v&2&&(T.$$scope={dirty:v,ctx:f}),d.$set(T)},i(f){$||(y(d.$$.fragment,f),$=!0)},o(f){q(d.$$.fragment,f),$=!1},d(f){P(d,f)}}}function Zu(R){let d,$,f,v,T,b,N,S,C,F,A,U,k,L,I,j,M;return j=new H({props:{code:`python xla_spawn.py --num_cores 8 \\
    summarization/run_summarization.py \\
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config "3.0.0" \\
    --source_prefix "summarize: " \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --predict_with_generate`,highlighted:`python xla_spawn.py --num_cores 8 \\
    summarization/run_summarization.py \\
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config <span class="hljs-string">&quot;3.0.0&quot;</span> \\
    --source_prefix <span class="hljs-string">&quot;summarize: &quot;</span> \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --predict_with_generate`}}),{c(){d=r("p"),$=i("As Unidades de Processamento de Tensor (TPUs) s\xE3o projetadas especificamente para acelerar o desempenho. O PyTorch oferece suporte a TPUs com o compilador de aprendizado profundo "),f=r("a"),v=i("XLA"),T=i(" (consulte "),b=r("a"),N=i("aqui"),S=i(" para mais detalhes). Para usar uma TPU, inicie o script "),C=r("code"),F=i("xla_spawn.py"),A=i(" e use o argumento "),U=r("code"),k=i("num_cores"),L=i(" para definir o n\xFAmero de n\xFAcleos de TPU que voc\xEA deseja usar."),I=p(),x(j.$$.fragment),this.h()},l(E){d=o(E,"P",{});var g=s(d);$=l(g,"As Unidades de Processamento de Tensor (TPUs) s\xE3o projetadas especificamente para acelerar o desempenho. O PyTorch oferece suporte a TPUs com o compilador de aprendizado profundo "),f=o(g,"A",{href:!0,rel:!0});var G=s(f);v=l(G,"XLA"),G.forEach(a),T=l(g," (consulte "),b=o(g,"A",{href:!0,rel:!0});var D=s(b);N=l(D,"aqui"),D.forEach(a),S=l(g," para mais detalhes). Para usar uma TPU, inicie o script "),C=o(g,"CODE",{});var O=s(C);F=l(O,"xla_spawn.py"),O.forEach(a),A=l(g," e use o argumento "),U=o(g,"CODE",{});var V=s(U);k=l(V,"num_cores"),V.forEach(a),L=l(g," para definir o n\xFAmero de n\xFAcleos de TPU que voc\xEA deseja usar."),g.forEach(a),I=c(E),w(j.$$.fragment,E),this.h()},h(){m(f,"href","https://www.tensorflow.org/xla"),m(f,"rel","nofollow"),m(b,"href","https://github.com/pytorch/xla/blob/master/README.md"),m(b,"rel","nofollow")},m(E,g){u(E,d,g),t(d,$),t(d,f),t(f,v),t(d,T),t(d,b),t(b,N),t(d,S),t(d,C),t(C,F),t(d,A),t(d,U),t(U,k),t(d,L),u(E,I,g),z(j,E,g),M=!0},p:ss,i(E){M||(y(j.$$.fragment,E),M=!0)},o(E){q(j.$$.fragment,E),M=!1},d(E){E&&a(d),E&&a(I),P(j,E)}}}function ep(R){let d,$;return d=new is({props:{$$slots:{default:[Zu]},$$scope:{ctx:R}}}),{c(){x(d.$$.fragment)},l(f){w(d.$$.fragment,f)},m(f,v){z(d,f,v),$=!0},p(f,v){const T={};v&2&&(T.$$scope={dirty:v,ctx:f}),d.$set(T)},i(f){$||(y(d.$$.fragment,f),$=!0)},o(f){q(d.$$.fragment,f),$=!1},d(f){P(d,f)}}}function tp(R){let d,$,f,v,T,b,N,S,C,F,A,U;return A=new H({props:{code:`python run_summarization.py  \\
    --tpu name_of_tpu_resource \\
    --model_name_or_path t5-small \\
    --dataset_name cnn_dailymail \\
    --dataset_config "3.0.0" \\
    --output_dir /tmp/tst-summarization  \\
    --per_device_train_batch_size 8 \\
    --per_device_eval_batch_size 16 \\
    --num_train_epochs 3 \\
    --do_train \\
    --do_eval`,highlighted:`python run_summarization.py  \\
    --tpu name_of_tpu_resource \\
    --model_name_or_path t5-small \\
    --dataset_name cnn_dailymail \\
    --dataset_config <span class="hljs-string">&quot;3.0.0&quot;</span> \\
    --output_dir /tmp/tst-summarization  \\
    --per_device_train_batch_size 8 \\
    --per_device_eval_batch_size 16 \\
    --num_train_epochs 3 \\
    --do_train \\
    --do_eval`}}),{c(){d=r("p"),$=i("As Unidades de Processamento de Tensor (TPUs) s\xE3o projetadas especificamente para acelerar o desempenho. Os scripts do TensorFlow utilizam uma "),f=r("a"),v=r("code"),T=i("TPUStrategy"),b=i(" para treinamento em TPUs. Para usar uma TPU, passe o nome do recurso TPU para o argumento "),N=r("code"),S=i("tpu"),C=i("."),F=p(),x(A.$$.fragment),this.h()},l(k){d=o(k,"P",{});var L=s(d);$=l(L,"As Unidades de Processamento de Tensor (TPUs) s\xE3o projetadas especificamente para acelerar o desempenho. Os scripts do TensorFlow utilizam uma "),f=o(L,"A",{href:!0,rel:!0});var I=s(f);v=o(I,"CODE",{});var j=s(v);T=l(j,"TPUStrategy"),j.forEach(a),I.forEach(a),b=l(L," para treinamento em TPUs. Para usar uma TPU, passe o nome do recurso TPU para o argumento "),N=o(L,"CODE",{});var M=s(N);S=l(M,"tpu"),M.forEach(a),C=l(L,"."),L.forEach(a),F=c(k),w(A.$$.fragment,k),this.h()},h(){m(f,"href","https://www.tensorflow.org/guide/distributed_training#tpustrategy"),m(f,"rel","nofollow")},m(k,L){u(k,d,L),t(d,$),t(d,f),t(f,v),t(v,T),t(d,b),t(d,N),t(N,S),t(d,C),u(k,F,L),z(A,k,L),U=!0},p:ss,i(k){U||(y(A.$$.fragment,k),U=!0)},o(k){q(A.$$.fragment,k),U=!1},d(k){k&&a(d),k&&a(F),P(A,k)}}}function ap(R){let d,$;return d=new is({props:{$$slots:{default:[tp]},$$scope:{ctx:R}}}),{c(){x(d.$$.fragment)},l(f){w(d.$$.fragment,f)},m(f,v){z(d,f,v),$=!0},p(f,v){const T={};v&2&&(T.$$scope={dirty:v,ctx:f}),d.$set(T)},i(f){$||(y(d.$$.fragment,f),$=!0)},o(f){q(d.$$.fragment,f),$=!1},d(f){P(d,f)}}}function rp(R){let d,$,f,v,T,b,N,S,C,F,A,U,k,L,I,j,M,E,g,G,D,O,V,$t,Le,J,Et,De,ls,ns,Ie,ms,us,Dr,bt,ps,Ir,K,cs,Ne,ds,fs,Se,_s,hs,Nr,Q,vs,Fe,gs,$s,Me,Es,bs,Sr,re,ce,_a,He,xs,ha,ws,Fr,de,zs,va,ys,qs,Mr,Re,Hr,xt,Ps,Rr,fe,ga,As,ks,_,$a,wt,Ts,js,Ea,zt,Os,Cs,ba,yt,Us,Ls,xa,qt,Ds,Is,wa,Pt,Ns,Ss,za,At,Fs,Ms,ya,kt,Hs,Rs,qa,Tt,Gs,Js,Pa,jt,Vs,Xs,Aa,Ot,Bs,Ks,ka,Ct,Qs,Ys,Ta,Ut,Ws,Zs,ja,Lt,ei,ti,Oa,Dt,ai,ri,Ca,It,oi,si,Ua,Nt,ii,li,La,St,ni,mi,Da,Ft,ui,pi,Ia,Mt,ci,di,Na,Ht,fi,_i,Sa,Rt,hi,vi,Fa,Gt,gi,$i,Ma,Jt,Ei,bi,Ha,Vt,xi,wi,Ra,Xt,zi,yi,Ga,Bt,qi,Pi,Ja,Kt,Ai,Gr,Qt,ki,Jr,Ge,Vr,Yt,Ti,Xr,Je,Br,oe,_e,Va,Ve,ji,Xa,Oi,Kr,he,Qr,se,ve,Ba,Xe,Ci,Ka,Ui,Yr,ge,Li,Be,Di,Ii,Wr,$e,Ke,Ni,Qa,Si,Fi,Mi,Qe,Hi,Ya,Ri,Gi,Zr,Ye,eo,Ee,Ji,We,Wa,Vi,Xi,to,ie,be,Za,Ze,Bi,er,Ki,ao,xe,ro,le,we,tr,et,Qi,ar,Yi,oo,ze,Wi,tt,Zi,el,so,Wt,rr,tl,io,at,lo,X,al,or,rl,ol,sr,sl,il,ir,ll,nl,no,rt,mo,Zt,ml,uo,ot,po,ea,ul,co,st,fo,ne,ye,lr,it,pl,nr,cl,_o,ta,dl,ho,Y,qe,mr,fl,_l,ur,hl,vl,gl,aa,pr,$l,El,bl,ra,cr,xl,wl,vo,oa,zl,go,lt,$o,me,Pe,dr,nt,yl,fr,ql,Eo,sa,Pl,bo,W,_r,hr,Al,kl,vr,gr,Tl,jl,$r,Er,Ol,xo,mt,wo,Z,Cl,br,Ul,Ll,xr,Dl,Il,zo,ut,yo,ue,Ae,wr,pt,Nl,zr,Sl,qo,ia,Fl,Po,B,Ml,yr,Hl,Rl,qr,Gl,Jl,Pr,Vl,Xl,Ao,ct,ko,ke,Bl,Ar,Kl,Ql,To,dt,jo,pe,Te,kr,ft,Yl,Tr,Wl,Oo,je,Zl,_t,en,tn,Co,ht,Uo,ee,an,jr,rn,on,Or,sn,ln,Lo,Oe,nn,Cr,mn,un,Do,la,pn,Io,vt,No;return b=new ae({}),He=new ae({}),Re=new H({props:{code:`git clone https://github.com/huggingface/transformers
cd transformers
pip install .`,highlighted:`git <span class="hljs-built_in">clone</span> https://github.com/huggingface/transformers
<span class="hljs-built_in">cd</span> transformers
pip install .`}}),Ge=new H({props:{code:"git checkout tags/v3.5.1",highlighted:"git checkout tags/v3.5.1"}}),Je=new H({props:{code:"pip install -r requirements.txt",highlighted:"pip install -r requirements.txt"}}),Ve=new ae({}),he=new Ru({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[Wu],pytorch:[Qu]},$$scope:{ctx:R}}}),Xe=new ae({}),Ye=new H({props:{code:`python -m torch.distributed.launch \\
    --nproc_per_node 8 pytorch/summarization/run_summarization.py \\
    --fp16 \\
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config "3.0.0" \\
    --source_prefix "summarize: " \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --predict_with_generate`,highlighted:`python -m torch.distributed.launch \\
    --nproc_per_node 8 pytorch/summarization/run_summarization.py \\
    --fp16 \\
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config <span class="hljs-string">&quot;3.0.0&quot;</span> \\
    --source_prefix <span class="hljs-string">&quot;summarize: &quot;</span> \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --predict_with_generate`}}),Ze=new ae({}),xe=new Ru({props:{pytorch:!0,tensorflow:!0,jax:!1,$$slots:{tensorflow:[ap],pytorch:[ep]},$$scope:{ctx:R}}}),et=new ae({}),at=new H({props:{code:"pip install git+https://github.com/huggingface/accelerate",highlighted:"pip install git+https://github.com/huggingface/accelerate"}}),rt=new H({props:{code:"accelerate config",highlighted:"accelerate config"}}),ot=new H({props:{code:"accelerate test",highlighted:'accelerate <span class="hljs-built_in">test</span>'}}),st=new H({props:{code:`accelerate launch run_summarization_no_trainer.py \\
    --model_name_or_path t5-small \\
    --dataset_name cnn_dailymail \\
    --dataset_config "3.0.0" \\
    --source_prefix "summarize: " \\
    --output_dir ~/tmp/tst-summarization`,highlighted:`accelerate launch run_summarization_no_trainer.py \\
    --model_name_or_path t5-small \\
    --dataset_name cnn_dailymail \\
    --dataset_config <span class="hljs-string">&quot;3.0.0&quot;</span> \\
    --source_prefix <span class="hljs-string">&quot;summarize: &quot;</span> \\
    --output_dir ~/tmp/tst-summarization`}}),it=new ae({}),lt=new H({props:{code:`python examples/pytorch/summarization/run_summarization.py \\
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --train_file path_to_csv_or_jsonlines_file \\
    --validation_file path_to_csv_or_jsonlines_file \\
    --text_column text_column_name \\
    --summary_column summary_column_name \\
    --source_prefix "summarize: " \\
    --output_dir /tmp/tst-summarization \\
    --overwrite_output_dir \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --predict_with_generate`,highlighted:`python examples/pytorch/summarization/run_summarization.py \\
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --train_file path_to_csv_or_jsonlines_file \\
    --validation_file path_to_csv_or_jsonlines_file \\
    --text_column text_column_name \\
    --summary_column summary_column_name \\
    --source_prefix <span class="hljs-string">&quot;summarize: &quot;</span> \\
    --output_dir /tmp/tst-summarization \\
    --overwrite_output_dir \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --predict_with_generate`}}),nt=new ae({}),mt=new H({props:{code:`python examples/pytorch/summarization/run_summarization.py \\
    --model_name_or_path t5-small \\
    --max_train_samples 50 \\
    --max_eval_samples 50 \\
    --max_predict_samples 50 \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config "3.0.0" \\
    --source_prefix "summarize: " \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --predict_with_generate`,highlighted:`python examples/pytorch/summarization/run_summarization.py \\
    --model_name_or_path t5-small \\
    --max_train_samples 50 \\
    --max_eval_samples 50 \\
    --max_predict_samples 50 \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config <span class="hljs-string">&quot;3.0.0&quot;</span> \\
    --source_prefix <span class="hljs-string">&quot;summarize: &quot;</span> \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --predict_with_generate`}}),ut=new H({props:{code:"examples/pytorch/summarization/run_summarization.py -h",highlighted:"examples/pytorch/summarization/run_summarization.py -h"}}),pt=new ae({}),ct=new H({props:{code:`python examples/pytorch/summarization/run_summarization.py
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config "3.0.0" \\
    --source_prefix "summarize: " \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --output_dir previous_output_dir \\
    --predict_with_generate`,highlighted:`python examples/pytorch/summarization/run_summarization.py
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config <span class="hljs-string">&quot;3.0.0&quot;</span> \\
    --source_prefix <span class="hljs-string">&quot;summarize: &quot;</span> \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --output_dir previous_output_dir \\
    --predict_with_generate`}}),dt=new H({props:{code:`python examples/pytorch/summarization/run_summarization.py
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config "3.0.0" \\
    --source_prefix "summarize: " \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --resume_from_checkpoint path_to_specific_checkpoint \\
    --predict_with_generate`,highlighted:`python examples/pytorch/summarization/run_summarization.py
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config <span class="hljs-string">&quot;3.0.0&quot;</span> \\
    --source_prefix <span class="hljs-string">&quot;summarize: &quot;</span> \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --resume_from_checkpoint path_to_specific_checkpoint \\
    --predict_with_generate`}}),ft=new ae({}),ht=new H({props:{code:"huggingface-cli login",highlighted:"huggingface-cli login"}}),vt=new H({props:{code:`python examples/pytorch/summarization/run_summarization.py
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config "3.0.0" \\
    --source_prefix "summarize: " \\
    --push_to_hub \\
    --push_to_hub_model_id finetuned-t5-cnn_dailymail \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --predict_with_generate`,highlighted:`python examples/pytorch/summarization/run_summarization.py
    --model_name_or_path t5-small \\
    --do_train \\
    --do_eval \\
    --dataset_name cnn_dailymail \\
    --dataset_config <span class="hljs-string">&quot;3.0.0&quot;</span> \\
    --source_prefix <span class="hljs-string">&quot;summarize: &quot;</span> \\
    --push_to_hub \\
    --push_to_hub_model_id finetuned-t5-cnn_dailymail \\
    --output_dir /tmp/tst-summarization \\
    --per_device_train_batch_size=4 \\
    --per_device_eval_batch_size=4 \\
    --overwrite_output_dir \\
    --predict_with_generate`}}),{c(){d=r("meta"),$=p(),f=r("h1"),v=r("a"),T=r("span"),x(b.$$.fragment),N=p(),S=r("span"),C=i("Treinamento a partir de um script"),F=p(),A=r("p"),U=i("Junto com os \u{1F917} Transformers "),k=r("a"),L=i("notebooks"),I=i(", tamb\xE9m h\xE1 scripts de exemplo demonstrando como treinar um modelo para uma tarefa com "),j=r("a"),M=i("PyTorch"),E=i(", "),g=r("a"),G=i("TensorFlow"),D=i(" ou "),O=r("a"),V=i("JAX/Flax"),$t=i("."),Le=p(),J=r("p"),Et=i("Voc\xEA tamb\xE9m encontrar\xE1 scripts que usamos em nossos "),De=r("a"),ls=i("projetos de pesquisa"),ns=i(" e "),Ie=r("a"),ms=i("exemplos legados"),us=i(" que s\xE3o principalmente contribui\xE7\xF5es da comunidade. Esses scripts n\xE3o s\xE3o mantidos ativamente e exigem uma vers\xE3o espec\xEDfica de \u{1F917} Transformers que provavelmente ser\xE1 incompat\xEDvel com a vers\xE3o mais recente da biblioteca."),Dr=p(),bt=r("p"),ps=i("N\xE3o se espera que os scripts de exemplo funcionem imediatamente em todos os problemas, voc\xEA pode precisar adaptar o script ao problema que est\xE1 tentando resolver. Para ajud\xE1-lo com isso, a maioria dos scripts exp\xF5e totalmente como os dados s\xE3o pr\xE9-processados, permitindo que voc\xEA os edite conforme necess\xE1rio para seu caso de uso."),Ir=p(),K=r("p"),cs=i("Para qualquer recurso que voc\xEA gostaria de implementar em um script de exemplo, discuta-o no "),Ne=r("a"),ds=i("f\xF3rum"),fs=i(" ou em uma "),Se=r("a"),_s=i("issue"),hs=i(" antes de enviar um Pull Request. Embora recebamos corre\xE7\xF5es de bugs, \xE9 improv\xE1vel que mesclaremos um Pull Request que adicione mais funcionalidades ao custo de legibilidade."),Nr=p(),Q=r("p"),vs=i("Este guia mostrar\xE1 como executar um exemplo de script de treinamento de sumariza\xE7\xE3o em "),Fe=r("a"),gs=i("PyTorch"),$s=i(" e "),Me=r("a"),Es=i("TensorFlow"),bs=i(". Espera-se que todos os exemplos funcionem com ambas as estruturas, a menos que especificado de outra forma."),Sr=p(),re=r("h2"),ce=r("a"),_a=r("span"),x(He.$$.fragment),xs=p(),ha=r("span"),ws=i("Configura\xE7\xE3o"),Fr=p(),de=r("p"),zs=i("Para executar com \xEAxito a vers\xE3o mais recente dos scripts de exemplo, voc\xEA precisa "),va=r("strong"),ys=i("instalar o \u{1F917} Transformers da fonte"),qs=i(" em um novo ambiente virtual:"),Mr=p(),x(Re.$$.fragment),Hr=p(),xt=r("p"),Ps=i("Para vers\xF5es mais antigas dos scripts de exemplo, clique no bot\xE3o abaixo:"),Rr=p(),fe=r("details"),ga=r("summary"),As=i("Exemplos para vers\xF5es antigas dos \u{1F917} Transformers"),ks=p(),_=r("ul"),$a=r("li"),wt=r("a"),Ts=i("v4.5.1"),js=p(),Ea=r("li"),zt=r("a"),Os=i("v4.4.2"),Cs=p(),ba=r("li"),yt=r("a"),Us=i("v4.3.3"),Ls=p(),xa=r("li"),qt=r("a"),Ds=i("v4.2.2"),Is=p(),wa=r("li"),Pt=r("a"),Ns=i("v4.1.1"),Ss=p(),za=r("li"),At=r("a"),Fs=i("v4.0.1"),Ms=p(),ya=r("li"),kt=r("a"),Hs=i("v3.5.1"),Rs=p(),qa=r("li"),Tt=r("a"),Gs=i("v3.4.0"),Js=p(),Pa=r("li"),jt=r("a"),Vs=i("v3.3.1"),Xs=p(),Aa=r("li"),Ot=r("a"),Bs=i("v3.2.0"),Ks=p(),ka=r("li"),Ct=r("a"),Qs=i("v3.1.0"),Ys=p(),Ta=r("li"),Ut=r("a"),Ws=i("v3.0.2"),Zs=p(),ja=r("li"),Lt=r("a"),ei=i("v2.11.0"),ti=p(),Oa=r("li"),Dt=r("a"),ai=i("v2.10.0"),ri=p(),Ca=r("li"),It=r("a"),oi=i("v2.9.1"),si=p(),Ua=r("li"),Nt=r("a"),ii=i("v2.8.0"),li=p(),La=r("li"),St=r("a"),ni=i("v2.7.0"),mi=p(),Da=r("li"),Ft=r("a"),ui=i("v2.6.0"),pi=p(),Ia=r("li"),Mt=r("a"),ci=i("v2.5.1"),di=p(),Na=r("li"),Ht=r("a"),fi=i("v2.4.0"),_i=p(),Sa=r("li"),Rt=r("a"),hi=i("v2.3.0"),vi=p(),Fa=r("li"),Gt=r("a"),gi=i("v2.2.0"),$i=p(),Ma=r("li"),Jt=r("a"),Ei=i("v2.1.1"),bi=p(),Ha=r("li"),Vt=r("a"),xi=i("v2.0.0"),wi=p(),Ra=r("li"),Xt=r("a"),zi=i("v1.2.0"),yi=p(),Ga=r("li"),Bt=r("a"),qi=i("v1.1.0"),Pi=p(),Ja=r("li"),Kt=r("a"),Ai=i("v1.0.0"),Gr=p(),Qt=r("p"),ki=i("Em seguida, mude seu clone atual dos \u{1F917} Transformers para uma vers\xE3o espec\xEDfica, como v3.5.1, por exemplo:"),Jr=p(),x(Ge.$$.fragment),Vr=p(),Yt=r("p"),Ti=i("Depois de configurar a vers\xE3o correta da biblioteca, navegue at\xE9 a pasta de exemplo de sua escolha e instale os requisitos espec\xEDficos do exemplo:"),Xr=p(),x(Je.$$.fragment),Br=p(),oe=r("h2"),_e=r("a"),Va=r("span"),x(Ve.$$.fragment),ji=p(),Xa=r("span"),Oi=i("Executando um script"),Kr=p(),x(he.$$.fragment),Qr=p(),se=r("h2"),ve=r("a"),Ba=r("span"),x(Xe.$$.fragment),Ci=p(),Ka=r("span"),Ui=i("Treinamento distribu\xEDdo e precis\xE3o mista"),Yr=p(),ge=r("p"),Li=i("O "),Be=r("a"),Di=i("Trainer"),Ii=i(" oferece suporte a treinamento distribu\xEDdo e precis\xE3o mista, o que significa que voc\xEA tamb\xE9m pode us\xE1-lo em um script. Para habilitar esses dois recursos:"),Wr=p(),$e=r("ul"),Ke=r("li"),Ni=i("Adicione o argumento "),Qa=r("code"),Si=i("fp16"),Fi=i(" para habilitar a precis\xE3o mista."),Mi=p(),Qe=r("li"),Hi=i("Defina o n\xFAmero de GPUs a serem usadas com o argumento "),Ya=r("code"),Ri=i("nproc_per_node"),Gi=i("."),Zr=p(),x(Ye.$$.fragment),eo=p(),Ee=r("p"),Ji=i("Os scripts do TensorFlow utilizam um "),We=r("a"),Wa=r("code"),Vi=i("MirroredStrategy"),Xi=i(" para treinamento distribu\xEDdo, e voc\xEA n\xE3o precisa adicionar argumentos adicionais ao script de treinamento. O script do TensorFlow usar\xE1 v\xE1rias GPUs por padr\xE3o, se estiverem dispon\xEDveis."),to=p(),ie=r("h2"),be=r("a"),Za=r("span"),x(Ze.$$.fragment),Bi=p(),er=r("span"),Ki=i("Executando um script em uma TPU"),ao=p(),x(xe.$$.fragment),ro=p(),le=r("h2"),we=r("a"),tr=r("span"),x(et.$$.fragment),Qi=p(),ar=r("span"),Yi=i("Execute um script com \u{1F917} Accelerate"),oo=p(),ze=r("p"),Wi=i("\u{1F917} "),tt=r("a"),Zi=i("Accelerate"),el=i(" \xE9 uma biblioteca somente do PyTorch que oferece um m\xE9todo unificado para treinar um modelo em v\xE1rios tipos de configura\xE7\xF5es (CPU, multiplas GPUs, TPUs), mantendo visibilidade no loop de treinamento do PyTorch. Certifique-se de ter o \u{1F917} Accelerate instalado se ainda n\xE3o o tiver:"),so=p(),Wt=r("blockquote"),rr=r("p"),tl=i("Nota: Como o Accelerate est\xE1 se desenvolvendo rapidamente, a vers\xE3o git do Accelerate deve ser instalada para executar os scripts"),io=p(),x(at.$$.fragment),lo=p(),X=r("p"),al=i("Em vez do script "),or=r("code"),rl=i("run_summarization.py"),ol=i(", voc\xEA precisa usar o script "),sr=r("code"),sl=i("run_summarization_no_trainer.py"),il=i(". Os scripts suportados pelo \u{1F917} Accelerate ter\xE3o um arquivo "),ir=r("code"),ll=i("task_no_trainer.py"),nl=i(" na pasta. Comece executando o seguinte comando para criar e salvar um arquivo de configura\xE7\xE3o:"),no=p(),x(rt.$$.fragment),mo=p(),Zt=r("p"),ml=i("Teste sua configura\xE7\xE3o para garantir que ela esteja corretamente configurada :"),uo=p(),x(ot.$$.fragment),po=p(),ea=r("p"),ul=i("Agora voc\xEA est\xE1 pronto para iniciar o treinamento:"),co=p(),x(st.$$.fragment),fo=p(),ne=r("h2"),ye=r("a"),lr=r("span"),x(it.$$.fragment),pl=p(),nr=r("span"),cl=i("Usando um conjunto de dados personalizado"),_o=p(),ta=r("p"),dl=i("O script de resumo oferece suporte a conjuntos de dados personalizados, desde que sejam um arquivo CSV ou JSON. Ao usar seu pr\xF3prio conjunto de dados, voc\xEA precisa especificar v\xE1rios argumentos adicionais:"),ho=p(),Y=r("ul"),qe=r("li"),mr=r("code"),fl=i("train_file"),_l=i(" e "),ur=r("code"),hl=i("validation_file"),vl=i(" especificam o caminho para seus arquivos de treinamento e valida\xE7\xE3o respectivamente."),gl=p(),aa=r("li"),pr=r("code"),$l=i("text_column"),El=i(" \xE9 o texto de entrada para sumariza\xE7\xE3o."),bl=p(),ra=r("li"),cr=r("code"),xl=i("summary_column"),wl=i(" \xE9 o texto de destino para sa\xEDda."),vo=p(),oa=r("p"),zl=i("Um script para sumariza\xE7\xE3o usando um conjunto de dados customizado ficaria assim:"),go=p(),x(lt.$$.fragment),$o=p(),me=r("h2"),Pe=r("a"),dr=r("span"),x(nt.$$.fragment),yl=p(),fr=r("span"),ql=i("Testando um script"),Eo=p(),sa=r("p"),Pl=i("Geralmente, \xE9 uma boa ideia executar seu script em um n\xFAmero menor de exemplos de conjuntos de dados para garantir que tudo funcione conforme o esperado antes de se comprometer com um conjunto de dados inteiro, que pode levar horas para ser conclu\xEDdo. Use os seguintes argumentos para truncar o conjunto de dados para um n\xFAmero m\xE1ximo de amostras:"),bo=p(),W=r("ul"),_r=r("li"),hr=r("code"),Al=i("max_train_samples"),kl=p(),vr=r("li"),gr=r("code"),Tl=i("max_eval_samples"),jl=p(),$r=r("li"),Er=r("code"),Ol=i("max_predict_samples"),xo=p(),x(mt.$$.fragment),wo=p(),Z=r("p"),Cl=i("Nem todos os scripts de exemplo suportam o argumento "),br=r("code"),Ul=i("max_predict_samples"),Ll=i(". Se voc\xEA n\xE3o tiver certeza se seu script suporta este argumento, adicione o argumento "),xr=r("code"),Dl=i("-h"),Il=i(" para verificar:"),zo=p(),x(ut.$$.fragment),yo=p(),ue=r("h2"),Ae=r("a"),wr=r("span"),x(pt.$$.fragment),Nl=p(),zr=r("span"),Sl=i("Retomar o treinamento a partir de um checkpoint"),qo=p(),ia=r("p"),Fl=i("Outra op\xE7\xE3o \xFAtil para habilitar \xE9 retomar o treinamento de um checkpoint anterior. Isso garantir\xE1 que voc\xEA possa continuar de onde parou sem recome\xE7ar se o seu treinamento for interrompido. Existem dois m\xE9todos para retomar o treinamento a partir de um checkpoint."),Po=p(),B=r("p"),Ml=i("O primeiro m\xE9todo usa o argumento "),yr=r("code"),Hl=i("output_dir previous_output_dir"),Rl=i(" para retomar o treinamento do \xFAltimo checkpoint armazenado em "),qr=r("code"),Gl=i("output_dir"),Jl=i(". Neste caso, voc\xEA deve remover "),Pr=r("code"),Vl=i("overwrite_output_dir"),Xl=i(":"),Ao=p(),x(ct.$$.fragment),ko=p(),ke=r("p"),Bl=i("O segundo m\xE9todo usa o argumento "),Ar=r("code"),Kl=i("resume_from_checkpoint path_to_specific_checkpoint"),Ql=i(" para retomar o treinamento de uma pasta de checkpoint espec\xEDfica."),To=p(),x(dt.$$.fragment),jo=p(),pe=r("h2"),Te=r("a"),kr=r("span"),x(ft.$$.fragment),Yl=p(),Tr=r("span"),Wl=i("Compartilhando seu modelo"),Oo=p(),je=r("p"),Zl=i("Todos os scripts podem enviar seu modelo final para o "),_t=r("a"),en=i("Model Hub"),tn=i(". Certifique-se de estar conectado ao Hugging Face antes de come\xE7ar:"),Co=p(),x(ht.$$.fragment),Uo=p(),ee=r("p"),an=i("Em seguida, adicione o argumento "),jr=r("code"),rn=i("push_to_hub"),on=i(" ao script. Este argumento criar\xE1 um reposit\xF3rio com seu nome de usu\xE1rio do Hugging Face e o nome da pasta especificado em "),Or=r("code"),sn=i("output_dir"),ln=i("."),Lo=p(),Oe=r("p"),nn=i("Para dar um nome espec\xEDfico ao seu reposit\xF3rio, use o argumento "),Cr=r("code"),mn=i("push_to_hub_model_id"),un=i(" para adicion\xE1-lo. O reposit\xF3rio ser\xE1 listado automaticamente em seu namespace."),Do=p(),la=r("p"),pn=i("O exemplo a seguir mostra como fazer upload de um modelo com um nome de reposit\xF3rio espec\xEDfico:"),Io=p(),x(vt.$$.fragment),this.h()},l(e){const n=Xu('[data-svelte="svelte-1phssyn"]',document.head);d=o(n,"META",{name:!0,content:!0}),n.forEach(a),$=c(e),f=o(e,"H1",{class:!0});var gt=s(f);v=o(gt,"A",{id:!0,class:!0,href:!0});var Ur=s(v);T=o(Ur,"SPAN",{});var fn=s(T);w(b.$$.fragment,fn),fn.forEach(a),Ur.forEach(a),N=c(gt),S=o(gt,"SPAN",{});var _n=s(S);C=l(_n,"Treinamento a partir de um script"),_n.forEach(a),gt.forEach(a),F=c(e),A=o(e,"P",{});var te=s(A);U=l(te,"Junto com os \u{1F917} Transformers "),k=o(te,"A",{href:!0});var hn=s(k);L=l(hn,"notebooks"),hn.forEach(a),I=l(te,", tamb\xE9m h\xE1 scripts de exemplo demonstrando como treinar um modelo para uma tarefa com "),j=o(te,"A",{href:!0,rel:!0});var vn=s(j);M=l(vn,"PyTorch"),vn.forEach(a),E=l(te,", "),g=o(te,"A",{href:!0,rel:!0});var gn=s(g);G=l(gn,"TensorFlow"),gn.forEach(a),D=l(te," ou "),O=o(te,"A",{href:!0,rel:!0});var $n=s(O);V=l($n,"JAX/Flax"),$n.forEach(a),$t=l(te,"."),te.forEach(a),Le=c(e),J=o(e,"P",{});var na=s(J);Et=l(na,"Voc\xEA tamb\xE9m encontrar\xE1 scripts que usamos em nossos "),De=o(na,"A",{href:!0,rel:!0});var En=s(De);ls=l(En,"projetos de pesquisa"),En.forEach(a),ns=l(na," e "),Ie=o(na,"A",{href:!0,rel:!0});var bn=s(Ie);ms=l(bn,"exemplos legados"),bn.forEach(a),us=l(na," que s\xE3o principalmente contribui\xE7\xF5es da comunidade. Esses scripts n\xE3o s\xE3o mantidos ativamente e exigem uma vers\xE3o espec\xEDfica de \u{1F917} Transformers que provavelmente ser\xE1 incompat\xEDvel com a vers\xE3o mais recente da biblioteca."),na.forEach(a),Dr=c(e),bt=o(e,"P",{});var xn=s(bt);ps=l(xn,"N\xE3o se espera que os scripts de exemplo funcionem imediatamente em todos os problemas, voc\xEA pode precisar adaptar o script ao problema que est\xE1 tentando resolver. Para ajud\xE1-lo com isso, a maioria dos scripts exp\xF5e totalmente como os dados s\xE3o pr\xE9-processados, permitindo que voc\xEA os edite conforme necess\xE1rio para seu caso de uso."),xn.forEach(a),Ir=c(e),K=o(e,"P",{});var ma=s(K);cs=l(ma,"Para qualquer recurso que voc\xEA gostaria de implementar em um script de exemplo, discuta-o no "),Ne=o(ma,"A",{href:!0,rel:!0});var wn=s(Ne);ds=l(wn,"f\xF3rum"),wn.forEach(a),fs=l(ma," ou em uma "),Se=o(ma,"A",{href:!0,rel:!0});var zn=s(Se);_s=l(zn,"issue"),zn.forEach(a),hs=l(ma," antes de enviar um Pull Request. Embora recebamos corre\xE7\xF5es de bugs, \xE9 improv\xE1vel que mesclaremos um Pull Request que adicione mais funcionalidades ao custo de legibilidade."),ma.forEach(a),Nr=c(e),Q=o(e,"P",{});var ua=s(Q);vs=l(ua,"Este guia mostrar\xE1 como executar um exemplo de script de treinamento de sumariza\xE7\xE3o em "),Fe=o(ua,"A",{href:!0,rel:!0});var yn=s(Fe);gs=l(yn,"PyTorch"),yn.forEach(a),$s=l(ua," e "),Me=o(ua,"A",{href:!0,rel:!0});var qn=s(Me);Es=l(qn,"TensorFlow"),qn.forEach(a),bs=l(ua,". Espera-se que todos os exemplos funcionem com ambas as estruturas, a menos que especificado de outra forma."),ua.forEach(a),Sr=c(e),re=o(e,"H2",{class:!0});var So=s(re);ce=o(So,"A",{id:!0,class:!0,href:!0});var Pn=s(ce);_a=o(Pn,"SPAN",{});var An=s(_a);w(He.$$.fragment,An),An.forEach(a),Pn.forEach(a),xs=c(So),ha=o(So,"SPAN",{});var kn=s(ha);ws=l(kn,"Configura\xE7\xE3o"),kn.forEach(a),So.forEach(a),Fr=c(e),de=o(e,"P",{});var Fo=s(de);zs=l(Fo,"Para executar com \xEAxito a vers\xE3o mais recente dos scripts de exemplo, voc\xEA precisa "),va=o(Fo,"STRONG",{});var Tn=s(va);ys=l(Tn,"instalar o \u{1F917} Transformers da fonte"),Tn.forEach(a),qs=l(Fo," em um novo ambiente virtual:"),Fo.forEach(a),Mr=c(e),w(Re.$$.fragment,e),Hr=c(e),xt=o(e,"P",{});var jn=s(xt);Ps=l(jn,"Para vers\xF5es mais antigas dos scripts de exemplo, clique no bot\xE3o abaixo:"),jn.forEach(a),Rr=c(e),fe=o(e,"DETAILS",{});var Mo=s(fe);ga=o(Mo,"SUMMARY",{});var On=s(ga);As=l(On,"Exemplos para vers\xF5es antigas dos \u{1F917} Transformers"),On.forEach(a),ks=c(Mo),_=o(Mo,"UL",{});var h=s(_);$a=o(h,"LI",{});var Cn=s($a);wt=o(Cn,"A",{href:!0});var Un=s(wt);Ts=l(Un,"v4.5.1"),Un.forEach(a),Cn.forEach(a),js=c(h),Ea=o(h,"LI",{});var Ln=s(Ea);zt=o(Ln,"A",{href:!0});var Dn=s(zt);Os=l(Dn,"v4.4.2"),Dn.forEach(a),Ln.forEach(a),Cs=c(h),ba=o(h,"LI",{});var In=s(ba);yt=o(In,"A",{href:!0});var Nn=s(yt);Us=l(Nn,"v4.3.3"),Nn.forEach(a),In.forEach(a),Ls=c(h),xa=o(h,"LI",{});var Sn=s(xa);qt=o(Sn,"A",{href:!0});var Fn=s(qt);Ds=l(Fn,"v4.2.2"),Fn.forEach(a),Sn.forEach(a),Is=c(h),wa=o(h,"LI",{});var Mn=s(wa);Pt=o(Mn,"A",{href:!0});var Hn=s(Pt);Ns=l(Hn,"v4.1.1"),Hn.forEach(a),Mn.forEach(a),Ss=c(h),za=o(h,"LI",{});var Rn=s(za);At=o(Rn,"A",{href:!0});var Gn=s(At);Fs=l(Gn,"v4.0.1"),Gn.forEach(a),Rn.forEach(a),Ms=c(h),ya=o(h,"LI",{});var Jn=s(ya);kt=o(Jn,"A",{href:!0});var Vn=s(kt);Hs=l(Vn,"v3.5.1"),Vn.forEach(a),Jn.forEach(a),Rs=c(h),qa=o(h,"LI",{});var Xn=s(qa);Tt=o(Xn,"A",{href:!0});var Bn=s(Tt);Gs=l(Bn,"v3.4.0"),Bn.forEach(a),Xn.forEach(a),Js=c(h),Pa=o(h,"LI",{});var Kn=s(Pa);jt=o(Kn,"A",{href:!0});var Qn=s(jt);Vs=l(Qn,"v3.3.1"),Qn.forEach(a),Kn.forEach(a),Xs=c(h),Aa=o(h,"LI",{});var Yn=s(Aa);Ot=o(Yn,"A",{href:!0});var Wn=s(Ot);Bs=l(Wn,"v3.2.0"),Wn.forEach(a),Yn.forEach(a),Ks=c(h),ka=o(h,"LI",{});var Zn=s(ka);Ct=o(Zn,"A",{href:!0});var em=s(Ct);Qs=l(em,"v3.1.0"),em.forEach(a),Zn.forEach(a),Ys=c(h),Ta=o(h,"LI",{});var tm=s(Ta);Ut=o(tm,"A",{href:!0});var am=s(Ut);Ws=l(am,"v3.0.2"),am.forEach(a),tm.forEach(a),Zs=c(h),ja=o(h,"LI",{});var rm=s(ja);Lt=o(rm,"A",{href:!0});var om=s(Lt);ei=l(om,"v2.11.0"),om.forEach(a),rm.forEach(a),ti=c(h),Oa=o(h,"LI",{});var sm=s(Oa);Dt=o(sm,"A",{href:!0});var im=s(Dt);ai=l(im,"v2.10.0"),im.forEach(a),sm.forEach(a),ri=c(h),Ca=o(h,"LI",{});var lm=s(Ca);It=o(lm,"A",{href:!0});var nm=s(It);oi=l(nm,"v2.9.1"),nm.forEach(a),lm.forEach(a),si=c(h),Ua=o(h,"LI",{});var mm=s(Ua);Nt=o(mm,"A",{href:!0});var um=s(Nt);ii=l(um,"v2.8.0"),um.forEach(a),mm.forEach(a),li=c(h),La=o(h,"LI",{});var pm=s(La);St=o(pm,"A",{href:!0});var cm=s(St);ni=l(cm,"v2.7.0"),cm.forEach(a),pm.forEach(a),mi=c(h),Da=o(h,"LI",{});var dm=s(Da);Ft=o(dm,"A",{href:!0});var fm=s(Ft);ui=l(fm,"v2.6.0"),fm.forEach(a),dm.forEach(a),pi=c(h),Ia=o(h,"LI",{});var _m=s(Ia);Mt=o(_m,"A",{href:!0});var hm=s(Mt);ci=l(hm,"v2.5.1"),hm.forEach(a),_m.forEach(a),di=c(h),Na=o(h,"LI",{});var vm=s(Na);Ht=o(vm,"A",{href:!0});var gm=s(Ht);fi=l(gm,"v2.4.0"),gm.forEach(a),vm.forEach(a),_i=c(h),Sa=o(h,"LI",{});var $m=s(Sa);Rt=o($m,"A",{href:!0});var Em=s(Rt);hi=l(Em,"v2.3.0"),Em.forEach(a),$m.forEach(a),vi=c(h),Fa=o(h,"LI",{});var bm=s(Fa);Gt=o(bm,"A",{href:!0});var xm=s(Gt);gi=l(xm,"v2.2.0"),xm.forEach(a),bm.forEach(a),$i=c(h),Ma=o(h,"LI",{});var wm=s(Ma);Jt=o(wm,"A",{href:!0});var zm=s(Jt);Ei=l(zm,"v2.1.1"),zm.forEach(a),wm.forEach(a),bi=c(h),Ha=o(h,"LI",{});var ym=s(Ha);Vt=o(ym,"A",{href:!0});var qm=s(Vt);xi=l(qm,"v2.0.0"),qm.forEach(a),ym.forEach(a),wi=c(h),Ra=o(h,"LI",{});var Pm=s(Ra);Xt=o(Pm,"A",{href:!0});var Am=s(Xt);zi=l(Am,"v1.2.0"),Am.forEach(a),Pm.forEach(a),yi=c(h),Ga=o(h,"LI",{});var km=s(Ga);Bt=o(km,"A",{href:!0});var Tm=s(Bt);qi=l(Tm,"v1.1.0"),Tm.forEach(a),km.forEach(a),Pi=c(h),Ja=o(h,"LI",{});var jm=s(Ja);Kt=o(jm,"A",{href:!0});var Om=s(Kt);Ai=l(Om,"v1.0.0"),Om.forEach(a),jm.forEach(a),h.forEach(a),Mo.forEach(a),Gr=c(e),Qt=o(e,"P",{});var Cm=s(Qt);ki=l(Cm,"Em seguida, mude seu clone atual dos \u{1F917} Transformers para uma vers\xE3o espec\xEDfica, como v3.5.1, por exemplo:"),Cm.forEach(a),Jr=c(e),w(Ge.$$.fragment,e),Vr=c(e),Yt=o(e,"P",{});var Um=s(Yt);Ti=l(Um,"Depois de configurar a vers\xE3o correta da biblioteca, navegue at\xE9 a pasta de exemplo de sua escolha e instale os requisitos espec\xEDficos do exemplo:"),Um.forEach(a),Xr=c(e),w(Je.$$.fragment,e),Br=c(e),oe=o(e,"H2",{class:!0});var Ho=s(oe);_e=o(Ho,"A",{id:!0,class:!0,href:!0});var Lm=s(_e);Va=o(Lm,"SPAN",{});var Dm=s(Va);w(Ve.$$.fragment,Dm),Dm.forEach(a),Lm.forEach(a),ji=c(Ho),Xa=o(Ho,"SPAN",{});var Im=s(Xa);Oi=l(Im,"Executando um script"),Im.forEach(a),Ho.forEach(a),Kr=c(e),w(he.$$.fragment,e),Qr=c(e),se=o(e,"H2",{class:!0});var Ro=s(se);ve=o(Ro,"A",{id:!0,class:!0,href:!0});var Nm=s(ve);Ba=o(Nm,"SPAN",{});var Sm=s(Ba);w(Xe.$$.fragment,Sm),Sm.forEach(a),Nm.forEach(a),Ci=c(Ro),Ka=o(Ro,"SPAN",{});var Fm=s(Ka);Ui=l(Fm,"Treinamento distribu\xEDdo e precis\xE3o mista"),Fm.forEach(a),Ro.forEach(a),Yr=c(e),ge=o(e,"P",{});var Go=s(ge);Li=l(Go,"O "),Be=o(Go,"A",{href:!0,rel:!0});var Mm=s(Be);Di=l(Mm,"Trainer"),Mm.forEach(a),Ii=l(Go," oferece suporte a treinamento distribu\xEDdo e precis\xE3o mista, o que significa que voc\xEA tamb\xE9m pode us\xE1-lo em um script. Para habilitar esses dois recursos:"),Go.forEach(a),Wr=c(e),$e=o(e,"UL",{});var Jo=s($e);Ke=o(Jo,"LI",{});var Vo=s(Ke);Ni=l(Vo,"Adicione o argumento "),Qa=o(Vo,"CODE",{});var Hm=s(Qa);Si=l(Hm,"fp16"),Hm.forEach(a),Fi=l(Vo," para habilitar a precis\xE3o mista."),Vo.forEach(a),Mi=c(Jo),Qe=o(Jo,"LI",{});var Xo=s(Qe);Hi=l(Xo,"Defina o n\xFAmero de GPUs a serem usadas com o argumento "),Ya=o(Xo,"CODE",{});var Rm=s(Ya);Ri=l(Rm,"nproc_per_node"),Rm.forEach(a),Gi=l(Xo,"."),Xo.forEach(a),Jo.forEach(a),Zr=c(e),w(Ye.$$.fragment,e),eo=c(e),Ee=o(e,"P",{});var Bo=s(Ee);Ji=l(Bo,"Os scripts do TensorFlow utilizam um "),We=o(Bo,"A",{href:!0,rel:!0});var Gm=s(We);Wa=o(Gm,"CODE",{});var Jm=s(Wa);Vi=l(Jm,"MirroredStrategy"),Jm.forEach(a),Gm.forEach(a),Xi=l(Bo," para treinamento distribu\xEDdo, e voc\xEA n\xE3o precisa adicionar argumentos adicionais ao script de treinamento. O script do TensorFlow usar\xE1 v\xE1rias GPUs por padr\xE3o, se estiverem dispon\xEDveis."),Bo.forEach(a),to=c(e),ie=o(e,"H2",{class:!0});var Ko=s(ie);be=o(Ko,"A",{id:!0,class:!0,href:!0});var Vm=s(be);Za=o(Vm,"SPAN",{});var Xm=s(Za);w(Ze.$$.fragment,Xm),Xm.forEach(a),Vm.forEach(a),Bi=c(Ko),er=o(Ko,"SPAN",{});var Bm=s(er);Ki=l(Bm,"Executando um script em uma TPU"),Bm.forEach(a),Ko.forEach(a),ao=c(e),w(xe.$$.fragment,e),ro=c(e),le=o(e,"H2",{class:!0});var Qo=s(le);we=o(Qo,"A",{id:!0,class:!0,href:!0});var Km=s(we);tr=o(Km,"SPAN",{});var Qm=s(tr);w(et.$$.fragment,Qm),Qm.forEach(a),Km.forEach(a),Qi=c(Qo),ar=o(Qo,"SPAN",{});var Ym=s(ar);Yi=l(Ym,"Execute um script com \u{1F917} Accelerate"),Ym.forEach(a),Qo.forEach(a),oo=c(e),ze=o(e,"P",{});var Yo=s(ze);Wi=l(Yo,"\u{1F917} "),tt=o(Yo,"A",{href:!0,rel:!0});var Wm=s(tt);Zi=l(Wm,"Accelerate"),Wm.forEach(a),el=l(Yo," \xE9 uma biblioteca somente do PyTorch que oferece um m\xE9todo unificado para treinar um modelo em v\xE1rios tipos de configura\xE7\xF5es (CPU, multiplas GPUs, TPUs), mantendo visibilidade no loop de treinamento do PyTorch. Certifique-se de ter o \u{1F917} Accelerate instalado se ainda n\xE3o o tiver:"),Yo.forEach(a),so=c(e),Wt=o(e,"BLOCKQUOTE",{});var Zm=s(Wt);rr=o(Zm,"P",{});var eu=s(rr);tl=l(eu,"Nota: Como o Accelerate est\xE1 se desenvolvendo rapidamente, a vers\xE3o git do Accelerate deve ser instalada para executar os scripts"),eu.forEach(a),Zm.forEach(a),io=c(e),w(at.$$.fragment,e),lo=c(e),X=o(e,"P",{});var Ce=s(X);al=l(Ce,"Em vez do script "),or=o(Ce,"CODE",{});var tu=s(or);rl=l(tu,"run_summarization.py"),tu.forEach(a),ol=l(Ce,", voc\xEA precisa usar o script "),sr=o(Ce,"CODE",{});var au=s(sr);sl=l(au,"run_summarization_no_trainer.py"),au.forEach(a),il=l(Ce,". Os scripts suportados pelo \u{1F917} Accelerate ter\xE3o um arquivo "),ir=o(Ce,"CODE",{});var ru=s(ir);ll=l(ru,"task_no_trainer.py"),ru.forEach(a),nl=l(Ce," na pasta. Comece executando o seguinte comando para criar e salvar um arquivo de configura\xE7\xE3o:"),Ce.forEach(a),no=c(e),w(rt.$$.fragment,e),mo=c(e),Zt=o(e,"P",{});var ou=s(Zt);ml=l(ou,"Teste sua configura\xE7\xE3o para garantir que ela esteja corretamente configurada :"),ou.forEach(a),uo=c(e),w(ot.$$.fragment,e),po=c(e),ea=o(e,"P",{});var su=s(ea);ul=l(su,"Agora voc\xEA est\xE1 pronto para iniciar o treinamento:"),su.forEach(a),co=c(e),w(st.$$.fragment,e),fo=c(e),ne=o(e,"H2",{class:!0});var Wo=s(ne);ye=o(Wo,"A",{id:!0,class:!0,href:!0});var iu=s(ye);lr=o(iu,"SPAN",{});var lu=s(lr);w(it.$$.fragment,lu),lu.forEach(a),iu.forEach(a),pl=c(Wo),nr=o(Wo,"SPAN",{});var nu=s(nr);cl=l(nu,"Usando um conjunto de dados personalizado"),nu.forEach(a),Wo.forEach(a),_o=c(e),ta=o(e,"P",{});var mu=s(ta);dl=l(mu,"O script de resumo oferece suporte a conjuntos de dados personalizados, desde que sejam um arquivo CSV ou JSON. Ao usar seu pr\xF3prio conjunto de dados, voc\xEA precisa especificar v\xE1rios argumentos adicionais:"),mu.forEach(a),ho=c(e),Y=o(e,"UL",{});var pa=s(Y);qe=o(pa,"LI",{});var Lr=s(qe);mr=o(Lr,"CODE",{});var uu=s(mr);fl=l(uu,"train_file"),uu.forEach(a),_l=l(Lr," e "),ur=o(Lr,"CODE",{});var pu=s(ur);hl=l(pu,"validation_file"),pu.forEach(a),vl=l(Lr," especificam o caminho para seus arquivos de treinamento e valida\xE7\xE3o respectivamente."),Lr.forEach(a),gl=c(pa),aa=o(pa,"LI",{});var cn=s(aa);pr=o(cn,"CODE",{});var cu=s(pr);$l=l(cu,"text_column"),cu.forEach(a),El=l(cn," \xE9 o texto de entrada para sumariza\xE7\xE3o."),cn.forEach(a),bl=c(pa),ra=o(pa,"LI",{});var dn=s(ra);cr=o(dn,"CODE",{});var du=s(cr);xl=l(du,"summary_column"),du.forEach(a),wl=l(dn," \xE9 o texto de destino para sa\xEDda."),dn.forEach(a),pa.forEach(a),vo=c(e),oa=o(e,"P",{});var fu=s(oa);zl=l(fu,"Um script para sumariza\xE7\xE3o usando um conjunto de dados customizado ficaria assim:"),fu.forEach(a),go=c(e),w(lt.$$.fragment,e),$o=c(e),me=o(e,"H2",{class:!0});var Zo=s(me);Pe=o(Zo,"A",{id:!0,class:!0,href:!0});var _u=s(Pe);dr=o(_u,"SPAN",{});var hu=s(dr);w(nt.$$.fragment,hu),hu.forEach(a),_u.forEach(a),yl=c(Zo),fr=o(Zo,"SPAN",{});var vu=s(fr);ql=l(vu,"Testando um script"),vu.forEach(a),Zo.forEach(a),Eo=c(e),sa=o(e,"P",{});var gu=s(sa);Pl=l(gu,"Geralmente, \xE9 uma boa ideia executar seu script em um n\xFAmero menor de exemplos de conjuntos de dados para garantir que tudo funcione conforme o esperado antes de se comprometer com um conjunto de dados inteiro, que pode levar horas para ser conclu\xEDdo. Use os seguintes argumentos para truncar o conjunto de dados para um n\xFAmero m\xE1ximo de amostras:"),gu.forEach(a),bo=c(e),W=o(e,"UL",{});var ca=s(W);_r=o(ca,"LI",{});var $u=s(_r);hr=o($u,"CODE",{});var Eu=s(hr);Al=l(Eu,"max_train_samples"),Eu.forEach(a),$u.forEach(a),kl=c(ca),vr=o(ca,"LI",{});var bu=s(vr);gr=o(bu,"CODE",{});var xu=s(gr);Tl=l(xu,"max_eval_samples"),xu.forEach(a),bu.forEach(a),jl=c(ca),$r=o(ca,"LI",{});var wu=s($r);Er=o(wu,"CODE",{});var zu=s(Er);Ol=l(zu,"max_predict_samples"),zu.forEach(a),wu.forEach(a),ca.forEach(a),xo=c(e),w(mt.$$.fragment,e),wo=c(e),Z=o(e,"P",{});var da=s(Z);Cl=l(da,"Nem todos os scripts de exemplo suportam o argumento "),br=o(da,"CODE",{});var yu=s(br);Ul=l(yu,"max_predict_samples"),yu.forEach(a),Ll=l(da,". Se voc\xEA n\xE3o tiver certeza se seu script suporta este argumento, adicione o argumento "),xr=o(da,"CODE",{});var qu=s(xr);Dl=l(qu,"-h"),qu.forEach(a),Il=l(da," para verificar:"),da.forEach(a),zo=c(e),w(ut.$$.fragment,e),yo=c(e),ue=o(e,"H2",{class:!0});var es=s(ue);Ae=o(es,"A",{id:!0,class:!0,href:!0});var Pu=s(Ae);wr=o(Pu,"SPAN",{});var Au=s(wr);w(pt.$$.fragment,Au),Au.forEach(a),Pu.forEach(a),Nl=c(es),zr=o(es,"SPAN",{});var ku=s(zr);Sl=l(ku,"Retomar o treinamento a partir de um checkpoint"),ku.forEach(a),es.forEach(a),qo=c(e),ia=o(e,"P",{});var Tu=s(ia);Fl=l(Tu,"Outra op\xE7\xE3o \xFAtil para habilitar \xE9 retomar o treinamento de um checkpoint anterior. Isso garantir\xE1 que voc\xEA possa continuar de onde parou sem recome\xE7ar se o seu treinamento for interrompido. Existem dois m\xE9todos para retomar o treinamento a partir de um checkpoint."),Tu.forEach(a),Po=c(e),B=o(e,"P",{});var Ue=s(B);Ml=l(Ue,"O primeiro m\xE9todo usa o argumento "),yr=o(Ue,"CODE",{});var ju=s(yr);Hl=l(ju,"output_dir previous_output_dir"),ju.forEach(a),Rl=l(Ue," para retomar o treinamento do \xFAltimo checkpoint armazenado em "),qr=o(Ue,"CODE",{});var Ou=s(qr);Gl=l(Ou,"output_dir"),Ou.forEach(a),Jl=l(Ue,". Neste caso, voc\xEA deve remover "),Pr=o(Ue,"CODE",{});var Cu=s(Pr);Vl=l(Cu,"overwrite_output_dir"),Cu.forEach(a),Xl=l(Ue,":"),Ue.forEach(a),Ao=c(e),w(ct.$$.fragment,e),ko=c(e),ke=o(e,"P",{});var ts=s(ke);Bl=l(ts,"O segundo m\xE9todo usa o argumento "),Ar=o(ts,"CODE",{});var Uu=s(Ar);Kl=l(Uu,"resume_from_checkpoint path_to_specific_checkpoint"),Uu.forEach(a),Ql=l(ts," para retomar o treinamento de uma pasta de checkpoint espec\xEDfica."),ts.forEach(a),To=c(e),w(dt.$$.fragment,e),jo=c(e),pe=o(e,"H2",{class:!0});var as=s(pe);Te=o(as,"A",{id:!0,class:!0,href:!0});var Lu=s(Te);kr=o(Lu,"SPAN",{});var Du=s(kr);w(ft.$$.fragment,Du),Du.forEach(a),Lu.forEach(a),Yl=c(as),Tr=o(as,"SPAN",{});var Iu=s(Tr);Wl=l(Iu,"Compartilhando seu modelo"),Iu.forEach(a),as.forEach(a),Oo=c(e),je=o(e,"P",{});var rs=s(je);Zl=l(rs,"Todos os scripts podem enviar seu modelo final para o "),_t=o(rs,"A",{href:!0,rel:!0});var Nu=s(_t);en=l(Nu,"Model Hub"),Nu.forEach(a),tn=l(rs,". Certifique-se de estar conectado ao Hugging Face antes de come\xE7ar:"),rs.forEach(a),Co=c(e),w(ht.$$.fragment,e),Uo=c(e),ee=o(e,"P",{});var fa=s(ee);an=l(fa,"Em seguida, adicione o argumento "),jr=o(fa,"CODE",{});var Su=s(jr);rn=l(Su,"push_to_hub"),Su.forEach(a),on=l(fa," ao script. Este argumento criar\xE1 um reposit\xF3rio com seu nome de usu\xE1rio do Hugging Face e o nome da pasta especificado em "),Or=o(fa,"CODE",{});var Fu=s(Or);sn=l(Fu,"output_dir"),Fu.forEach(a),ln=l(fa,"."),fa.forEach(a),Lo=c(e),Oe=o(e,"P",{});var os=s(Oe);nn=l(os,"Para dar um nome espec\xEDfico ao seu reposit\xF3rio, use o argumento "),Cr=o(os,"CODE",{});var Mu=s(Cr);mn=l(Mu,"push_to_hub_model_id"),Mu.forEach(a),un=l(os," para adicion\xE1-lo. O reposit\xF3rio ser\xE1 listado automaticamente em seu namespace."),os.forEach(a),Do=c(e),la=o(e,"P",{});var Hu=s(la);pn=l(Hu,"O exemplo a seguir mostra como fazer upload de um modelo com um nome de reposit\xF3rio espec\xEDfico:"),Hu.forEach(a),Io=c(e),w(vt.$$.fragment,e),this.h()},h(){m(d,"name","hf:doc:metadata"),m(d,"content",JSON.stringify(op)),m(v,"id","treinamento-a-partir-de-um-script"),m(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"),m(v,"href","#treinamento-a-partir-de-um-script"),m(f,"class","relative group"),m(k,"href","./noteboks/README"),m(j,"href","https://github.com/huggingface/transformers/tree/main/examples/pytorch"),m(j,"rel","nofollow"),m(g,"href","https://github.com/huggingface/transformers/tree/main/examples/tensorflow"),m(g,"rel","nofollow"),m(O,"href","https://github.com/huggingface/transformers/tree/main/examples/flax"),m(O,"rel","nofollow"),m(De,"href","https://github.com/huggingface/transformers/tree/main/examples/research_projects"),m(De,"rel","nofollow"),m(Ie,"href","https://github.com/huggingface/transformers/tree/main/examples/legacy"),m(Ie,"rel","nofollow"),m(Ne,"href","https://discuss.huggingface.co/"),m(Ne,"rel","nofollow"),m(Se,"href","https://github.com/huggingface/transformers/issues"),m(Se,"rel","nofollow"),m(Fe,"href","https://github.com/huggingface/transformers/tree/main/examples/pytorch/summarization"),m(Fe,"rel","nofollow"),m(Me,"href","https://github.com/huggingface/transformers/tree/main/examples/tensorflow/summarization"),m(Me,"rel","nofollow"),m(ce,"id","configurao"),m(ce,"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(ce,"href","#configurao"),m(re,"class","relative group"),m(wt,"href","https://github.com/huggingface/transformers/tree/v4.5.1/examples"),m(zt,"href","https://github.com/huggingface/transformers/tree/v4.4.2/examples"),m(yt,"href","https://github.com/huggingface/transformers/tree/v4.3.3/examples"),m(qt,"href","https://github.com/huggingface/transformers/tree/v4.2.2/examples"),m(Pt,"href","https://github.com/huggingface/transformers/tree/v4.1.1/examples"),m(At,"href","https://github.com/huggingface/transformers/tree/v4.0.1/examples"),m(kt,"href","https://github.com/huggingface/transformers/tree/v3.5.1/examples"),m(Tt,"href","https://github.com/huggingface/transformers/tree/v3.4.0/examples"),m(jt,"href","https://github.com/huggingface/transformers/tree/v3.3.1/examples"),m(Ot,"href","https://github.com/huggingface/transformers/tree/v3.2.0/examples"),m(Ct,"href","https://github.com/huggingface/transformers/tree/v3.1.0/examples"),m(Ut,"href","https://github.com/huggingface/transformers/tree/v3.0.2/examples"),m(Lt,"href","https://github.com/huggingface/transformers/tree/v2.11.0/examples"),m(Dt,"href","https://github.com/huggingface/transformers/tree/v2.10.0/examples"),m(It,"href","https://github.com/huggingface/transformers/tree/v2.9.1/examples"),m(Nt,"href","https://github.com/huggingface/transformers/tree/v2.8.0/examples"),m(St,"href","https://github.com/huggingface/transformers/tree/v2.7.0/examples"),m(Ft,"href","https://github.com/huggingface/transformers/tree/v2.6.0/examples"),m(Mt,"href","https://github.com/huggingface/transformers/tree/v2.5.1/examples"),m(Ht,"href","https://github.com/huggingface/transformers/tree/v2.4.0/examples"),m(Rt,"href","https://github.com/huggingface/transformers/tree/v2.3.0/examples"),m(Gt,"href","https://github.com/huggingface/transformers/tree/v2.2.0/examples"),m(Jt,"href","https://github.com/huggingface/transformers/tree/v2.1.0/examples"),m(Vt,"href","https://github.com/huggingface/transformers/tree/v2.0.0/examples"),m(Xt,"href","https://github.com/huggingface/transformers/tree/v1.2.0/examples"),m(Bt,"href","https://github.com/huggingface/transformers/tree/v1.1.0/examples"),m(Kt,"href","https://github.com/huggingface/transformers/tree/v1.0.0/examples"),m(_e,"id","executando-um-script"),m(_e,"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(_e,"href","#executando-um-script"),m(oe,"class","relative group"),m(ve,"id","treinamento-distribudo-e-preciso-mista"),m(ve,"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(ve,"href","#treinamento-distribudo-e-preciso-mista"),m(se,"class","relative group"),m(Be,"href","https://huggingface.co/docs/transformers/main_classes/trainer"),m(Be,"rel","nofollow"),m(We,"href","https://www.tensorflow.org/guide/distributed_training#mirroredstrategy"),m(We,"rel","nofollow"),m(be,"id","executando-um-script-em-uma-tpu"),m(be,"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(be,"href","#executando-um-script-em-uma-tpu"),m(ie,"class","relative group"),m(we,"id","execute-um-script-com-accelerate"),m(we,"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(we,"href","#execute-um-script-com-accelerate"),m(le,"class","relative group"),m(tt,"href","https://huggingface.co/docs/accelerate"),m(tt,"rel","nofollow"),m(ye,"id","usando-um-conjunto-de-dados-personalizado"),m(ye,"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(ye,"href","#usando-um-conjunto-de-dados-personalizado"),m(ne,"class","relative group"),m(Pe,"id","testando-um-script"),m(Pe,"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(Pe,"href","#testando-um-script"),m(me,"class","relative group"),m(Ae,"id","retomar-o-treinamento-a-partir-de-um-checkpoint"),m(Ae,"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(Ae,"href","#retomar-o-treinamento-a-partir-de-um-checkpoint"),m(ue,"class","relative group"),m(Te,"id","compartilhando-seu-modelo"),m(Te,"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(Te,"href","#compartilhando-seu-modelo"),m(pe,"class","relative group"),m(_t,"href","https://huggingface.co/models"),m(_t,"rel","nofollow")},m(e,n){t(document.head,d),u(e,$,n),u(e,f,n),t(f,v),t(v,T),z(b,T,null),t(f,N),t(f,S),t(S,C),u(e,F,n),u(e,A,n),t(A,U),t(A,k),t(k,L),t(A,I),t(A,j),t(j,M),t(A,E),t(A,g),t(g,G),t(A,D),t(A,O),t(O,V),t(A,$t),u(e,Le,n),u(e,J,n),t(J,Et),t(J,De),t(De,ls),t(J,ns),t(J,Ie),t(Ie,ms),t(J,us),u(e,Dr,n),u(e,bt,n),t(bt,ps),u(e,Ir,n),u(e,K,n),t(K,cs),t(K,Ne),t(Ne,ds),t(K,fs),t(K,Se),t(Se,_s),t(K,hs),u(e,Nr,n),u(e,Q,n),t(Q,vs),t(Q,Fe),t(Fe,gs),t(Q,$s),t(Q,Me),t(Me,Es),t(Q,bs),u(e,Sr,n),u(e,re,n),t(re,ce),t(ce,_a),z(He,_a,null),t(re,xs),t(re,ha),t(ha,ws),u(e,Fr,n),u(e,de,n),t(de,zs),t(de,va),t(va,ys),t(de,qs),u(e,Mr,n),z(Re,e,n),u(e,Hr,n),u(e,xt,n),t(xt,Ps),u(e,Rr,n),u(e,fe,n),t(fe,ga),t(ga,As),t(fe,ks),t(fe,_),t(_,$a),t($a,wt),t(wt,Ts),t(_,js),t(_,Ea),t(Ea,zt),t(zt,Os),t(_,Cs),t(_,ba),t(ba,yt),t(yt,Us),t(_,Ls),t(_,xa),t(xa,qt),t(qt,Ds),t(_,Is),t(_,wa),t(wa,Pt),t(Pt,Ns),t(_,Ss),t(_,za),t(za,At),t(At,Fs),t(_,Ms),t(_,ya),t(ya,kt),t(kt,Hs),t(_,Rs),t(_,qa),t(qa,Tt),t(Tt,Gs),t(_,Js),t(_,Pa),t(Pa,jt),t(jt,Vs),t(_,Xs),t(_,Aa),t(Aa,Ot),t(Ot,Bs),t(_,Ks),t(_,ka),t(ka,Ct),t(Ct,Qs),t(_,Ys),t(_,Ta),t(Ta,Ut),t(Ut,Ws),t(_,Zs),t(_,ja),t(ja,Lt),t(Lt,ei),t(_,ti),t(_,Oa),t(Oa,Dt),t(Dt,ai),t(_,ri),t(_,Ca),t(Ca,It),t(It,oi),t(_,si),t(_,Ua),t(Ua,Nt),t(Nt,ii),t(_,li),t(_,La),t(La,St),t(St,ni),t(_,mi),t(_,Da),t(Da,Ft),t(Ft,ui),t(_,pi),t(_,Ia),t(Ia,Mt),t(Mt,ci),t(_,di),t(_,Na),t(Na,Ht),t(Ht,fi),t(_,_i),t(_,Sa),t(Sa,Rt),t(Rt,hi),t(_,vi),t(_,Fa),t(Fa,Gt),t(Gt,gi),t(_,$i),t(_,Ma),t(Ma,Jt),t(Jt,Ei),t(_,bi),t(_,Ha),t(Ha,Vt),t(Vt,xi),t(_,wi),t(_,Ra),t(Ra,Xt),t(Xt,zi),t(_,yi),t(_,Ga),t(Ga,Bt),t(Bt,qi),t(_,Pi),t(_,Ja),t(Ja,Kt),t(Kt,Ai),u(e,Gr,n),u(e,Qt,n),t(Qt,ki),u(e,Jr,n),z(Ge,e,n),u(e,Vr,n),u(e,Yt,n),t(Yt,Ti),u(e,Xr,n),z(Je,e,n),u(e,Br,n),u(e,oe,n),t(oe,_e),t(_e,Va),z(Ve,Va,null),t(oe,ji),t(oe,Xa),t(Xa,Oi),u(e,Kr,n),z(he,e,n),u(e,Qr,n),u(e,se,n),t(se,ve),t(ve,Ba),z(Xe,Ba,null),t(se,Ci),t(se,Ka),t(Ka,Ui),u(e,Yr,n),u(e,ge,n),t(ge,Li),t(ge,Be),t(Be,Di),t(ge,Ii),u(e,Wr,n),u(e,$e,n),t($e,Ke),t(Ke,Ni),t(Ke,Qa),t(Qa,Si),t(Ke,Fi),t($e,Mi),t($e,Qe),t(Qe,Hi),t(Qe,Ya),t(Ya,Ri),t(Qe,Gi),u(e,Zr,n),z(Ye,e,n),u(e,eo,n),u(e,Ee,n),t(Ee,Ji),t(Ee,We),t(We,Wa),t(Wa,Vi),t(Ee,Xi),u(e,to,n),u(e,ie,n),t(ie,be),t(be,Za),z(Ze,Za,null),t(ie,Bi),t(ie,er),t(er,Ki),u(e,ao,n),z(xe,e,n),u(e,ro,n),u(e,le,n),t(le,we),t(we,tr),z(et,tr,null),t(le,Qi),t(le,ar),t(ar,Yi),u(e,oo,n),u(e,ze,n),t(ze,Wi),t(ze,tt),t(tt,Zi),t(ze,el),u(e,so,n),u(e,Wt,n),t(Wt,rr),t(rr,tl),u(e,io,n),z(at,e,n),u(e,lo,n),u(e,X,n),t(X,al),t(X,or),t(or,rl),t(X,ol),t(X,sr),t(sr,sl),t(X,il),t(X,ir),t(ir,ll),t(X,nl),u(e,no,n),z(rt,e,n),u(e,mo,n),u(e,Zt,n),t(Zt,ml),u(e,uo,n),z(ot,e,n),u(e,po,n),u(e,ea,n),t(ea,ul),u(e,co,n),z(st,e,n),u(e,fo,n),u(e,ne,n),t(ne,ye),t(ye,lr),z(it,lr,null),t(ne,pl),t(ne,nr),t(nr,cl),u(e,_o,n),u(e,ta,n),t(ta,dl),u(e,ho,n),u(e,Y,n),t(Y,qe),t(qe,mr),t(mr,fl),t(qe,_l),t(qe,ur),t(ur,hl),t(qe,vl),t(Y,gl),t(Y,aa),t(aa,pr),t(pr,$l),t(aa,El),t(Y,bl),t(Y,ra),t(ra,cr),t(cr,xl),t(ra,wl),u(e,vo,n),u(e,oa,n),t(oa,zl),u(e,go,n),z(lt,e,n),u(e,$o,n),u(e,me,n),t(me,Pe),t(Pe,dr),z(nt,dr,null),t(me,yl),t(me,fr),t(fr,ql),u(e,Eo,n),u(e,sa,n),t(sa,Pl),u(e,bo,n),u(e,W,n),t(W,_r),t(_r,hr),t(hr,Al),t(W,kl),t(W,vr),t(vr,gr),t(gr,Tl),t(W,jl),t(W,$r),t($r,Er),t(Er,Ol),u(e,xo,n),z(mt,e,n),u(e,wo,n),u(e,Z,n),t(Z,Cl),t(Z,br),t(br,Ul),t(Z,Ll),t(Z,xr),t(xr,Dl),t(Z,Il),u(e,zo,n),z(ut,e,n),u(e,yo,n),u(e,ue,n),t(ue,Ae),t(Ae,wr),z(pt,wr,null),t(ue,Nl),t(ue,zr),t(zr,Sl),u(e,qo,n),u(e,ia,n),t(ia,Fl),u(e,Po,n),u(e,B,n),t(B,Ml),t(B,yr),t(yr,Hl),t(B,Rl),t(B,qr),t(qr,Gl),t(B,Jl),t(B,Pr),t(Pr,Vl),t(B,Xl),u(e,Ao,n),z(ct,e,n),u(e,ko,n),u(e,ke,n),t(ke,Bl),t(ke,Ar),t(Ar,Kl),t(ke,Ql),u(e,To,n),z(dt,e,n),u(e,jo,n),u(e,pe,n),t(pe,Te),t(Te,kr),z(ft,kr,null),t(pe,Yl),t(pe,Tr),t(Tr,Wl),u(e,Oo,n),u(e,je,n),t(je,Zl),t(je,_t),t(_t,en),t(je,tn),u(e,Co,n),z(ht,e,n),u(e,Uo,n),u(e,ee,n),t(ee,an),t(ee,jr),t(jr,rn),t(ee,on),t(ee,Or),t(Or,sn),t(ee,ln),u(e,Lo,n),u(e,Oe,n),t(Oe,nn),t(Oe,Cr),t(Cr,mn),t(Oe,un),u(e,Do,n),u(e,la,n),t(la,pn),u(e,Io,n),z(vt,e,n),No=!0},p(e,[n]){const gt={};n&2&&(gt.$$scope={dirty:n,ctx:e}),he.$set(gt);const Ur={};n&2&&(Ur.$$scope={dirty:n,ctx:e}),xe.$set(Ur)},i(e){No||(y(b.$$.fragment,e),y(He.$$.fragment,e),y(Re.$$.fragment,e),y(Ge.$$.fragment,e),y(Je.$$.fragment,e),y(Ve.$$.fragment,e),y(he.$$.fragment,e),y(Xe.$$.fragment,e),y(Ye.$$.fragment,e),y(Ze.$$.fragment,e),y(xe.$$.fragment,e),y(et.$$.fragment,e),y(at.$$.fragment,e),y(rt.$$.fragment,e),y(ot.$$.fragment,e),y(st.$$.fragment,e),y(it.$$.fragment,e),y(lt.$$.fragment,e),y(nt.$$.fragment,e),y(mt.$$.fragment,e),y(ut.$$.fragment,e),y(pt.$$.fragment,e),y(ct.$$.fragment,e),y(dt.$$.fragment,e),y(ft.$$.fragment,e),y(ht.$$.fragment,e),y(vt.$$.fragment,e),No=!0)},o(e){q(b.$$.fragment,e),q(He.$$.fragment,e),q(Re.$$.fragment,e),q(Ge.$$.fragment,e),q(Je.$$.fragment,e),q(Ve.$$.fragment,e),q(he.$$.fragment,e),q(Xe.$$.fragment,e),q(Ye.$$.fragment,e),q(Ze.$$.fragment,e),q(xe.$$.fragment,e),q(et.$$.fragment,e),q(at.$$.fragment,e),q(rt.$$.fragment,e),q(ot.$$.fragment,e),q(st.$$.fragment,e),q(it.$$.fragment,e),q(lt.$$.fragment,e),q(nt.$$.fragment,e),q(mt.$$.fragment,e),q(ut.$$.fragment,e),q(pt.$$.fragment,e),q(ct.$$.fragment,e),q(dt.$$.fragment,e),q(ft.$$.fragment,e),q(ht.$$.fragment,e),q(vt.$$.fragment,e),No=!1},d(e){a(d),e&&a($),e&&a(f),P(b),e&&a(F),e&&a(A),e&&a(Le),e&&a(J),e&&a(Dr),e&&a(bt),e&&a(Ir),e&&a(K),e&&a(Nr),e&&a(Q),e&&a(Sr),e&&a(re),P(He),e&&a(Fr),e&&a(de),e&&a(Mr),P(Re,e),e&&a(Hr),e&&a(xt),e&&a(Rr),e&&a(fe),e&&a(Gr),e&&a(Qt),e&&a(Jr),P(Ge,e),e&&a(Vr),e&&a(Yt),e&&a(Xr),P(Je,e),e&&a(Br),e&&a(oe),P(Ve),e&&a(Kr),P(he,e),e&&a(Qr),e&&a(se),P(Xe),e&&a(Yr),e&&a(ge),e&&a(Wr),e&&a($e),e&&a(Zr),P(Ye,e),e&&a(eo),e&&a(Ee),e&&a(to),e&&a(ie),P(Ze),e&&a(ao),P(xe,e),e&&a(ro),e&&a(le),P(et),e&&a(oo),e&&a(ze),e&&a(so),e&&a(Wt),e&&a(io),P(at,e),e&&a(lo),e&&a(X),e&&a(no),P(rt,e),e&&a(mo),e&&a(Zt),e&&a(uo),P(ot,e),e&&a(po),e&&a(ea),e&&a(co),P(st,e),e&&a(fo),e&&a(ne),P(it),e&&a(_o),e&&a(ta),e&&a(ho),e&&a(Y),e&&a(vo),e&&a(oa),e&&a(go),P(lt,e),e&&a($o),e&&a(me),P(nt),e&&a(Eo),e&&a(sa),e&&a(bo),e&&a(W),e&&a(xo),P(mt,e),e&&a(wo),e&&a(Z),e&&a(zo),P(ut,e),e&&a(yo),e&&a(ue),P(pt),e&&a(qo),e&&a(ia),e&&a(Po),e&&a(B),e&&a(Ao),P(ct,e),e&&a(ko),e&&a(ke),e&&a(To),P(dt,e),e&&a(jo),e&&a(pe),P(ft),e&&a(Oo),e&&a(je),e&&a(Co),P(ht,e),e&&a(Uo),e&&a(ee),e&&a(Lo),e&&a(Oe),e&&a(Do),e&&a(la),e&&a(Io),P(vt,e)}}}const op={local:"treinamento-a-partir-de-um-script",sections:[{local:"configurao",title:"Configura\xE7\xE3o"},{local:"executando-um-script",title:"Executando um script"},{local:"treinamento-distribudo-e-preciso-mista",title:"Treinamento distribu\xEDdo e precis\xE3o mista"},{local:"executando-um-script-em-uma-tpu",title:"Executando um script em uma TPU"},{local:"execute-um-script-com-accelerate",title:"Execute um script com \u{1F917} Accelerate"},{local:"usando-um-conjunto-de-dados-personalizado",title:"Usando um conjunto de dados personalizado"},{local:"testando-um-script",title:"Testando um script "},{local:"retomar-o-treinamento-a-partir-de-um-checkpoint",title:"Retomar o treinamento a partir de um checkpoint"},{local:"compartilhando-seu-modelo",title:"Compartilhando seu modelo "}],title:"Treinamento a partir de um script"};function sp(R){return Bu(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class up extends Gu{constructor(d){super();Ju(this,d,sp,rp,Vu,{})}}export{up as default,op as metadata};
