Buckets:

rtrm's picture
download
raw
34.7 kB
import{s as Ne,o as Qe}from"../chunks/scheduler.893fe8c9.js";import{S as je,i as Be,e as Pe,s as i,c as l,h as Ge,a as Ee,d as n,b as m,f as Ae,g as a,j as Ie,k as He,l as Oe,m as r,n as s,o as p,q as Re,t as f,p as x,r as Ue}from"../chunks/index.2d09ebb4.js";import{C as de,H as w,E as De}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.bf145217.js";import{C as Je}from"../chunks/CourseFloatingBanner.e3aeab73.js";import{Q as _}from"../chunks/Question.6e77d2db.js";import{F as Ke}from"../chunks/FrameworkSwitchCourse.f49b9dc4.js";function Ve(k){let u,o,g,c;return u=new w({props:{title:"9. Почему при вызове compile() для модели трансформера часто нет необходимости определять потери?",local:"9-почему-при-вызове-compile-для-модели-трансформера-часто-нет-необходимости-определять-потери",headingTag:"h3"}}),g=new _({props:{choices:[{text:"Потому что модели трансформеров обучаются с помощью обучения без учителя.",explain:"Не совсем так - даже для обучения без учителя нужна функция потерь!"},{text:"Потому что по умолчанию используется внутренний вывод потерь модели.",explain:"Это верно!",correct:!0},{text:"Потому что вместо этого мы вычисляем метрики после обучения.",explain:"Мы часто так и поступаем, но это не объясняет, откуда мы берем значение потерь, которое оптимизируем в процессе обучения."},{text:"Потому что вместо этого потери определяются в `model.fit()`.",explain:"Нет, функция потерь всегда фиксирована после запуска `model.compile()` и не может быть изменена в `model.fit()`."}]}}),{c(){l(u.$$.fragment),o=i(),l(g.$$.fragment)},l($){a(u.$$.fragment,$),o=m($),a(g.$$.fragment,$)},m($,q){s(u,$,q),r($,o,q),s(g,$,q),c=!0},i($){c||(f(u.$$.fragment,$),f(g.$$.fragment,$),c=!0)},o($){p(u.$$.fragment,$),p(g.$$.fragment,$),c=!1},d($){$&&n(o),x(u,$),x(g,$)}}}function We(k){let u,o,g,c;return u=new w({props:{title:"8. Почему существует специальный подкласс Trainer для проблем преобразования ” последовательности-в-последовательность”?",local:"8-почему-существует-специальный-подкласс-trainer-для-проблем-преобразования--последовательности-в-последовательность",headingTag:"h3"}}),g=new _({props:{choices:[{text:"Поскольку проблемы преобразования последовательности-в-последовательность используют определенные пользователем потери, для игнорирования меток задайте <code>-100</code>.",explain:"Это вовсе не определенные пользователем потери, а то, как потери всегда вычисляются."},{text:"Поскольку проблемы преобразования последовательности-в-последовательность требуют специального цикла оценки",explain:"Это верно. Предсказания моделей преобразующих последовательность-в-последовательность часто выполняются с помощью метода <code>generate()</code>.",correct:!0},{text:"Поскольку целью являются тексты в проблемах преобразования последовательности-в-последовательность",explain:"<code>Trainer</code> не особо заботится об этом, поскольку они уже были предварительно обработаны."},{text:"Поскольку в проблемах преобразования последовательности-в-последовательность мы используем две модели",explain:"В некотором смысле мы используем две модели, энкодер и декодер, но они сгруппированы в одну модель."}]}}),{c(){l(u.$$.fragment),o=i(),l(g.$$.fragment)},l($){a(u.$$.fragment,$),o=m($),a(g.$$.fragment,$)},m($,q){s(u,$,q),r($,o,q),s(g,$,q),c=!0},i($){c||(f(u.$$.fragment,$),f(g.$$.fragment,$),c=!0)},o($){p(u.$$.fragment,$),p(g.$$.fragment,$),c=!1},d($){$&&n(o),x(u,$),x(g,$)}}}function Xe(k){let u,o,g,c,$,q,h,Z,y,ee,C,te,v,Se="Давайте проверим, чему вы научились в этой главе!",$e,P,ne,E,re,z,ie,S,me,M,pe,F,fe,L,le,A,ae,H,se,N,xe,Q,ue,j,ge,B,oe,G,ce,b,T,X,I,we,O,_e,R,qe,U,be,d,Te,D,ke,J,he,K,ye,V,Ce,Y,ve;$=new Ke({props:{fw:k[0]}}),h=new de({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),y=new w({props:{title:"Тест в конце главы",local:"end-of-chapter-quiz",headingTag:"h1"}}),C=new Je({props:{chapter:7,classNames:"absolute z-10 right-0 top-0"}}),P=new w({props:{title:"1. Какую из следующих задач можно сформулировать как проблему классификации токенов?",local:"1-какую-из-следующих-задач-можно-сформулировать-как-проблему-классификации-токенов",headingTag:"h3"}}),E=new _({props:{choices:[{text:"Поиск грамматических компонентов в предложении.",explain:"Правильно! Затем мы можем пометить каждое слово как существительное, глагол и т.д.",correct:!0},{text:"Определение того, является ли предложение грамматически правильным или нет.",explain:"Нет, это проблема классификации последовательностей."},{text:"Поиск персон, упомянутых в предложении.",explain:"Правильно! Мы можем пометить каждое слово как персона или не персона.",correct:!0},{text:"Поиск части слов в предложении, которое отвечает на вопрос.",explain:"Нет, это была бы проблема ответа на вопрос."}]}}),z=new w({props:{title:"2. Какая часть предварительной обработки для классификации токенов отличается от других конвейеров предварительной обработки?",local:"2-какая-часть-предварительной-обработки-для-классификации-токенов-отличается-от-других-конвейеров-предварительной-обработки",headingTag:"h3"}}),S=new _({props:{choices:[{text:"Ничего делать не нужно: тексты уже токенизированы.",explain:"Тексты действительно представлены в виде отдельных слов, но нам все равно нужно применить модель токенизации по подсловам."},{text:"Тексты представлены в виде слов, поэтому нам нужно применить только токенизацию по подсловам.",explain:"Правильно! Это отличие от обычной предобработки, где нам нужно применить полный конвейер токенизации. Можете ли вы придумать другое отличие?",correct:!0},{text:"Мы используем <code>-100</code> для обозначения специальных токенов.",explain:"Это не относится к классификации токенов - мы всегда используем <code>-100</code> в качестве метки для токенов, которые мы хотим игнорировать в потерях."},{text:"При применении усечения/дополнения нам нужно убедиться, что метки имеют тот же размер, что и входные данные.",explain:"Действительно! Но это не единственное отличие.",correct:!0}]}}),M=new w({props:{title:"3. Какая проблема возникает при токенизации слов в проблеме классификации токенов и при необходимости их маркировки?",local:"3-какая-проблема-возникает-при-токенизации-слов-в-проблеме-классификации-токенов-и-при-необходимости-их-маркировки",headingTag:"h3"}}),F=new _({props:{choices:[{text:"Токенизатор добавляет специальные токены, для которых у нас нет меток.",explain:"Мы помечаем их -100, чтобы они игнорировались при потерях."},{text:"Каждое слово может создавать несколько токенов, поэтому в итоге мы получаем больше токенов, чем меток.",explain:"Это основная проблема, и нам нужно выровнять оригинальные метки с токенами.",correct:!0},{text:"Добавленные токены не имеют меток, поэтому проблем не возникает.",explain:"Это неверно; нам нужно столько меток, сколько у нас токенов, иначе наши модели будут ошибаться."}]}}),L=new w({props:{title:"4. Что означает “доменная адаптация”?",local:"4-что-означает-доменная-адаптация",headingTag:"h3"}}),A=new _({props:{choices:[{text:"Это когда мы запускаем модель на датасете и получаем предсказания для каждого примера в этом датасете.",explain:"Нет, это просто инференс."},{text:"Это когда мы обучаем модель на датасете.",explain:"Нет, это обучение модели; здесь нет адаптации."},{text:"Это когда мы проводим дообучение предварительно обученной модели на новом датасете, и он выдает прогнозы, более адаптированные к этому датасету.",explain:"Правильно! Модель адаптировала свои знания к новому датасету.",correct:!0},{text:"Это когда мы добавляем в датасет неправильно классифицированные образцы, чтобы сделать нашу модель более надежной.",explain:"Это, конечно, нужно делать, если вы регулярно переобучаете свою модель, но это не доменная адаптация."}]}}),H=new w({props:{title:"5. Что такое метки в проблеме маскированного языкового моделирования?",local:"5-что-такое-метки-в-проблеме-маскированного-языкового-моделирования",headingTag:"h3"}}),N=new _({props:{choices:[{text:"Некоторые токены во входном предложении маскируются случайным образом, а метками служат оригинальные входные токены.",explain:"Это оно!",correct:!0},{text:"Некоторые токены во входном предложении случайным образом маскируются, а метками служат исходные токены, сдвинутые влево.",explain:"Нет, сдвиг меток влево соответствует предсказанию следующего слова, что соответствует каузальному языковому моделированию."},{text:"Некоторые токены во входном предложении маскируются случайным образом, а метка означает, является ли предложение положительным или отрицательным.",explain:"Это проблема классификации последовательностей с некоторыми дополнениями к данным, а не маскированное языковое моделирование."},{text:"Некоторые токены в двух входных предложениях маскируются случайным образом, а метка означает, похожи эти два предложения или нет.",explain:"Это проблема классификации последовательностей с некоторыми дополнительными данными, а не маскированное моделирование языка."}]}}),Q=new w({props:{title:"6. Какую из этих задач можно рассматривать как проблему преобразования последовательности-в-последовательность (sequence-to-sequence problem)?",local:"6-какую-из-этих-задач-можно-рассматривать-как-проблему-преобразования-последовательности-в-последовательность-sequence-to-sequence-problem",headingTag:"h3"}}),j=new _({props:{choices:[{text:"Написание коротких обзоров длинных документов",explain:"Да, это проблема суммаризации. Попробуйте другой ответ!",correct:!0},{text:"Ответы на вопросы о документе",explain:"Это можно сформулировать как проблему преобразования последовательности-в-последовательность. Однако это не единственный правильный ответ.",correct:!0},{text:"Перевод текста на китайском языке на английский",explain:"Это определенно проблема преобразования последовательности-в-последовательность. Вы можете найти другую?",correct:!0},{text:"Исправление сообщений, отправленных моим племянником/другом, чтобы они были на правильном английском языке",explain:"Это своего рода проблема перевода, так что это определенно задача последовательности-в-последовательности. Однако это не единственный правильный ответ!",correct:!0}]}}),B=new w({props:{title:"7. Каков правильный способ предварительной обработки данных для проблемы преобразования последовательности-в-последовательность?",local:"7-каков-правильный-способ-предварительной-обработки-данных-для-проблемы-преобразования-последовательности-в-последовательность",headingTag:"h3"}}),G=new _({props:{choices:[{text:"Входные данные и цели должны быть переданы токенизатору вместе с <code>inputs=...</code> и <code>targets=...</code>.",explain:"Возможно, в будущем мы добавим такой API, но сейчас это невозможно."},{text:"Входные данные и цели должны быть предварительно обработаны в двух раздельных вызовах токенизатора.",explain:"Это правда, но неполная. Вам нужно кое-что сделать, чтобы убедиться, что токенизатор правильно обрабатывает оба варианта."},{text:"Как обычно, нам просто нужно выполнить токенизацию входных данных.",explain:"Не в проблеме классификации последовательностей; цели - это тексты, которые мы должны преобразовать в числа!"},{text:"Входные данные должны быть переданы токенизатору, и цели тоже, но под управлением специального контекстного менеджера.",explain:"Верно, токенизатор должен быть переведен в target режим этим менеджером контекста.",correct:!0}]}});const Me=[We,Ve],W=[];function Fe(e,t){return e[0]==="pt"?0:1}return b=Fe(k),T=W[b]=Me[b](k),I=new w({props:{title:"10. Когда следует проводить предварительное обучение новой модели?",local:"10-когда-следует-проводить-предварительное-обучение-новой-модели",headingTag:"h3"}}),O=new _({props:{choices:[{text:"Если для вашего специфического языка не существует предварительно обученной модели.",explain:"Это верно!",correct:!0},{text:"Когда у вас много данных, даже если есть предварительно обученная модель, которая может работать с ними.",explain:"В этом случае, вероятно, следует использовать предварительно обученную модель и провести ее дообучение на ваших данных, чтобы избежать больших вычислительных затрат."},{text:"Если у вас есть опасения по поводу смещения предварительно обученной модели, которую вы используете",explain:"Это правда, но вы должны быть уверены, что данные, которые вы будете использовать для обучения, действительно лучше.",correct:!0},{text:"Когда имеющиеся предварительно обученные модели недостаточно хороши.",explain:"Вы уверены, что правильно отладили свой цикл обучения?"}]}}),R=new w({props:{title:"11. Почему легко провести предварительное обучение языковой модели на большом количестве текстов?",local:"11-почему-легко-провести-предварительное-обучение-языковой-модели-на-большом-количестве-текстов",headingTag:"h3"}}),U=new _({props:{choices:[{text:"Потому что в Интернете можно найти множество текстов.",explain:"Хотя это и верно, но не отвечает на вопрос. Попробуйте еще раз!"},{text:"Потому что задача предварительного обучения не требует от людей маркировки данных.",explain:"Верно, языковое моделирование - это проблема обучения с самоконтролем (self-supervised problem).",correct:!0},{text:"Потому что библиотека 🤗 Transformers требует всего несколько строк кода для начала обучения.",explain:"Хотя это и верно, но не совсем отвечает на поставленный вопрос. Попробуйте другой ответ!"}]}}),d=new w({props:{title:"12. Какие основные проблемы возникают при предварительной обработке данных для задачи ответа на вопрос (question answering)?",local:"12-какие-основные-проблемы-возникают-при-предварительной-обработке-данных-для-задачи-ответа-на-вопрос-question-answering",headingTag:"h3"}}),D=new _({props:{choices:[{text:"Вам нужно выполнить токенизацию входных данных.",explain:"Это верно, но действительно ли это главная проблема?"},{text:"Вам приходится иметь дело с очень длинными контекстами, в которых дается несколько обучающих признаков, которые могут содержать ответ, а могут и не содержать.",explain:"Это, безусловно, одна из проблем.",correct:!0},{text:"Вам нужно провести токенизацию ответов на вопрос так же, как и входных данных.",explain:"Нет, если только вы не формулируете проблему ответа на вопрос как задачу преобразования последовательности-в-последовательность."},{text:"На основе фрагмента ответа в тексте нужно найти начальный и конечный токен в исходном токенизированном тексте.",explain:"Это одна из самых сложных частей, да!",correct:!0}]}}),J=new w({props:{title:"13. Как обычно выполняется постобработка в задаче ответов на вопросы?",local:"13-как-обычно-выполняется-постобработка-в-задаче-ответов-на-вопросы",headingTag:"h3"}}),K=new _({props:{choices:[{text:"Модель дает вам начальную и конечную позиции ответа, и вам остается только декодировать соответствующий промежуток токенов.",explain:"Это может быть одним из способов, но слишком упрощенным."},{text:"Модель возыращает вам начальную и конечную позиции ответа для каждого признака, созданного одним примером, а вам остается только декодировать соответствующий промежуток токенов в том из них, который имеет наилучшую оценку.",explain:"Это близко к постобработке, которую мы изучали, но это не совсем правильно."},{text:"Модель возвращает вам начальную и конечную позиции ответа для каждого признака, созданного одним примером, а вам остается только сопоставить их с промежутком в контексте, чтобы выбрать тот, который набрал наибольшую оценку.",explain:"Вот и все в двух словах!",correct:!0},{text:"Модель генерирует ответ, а вам остается только декодировать его.",explain:"Нет, если только вы не формулируете проблему ответа на вопрос как проблему преобразования последовательности-в-последовательность."}]}}),V=new De({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ru/chapter7/9.mdx"}}),{c(){u=Pe("meta"),o=i(),g=Pe("p"),c=i(),l($.$$.fragment),q=i(),l(h.$$.fragment),Z=i(),l(y.$$.fragment),ee=i(),l(C.$$.fragment),te=i(),v=Pe("p"),v.textContent=Se,$e=i(),l(P.$$.fragment),ne=i(),l(E.$$.fragment),re=i(),l(z.$$.fragment),ie=i(),l(S.$$.fragment),me=i(),l(M.$$.fragment),pe=i(),l(F.$$.fragment),fe=i(),l(L.$$.fragment),le=i(),l(A.$$.fragment),ae=i(),l(H.$$.fragment),se=i(),l(N.$$.fragment),xe=i(),l(Q.$$.fragment),ue=i(),l(j.$$.fragment),ge=i(),l(B.$$.fragment),oe=i(),l(G.$$.fragment),ce=i(),T.c(),X=i(),l(I.$$.fragment),we=i(),l(O.$$.fragment),_e=i(),l(R.$$.fragment),qe=i(),l(U.$$.fragment),be=i(),l(d.$$.fragment),Te=i(),l(D.$$.fragment),ke=i(),l(J.$$.fragment),he=i(),l(K.$$.fragment),ye=i(),l(V.$$.fragment),Ce=i(),Y=Pe("p"),this.h()},l(e){const t=Ge("svelte-u9bgzb",document.head);u=Ee(t,"META",{name:!0,content:!0}),t.forEach(n),o=m(e),g=Ee(e,"P",{}),Ae(g).forEach(n),c=m(e),a($.$$.fragment,e),q=m(e),a(h.$$.fragment,e),Z=m(e),a(y.$$.fragment,e),ee=m(e),a(C.$$.fragment,e),te=m(e),v=Ee(e,"P",{"data-svelte-h":!0}),Ie(v)!=="svelte-18x10k3"&&(v.textContent=Se),$e=m(e),a(P.$$.fragment,e),ne=m(e),a(E.$$.fragment,e),re=m(e),a(z.$$.fragment,e),ie=m(e),a(S.$$.fragment,e),me=m(e),a(M.$$.fragment,e),pe=m(e),a(F.$$.fragment,e),fe=m(e),a(L.$$.fragment,e),le=m(e),a(A.$$.fragment,e),ae=m(e),a(H.$$.fragment,e),se=m(e),a(N.$$.fragment,e),xe=m(e),a(Q.$$.fragment,e),ue=m(e),a(j.$$.fragment,e),ge=m(e),a(B.$$.fragment,e),oe=m(e),a(G.$$.fragment,e),ce=m(e),T.l(e),X=m(e),a(I.$$.fragment,e),we=m(e),a(O.$$.fragment,e),_e=m(e),a(R.$$.fragment,e),qe=m(e),a(U.$$.fragment,e),be=m(e),a(d.$$.fragment,e),Te=m(e),a(D.$$.fragment,e),ke=m(e),a(J.$$.fragment,e),he=m(e),a(K.$$.fragment,e),ye=m(e),a(V.$$.fragment,e),Ce=m(e),Y=Ee(e,"P",{}),Ae(Y).forEach(n),this.h()},h(){He(u,"name","hf:doc:metadata"),He(u,"content",Ye)},m(e,t){Oe(document.head,u),r(e,o,t),r(e,g,t),r(e,c,t),s($,e,t),r(e,q,t),s(h,e,t),r(e,Z,t),s(y,e,t),r(e,ee,t),s(C,e,t),r(e,te,t),r(e,v,t),r(e,$e,t),s(P,e,t),r(e,ne,t),s(E,e,t),r(e,re,t),s(z,e,t),r(e,ie,t),s(S,e,t),r(e,me,t),s(M,e,t),r(e,pe,t),s(F,e,t),r(e,fe,t),s(L,e,t),r(e,le,t),s(A,e,t),r(e,ae,t),s(H,e,t),r(e,se,t),s(N,e,t),r(e,xe,t),s(Q,e,t),r(e,ue,t),s(j,e,t),r(e,ge,t),s(B,e,t),r(e,oe,t),s(G,e,t),r(e,ce,t),W[b].m(e,t),r(e,X,t),s(I,e,t),r(e,we,t),s(O,e,t),r(e,_e,t),s(R,e,t),r(e,qe,t),s(U,e,t),r(e,be,t),s(d,e,t),r(e,Te,t),s(D,e,t),r(e,ke,t),s(J,e,t),r(e,he,t),s(K,e,t),r(e,ye,t),s(V,e,t),r(e,Ce,t),r(e,Y,t),ve=!0},p(e,[t]){const Le={};t&1&&(Le.fw=e[0]),$.$set(Le);let ze=b;b=Fe(e),b!==ze&&(Ue(),p(W[ze],1,1,()=>{W[ze]=null}),Re(),T=W[b],T||(T=W[b]=Me[b](e),T.c()),f(T,1),T.m(X.parentNode,X))},i(e){ve||(f($.$$.fragment,e),f(h.$$.fragment,e),f(y.$$.fragment,e),f(C.$$.fragment,e),f(P.$$.fragment,e),f(E.$$.fragment,e),f(z.$$.fragment,e),f(S.$$.fragment,e),f(M.$$.fragment,e),f(F.$$.fragment,e),f(L.$$.fragment,e),f(A.$$.fragment,e),f(H.$$.fragment,e),f(N.$$.fragment,e),f(Q.$$.fragment,e),f(j.$$.fragment,e),f(B.$$.fragment,e),f(G.$$.fragment,e),f(T),f(I.$$.fragment,e),f(O.$$.fragment,e),f(R.$$.fragment,e),f(U.$$.fragment,e),f(d.$$.fragment,e),f(D.$$.fragment,e),f(J.$$.fragment,e),f(K.$$.fragment,e),f(V.$$.fragment,e),ve=!0)},o(e){p($.$$.fragment,e),p(h.$$.fragment,e),p(y.$$.fragment,e),p(C.$$.fragment,e),p(P.$$.fragment,e),p(E.$$.fragment,e),p(z.$$.fragment,e),p(S.$$.fragment,e),p(M.$$.fragment,e),p(F.$$.fragment,e),p(L.$$.fragment,e),p(A.$$.fragment,e),p(H.$$.fragment,e),p(N.$$.fragment,e),p(Q.$$.fragment,e),p(j.$$.fragment,e),p(B.$$.fragment,e),p(G.$$.fragment,e),p(T),p(I.$$.fragment,e),p(O.$$.fragment,e),p(R.$$.fragment,e),p(U.$$.fragment,e),p(d.$$.fragment,e),p(D.$$.fragment,e),p(J.$$.fragment,e),p(K.$$.fragment,e),p(V.$$.fragment,e),ve=!1},d(e){e&&(n(o),n(g),n(c),n(q),n(Z),n(ee),n(te),n(v),n($e),n(ne),n(re),n(ie),n(me),n(pe),n(fe),n(le),n(ae),n(se),n(xe),n(ue),n(ge),n(oe),n(ce),n(X),n(we),n(_e),n(qe),n(be),n(Te),n(ke),n(he),n(ye),n(Ce),n(Y)),n(u),x($,e),x(h,e),x(y,e),x(C,e),x(P,e),x(E,e),x(z,e),x(S,e),x(M,e),x(F,e),x(L,e),x(A,e),x(H,e),x(N,e),x(Q,e),x(j,e),x(B,e),x(G,e),W[b].d(e),x(I,e),x(O,e),x(R,e),x(U,e),x(d,e),x(D,e),x(J,e),x(K,e),x(V,e)}}}const Ye='{"title":"Тест в конце главы","local":"end-of-chapter-quiz","sections":[{"title":"1. Какую из следующих задач можно сформулировать как проблему классификации токенов?","local":"1-какую-из-следующих-задач-можно-сформулировать-как-проблему-классификации-токенов","sections":[],"depth":3},{"title":"2. Какая часть предварительной обработки для классификации токенов отличается от других конвейеров предварительной обработки?","local":"2-какая-часть-предварительной-обработки-для-классификации-токенов-отличается-от-других-конвейеров-предварительной-обработки","sections":[],"depth":3},{"title":"3. Какая проблема возникает при токенизации слов в проблеме классификации токенов и при необходимости их маркировки?","local":"3-какая-проблема-возникает-при-токенизации-слов-в-проблеме-классификации-токенов-и-при-необходимости-их-маркировки","sections":[],"depth":3},{"title":"4. Что означает “доменная адаптация”?","local":"4-что-означает-доменная-адаптация","sections":[],"depth":3},{"title":"5. Что такое метки в проблеме маскированного языкового моделирования?","local":"5-что-такое-метки-в-проблеме-маскированного-языкового-моделирования","sections":[],"depth":3},{"title":"6. Какую из этих задач можно рассматривать как проблему преобразования последовательности-в-последовательность (sequence-to-sequence problem)?","local":"6-какую-из-этих-задач-можно-рассматривать-как-проблему-преобразования-последовательности-в-последовательность-sequence-to-sequence-problem","sections":[],"depth":3},{"title":"7. Каков правильный способ предварительной обработки данных для проблемы преобразования последовательности-в-последовательность?","local":"7-каков-правильный-способ-предварительной-обработки-данных-для-проблемы-преобразования-последовательности-в-последовательность","sections":[],"depth":3},{"title":"8. Почему существует специальный подкласс Trainer для проблем преобразования ” последовательности-в-последовательность”?","local":"8-почему-существует-специальный-подкласс-trainer-для-проблем-преобразования--последовательности-в-последовательность","sections":[],"depth":3},{"title":"9. Почему при вызове compile() для модели трансформера часто нет необходимости определять потери?","local":"9-почему-при-вызове-compile-для-модели-трансформера-часто-нет-необходимости-определять-потери","sections":[],"depth":3},{"title":"10. Когда следует проводить предварительное обучение новой модели?","local":"10-когда-следует-проводить-предварительное-обучение-новой-модели","sections":[],"depth":3},{"title":"11. Почему легко провести предварительное обучение языковой модели на большом количестве текстов?","local":"11-почему-легко-провести-предварительное-обучение-языковой-модели-на-большом-количестве-текстов","sections":[],"depth":3},{"title":"12. Какие основные проблемы возникают при предварительной обработке данных для задачи ответа на вопрос (question answering)?","local":"12-какие-основные-проблемы-возникают-при-предварительной-обработке-данных-для-задачи-ответа-на-вопрос-question-answering","sections":[],"depth":3},{"title":"13. Как обычно выполняется постобработка в задаче ответов на вопросы?","local":"13-как-обычно-выполняется-постобработка-в-задаче-ответов-на-вопросы","sections":[],"depth":3}],"depth":1}';function Ze(k,u,o){let g="pt";return Qe(()=>{const c=new URLSearchParams(window.location.search);o(0,g=c.get("fw")||"pt")}),[g]}class mt extends je{constructor(u){super(),Be(this,u,Ze,Xe,Ne,{})}}export{mt as component};

Xet Storage Details

Size:
34.7 kB
·
Xet hash:
a0555b8b59dbaf6b7fe5cd5dd3401c1f91b143a51322ca37a4b4a497e4643f01

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.