Buckets:
| import{s as Ut,o as $t}from"../chunks/scheduler.893fe8c9.js";import{S as wt,i as Ct,e as M,s as i,c as d,h as vt,a as f,d as a,b as o,f as Jt,g as k,j as C,k as L,l as Zt,m as c,n as J,o as b,q as Tt,t as g,p as T,r as jt}from"../chunks/index.2d09ebb4.js";import{C as _t,H as Wt,E as Vt}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.f605f605.js";import{C as A}from"../chunks/CodeBlock.39ab846a.js";import{C as xt}from"../chunks/CourseFloatingBanner.e3aeab73.js";import{F as Nt}from"../chunks/FrameworkSwitchCourse.f49b9dc4.js";function zt(j){let l,r;return l=new xt({props:{chapter:4,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/vi/chapter4/section2_tf.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/vi/chapter4/section2_tf.ipynb"}]}}),{c(){d(l.$$.fragment)},l(n){k(l.$$.fragment,n)},m(n,y){J(l,n,y),r=!0},i(n){r||(g(l.$$.fragment,n),r=!0)},o(n){b(l.$$.fragment,n),r=!1},d(n){T(l,n)}}}function Et(j){let l,r;return l=new xt({props:{chapter:4,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/vi/chapter4/section2_pt.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/vi/chapter4/section2_pt.ipynb"}]}}),{c(){d(l.$$.fragment)},l(n){k(l.$$.fragment,n)},m(n,y){J(l,n,y),r=!0},i(n){r||(g(l.$$.fragment,n),r=!0)},o(n){b(l.$$.fragment,n),r=!1},d(n){T(l,n)}}}function Qt(j){let l,r,n,y='Tuy nhiên, chúng tôi khuyên bạn nên sử dụng <a href="https://huggingface.co/transformers/model_doc/auto.html?highlight=auto#auto-classes" rel="nofollow"><code>TFAuto*</code> classes</a> vì đây là của kiến trúc thiết kế-bất khả tri. Trong khi đoạn mã trước đó giới hạn người dùng ở các checkpoint chỉ có thể tải được trong kiến trúc CamemBERT, việc sử dụng các lớp <code>TFAuto*</code> giúp việc chuyển đổi các checkpoint trở nên đơn giản:',h,m,u;return l=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMENhbWVtYmVydFRva2VuaXplciUyQyUyMFRGQ2FtZW1iZXJ0Rm9yTWFza2VkTE0lMEElMEF0b2tlbml6ZXIlMjAlM0QlMjBDYW1lbWJlcnRUb2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMmNhbWVtYmVydC1iYXNlJTIyKSUwQW1vZGVsJTIwJTNEJTIwVEZDYW1lbWJlcnRGb3JNYXNrZWRMTS5mcm9tX3ByZXRyYWluZWQoJTIyY2FtZW1iZXJ0LWJhc2UlMjIp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> CamembertTokenizer, TFCamembertForMaskedLM | |
| tokenizer = CamembertTokenizer.from_pretrained(<span class="hljs-string">"camembert-base"</span>) | |
| model = TFCamembertForMaskedLM.from_pretrained(<span class="hljs-string">"camembert-base"</span>)`,wrap:!1}}),m=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMkMlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNJTBBJTBBdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplci5mcm9tX3ByZXRyYWluZWQoJTIyY2FtZW1iZXJ0LWJhc2UlMjIpJTBBbW9kZWwlMjAlM0QlMjBURkF1dG9Nb2RlbEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZCglMjJjYW1lbWJlcnQtYmFzZSUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, TFAutoModelForMaskedLM | |
| tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">"camembert-base"</span>) | |
| model = TFAutoModelForMaskedLM.from_pretrained(<span class="hljs-string">"camembert-base"</span>)`,wrap:!1}}),{c(){d(l.$$.fragment),r=i(),n=M("p"),n.innerHTML=y,h=i(),d(m.$$.fragment)},l(e){k(l.$$.fragment,e),r=o(e),n=f(e,"P",{"data-svelte-h":!0}),C(n)!=="svelte-k4y9ei"&&(n.innerHTML=y),h=o(e),k(m.$$.fragment,e)},m(e,p){J(l,e,p),c(e,r,p),c(e,n,p),c(e,h,p),J(m,e,p),u=!0},i(e){u||(g(l.$$.fragment,e),g(m.$$.fragment,e),u=!0)},o(e){b(l.$$.fragment,e),b(m.$$.fragment,e),u=!1},d(e){e&&(a(r),a(n),a(h)),T(l,e),T(m,e)}}}function Bt(j){let l,r,n,y='Tuy nhiên, chúng tôi khuyên bạn nên sử dụng <a href="https://huggingface.co/transformers/model_doc/auto.html?highlight=auto#auto-classes" rel="nofollow"><code>Auto*</code> classes</a> vì đây là của kiến trúc thiết kế-bất khả tri. Trong khi đoạn mã trước đó giới hạn người dùng ở các checkpoint chỉ có thể tải được trong kiến trúc CamemBERT, việc sử dụng các lớp <code>Auto*</code> giúp việc chuyển đổi các checkpoint trở nên đơn giản:',h,m,u;return l=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMENhbWVtYmVydFRva2VuaXplciUyQyUyMENhbWVtYmVydEZvck1hc2tlZExNJTBBJTBBdG9rZW5pemVyJTIwJTNEJTIwQ2FtZW1iZXJ0VG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJjYW1lbWJlcnQtYmFzZSUyMiklMEFtb2RlbCUyMCUzRCUyMENhbWVtYmVydEZvck1hc2tlZExNLmZyb21fcHJldHJhaW5lZCglMjJjYW1lbWJlcnQtYmFzZSUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> CamembertTokenizer, CamembertForMaskedLM | |
| tokenizer = CamembertTokenizer.from_pretrained(<span class="hljs-string">"camembert-base"</span>) | |
| model = CamembertForMaskedLM.from_pretrained(<span class="hljs-string">"camembert-base"</span>)`,wrap:!1}}),m=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMkMlMjBBdXRvTW9kZWxGb3JNYXNrZWRMTSUwQSUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMmNhbWVtYmVydC1iYXNlJTIyKSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yTWFza2VkTE0uZnJvbV9wcmV0cmFpbmVkKCUyMmNhbWVtYmVydC1iYXNlJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AutoModelForMaskedLM | |
| tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">"camembert-base"</span>) | |
| model = AutoModelForMaskedLM.from_pretrained(<span class="hljs-string">"camembert-base"</span>)`,wrap:!1}}),{c(){d(l.$$.fragment),r=i(),n=M("p"),n.innerHTML=y,h=i(),d(m.$$.fragment)},l(e){k(l.$$.fragment,e),r=o(e),n=f(e,"P",{"data-svelte-h":!0}),C(n)!=="svelte-qkh53m"&&(n.innerHTML=y),h=o(e),k(m.$$.fragment,e)},m(e,p){J(l,e,p),c(e,r,p),c(e,n,p),c(e,h,p),J(m,e,p),u=!0},i(e){u||(g(l.$$.fragment,e),g(m.$$.fragment,e),u=!0)},o(e){b(l.$$.fragment,e),b(m.$$.fragment,e),u=!1},d(e){e&&(a(r),a(n),a(h)),T(l,e),T(m,e)}}}function Ft(j){let l,r,n,y,h,m,u,e,p,R,x,U,I,W,it="Model Hub làm cho việc chọn mô hình thích hợp trở nên đơn giản, vì vậy việc sử dụng mô hình đó trong bất kỳ thư viện nào dưới đây có thể được thực hiện trong một vài dòng mã. Hãy cùng xem cách thực sự sử dụng một trong những mô hình này và cách đóng góp lại cho cộng đồng.",q,V,ot="Giả sử chúng tôi đang tìm kiếm một mô hình cho tiếng Pháp có thể thực hiện tác vụ diền vào phần bị che đi.",H,v,mt='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/camembert.gif" alt="Selecting the Camembert model." width="80%"/>',D,N,pt="Chúng tôi chọn checkpoint <code>camembert-base</code> để dùng thử. Từ <code>camembert-base</code> là tất cả những gì chúng ta cần để bắt đầu sử dụng nó! Như bạn đã thấy trong các chương trước, chúng ta có thể khởi tạo nó bằng cách sử dụng hàm <code>pipeline()</code>:",P,z,K,E,O,Q,ht="Như bạn có thể thấy, việc tải một mô hình trong một pipeline cực kỳ đơn giản. Điều duy nhất bạn cần chú ý là checkpoint đã chọn có phù hợp với tác vụ mà nó sẽ được sử dụng hay không. Ví dụ: ở đây chúng tôi đang tải checkpoint <code>camembert-base</code> trong pipeline <code>fill-mask</code>, điều này hoàn toàn ổn. Nhưng nếu chúng tôi tải checkpoint này trong pipeline phân loại văn bản, kết quả sẽ không có ý nghĩa gì vì phần đầu của <code>camembert-base</code> không phù hợp với tác vụ này! Chúng tôi khuyên bạn nên sử dụng công cụ chọn tác vụ trong giao diện Hugging Face Hub để chọn các checkpoint thích hợp:",tt,Z,ut='<img src="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter4/tasks.png" alt="The task selector on the web interface." width="80%"/>',et,B,yt="Bạn cũng có thể khởi tạo checkpoint bằng cách sử dụng kiến trúc mô hình trực tiếp:",nt,$,w,X,_,bt="<p>Khi sử dụng một mô hình được huấn luyện trước, hãy đảm bảo kiểm tra xem nó được huấn luyện như thế nào, dựa trên tập dữ liệu nào, các giới hạn và độ sai lệch của nó. Tất cả thông tin này phải được ghi trên thẻ mô hình của nó.</p>",st,F,lt,S,at;h=new Nt({props:{fw:j[0]}}),u=new _t({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),p=new Wt({props:{title:"Sử dụng các mô hình huấn luyện trước",local:"sử-dụng-các-mô-hình-huấn-luyện-trước",headingTag:"h1"}});const gt=[Et,zt],G=[];function Mt(t,s){return t[0]==="pt"?0:1}x=Mt(j),U=G[x]=gt[x](j),z=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBY2FtZW1iZXJ0X2ZpbGxfbWFzayUyMCUzRCUyMHBpcGVsaW5lKCUyMmZpbGwtbWFzayUyMiUyQyUyMG1vZGVsJTNEJTIyY2FtZW1iZXJ0LWJhc2UlMjIpJTBBcmVzdWx0cyUyMCUzRCUyMGNhbWVtYmVydF9maWxsX21hc2soJTIyTGUlMjBjYW1lbWJlcnQlMjBlc3QlMjAlM0NtYXNrJTNFJTIwJTNBKSUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline | |
| camembert_fill_mask = pipeline(<span class="hljs-string">"fill-mask"</span>, model=<span class="hljs-string">"camembert-base"</span>) | |
| results = camembert_fill_mask(<span class="hljs-string">"Le camembert est <mask> :)"</span>)`,wrap:!1}}),E=new A({props:{code:"JTVCJTBBJTIwJTIwJTdCJ3NlcXVlbmNlJyUzQSUyMCdMZSUyMGNhbWVtYmVydCUyMGVzdCUyMGQlQzMlQTlsaWNpZXV4JTIwJTNBKSclMkMlMjAnc2NvcmUnJTNBJTIwMC40OTA5MTAwNTMyNTMxNzM4MyUyQyUyMCd0b2tlbiclM0ElMjA3MjAwJTJDJTIwJ3Rva2VuX3N0ciclM0ElMjAnZCVDMyVBOWxpY2lldXgnJTdEJTJDJTBBJTIwJTIwJTdCJ3NlcXVlbmNlJyUzQSUyMCdMZSUyMGNhbWVtYmVydCUyMGVzdCUyMGV4Y2VsbGVudCUyMCUzQSknJTJDJTIwJ3Njb3JlJyUzQSUyMDAuMTA1NTY5NzQyNjE5OTkxMyUyQyUyMCd0b2tlbiclM0ElMjAyMTgzJTJDJTIwJ3Rva2VuX3N0ciclM0ElMjAnZXhjZWxsZW50JyU3RCUyQyUwQSUyMCUyMCU3QidzZXF1ZW5jZSclM0ElMjAnTGUlMjBjYW1lbWJlcnQlMjBlc3QlMjBzdWNjdWxlbnQlMjAlM0EpJyUyQyUyMCdzY29yZSclM0ElMjAwLjAzNDUzMzEzMTg2NzY0NzE3JTJDJTIwJ3Rva2VuJyUzQSUyMDI2MjAyJTJDJTIwJ3Rva2VuX3N0ciclM0ElMjAnc3VjY3VsZW50JyU3RCUyQyUwQSUyMCUyMCU3QidzZXF1ZW5jZSclM0ElMjAnTGUlMjBjYW1lbWJlcnQlMjBlc3QlMjBtZWlsbGV1ciUyMCUzQSknJTJDJTIwJ3Njb3JlJyUzQSUyMDAuMDMzMDMxNDExNDY4OTgyNyUyQyUyMCd0b2tlbiclM0ElMjA1MjglMkMlMjAndG9rZW5fc3RyJyUzQSUyMCdtZWlsbGV1ciclN0QlMkMlMEElMjAlMjAlN0Inc2VxdWVuY2UnJTNBJTIwJ0xlJTIwY2FtZW1iZXJ0JTIwZXN0JTIwcGFyZmFpdCUyMCUzQSknJTJDJTIwJ3Njb3JlJyUzQSUyMDAuMDMwMDc2NTAxODkxMDE2OTYlMkMlMjAndG9rZW4nJTNBJTIwMTY1NCUyQyUyMCd0b2tlbl9zdHInJTNBJTIwJ3BhcmZhaXQnJTdEJTBBJTVE",highlighted:`[ | |
| {<span class="hljs-string">'sequence'</span>: <span class="hljs-string">'Le camembert est délicieux :)'</span>, <span class="hljs-string">'score'</span>: <span class="hljs-number">0.49091005325317383</span>, <span class="hljs-string">'token'</span>: <span class="hljs-number">7200</span>, <span class="hljs-string">'token_str'</span>: <span class="hljs-string">'délicieux'</span>}, | |
| {<span class="hljs-string">'sequence'</span>: <span class="hljs-string">'Le camembert est excellent :)'</span>, <span class="hljs-string">'score'</span>: <span class="hljs-number">0.1055697426199913</span>, <span class="hljs-string">'token'</span>: <span class="hljs-number">2183</span>, <span class="hljs-string">'token_str'</span>: <span class="hljs-string">'excellent'</span>}, | |
| {<span class="hljs-string">'sequence'</span>: <span class="hljs-string">'Le camembert est succulent :)'</span>, <span class="hljs-string">'score'</span>: <span class="hljs-number">0.03453313186764717</span>, <span class="hljs-string">'token'</span>: <span class="hljs-number">26202</span>, <span class="hljs-string">'token_str'</span>: <span class="hljs-string">'succulent'</span>}, | |
| {<span class="hljs-string">'sequence'</span>: <span class="hljs-string">'Le camembert est meilleur :)'</span>, <span class="hljs-string">'score'</span>: <span class="hljs-number">0.0330314114689827</span>, <span class="hljs-string">'token'</span>: <span class="hljs-number">528</span>, <span class="hljs-string">'token_str'</span>: <span class="hljs-string">'meilleur'</span>}, | |
| {<span class="hljs-string">'sequence'</span>: <span class="hljs-string">'Le camembert est parfait :)'</span>, <span class="hljs-string">'score'</span>: <span class="hljs-number">0.03007650189101696</span>, <span class="hljs-string">'token'</span>: <span class="hljs-number">1654</span>, <span class="hljs-string">'token_str'</span>: <span class="hljs-string">'parfait'</span>} | |
| ]`,wrap:!1}});const ft=[Bt,Qt],Y=[];function dt(t,s){return t[0]==="pt"?0:1}return $=dt(j),w=Y[$]=ft[$](j),F=new Vt({props:{source:"https://github.com/huggingface/course/blob/main/chapters/vi/chapter4/2.mdx"}}),{c(){l=M("meta"),r=i(),n=M("p"),y=i(),d(h.$$.fragment),m=i(),d(u.$$.fragment),e=i(),d(p.$$.fragment),R=i(),U.c(),I=i(),W=M("p"),W.textContent=it,q=i(),V=M("p"),V.textContent=ot,H=i(),v=M("div"),v.innerHTML=mt,D=i(),N=M("p"),N.innerHTML=pt,P=i(),d(z.$$.fragment),K=i(),d(E.$$.fragment),O=i(),Q=M("p"),Q.innerHTML=ht,tt=i(),Z=M("div"),Z.innerHTML=ut,et=i(),B=M("p"),B.textContent=yt,nt=i(),w.c(),X=i(),_=M("blockquote"),_.innerHTML=bt,st=i(),d(F.$$.fragment),lt=i(),S=M("p"),this.h()},l(t){const s=vt("svelte-u9bgzb",document.head);l=f(s,"META",{name:!0,content:!0}),s.forEach(a),r=o(t),n=f(t,"P",{}),Jt(n).forEach(a),y=o(t),k(h.$$.fragment,t),m=o(t),k(u.$$.fragment,t),e=o(t),k(p.$$.fragment,t),R=o(t),U.l(t),I=o(t),W=f(t,"P",{"data-svelte-h":!0}),C(W)!=="svelte-vk12yw"&&(W.textContent=it),q=o(t),V=f(t,"P",{"data-svelte-h":!0}),C(V)!=="svelte-1phub02"&&(V.textContent=ot),H=o(t),v=f(t,"DIV",{class:!0,"data-svelte-h":!0}),C(v)!=="svelte-5d1oum"&&(v.innerHTML=mt),D=o(t),N=f(t,"P",{"data-svelte-h":!0}),C(N)!=="svelte-a8p0dn"&&(N.innerHTML=pt),P=o(t),k(z.$$.fragment,t),K=o(t),k(E.$$.fragment,t),O=o(t),Q=f(t,"P",{"data-svelte-h":!0}),C(Q)!=="svelte-1h5qcny"&&(Q.innerHTML=ht),tt=o(t),Z=f(t,"DIV",{class:!0,"data-svelte-h":!0}),C(Z)!=="svelte-13iokc9"&&(Z.innerHTML=ut),et=o(t),B=f(t,"P",{"data-svelte-h":!0}),C(B)!=="svelte-1u57jxy"&&(B.textContent=yt),nt=o(t),w.l(t),X=o(t),_=f(t,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),C(_)!=="svelte-zcsznf"&&(_.innerHTML=bt),st=o(t),k(F.$$.fragment,t),lt=o(t),S=f(t,"P",{}),Jt(S).forEach(a),this.h()},h(){L(l,"name","hf:doc:metadata"),L(l,"content",Gt),L(v,"class","flex justify-center"),L(Z,"class","flex justify-center"),L(_,"class","tip")},m(t,s){Zt(document.head,l),c(t,r,s),c(t,n,s),c(t,y,s),J(h,t,s),c(t,m,s),J(u,t,s),c(t,e,s),J(p,t,s),c(t,R,s),G[x].m(t,s),c(t,I,s),c(t,W,s),c(t,q,s),c(t,V,s),c(t,H,s),c(t,v,s),c(t,D,s),c(t,N,s),c(t,P,s),J(z,t,s),c(t,K,s),J(E,t,s),c(t,O,s),c(t,Q,s),c(t,tt,s),c(t,Z,s),c(t,et,s),c(t,B,s),c(t,nt,s),Y[$].m(t,s),c(t,X,s),c(t,_,s),c(t,st,s),J(F,t,s),c(t,lt,s),c(t,S,s),at=!0},p(t,[s]){const kt={};s&1&&(kt.fw=t[0]),h.$set(kt);let ct=x;x=Mt(t),x!==ct&&(jt(),b(G[ct],1,1,()=>{G[ct]=null}),Tt(),U=G[x],U||(U=G[x]=gt[x](t),U.c()),g(U,1),U.m(I.parentNode,I));let rt=$;$=dt(t),$!==rt&&(jt(),b(Y[rt],1,1,()=>{Y[rt]=null}),Tt(),w=Y[$],w||(w=Y[$]=ft[$](t),w.c()),g(w,1),w.m(X.parentNode,X))},i(t){at||(g(h.$$.fragment,t),g(u.$$.fragment,t),g(p.$$.fragment,t),g(U),g(z.$$.fragment,t),g(E.$$.fragment,t),g(w),g(F.$$.fragment,t),at=!0)},o(t){b(h.$$.fragment,t),b(u.$$.fragment,t),b(p.$$.fragment,t),b(U),b(z.$$.fragment,t),b(E.$$.fragment,t),b(w),b(F.$$.fragment,t),at=!1},d(t){t&&(a(r),a(n),a(y),a(m),a(e),a(R),a(I),a(W),a(q),a(V),a(H),a(v),a(D),a(N),a(P),a(K),a(O),a(Q),a(tt),a(Z),a(et),a(B),a(nt),a(X),a(_),a(st),a(lt),a(S)),a(l),T(h,t),T(u,t),T(p,t),G[x].d(t),T(z,t),T(E,t),Y[$].d(t),T(F,t)}}}const Gt='{"title":"Sử dụng các mô hình huấn luyện trước","local":"sử-dụng-các-mô-hình-huấn-luyện-trước","sections":[],"depth":1}';function Yt(j,l,r){let n="pt";return $t(()=>{const y=new URLSearchParams(window.location.search);r(0,n=y.get("fw")||"pt")}),[n]}class qt extends wt{constructor(l){super(),Ct(this,l,Yt,Ft,Ut,{})}}export{qt as component}; | |
Xet Storage Details
- Size:
- 16.9 kB
- Xet hash:
- a0108dfd0ab0e09b87c179627760a9b0fe06ed22f52fc61232d2f6db64f7b561
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.