import{s as I,n as J,o as Q}from"../chunks/scheduler.37c15a92.js";import{S as V,i as W,g as o,s as l,r as B,A as X,h as m,f as n,c as s,j as O,u as R,x as v,k as D,y as Z,a,v as S,d as j,t as k,w as z}from"../chunks/index.2bf4358c.js";import{Y as tt}from"../chunks/Youtube.1e50a667.js";import{C as et}from"../chunks/CourseFloatingBanner.06521e8b.js";import{H as nt,E as at}from"../chunks/index.fb305b5e.js";function lt(U){let r,x,d,b,i,C,f,T,p,P,u,Y="인코더-디코더 모델(Encoder-decoder models) (<em>시퀀스-투-시퀀스 모델(sequence-to-sequence models)</em>로 부르기도 합니다)은 트랜스포머 구조의 인코더, 디코더 둘을 모두 사용합니다. 각 단계마다, 인코더의 어텐션 레이어는 초기 문장의 모든 단어에 액세스 할 수 있는 반면, 디코더의 어텐션 레이어는 주어진 단어 앞에 위치한 단어들에만 액세스 할 수 있습니다.",E,c,F='이러한 모델의 사전 학습은 인코더 혹은 디코더 모델의 방식을 모두 사용할 수 있지만 조금 더 복잡합니다. 이를테면, <a href="https://huggingface.co/t5-base" rel="nofollow">T5</a>는 (여러 단어를 포함하기도 하는) 임의의 텍스트 범위를 하나의 특수 마스크 토큰으로 바꾸고 마스크 단어를 대체할 텍스트를 예측하는 방식으로 사전 학습 되었습니다.',M,h,G="시퀀스-투-시퀀스 모델은 요약, 번역, 생성 질의 응답과 같이 주어진 입력을 기반으로 새로운 문장을 생성하는 작업에 가장 적합합니다.",H,$,K="이 계열을 대표하는 모델은 다음과 같습니다:",L,_,N='<li><a href="https://huggingface.co/transformers/model_doc/bart.html" rel="nofollow">BART</a></li> <li><a href="https://huggingface.co/transformers/model_doc/mbart.html" rel="nofollow">mBART</a></li> <li><a href="https://huggingface.co/transformers/model_doc/marian.html" rel="nofollow">Marian</a></li> <li><a href="https://huggingface.co/transformers/model_doc/t5.html" rel="nofollow">T5</a></li>',y,g,q,w,A;return i=new nt({props:{title:"시퀀스-투-시퀀스 모델",local:"시퀀스-투-시퀀스-모델",headingTag:"h1"}}),f=new et({props:{chapter:1,classNames:"absolute z-10 right-0 top-0"}}),p=new tt({props:{id:"0_4KEb08xrE"}}),g=new at({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ko/chapter1/7.mdx"}}),{c(){r=o("meta"),x=l(),d=o("p"),b=l(),B(i.$$.fragment),C=l(),B(f.$$.fragment),T=l(),B(p.$$.fragment),P=l(),u=o("p"),u.innerHTML=Y,E=l(),c=o("p"),c.innerHTML=F,M=l(),h=o("p"),h.textContent=G,H=l(),$=o("p"),$.textContent=K,L=l(),_=o("ul"),_.innerHTML=N,y=l(),B(g.$$.fragment),q=l(),w=o("p"),this.h()},l(t){const e=X("svelte-u9bgzb",document.head);r=m(e,"META",{name:!0,content:!0}),e.forEach(n),x=s(t),d=m(t,"P",{}),O(d).forEach(n),b=s(t),R(i.$$.fragment,t),C=s(t),R(f.$$.fragment,t),T=s(t),R(p.$$.fragment,t),P=s(t),u=m(t,"P",{"data-svelte-h":!0}),v(u)!=="svelte-qoph4d"&&(u.innerHTML=Y),E=s(t),c=m(t,"P",{"data-svelte-h":!0}),v(c)!=="svelte-inwuv6"&&(c.innerHTML=F),M=s(t),h=m(t,"P",{"data-svelte-h":!0}),v(h)!=="svelte-1iea9yw"&&(h.textContent=G),H=s(t),$=m(t,"P",{"data-svelte-h":!0}),v($)!=="svelte-jnrxvw"&&($.textContent=K),L=s(t),_=m(t,"UL",{"data-svelte-h":!0}),v(_)!=="svelte-1lyffe"&&(_.innerHTML=N),y=s(t),R(g.$$.fragment,t),q=s(t),w=m(t,"P",{}),O(w).forEach(n),this.h()},h(){D(r,"name","hf:doc:metadata"),D(r,"content",st)},m(t,e){Z(document.head,r),a(t,x,e),a(t,d,e),a(t,b,e),S(i,t,e),a(t,C,e),S(f,t,e),a(t,T,e),S(p,t,e),a(t,P,e),a(t,u,e),a(t,E,e),a(t,c,e),a(t,M,e),a(t,h,e),a(t,H,e),a(t,$,e),a(t,L,e),a(t,_,e),a(t,y,e),S(g,t,e),a(t,q,e),a(t,w,e),A=!0},p:J,i(t){A||(j(i.$$.fragment,t),j(f.$$.fragment,t),j(p.$$.fragment,t),j(g.$$.fragment,t),A=!0)},o(t){k(i.$$.fragment,t),k(f.$$.fragment,t),k(p.$$.fragment,t),k(g.$$.fragment,t),A=!1},d(t){t&&(n(x),n(d),n(b),n(C),n(T),n(P),n(u),n(E),n(c),n(M),n(h),n(H),n($),n(L),n(_),n(y),n(q),n(w)),n(r),z(i,t),z(f,t),z(p,t),z(g,t)}}}const st='{"title":"시퀀스-투-시퀀스 모델","local":"시퀀스-투-시퀀스-모델","sections":[],"depth":1}';function rt(U){return Q(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ut extends V{constructor(r){super(),W(this,r,rt,lt,I,{})}}export{ut as component};
