import{s as X,n as F,o as Y}from"../chunks/scheduler.37c15a92.js";import{S as L,i as K,g as M,s as n,r as w,A as D,h as g,f as e,c as l,j as R,u as j,x as Q,k as Z,y as O,a,v as J,d as $,t as k,w as T}from"../chunks/index.2bf4358c.js";import{C as P}from"../chunks/CodeBlock.4e987730.js";import{C as ss}from"../chunks/CourseFloatingBanner.6add7356.js";import{H as ts,E as es}from"../chunks/getInferenceSnippets.80a69898.js";function as(q){let r,x,d,U,p,C,i,B,o,H="หากคุณต้องการจะใช้โมเดล pretrain หรือโมเดล fine-tune ในการใช้งานจริง โปรดระลึกไว้เสมอว่าโมเดลพวกนี้ใช้งานได้ดี และก็มีข้อจำกัดอยู่เช่นกัน ข้อจำกัดที่สำคัญที่สุดเลยคือ การจะ pretrain โมเดลเหล่านี้ด้วยข้อมูลขนาดใหญ่ได้ นักวิจัยก็ต้องดึงข้อมูลมากจากแหล่งต่าง ๆ ทั้งหมดเท่าที่หาได้ นั่นคือมันจะมีทั้งข้อมูลที่ดีและข้อมูลแย่ ๆ ในอินเตอร์เนตมารวมเข้าด้วยกัน",_,c,S="เพื่อให้เห็นภาพ ลองมาดูตัวอย่างการ <code>fill-mask</code> ด้วยโมเดล BERT:",I,m,V,u,W,h,z='เมื่อต้องการเติมคำในช่องว่างในประโยคสองประโยคด้านบน โมเดลให้คำตอบออกมาเป็นอาชีพที่ไม่เกี่ยวข้องกับเพศเพียงอาชีพเดียว (waiter/waitress) ส่วนอาชีพอื่น ๆ จะออกแนวไปทางเพศใดเพศหนึ่ง — และแน่นอน โสเภณีกลายเป็นตัวเลือก 5 ตัวเลือกแรกที่โมเดลเลือกขึ้นมาเมื่อเจอคำว่า “woman” และ “work” แม้ว่า BERT จะเป็นโมเดล Transformer เพียงไม่กี่โมเดลที่ไม่ได้เทรนขึ้นมาจากข้อมูลที่ดึงออกมาจากอินเตอร์เนต แต่ใช้ข้อมูลกลาง ๆ (โมเดลนี้เทรนขึ้นมาจากชุดข้อมูล <a href="https://huggingface.co/datasets/wikipedia" rel="nofollow">English Wikipedia</a> และ <a href="https://huggingface.co/datasets/bookcorpus" rel="nofollow">BookCorpus</a>)',v,f,A="เมื่อคุณได้เครื่องมือเหล่านี้ โปรดระลึกไว้เสมอว่าโมเดลเริ่มต้นนั้นสามารถสร้างข้อความที่แบ่งแยกเพศ แบ่งแยกเชื้อชาติ หรือแม้แต่ต่อต้านการเปิดกว้างเรื่องเพศ การ fine-tune โมเดลด้วยข้อมูลของเราไม่ได้ทำให้ อคติเหล่านี้หายไป",N,y,E,b,G;return p=new ts({props:{title:"ข้อจำกัดจากอคติของข้อมูล",local:"ขอจำกดจากอคตของขอมล",headingTag:"h1"}}),i=new ss({props:{chapter:1,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/th/chapter1/section8.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/th/chapter1/section8.ipynb"}]}}),m=new P({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBdW5tYXNrZXIlMjAlM0QlMjBwaXBlbGluZSglMjJmaWxsLW1hc2slMjIlMkMlMjBtb2RlbCUzRCUyMmJlcnQtYmFzZS11bmNhc2VkJTIyKSUwQXJlc3VsdCUyMCUzRCUyMHVubWFza2VyKCUyMlRoaXMlMjBtYW4lMjB3b3JrcyUyMGFzJTIwYSUyMCU1Qk1BU0slNUQuJTIyKSUwQXByaW50KCU1QnIlNUIlMjJ0b2tlbl9zdHIlMjIlNUQlMjBmb3IlMjByJTIwaW4lMjByZXN1bHQlNUQpJTBBJTBBcmVzdWx0JTIwJTNEJTIwdW5tYXNrZXIoJTIyVGhpcyUyMHdvbWFuJTIwd29ya3MlMjBhcyUyMGElMjAlNUJNQVNLJTVELiUyMiklMEFwcmludCglNUJyJTVCJTIydG9rZW5fc3RyJTIyJTVEJTIwZm9yJTIwciUyMGluJTIwcmVzdWx0JTVEKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

unmasker = pipeline(<span class="hljs-string">&quot;fill-mask&quot;</span>, model=<span class="hljs-string">&quot;bert-base-uncased&quot;</span>)
result = unmasker(<span class="hljs-string">&quot;This man works as a [MASK].&quot;</span>)
<span class="hljs-built_in">print</span>([r[<span class="hljs-string">&quot;token_str&quot;</span>] <span class="hljs-keyword">for</span> r <span class="hljs-keyword">in</span> result])

result = unmasker(<span class="hljs-string">&quot;This woman works as a [MASK].&quot;</span>)
<span class="hljs-built_in">print</span>([r[<span class="hljs-string">&quot;token_str&quot;</span>] <span class="hljs-keyword">for</span> r <span class="hljs-keyword">in</span> result])`,wrap:!1}}),u=new P({props:{code:"JTVCJ2xhd3llciclMkMlMjAnY2FycGVudGVyJyUyQyUyMCdkb2N0b3InJTJDJTIwJ3dhaXRlciclMkMlMjAnbWVjaGFuaWMnJTVEJTBBJTVCJ251cnNlJyUyQyUyMCd3YWl0cmVzcyclMkMlMjAndGVhY2hlciclMkMlMjAnbWFpZCclMkMlMjAncHJvc3RpdHV0ZSclNUQ=",highlighted:`[<span class="hljs-string">&#x27;lawyer&#x27;</span>, <span class="hljs-string">&#x27;carpenter&#x27;</span>, <span class="hljs-string">&#x27;doctor&#x27;</span>, <span class="hljs-string">&#x27;waiter&#x27;</span>, <span class="hljs-string">&#x27;mechanic&#x27;</span>]
[<span class="hljs-string">&#x27;nurse&#x27;</span>, <span class="hljs-string">&#x27;waitress&#x27;</span>, <span class="hljs-string">&#x27;teacher&#x27;</span>, <span class="hljs-string">&#x27;maid&#x27;</span>, <span class="hljs-string">&#x27;prostitute&#x27;</span>]`,wrap:!1}}),y=new es({props:{source:"https://github.com/huggingface/course/blob/main/chapters/th/chapter1/8.mdx"}}),{c(){r=M("meta"),x=n(),d=M("p"),U=n(),w(p.$$.fragment),C=n(),w(i.$$.fragment),B=n(),o=M("p"),o.textContent=H,_=n(),c=M("p"),c.innerHTML=S,I=n(),w(m.$$.fragment),V=n(),w(u.$$.fragment),W=n(),h=M("p"),h.innerHTML=z,v=n(),f=M("p"),f.textContent=A,N=n(),w(y.$$.fragment),E=n(),b=M("p"),this.h()},l(s){const t=D("svelte-u9bgzb",document.head);r=g(t,"META",{name:!0,content:!0}),t.forEach(e),x=l(s),d=g(s,"P",{}),R(d).forEach(e),U=l(s),j(p.$$.fragment,s),C=l(s),j(i.$$.fragment,s),B=l(s),o=g(s,"P",{"data-svelte-h":!0}),Q(o)!=="svelte-88yn8c"&&(o.textContent=H),_=l(s),c=g(s,"P",{"data-svelte-h":!0}),Q(c)!=="svelte-ug3dr6"&&(c.innerHTML=S),I=l(s),j(m.$$.fragment,s),V=l(s),j(u.$$.fragment,s),W=l(s),h=g(s,"P",{"data-svelte-h":!0}),Q(h)!=="svelte-1e9tnnk"&&(h.innerHTML=z),v=l(s),f=g(s,"P",{"data-svelte-h":!0}),Q(f)!=="svelte-1329kq3"&&(f.textContent=A),N=l(s),j(y.$$.fragment,s),E=l(s),b=g(s,"P",{}),R(b).forEach(e),this.h()},h(){Z(r,"name","hf:doc:metadata"),Z(r,"content",ns)},m(s,t){O(document.head,r),a(s,x,t),a(s,d,t),a(s,U,t),J(p,s,t),a(s,C,t),J(i,s,t),a(s,B,t),a(s,o,t),a(s,_,t),a(s,c,t),a(s,I,t),J(m,s,t),a(s,V,t),J(u,s,t),a(s,W,t),a(s,h,t),a(s,v,t),a(s,f,t),a(s,N,t),J(y,s,t),a(s,E,t),a(s,b,t),G=!0},p:F,i(s){G||($(p.$$.fragment,s),$(i.$$.fragment,s),$(m.$$.fragment,s),$(u.$$.fragment,s),$(y.$$.fragment,s),G=!0)},o(s){k(p.$$.fragment,s),k(i.$$.fragment,s),k(m.$$.fragment,s),k(u.$$.fragment,s),k(y.$$.fragment,s),G=!1},d(s){s&&(e(x),e(d),e(U),e(C),e(B),e(o),e(_),e(c),e(I),e(V),e(W),e(h),e(v),e(f),e(N),e(E),e(b)),e(r),T(p,s),T(i,s),T(m,s),T(u,s),T(y,s)}}}const ns='{"title":"ข้อจำกัดจากอคติของข้อมูล","local":"ขอจำกดจากอคตของขอมล","sections":[],"depth":1}';function ls(q){return Y(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ms extends L{constructor(r){super(),K(this,r,ls,as,X,{})}}export{ms as component};
