import{S as Ur,i as Lr,s as Gr,e as n,k as c,t as l,w as d,M as Nr,c as p,d as s,m,a as i,h as r,x as u,b as j,G as t,g as o,y as f,q as _,o as h,B as $,v as Hr}from"../../chunks/vendor-hf-doc-builder.js";import{T as Fr}from"../../chunks/Tip-hf-doc-builder.js";import{Y as Mr}from"../../chunks/Youtube-hf-doc-builder.js";import{I as Ir}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as k}from"../../chunks/CodeBlock-hf-doc-builder.js";import{C as Br}from"../../chunks/CourseFloatingBanner-hf-doc-builder.js";import"../../chunks/DocNotebookDropdown-hf-doc-builder.js";function Rr(xe){let b,g,w,ee,F;return{c(){b=n("p"),g=l("\u270F\uFE0F "),w=n("strong"),ee=l("\u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435!"),F=l(" \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0439 \u0446\u0438\u043A\u043B \u0442\u0430\u043A, \u0447\u0442\u043E\u0431\u044B \u0434\u043E\u043E\u0431\u0443\u0447\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u043D\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 SST-2.")},l(q){b=p(q,"P",{});var C=i(b);g=r(C,"\u270F\uFE0F "),w=p(C,"STRONG",{});var D=i(w);ee=r(D,"\u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435!"),D.forEach(s),F=r(C," \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0439 \u0446\u0438\u043A\u043B \u0442\u0430\u043A, \u0447\u0442\u043E\u0431\u044B \u0434\u043E\u043E\u0431\u0443\u0447\u0438\u0442\u044C \u043C\u043E\u0434\u0435\u043B\u044C \u043D\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 SST-2."),C.forEach(s)},m(q,C){o(q,b,C),t(b,g),t(b,w),t(w,ee),t(b,F)},d(q){q&&s(b)}}}function Jr(xe){let b;return{c(){b=l('\u26A0\uFE0F \u0427\u0442\u043E\u0431\u044B \u0432\u043E\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0443\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0435\u043C, \u043F\u0440\u0435\u0434\u043B\u0430\u0433\u0430\u0435\u043C\u044B\u043C \u043E\u0431\u043B\u0430\u0447\u043D\u044B\u043C\u0438 TPU, \u043C\u044B \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C \u0434\u043E\u043F\u043E\u043B\u043D\u044F\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435 \u0434\u043E \u0444\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0434\u043B\u0438\u043D\u044B \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0432 `padding="max_length"` \u0438 `max_length` \u0442\u043E\u043A\u0435\u043D\u0438\u0437\u0430\u0442\u043E\u0440\u0430.')},l(g){b=r(g,'\u26A0\uFE0F \u0427\u0442\u043E\u0431\u044B \u0432\u043E\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0443\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0435\u043C, \u043F\u0440\u0435\u0434\u043B\u0430\u0433\u0430\u0435\u043C\u044B\u043C \u043E\u0431\u043B\u0430\u0447\u043D\u044B\u043C\u0438 TPU, \u043C\u044B \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C \u0434\u043E\u043F\u043E\u043B\u043D\u044F\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435 \u0434\u043E \u0444\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u0434\u043B\u0438\u043D\u044B \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0432 `padding="max_length"` \u0438 `max_length` \u0442\u043E\u043A\u0435\u043D\u0438\u0437\u0430\u0442\u043E\u0440\u0430.')},m(g,w){o(g,b,w)},d(g){g&&s(b)}}}function Yr(xe){let b,g,w,ee,F,q,C,D,Cs,M,It,Qe,Bt,Rt,Ps,se,Ds,te,Jt,Ss,S,Yt,Ke,Qt,Kt,Ve,Vt,Xt,xs,x,O,Zt,Xe,ea,sa,Ze,ta,aa,la,P,ra,es,oa,na,ss,pa,ia,ts,ca,ma,da,as,ua,Ts,U,fa,ls,_a,ha,Os,ae,Ws,Te,$a,Fs,le,Ms,Oe,ba,Us,re,Ls,We,ka,Gs,oe,Ns,ne,Hs,L,va,rs,ja,wa,Is,Fe,ga,Bs,pe,Rs,Me,za,Js,ie,Ys,ce,Qs,G,Ea,os,qa,ya,Ks,z,Aa,ns,Ca,Pa,ps,Da,Sa,is,xa,Ta,me,Oa,Wa,Vs,de,Xs,N,Fa,cs,Ma,Ua,Zs,ue,et,fe,st,_e,La,tt,H,Ga,ms,Na,Ha,at,he,lt,$e,rt,Ue,Ia,ot,be,nt,Le,Ba,pt,ke,Ra,it,y,Ja,ds,Ya,Qa,us,Ka,Va,fs,Xa,Za,ct,ve,mt,je,dt,Ge,el,ut,I,ft,W,B,_s,we,sl,hs,tl,_t,ge,ht,R,al,ze,ll,rl,$t,Ee,bt,Ne,ol,kt,qe,vt,A,nl,$s,pl,il,bs,cl,ml,ks,dl,ul,jt,v,fl,vs,_l,hl,js,$l,bl,ws,kl,vl,gs,jl,wl,zs,gl,zl,Es,El,ql,wt,J,gt,He,yl,zt,ye,Et,Y,Al,qs,Cl,Pl,qt,Ae,yt,Ie,Dl,At,Ce,Ct,Be,Sl,Pt,Q,xl,ys,Tl,Ol,Dt,Pe,St,K,Wl,De,Fl,Ml,xt;return q=new Br({props:{chapter:3,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/ru/chapter3/section4.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/ru/chapter3/section4.ipynb"}]}}),D=new Mr({props:{id:"Dh9CL8fyG80"}}),se=new k({props:{code:`from datasets import load_dataset
from transformers import AutoTokenizer, DataCollatorWithPadding

raw_datasets = load_dataset("glue", "mrpc")
checkpoint = "bert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)


def tokenize_function(example):
    return tokenizer(example["sentence1"], example["sentence2"], truncation=True)


tokenized_datasets = raw_datasets.map(tokenize_function, batched=True)
data_collator = DataCollatorWithPadding(tokenizer=tokenizer)`,highlighted:`<span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset
<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, DataCollatorWithPadding

raw_datasets = load_dataset(<span class="hljs-string">&quot;glue&quot;</span>, <span class="hljs-string">&quot;mrpc&quot;</span>)
checkpoint = <span class="hljs-string">&quot;bert-base-uncased&quot;</span>
tokenizer = AutoTokenizer.from_pretrained(checkpoint)


<span class="hljs-keyword">def</span> <span class="hljs-title function_">tokenize_function</span>(<span class="hljs-params">example</span>):
    <span class="hljs-keyword">return</span> tokenizer(example[<span class="hljs-string">&quot;sentence1&quot;</span>], example[<span class="hljs-string">&quot;sentence2&quot;</span>], truncation=<span class="hljs-literal">True</span>)


tokenized_datasets = raw_datasets.<span class="hljs-built_in">map</span>(tokenize_function, batched=<span class="hljs-literal">True</span>)
data_collator = DataCollatorWithPadding(tokenizer=tokenizer)`}}),ae=new k({props:{code:`tokenized_datasets = tokenized_datasets.remove_columns(["sentence1", "sentence2", "idx"])
tokenized_datasets = tokenized_datasets.rename_column("label", "labels")
tokenized_datasets.set_format("torch")
tokenized_datasets["train"].column_names`,highlighted:`tokenized_datasets = tokenized_datasets.remove_columns([<span class="hljs-string">&quot;sentence1&quot;</span>, <span class="hljs-string">&quot;sentence2&quot;</span>, <span class="hljs-string">&quot;idx&quot;</span>])
tokenized_datasets = tokenized_datasets.rename_column(<span class="hljs-string">&quot;label&quot;</span>, <span class="hljs-string">&quot;labels&quot;</span>)
tokenized_datasets.set_format(<span class="hljs-string">&quot;torch&quot;</span>)
tokenized_datasets[<span class="hljs-string">&quot;train&quot;</span>].column_names`}}),le=new k({props:{code:'["attention_mask", "input_ids", "labels", "token_type_ids"]',highlighted:'[<span class="hljs-string">&quot;attention_mask&quot;</span>, <span class="hljs-string">&quot;input_ids&quot;</span>, <span class="hljs-string">&quot;labels&quot;</span>, <span class="hljs-string">&quot;token_type_ids&quot;</span>]'}}),re=new k({props:{code:`from torch.utils.data import DataLoader

train_dataloader = DataLoader(
    tokenized_datasets["train"], shuffle=True, batch_size=8, collate_fn=data_collator
)
eval_dataloader = DataLoader(
    tokenized_datasets["validation"], batch_size=8, collate_fn=data_collator
)`,highlighted:`<span class="hljs-keyword">from</span> torch.utils.data <span class="hljs-keyword">import</span> DataLoader

train_dataloader = DataLoader(
    tokenized_datasets[<span class="hljs-string">&quot;train&quot;</span>], shuffle=<span class="hljs-literal">True</span>, batch_size=<span class="hljs-number">8</span>, collate_fn=data_collator
)
eval_dataloader = DataLoader(
    tokenized_datasets[<span class="hljs-string">&quot;validation&quot;</span>], batch_size=<span class="hljs-number">8</span>, collate_fn=data_collator
)`}}),oe=new k({props:{code:`for batch in train_dataloader:
    break
{k: v.shape for k, v in batch.items()}`,highlighted:`<span class="hljs-keyword">for</span> batch <span class="hljs-keyword">in</span> train_dataloader:
    <span class="hljs-keyword">break</span>
{k: v.shape <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> batch.items()}`}}),ne=new k({props:{code:`{'attention_mask': torch.Size([8, 65]),
 'input_ids': torch.Size([8, 65]),
 'labels': torch.Size([8]),
 'token_type_ids': torch.Size([8, 65])}`,highlighted:`{<span class="hljs-string">&#x27;attention_mask&#x27;</span>: torch.Size([<span class="hljs-number">8</span>, <span class="hljs-number">65</span>]),
 <span class="hljs-string">&#x27;input_ids&#x27;</span>: torch.Size([<span class="hljs-number">8</span>, <span class="hljs-number">65</span>]),
 <span class="hljs-string">&#x27;labels&#x27;</span>: torch.Size([<span class="hljs-number">8</span>]),
 <span class="hljs-string">&#x27;token_type_ids&#x27;</span>: torch.Size([<span class="hljs-number">8</span>, <span class="hljs-number">65</span>])}`}}),pe=new k({props:{code:`from transformers import AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=2)`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=<span class="hljs-number">2</span>)`}}),ie=new k({props:{code:`outputs = model(**batch)
print(outputs.loss, outputs.logits.shape)`,highlighted:`outputs = model(**batch)
<span class="hljs-built_in">print</span>(outputs.loss, outputs.logits.shape)`}}),ce=new k({props:{code:"tensor(0.5441, grad_fn=<NllLossBackward>) torch.Size([8, 2])",highlighted:'tensor(<span class="hljs-number">0.5441</span>, grad_fn=&lt;NllLossBackward&gt;) torch.Size([<span class="hljs-number">8</span>, <span class="hljs-number">2</span>])'}}),de=new k({props:{code:`from transformers import AdamW

optimizer = AdamW(model.parameters(), lr=5e-5)`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AdamW

optimizer = AdamW(model.parameters(), lr=<span class="hljs-number">5e-5</span>)`}}),ue=new k({props:{code:`from transformers import get_scheduler

num_epochs = 3
num_training_steps = num_epochs * len(train_dataloader)
lr_scheduler = get_scheduler(
    "linear",
    optimizer=optimizer,
    num_warmup_steps=0,
    num_training_steps=num_training_steps,
)
print(num_training_steps)`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> get_scheduler

num_epochs = <span class="hljs-number">3</span>
num_training_steps = num_epochs * <span class="hljs-built_in">len</span>(train_dataloader)
lr_scheduler = get_scheduler(
    <span class="hljs-string">&quot;linear&quot;</span>,
    optimizer=optimizer,
    num_warmup_steps=<span class="hljs-number">0</span>,
    num_training_steps=num_training_steps,
)
<span class="hljs-built_in">print</span>(num_training_steps)`}}),fe=new k({props:{code:"1377",highlighted:'<span class="hljs-number">1377</span>'}}),he=new k({props:{code:`import torch

device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
model.to(device)
device`,highlighted:`<span class="hljs-keyword">import</span> torch

device = torch.device(<span class="hljs-string">&quot;cuda&quot;</span>) <span class="hljs-keyword">if</span> torch.cuda.is_available() <span class="hljs-keyword">else</span> torch.device(<span class="hljs-string">&quot;cpu&quot;</span>)
model.to(device)
device`}}),$e=new k({props:{code:"device(type='cuda')",highlighted:'device(<span class="hljs-built_in">type</span>=<span class="hljs-string">&#x27;cuda&#x27;</span>)'}}),be=new k({props:{code:`from tqdm.auto import tqdm

progress_bar = tqdm(range(num_training_steps))

model.train()
for epoch in range(num_epochs):
    for batch in train_dataloader:
        batch = {k: v.to(device) for k, v in batch.items()}
        outputs = model(**batch)
        loss = outputs.loss
        loss.backward()

        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()
        progress_bar.update(1)`,highlighted:`<span class="hljs-keyword">from</span> tqdm.auto <span class="hljs-keyword">import</span> tqdm

progress_bar = tqdm(<span class="hljs-built_in">range</span>(num_training_steps))

model.train()
<span class="hljs-keyword">for</span> epoch <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(num_epochs):
    <span class="hljs-keyword">for</span> batch <span class="hljs-keyword">in</span> train_dataloader:
        batch = {k: v.to(device) <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> batch.items()}
        outputs = model(**batch)
        loss = outputs.loss
        loss.backward()

        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()
        progress_bar.update(<span class="hljs-number">1</span>)`}}),ve=new k({props:{code:`import evaluate

metric = evaluate.load("glue", "mrpc")
model.eval()
for batch in eval_dataloader:
    batch = {k: v.to(device) for k, v in batch.items()}
    with torch.no_grad():
        outputs = model(**batch)

    logits = outputs.logits
    predictions = torch.argmax(logits, dim=-1)
    metric.add_batch(predictions=predictions, references=batch["labels"])

metric.compute()`,highlighted:`<span class="hljs-keyword">import</span> evaluate

metric = evaluate.load(<span class="hljs-string">&quot;glue&quot;</span>, <span class="hljs-string">&quot;mrpc&quot;</span>)
model.<span class="hljs-built_in">eval</span>()
<span class="hljs-keyword">for</span> batch <span class="hljs-keyword">in</span> eval_dataloader:
    batch = {k: v.to(device) <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> batch.items()}
    <span class="hljs-keyword">with</span> torch.no_grad():
        outputs = model(**batch)

    logits = outputs.logits
    predictions = torch.argmax(logits, dim=-<span class="hljs-number">1</span>)
    metric.add_batch(predictions=predictions, references=batch[<span class="hljs-string">&quot;labels&quot;</span>])

metric.compute()`}}),je=new k({props:{code:"{'accuracy': 0.8431372549019608, 'f1': 0.8907849829351535}",highlighted:'{<span class="hljs-string">&#x27;accuracy&#x27;</span>: <span class="hljs-number">0.8431372549019608</span>, <span class="hljs-string">&#x27;f1&#x27;</span>: <span class="hljs-number">0.8907849829351535</span>}'}}),I=new Fr({props:{$$slots:{default:[Rr]},$$scope:{ctx:xe}}}),we=new Ir({}),ge=new Mr({props:{id:"s7dy8QRgjJ0"}}),Ee=new k({props:{code:`from transformers import AdamW, AutoModelForSequenceClassification, get_scheduler

model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=2)
optimizer = AdamW(model.parameters(), lr=3e-5)

device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
model.to(device)

num_epochs = 3
num_training_steps = num_epochs * len(train_dataloader)
lr_scheduler = get_scheduler(
    "linear",
    optimizer=optimizer,
    num_warmup_steps=0,
    num_training_steps=num_training_steps,
)

progress_bar = tqdm(range(num_training_steps))

model.train()
for epoch in range(num_epochs):
    for batch in train_dataloader:
        batch = {k: v.to(device) for k, v in batch.items()}
        outputs = model(**batch)
        loss = outputs.loss
        loss.backward()

        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()
        progress_bar.update(1)`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AdamW, AutoModelForSequenceClassification, get_scheduler

model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=<span class="hljs-number">2</span>)
optimizer = AdamW(model.parameters(), lr=<span class="hljs-number">3e-5</span>)

device = torch.device(<span class="hljs-string">&quot;cuda&quot;</span>) <span class="hljs-keyword">if</span> torch.cuda.is_available() <span class="hljs-keyword">else</span> torch.device(<span class="hljs-string">&quot;cpu&quot;</span>)
model.to(device)

num_epochs = <span class="hljs-number">3</span>
num_training_steps = num_epochs * <span class="hljs-built_in">len</span>(train_dataloader)
lr_scheduler = get_scheduler(
    <span class="hljs-string">&quot;linear&quot;</span>,
    optimizer=optimizer,
    num_warmup_steps=<span class="hljs-number">0</span>,
    num_training_steps=num_training_steps,
)

progress_bar = tqdm(<span class="hljs-built_in">range</span>(num_training_steps))

model.train()
<span class="hljs-keyword">for</span> epoch <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(num_epochs):
    <span class="hljs-keyword">for</span> batch <span class="hljs-keyword">in</span> train_dataloader:
        batch = {k: v.to(device) <span class="hljs-keyword">for</span> k, v <span class="hljs-keyword">in</span> batch.items()}
        outputs = model(**batch)
        loss = outputs.loss
        loss.backward()

        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()
        progress_bar.update(<span class="hljs-number">1</span>)`}}),qe=new k({props:{code:`+ from accelerate import Accelerator
  from transformers import AdamW, AutoModelForSequenceClassification, get_scheduler

+ accelerator = Accelerator()

  model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=2)
  optimizer = AdamW(model.parameters(), lr=3e-5)

- device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
- model.to(device)

+ train_dataloader, eval_dataloader, model, optimizer = accelerator.prepare(
+     train_dataloader, eval_dataloader, model, optimizer
+ )

  num_epochs = 3
  num_training_steps = num_epochs * len(train_dataloader)
  lr_scheduler = get_scheduler(
      "linear",
      optimizer=optimizer,
      num_warmup_steps=0,
      num_training_steps=num_training_steps
  )

  progress_bar = tqdm(range(num_training_steps))

  model.train()
  for epoch in range(num_epochs):
      for batch in train_dataloader:
-         batch = {k: v.to(device) for k, v in batch.items()}
          outputs = model(**batch)
          loss = outputs.loss
-         loss.backward()
+         accelerator.backward(loss)

          optimizer.step()
          lr_scheduler.step()
          optimizer.zero_grad()
          progress_bar.update(1)`,highlighted:`<span class="hljs-addition">+ from accelerate import Accelerator</span>
  from transformers import AdamW, AutoModelForSequenceClassification, get_scheduler

<span class="hljs-addition">+ accelerator = Accelerator()</span>

  model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=2)
  optimizer = AdamW(model.parameters(), lr=3e-5)

<span class="hljs-deletion">- device = torch.device(&quot;cuda&quot;) if torch.cuda.is_available() else torch.device(&quot;cpu&quot;)</span>
<span class="hljs-deletion">- model.to(device)</span>

<span class="hljs-addition">+ train_dataloader, eval_dataloader, model, optimizer = accelerator.prepare(</span>
<span class="hljs-addition">+     train_dataloader, eval_dataloader, model, optimizer</span>
<span class="hljs-addition">+ )</span>

  num_epochs = 3
  num_training_steps = num_epochs * len(train_dataloader)
  lr_scheduler = get_scheduler(
      &quot;linear&quot;,
      optimizer=optimizer,
      num_warmup_steps=0,
      num_training_steps=num_training_steps
  )

  progress_bar = tqdm(range(num_training_steps))

  model.train()
  for epoch in range(num_epochs):
      for batch in train_dataloader:
<span class="hljs-deletion">-         batch = {k: v.to(device) for k, v in batch.items()}</span>
          outputs = model(**batch)
          loss = outputs.loss
<span class="hljs-deletion">-         loss.backward()</span>
<span class="hljs-addition">+         accelerator.backward(loss)</span>

          optimizer.step()
          lr_scheduler.step()
          optimizer.zero_grad()
          progress_bar.update(1)`}}),J=new Fr({props:{$$slots:{default:[Jr]},$$scope:{ctx:xe}}}),ye=new k({props:{code:`from accelerate import Accelerator
from transformers import AdamW, AutoModelForSequenceClassification, get_scheduler

accelerator = Accelerator()

model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=2)
optimizer = AdamW(model.parameters(), lr=3e-5)

train_dl, eval_dl, model, optimizer = accelerator.prepare(
    train_dataloader, eval_dataloader, model, optimizer
)

num_epochs = 3
num_training_steps = num_epochs * len(train_dl)
lr_scheduler = get_scheduler(
    "linear",
    optimizer=optimizer,
    num_warmup_steps=0,
    num_training_steps=num_training_steps,
)

progress_bar = tqdm(range(num_training_steps))

model.train()
for epoch in range(num_epochs):
    for batch in train_dl:
        outputs = model(**batch)
        loss = outputs.loss
        accelerator.backward(loss)

        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()
        progress_bar.update(1)`,highlighted:`<span class="hljs-keyword">from</span> accelerate <span class="hljs-keyword">import</span> Accelerator
<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AdamW, AutoModelForSequenceClassification, get_scheduler

accelerator = Accelerator()

model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=<span class="hljs-number">2</span>)
optimizer = AdamW(model.parameters(), lr=<span class="hljs-number">3e-5</span>)

train_dl, eval_dl, model, optimizer = accelerator.prepare(
    train_dataloader, eval_dataloader, model, optimizer
)

num_epochs = <span class="hljs-number">3</span>
num_training_steps = num_epochs * <span class="hljs-built_in">len</span>(train_dl)
lr_scheduler = get_scheduler(
    <span class="hljs-string">&quot;linear&quot;</span>,
    optimizer=optimizer,
    num_warmup_steps=<span class="hljs-number">0</span>,
    num_training_steps=num_training_steps,
)

progress_bar = tqdm(<span class="hljs-built_in">range</span>(num_training_steps))

model.train()
<span class="hljs-keyword">for</span> epoch <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(num_epochs):
    <span class="hljs-keyword">for</span> batch <span class="hljs-keyword">in</span> train_dl:
        outputs = model(**batch)
        loss = outputs.loss
        accelerator.backward(loss)

        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()
        progress_bar.update(<span class="hljs-number">1</span>)`}}),Ae=new k({props:{code:"accelerate config",highlighted:"accelerate config"}}),Ce=new k({props:{code:"accelerate launch train.py",highlighted:'accelerate <span class="hljs-built_in">launch</span> train.py'}}),Pe=new k({props:{code:`from accelerate import notebook_launcher

notebook_launcher(training_function)`,highlighted:`<span class="hljs-keyword">from</span> accelerate <span class="hljs-keyword">import</span> notebook_launcher

notebook_launcher(training_function)`}}),{c(){b=n("meta"),g=c(),w=n("h1"),ee=l("\u041F\u043E\u043B\u043D\u043E\u0435 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0435"),F=c(),d(q.$$.fragment),C=c(),d(D.$$.fragment),Cs=c(),M=n("p"),It=l("\u0422\u0435\u043F\u0435\u0440\u044C \u043C\u044B \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0438\u043C, \u043A\u0430\u043A \u0434\u043E\u0441\u0442\u0438\u0447\u044C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u0438\u0437 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0439 \u0433\u043B\u0430\u0432\u044B \u0431\u0435\u0437 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043A\u043B\u0430\u0441\u0441\u0430 "),Qe=n("code"),Bt=l("Trainer"),Rt=l(". \u0412 \u044D\u0442\u043E\u0439 \u0433\u043B\u0430\u0432\u0435 \u043C\u044B \u043F\u0440\u0435\u0434\u043F\u043E\u043B\u0430\u0433\u0430\u0435\u043C, \u0447\u0442\u043E \u0432\u044B \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u043B\u0438 \u044D\u0442\u0430\u043F\u044B \u043F\u0440\u0435\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0438\u043D\u0433\u0430 \u0440\u0430\u0437\u0434\u0435\u043B\u0430 2. \u041D\u0438\u0436\u0435 \u043A\u043E\u0440\u043E\u0442\u043A\u0430\u044F \u0432\u044B\u0436\u0438\u043C\u043A\u0430 \u0442\u043E\u0433\u043E, \u0447\u0442\u043E \u0432\u0430\u043C \u043F\u043E\u043D\u0430\u0434\u043E\u0431\u0438\u0442\u0441\u044F:"),Ps=c(),d(se.$$.fragment),Ds=c(),te=n("h3"),Jt=l("\u041F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0430 \u043A \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044E"),Ss=c(),S=n("p"),Yt=l("\u041F\u0435\u0440\u0435\u0434 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0446\u0438\u043A\u043B\u0430 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u0434\u0430\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432. \u041F\u0435\u0440\u0432\u044B\u0439: \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 (\u0434\u0430\u043B\u0435\u0435 - dataloaders), \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043C\u044B \u0431\u0443\u0434\u0435\u043C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u043B\u044F \u0438\u0442\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u043E \u0431\u0430\u0442\u0447\u0430\u043C \u0434\u0430\u043D\u043D\u044B\u0445. \u041F\u0435\u0440\u0435\u0434 \u044D\u0442\u0438\u043C \u043D\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0439 \u043F\u043E\u0441\u0442\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0438\u043D\u0433\u0430 \u043A \u043D\u0430\u0448\u0435\u043C\u0443 "),Ke=n("code"),Qt=l("tokenized_datasets"),Kt=l(". \u042D\u0442\u043E \u043D\u0443\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C: \u0432 \u043F\u0440\u043E\u0448\u043B\u044B\u0439 \u0440\u0430\u0437 \u0437\u0430 \u043D\u0430\u0441 \u044D\u0442\u043E \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0434\u0435\u043B\u0430\u043B "),Ve=n("code"),Vt=l("Trainer"),Xt=l(". \u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435:"),xs=c(),x=n("ul"),O=n("li"),Zt=l("\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043A\u043E\u043B\u043E\u043D\u043A\u0438, \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043C\u043E\u0434\u0435\u043B\u044C \u043D\u0435 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0435\u0442 \u043D\u0430 \u0432\u0445\u043E\u0434 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "),Xe=n("code"),ea=l("sentence1"),sa=l(" \u0438 "),Ze=n("code"),ta=l("sentence2"),aa=l(")."),la=c(),P=n("li"),ra=l("\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u043B\u043E\u043D\u043A\u0443 "),es=n("code"),oa=l("label"),na=l(" \u0432 "),ss=n("code"),pa=l("labels"),ia=l(" (\u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043C\u043E\u0434\u0435\u043B\u044C \u043E\u0436\u0438\u0434\u0430\u0435\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442, \u043D\u0430\u0437\u0432\u0430\u043D\u043D\u044B\u0439 "),ts=n("code"),ca=l("labels"),ma=l(")."),da=c(),as=n("li"),ua=l("\u0417\u0430\u0434\u0430\u0442\u044C \u0442\u0438\u043F \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 pytorch tensors \u0432\u043C\u0435\u0441\u0442\u043E \u0441\u043F\u0438\u0441\u043A\u043E\u0432."),Ts=c(),U=n("p"),fa=l("\u041D\u0430\u0448 "),ls=n("code"),_a=l("tokenized_datasets"),ha=l(" \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u043C\u0435\u0442\u043E\u0434\u044B \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u0438\u0437 \u043F\u0440\u0438\u0432\u0435\u0434\u0435\u043D\u043D\u044B\u0445 \u0432\u044B\u0448\u0435 \u0448\u0430\u0433\u043E\u0432:"),Os=c(),d(ae.$$.fragment),Ws=c(),Te=n("p"),$a=l("\u041C\u044B \u043C\u043E\u0436\u0435\u043C \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C, \u0447\u0442\u043E \u0432 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0435 \u0443 \u043D\u0430\u0441 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442 \u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435 \u043F\u043E\u043B\u044F, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043E\u0436\u0438\u0434\u0430\u0435\u0442 \u043D\u0430\u0448\u0430 \u043C\u043E\u0434\u0435\u043B\u044C:"),Fs=c(),d(le.$$.fragment),Ms=c(),Oe=n("p"),ba=l("\u0422\u0435\u043F\u0435\u0440\u044C, \u043A\u043E\u0433\u0434\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u0433\u043E\u0442\u043E\u0432, \u043C\u044B \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u0434\u0430\u0442\u044C dataloader:"),Us=c(),d(re.$$.fragment),Ls=c(),We=n("p"),ka=l("\u0414\u043B\u044F \u0442\u043E\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u0443\u0431\u0435\u0434\u0438\u0442\u044C\u0441\u044F \u0432 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u043E\u0448\u0438\u0431\u043E\u043A \u0432 \u0441\u0434\u0435\u043B\u0430\u043D\u043D\u043E\u043C \u043D\u0430\u043C\u0438 \u043F\u0440\u0435\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0438\u043D\u0433\u0435, \u043C\u044B \u043C\u043E\u0436\u0435\u043C \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043E\u0434\u0438\u043D \u0431\u0430\u0442\u0447 \u0434\u0430\u043D\u043D\u044B\u0445:"),Gs=c(),d(oe.$$.fragment),Ns=c(),d(ne.$$.fragment),Hs=c(),L=n("p"),va=l("\u041E\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0435, \u0447\u0442\u043E \u0444\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u044B, \u0432\u0435\u0440\u043E\u044F\u0442\u043D\u043E, \u0431\u0443\u0434\u0443\u0442 \u043D\u0435\u043C\u043D\u043E\u0433\u043E \u043E\u0442\u043B\u0438\u0447\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0432 \u0432\u0430\u0448\u0435\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0442\u0430\u043A \u043A\u0430\u043A \u043C\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 "),rs=n("code"),ja=l("shuffle=True"),wa=l(" \u0434\u043B\u044F \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0435\u0433\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043A\u0430 \u0434\u0430\u043D\u043D\u044B\u0445, \u0442\u0430\u043A\u0436\u0435 \u043C\u044B \u0434\u043E\u043F\u043E\u043B\u043D\u044F\u0435\u043C (padding) \u0434\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0439 \u0434\u043B\u0438\u043D\u044B \u0432\u043D\u0443\u0442\u0440\u0438 \u0431\u0430\u0442\u0447\u0430."),Is=c(),Fe=n("p"),ga=l("\u0422\u0435\u043F\u0435\u0440\u044C \u043C\u044B \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043B\u0438 \u044D\u0442\u0430\u043F \u043F\u0440\u0435\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0438\u043D\u0433\u0430 (\u043F\u0440\u0438\u044F\u0442\u043D\u044B\u0439, \u043D\u043E \u043D\u0435\u0443\u043B\u043E\u0432\u0438\u043C\u044B\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u043B\u044E\u0431\u043E\u0433\u043E \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u0438\u0441\u0442\u0430 \u043F\u043E \u043C\u0430\u0448\u0438\u043D\u043D\u043E\u043C\u0443 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044E), \u043F\u0435\u0440\u0435\u0439\u0434\u0435\u043C \u043A \u043C\u043E\u0434\u0435\u043B\u0438. \u041C\u044B \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u0443\u0435\u043C \u0435\u0435 \u0442\u043E\u0447\u043D\u043E \u0442\u0430\u043A, \u043A\u0430\u043A \u0434\u0435\u043B\u0430\u043B\u0438 \u0432 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u043C \u043F\u0440\u0438\u043C\u0435\u0440\u0435:"),Bs=c(),d(pe.$$.fragment),Rs=c(),Me=n("p"),za=l("\u0427\u0442\u043E\u0431\u044B \u0443\u0431\u0435\u0434\u0438\u0442\u044C\u0441\u044F, \u0447\u0442\u043E \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0435 \u043F\u043E\u0439\u0434\u0435\u0442 \u0433\u043B\u0430\u0434\u043A\u043E, \u0432\u044B \u043F\u043E\u0434\u0430\u0434\u0438\u043C \u043D\u0430 \u0432\u0445\u043E\u0434 \u043C\u043E\u0434\u0435\u043B\u0438 \u043E\u0434\u0438\u043D \u0431\u0430\u0442\u0447:"),Js=c(),d(ie.$$.fragment),Ys=c(),d(ce.$$.fragment),Qs=c(),G=n("p"),Ea=l("\u0412\u0441\u0435 \u043C\u043E\u0434\u0435\u043B\u0438 \u{1F917} \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0435\u0440\u043E\u0432 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u044E\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438 \u043F\u043E\u0442\u0435\u0440\u044C, \u0435\u0441\u043B\u0438 \u0432 \u0434\u0430\u043D\u043D\u044B\u0445 \u0431\u044B\u043B\u0438 "),os=n("code"),qa=l("labels"),ya=l(", \u0430 \u0442\u0430\u043A\u0436\u0435 \u043B\u043E\u0433\u0438\u0442\u044B (\u0432 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0435 \u043F\u043E\u043B\u0443\u0447\u0430\u0435\u0442\u0441\u044F \u0442\u0435\u043D\u0437\u043E\u0440 8 \u0445 2)."),Ks=c(),z=n("p"),Aa=l("\u041C\u044B \u043F\u043E\u0447\u0442\u0438 \u0433\u043E\u0442\u043E\u0432\u044B \u043A \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u0438\u044E \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0435\u0433\u043E \u0446\u0438\u043A\u043B\u0430! \u041C\u044B \u043F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u043B\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u0432\u0435 \u0432\u0435\u0449\u0438: \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0442\u043E\u0440 \u0438 \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0449\u0438\u043A \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u0438 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F (learning rate scheduler). \u0412\u0432\u0438\u0434\u0443 \u0442\u043E\u0433\u043E, \u0447\u0442\u043E \u043C\u044B \u043F\u044B\u0442\u0430\u0435\u043C\u0441\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0442\u043E, \u0447\u0442\u043E \u0434\u0435\u043B\u0430\u043B \u0437\u0430 \u043D\u0430\u0441 "),ns=n("code"),Ca=l("Trainer"),Pa=l(", \u043C\u044B \u0431\u0443\u0434\u0435\u043C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0442\u0430\u043A\u0438\u0435 \u0436\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E. \u041E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0442\u043E\u0440, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0432 "),ps=n("code"),Da=l("Trainer"),Sa=l(" - "),is=n("code"),xa=l("AdamW"),Ta=l(", \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0447\u0442\u0438 \u043F\u043E\u043B\u043D\u043E\u0439 \u043A\u043E\u043F\u0438\u0435\u0439 Adam, \u0437\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435\u043C \u0442\u0440\u044E\u043A\u0430 \u0441 \u0441\u043E\u043A\u0440\u0430\u0449\u0435\u043D\u0438\u0435\u043C \u0432\u0435\u0441\u043E\u0432 (\u0434\u0430\u043B\u0435\u0435 - weight decay) (\u0441\u043C. "),me=n("a"),Oa=l("\u201CDecoupled Weight Decay Regularization\u201D"),Wa=l(" \u0437\u0430 \u0430\u0432\u0442\u043E\u0440\u0441\u0442\u0432\u043E\u043C Ilya Loshchilov \u0438 Frank Hutter)."),Vs=c(),d(de.$$.fragment),Xs=c(),N=n("p"),Fa=l("\u041D\u0430\u043A\u043E\u043D\u0435\u0446, \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0449\u0438\u043A \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u0438 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E - \u043F\u0440\u043E\u0441\u0442\u043E \u043B\u0438\u043D\u0435\u0439\u043D\u043E\u0435 \u0443\u043C\u0435\u043D\u044C\u0448\u0435\u043D\u0438\u0435 \u0432\u0435\u0441\u043E\u0432 \u0441 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F (5e-5) \u0434\u043E 0. \u0427\u0442\u043E\u0431\u044B \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E \u0437\u0430\u0434\u0430\u0442\u044C \u0435\u0433\u043E, \u043D\u0430\u043C \u043D\u0443\u0436\u043D\u043E \u0437\u043D\u0430\u0442\u044C \u0447\u0438\u0441\u043B\u043E \u0448\u0430\u0433\u043E\u0432 \u0432 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0438, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044F \u043A\u0430\u043A \u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0447\u0438\u0441\u043B\u0430 \u044D\u043F\u043E\u0445 \u0438 \u0447\u0438\u0441\u043B\u0430 \u0431\u0430\u0442\u0447\u0435\u0439 (\u0434\u043B\u0438\u043D\u044B \u043D\u0430\u0448\u0435\u0433\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043A\u0430 \u0434\u0430\u043D\u043D\u044B\u0445). \u0427\u0438\u0441\u043B\u043E \u044D\u043F\u043E\u0445 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0432 "),cs=n("code"),Ma=l("Trainer"),Ua=l(" \u0440\u0430\u0432\u043D\u043E 3, \u0442\u0430\u043A \u0436\u0435 \u043C\u044B \u0437\u0430\u0434\u0430\u0434\u0438\u043C \u0435\u0433\u043E \u0438 \u0441\u0435\u0439\u0447\u0430\u0441:"),Zs=c(),d(ue.$$.fragment),et=c(),d(fe.$$.fragment),st=c(),_e=n("h3"),La=l("\u041E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0439 \u0446\u0438\u043A\u043B"),tt=c(),H=n("p"),Ga=l("\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442: \u043C\u044B \u0445\u043E\u0442\u0438\u043C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C GPU \u0432 \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0443 \u043D\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043A\u0430\u044F \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C (\u043D\u0430 CPU \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043D\u044F\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0447\u0430\u0441\u043E\u0432 \u0432\u043C\u0435\u0441\u0442\u043E \u043F\u0430\u0440\u044B \u043C\u0438\u043D\u0443\u0442). \u0427\u0442\u043E\u0431\u044B \u0434\u043E\u0431\u0438\u0442\u044C\u0441\u044F \u044D\u0442\u043E\u0433\u043E, \u043C\u044B \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u043C \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E "),ms=n("code"),Na=l("device"),Ha=l(" \u0438 \xAB\u043F\u0440\u0438\u043A\u0440\u0435\u043F\u0438\u043C\xBB \u043A \u0432\u0438\u0434\u0435\u043E\u043A\u0430\u0440\u0442\u0435 \u043D\u0430\u0448\u0443 \u043C\u043E\u0434\u0435\u043B\u044C \u0438 \u0434\u0430\u043D\u043D\u044B\u0435:"),at=c(),d(he.$$.fragment),lt=c(),d($e.$$.fragment),rt=c(),Ue=n("p"),Ia=l("\u0422\u0435\u043F\u0435\u0440\u044C \u043C\u044B \u0433\u043E\u0442\u043E\u0432\u044B \u043A \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044E \u043C\u043E\u0434\u0435\u043B\u0438! \u0427\u0442\u043E\u0431\u044B \u0438\u043C\u0435\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043E \u0442\u043E\u043C, \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u044D\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043D\u044F\u0442\u044C, \u043C\u044B \u0434\u043E\u0431\u0430\u0432\u0438\u043C \u043F\u0440\u043E\u0433\u0440\u0435\u0441\u0441-\u0431\u0430\u0440, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u043B\u043B\u044E\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C, \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0448\u0430\u0433\u043E\u0432 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E. \u042D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0431\u0438\u0431\u0438\u043B\u0438\u043E\u0442\u0435\u043A\u0438 tqdm:"),ot=c(),d(be.$$.fragment),nt=c(),Le=n("p"),Ba=l("\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0430\u043C\u0435\u0442\u0438\u0442\u044C, \u0447\u0442\u043E \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F \u0432\u044B\u0433\u043B\u044F\u0434\u0438\u0442 \u043E\u0447\u0435\u043D\u044C \u043F\u043E\u0445\u043E\u0436\u0438\u043C \u043D\u0430 \u0442\u043E, \u043A\u0430\u043A \u043E\u043D \u0432\u044B\u0433\u043B\u044F\u0434\u0435\u043B \u0432 \u043D\u0430\u0448\u0438\u0445 \u043F\u0435\u0440\u0432\u044B\u0445 \u043F\u0440\u0438\u043C\u0435\u0440\u0430\u0445. \u041C\u044B \u043D\u0435 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u043B\u0438 \u043C\u043E\u0434\u0435\u043B\u0438, \u0447\u0442\u043E\u0431\u044B \u043E\u043D\u0430 \u043D\u0430\u043C \u0447\u0442\u043E-\u0442\u043E \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u043B\u0430 \u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F. \u0414\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u043C\u044B \u0434\u043E\u0431\u0430\u0432\u0438\u043C \u0446\u0438\u043A\u043B \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u0438."),pt=c(),ke=n("h3"),Ra=l("\u0412\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0439 \u0446\u0438\u043A\u043B"),it=c(),y=n("p"),Ja=l("\u0420\u0430\u043D\u0435\u0435 \u043C\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043B\u0438 \u043C\u0435\u0442\u0440\u0438\u043A\u0443, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u043D\u0430\u043C \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u043B\u0430 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0430 \u{1F917} Evaluate. \u041C\u044B \u0443\u0436\u0435 \u0437\u043D\u0430\u0435\u043C, \u0447\u0442\u043E \u0435\u0441\u0442\u044C \u043C\u0435\u0442\u043E\u0434 "),ds=n("code"),Ya=l("metric.compute()"),Qa=l(", \u043E\u0434\u043D\u0430\u043A\u043E \u043C\u0435\u0442\u0440\u0438\u043A\u0438 \u043C\u043E\u0433\u0443\u0442 \u043D\u0430\u043A\u0430\u043F\u043B\u0438\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435 \u0438\u0442\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u043E \u0431\u0430\u0442\u0447\u0443, \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0435\u0441\u0442\u044C \u043C\u0435\u0442\u043E\u0434 "),us=n("code"),Ka=l("add_batch()"),Va=l(". \u041F\u043E\u0441\u043B\u0435 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u043C\u044B \u043F\u0440\u043E\u0439\u0434\u0435\u043C\u0441\u044F \u043F\u043E \u0432\u0441\u0435\u043C \u0431\u0430\u0442\u0447\u0430\u043C, \u043C\u044B \u0441\u043C\u043E\u0436\u0435\u043C \u0432\u044B\u0447\u0438\u0441\u043B\u0438\u0442\u044C \u0444\u0438\u043D\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E "),fs=n("code"),Xa=l("metric.compute()"),Za=l(". \u0412\u043E\u0442 \u043F\u0440\u0438\u043C\u0435\u0440 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u044D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0432 \u0446\u0438\u043A\u043B\u0435 \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u0438:"),ct=c(),d(ve.$$.fragment),mt=c(),d(je.$$.fragment),dt=c(),Ge=n("p"),el=l("\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u043C: \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u0432\u044B, \u043C\u043E\u0433\u0443\u0442 \u043D\u0435\u043C\u043D\u043E\u0433\u043E \u043E\u0442\u043B\u0438\u0447\u0430\u0442\u044C\u0441\u044F \u0438\u0437-\u0437\u0430 \u043D\u0430\u043B\u0438\u0447\u0438\u044F \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u0441\u0442\u0435\u0439 \u043F\u0440\u0438 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 \u0441\u043B\u043E\u044F \u043C\u043E\u0434\u0435\u043B\u0438 \u0438 \u0438\u0437-\u0437\u0430 \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0435\u043C\u0435\u0448\u0438\u0432\u0430\u043D\u0438\u044F \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430, \u043E\u0434\u043D\u0430\u043A\u043E \u0438\u0445 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0434\u043E\u043B\u0436\u0435\u043D \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0442\u044C."),ut=c(),d(I.$$.fragment),ft=c(),W=n("h3"),B=n("a"),_s=n("span"),d(we.$$.fragment),sl=c(),hs=n("span"),tl=l("\u0423\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0435 \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0435\u0433\u043E \u0446\u0438\u043A\u043B\u0430 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u{1F917} Accelerate"),_t=c(),d(ge.$$.fragment),ht=c(),R=n("p"),al=l("\u041E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0439 \u0446\u0438\u043A\u043B, \u0437\u0430\u0434\u0430\u043D\u043D\u044B\u0439 \u0432\u044B\u0448\u0435, \u043E\u0442\u043B\u0438\u0447\u043D\u043E \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u043D\u0430 \u043E\u0434\u043D\u043E\u043C GPU \u0438\u043B\u0438 CPU. \u041E\u0434\u043D\u0430\u043A\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 "),ze=n("a"),ll=l("\u{1F917} Accelerate"),rl=l(" \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0441 \u043D\u0435\u0431\u043E\u043B\u044C\u0448\u0438\u043C\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\u043C\u0438 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u044D\u0442\u0443 \u043F\u0440\u043E\u0446\u0435\u0434\u0443\u0440\u0443 \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E GPU \u0438\u043B\u0438 TPU. \u041D\u0430\u0447\u0438\u0438\u043D\u0430\u044F \u0441 \u043C\u043E\u043C\u0435\u043D\u0442\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0445 \u0438 \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043A\u043E\u0432 \u0434\u0430\u043D\u043D\u044B\u0445, \u043D\u0430\u0448 \xAB\u0440\u0443\u0447\u043D\u043E\u0439\xBB \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0439 \u0446\u0438\u043A\u043B \u0432\u044B\u0433\u043B\u044F\u0434\u0438\u0442 \u0442\u0430\u043A:"),$t=c(),d(Ee.$$.fragment),bt=c(),Ne=n("p"),ol=l("\u0410 \u0432\u043E\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043D\u0443\u0436\u043D\u043E \u0432\u043D\u0435\u0441\u0442\u0438, \u0447\u0442\u043E\u0431\u044B \u0443\u0441\u043A\u043E\u0440\u0438\u0442\u044C \u043F\u0440\u043E\u0446\u0435\u0441\u0441:"),kt=c(),d(qe.$$.fragment),vt=c(),A=n("p"),nl=l("\u041F\u0435\u0440\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 \u2013 \u044D\u0442\u043E \u0441\u0442\u0440\u043E\u043A\u0430 \u0438\u043C\u043F\u043E\u0440\u0442\u0430 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438. \u0412\u0442\u043E\u0440\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043E\u0431\u044A\u0435\u043A\u0442 "),$s=n("code"),pl=l("Accelerator"),il=l(`, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043F\u0440\u043E\u0430\u043D\u0430\u043B\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u0438 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438. \u{1F917} Accelerate \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0435 \u043E\u0431\u043E\u0440\u0443\u0434\u043E\u0432\u0430\u043D\u0438\u0435, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \xAB\u043F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u044F\u044E\u0442\xBB
\u043C\u043E\u0434\u0435\u043B\u044C \u0438 \u0434\u0430\u043D\u043D\u044B\u0435 \u043A \u0432\u0438\u0434\u0435\u043E\u043A\u0430\u0440\u0442\u0435 (\u0438\u043B\u0438, \u0435\u0441\u043B\u0438 \u0432\u0430\u043C \u0442\u0430\u043A \u0443\u0434\u043E\u0431\u043D\u0435\u0435, \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0445 \u043D\u0430 `),bs=n("code"),cl=l("accelerator.device"),ml=l(" \u0432\u043C\u0435\u0441\u0442\u043E \u043F\u0440\u043E\u0441\u0442\u043E "),ks=n("code"),dl=l("device"),ul=l(")."),jt=c(),v=n("p"),fl=l("\u0414\u0430\u043B\u0435\u0435 \u0433\u043B\u0430\u0432\u043D\u0430\u044F \u0447\u0430\u0441\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u044B \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u043E\u043A\u0435, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0435, \u043C\u043E\u0434\u0435\u043B\u044C \u0438 \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0442\u043E\u0440 \u043D\u0430 "),vs=n("code"),_l=l("accelerator.prepare()"),hl=l(". \u042D\u0442\u043E\u0442 \u043C\u0435\u0442\u043E\u0434 \xAB\u043E\u0431\u0435\u0440\u043D\u0435\u0442\xBB \u0432\u0430\u0448\u0438 \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0432 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u0441\u044F, \u0447\u0442\u043E \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0435 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E. \u041E\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u2013 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0431\u0430\u0442\u0447 \u043D\u0430 "),js=n("code"),$l=l("device"),bl=l(" (\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u043C: \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u044D\u0442\u0443 \u0441\u0442\u0440\u043E\u043A\u0443, \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u0435 "),ws=n("code"),kl=l("device"),vl=l(" \u043D\u0430 "),gs=n("code"),jl=l("accelerator.device"),wl=l(") \u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u0435 "),zs=n("code"),gl=l("loss.backward()"),zl=l(" \u043D\u0430 "),Es=n("code"),El=l("accelerator.backward(loss)"),ql=l("."),wt=c(),d(J.$$.fragment),gt=c(),He=n("p"),yl=l("\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u043A\u043E\u0434, \u044D\u0442\u043E \u043F\u043E\u043B\u043D\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u{1F917} Accelerate:"),zt=c(),d(ye.$$.fragment),Et=c(),Y=n("p"),Al=l("\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u0432 \u0441\u043A\u0440\u0438\u043F\u0442 "),qs=n("code"),Cl=l("train.py"),Pl=l(" \u0441\u0434\u0435\u043B\u0430\u0435\u0442 \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F \u0443\u043D\u0438\u0432\u0435\u0440\u0441\u0430\u043B\u044C\u043D\u044B\u043C \u0434\u043B\u044F \u043B\u044E\u0431\u043E\u0439 \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u044B. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0435\u0433\u043E \u043D\u0430 \u0432\u0430\u0448\u0435\u0439 \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u0435:"),qt=c(),d(Ae.$$.fragment),yt=c(),Ie=n("p"),Dl=l("\u044D\u0442\u0430 \u0441\u0442\u0440\u043E\u043A\u0430 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442 \u0432\u0430\u043C \u043E\u0442\u0432\u0435\u0442\u0438\u0442\u044C \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442 \u0432\u0430\u0448\u0438 \u043E\u0442\u0432\u0435\u0442\u044B \u0432 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0439 \u0444\u0430\u0439\u043B, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043F\u0440\u0438 \u0432\u044B\u0437\u043E\u0432\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B:"),At=c(),d(Ce.$$.fragment),Ct=c(),Be=n("p"),Sl=l("\u0437\u0430\u043F\u0443\u0441\u043A\u0430\u044E\u0449\u0435\u0439 \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0435 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0435."),Pt=c(),Q=n("p"),xl=l("\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u043A\u043E\u0434 \u0432 Jupyter Notebook (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043F\u0440\u043E\u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0435\u0433\u043E \u0441 TPU \u043D\u0430 Google Colab), \u043F\u0440\u043E\u0441\u0442\u043E \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043A\u043E\u0434 \u0432 "),ys=n("code"),Tl=l("training_function()"),Ol=l(" \u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u044F\u0447\u0435\u0439\u043A\u0443:"),Dt=c(),d(Pe.$$.fragment),St=c(),K=n("p"),Wl=l("\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043D\u0430\u0439\u0442\u0438 \u0431\u043E\u043B\u044C\u0448\u0435 \u043F\u0440\u0438\u043C\u0435\u0440\u043E\u0432 \u0432 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438 "),De=n("a"),Fl=l("\u{1F917} Accelerate repo"),Ml=l("."),this.h()},l(e){const a=Nr('[data-svelte="svelte-1phssyn"]',document.head);b=p(a,"META",{name:!0,content:!0}),a.forEach(s),g=m(e),w=p(e,"H1",{id:!0});var As=i(w);ee=r(As,"\u041F\u043E\u043B\u043D\u043E\u0435 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0435"),As.forEach(s),F=m(e),u(q.$$.fragment,e),C=m(e),u(D.$$.fragment,e),Cs=m(e),M=p(e,"P",{});var Se=i(M);It=r(Se,"\u0422\u0435\u043F\u0435\u0440\u044C \u043C\u044B \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0438\u043C, \u043A\u0430\u043A \u0434\u043E\u0441\u0442\u0438\u0447\u044C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u0438\u0437 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0439 \u0433\u043B\u0430\u0432\u044B \u0431\u0435\u0437 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043A\u043B\u0430\u0441\u0441\u0430 "),Qe=p(Se,"CODE",{});var Ul=i(Qe);Bt=r(Ul,"Trainer"),Ul.forEach(s),Rt=r(Se,". \u0412 \u044D\u0442\u043E\u0439 \u0433\u043B\u0430\u0432\u0435 \u043C\u044B \u043F\u0440\u0435\u0434\u043F\u043E\u043B\u0430\u0433\u0430\u0435\u043C, \u0447\u0442\u043E \u0432\u044B \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u043B\u0438 \u044D\u0442\u0430\u043F\u044B \u043F\u0440\u0435\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0438\u043D\u0433\u0430 \u0440\u0430\u0437\u0434\u0435\u043B\u0430 2. \u041D\u0438\u0436\u0435 \u043A\u043E\u0440\u043E\u0442\u043A\u0430\u044F \u0432\u044B\u0436\u0438\u043C\u043A\u0430 \u0442\u043E\u0433\u043E, \u0447\u0442\u043E \u0432\u0430\u043C \u043F\u043E\u043D\u0430\u0434\u043E\u0431\u0438\u0442\u0441\u044F:"),Se.forEach(s),Ps=m(e),u(se.$$.fragment,e),Ds=m(e),te=p(e,"H3",{id:!0});var Ll=i(te);Jt=r(Ll,"\u041F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0430 \u043A \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044E"),Ll.forEach(s),Ss=m(e),S=p(e,"P",{});var Re=i(S);Yt=r(Re,"\u041F\u0435\u0440\u0435\u0434 \u0440\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0446\u0438\u043A\u043B\u0430 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u0434\u0430\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432. \u041F\u0435\u0440\u0432\u044B\u0439: \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 (\u0434\u0430\u043B\u0435\u0435 - dataloaders), \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043C\u044B \u0431\u0443\u0434\u0435\u043C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u043B\u044F \u0438\u0442\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u043E \u0431\u0430\u0442\u0447\u0430\u043C \u0434\u0430\u043D\u043D\u044B\u0445. \u041F\u0435\u0440\u0435\u0434 \u044D\u0442\u0438\u043C \u043D\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0439 \u043F\u043E\u0441\u0442\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0438\u043D\u0433\u0430 \u043A \u043D\u0430\u0448\u0435\u043C\u0443 "),Ke=p(Re,"CODE",{});var Gl=i(Ke);Qt=r(Gl,"tokenized_datasets"),Gl.forEach(s),Kt=r(Re,". \u042D\u0442\u043E \u043D\u0443\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C: \u0432 \u043F\u0440\u043E\u0448\u043B\u044B\u0439 \u0440\u0430\u0437 \u0437\u0430 \u043D\u0430\u0441 \u044D\u0442\u043E \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0434\u0435\u043B\u0430\u043B "),Ve=p(Re,"CODE",{});var Nl=i(Ve);Vt=r(Nl,"Trainer"),Nl.forEach(s),Xt=r(Re,". \u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435:"),Re.forEach(s),xs=m(e),x=p(e,"UL",{});var Je=i(x);O=p(Je,"LI",{});var Ye=i(O);Zt=r(Ye,"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043A\u043E\u043B\u043E\u043D\u043A\u0438, \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043C\u043E\u0434\u0435\u043B\u044C \u043D\u0435 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0435\u0442 \u043D\u0430 \u0432\u0445\u043E\u0434 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, "),Xe=p(Ye,"CODE",{});var Hl=i(Xe);ea=r(Hl,"sentence1"),Hl.forEach(s),sa=r(Ye," \u0438 "),Ze=p(Ye,"CODE",{});var Il=i(Ze);ta=r(Il,"sentence2"),Il.forEach(s),aa=r(Ye,")."),Ye.forEach(s),la=m(Je),P=p(Je,"LI",{});var V=i(P);ra=r(V,"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u043B\u043E\u043D\u043A\u0443 "),es=p(V,"CODE",{});var Bl=i(es);oa=r(Bl,"label"),Bl.forEach(s),na=r(V," \u0432 "),ss=p(V,"CODE",{});var Rl=i(ss);pa=r(Rl,"labels"),Rl.forEach(s),ia=r(V," (\u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043C\u043E\u0434\u0435\u043B\u044C \u043E\u0436\u0438\u0434\u0430\u0435\u0442 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442, \u043D\u0430\u0437\u0432\u0430\u043D\u043D\u044B\u0439 "),ts=p(V,"CODE",{});var Jl=i(ts);ca=r(Jl,"labels"),Jl.forEach(s),ma=r(V,")."),V.forEach(s),da=m(Je),as=p(Je,"LI",{});var Yl=i(as);ua=r(Yl,"\u0417\u0430\u0434\u0430\u0442\u044C \u0442\u0438\u043F \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 pytorch tensors \u0432\u043C\u0435\u0441\u0442\u043E \u0441\u043F\u0438\u0441\u043A\u043E\u0432."),Yl.forEach(s),Je.forEach(s),Ts=m(e),U=p(e,"P",{});var Tt=i(U);fa=r(Tt,"\u041D\u0430\u0448 "),ls=p(Tt,"CODE",{});var Ql=i(ls);_a=r(Ql,"tokenized_datasets"),Ql.forEach(s),ha=r(Tt," \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0435 \u043C\u0435\u0442\u043E\u0434\u044B \u0434\u043B\u044F \u043A\u0430\u0436\u0434\u043E\u0433\u043E \u0438\u0437 \u043F\u0440\u0438\u0432\u0435\u0434\u0435\u043D\u043D\u044B\u0445 \u0432\u044B\u0448\u0435 \u0448\u0430\u0433\u043E\u0432:"),Tt.forEach(s),Os=m(e),u(ae.$$.fragment,e),Ws=m(e),Te=p(e,"P",{});var Kl=i(Te);$a=r(Kl,"\u041C\u044B \u043C\u043E\u0436\u0435\u043C \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C, \u0447\u0442\u043E \u0432 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0435 \u0443 \u043D\u0430\u0441 \u043F\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044E\u0442 \u0442\u043E\u043B\u044C\u043A\u043E \u0442\u0435 \u043F\u043E\u043B\u044F, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043E\u0436\u0438\u0434\u0430\u0435\u0442 \u043D\u0430\u0448\u0430 \u043C\u043E\u0434\u0435\u043B\u044C:"),Kl.forEach(s),Fs=m(e),u(le.$$.fragment,e),Ms=m(e),Oe=p(e,"P",{});var Vl=i(Oe);ba=r(Vl,"\u0422\u0435\u043F\u0435\u0440\u044C, \u043A\u043E\u0433\u0434\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u0433\u043E\u0442\u043E\u0432, \u043C\u044B \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u0434\u0430\u0442\u044C dataloader:"),Vl.forEach(s),Us=m(e),u(re.$$.fragment,e),Ls=m(e),We=p(e,"P",{});var Xl=i(We);ka=r(Xl,"\u0414\u043B\u044F \u0442\u043E\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u0443\u0431\u0435\u0434\u0438\u0442\u044C\u0441\u044F \u0432 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u043E\u0448\u0438\u0431\u043E\u043A \u0432 \u0441\u0434\u0435\u043B\u0430\u043D\u043D\u043E\u043C \u043D\u0430\u043C\u0438 \u043F\u0440\u0435\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0438\u043D\u0433\u0435, \u043C\u044B \u043C\u043E\u0436\u0435\u043C \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043E\u0434\u0438\u043D \u0431\u0430\u0442\u0447 \u0434\u0430\u043D\u043D\u044B\u0445:"),Xl.forEach(s),Gs=m(e),u(oe.$$.fragment,e),Ns=m(e),u(ne.$$.fragment,e),Hs=m(e),L=p(e,"P",{});var Ot=i(L);va=r(Ot,"\u041E\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0435, \u0447\u0442\u043E \u0444\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0440\u0430\u0437\u043C\u0435\u0440\u044B, \u0432\u0435\u0440\u043E\u044F\u0442\u043D\u043E, \u0431\u0443\u0434\u0443\u0442 \u043D\u0435\u043C\u043D\u043E\u0433\u043E \u043E\u0442\u043B\u0438\u0447\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0432 \u0432\u0430\u0448\u0435\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0442\u0430\u043A \u043A\u0430\u043A \u043C\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 "),rs=p(Ot,"CODE",{});var Zl=i(rs);ja=r(Zl,"shuffle=True"),Zl.forEach(s),wa=r(Ot," \u0434\u043B\u044F \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0435\u0433\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043A\u0430 \u0434\u0430\u043D\u043D\u044B\u0445, \u0442\u0430\u043A\u0436\u0435 \u043C\u044B \u0434\u043E\u043F\u043E\u043B\u043D\u044F\u0435\u043C (padding) \u0434\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0439 \u0434\u043B\u0438\u043D\u044B \u0432\u043D\u0443\u0442\u0440\u0438 \u0431\u0430\u0442\u0447\u0430."),Ot.forEach(s),Is=m(e),Fe=p(e,"P",{});var er=i(Fe);ga=r(er,"\u0422\u0435\u043F\u0435\u0440\u044C \u043C\u044B \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043B\u0438 \u044D\u0442\u0430\u043F \u043F\u0440\u0435\u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0438\u043D\u0433\u0430 (\u043F\u0440\u0438\u044F\u0442\u043D\u044B\u0439, \u043D\u043E \u043D\u0435\u0443\u043B\u043E\u0432\u0438\u043C\u044B\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0434\u043B\u044F \u043B\u044E\u0431\u043E\u0433\u043E \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u0438\u0441\u0442\u0430 \u043F\u043E \u043C\u0430\u0448\u0438\u043D\u043D\u043E\u043C\u0443 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044E), \u043F\u0435\u0440\u0435\u0439\u0434\u0435\u043C \u043A \u043C\u043E\u0434\u0435\u043B\u0438. \u041C\u044B \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u0443\u0435\u043C \u0435\u0435 \u0442\u043E\u0447\u043D\u043E \u0442\u0430\u043A, \u043A\u0430\u043A \u0434\u0435\u043B\u0430\u043B\u0438 \u0432 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u043C \u043F\u0440\u0438\u043C\u0435\u0440\u0435:"),er.forEach(s),Bs=m(e),u(pe.$$.fragment,e),Rs=m(e),Me=p(e,"P",{});var sr=i(Me);za=r(sr,"\u0427\u0442\u043E\u0431\u044B \u0443\u0431\u0435\u0434\u0438\u0442\u044C\u0441\u044F, \u0447\u0442\u043E \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0435 \u043F\u043E\u0439\u0434\u0435\u0442 \u0433\u043B\u0430\u0434\u043A\u043E, \u0432\u044B \u043F\u043E\u0434\u0430\u0434\u0438\u043C \u043D\u0430 \u0432\u0445\u043E\u0434 \u043C\u043E\u0434\u0435\u043B\u0438 \u043E\u0434\u0438\u043D \u0431\u0430\u0442\u0447:"),sr.forEach(s),Js=m(e),u(ie.$$.fragment,e),Ys=m(e),u(ce.$$.fragment,e),Qs=m(e),G=p(e,"P",{});var Wt=i(G);Ea=r(Wt,"\u0412\u0441\u0435 \u043C\u043E\u0434\u0435\u043B\u0438 \u{1F917} \u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0435\u0440\u043E\u0432 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u044E\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438 \u043F\u043E\u0442\u0435\u0440\u044C, \u0435\u0441\u043B\u0438 \u0432 \u0434\u0430\u043D\u043D\u044B\u0445 \u0431\u044B\u043B\u0438 "),os=p(Wt,"CODE",{});var tr=i(os);qa=r(tr,"labels"),tr.forEach(s),ya=r(Wt,", \u0430 \u0442\u0430\u043A\u0436\u0435 \u043B\u043E\u0433\u0438\u0442\u044B (\u0432 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0435 \u043F\u043E\u043B\u0443\u0447\u0430\u0435\u0442\u0441\u044F \u0442\u0435\u043D\u0437\u043E\u0440 8 \u0445 2)."),Wt.forEach(s),Ks=m(e),z=p(e,"P",{});var T=i(z);Aa=r(T,"\u041C\u044B \u043F\u043E\u0447\u0442\u0438 \u0433\u043E\u0442\u043E\u0432\u044B \u043A \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u0438\u044E \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0435\u0433\u043E \u0446\u0438\u043A\u043B\u0430! \u041C\u044B \u043F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u043B\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u0432\u0435 \u0432\u0435\u0449\u0438: \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0442\u043E\u0440 \u0438 \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0449\u0438\u043A \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u0438 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F (learning rate scheduler). \u0412\u0432\u0438\u0434\u0443 \u0442\u043E\u0433\u043E, \u0447\u0442\u043E \u043C\u044B \u043F\u044B\u0442\u0430\u0435\u043C\u0441\u044F \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0442\u043E, \u0447\u0442\u043E \u0434\u0435\u043B\u0430\u043B \u0437\u0430 \u043D\u0430\u0441 "),ns=p(T,"CODE",{});var ar=i(ns);Ca=r(ar,"Trainer"),ar.forEach(s),Pa=r(T,", \u043C\u044B \u0431\u0443\u0434\u0435\u043C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0442\u0430\u043A\u0438\u0435 \u0436\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E. \u041E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0442\u043E\u0440, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0432 "),ps=p(T,"CODE",{});var lr=i(ps);Da=r(lr,"Trainer"),lr.forEach(s),Sa=r(T," - "),is=p(T,"CODE",{});var rr=i(is);xa=r(rr,"AdamW"),rr.forEach(s),Ta=r(T,", \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043F\u043E\u0447\u0442\u0438 \u043F\u043E\u043B\u043D\u043E\u0439 \u043A\u043E\u043F\u0438\u0435\u0439 Adam, \u0437\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435\u043C \u0442\u0440\u044E\u043A\u0430 \u0441 \u0441\u043E\u043A\u0440\u0430\u0449\u0435\u043D\u0438\u0435\u043C \u0432\u0435\u0441\u043E\u0432 (\u0434\u0430\u043B\u0435\u0435 - weight decay) (\u0441\u043C. "),me=p(T,"A",{href:!0,rel:!0});var or=i(me);Oa=r(or,"\u201CDecoupled Weight Decay Regularization\u201D"),or.forEach(s),Wa=r(T," \u0437\u0430 \u0430\u0432\u0442\u043E\u0440\u0441\u0442\u0432\u043E\u043C Ilya Loshchilov \u0438 Frank Hutter)."),T.forEach(s),Vs=m(e),u(de.$$.fragment,e),Xs=m(e),N=p(e,"P",{});var Ft=i(N);Fa=r(Ft,"\u041D\u0430\u043A\u043E\u043D\u0435\u0446, \u043F\u043B\u0430\u043D\u0438\u0440\u043E\u0432\u0449\u0438\u043A \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u0438 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E - \u043F\u0440\u043E\u0441\u0442\u043E \u043B\u0438\u043D\u0435\u0439\u043D\u043E\u0435 \u0443\u043C\u0435\u043D\u044C\u0448\u0435\u043D\u0438\u0435 \u0432\u0435\u0441\u043E\u0432 \u0441 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F (5e-5) \u0434\u043E 0. \u0427\u0442\u043E\u0431\u044B \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E \u0437\u0430\u0434\u0430\u0442\u044C \u0435\u0433\u043E, \u043D\u0430\u043C \u043D\u0443\u0436\u043D\u043E \u0437\u043D\u0430\u0442\u044C \u0447\u0438\u0441\u043B\u043E \u0448\u0430\u0433\u043E\u0432 \u0432 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0438, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044F \u043A\u0430\u043A \u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0447\u0438\u0441\u043B\u0430 \u044D\u043F\u043E\u0445 \u0438 \u0447\u0438\u0441\u043B\u0430 \u0431\u0430\u0442\u0447\u0435\u0439 (\u0434\u043B\u0438\u043D\u044B \u043D\u0430\u0448\u0435\u0433\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043A\u0430 \u0434\u0430\u043D\u043D\u044B\u0445). \u0427\u0438\u0441\u043B\u043E \u044D\u043F\u043E\u0445 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0432 "),cs=p(Ft,"CODE",{});var nr=i(cs);Ma=r(nr,"Trainer"),nr.forEach(s),Ua=r(Ft," \u0440\u0430\u0432\u043D\u043E 3, \u0442\u0430\u043A \u0436\u0435 \u043C\u044B \u0437\u0430\u0434\u0430\u0434\u0438\u043C \u0435\u0433\u043E \u0438 \u0441\u0435\u0439\u0447\u0430\u0441:"),Ft.forEach(s),Zs=m(e),u(ue.$$.fragment,e),et=m(e),u(fe.$$.fragment,e),st=m(e),_e=p(e,"H3",{id:!0});var pr=i(_e);La=r(pr,"\u041E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0439 \u0446\u0438\u043A\u043B"),pr.forEach(s),tt=m(e),H=p(e,"P",{});var Mt=i(H);Ga=r(Mt,"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442: \u043C\u044B \u0445\u043E\u0442\u0438\u043C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C GPU \u0432 \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0443 \u043D\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043A\u0430\u044F \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C (\u043D\u0430 CPU \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043D\u044F\u0442\u044C \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0447\u0430\u0441\u043E\u0432 \u0432\u043C\u0435\u0441\u0442\u043E \u043F\u0430\u0440\u044B \u043C\u0438\u043D\u0443\u0442). \u0427\u0442\u043E\u0431\u044B \u0434\u043E\u0431\u0438\u0442\u044C\u0441\u044F \u044D\u0442\u043E\u0433\u043E, \u043C\u044B \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u043C \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E "),ms=p(Mt,"CODE",{});var ir=i(ms);Na=r(ir,"device"),ir.forEach(s),Ha=r(Mt," \u0438 \xAB\u043F\u0440\u0438\u043A\u0440\u0435\u043F\u0438\u043C\xBB \u043A \u0432\u0438\u0434\u0435\u043E\u043A\u0430\u0440\u0442\u0435 \u043D\u0430\u0448\u0443 \u043C\u043E\u0434\u0435\u043B\u044C \u0438 \u0434\u0430\u043D\u043D\u044B\u0435:"),Mt.forEach(s),at=m(e),u(he.$$.fragment,e),lt=m(e),u($e.$$.fragment,e),rt=m(e),Ue=p(e,"P",{});var cr=i(Ue);Ia=r(cr,"\u0422\u0435\u043F\u0435\u0440\u044C \u043C\u044B \u0433\u043E\u0442\u043E\u0432\u044B \u043A \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044E \u043C\u043E\u0434\u0435\u043B\u0438! \u0427\u0442\u043E\u0431\u044B \u0438\u043C\u0435\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043E \u0442\u043E\u043C, \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u044D\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043D\u044F\u0442\u044C, \u043C\u044B \u0434\u043E\u0431\u0430\u0432\u0438\u043C \u043F\u0440\u043E\u0433\u0440\u0435\u0441\u0441-\u0431\u0430\u0440, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u043B\u043B\u044E\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C, \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0448\u0430\u0433\u043E\u0432 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F \u0443\u0436\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043E. \u042D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0431\u0438\u0431\u0438\u043B\u0438\u043E\u0442\u0435\u043A\u0438 tqdm:"),cr.forEach(s),ot=m(e),u(be.$$.fragment,e),nt=m(e),Le=p(e,"P",{});var mr=i(Le);Ba=r(mr,"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0430\u043C\u0435\u0442\u0438\u0442\u044C, \u0447\u0442\u043E \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F \u0432\u044B\u0433\u043B\u044F\u0434\u0438\u0442 \u043E\u0447\u0435\u043D\u044C \u043F\u043E\u0445\u043E\u0436\u0438\u043C \u043D\u0430 \u0442\u043E, \u043A\u0430\u043A \u043E\u043D \u0432\u044B\u0433\u043B\u044F\u0434\u0435\u043B \u0432 \u043D\u0430\u0448\u0438\u0445 \u043F\u0435\u0440\u0432\u044B\u0445 \u043F\u0440\u0438\u043C\u0435\u0440\u0430\u0445. \u041C\u044B \u043D\u0435 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u043B\u0438 \u043C\u043E\u0434\u0435\u043B\u0438, \u0447\u0442\u043E\u0431\u044B \u043E\u043D\u0430 \u043D\u0430\u043C \u0447\u0442\u043E-\u0442\u043E \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u043B\u0430 \u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F. \u0414\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u043C\u044B \u0434\u043E\u0431\u0430\u0432\u0438\u043C \u0446\u0438\u043A\u043B \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u0438."),mr.forEach(s),pt=m(e),ke=p(e,"H3",{id:!0});var dr=i(ke);Ra=r(dr,"\u0412\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0439 \u0446\u0438\u043A\u043B"),dr.forEach(s),it=m(e),y=p(e,"P",{});var X=i(y);Ja=r(X,"\u0420\u0430\u043D\u0435\u0435 \u043C\u044B \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043B\u0438 \u043C\u0435\u0442\u0440\u0438\u043A\u0443, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u043D\u0430\u043C \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u043B\u0430 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0430 \u{1F917} Evaluate. \u041C\u044B \u0443\u0436\u0435 \u0437\u043D\u0430\u0435\u043C, \u0447\u0442\u043E \u0435\u0441\u0442\u044C \u043C\u0435\u0442\u043E\u0434 "),ds=p(X,"CODE",{});var ur=i(ds);Ya=r(ur,"metric.compute()"),ur.forEach(s),Qa=r(X,", \u043E\u0434\u043D\u0430\u043A\u043E \u043C\u0435\u0442\u0440\u0438\u043A\u0438 \u043C\u043E\u0433\u0443\u0442 \u043D\u0430\u043A\u0430\u043F\u043B\u0438\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435 \u0438\u0442\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u043E \u0431\u0430\u0442\u0447\u0443, \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0435\u0441\u0442\u044C \u043C\u0435\u0442\u043E\u0434 "),us=p(X,"CODE",{});var fr=i(us);Ka=r(fr,"add_batch()"),fr.forEach(s),Va=r(X,". \u041F\u043E\u0441\u043B\u0435 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u043C\u044B \u043F\u0440\u043E\u0439\u0434\u0435\u043C\u0441\u044F \u043F\u043E \u0432\u0441\u0435\u043C \u0431\u0430\u0442\u0447\u0430\u043C, \u043C\u044B \u0441\u043C\u043E\u0436\u0435\u043C \u0432\u044B\u0447\u0438\u0441\u043B\u0438\u0442\u044C \u0444\u0438\u043D\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E "),fs=p(X,"CODE",{});var _r=i(fs);Xa=r(_r,"metric.compute()"),_r.forEach(s),Za=r(X,". \u0412\u043E\u0442 \u043F\u0440\u0438\u043C\u0435\u0440 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u044D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0432 \u0446\u0438\u043A\u043B\u0435 \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u0438:"),X.forEach(s),ct=m(e),u(ve.$$.fragment,e),mt=m(e),u(je.$$.fragment,e),dt=m(e),Ge=p(e,"P",{});var hr=i(Ge);el=r(hr,"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u043C: \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u0432\u044B, \u043C\u043E\u0433\u0443\u0442 \u043D\u0435\u043C\u043D\u043E\u0433\u043E \u043E\u0442\u043B\u0438\u0447\u0430\u0442\u044C\u0441\u044F \u0438\u0437-\u0437\u0430 \u043D\u0430\u043B\u0438\u0447\u0438\u044F \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u0441\u0442\u0435\u0439 \u043F\u0440\u0438 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u0432 \u0441\u043B\u043E\u044F \u043C\u043E\u0434\u0435\u043B\u0438 \u0438 \u0438\u0437-\u0437\u0430 \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0435\u043C\u0435\u0448\u0438\u0432\u0430\u043D\u0438\u044F \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430, \u043E\u0434\u043D\u0430\u043A\u043E \u0438\u0445 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0434\u043E\u043B\u0436\u0435\u043D \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0442\u044C."),hr.forEach(s),ut=m(e),u(I.$$.fragment,e),ft=m(e),W=p(e,"H3",{class:!0});var Ut=i(W);B=p(Ut,"A",{id:!0,class:!0,href:!0});var $r=i(B);_s=p($r,"SPAN",{});var br=i(_s);u(we.$$.fragment,br),br.forEach(s),$r.forEach(s),sl=m(Ut),hs=p(Ut,"SPAN",{});var kr=i(hs);tl=r(kr,"\u0423\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0435 \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0435\u0433\u043E \u0446\u0438\u043A\u043B\u0430 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u{1F917} Accelerate"),kr.forEach(s),Ut.forEach(s),_t=m(e),u(ge.$$.fragment,e),ht=m(e),R=p(e,"P",{});var Lt=i(R);al=r(Lt,"\u041E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0439 \u0446\u0438\u043A\u043B, \u0437\u0430\u0434\u0430\u043D\u043D\u044B\u0439 \u0432\u044B\u0448\u0435, \u043E\u0442\u043B\u0438\u0447\u043D\u043E \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u043D\u0430 \u043E\u0434\u043D\u043E\u043C GPU \u0438\u043B\u0438 CPU. \u041E\u0434\u043D\u0430\u043A\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438 "),ze=p(Lt,"A",{href:!0,rel:!0});var vr=i(ze);ll=r(vr,"\u{1F917} Accelerate"),vr.forEach(s),rl=r(Lt," \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0441 \u043D\u0435\u0431\u043E\u043B\u044C\u0448\u0438\u043C\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\u043C\u0438 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u044D\u0442\u0443 \u043F\u0440\u043E\u0446\u0435\u0434\u0443\u0440\u0443 \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E GPU \u0438\u043B\u0438 TPU. \u041D\u0430\u0447\u0438\u0438\u043D\u0430\u044F \u0441 \u043C\u043E\u043C\u0435\u043D\u0442\u0430 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0445 \u0438 \u0432\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043A\u043E\u0432 \u0434\u0430\u043D\u043D\u044B\u0445, \u043D\u0430\u0448 \xAB\u0440\u0443\u0447\u043D\u043E\u0439\xBB \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0439 \u0446\u0438\u043A\u043B \u0432\u044B\u0433\u043B\u044F\u0434\u0438\u0442 \u0442\u0430\u043A:"),Lt.forEach(s),$t=m(e),u(Ee.$$.fragment,e),bt=m(e),Ne=p(e,"P",{});var jr=i(Ne);ol=r(jr,"\u0410 \u0432\u043E\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043D\u0443\u0436\u043D\u043E \u0432\u043D\u0435\u0441\u0442\u0438, \u0447\u0442\u043E\u0431\u044B \u0443\u0441\u043A\u043E\u0440\u0438\u0442\u044C \u043F\u0440\u043E\u0446\u0435\u0441\u0441:"),jr.forEach(s),kt=m(e),u(qe.$$.fragment,e),vt=m(e),A=p(e,"P",{});var Z=i(A);nl=r(Z,"\u041F\u0435\u0440\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 \u2013 \u044D\u0442\u043E \u0441\u0442\u0440\u043E\u043A\u0430 \u0438\u043C\u043F\u043E\u0440\u0442\u0430 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438. \u0412\u0442\u043E\u0440\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043E\u0431\u044A\u0435\u043A\u0442 "),$s=p(Z,"CODE",{});var wr=i($s);pl=r(wr,"Accelerator"),wr.forEach(s),il=r(Z,`, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043F\u0440\u043E\u0430\u043D\u0430\u043B\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u0438 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438. \u{1F917} Accelerate \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0435 \u043E\u0431\u043E\u0440\u0443\u0434\u043E\u0432\u0430\u043D\u0438\u0435, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \xAB\u043F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u044F\u044E\u0442\xBB
\u043C\u043E\u0434\u0435\u043B\u044C \u0438 \u0434\u0430\u043D\u043D\u044B\u0435 \u043A \u0432\u0438\u0434\u0435\u043E\u043A\u0430\u0440\u0442\u0435 (\u0438\u043B\u0438, \u0435\u0441\u043B\u0438 \u0432\u0430\u043C \u0442\u0430\u043A \u0443\u0434\u043E\u0431\u043D\u0435\u0435, \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0445 \u043D\u0430 `),bs=p(Z,"CODE",{});var gr=i(bs);cl=r(gr,"accelerator.device"),gr.forEach(s),ml=r(Z," \u0432\u043C\u0435\u0441\u0442\u043E \u043F\u0440\u043E\u0441\u0442\u043E "),ks=p(Z,"CODE",{});var zr=i(ks);dl=r(zr,"device"),zr.forEach(s),ul=r(Z,")."),Z.forEach(s),jt=m(e),v=p(e,"P",{});var E=i(v);fl=r(E,"\u0414\u0430\u043B\u0435\u0435 \u0433\u043B\u0430\u0432\u043D\u0430\u044F \u0447\u0430\u0441\u0442\u044C \u0440\u0430\u0431\u043E\u0442\u044B \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u0432 \u0441\u0442\u0440\u043E\u043A\u0435, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0435, \u043C\u043E\u0434\u0435\u043B\u044C \u0438 \u043E\u043F\u0442\u0438\u043C\u0438\u0437\u0430\u0442\u043E\u0440 \u043D\u0430 "),vs=p(E,"CODE",{});var Er=i(vs);_l=r(Er,"accelerator.prepare()"),Er.forEach(s),hl=r(E,". \u042D\u0442\u043E\u0442 \u043C\u0435\u0442\u043E\u0434 \xAB\u043E\u0431\u0435\u0440\u043D\u0435\u0442\xBB \u0432\u0430\u0448\u0438 \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0432 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u0441\u044F, \u0447\u0442\u043E \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0435 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E. \u041E\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044F \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u2013 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0431\u0430\u0442\u0447 \u043D\u0430 "),js=p(E,"CODE",{});var qr=i(js);$l=r(qr,"device"),qr.forEach(s),bl=r(E," (\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u043C: \u0435\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u044D\u0442\u0443 \u0441\u0442\u0440\u043E\u043A\u0443, \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u0435 "),ws=p(E,"CODE",{});var yr=i(ws);kl=r(yr,"device"),yr.forEach(s),vl=r(E," \u043D\u0430 "),gs=p(E,"CODE",{});var Ar=i(gs);jl=r(Ar,"accelerator.device"),Ar.forEach(s),wl=r(E,") \u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u0435 "),zs=p(E,"CODE",{});var Cr=i(zs);gl=r(Cr,"loss.backward()"),Cr.forEach(s),zl=r(E," \u043D\u0430 "),Es=p(E,"CODE",{});var Pr=i(Es);El=r(Pr,"accelerator.backward(loss)"),Pr.forEach(s),ql=r(E,"."),E.forEach(s),wt=m(e),u(J.$$.fragment,e),gt=m(e),He=p(e,"P",{});var Dr=i(He);yl=r(Dr,"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u043A\u043E\u0434, \u044D\u0442\u043E \u043F\u043E\u043B\u043D\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u{1F917} Accelerate:"),Dr.forEach(s),zt=m(e),u(ye.$$.fragment,e),Et=m(e),Y=p(e,"P",{});var Gt=i(Y);Al=r(Gt,"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u0432 \u0441\u043A\u0440\u0438\u043F\u0442 "),qs=p(Gt,"CODE",{});var Sr=i(qs);Cl=r(Sr,"train.py"),Sr.forEach(s),Pl=r(Gt," \u0441\u0434\u0435\u043B\u0430\u0435\u0442 \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044F \u0443\u043D\u0438\u0432\u0435\u0440\u0441\u0430\u043B\u044C\u043D\u044B\u043C \u0434\u043B\u044F \u043B\u044E\u0431\u043E\u0439 \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u044B. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0435\u0433\u043E \u043D\u0430 \u0432\u0430\u0448\u0435\u0439 \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u0435:"),Gt.forEach(s),qt=m(e),u(Ae.$$.fragment,e),yt=m(e),Ie=p(e,"P",{});var xr=i(Ie);Dl=r(xr,"\u044D\u0442\u0430 \u0441\u0442\u0440\u043E\u043A\u0430 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0438\u0442 \u0432\u0430\u043C \u043E\u0442\u0432\u0435\u0442\u0438\u0442\u044C \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442 \u0432\u0430\u0448\u0438 \u043E\u0442\u0432\u0435\u0442\u044B \u0432 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0439 \u0444\u0430\u0439\u043B, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043F\u0440\u0438 \u0432\u044B\u0437\u043E\u0432\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B:"),xr.forEach(s),At=m(e),u(Ce.$$.fragment,e),Ct=m(e),Be=p(e,"P",{});var Tr=i(Be);Sl=r(Tr,"\u0437\u0430\u043F\u0443\u0441\u043A\u0430\u044E\u0449\u0435\u0439 \u0440\u0430\u0441\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0435 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0435."),Tr.forEach(s),Pt=m(e),Q=p(e,"P",{});var Nt=i(Q);xl=r(Nt,"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u043A\u043E\u0434 \u0432 Jupyter Notebook (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043F\u0440\u043E\u0442\u0435\u0441\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0435\u0433\u043E \u0441 TPU \u043D\u0430 Google Colab), \u043F\u0440\u043E\u0441\u0442\u043E \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043A\u043E\u0434 \u0432 "),ys=p(Nt,"CODE",{});var Or=i(ys);Tl=r(Or,"training_function()"),Or.forEach(s),Ol=r(Nt," \u0438 \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u044F\u0447\u0435\u0439\u043A\u0443:"),Nt.forEach(s),Dt=m(e),u(Pe.$$.fragment,e),St=m(e),K=p(e,"P",{});var Ht=i(K);Wl=r(Ht,"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043D\u0430\u0439\u0442\u0438 \u0431\u043E\u043B\u044C\u0448\u0435 \u043F\u0440\u0438\u043C\u0435\u0440\u043E\u0432 \u0432 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0438 "),De=p(Ht,"A",{href:!0,rel:!0});var Wr=i(De);Fl=r(Wr,"\u{1F917} Accelerate repo"),Wr.forEach(s),Ml=r(Ht,"."),Ht.forEach(s),this.h()},h(){j(b,"name","hf:doc:metadata"),j(b,"content",JSON.stringify(Qr)),j(w,"id",""),j(te,"id",""),j(me,"href","https://arxiv.org/abs/1711.05101"),j(me,"rel","nofollow"),j(_e,"id",""),j(ke,"id",""),j(B,"id","accelerate"),j(B,"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"),j(B,"href","#accelerate"),j(W,"class","relative group"),j(ze,"href","https://github.com/huggingface/accelerate"),j(ze,"rel","nofollow"),j(De,"href","https://github.com/huggingface/accelerate/tree/main/examples"),j(De,"rel","nofollow")},m(e,a){t(document.head,b),o(e,g,a),o(e,w,a),t(w,ee),o(e,F,a),f(q,e,a),o(e,C,a),f(D,e,a),o(e,Cs,a),o(e,M,a),t(M,It),t(M,Qe),t(Qe,Bt),t(M,Rt),o(e,Ps,a),f(se,e,a),o(e,Ds,a),o(e,te,a),t(te,Jt),o(e,Ss,a),o(e,S,a),t(S,Yt),t(S,Ke),t(Ke,Qt),t(S,Kt),t(S,Ve),t(Ve,Vt),t(S,Xt),o(e,xs,a),o(e,x,a),t(x,O),t(O,Zt),t(O,Xe),t(Xe,ea),t(O,sa),t(O,Ze),t(Ze,ta),t(O,aa),t(x,la),t(x,P),t(P,ra),t(P,es),t(es,oa),t(P,na),t(P,ss),t(ss,pa),t(P,ia),t(P,ts),t(ts,ca),t(P,ma),t(x,da),t(x,as),t(as,ua),o(e,Ts,a),o(e,U,a),t(U,fa),t(U,ls),t(ls,_a),t(U,ha),o(e,Os,a),f(ae,e,a),o(e,Ws,a),o(e,Te,a),t(Te,$a),o(e,Fs,a),f(le,e,a),o(e,Ms,a),o(e,Oe,a),t(Oe,ba),o(e,Us,a),f(re,e,a),o(e,Ls,a),o(e,We,a),t(We,ka),o(e,Gs,a),f(oe,e,a),o(e,Ns,a),f(ne,e,a),o(e,Hs,a),o(e,L,a),t(L,va),t(L,rs),t(rs,ja),t(L,wa),o(e,Is,a),o(e,Fe,a),t(Fe,ga),o(e,Bs,a),f(pe,e,a),o(e,Rs,a),o(e,Me,a),t(Me,za),o(e,Js,a),f(ie,e,a),o(e,Ys,a),f(ce,e,a),o(e,Qs,a),o(e,G,a),t(G,Ea),t(G,os),t(os,qa),t(G,ya),o(e,Ks,a),o(e,z,a),t(z,Aa),t(z,ns),t(ns,Ca),t(z,Pa),t(z,ps),t(ps,Da),t(z,Sa),t(z,is),t(is,xa),t(z,Ta),t(z,me),t(me,Oa),t(z,Wa),o(e,Vs,a),f(de,e,a),o(e,Xs,a),o(e,N,a),t(N,Fa),t(N,cs),t(cs,Ma),t(N,Ua),o(e,Zs,a),f(ue,e,a),o(e,et,a),f(fe,e,a),o(e,st,a),o(e,_e,a),t(_e,La),o(e,tt,a),o(e,H,a),t(H,Ga),t(H,ms),t(ms,Na),t(H,Ha),o(e,at,a),f(he,e,a),o(e,lt,a),f($e,e,a),o(e,rt,a),o(e,Ue,a),t(Ue,Ia),o(e,ot,a),f(be,e,a),o(e,nt,a),o(e,Le,a),t(Le,Ba),o(e,pt,a),o(e,ke,a),t(ke,Ra),o(e,it,a),o(e,y,a),t(y,Ja),t(y,ds),t(ds,Ya),t(y,Qa),t(y,us),t(us,Ka),t(y,Va),t(y,fs),t(fs,Xa),t(y,Za),o(e,ct,a),f(ve,e,a),o(e,mt,a),f(je,e,a),o(e,dt,a),o(e,Ge,a),t(Ge,el),o(e,ut,a),f(I,e,a),o(e,ft,a),o(e,W,a),t(W,B),t(B,_s),f(we,_s,null),t(W,sl),t(W,hs),t(hs,tl),o(e,_t,a),f(ge,e,a),o(e,ht,a),o(e,R,a),t(R,al),t(R,ze),t(ze,ll),t(R,rl),o(e,$t,a),f(Ee,e,a),o(e,bt,a),o(e,Ne,a),t(Ne,ol),o(e,kt,a),f(qe,e,a),o(e,vt,a),o(e,A,a),t(A,nl),t(A,$s),t($s,pl),t(A,il),t(A,bs),t(bs,cl),t(A,ml),t(A,ks),t(ks,dl),t(A,ul),o(e,jt,a),o(e,v,a),t(v,fl),t(v,vs),t(vs,_l),t(v,hl),t(v,js),t(js,$l),t(v,bl),t(v,ws),t(ws,kl),t(v,vl),t(v,gs),t(gs,jl),t(v,wl),t(v,zs),t(zs,gl),t(v,zl),t(v,Es),t(Es,El),t(v,ql),o(e,wt,a),f(J,e,a),o(e,gt,a),o(e,He,a),t(He,yl),o(e,zt,a),f(ye,e,a),o(e,Et,a),o(e,Y,a),t(Y,Al),t(Y,qs),t(qs,Cl),t(Y,Pl),o(e,qt,a),f(Ae,e,a),o(e,yt,a),o(e,Ie,a),t(Ie,Dl),o(e,At,a),f(Ce,e,a),o(e,Ct,a),o(e,Be,a),t(Be,Sl),o(e,Pt,a),o(e,Q,a),t(Q,xl),t(Q,ys),t(ys,Tl),t(Q,Ol),o(e,Dt,a),f(Pe,e,a),o(e,St,a),o(e,K,a),t(K,Wl),t(K,De),t(De,Fl),t(K,Ml),xt=!0},p(e,[a]){const As={};a&2&&(As.$$scope={dirty:a,ctx:e}),I.$set(As);const Se={};a&2&&(Se.$$scope={dirty:a,ctx:e}),J.$set(Se)},i(e){xt||(_(q.$$.fragment,e),_(D.$$.fragment,e),_(se.$$.fragment,e),_(ae.$$.fragment,e),_(le.$$.fragment,e),_(re.$$.fragment,e),_(oe.$$.fragment,e),_(ne.$$.fragment,e),_(pe.$$.fragment,e),_(ie.$$.fragment,e),_(ce.$$.fragment,e),_(de.$$.fragment,e),_(ue.$$.fragment,e),_(fe.$$.fragment,e),_(he.$$.fragment,e),_($e.$$.fragment,e),_(be.$$.fragment,e),_(ve.$$.fragment,e),_(je.$$.fragment,e),_(I.$$.fragment,e),_(we.$$.fragment,e),_(ge.$$.fragment,e),_(Ee.$$.fragment,e),_(qe.$$.fragment,e),_(J.$$.fragment,e),_(ye.$$.fragment,e),_(Ae.$$.fragment,e),_(Ce.$$.fragment,e),_(Pe.$$.fragment,e),xt=!0)},o(e){h(q.$$.fragment,e),h(D.$$.fragment,e),h(se.$$.fragment,e),h(ae.$$.fragment,e),h(le.$$.fragment,e),h(re.$$.fragment,e),h(oe.$$.fragment,e),h(ne.$$.fragment,e),h(pe.$$.fragment,e),h(ie.$$.fragment,e),h(ce.$$.fragment,e),h(de.$$.fragment,e),h(ue.$$.fragment,e),h(fe.$$.fragment,e),h(he.$$.fragment,e),h($e.$$.fragment,e),h(be.$$.fragment,e),h(ve.$$.fragment,e),h(je.$$.fragment,e),h(I.$$.fragment,e),h(we.$$.fragment,e),h(ge.$$.fragment,e),h(Ee.$$.fragment,e),h(qe.$$.fragment,e),h(J.$$.fragment,e),h(ye.$$.fragment,e),h(Ae.$$.fragment,e),h(Ce.$$.fragment,e),h(Pe.$$.fragment,e),xt=!1},d(e){s(b),e&&s(g),e&&s(w),e&&s(F),$(q,e),e&&s(C),$(D,e),e&&s(Cs),e&&s(M),e&&s(Ps),$(se,e),e&&s(Ds),e&&s(te),e&&s(Ss),e&&s(S),e&&s(xs),e&&s(x),e&&s(Ts),e&&s(U),e&&s(Os),$(ae,e),e&&s(Ws),e&&s(Te),e&&s(Fs),$(le,e),e&&s(Ms),e&&s(Oe),e&&s(Us),$(re,e),e&&s(Ls),e&&s(We),e&&s(Gs),$(oe,e),e&&s(Ns),$(ne,e),e&&s(Hs),e&&s(L),e&&s(Is),e&&s(Fe),e&&s(Bs),$(pe,e),e&&s(Rs),e&&s(Me),e&&s(Js),$(ie,e),e&&s(Ys),$(ce,e),e&&s(Qs),e&&s(G),e&&s(Ks),e&&s(z),e&&s(Vs),$(de,e),e&&s(Xs),e&&s(N),e&&s(Zs),$(ue,e),e&&s(et),$(fe,e),e&&s(st),e&&s(_e),e&&s(tt),e&&s(H),e&&s(at),$(he,e),e&&s(lt),$($e,e),e&&s(rt),e&&s(Ue),e&&s(ot),$(be,e),e&&s(nt),e&&s(Le),e&&s(pt),e&&s(ke),e&&s(it),e&&s(y),e&&s(ct),$(ve,e),e&&s(mt),$(je,e),e&&s(dt),e&&s(Ge),e&&s(ut),$(I,e),e&&s(ft),e&&s(W),$(we),e&&s(_t),$(ge,e),e&&s(ht),e&&s(R),e&&s($t),$(Ee,e),e&&s(bt),e&&s(Ne),e&&s(kt),$(qe,e),e&&s(vt),e&&s(A),e&&s(jt),e&&s(v),e&&s(wt),$(J,e),e&&s(gt),e&&s(He),e&&s(zt),$(ye,e),e&&s(Et),e&&s(Y),e&&s(qt),$(Ae,e),e&&s(yt),e&&s(Ie),e&&s(At),$(Ce,e),e&&s(Ct),e&&s(Be),e&&s(Pt),e&&s(Q),e&&s(Dt),$(Pe,e),e&&s(St),e&&s(K)}}}const Qr={local:"",sections:[{local:"",title:"\u041F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0430 \u043A \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u044E"},{local:"",title:"\u041E\u0431\u0443\u0447\u0430\u044E\u0449\u0438\u0439 \u0446\u0438\u043A\u043B"},{local:"",title:"\u0412\u0430\u043B\u0438\u0434\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0439 \u0446\u0438\u043A\u043B"},{local:"accelerate",title:"\u0423\u0441\u043A\u043E\u0440\u0435\u043D\u0438\u0435 \u043E\u0431\u0443\u0447\u0430\u044E\u0449\u0435\u0433\u043E \u0446\u0438\u043A\u043B\u0430 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u{1F917} Accelerate"}],title:"\u041F\u043E\u043B\u043D\u043E\u0435 \u043E\u0431\u0443\u0447\u0435\u043D\u0438\u0435"};function Kr(xe){return Hr(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class lo extends Ur{constructor(b){super();Lr(this,b,Kr,Yr,Gr,{})}}export{lo as default,Qr as metadata};
