คู่มือ AI ภาษา

Cross-Encoder และ Bi-Encoder

โมเดลประสาทสองวิธีเปรียบเทียบข้อความ: ตัวเข้ารหัสแบบคู่ฝังแต่ละส่วนแยกกันเพื่อการค้นหาที่รวดเร็ว ในขณะที่ตัวเข้ารหัสแบบข้ามจะอ่านข้อความทั้งสองเข้าด้วยกันเพื่อความแม่นยำที่สูงขึ้น

อ่าน 2 นาทีอัปเดตล่าสุด

ภาพรวม

การเลือกนี้กําหนดสมดุลระหว่างความเร็วกับความแม่นยําในทุกระบบค้นหาและดึงข้อมูลสมัยใหม่

เจาะลึก

สถาปัตยกรรมทั้งสองตอบว่า 'ข้อความสองข้อความเกี่ยวข้องกันอย่างไร' แต่จะแตกต่างกันเมื่อข้อความมาบรรจบกัน ตัวเข้ารหัสแบบคู่ทำงานแต่ละประโยคผ่านหม้อแปลงอย่างอิสระ โดยสร้างเวกเตอร์คงที่หนึ่งตัวต่อข้อความ ความคล้ายคลึงกันจึงเป็นดอทโปรดัคหรือโคไซน์ราคาถูกระหว่างเวกเตอร์ เนื่องจากเวกเตอร์สามารถคำนวณล่วงหน้าและจัดเก็บได้ ตัวเข้ารหัสแบบคู่จึงปรับขนาดเป็นเอกสารนับล้านและฐานข้อมูลเวกเตอร์กำลัง ตัวเข้ารหัสข้ามจะเชื่อมข้อความทั้งสองเข้าด้วยกัน (เอกสาร [CLS] แบบสอบถาม [SEP]) และป้อนข้อความเหล่านั้นผ่านโมเดลเข้าด้วยกัน โดยให้โทเค็นทุกตัวเข้าร่วมกับโทเค็นอื่น ๆ ก่อนที่จะส่งออกคะแนนความเกี่ยวข้องเดียว ความสนใจอย่างเต็มที่นี้จะจับการโต้ตอบแบบละเอียดที่ตัวเข้ารหัสแบบคู่พลาด ดังนั้นตัวเข้ารหัสแบบข้ามจึงมีความแม่นยำมากกว่าอย่างเห็นได้ชัด แต่ไม่สามารถคำนวณสิ่งใดล่วงหน้าได้ และต้องทำงานหนึ่งครั้งต่อคู่

ข้อมูลเชิงลึกทางเทคนิค

ความแตกต่างหลักคือขอบเขตความสนใจ ในโปรแกรมเข้ารหัสแบบ Bi การใส่ใจในตนเองจะไม่ข้ามระหว่างอินพุตทั้งสอง ดังนั้นการฝังเอกสารจึงไม่ขึ้นอยู่กับการสืบค้นและสามารถนำกลับมาใช้ใหม่ได้ ใน cross-encoder ความสนใจจะครอบคลุมลำดับที่เชื่อมโยง ทำให้การสืบค้นคะแนนขึ้นอยู่กับ ปรับขนาดต้นทุนตามนั้น: การจัดอันดับเอกสาร N ต้องใช้หม้อแปลงเต็มรูปแบบ N ตัวผ่านสำหรับตัวเข้ารหัสข้ามกับการเปรียบเทียบเวกเตอร์ราคาถูก N สำหรับตัวเข้ารหัสสองตัวหลังจากเข้ารหัสแบบสอบถามหนึ่งครั้ง

ผลกระทบเชิงกลยุทธ์

ความเร็วและขนาด

ขั้นตอนการทำงานของภาษาสามารถดำเนินไปได้เร็วขึ้นโดยไม่กระทบต่อความสม่ำเสมอ

เข้าถึงและเข้าถึง

ขยายการเข้าถึงภาษาและรูปแบบการสื่อสาร

การตัดสินใจที่ชัดเจนยิ่งขึ้น

ทีมสามารถใช้เวลามากขึ้นในการตัดสิน ในขณะที่ระบบอัตโนมัติจัดการกับการทำซ้ำ

อนาคตของ Cross-Encoder และ Bi-Encoder

รูปแบบที่โดดเด่นคือการดึงข้อมูลแล้วจัดลำดับใหม่แบบไฮบริด: ตัวเข้ารหัสแบบคู่จะดึงข้อมูลผู้สมัครสองสามร้อยตัวจากหลายล้านตัว จากนั้นตัวเข้ารหัสแบบข้ามจะจัดลำดับผลลัพธ์อันดับต้นๆ ใหม่ โมเดลปฏิสัมพันธ์ล่าช้า เช่น ColBERT แบ่งความแตกต่างโดยการจัดเก็บเวกเตอร์ต่อโทเค็น และการกลั่นจะฝึกตัวเข้ารหัสคู่ขนาดกะทัดรัดมากขึ้นเพื่อเลียนแบบการตัดสินของตัวเข้ารหัสข้าม คาดว่าจะมีการจัดอันดับใหม่ราคาถูกลงและบูรณาการทั้งสองขั้นตอนให้แน่นแฟ้นยิ่งขึ้นในไปป์ไลน์รุ่นที่ดึงข้อมูลมาเสริม

การใช้งานจริงในโลกแห่งความเป็นจริง

