import{s as et,o as nt,n as st}from"../chunks/scheduler.cc52f4b9.js";import{S as lt,i as it,e as m,s as r,c as b,h as at,a as p,d as n,b as o,f as Y,g as H,j as P,k as R,l as rt,m as s,n as w,t as y,o as k,p as E,q as Z,r as tt}from"../chunks/index.9480bb2b.js";import{T as ot}from"../chunks/Tip.f7b80743.js";import{C as mt,H as pt,E as ft}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.e0b4ce23.js";import{C as ut}from"../chunks/CourseFloatingBanner.0ea490da.js";function $t(z){let i,a,u="создать учетную запись",f;return{c(){i=Z("⚠️ Чтобы воспользоваться всеми возможностями, доступными в Model Hub и 🤗 Transformers, мы рекомендуем "),a=m("a"),a.textContent=u,f=Z("."),this.h()},l(l){i=tt(l,"⚠️ Чтобы воспользоваться всеми возможностями, доступными в Model Hub и 🤗 Transformers, мы рекомендуем "),a=p(l,"A",{href:!0,"data-svelte-h":!0}),P(a)!=="svelte-t6rq1k"&&(a.textContent=u),f=tt(l,"."),this.h()},h(){R(a,"href","https://huggingface.co/join")},m(l,$){s(l,i,$),s(l,a,$),s(l,f,$)},p:st,d(l){l&&(n(i),n(a),n(f))}}}function ct(z){let i,a,u,f,l,$,d,A,h,q,_,D='Как вы видели в <a href="../chapter1">Главе 1</a>, модели трансформеров обычно очень большие. С миллионами и десятками <em>миллиардов</em> параметров, обучение и развертывание этих моделей - сложная задача. Кроме того, поскольку новые модели выходят практически ежедневно и каждая из них имеет свою собственную реализацию, попробовать их все - задача не из легких.',S,x,J="Для решения этой проблемы была создана библиотека 🤗 Transformers. Ее цель - предоставить единый API, с помощью которого можно загрузить, обучить и сохранить любую модель Transformer. Основными особенностями библиотеки являются:",j,T,K="<li><strong>Простота использования</strong>: Скачать, загрузить и использовать современную модель NLP для инференса можно всего в две строчки кода.</li> <li><strong>Гибкость</strong>: По своей сути все модели представляют собой простые классы PyTorch <code>nn.Module</code> или TensorFlow <code>tf.keras.Model</code> и могут быть обработаны как любые другие модели в соответствующих фреймворках машинного обучения (ML).</li> <li><strong>Простота</strong>: В библиотеке почти нет абстракций. Концепция “Все в одном файле” является основной: прямой проход модели полностью определяется в одном файле, так что сам код понятен и доступен для изменения.</li>",I,g,Q=`Эта последняя особенность делает 🤗 Transformers совершенно непохожей на другие ML-библиотеки. Модели не строятся на основе модулей
которые совместно используются в разных файлах; вместо этого каждая модель имеет свои собственные слои. Помимо того, что это делает модели более доступными и понятными, это позволяет легко экспериментировать с одной моделью, не затрагивая другие.`,F,v,V='Эта глава начнется со сквозного примера, в котором мы используем модель и токенизатор вместе, чтобы воссоздать функцию <code>pipeline()</code>, представленную в <a href="../chapter1">Главе 1</a>. Далее мы обсудим API модели: мы погрузимся в модель и классы конфигурации, покажем, как загрузить модель и как она обрабатывает числовые данные для вывода прогнозов.',N,C,W="Затем мы рассмотрим API токенизатора, который является другим основным компонентом функции <code>pipeline()</code>. Токенизаторы берут на себя первый и последний шаги препроцессинга, обработку преобразования текста в числовые входы для нейронной сети и обратное преобразование в текст, когда это необходимо. Наконец, мы покажем вам, как обрабатывать несколько предложений, передавая их в модель в подготовленном батче, затем завершим все это более подробным рассмотрением высокоуровневой функции <code>tokenizer()</code>.",U,c,B,M,G,L,O;return l=new mt({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),d=new pt({props:{title:"Введение",local:"introduction",headingTag:"h1"}}),h=new ut({props:{chapter:2,classNames:"absolute z-10 right-0 top-0"}}),c=new ot({props:{$$slots:{default:[$t]},$$scope:{ctx:z}}}),M=new ft({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ru/chapter2/1.mdx"}}),{c(){i=m("meta"),a=r(),u=m("p"),f=r(),b(l.$$.fragment),$=r(),b(d.$$.fragment),A=r(),b(h.$$.fragment),q=r(),_=m("p"),_.innerHTML=D,S=r(),x=m("p"),x.textContent=J,j=r(),T=m("ul"),T.innerHTML=K,I=r(),g=m("p"),g.textContent=Q,F=r(),v=m("p"),v.innerHTML=V,N=r(),C=m("p"),C.innerHTML=W,U=r(),b(c.$$.fragment),B=r(),b(M.$$.fragment),G=r(),L=m("p"),this.h()},l(t){const e=at("svelte-u9bgzb",document.head);i=p(e,"META",{name:!0,content:!0}),e.forEach(n),a=o(t),u=p(t,"P",{}),Y(u).forEach(n),f=o(t),H(l.$$.fragment,t),$=o(t),H(d.$$.fragment,t),A=o(t),H(h.$$.fragment,t),q=o(t),_=p(t,"P",{"data-svelte-h":!0}),P(_)!=="svelte-1y4bk7k"&&(_.innerHTML=D),S=o(t),x=p(t,"P",{"data-svelte-h":!0}),P(x)!=="svelte-1sco3r1"&&(x.textContent=J),j=o(t),T=p(t,"UL",{"data-svelte-h":!0}),P(T)!=="svelte-19zfqjg"&&(T.innerHTML=K),I=o(t),g=p(t,"P",{"data-svelte-h":!0}),P(g)!=="svelte-uwlndd"&&(g.textContent=Q),F=o(t),v=p(t,"P",{"data-svelte-h":!0}),P(v)!=="svelte-4xs1h"&&(v.innerHTML=V),N=o(t),C=p(t,"P",{"data-svelte-h":!0}),P(C)!=="svelte-13dtm48"&&(C.innerHTML=W),U=o(t),H(c.$$.fragment,t),B=o(t),H(M.$$.fragment,t),G=o(t),L=p(t,"P",{}),Y(L).forEach(n),this.h()},h(){R(i,"name","hf:doc:metadata"),R(i,"content",dt)},m(t,e){rt(document.head,i),s(t,a,e),s(t,u,e),s(t,f,e),w(l,t,e),s(t,$,e),w(d,t,e),s(t,A,e),w(h,t,e),s(t,q,e),s(t,_,e),s(t,S,e),s(t,x,e),s(t,j,e),s(t,T,e),s(t,I,e),s(t,g,e),s(t,F,e),s(t,v,e),s(t,N,e),s(t,C,e),s(t,U,e),w(c,t,e),s(t,B,e),w(M,t,e),s(t,G,e),s(t,L,e),O=!0},p(t,[e]){const X={};e&2&&(X.$$scope={dirty:e,ctx:t}),c.$set(X)},i(t){O||(y(l.$$.fragment,t),y(d.$$.fragment,t),y(h.$$.fragment,t),y(c.$$.fragment,t),y(M.$$.fragment,t),O=!0)},o(t){k(l.$$.fragment,t),k(d.$$.fragment,t),k(h.$$.fragment,t),k(c.$$.fragment,t),k(M.$$.fragment,t),O=!1},d(t){t&&(n(a),n(u),n(f),n($),n(A),n(q),n(_),n(S),n(x),n(j),n(T),n(I),n(g),n(F),n(v),n(N),n(C),n(U),n(B),n(G),n(L)),n(i),E(l,t),E(d,t),E(h,t),E(c,t),E(M,t)}}}const dt='{"title":"Введение","local":"introduction","sections":[],"depth":1}';function ht(z){return nt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ct extends lt{constructor(i){super(),it(this,i,ht,ct,et,{})}}export{Ct as component};
