- การฝังความหมาย มอบศักยภาพสำหรับความก้าวหน้าอย่างพลิกโฉมในวงการงานเขียนเชิงเทคนิคในช่วงหลัง
- มีลักษณะเด่นคือคืนค่าเป็น อาร์เรย์ตัวเลขที่มีมิติคงที่ โดยไม่ขึ้นกับขนาดของข้อความนำเข้า
- อาร์เรย์ตัวเลขนี้ทำให้สามารถ เปรียบเทียบข้อความใด ๆ กันในเชิงคณิตศาสตร์ ได้
- การฝังความหมายคำนวณระยะห่างตามความหมายของข้อความใน ปริภูมิหลายมิติ และสามารถนำไปใช้ได้หลากหลาย เช่น การแนะนำตามความสัมพันธ์ การวิเคราะห์ความหมาย เป็นต้น
- ในอนาคต หากเว็บไซต์เอกสารทางเทคนิคเปิดเผยข้อมูลการฝังความหมาย ก็คาดว่า เครื่องมือใหม่ ๆ และกรณีการใช้งานโดยชุมชนจะขยายตัวมากขึ้น
ภาพรวมของเทคโนโลยีการฝังความหมายที่อาศัยแมชชีนเลิร์นนิง
- ในเทคโนโลยี แมชชีนเลิร์นนิง ต่างจากโมเดลสร้างข้อความ การฝังความหมาย มีศักยภาพที่จะส่งผลเชิงปฏิวัติต่องานเขียนเชิงเทคนิค
- ในช่วงไม่กี่ปีที่ผ่านมา การใช้งานการฝังความหมายได้เปลี่ยนไปสู่ความ เข้าถึงได้ง่ายยิ่งขึ้น
- ผ่านการฝังความหมาย นักเขียนเทคนิคสามารถทำ การเปรียบเทียบและวิเคราะห์เชิงความหมายระหว่างข้อความหลากหลายประเภท ได้
สร้างความเข้าใจเชิงสัญชาตญาณเกี่ยวกับการฝังความหมาย
- การฝังความหมายรับข้อความเป็นอินพุต (เช่น คำ ประโยค หรือเอกสารหลายชิ้น) แล้วคืนค่าเป็น อาร์เรย์ตัวเลขขนาดคงที่
- ไม่ว่าข้อความนำเข้าจะยาวเพียงใด ก็จะสร้าง ข้อมูลอาร์เรย์ที่มีขนาดเท่ากันเสมอ
- ด้วยเหตุนี้ จึงเกิดความเป็นไปได้ในการ เปรียบเทียบข้อความใด ๆ ที่มีความยาวต่างกันในเชิงคณิตศาสตร์
วิธีสร้างการฝังความหมาย
- สามารถสร้างการฝังความหมายได้ด้วย โค้ดเพียงไม่กี่บรรทัด ผ่าน ผู้ให้บริการ รายใหญ่
- ขนาดของอาร์เรย์การฝังความหมายจะแตกต่างกันไปตาม โมเดล ที่ใช้ โดยในกรณีของ Gemini จะคืนค่าตัวเลข 768 ค่า และ Voyage AI จะคืนค่า 1024 ค่า
- เนื่องจากความหมายของการฝังความหมายแตกต่างกันโดยสิ้นเชิงตามผู้ให้บริการหรือโมเดล จึง ขาดความเข้ากันได้ระหว่างกัน
ต้นทุนและผลกระทบต่อสิ่งแวดล้อม
- การสร้างการฝังความหมายเองนั้น มีต้นทุนไม่สูง
- กระบวนการสร้างคาดว่า ใช้ทรัพยากรการประมวลผลน้อยกว่า โมเดลสร้างข้อความ แต่ผลกระทบต่อสิ่งแวดล้อมยังต้องการข้อมูลเพิ่มเติมในอนาคต
เกณฑ์การเลือกโมเดลการฝังความหมาย
- โมเดลที่เหมาะสมที่สุดจะแตกต่างกันไปตาม ความสามารถในการรองรับข้อมูลนำเข้าปริมาณมาก
- ณ ปี 2024 voyage-3 ของ Voyage AI ให้ ขีดจำกัดอินพุตสูงที่สุด
- การเลือกโมเดลให้เหมาะกับวัตถุประสงค์และความต้องการเป็นสิ่งสำคัญ
แนวคิดเรื่องปริภูมิหลายมิติ
- ค่าต่าง ๆ ใน อาร์เรย์ตัวเลขของการฝังความหมาย แต่ละค่าตรงกับพิกัดหนึ่งตำแหน่งในปริภูมิหลายมิติ และใช้ตำแหน่งเชิงความหมายในปริภูมินี้แทนลักษณะของข้อความ
- ตัวอย่างเช่น การคำนวณอย่าง ‘king’ - ‘man’ + ‘woman’ ≈ ‘queen’ แสดงให้เห็นถึงความเป็นไปได้ของ การแทนความสัมพันธ์เชิงความหมาย
- ลักษณะของแต่ละมิติในปริภูมิการฝังความหมายส่วนใหญ่ ไม่ชัดเจนและเป็นนามธรรม
- ผ่านกระบวนการนี้ การเรียนรู้ความหมายของเครื่องและการอนุมานความหมายของข้อความ จึงเป็นไปได้
การเปรียบเทียบและการจัดเก็บการฝังความหมาย
- การฝังความหมายที่สร้างแล้วจะถูกจัดเก็บแยกตามข้อความแต่ละชิ้น (เช่น หน้าเอกสาร) ใน ฐานข้อมูล เป็นต้น
- สามารถตัดสินความคล้ายคลึงกันเชิงความหมายได้จาก การคำนวณระยะห่างทางคณิตศาสตร์ ระหว่างการฝังความหมายสองชุด (โดยใช้พีชคณิตเชิงเส้น)
- การใช้ไลบรารีอย่าง NumPy และ scikit-learn ช่วยให้ ภาระในการเขียนสูตรที่ซับซ้อนลดลง
ตัวอย่างการประยุกต์ใช้การฝังความหมาย
- การฝังความหมายถูกนำไปใช้ได้อย่างมีประสิทธิภาพกับ ฟังก์ชันแนะนำหน้าที่เกี่ยวข้อง ในเว็บไซต์เอกสารทางเทคนิค
- หลังจากสร้างการฝังความหมายให้แต่ละหน้าแล้ว ก็สามารถ แนะนำเอกสารที่เชื่อมโยงกันเชิงความหมาย ระหว่างหน้าที่มีความคล้ายคลึงกันเชิงตัวเลขสูงได้
- ทุกครั้งที่มีการเปลี่ยนเนื้อหาของหน้า ก็เพียงรีเฟรชการฝังความหมายใหม่ ทำให้ มีประสิทธิภาพสูง
- ผลการนำไปใช้กับเอกสาร [Sphinx] จริงพบว่า ให้ประสิทธิภาพในเชิงบวก
ชุมชนและความเป็นไปได้ของข้อมูลเปิด
- ในอนาคต เว็บไซต์เอกสารอาจให้บริการข้อมูลการฝังความหมายผ่าน REST API หรือ well-known URIs
- สิ่งนี้จะเปิดโอกาสให้ชุมชนสามารถ พัฒนาเครื่องมือและบริการประยุกต์ได้อย่างหลากหลาย
บทส่งท้าย
- การได้เชื่อมโยงแนวคิดเรื่องปริภูมิ หลายร้อยมิติ เข้ากับงานประจำวันเป็นเรื่องที่น่าสนใจ
- คาดหวังได้ว่าการนำการฝังความหมายมาใช้จะสร้าง ความก้าวหน้าอย่างพลิกโฉม ในด้านต่าง ๆ เช่น การดูแลรักษาเอกสารและการขยายฟังก์ชัน
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
สวัสดีครับ/ค่ะ ผม/ฉันเป็นผู้เขียนบทความนี้และอยากกล่าวขอบคุณ
ขอแจ้งว่าเมื่อ 6 เดือนก่อนก็มีการพูดคุยในลักษณะคล้ายกัน
คำว่า "embedding ถูกประเมินค่าต่ำเกินไป" มีจุดประสงค์เพื่อเน้นว่ามันเป็นเครื่องมือที่มีประโยชน์กับนักเขียนสายเทคนิคมากกว่าคนทำงานแมชชีนเลิร์นนิง
ผม/ฉันทราบดีว่าในบทความนี้ยังขาดรายละเอียดว่าจริง ๆ แล้วใช้ embedding กับงานเขียนเชิงเทคนิคอย่างไร
ตอนนี้กำลังเตรียมทั้งโปรเจกต์และบล็อกโพสต์เกี่ยวกับการใช้ embedding อยู่
embedding มีความสำคัญเพราะสามารถช่วยแก้ปัญหาที่ยาก 3 อย่างในงานเขียนเชิงเทคนิคได้
เพื่อให้สัมผัสประสบการณ์ embedding ต่อปัญหาที่ผู้ใช้หาข้อมูลที่ต้องการได้ไม่ง่าย ผม/ฉันลองใช้ UX layer แบบ "semantic scrolling" แบบสาธารณะดู
มันไม่ใช่การค้นหาเสียทีเดียว แต่เป็นการเดินสำรวจคลัสเตอร์ในโครงสร้างต้นไม้ <details>/<summary>
[1] คือจุดเริ่มต้น และ [2] คือคอลเลกชันทั้งหมด (หนังสือ ภาพยนตร์ เพลง อนิเมะ ฯลฯ)
ขอแชร์ลิงก์ไว้ด้วย
น่าจะจัดเนื้อหาให้ดึงดูดนักเขียนสายเทคนิคมากกว่าผู้เชี่ยวชาญแมชชีนเลิร์นนิง
ตัวอย่างเช่น ส่วนที่ว่า "เราสามารถค้นพบความเชื่อมโยงระหว่างข้อความในสเกลที่ก่อนหน้านี้เป็นไปไม่ได้" ควรอธิบายให้ละเอียดกว่านี้
ถ้านำตัวอย่างการใช้งานมาไว้ช่วงต้นบทความ น่าจะสื่อสารกับผู้อ่านได้มีประสิทธิภาพกว่า
ขอแนะนำงานวิจัยที่เป็นตัวอย่างการประยุกต์ใช้ embedding กับงานเขียนเชิงเทคนิคโดยตรง
มีลิงก์แนบไว้
อ่านบทความนี้แล้วก็อยากรู้ว่าคุณภาพของผลลัพธ์เป็นอย่างไร
ไม่จำเป็นต้องถึงขั้น evals แบบที่ฝั่งแมชชีนเลิร์นนิงชอบก็ได้ แค่อยากรู้คร่าว ๆ ว่ารู้สึกว่าผลลัพธ์มันสมเหตุสมผลหรือไม่
ผม/ฉันอ่านบทความแล้วแต่หาไม่เจอว่าคำว่า "embedding" คืออะไร
ในย่อหน้าที่ 3 พูดถึงวิธีใช้งาน แต่ช่วงต้นยังขาดคำจำกัดความของตัว embedding เอง
สำหรับมือใหม่ มันให้ความรู้สึกว่าเป็นบทความพื้นฐานเกินไป
อ่านจบแล้วไม่ได้ข้อมูลใหม่หรือมุมมองใหม่
ถ้าได้เห็นตัวอย่างการใช้งานสำคัญของ embedding แบบพอให้ลิ้มรสสักหน่อย ก็น่าจะทำให้อยากรอบทความถัดไปมากขึ้น
ขอบคุณที่แชร์ครับ/ค่ะ
ข้อดีอีกอย่างของ embedding และการค้นหาด้วย embedding คือสามารถทำฝั่งไคลเอนต์ได้โดยมีภาระไม่มาก
โมเดล ONNX สามารถโหลดและรันด้วย transformer.js ได้
ยังสามารถสร้างดัชนีอย่าง hnsw แล้วโฮสต์แบบสแตติกได้ด้วย
ผม/ฉันยังทำเดโมโอเพนซอร์สเองด้วย
เพียงแสดงดัชนีเป็นไฟล์ parquet ที่ query ได้ แล้วใช้ duckdb query ก็พอ
ถ้าใช้ Github Pages ก็ทำได้ฟรีหรือแทบไม่เสียค่าใช้จ่ายเลย
การทำ embedding ฝั่งไคลเอนต์ด้วย JS ได้ถือเป็นเรื่องที่ค้นพบใหม่สำหรับผม/ฉัน
ดูน่าตื่นเต้นเพราะเหมือนจะเปิดทางให้มีการประยุกต์ใช้ใหม่ ๆ บนเว็บไซต์เอกสาร
Parquet กับ Polars ก็เป็นสิ่งที่ผม/ฉันเริ่มสนใจจากบทความที่เคยอ่านมาก่อนหน้านี้
ผม/ฉันเคยสงสัยเกี่ยวกับการทำแบบนี้อยู่
ลังเลจะนำมาใช้เพราะกังวลเรื่อง latency ของการค้นหาแบบ embedding
ถ้าเอาโมเดลมาไว้ในเครื่องและเรนเดอร์เอง คุณภาพจะเป็นอย่างไรเมื่อเทียบกับ OpenAI/Google
ความฟรี/ความฉับไวเป็นข้อดีแน่นอน
น่าจะอธิบายให้ละเอียดกว่านี้ว่าในเดโมเกิดอะไรขึ้นบ้าง
ตอนนี้ยังไม่ค่อยเข้าใจผลลัพธ์
อยากให้ส่วนที่ว่า "embedding จะคืนอาร์เรย์ตัวเลขขนาดเท่าเดิมเสมอโดยไม่ขึ้นกับขนาดของข้อความขาเข้า ดังนั้นจึงสามารถเปรียบเทียบข้อความใด ๆ ทางคณิตศาสตร์ได้" อธิบายให้ชัดเจนกว่านี้
ฟังก์ชันแฮชก็ให้ผลลัพธ์ขนาดคงที่โดยไม่ขึ้นกับขนาดอินพุตเช่นกัน แต่การเปรียบเทียบทางคณิตศาสตร์ของมันต่างจากการเปรียบเทียบ embedding โดยสิ้นเชิง
ควรเน้นว่าคุณภาพของ embedding ถูกกำหนดโดยกระบวนการฝึก
ไม่มีสิ่งที่เรียกว่า "universal embedding" ที่เปรียบเทียบข้อความใด ๆ ได้อย่างมีความหมายสำหรับทุกกรณี
มีการแชร์ลิงก์ไว้ด้วย
embedding ก็เหมือนกับแฮชตรงที่บีบอัดอินพุตขนาดใหญ่ให้เป็นตัวแทนขนาดเล็กลง แต่ต่างกันตรงที่ embedding มีความหมายโดยเนื้อแท้
ถ้าอย่างนั้นมีงานวิจัยเกี่ยวกับการ "แคร็ก" โดยสร้างข้อความที่มีความหมายใกล้เคียงย้อนกลับจาก embedding หรือไม่
ดูเหมือนว่าสามารถเอาความคล้ายคลึงกับ embedding หรือการเปลี่ยนแปลงของทิศทางมาใส่ในการประเมินโทเค็นถัดไปของผลลัพธ์ LLM ได้ด้วย
จากการที่ผู้เขียนพูดถึงการคำนวณระหว่างเวกเตอร์ embedding ก็เลยจินตนาการว่ากับข้อความขนาดใหญ่มากอย่างทั้งย่อหน้าหรือทั้งเล่ม อาจใช้ "พีชคณิตเชิงความหมาย" ได้เหมือนกันหรือไม่
และสงสัยว่าจะทำให้แนวคิดแกนกลางอย่างเช่น "affinity" กลายเป็นเวกเตอร์แล้วนำไปบวกกับข้อความเดิมได้หรือไม่
การ "สร้างข้อความที่มีความหมายใกล้เคียงย้อนกลับจาก embedding" เรียกว่า embedding inversion หรือ Universal Zero-shot Embedding Inversion
มีงานวิจัยที่เกี่ยวข้องอยู่จริง และงาน diffusion ที่ใช้ CLIP embedding ในภาพก็เกี่ยวเนื่องกันด้วย
ถ้าพูดแบบคร่าว ๆ embedding มีบทบาทคล้าย fuzzy hashes
ผม/ฉันไม่ใช่ผู้เชี่ยวชาญในสาขานี้ แต่มีงานวิจัยชื่อ inference-time intervention ที่อาจเกี่ยวข้องด้วย
มีลิงก์งานวิจัยแนบไว้
ประโยคที่ว่า "เราสามารถบรรลุความก้าวหน้าระดับสูงสุดในงานเขียนเชิงเทคนิคด้วย embedding" ยังไม่เฉพาะเจาะจงพอ จึงไม่ค่อยเป็นประโยชน์ในฐานะผู้อ่าน
ปกติแล้วเวลาอ่านหรือเขียนเอกสารเทคนิค ผม/ฉันไม่เคยรู้สึกว่าต้องการวิดเจ็ต "หน้าที่คล้ายกัน"
วิทยานิพนธ์หลัก (Thesis) อยู่ในย่อหน้าที่สอง
embedding ช่วยให้นักเขียนสายเทคนิคค้นพบความเชื่อมโยงระหว่างข้อความในแบบที่ก่อนหน้านี้หาไม่พบ
ผม/ฉันยอมรับว่าโพสต์นี้ยังแสดงวิทยานิพนธ์ดังกล่าวผ่านตัวอย่างที่จับต้องได้ไม่สำเร็จ
คิดว่า embedding สามารถช่วยแก้โจทย์ยากหลายอย่างของงานเขียนเชิงเทคนิคได้ และจะพูดถึงตัวอย่างตรง ๆ ในภายหลัง
นอกเหนือจากเอกสารที่เกี่ยวข้องแล้ว เอกสารเทคนิคที่มีระบบค้นหาที่ยอดเยี่ยมก็มีประโยชน์มาก
embedding มีประโยชน์อย่างยิ่งกับ "fuzzy matching" และช่วยให้ผู้ใช้หาฟังก์ชันที่ต้องการได้ แม้จะจำคำที่ถูกต้องไม่ได้
แนวทางแบบไฮบริดที่ผสมการค้นหาด้วยคีย์เวิร์ดกับการค้นหาด้วย vector similarity มีประสิทธิภาพดี
ผม/ฉันอยากหาตัวอย่างการใช้งานที่เป็นรูปธรรมเพิ่มเติม
อุปมาเรื่องแผนที่ 2 มิติเป็นจุดเริ่มต้นที่ดีในการช่วยให้เข้าใจ แต่ embedding ทำงานในมิติหลักร้อยถึงหลักพัน
ก็ยังไม่ชัดเจนด้วยว่าแต่ละมิติมีความหมายอะไร และตัวอย่าง 'king - man + woman = queen' ก็ไม่ใช่เพราะมี "มิติของแนวคิดเรื่องเพศ" อยู่ แต่เพราะมี "ทิศทางหนึ่ง" อยู่ต่างหาก
ในปริภูมิ n มิติ มีทิศทางที่เกือบตั้งฉากกันอยู่มากมายแบบเพิ่มขึ้นตามเอกซ์โปเนนเชียล
นี่จึงเป็นเหตุผลว่าทำไมปริภูมิ 1000 มิติถึงบรรจุแนวคิดได้เป็นพันล้านแบบ
ในงานวิจัย arXiv จริง ๆ แล้ว การใส่คำผู้ชาย 1000 คำเข้าไปใน embedding ไม่ได้ทำให้ได้คำผู้หญิง 950 คำกลับมาอย่างแม่นยำ
มีแค่ราว 20 คำที่เห็นการรวมกลุ่มได้ชัด แต่เพราะมิติมีเยอะ เวลาฉายภาพลงมาก็อาจทำให้ดูเหมือนว่าอะไรก็ "ถูก" ได้
พอ N ใหญ่ขึ้น ผลลัพธ์มักจะยิ่งคลุมเครือ
embedding แบบ transformer คำนึงถึงบริบท จึงดีกว่า word vector รุ่นเก่ามาก
แม้แต่ในการค้นหาข้อความทั้งชุด embedding ที่รับรู้บริบทก็ช่วยแก้ปัญหาในงาน information retrieval ที่พยายามกันมา 50 ปี เช่น เรื่องคำพ้องความหมาย ได้อย่างมีประสิทธิภาพ
ขอบคุณสำหรับคำวิจารณ์อย่างละเอียด และยอมรับว่าการอธิบายเหมือนกับว่ามิติเดี่ยวหนึ่งมิติแมปกับแนวคิดแบบหนึ่งต่อหนึ่งนั้นเป็นความผิดพลาดเชิงแนวคิด
ผม/ฉันจะปรับแก้โพสต์โดยขัดเกลาแนวคิดให้ดีขึ้นพร้อมอธิบายการทำงานของ cosine similarity
คอมเมนต์นี้ช่วยยกระดับคุณภาพความคิดของผม/ฉันจริง ๆ
อยากเน้นว่าคำที่ถูกต้องคือ "ทิศทางที่เกือบตั้งฉากกัน" ไม่ใช่ "มิติที่เกือบตั้งฉากกัน"
อยากรู้เพิ่มเติมเกี่ยวกับ Johnson-Lindenstrauss lemma รวมถึงการคงจำนวนมิติและความแม่นยำในการรักษาระยะทางของ embedding
ถ้าต้องการรักษาระยะทางด้วยความคลาดเคลื่อน 10% จะต้องใช้ประมาณ 18,000 มิติ
มีลิงก์ไปยังวิกิด้วย
พูดให้แม่นกว่านี้คือไม่ใช่ "มิติที่เกือบตั้งฉากกัน" แต่เป็น "ทิศทางที่เกือบตั้งฉากกัน"
หากมิติแต่ละมิติสอดคล้องกับแนวคิดที่มีความหมายจริง เช่น มีมิติของเพศอยู่ เราก็น่าจะรู้ได้ง่ายว่า "king" กับ "queen" ต่างกันแค่มิติเดียว
ถ้าแต่ละแนวคิดมีมิติของตัวเอง เราก็น่าจะติดตามแนวคิดต่าง ๆ ตามความแตกต่างนั้นได้อย่างเป็นธรรมชาติ
ขอแนะนำบทความดี ๆ เกี่ยวกับแนวคิดของเวกเตอร์ที่เกือบตั้งฉากกัน
มีการแชร์ลิงก์ไว้
ผม/ฉันสงสัยว่าหลักการนี้คือการมองแต่ละมิติเป็นเหมือนเลขฐานสอง แล้วเข้ารหัสทิศทางได้ 2^n แบบใช่หรือไม่ หรือว่าผม/ฉันกำลังเข้าใจผิด
ถ้าหากเพศถูกแทนด้วยสองมิติ แบบนั้นเราจะไม่สามารถแยกความต่างระหว่าง "เพศต่างกัน" กับ "แต่ละมิติมีองค์ประกอบต่างกัน" ได้ใช่ไหม
แม้จะมองภาพไม่ได้ แต่ก็ยังคำนวณระยะทางแบบยูคลิดได้
และสามารถลดมิติด้วยเครื่องมืออย่าง UMAP ได้
เกี่ยวกับตัวอย่าง king-man+woman=queen การบวกเวกเตอร์อาจไม่ได้ทำงานตามที่หวังเสมอไป
ความหมายอาจถูกจำกัดด้วยทิศทางและขนาดของเวกเตอร์เดี่ยวเท่านั้น และเพราะเครือข่ายเรียนรู้พฤติกรรมแบบไม่เชิงเส้น ความหมายอาจเปลี่ยนไปตามจุดเริ่มต้น
หากไม่มีหลักฐานเชิงทดลอง ก็มีข้อจำกัดในการสรุปทั่วไปจากการคำนวณเวกเตอร์แบบง่าย ๆ
embedding คือก้าวกระโดดครั้งใหม่สู่ความเป็นสากล เช่นเดียวกับตัวอักษรหรือเลข
มีการแชร์ลิงก์ไว้
มีคำถามถึงผู้เชี่ยวชาญ
ถ้า embedding บรรจุเนื้อหา หรือก็คือความหมายไว้ในเวกเตอร์แล้ว จะมีเวกเตอร์แยกต่างหากสำหรับ "สไตล์" เพียงอย่างเดียวหรือไม่
ถ้าใช้ embedding กับงานวิจัยวิเคราะห์สำนวนการเขียนได้ง่าย ก็อาจเป็นความก้าวหน้าครั้งใหญ่ได้เช่นกัน
เห็นด้วยกับการใช้ embedding อย่างเต็มที่
ตอนพัฒนา Recallify มันช่วยให้ผม/ฉันกลับไปหาเรื่องหายากที่เคยอ่านบนออนไลน์ได้อย่างรวดเร็ว
แค่ 1024 มิติก็เพียงพอจะเชื่อมโยงเนื้อหาด้วยความคล้ายคลึงเชิงความหมาย แทนที่จะยึดแค่คีย์เวิร์ด
มันเป็นเครื่องมือปฏิวัติวงการในการเปลี่ยนแนวคิดที่คลุมเครือให้กลายเป็นอินไซต์ที่นำไปปฏิบัติได้
ตอนนี้ก็กำลังเปิดรับผู้ทดสอบเบต้าแอป iOS อยู่ด้วย
ไม่แน่ใจว่าในบทความมีกรณีใช้งานโดยตรงสำหรับนักเขียนสายเทคนิคปรากฏขึ้นหรือไม่
embedding มีความสำคัญมากใน LLM, semantic search และอื่น ๆ แต่ยังขาดคำอธิบายเรื่องประโยชน์โดยตรงที่ผู้เขียนกำลังสื่อ
ยังไม่มีตัวอย่างการใช้งานโดยตรงปรากฏในบทความ
เดิมทีตั้งใจจะพูดถึงการใช้ embedding หลากหลายแบบในบทความต่อเนื่องและโปรเจกต์ แต่ช่วงนี้ล่าช้าไปเพราะเพิ่งมีลูกอายุ 3 เดือน
กำลังเตรียมโปรเจกต์และบทความที่เกี่ยวข้องต่อไป และ embedding ช่วยแก้โจทย์สำคัญ 3 อย่างในงานเขียนเชิงเทคนิคได้
การใช้งาน embedding ที่ใช้ได้จริงคือ semantic search, classification และ clustering
วงการค้นหามักมีความก้าวหน้าครั้งใหญ่ทุก ๆ 10 ปี
ถ้าสร้าง embedding แล้วป้อนเข้าอัลกอริทึม ML เดิม ๆ ก็สามารถจัดประเภทได้อย่างมีประสิทธิภาพ
วิธี Bag-of-Words ให้ผลลัพธ์ไม่ดีพอแล้วในตอนนี้ ส่วน embedding + อัลกอริทึมง่าย ๆ ก็ให้คลัสเตอร์ที่ดีได้
การหาเวกเตอร์ที่อยู่ใกล้กันก็ไม่ถึงกับต้องใช้พีชคณิตเชิงเส้นหนัก ๆ แค่ dot product ก็พอ
การใช้ embedding เพื่อค้นหางานวิจัยหรือเอกสารเชิงความหมายจะมีประโยชน์มาก
อย่างไรก็ตาม ตัว embedding เองไม่ได้มีข้อมูลแหล่งที่มารวมอยู่ด้วย ดังนั้นในการค้นหาแบบ RAG จึงเชื่อมได้แค่ไปยังหน้าต้นทาง
ปัญหาเรื่องการอ้างอิงและการยืนยันแหล่งที่มายังคงอยู่
โมเดลการอ้างอิงแบบกราฟอย่าง GraphRAG ดูก้าวหน้ากว่าในจุดนี้
ผม/ฉันเคยสร้างตัวจัดหมวดหมู่ RSS feed ด้วย semantic search ที่อิง embedding
และยังจัดหมวดหมู่ตามหมวดหมู่ที่กำหนดเองได้ด้วย
ตอนนี้บริการปิดไปแล้วเพราะออกจาก AWS