Buckets:

rtrm's picture
download
raw
29.5 kB
import{s as be,n as ze,o as ye}from"../chunks/scheduler.37c15a92.js";import{S as Pe,i as _e,g as xe,s as r,r as o,A as ve,h as ge,f as n,c as a,j as we,u as l,x as he,k as de,y as qe,a as i,v as s,d as m,t as p,w as $}from"../chunks/index.2bf4358c.js";import{C as Ee}from"../chunks/CourseFloatingBanner.6add7356.js";import{Q as u}from"../chunks/Question.668688bc.js";import{H as f,E as Te}from"../chunks/getInferenceSnippets.ebf8be91.js";function We(ce){let x,Q,M,R,g,j,c,D,k,ke="มาทดสอบความรู้ที่คุณได้เรียนในบทนี้กันเถอะ!",G,w,O,d,I,b,J,z,K,y,V,P,X,_,Y,v,Z,h,ee,q,te,E,ne,T,ie,W,re,B,ae,U,oe,C,le,F,se,S,me,A,pe,H,$e,L,fe,N,ue;return g=new f({props:{title:"คำถามท้ายบท",local:"คำถามทายบท",headingTag:"h1"}}),c=new Ee({props:{chapter:6,classNames:"absolute z-10 right-0 top-0"}}),w=new f({props:{title:"1. สถานการณ์ไหนที่คุณควรจะเทรน tokenizer ขึ้นมาใหม่?",local:"1-สถานการณไหนทคณควรจะเทรน-tokenizer-ขนมาใหม",headingTag:"h3"}}),d=new u({props:{choices:[{text:"เมื่อชุดข้อมูลเป้าหมาย คล้ายกับชุดข้อมูลที่โมเดลที่มีอยู่แล้วใช้ในการเทรน และคุณต้องการจะเทรนโมเดลขึ้นมาใหม่",explain:"ในกรณีนี้ คุณควรจะใช้ tokenizer ตัวเดิมเป็น pretrained model แล้ว fine-tune มันจะดีกว่า เพื่อจะได้ประหยัดเวลาและทรัพยากร"},{text:"เมื่อชุดข้อมูลเป้าหมาย คล้ายกับชุดข้อมูลที่ pretrained model ใช้ในการเทรน และคุณต้องการจะ fine-tune โมเดลตัวนี้",explain:"ถ้าคุณต้องการ fine-tune โมเดลจาก pretrained model คุณควรจะใช้ tokenizer ตัวเดียวกันเสมอ"},{text:"เมื่อชุดข้อมูลเป้าหมาย แตกต่างจากชุดข้อมูลที่ pretrained model ใช้ และคุณต้องการจะเทรนโมเดลใหม่ขึ้นมา",explain:"ถูกต้อง! ในกรณีนี้ ไม่มีประโยชน์ที่จะใช้ tokenizer ตัวเดิม",correct:!0},{text:"เมื่อชุดข้อมูลเป้าหมายแตกต่างจากชุดข้อมูลที่ใช้โดย pretrained model แต่คุณต้องการ fine-tune โมเดลตัวนี้เพื่อให้ได้โมเดลใหม่",explain:"ในการ fine-tune จาก pretrained model คุณควรใช้ tokenizer ตัวเดียวกันเสมอ"}]}}),b=new f({props:{title:"2. เวลาใช้ train_new_from_iterator() อะไรคือข้อดีของการใช้ generator of lists of texts เทียบกับการใช้ list of lists of texts?",local:"2-เวลาใช-trainnewfromiterator-อะไรคอขอดของการใช-generator-of-lists-of-texts-เทยบกบการใช-list-of-lists-of-texts",headingTag:"h3"}}),z=new u({props:{choices:[{text:"มันเป็นข้อมูลประเภทเดียวที่ <code>train_new_from_iterator()</code> สามารถใช้ได้",explain:"list of lists of texts เป็น generator ประเภทหนึ่ง ดังนั้น method นี้สามารถใช้มันได้เช่นกัน ลองดูใหม่นะ!"},{text:"เพื่อป้องกันไม่ให้คุณต้องโหลดชุดข้อมูลทั้งหมด ลงไปใน memory ภายในครั้งเดียว",explain:"ถูกต้อง! แต่ละ batch ของข้อความ จะถูกปล่อยออกจาก memory เวลาที่คุณ iterate มัน คุณจะเห็นประโยชน์ของการทำแบบนี้ได้ชัดเจนยิ่งขึ้น เวลาที่คุณใช้ 🤗 Datasets เพื่อเก็บข้อความ",correct:!0},{text:"ทำให้ 🤗 Tokenizers library สามารถใช้ multiprocessing ได้",explain:"ไม่ถูก เพราะมันจะใช้ multiprocessing ในทั้งสองกรณี"},{text:"tokenizer จะสามารถผลิตข้อความได้ดีขึ้น",explain:"tokenizer ไม่สามารถผลิตข้อความได้ -- คุณอาจจะกำลังสับสนมันกับ language model หรือเปล่า"}]}}),y=new f({props:{title:"3. อะไรคือข้อดีของ “fast” tokenizer?",local:"3-อะไรคอขอดของ-fast-tokenizer",headingTag:"h3"}}),P=new u({props:{choices:[{text:"มันสามารถประมวลผลข้อความ input ได้เร็วกว่า slow tokenizer เวลาที่คุณใช้ input batch ขนาดใหญ่",explain:"ถูกต้อง! มันทำแบบนั้นได้ก็เพราะ การทำงานแบบ parallelism จาก Rust จะทำให้มันประมวลผล input ในรูปแบบ batch ได้เร็วขึ้น นอกจากนี้แล้ว คุณรู้ไหมว่ามันยังมีประโยชน์อะไรอีก",correct:!0},{text:"Fast tokenizer สามารถประมวลได้เร็วกว่า slow tokenizer เสมอ",explain:"ไม่ถูก เพราะว่า fast tokenizer จะช้ากว่าถ้าหาก input น้อยมาก เพราะมันจะไม่สามารถใช้ parallelism ได้"},{text:"มันสามารถทำ padding และ truncation (ตัดบางส่วนของข้อความออก ถ้ายาวไป) ได้",explain:"slow tokenizers สามารถทำได้เช่นกัน"},{text:"มันมี feature พิเศษที่ช่วยให้คุณสามารถ map แต่ละ token ไปหา span ของข้อความหลักได้",explain:" ถูกต้อง Feature นี้เรียกว่า offset mappings แต่ยังมีอีกข้อที่ถูกเช่นกัน",correct:!0}]}}),_=new f({props:{title:"4. token-classification pipeline มีวิธีจัดการกับ entity ที่ประกอบไปด้วยหลายๆ token ได้อย่างไร?",local:"4-token-classification-pipeline-มวธจดการกบ-entity-ทประกอบไปดวยหลายๆ-token-ไดอยางไร",headingTag:"h3"}}),v=new u({props:{choices:[{text:"Entity ที่มี label เดียวกันจะถูกรวมเป็น entity เดียว",explain:"คำอธิบายนี้ง่ายเกินไป ลองใหม่นะ!"},{text:"มันจะใช้ label ประเภทหนึ่งสำหรับ token ที่อยู่จุดเริ่มต้นของ entity และ label อีกประเภทสำหรับ token ส่วนที่เหลือ",explain:"ถูกต้อง!",correct:!0},{text:"ในคำๆหนึ่ง ถ้า token แรกมี label ของ entity คำทั้งคำจะถูก label ให้เป็น entity นั้นด้วย",explain:"ถูกต้อง นี่เป็นวิธีหนึ่งในการจัดการกับ entity ลองดูว่ามีคำตอบอื่นที่ถูกต้องอีกมั้ย",correct:!0},{text:"ถ้า token หนึ่งถูก label ว่าเป็น entity token อื่นๆที่ตามมาที่มี label เดียวกัน จะถูกจัดว่าเป็น entity เดียวกัน ยกเว้นว่า มันจะเป็น label ที่บอกว่าเริ่ม entity ใหม่",explain:"ถูกต้อง นี่เป็นวิธีมาตรฐานที่เอาไว้ใช้รวม token ของ entity เข้าด้วยกัน -- ยังมีอีกคำตอบที่ถูกต้องเช่นกัน ลองหาดู",correct:!0}]}}),h=new f({props:{title:"5. question-answering pipeline มีวิธีจัดการกับข้อความส่วนบริบท(context)ที่มีขนาดยาวอย่างไร?",local:"5-question-answering-pipeline-มวธจดการกบขอความสวนบรบทcontextทมขนาดยาวอยางไร",headingTag:"h3"}}),q=new u({props:{choices:[{text:"มันไม่ได้จัดการอะไร มันแค่ตัด context ให้มีความยาวเท่ากับความยาวสูงสุดที่เป็นไปได้เท่านั้น",explain:"เราได้เรียนทริกที่เอาไว้ใช้แก้ปัญหา context ยาวกันแล้ว จำได้มั้ย"},{text:"มันจะแบ่ง context ออกเป็นหลายๆส่วน แล้วคำนวณค่าเฉลี่ยของผลลัพธ์จากแต่ละส่วนเป็นคำตอบ",explain:"ไม่ถูก มันไม่สมเหตุสมผลที่จะใช้ค่าเฉลี่ย เพราะว่าบางส่วนของ context อาจจะไม่มีคำตอบอยู่เลยก็ได้"},{text:"มันจะแยก context ออกเป็นหลายๆส่วน โดยให้แต่ละส่วนทับซ้อนกันด้วย (overlap) แล้วมันจะคำนวณ score ให้แต่ละส่วน แล้วเลือกส่วนที่มี score สูงที่สุดเป็นคำตอบ",explain:"ถูกต้อง!",correct:!0},{text:"มันจะแบ่ง context ออกเป็นหลายๆส่วน โดยไม่มีส่วนทับซ้อน เพื่อรักษาประสิทธิภาพ แล้วเลือกส่วนที่มี score สูงที่สุดเป็นคำตอบ",explain:"ไม่ถูก เราควรแบ่ง context ให้มีส่วนที่ทับซ้อนด้วย เพื่อป้องกันไม่ให้เกิดกรณีที่ span ของคำตอบ ถูกตัดออกไปอยู่หลายๆส่วน"}]}}),E=new f({props:{title:"6. อะไรคือ normalization?",local:"6-อะไรคอ-normalization",headingTag:"h3"}}),T=new u({props:{choices:[{text:"ขั้นตอนที่เกี่ยวข้องกับการทำความสะอาดข้อมูล ที่ tokenizer ทำในขั้นเริ่มต้น",explain:"ถูกต้อง ตัวอย่างเช่น ลบ accents หรือ whitespace หรือแปลงข้อความเป็นตัวอักษรเล็ก",correct:!0},{text:"เทคนิคในการสร้างข้อมูลใหม่จากข้อมูลที่มีอยู่เพื่อขยายชุดข้อมูล (data augmentation) เกี่ยวข้องกับการทำข้อความให้เป็นปกติมากขึ้น โดยลบคำที่พบได้ยากออก",explain:"ไม่ถูก! ลองดูใหม่นะ"},{text:"ลำดับสุดท้ายหลังการประมวลผลหลัก ซึ่ง tokenizer จะเพิ่ม token พิเศษเข้าไปใน vocabulary",explain:"ไม่ถูก ขั้นตอนนี้คือ post-processing"},{text:"ขั้นตอนการสร้าง embeddings ให้มีค่า mean เท่ากับ 0 และค่า standard deviation เท่ากับ 1 ซึ่งคำนวณได้โดยการลบค่า mean ออกจากค่าหลัก และ หารโดย standard deviation",explain:"นี่เป็นขั้นตอน normalization สำหรับงานด้าน computer vision ที่เอาไว้ใช้ปรับค่าของ pixel ให้เป็นมาตรฐาน แต่วิธีนี้ใช้ไม่ได้ใน NLP"}]}}),W=new f({props:{title:"7. อะไรคือขั้นตอนการ pre-tokenization ของ subword tokenizer?",local:"7-อะไรคอขนตอนการ-pre-tokenization-ของ-subword-tokenizer",headingTag:"h3"}}),B=new u({props:{choices:[{text:"ขั้นตอนก่อนการ tokenize ที่มีการทำ data augmentation เช่น random masking",explain:"ไม่ถูก ขั้นตอนนี้เป็นส่วนหนึ่งในการประมวลผลหลัก"},{text:"ขั้นตอนก่อนการ tokenize ที่ข้อความจะถูกทำความสะอาด (cleanup)",explain:"ไม่ถูก ขั้นตอนนี้เรียกว่า normalization"},{text:"ขั้นตอนก่อนการ tokenize ที่ข้อความจะถูกแยกออกเป็นคำๆ",explain:"ถูกต้อง!",correct:!0},{text:"ขั้นตอนก่อนการ tokenize ที่ข้อความจะถูกแยกออกเป็น token",explain:"ไม่ถูก นี่คือขั้นตอนหลักของ tokenizer"}]}}),U=new f({props:{title:"8. เลือกข้อความที่ถูกต้อง เกี่ยวกับ BPE model?",local:"8-เลอกขอความทถกตอง-เกยวกบ-bpe-model",headingTag:"h3"}}),C=new u({props:{choices:[{text:"BPE คืออัลกอริทึมแบบ subword ที่เริ่มการเทรนด้วย vocabulary ขนาดเล็ก และมันจะเรียนกฎเพื่อรวม token (merge rules)",explain:"ถูกต้อง!",correct:!0},{text:"BPE คืออัลกอริทึมแบบ subword ที่เริ่มการเทรนด้วย vocabulary ขนาดใหญ่ และมันจะพยายามจะลบ token ออกจาก vocabulary เรื่อยๆ",explain:"ไม่ถูก นี่คือคำอธิบายของอัลกอริทึมอีกประเภทต่างหาก"},{text:"BPE มีเป้าหมายคือการเรียนกฎเพื่อรวม token เข้าด้วยกัน (merge rules) โดยมันจะรวมคู่ของ token ที่พบบ่อยที่สุดเข้าด้วยกัน",explain:"ถูกต้อง!",correct:!0},{text:"BPE มีเป้าหมายคือการเรียนกฎเพื่อรวม token เข้าด้วยกัน (merge rules) มันจะรวมคู่ของ token ที่มี score สูงที่สุดเข้าด้วยกัน ถ้าหากคู่ token นี้มีจำนวนมากและแต่ละ token ในคู่มีจำนวนน้อย คู่นี้จะมี score สูง",explain:"ไม่ถูก นี่คือคำอธิบายของอัลกอริทึมอีกประเภทต่างหาก"},{text:"BPE ตัดคำออกเป็นคำย่อย (subwords) โดยแบ่งแต่ละคำออกเป็นตัวอักษร แล้วใช้ merge rules เพื่อรวมคำย่อยพวกนี้เข้าด้วยกัน",explain:"ถูกต้อง!",correct:!0},{text:"BPE ตัดคำออกเป็นคำย่อย (subwords) โดยจะแบ่งคำเมื่อเจอคำย่อยที่ยาวที่สุดที่อยู่ใน vocabulary เริ่มจากต้นคำ จากนั้น มันจะทำแบบเดียวกันนี้กับส่วนที่เหลือของข้อความไปเรื่อยๆ",explain:"ไม่ถูก นี่คือคำอธิบายของอัลกอริทึมอีกประเภทต่างหาก"}]}}),F=new f({props:{title:"9. เลือกข้อความที่ถูกต้อง เกี่ยวกับ WordPiece model?",local:"9-เลอกขอความทถกตอง-เกยวกบ-wordpiece-model",headingTag:"h3"}}),S=new u({props:{choices:[{text:"WordPiece คืออัลกอริทึมแบบ subword ที่เริ่มการเทรนด้วย vocabulary ขนาดเล็ก และเรียนกฎสำหรับการรวม token (merge rules)",explain:"ถูกต้อง!",correct:!0},{text:"WordPiece คืออัลกอริทึมแบบ subword ที่เริ่มการเทรนด้วย vocabulary ขนาดใหญ่ และมันจะพยายามจะลบ token ออกจาก vocabulary เรื่อยๆ",explain:"ไม่ถูก นี่คือคำอธิบายของอัลกอริทึมอีกประเภทต่างหาก"},{text:"WordPiece มีเป้าหมายคือการเรียนกฎเพื่อรวม token เข้าด้วยกัน (merge rules) โดยมันจะรวมคู่ของ token ที่พบบ่อยที่สุดเข้าด้วยกัน",explain:"ไม่ถูก นี่คือคำอธิบายของอัลกอริทึมอีกประเภทต่างหาก"},{text:"WordPiece มีเป้าหมายคือการเรียนกฎเพื่อรวม token เข้าด้วยกัน (merge rules) มันจะรวมคู่ของ token ที่มี score สูงที่สุดเข้าด้วยกัน ถ้าหากคู่ token นี้มีจำนวนมากและแต่ละ token ในคู่มีจำนวนน้อย คู่นี้จะมี score สูง",explain:"ถูกต้อง!",correct:!0},{text:"WordPiece ตัดคำให้เป็นคำย่อย (subwords) โดยเลือก segmentation ที่มีความเป็นไปได้มากที่สุดเป็นคำตอบ",explain:"ไม่ถูก นี่คือคำอธิบายของอัลกอริทึมอีกประเภทต่างหาก"},{text:"WordPiece ตัดคำออกเป็นคำย่อย (subwords) โดยจะแบ่งคำเมื่อเจอคำย่อยที่ยาวที่สุดที่อยู่ใน vocabulary เริ่มจากต้นคำ จากนั้น มันจะทำแบบเดียวกันนี้กับส่วนที่เหลือของข้อความไปเรื่อยๆ",explain:"ถูกต้อง นี่คือวิธีที่ WordPiece ทำการ encoding",correct:!0}]}}),A=new f({props:{title:"10. เลือกข้อความที่ถูกต้อง เกี่ยวกับ Unigram model?",local:"10-เลอกขอความทถกตอง-เกยวกบ-unigram-model",headingTag:"h3"}}),H=new u({props:{choices:[{text:"Unigram คืออัลกอริทึมแบบ subword ที่เริ่มการเทรนด้วย vocabulary ขนาดเล็ก และเรียนกฎสำหรับการรวม token (merge rules)",explain:"ไม่ถูก นี่คือคำอธิบายของอัลกอริทึมอีกประเภทต่างหาก"},{text:"Unigram คืออัลกอริทึมแบบ subword ที่เริ่มการเทรนด้วย vocabulary ขนาดใหญ่ และมันจะพยายามจะลบ token ออกจาก vocabulary เรื่อยๆ",explain:"ถูกต้อง!",correct:!0},{text:"Unigram จะปรับ vocabulary โดยพยายามลดให้ค่า loss ของ corpus",explain:"ถูกต้อง!",correct:!0},{text:"Unigram จะปรับ vocabulary โดยเลือกเก็บ token ที่มีความถี่สูงไว้",explain:"ไม่ถูก"},{text:"Unigram WordPiece ตัดคำให้เป็นคำย่อย (subwords) โดยเลือก segmentation ที่มีความเป็นไปได้มากที่สุดเป็นคำตอบ",explain:"ถูกต้อง!",correct:!0},{text:"Unigram ตัดคำออกเป็นคำย่อย (subwords) โดยแบ่งแต่ละคำออกเป็นตัวอักษร แล้วใช้ merge rules เพื่อรวมคำย่อยพวกนี้เข้าด้วยกัน",explain:"ไม่ถูก นี่คือคำอธิบายของอัลกอริทึมอีกประเภทต่างหาก"}]}}),L=new Te({props:{source:"https://github.com/huggingface/course/blob/main/chapters/th/chapter6/10.mdx"}}),{c(){x=xe("meta"),Q=r(),M=xe("p"),R=r(),o(g.$$.fragment),j=r(),o(c.$$.fragment),D=r(),k=xe("p"),k.textContent=ke,G=r(),o(w.$$.fragment),O=r(),o(d.$$.fragment),I=r(),o(b.$$.fragment),J=r(),o(z.$$.fragment),K=r(),o(y.$$.fragment),V=r(),o(P.$$.fragment),X=r(),o(_.$$.fragment),Y=r(),o(v.$$.fragment),Z=r(),o(h.$$.fragment),ee=r(),o(q.$$.fragment),te=r(),o(E.$$.fragment),ne=r(),o(T.$$.fragment),ie=r(),o(W.$$.fragment),re=r(),o(B.$$.fragment),ae=r(),o(U.$$.fragment),oe=r(),o(C.$$.fragment),le=r(),o(F.$$.fragment),se=r(),o(S.$$.fragment),me=r(),o(A.$$.fragment),pe=r(),o(H.$$.fragment),$e=r(),o(L.$$.fragment),fe=r(),N=xe("p"),this.h()},l(e){const t=ve("svelte-u9bgzb",document.head);x=ge(t,"META",{name:!0,content:!0}),t.forEach(n),Q=a(e),M=ge(e,"P",{}),we(M).forEach(n),R=a(e),l(g.$$.fragment,e),j=a(e),l(c.$$.fragment,e),D=a(e),k=ge(e,"P",{"data-svelte-h":!0}),he(k)!=="svelte-1ad0c4q"&&(k.textContent=ke),G=a(e),l(w.$$.fragment,e),O=a(e),l(d.$$.fragment,e),I=a(e),l(b.$$.fragment,e),J=a(e),l(z.$$.fragment,e),K=a(e),l(y.$$.fragment,e),V=a(e),l(P.$$.fragment,e),X=a(e),l(_.$$.fragment,e),Y=a(e),l(v.$$.fragment,e),Z=a(e),l(h.$$.fragment,e),ee=a(e),l(q.$$.fragment,e),te=a(e),l(E.$$.fragment,e),ne=a(e),l(T.$$.fragment,e),ie=a(e),l(W.$$.fragment,e),re=a(e),l(B.$$.fragment,e),ae=a(e),l(U.$$.fragment,e),oe=a(e),l(C.$$.fragment,e),le=a(e),l(F.$$.fragment,e),se=a(e),l(S.$$.fragment,e),me=a(e),l(A.$$.fragment,e),pe=a(e),l(H.$$.fragment,e),$e=a(e),l(L.$$.fragment,e),fe=a(e),N=ge(e,"P",{}),we(N).forEach(n),this.h()},h(){de(x,"name","hf:doc:metadata"),de(x,"content",Be)},m(e,t){qe(document.head,x),i(e,Q,t),i(e,M,t),i(e,R,t),s(g,e,t),i(e,j,t),s(c,e,t),i(e,D,t),i(e,k,t),i(e,G,t),s(w,e,t),i(e,O,t),s(d,e,t),i(e,I,t),s(b,e,t),i(e,J,t),s(z,e,t),i(e,K,t),s(y,e,t),i(e,V,t),s(P,e,t),i(e,X,t),s(_,e,t),i(e,Y,t),s(v,e,t),i(e,Z,t),s(h,e,t),i(e,ee,t),s(q,e,t),i(e,te,t),s(E,e,t),i(e,ne,t),s(T,e,t),i(e,ie,t),s(W,e,t),i(e,re,t),s(B,e,t),i(e,ae,t),s(U,e,t),i(e,oe,t),s(C,e,t),i(e,le,t),s(F,e,t),i(e,se,t),s(S,e,t),i(e,me,t),s(A,e,t),i(e,pe,t),s(H,e,t),i(e,$e,t),s(L,e,t),i(e,fe,t),i(e,N,t),ue=!0},p:ze,i(e){ue||(m(g.$$.fragment,e),m(c.$$.fragment,e),m(w.$$.fragment,e),m(d.$$.fragment,e),m(b.$$.fragment,e),m(z.$$.fragment,e),m(y.$$.fragment,e),m(P.$$.fragment,e),m(_.$$.fragment,e),m(v.$$.fragment,e),m(h.$$.fragment,e),m(q.$$.fragment,e),m(E.$$.fragment,e),m(T.$$.fragment,e),m(W.$$.fragment,e),m(B.$$.fragment,e),m(U.$$.fragment,e),m(C.$$.fragment,e),m(F.$$.fragment,e),m(S.$$.fragment,e),m(A.$$.fragment,e),m(H.$$.fragment,e),m(L.$$.fragment,e),ue=!0)},o(e){p(g.$$.fragment,e),p(c.$$.fragment,e),p(w.$$.fragment,e),p(d.$$.fragment,e),p(b.$$.fragment,e),p(z.$$.fragment,e),p(y.$$.fragment,e),p(P.$$.fragment,e),p(_.$$.fragment,e),p(v.$$.fragment,e),p(h.$$.fragment,e),p(q.$$.fragment,e),p(E.$$.fragment,e),p(T.$$.fragment,e),p(W.$$.fragment,e),p(B.$$.fragment,e),p(U.$$.fragment,e),p(C.$$.fragment,e),p(F.$$.fragment,e),p(S.$$.fragment,e),p(A.$$.fragment,e),p(H.$$.fragment,e),p(L.$$.fragment,e),ue=!1},d(e){e&&(n(Q),n(M),n(R),n(j),n(D),n(k),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(re),n(ae),n(oe),n(le),n(se),n(me),n(pe),n($e),n(fe),n(N)),n(x),$(g,e),$(c,e),$(w,e),$(d,e),$(b,e),$(z,e),$(y,e),$(P,e),$(_,e),$(v,e),$(h,e),$(q,e),$(E,e),$(T,e),$(W,e),$(B,e),$(U,e),$(C,e),$(F,e),$(S,e),$(A,e),$(H,e),$(L,e)}}}const Be='{"title":"คำถามท้ายบท","local":"คำถามทายบท","sections":[{"title":"1. สถานการณ์ไหนที่คุณควรจะเทรน tokenizer ขึ้นมาใหม่?","local":"1-สถานการณไหนทคณควรจะเทรน-tokenizer-ขนมาใหม","sections":[],"depth":3},{"title":"2. เวลาใช้ train_new_from_iterator() อะไรคือข้อดีของการใช้ generator of lists of texts เทียบกับการใช้ list of lists of texts?","local":"2-เวลาใช-trainnewfromiterator-อะไรคอขอดของการใช-generator-of-lists-of-texts-เทยบกบการใช-list-of-lists-of-texts","sections":[],"depth":3},{"title":"3. อะไรคือข้อดีของ “fast” tokenizer?","local":"3-อะไรคอขอดของ-fast-tokenizer","sections":[],"depth":3},{"title":"4. token-classification pipeline มีวิธีจัดการกับ entity ที่ประกอบไปด้วยหลายๆ token ได้อย่างไร?","local":"4-token-classification-pipeline-มวธจดการกบ-entity-ทประกอบไปดวยหลายๆ-token-ไดอยางไร","sections":[],"depth":3},{"title":"5. question-answering pipeline มีวิธีจัดการกับข้อความส่วนบริบท(context)ที่มีขนาดยาวอย่างไร?","local":"5-question-answering-pipeline-มวธจดการกบขอความสวนบรบทcontextทมขนาดยาวอยางไร","sections":[],"depth":3},{"title":"6. อะไรคือ normalization?","local":"6-อะไรคอ-normalization","sections":[],"depth":3},{"title":"7. อะไรคือขั้นตอนการ pre-tokenization ของ subword tokenizer?","local":"7-อะไรคอขนตอนการ-pre-tokenization-ของ-subword-tokenizer","sections":[],"depth":3},{"title":"8. เลือกข้อความที่ถูกต้อง เกี่ยวกับ BPE model?","local":"8-เลอกขอความทถกตอง-เกยวกบ-bpe-model","sections":[],"depth":3},{"title":"9. เลือกข้อความที่ถูกต้อง เกี่ยวกับ WordPiece model?","local":"9-เลอกขอความทถกตอง-เกยวกบ-wordpiece-model","sections":[],"depth":3},{"title":"10. เลือกข้อความที่ถูกต้อง เกี่ยวกับ Unigram model?","local":"10-เลอกขอความทถกตอง-เกยวกบ-unigram-model","sections":[],"depth":3}],"depth":1}';function Ue(ce){return ye(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Le extends Pe{constructor(x){super(),_e(this,x,Ue,We,be,{})}}export{Le as component};

Xet Storage Details

Size:
29.5 kB
·
Xet hash:
3b7bf8c647e38b3f0764c213b89537ebbe053181b2157e1fd93643037f03e943

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