โมเดลและแพลตฟอร์ม AI
Faiss 1.16.0 ของ Meta เพิ่ม E-Means เพื่อจัดกลุ่มข้อมูลขนาดใหญ่ได้เร็วขึ้น

ผู้ดูแล Faiss ของ Meta เผยแพร่เวอร์ชัน 1.16.0 เมื่อวันที่ 10 พฤศจิกายน 2026 โดยบรรจุอัลกอริทึมจัดกลุ่มข้อมูล e-means ของ FAIR at Meta พร้อมการทำงานบน CPU, GPU และระบบแบบกระจาย นักวิจัยรายงานว่า e-means ทำให้ค่าความสูญเสียต่ำกว่า Lloyd k-means ได้ภายใน 1.4 ถึง 2.6 ยุคการฝึก เทียบกับ 25 ยุค และทำงานเร็วขึ้น 10–45 เท่าในแง่เวลาประมวลผลจริงบน GPU เมื่อเทียบกับการติดตั้งใช้งานที่นำมาทดสอบ
การเผยแพร่ซอฟต์แวร์ครั้งนี้เกิดขึ้นหลังจากมีการ ส่งบทความวิจัยฉบับพิมพ์ล่วงหน้าไปยัง arXiv เมื่อวันที่ 6 พฤศจิกายน 2026 ไม่ใช่การเปิดเผยอัลกอริทึมต่อสาธารณะเป็นครั้งแรก ผลงานนี้มาจากนักวิจัยของ FAIR at Meta และ École Nationale des Ponts et Chaussées
เวอร์ชัน 1.16.0 เพิ่มการติดตั้งใช้งาน e-means สำหรับใช้อ้างอิง การฝึกแบบกระจายและการแบ่งชาร์ดตามจุดศูนย์กลางคลัสเตอร์ แบ็กเอนด์สำหรับการกำหนดกลุ่มด้วย Triton และ CuTe การกำหนดกลุ่มด้วยความแม่นยำลดลง และการทดสอบประสิทธิภาพเพื่อจำลองผลการวิจัย นอกจากนี้ยังมีตัวอย่างสาธิต DINO ที่เก็บข้อมูลไว้ในหน่วยความจำหรือสตรีมข้อมูลจาก SSD
E-Means ปรับปรุงจุดศูนย์กลางคลัสเตอร์อย่างไร
K-means มุ่งหาจุดศูนย์กลางคลัสเตอร์ที่ทำให้ระยะทางกำลังสองเฉลี่ยระหว่างเวกเตอร์กับจุดศูนย์กลางคลัสเตอร์ที่ใกล้ที่สุดมีค่าน้อยที่สุด ซึ่งเป็นประโยชน์ต่อการค้นคืนข้อมูล การควอนไทซ์ และการคัดกรองข้อมูล อัลกอริทึมของ Lloyd กำหนดทุกจุดให้กับจุดศูนย์กลางคลัสเตอร์ที่ใกล้ที่สุด แล้วคำนวณผลรวมและจำนวนจุดของแต่ละคลัสเตอร์ใหม่จากชุดข้อมูลทั้งหมด ส่วน e-means จะปรับผลรวมและจำนวนจุดที่ลดน้ำหนักแบบเอ็กซ์โพเนนเชียลจากชุดข้อมูลย่อย ทำให้การกำหนดกลุ่มครั้งก่อน ๆ ค่อย ๆ มีอิทธิพลน้อยลง โดยจุดศูนย์กลางคลัสเตอร์แต่ละจุดยังคงคำนวณจากผลหารระหว่างผลรวมเวกเตอร์สะสมกับจำนวนจุดสะสม การใช้ชุดข้อมูลทั้งหมดเป็นชุดเดียวโดยกำหนดขั้นการปรับเป็น 1 จะให้ผลเหมือนการทำซ้ำของ Lloyd หนึ่งรอบ
กฎการปรับขนาดสองแบบที่ได้จากการฟิตข้อมูลจะคำนวณขนาดชุดข้อมูลย่อยและขนาดขั้นเริ่มต้นโดยอิงจากขนาดชุดข้อมูล จำนวนคลัสเตอร์ และงบประมาณจำนวนยุคการฝึก จึงไม่ต้องกวาดค้นหาค่าพารามิเตอร์แยกต่างหากเหมือนแนวทางแบบชุดข้อมูลย่อยก่อนหน้านี้ ตารางการปรับแบบโคไซน์จะลดขนาดขั้นให้เหลือหนึ่งในสิบของค่าเริ่มต้น คลาสที่เผยแพร่มาพร้อมค่าเริ่มต้นให้ฝึกห้ารอบ และรองรับจำนวนรอบแบบเศษส่วน
ผู้เขียนฟิตกฎเหล่านี้โดยใช้การปรับเหมาะสม 75,000 รอบกับการกำหนดค่าของ DEEP โดยรายงานค่าความเสียใจมัธยฐานบนชุดข้อมูลที่กันไว้ทดสอบ ซึ่งหมายถึงข้อผิดพลาดส่วนเกินเมื่อเทียบกับการตั้งค่าที่ดีที่สุดจากกริด อยู่ที่ 0.07% สำหรับกฎกำหนดขนาดขั้น และ 0.19% สำหรับกฎกำหนดขนาดชุดข้อมูลย่อยเริ่มต้น วิธีการนี้ยังฟื้นฟูคลัสเตอร์ที่มีข้อมูลใช้งานน้อย โดยแบ่งคลัสเตอร์ผู้ให้เพื่อสร้างคลัสเตอร์ใหม่ จากนั้นจึงจบการทำงานด้วยการคำนวณค่าเฉลี่ยที่แน่นอนของแต่ละคลัสเตอร์จากการกำหนดกลุ่มในยุคสุดท้าย ส่วนวิธีปิดท้ายอีกแบบที่ใช้ค่าเฉลี่ยเคลื่อนที่ซึ่งเปลี่ยนแปลงช้าจะมุ่งลดข้อผิดพลาดนอกชุดตัวอย่างแทน
การทดสอบประสิทธิภาพครอบคลุมเวกเตอร์หนึ่งหมื่นล้านรายการ
บทความฉบับเต็มอธิบายการตรวจสอบความถูกต้องกับชุดข้อมูลแบบฝังตัวและชุดข้อมูลสังเคราะห์ โดยการเปรียบเทียบหลักบน GPU ใช้ H100 80GB และการทดลองบน CPU ใช้ Xeon Platinum 8462Y+ แบบ 64 คอร์ จากการทดสอบเวกเตอร์แบบฝังตัว VIBE ทั้ง 11 รายการ ผู้เขียนรายงานว่า e-means ใช้เวลา 1.6 ถึง 2.6 ยุคการฝึกเพื่อให้ได้ข้อผิดพลาดเท่ากับ Lloyd ที่ 25 ยุค และทำงานเร็วขึ้น 8.0 ถึง 22.8 เท่าเมื่อเทียบกับ Flash-KMeans บน H100 หนึ่งตัว และเร็วขึ้น 9.0 ถึง 15.0 เท่าเมื่อเทียบกับ Faiss บน CPU 64 คอร์ โดยใช้ 20 เมล็ดสุ่มต่อการทดสอบ
ในการทดสอบขนาดใหญ่ที่สุด ผู้เขียนรายงานว่าได้แบ่ง DINO10B ซึ่งประกอบด้วยเวกเตอร์ฝังตัวแพตช์ DINO จำนวน 10 พันล้านรายการที่มี 1,024 มิติ ออกเป็นคลัสเตอร์ประมาณ 16.7 ล้านคลัสเตอร์ภายใน 2.5 ยุคการฝึก โดยกำหนดกลุ่มอย่างแม่นยำ และได้ข้อผิดพลาดบนชุดทดสอบต่ำกว่าค่าฐานของ Lloyd ที่ 25 ยุคเล็กน้อย การทดสอบนี้ใช้เวลา GPU รวม 779 ชั่วโมงบนเครื่อง 32 เครื่อง การทดสอบอีกครั้งซึ่งใช้การค้นหาจุดศูนย์กลางคลัสเตอร์ที่ใกล้ที่สุดแบบประมาณผ่านดัชนีไฟล์กลับด้าน (IVF) ทำได้ดีกว่าค่าฐานหลังผ่านไปสามยุค โดยใช้เวลา GPU 23.2 ชั่วโมงบนเครื่องที่มี GPU แปดตัวหนึ่งเครื่อง วิธี IVF ค้นหาเฉพาะกลุ่มจุดศูนย์กลางคลัสเตอร์ที่เลือกไว้ แทนที่จะเปรียบเทียบทุกจุดกับจุดศูนย์กลางคลัสเตอร์ทุกจุด
บทความรายงานว่าการกำหนดกลุ่มด้วย IVF ใช้ทรัพยากรน้อยกว่าการกำหนดกลุ่มแบบแม่นยำ 34 เท่าเมื่อประมวลผลเวกเตอร์หนึ่งหมื่นล้านรายการ แต่ไม่ได้ช่วยให้ดีขึ้นเมื่อมีเวกเตอร์ 100 ล้านรายการ ความแตกต่างนี้แสดงให้เห็นว่า จำนวนยุคการฝึกเพียงอย่างเดียวไม่ได้เป็นตัวกำหนดความต้องการโครงสร้างพื้นฐาน เพราะการติดตั้งใช้งานและวิธีกำหนดกลุ่มเป็นตัวกำหนดว่าการประมวลผลหนึ่งครั้งต้องใช้ฮาร์ดแวร์มากเพียงใด
ความพร้อมใช้งานและข้อจำกัดที่ระบุไว้
คู่มือผู้ใช้อย่างเป็นทางการระบุ NumpyEmeans สำหรับข้อมูล NumPy และ Emeans สำหรับเทนเซอร์ PyTorch การใช้งาน Faiss เพียงอย่างเดียวรองรับการประมวลผลบน CPU ส่วนการประมวลผลบน GPU ต้องใช้ PyTorch ที่เปิดใช้งาน CUDA โดยมีเคอร์เนล CuTe ให้ใช้บน H100 และ H200 ส่วน Triton ใช้ได้บน GPU NVIDIA รุ่นใหม่อื่น ๆ ที่รองรับ การกำหนดกลุ่มด้วยความแม่นยำลดลงใช้เฉพาะกับการค้นหาจุดศูนย์กลางคลัสเตอร์ที่ใกล้ที่สุดบน GPU ขณะที่จุดศูนย์กลางคลัสเตอร์ ผลรวมสะสม และระยะทางที่ส่งกลับยังคงใช้ FP32 คลาสที่ทำซ้ำจุดศูนย์กลางคลัสเตอร์และคลาสที่แบ่งชาร์ดรองรับการฝึกด้วย GPU หลายตัว บทความระบุว่าผลรวม FP32 สำหรับจุดศูนย์กลางคลัสเตอร์ 16 ล้านจุดใช้พื้นที่ 64 GiB จึงมีเหตุผลให้แบ่งชาร์ดเมื่อทำงานในขนาดดังกล่าว
กฎการปรับขนาดได้รับการปรับให้เหมาะกับข้อมูลที่มีมิติค่อนข้างสูง จึงไม่เหมาะที่สุดกับชุดข้อมูลที่มีมิติต่ำมากหรือมีขนาดเล็กมาก ด้วยเหตุนี้ ค่าเริ่มต้นที่เผยแพร่จึงเลือกใช้กฎคุณภาพสำหรับกำหนดขนาดชุดข้อมูลย่อยเมื่อข้อมูลมี 16 มิติหรือน้อยกว่า และปิดการฟื้นฟูคลัสเตอร์เมื่อข้อมูลมี 2 มิติหรือน้อยกว่า คู่มือยังเตือนว่า ป้ายกำกับการฝึกที่ส่งกลับมาจากการฝึกรอบสุดท้าย และไม่จำเป็นต้องเป็นการกำหนดกลุ่มให้กับจุดศูนย์กลางคลัสเตอร์ชุดสุดท้าย อีกทั้งเส้นทางการทำงานบน GPU ไม่ตรวจสอบว่าข้อมูลนำเข้ามีค่า NaN หรือค่าอนันต์หรือไม่
สำหรับไปป์ไลน์ AI ที่จัดกลุ่มชุดข้อมูลเวกเตอร์แบบฝังตัวขนาดใหญ่ การเผยแพร่ครั้งนี้ทำให้เห็นข้อแลกเปลี่ยนอย่างชัดเจน กล่าวคือ ขณะนี้มีไลบรารีที่ได้รับการดูแลและช่วยลดจำนวนรอบการฝึกได้แล้ว แต่การลดการใช้ GPU ได้มากที่สุดนั้นขึ้นอยู่กับขนาดงาน ฮาร์ดแวร์ และความเหมาะสมของการกำหนดกลุ่มแบบประมาณกับภาระงาน












