Buckets:

rtrm's picture
download
raw
27.3 kB
import{s as qe,n as Ee,o as he}from"../chunks/scheduler.37c15a92.js";import{S as Te,i as be,g as ue,s as $,r as a,A as Be,h as oe,f as n,c as r,j as _e,u as m,x as Ue,k as Pe,y as We,a as i,v as p,d as f,t as s,w as l}from"../chunks/index.2bf4358c.js";import{C as ke}from"../chunks/CourseFloatingBanner.9ff4c771.js";import{Q as g}from"../chunks/Question.668688bc.js";import{H as x,E as ve}from"../chunks/getInferenceSnippets.24b50994.js";function Ce(ce){let u,R,N,j,o,D,c,F,w,we="Давайте проверим, чему вы научились в этой главе!",G,_,O,P,I,q,J,E,K,h,V,T,X,b,Y,B,Z,U,ee,W,te,k,ne,v,ie,C,$e,z,re,y,ae,S,me,d,pe,A,fe,H,se,L,le,M,xe,Q,ge;return o=new x({props:{title:"Тест в конце главы",local:"end-of-chapter-quiz",headingTag:"h1"}}),c=new ke({props:{chapter:6,classNames:"absolute z-10 right-0 top-0"}}),_=new x({props:{title:"1. Когда следует обучать новый токенизатор?",local:"1-когда-следует-обучать-новый-токенизатор",headingTag:"h3"}}),P=new g({props:{choices:[{text:"Если ваш набор данных похож на тот, который используется существующей предварительно обученной моделью, и вы хотите провести предварительное обучение новой модели.",explain:"В этом случае, чтобы сэкономить время и вычислительные ресурсы, лучше использовать тот же токенизатор, что и в предварительно обученной модели, и дообучить эту модель."},{text:"Когда ваш набор данных похож на тот, который используется существующей предварительно обученной моделью, и вы хотите дообучить новую модель, используя эту предварительно обученную модель.",explain:"Чтобы дообучить модель на основе предварительно обученной модели, всегда следует использовать один и тот же токенизатор."},{text:"Когда ваш набор данных отличается от того, который используется существующей предварительно обученной моделью, и вы хотите провести предварительное обучение новой модели.",explain:"Правильно! В этом случае нет никакого преимущества в использовании одного и того же токенизатора.",correct:!0},{text:"Когда ваш набор данных отличается от того, который используется существующей предварительно обученной моделью, но вы хотите дообучить новую модель с помощью имеющейся предварительно обученной модели.",explain:"Чтобы дообучить модель на основе предварительно обученной модели, всегда следует использовать один и тот же токенизатор."}]}}),q=new x({props:{title:"2. В чем преимущество использования генератора списков текстов по сравнению со списком списков текстов при использовании train_new_from_iterator() ?",local:"2-в-чем-преимущество-использования-генератора-списков-текстов-по-сравнению-со-списком-списков-текстов-при-использовании-trainnewfromiterator-",headingTag:"h3"}}),E=new g({props:{choices:[{text:"Это единственный тип, который принимает метод <code>train_new_from_iterator()</code>.",explain:"Список списков текстов - это особый вид генератора списков текстов, поэтому метод примет и его. Попробуйте еще раз!"},{text:"Это позволит избежать загрузки в память сразу всего набора данных.",explain:"Точно! Каждый батч текстов будет освобождаться из памяти при итерации, и выигрыш будет особенно заметен, если вы используете библиотеку 🤗 Datasets для хранения текстов.",correct:!0},{text:"Это позволит библиотеке 🤗 Tokenizers использовать многопроцессорность (multiprocessing).",explain:"Нет, она будет использовать многопроцессорность в любом случае."},{text:"Обученный вами токенизатор будет генерировать более качественные тексты.",explain:"Токенизатор не генерирует текст - вы не путаете его с языковой моделью?"}]}}),h=new x({props:{title:"3. Каковы преимущества использования “быстрого” токенизатора?",local:"3-каковы-преимущества-использования-быстрого-токенизатора",headingTag:"h3"}}),T=new g({props:{choices:[{text:"Он может обрабатывать входные данные быстрее, чем медленный токенизатор, когда вы обьединяете в батч много входных данных.",explain:"Правильно! Благодаря параллелизму, реализованному в Rust, он будет быстрее работать с батчами входных данных. Какие еще преимущества вы можете назвать?",correct:!0},{text:"Быстрые токенизаторы всегда выполняют токенизацию быстрее, чем их медленные аналоги.",explain:"Быстрый токенизатор может работать медленнее, если вы передаете ему только один или очень мало текстов, поскольку он не может использовать параллелизм."},{text:"Он может применять дополнение (padding) и усечение (truncation).",explain:"Верно, но медленные токенизаторы тоже могут это делать."},{text:"Он обладает некоторыми дополнительными функциями, позволяющими сопоставлять токены с фрагментами текста, которые их сформировали.",explain:"Действительно, это так называемые смещенные отображения (offset mappings). Однако это не единственное преимущество.",correct:!0}]}}),b=new x({props:{title:"4. Как конвейер token-classification обрабатывает сущности, которые охватывают несколько токенов?",local:"4-как-конвейер-token-classification-обрабатывает-сущности-которые-охватывают-несколько-токенов",headingTag:"h3"}}),B=new g({props:{choices:[{text:"Сущности с одинаковыми метками объединяются в одну сущность.",explain:"Это слишком простое объяснение. Попробуйте еще раз!"},{text:"Есть метка начала сущности и метка продолжения сущности.",explain:"Правильно!",correct:!0},{text:"Если в заданном слове первый токен имеет метку сущности, то все слово считается помеченным этой сущностью.",explain:"Это одна из стратегий работы с сущностями. Какие еще ответы здесь применимы?",correct:!0},{text:"Когда токен имеет метку данной сущности, любой другой следующий токен с такой же меткой считается частью той же сущности, если только он не помечен как начало новой сущности.",explain:"Это самый распространенный способ группировки сущностей - однако это не единственный правильный ответ.",correct:!0}]}}),U=new x({props:{title:"5. Как конвейер question-answering обрабатывает длинные контексты?",local:"5-как-конвейер-question-answering-обрабатывает-длинные-контексты",headingTag:"h3"}}),W=new g({props:{choices:[{text:"На самом деле это не так, поскольку он обрезает длинный контекст по максимальной длине, принятой моделью.",explain:"Есть один прием, который можно использовать для работы с длинными контекстами. Вы помните, в чем он заключается?"},{text:"Он разбивает контекст на несколько частей и усредняет полученные результаты.",explain:"Нет, усреднять результаты не имеет смысла, поскольку некоторые части контекста не будут содержать ответ."},{text:"Он разбивает контекст на несколько частей (с перекрытием) и находит максимальную оценку для ответа в каждой части.",explain:"Это правильный ответ!",correct:!0},{text:"Он разбивает контекст на несколько частей (без перекрытия, для эффективности) и находит максимальную оценку для ответа в каждой части.",explain:"Нет, он включает в себя некоторое перекрытие частей, чтобы избежать ситуации, когда ответ будет разбит на две части."}]}}),k=new x({props:{title:"6. Что такое нормализация?",local:"6-что-такое-нормализация",headingTag:"h3"}}),v=new g({props:{choices:[{text:"Это любая очистка текста, которую выполняет токенизатор на начальных этапах работы с текстами.",explain:"Верно - например, это может быть удаление подчеркиваний или пробелов, или перевод в нижний регистр входных данных.",correct:!0},{text:"Это техника дополнения данных, которая позволяет сделать текст более нормальным за счет удаления редких слов.",explain:"Это неправильно! Попробуйте еще раз."},{text:"Это последний этап постобработки, на котором токенизатор добавляет специальные токены.",explain:"Этот этап называется просто постобработкой."},{text:"Это когда эмбеддинги создаются со среднеквадратичным отклонением 0 и стандартным отклонением 1, путем вычитания среднеквадратичного и деления на стандартное отклонение.",explain:"Этот процесс обычно называется нормализацией, когда применяется к значениям пикселей в компьютерном зрении, но это не то, что означает нормализация в NLP."}]}}),C=new x({props:{title:"7. Что такое предварительная токенизация для токенизатора по подсловам?",local:"7-что-такое-предварительная-токенизация-для-токенизатора-по-подсловам",headingTag:"h3"}}),z=new g({props:{choices:[{text:"Это шаг перед токенизацией, на котором применяется аугментация данных (например, случайное маскирование).",explain:"Нет, этот шаг является частью предварительной обработки."},{text:"Это этап перед токенизацией, на котором к тексту применяются необходимые операции по очистке.",explain:"Нет, это этап нормализации."},{text:"Это шаг, предшествующий применению модели токенизатора для разбиения входных данных на слова.",explain:"Это правильный ответ!",correct:!0},{text:"Это шаг, предшествующий применению модели токенизатора для разделения входных данных на токены.",explain:"Нет, разбиение на части - это задача модели токенизатора."}]}}),y=new x({props:{title:"8. Выберите предложения, которые относятся к модели токенизации BPE.",local:"8-выберите-предложения-которые-относятся-к-модели-токенизации-bpe",headingTag:"h3"}}),S=new g({props:{choices:[{text:"BPE - это алгоритм токенизации подслов, который начинает работу с небольшим словарем и изучает правила слияния.",explain:"Это действительно так!",correct:!0},{text:"BPE - это алгоритм токенизации подслов, который начинает с большого словаря и постепенно удаляет из него токены.",explain:"Нет, такой подход используется другим алгоритмом токенизации."},{text:"Токенизаторы BPE изучают правила слияния, объединяя пары токенов, которые встречаются чаще всего.",explain:"Правильно!",correct:!0},{text:"Токенизатор BPE изучает правило слияния, объединяя пары токенов, которые максимизируют оценку, которая отдает предпочтение частым парам с менее частыми отдельными частями.",explain:"Нет, это стратегия, применяемая другим алгоритмом токенизации."},{text:"BPE токенизирует слова на подслова, разбивая их на символы, после чего применяет правила слияния.",explain:"Правильно!",correct:!0},{text:"BPE токенизирует слова в подслова, находя самое длинное подслово, которое есть в словаре, начиная с начала, а затем повторяя процесс для остальной части текста.",explain:"Нет, это способ работы другого алгоритма токенизации."}]}}),d=new x({props:{title:"9. Выберите предложения, которые относятся к модели токенизации WordPiece.",local:"9-выберите-предложения-которые-относятся-к-модели-токенизации-wordpiece",headingTag:"h3"}}),A=new g({props:{choices:[{text:"WordPiece - это алгоритм токенизации по подсловам, который начинает работу с небольшим словарным запасом и учит правила слияния.",explain:"Это действительно так!",correct:!0},{text:"WordPiece - это алгоритм токенизации по подсловам, который начинает с большого словаря и постепенно удаляет из него токены.",explain:"Нет, такой подход используется другим алгоритмом токенизации."},{text:"Токенизаторы WordPiece учат правила слияния, объединяя пары токенов, которые встречаются чаще всего.",explain:"Нет, это стратегия, применяемая другим алгоритмом токенизации."},{text:"Токенизатор WordPiece изучает правило слияния, объединяя пары токенов, которые максимизируют оценку, отдающую предпочтение частым парам с менее частыми отдельными частями.",explain:"Правильно!",correct:!0},{text:"WordPiece выполняет токенизацию слов на подслова, находя наиболее вероятную сегментацию на токены в соответствии с моделью.",explain:"Нет, так работает другой алгоритм токенизации."},{text:"WordPiece токенизирует слова на подслова, находя самое длинное подслово, которое есть в словаре, начиная с начала, а затем повторяя процесс для остальной части текста.",explain:"Да, именно так работает WordPiece в процессе кодирования.",correct:!0}]}}),H=new x({props:{title:"10. Выберите предложения, которые относятся к модели токенизации Unigram.",local:"10-выберите-предложения-которые-относятся-к-модели-токенизации-unigram",headingTag:"h3"}}),L=new g({props:{choices:[{text:"Unigram - это алгоритм токенизации на подслова, который начинает с небольшого словаря и учится правилам слияния.",explain:"Нет, это подход, используемый другим алгоритмом токенизации."},{text:"Unigram - это алгоритм токенизации подслова, который начинает с большого словарного запаса и постепенно удаляет из него токены.",explain:"Правильно!",correct:!0},{text:"Unigram адаптирует свой словарь, минимизируя потери, вычисляемые по всему корпусу текста.",explain:"Верно!",correct:!0},{text:"Unigram адаптирует свой словарь, сохраняя наиболее часто встречающиеся подслова.",explain:"Нет, это неверно."},{text:"Unigram осуществляет токенизацию слов на подслова, находя наиболее вероятную сегментацию на токены в соответствии с моделью.",explain:"Правильно!",correct:!0},{text:"Unigram токенизирует слова на подслова, разбивая их на символы, а затем применяя правила слияния.",explain:"Нет, так работает другой алгоритм токенизации."}]}}),M=new ve({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ru/chapter6/10.mdx"}}),{c(){u=ue("meta"),R=$(),N=ue("p"),j=$(),a(o.$$.fragment),D=$(),a(c.$$.fragment),F=$(),w=ue("p"),w.textContent=we,G=$(),a(_.$$.fragment),O=$(),a(P.$$.fragment),I=$(),a(q.$$.fragment),J=$(),a(E.$$.fragment),K=$(),a(h.$$.fragment),V=$(),a(T.$$.fragment),X=$(),a(b.$$.fragment),Y=$(),a(B.$$.fragment),Z=$(),a(U.$$.fragment),ee=$(),a(W.$$.fragment),te=$(),a(k.$$.fragment),ne=$(),a(v.$$.fragment),ie=$(),a(C.$$.fragment),$e=$(),a(z.$$.fragment),re=$(),a(y.$$.fragment),ae=$(),a(S.$$.fragment),me=$(),a(d.$$.fragment),pe=$(),a(A.$$.fragment),fe=$(),a(H.$$.fragment),se=$(),a(L.$$.fragment),le=$(),a(M.$$.fragment),xe=$(),Q=ue("p"),this.h()},l(e){const t=Be("svelte-u9bgzb",document.head);u=oe(t,"META",{name:!0,content:!0}),t.forEach(n),R=r(e),N=oe(e,"P",{}),_e(N).forEach(n),j=r(e),m(o.$$.fragment,e),D=r(e),m(c.$$.fragment,e),F=r(e),w=oe(e,"P",{"data-svelte-h":!0}),Ue(w)!=="svelte-18x10k3"&&(w.textContent=we),G=r(e),m(_.$$.fragment,e),O=r(e),m(P.$$.fragment,e),I=r(e),m(q.$$.fragment,e),J=r(e),m(E.$$.fragment,e),K=r(e),m(h.$$.fragment,e),V=r(e),m(T.$$.fragment,e),X=r(e),m(b.$$.fragment,e),Y=r(e),m(B.$$.fragment,e),Z=r(e),m(U.$$.fragment,e),ee=r(e),m(W.$$.fragment,e),te=r(e),m(k.$$.fragment,e),ne=r(e),m(v.$$.fragment,e),ie=r(e),m(C.$$.fragment,e),$e=r(e),m(z.$$.fragment,e),re=r(e),m(y.$$.fragment,e),ae=r(e),m(S.$$.fragment,e),me=r(e),m(d.$$.fragment,e),pe=r(e),m(A.$$.fragment,e),fe=r(e),m(H.$$.fragment,e),se=r(e),m(L.$$.fragment,e),le=r(e),m(M.$$.fragment,e),xe=r(e),Q=oe(e,"P",{}),_e(Q).forEach(n),this.h()},h(){Pe(u,"name","hf:doc:metadata"),Pe(u,"content",ze)},m(e,t){We(document.head,u),i(e,R,t),i(e,N,t),i(e,j,t),p(o,e,t),i(e,D,t),p(c,e,t),i(e,F,t),i(e,w,t),i(e,G,t),p(_,e,t),i(e,O,t),p(P,e,t),i(e,I,t),p(q,e,t),i(e,J,t),p(E,e,t),i(e,K,t),p(h,e,t),i(e,V,t),p(T,e,t),i(e,X,t),p(b,e,t),i(e,Y,t),p(B,e,t),i(e,Z,t),p(U,e,t),i(e,ee,t),p(W,e,t),i(e,te,t),p(k,e,t),i(e,ne,t),p(v,e,t),i(e,ie,t),p(C,e,t),i(e,$e,t),p(z,e,t),i(e,re,t),p(y,e,t),i(e,ae,t),p(S,e,t),i(e,me,t),p(d,e,t),i(e,pe,t),p(A,e,t),i(e,fe,t),p(H,e,t),i(e,se,t),p(L,e,t),i(e,le,t),p(M,e,t),i(e,xe,t),i(e,Q,t),ge=!0},p:Ee,i(e){ge||(f(o.$$.fragment,e),f(c.$$.fragment,e),f(_.$$.fragment,e),f(P.$$.fragment,e),f(q.$$.fragment,e),f(E.$$.fragment,e),f(h.$$.fragment,e),f(T.$$.fragment,e),f(b.$$.fragment,e),f(B.$$.fragment,e),f(U.$$.fragment,e),f(W.$$.fragment,e),f(k.$$.fragment,e),f(v.$$.fragment,e),f(C.$$.fragment,e),f(z.$$.fragment,e),f(y.$$.fragment,e),f(S.$$.fragment,e),f(d.$$.fragment,e),f(A.$$.fragment,e),f(H.$$.fragment,e),f(L.$$.fragment,e),f(M.$$.fragment,e),ge=!0)},o(e){s(o.$$.fragment,e),s(c.$$.fragment,e),s(_.$$.fragment,e),s(P.$$.fragment,e),s(q.$$.fragment,e),s(E.$$.fragment,e),s(h.$$.fragment,e),s(T.$$.fragment,e),s(b.$$.fragment,e),s(B.$$.fragment,e),s(U.$$.fragment,e),s(W.$$.fragment,e),s(k.$$.fragment,e),s(v.$$.fragment,e),s(C.$$.fragment,e),s(z.$$.fragment,e),s(y.$$.fragment,e),s(S.$$.fragment,e),s(d.$$.fragment,e),s(A.$$.fragment,e),s(H.$$.fragment,e),s(L.$$.fragment,e),s(M.$$.fragment,e),ge=!1},d(e){e&&(n(R),n(N),n(j),n(D),n(F),n(w),n(G),n(O),n(I),n(J),n(K),n(V),n(X),n(Y),n(Z),n(ee),n(te),n(ne),n(ie),n($e),n(re),n(ae),n(me),n(pe),n(fe),n(se),n(le),n(xe),n(Q)),n(u),l(o,e),l(c,e),l(_,e),l(P,e),l(q,e),l(E,e),l(h,e),l(T,e),l(b,e),l(B,e),l(U,e),l(W,e),l(k,e),l(v,e),l(C,e),l(z,e),l(y,e),l(S,e),l(d,e),l(A,e),l(H,e),l(L,e),l(M,e)}}}const ze='{"title":"Тест в конце главы","local":"end-of-chapter-quiz","sections":[{"title":"1. Когда следует обучать новый токенизатор?","local":"1-когда-следует-обучать-новый-токенизатор","sections":[],"depth":3},{"title":"2. В чем преимущество использования генератора списков текстов по сравнению со списком списков текстов при использовании train_new_from_iterator() ?","local":"2-в-чем-преимущество-использования-генератора-списков-текстов-по-сравнению-со-списком-списков-текстов-при-использовании-trainnewfromiterator-","sections":[],"depth":3},{"title":"3. Каковы преимущества использования “быстрого” токенизатора?","local":"3-каковы-преимущества-использования-быстрого-токенизатора","sections":[],"depth":3},{"title":"4. Как конвейер token-classification обрабатывает сущности, которые охватывают несколько токенов?","local":"4-как-конвейер-token-classification-обрабатывает-сущности-которые-охватывают-несколько-токенов","sections":[],"depth":3},{"title":"5. Как конвейер question-answering обрабатывает длинные контексты?","local":"5-как-конвейер-question-answering-обрабатывает-длинные-контексты","sections":[],"depth":3},{"title":"6. Что такое нормализация?","local":"6-что-такое-нормализация","sections":[],"depth":3},{"title":"7. Что такое предварительная токенизация для токенизатора по подсловам?","local":"7-что-такое-предварительная-токенизация-для-токенизатора-по-подсловам","sections":[],"depth":3},{"title":"8. Выберите предложения, которые относятся к модели токенизации BPE.","local":"8-выберите-предложения-которые-относятся-к-модели-токенизации-bpe","sections":[],"depth":3},{"title":"9. Выберите предложения, которые относятся к модели токенизации WordPiece.","local":"9-выберите-предложения-которые-относятся-к-модели-токенизации-wordpiece","sections":[],"depth":3},{"title":"10. Выберите предложения, которые относятся к модели токенизации Unigram.","local":"10-выберите-предложения-которые-относятся-к-модели-токенизации-unigram","sections":[],"depth":3}],"depth":1}';function ye(ce){return he(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Me extends Te{constructor(u){super(),be(this,u,ye,Ce,qe,{})}}export{Me as component};

Xet Storage Details

Size:
27.3 kB
·
Xet hash:
07924fde6e0b95f187caab6b9cf51dacf58b2441b0ed9ad6947de5bb78801d63

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