ฐานข้อมูลเวกเตอร์ใช้การฝังตัวเข้ารหัสสองตัวเพื่อดึงข้อความที่เป็นตัวเลือก 200 อันดับแรกจากเอกสารนับล้านในหน่วยมิลลิวินาที

ตัวเข้ารหัสข้ามจัดลำดับผู้สมัคร 200 คนเหล่านั้นใหม่ก่อนที่จะส่งไปยังแชทบอท RAG ซึ่งปรับปรุงความเกี่ยวข้องของคำตอบอย่างมาก

Sentence-Transformers จัดส่งตัวเข้ารหัสสองตัวที่ได้รับการฝึกล่วงหน้า (สำหรับการค้นหาความหมาย) และตัวเข้ารหัสข้าม (สำหรับการจัดอันดับใหม่และการให้คะแนน STS)

การตรวจจับคำถามซ้ำในฟอรัมถามตอบใช้ตัวเข้ารหัสข้ามเพื่อการจับคู่แบบคู่ที่มีความแม่นยำสูงในรายการตัวเลือก

ความเสี่ยงและรั้ว

ข้อเท็จจริงที่หลอนประสาทสามารถเข้าสู่รายงาน กระแสสนับสนุน หรือผลการวิจัยได้อย่างเงียบๆ

ความละเอียดอ่อนของการแจ้งเตือนสามารถสร้างผลลัพธ์ที่ไม่สอดคล้องกันในคำขอที่คล้ายกัน

ข้อมูลข้อความที่ละเอียดอ่อนอาจถูกเปิดเผยหากการควบคุมการเข้าถึงอ่อนแอ

แผนงานการดำเนินงาน

1

กำหนดรูปแบบเอาต์พุต โทนเสียง และมาตรฐานคุณภาพก่อนเปิดตัว

2

การตอบสนองภาคพื้นดินกับแหล่งข้อมูลที่เชื่อถือได้เมื่อใดก็ตามที่ความแม่นยำมีความสำคัญ

3

รักษาจุดตรวจสอบการตรวจสอบโดยมนุษย์สำหรับผลลัพธ์ที่มีเดิมพันสูง

4

ติดตามรูปแบบความล้มเหลวและฝึกอบรมพร้อมท์หรือเวิร์กโฟลว์เป็นประจำ

สำรวจต่อไป

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Cross-Encoders vs Bi-Encoders quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

เริ่มแบบทดสอบ

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

คำแนะนำต่อไป

รุ่น BERT และตัวเข้ารหัส

คำถามที่พบบ่อย

Cross-Encoders กับ Bi-Encoders คืออะไร?

โมเดลประสาทสองวิธีเปรียบเทียบข้อความ: ตัวเข้ารหัสแบบคู่ฝังแต่ละส่วนแยกกันเพื่อการค้นหาที่รวดเร็ว ในขณะที่ตัวเข้ารหัสแบบข้ามจะอ่านข้อความทั้งสองเข้าด้วยกันเพื่อความแม่นยำที่สูงขึ้น ตัวเลือกนี้จะกำหนดข้อดีระหว่างความเร็วและความแม่นยำในระบบการค้นหาและเรียกคืนที่ทันสมัยทุกระบบ

อะไรคือความแตกต่างทางสถาปัตยกรรมที่กำหนดระหว่าง cross-encoder และ bi-encoder?

ตัวเข้ารหัสข้ามจะเชื่อมอินพุตทั้งสองเข้าด้วยกันและให้ความสนใจครอบคลุมลำดับทั้งหมด ตัวเข้ารหัสสองตัวเข้ารหัสแต่ละข้อความโดยแยกออกเป็นเวกเตอร์ที่แยกจากกัน

เหตุใดตัวเข้ารหัสแบบ Bi-Encoder จึงขยายขนาดเอกสารนับล้านได้อย่างมีประสิทธิภาพ

เนื่องจากแต่ละเอกสารได้รับการเข้ารหัสแยกจากกัน เวกเตอร์ของเอกสารจึงสามารถนำมาใช้ซ้ำได้กับทุกข้อความค้นหาและสามารถจัดทำดัชนีล่วงหน้าได้

ในไปป์ไลน์การค้นหาการใช้งานจริงทั่วไป สถาปัตยกรรมทั้งสองจะรวมกันอย่างไร

รูปแบบการดึงข้อมูลแล้วจัดอันดับใหม่แบบมาตรฐานใช้ตัวเข้ารหัสสองตัวที่รวดเร็วเพื่อการเรียกคืนในวงกว้าง และใช้ตัวเข้ารหัสข้ามที่แม่นยำเพื่อจัดลำดับรายชื่อใหม่

เหตุใดจึงไม่สามารถแสดงเอกสารที่คำนวณล่วงหน้าของตัวเข้ารหัสข้ามได้

เนื่องจากคะแนนถูกสร้างขึ้นจากลำดับเอกสารการสืบค้นที่รวมเข้าด้วยกัน คะแนนจึงขึ้นอยู่กับการสืบค้นและต้องคำนวณใหม่สำหรับทุกคู่

โดยทั่วไปแล้วตัวเข้ารหัสแบบไบเออร์จะส่งออกอะไรสำหรับข้อความอินพุตเดี่ยว

ตัวเข้ารหัสแบบคู่จับคู่แต่ละข้อความกับเวกเตอร์ที่ฝังไว้หนึ่งตัว ความคล้ายคลึงกันจะถูกคำนวณระหว่างเวกเตอร์