import{s as F,n as Y,o as K}from"../chunks/scheduler.cc52f4b9.js";import{S as D,i as O,e as g,s as n,c as $,h as tt,a as b,d as e,b as l,f as L,g as d,j as H,k as P,l as st,m as a,n as w,t as j,o as J,p as x}from"../chunks/index.85964560.js";import{C as et,H as at,E as nt}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.4cab8d21.js";import{C as X}from"../chunks/CodeBlock.b43b1e5c.js";import{C as lt}from"../chunks/CourseFloatingBanner.d24cbe55.js";function rt(S){let r,C,k,U,p,B,i,_,o,I,c,z="หากคุณต้องการจะใช้โมเดล pretrain หรือโมเดล fine-tune ในการใช้งานจริง โปรดระลึกไว้เสมอว่าโมเดลพวกนี้ใช้งานได้ดี และก็มีข้อจำกัดอยู่เช่นกัน ข้อจำกัดที่สำคัญที่สุดเลยคือ การจะ pretrain โมเดลเหล่านี้ด้วยข้อมูลขนาดใหญ่ได้ นักวิจัยก็ต้องดึงข้อมูลมากจากแหล่งต่าง ๆ ทั้งหมดเท่าที่หาได้ นั่นคือมันจะมีทั้งข้อมูลที่ดีและข้อมูลแย่ ๆ ในอินเตอร์เนตมารวมเข้าด้วยกัน",V,m,A="เพื่อให้เห็นภาพ ลองมาดูตัวอย่างการ <code>fill-mask</code> ด้วยโมเดล BERT:",W,u,v,f,N,h,R='เมื่อต้องการเติมคำในช่องว่างในประโยคสองประโยคด้านบน โมเดลให้คำตอบออกมาเป็นอาชีพที่ไม่เกี่ยวข้องกับเพศเพียงอาชีพเดียว (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>)',E,y,Z="เมื่อคุณได้เครื่องมือเหล่านี้ โปรดระลึกไว้เสมอว่าโมเดลเริ่มต้นนั้นสามารถสร้างข้อความที่แบ่งแยกเพศ แบ่งแยกเชื้อชาติ หรือแม้แต่ต่อต้านการเปิดกว้างเรื่องเพศ การ fine-tune โมเดลด้วยข้อมูลของเราไม่ได้ทำให้ อคติเหล่านี้หายไป",G,M,Q,T,q;return p=new et({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),i=new at({props:{title:"ข้อจำกัดจากอคติของข้อมูล",local:"ขอจำกดจากอคตของขอมล",headingTag:"h1"}}),o=new lt({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"}]}}),u=new X({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}}),f=new X({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}}),M=new nt({props:{source:"https://github.com/huggingface/course/blob/main/chapters/th/chapter1/8.mdx"}}),{c(){r=g("meta"),C=n(),k=g("p"),U=n(),$(p.$$.fragment),B=n(),$(i.$$.fragment),_=n(),$(o.$$.fragment),I=n(),c=g("p"),c.textContent=z,V=n(),m=g("p"),m.innerHTML=A,W=n(),$(u.$$.fragment),v=n(),$(f.$$.fragment),N=n(),h=g("p"),h.innerHTML=R,E=n(),y=g("p"),y.textContent=Z,G=n(),$(M.$$.fragment),Q=n(),T=g("p"),this.h()},l(t){const s=tt("svelte-u9bgzb",document.head);r=b(s,"META",{name:!0,content:!0}),s.forEach(e),C=l(t),k=b(t,"P",{}),L(k).forEach(e),U=l(t),d(p.$$.fragment,t),B=l(t),d(i.$$.fragment,t),_=l(t),d(o.$$.fragment,t),I=l(t),c=b(t,"P",{"data-svelte-h":!0}),H(c)!=="svelte-88yn8c"&&(c.textContent=z),V=l(t),m=b(t,"P",{"data-svelte-h":!0}),H(m)!=="svelte-ug3dr6"&&(m.innerHTML=A),W=l(t),d(u.$$.fragment,t),v=l(t),d(f.$$.fragment,t),N=l(t),h=b(t,"P",{"data-svelte-h":!0}),H(h)!=="svelte-1e9tnnk"&&(h.innerHTML=R),E=l(t),y=b(t,"P",{"data-svelte-h":!0}),H(y)!=="svelte-1329kq3"&&(y.textContent=Z),G=l(t),d(M.$$.fragment,t),Q=l(t),T=b(t,"P",{}),L(T).forEach(e),this.h()},h(){P(r,"name","hf:doc:metadata"),P(r,"content",pt)},m(t,s){st(document.head,r),a(t,C,s),a(t,k,s),a(t,U,s),w(p,t,s),a(t,B,s),w(i,t,s),a(t,_,s),w(o,t,s),a(t,I,s),a(t,c,s),a(t,V,s),a(t,m,s),a(t,W,s),w(u,t,s),a(t,v,s),w(f,t,s),a(t,N,s),a(t,h,s),a(t,E,s),a(t,y,s),a(t,G,s),w(M,t,s),a(t,Q,s),a(t,T,s),q=!0},p:Y,i(t){q||(j(p.$$.fragment,t),j(i.$$.fragment,t),j(o.$$.fragment,t),j(u.$$.fragment,t),j(f.$$.fragment,t),j(M.$$.fragment,t),q=!0)},o(t){J(p.$$.fragment,t),J(i.$$.fragment,t),J(o.$$.fragment,t),J(u.$$.fragment,t),J(f.$$.fragment,t),J(M.$$.fragment,t),q=!1},d(t){t&&(e(C),e(k),e(U),e(B),e(_),e(I),e(c),e(V),e(m),e(W),e(v),e(N),e(h),e(E),e(y),e(G),e(Q),e(T)),e(r),x(p,t),x(i,t),x(o,t),x(u,t),x(f,t),x(M,t)}}}const pt='{"title":"ข้อจำกัดจากอคติของข้อมูล","local":"ขอจำกดจากอคตของขอมล","sections":[],"depth":1}';function it(S){return K(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ht extends D{constructor(r){super(),O(this,r,it,rt,F,{})}}export{ht as component};
