22 คะแนน โดย sigridjineth 2025-01-06 | 4 ความคิดเห็น | แชร์ทาง WhatsApp

นี่คือบทความบล็อกที่นำ BGE-M3 ซึ่งเป็นโมเดล embedding สำหรับงาน RAG ที่ทำภาษาเกาหลีได้ดีที่สุด มาสร้างใหม่ในรูปแบบที่รองรับการเสิร์ฟขนาดใหญ่ในสภาพแวดล้อมระดับองค์กรด้วย TensorFlow/Keras โดยก้าวข้าม Python implementation ที่ Huggingface มีให้

  1. รองรับการเสิร์ฟระดับองค์กร
  • รองรับการประมวลผลแบบกระจายขนาดใหญ่บนสภาพแวดล้อม Hadoop-Spark ที่ใช้ Java/Scala
  • สร้างเซิร์ฟเวอร์ประสิทธิภาพสูงผ่าน Kotlin/Spring Boot
  • รองรับสภาพแวดล้อมโปรดักชันขนาดใหญ่ผ่าน TensorFlow Serving
  • รองรับสภาพแวดล้อมมือถือ/อุปกรณ์ฝังตัวผ่าน TensorFlow Lite
  1. ทำโครงสร้างโมเดลให้ง่ายขึ้น
  • สร้างโครงสร้างหลักด้วยเพียง Dense Layer และ LayerNorm
  • ตัด dependency ที่ซับซ้อนของ Python ออก
  • ได้ throughput สูงด้วยโครงสร้างที่มีน้ำหนักเบา
  1. จุดเด่นของการพัฒนา
  • สร้าง Word/Position/Token Type embedding ด้วย Dense Layer พื้นฐาน
  • ประกอบ Transformer block จำนวน 24 ชุดด้วยการคำนวณ TensorFlow ล้วน
  • ปรับแต่ง Multi-Head Self-Attention ขึ้นเองเพื่อเพิ่มประสิทธิภาพ
  1. ตัวอย่างการใช้งานจริง
  • การประมวลผล embedding แบบกระจายในสภาพแวดล้อม Hadoop ขนาดใหญ่
  • Federated learning และบริการ RAG บน Spring Boot
  • การอนุมานบนมือถือโดยใช้ Apple Neural Engine
  • การดีพลอย TensorFlow Serving ระดับองค์กร

แนวทางการพัฒนาที่อธิบายในบทความมีจุดเด่นคือการตัดการพึ่งพา Python ออก และใช้ความสามารถเนทีฟของ TensorFlow เท่านั้น เพื่อให้ให้บริการได้อย่างเสถียรในสภาพแวดล้อมองค์กรขนาดใหญ่

4 ความคิดเห็น

 
sigridjineth 2025-01-07

https://github.com/sionic-ai/BGE-M3-Model-Converter
ได้เปิดเผยโค้ดทั้งหมดแล้ว

 
aer0700 2025-01-07

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

 
sigridjineth 2025-01-07

https://github.com/sionic-ai/BGE-M3-Model-Converter
ได้เปิดเผยโค้ดทั้งหมดแล้ว

 
aer0700 2025-01-09

ขอบคุณครับ
คงต้องค่อย ๆ กลับมาดูอีกที ฮ่าๆ