เทคนิคการ Fine-tune โมเดล Multi-Vector Embedding ด้วย Sentence Transformers

การสร้างโมเดลที่สามารถค้นหาข้อมูลได้อย่างแม่นยำและมีประสิทธิภาพเป็นสิ่งสำคัญอย่างยิ่งในยุคดิจิทัล โดยเฉพาะอย่างยิ่งในงานที่ต้องเปรียบเทียบข้อความจำนวนมาก เช่น การค้นหาเอกสารทางการแพทย์ งานกฎหมาย หรือการค้นหาโค้ด โมเดลแบบ Multi-Vector Embedding หรือที่เรียกว่า Late-Interaction Model เป็นหนึ่งในเทคนิคที่ช่วยเพิ่มความแม่นยำในการค้นหาได้อย่างมาก

บทความนี้จะพาคุณไปเจาะลึกถึงส่วนประกอบต่างๆ ที่จำเป็นสำหรับการ Fine-tune โมเดล Multi-Vector Embedding ด้วยไลบรารี Sentence Transformers พร้อมตัวอย่างการใช้งานจริง เพื่อให้คุณสามารถสร้างโมเดลที่ตอบโจทย์เฉพาะด้านของคุณได้อย่างมีประสิทธิภาพ

ทำความรู้จักกับ Multi-Vector Models

โมเดลแบบ Dense Embedding ทั่วไปจะบีบอัดข้อความทั้งหมดให้กลายเป็นเวกเตอร์เดียว ซึ่งการเปรียบเทียบความคล้ายคลึงจะทำได้โดยการคำนวณ Dot Product ระหว่างเวกเตอร์เหล่านั้น

แต่สำหรับ Multi-Vector Model (หรือ Late-Interaction Model, ColBERT-style) จะแตกต่างออกไป โดยจะเก็บเวกเตอร์ขนาดเล็กไว้สำหรับ แต่ละ Token ในข้อความ จากนั้นจะใช้ Operator ที่ชื่อว่า MaxSim ในการคำนวณคะแนนความคล้ายคลึงระหว่าง Query กับ Document โดย Query Token แต่ละตัวจะหา Document Token ที่ตรงกันที่สุด แล้วนำคะแนนมารวมกัน วิธีนี้ช่วยรักษาข้อมูลเฉพาะจุด (fine-grained signals) ที่โมเดลแบบเวกเตอร์เดี่ยวอาจสูญเสียไปจากการเฉลี่ย ทำให้ได้ผลลัพธ์การค้นหาที่แม่นยำยิ่งขึ้น แม้ว่าจะมีข้อเสียคือขนาด Index ที่ใหญ่ขึ้นก็ตาม

ทำไมต้อง Fine-tune โมเดล Multi-Vector?

การ Fine-tune โมเดล Multi-Vector ช่วยเพิ่มประสิทธิภาพการค้นหาในโดเมนเฉพาะของคุณได้อย่างมาก เนื่องจาก:

  • ความเฉพาะเจาะจงของโดเมน: คำศัพท์ รูปแบบการถาม และความหมายของความเกี่ยวข้องอาจแตกต่างกันไปในแต่ละสาขา เช่น การค้นหาข้อมูลบนเว็บ การสืบสวนคดีความ การค้นหาโค้ด หรือการรีวิวเอกสารทางวิทยาศาสตร์ โมเดลแบบ Multi-Vector สามารถจับสัญญาณเฉพาะของโดเมนได้ดีจากการจับคู่แบบ Token ต่อ Token
  • การจัดการกับเอกสารขนาดยาว: โมเดล Retrieval ทั่วไปมักถูกฝึกด้วยข้อมูลที่เป็นข้อความสั้นๆ ทำให้มีการตัดทอนเอกสารที่ยาวเกินไปออกไป หากเอกสารของคุณมีความยาวมาก โมเดลเหล่านี้อาจตัดข้อมูลสำคัญทิ้งไป การ Fine-tune ช่วยให้คุณกำหนดความยาวเอกสารที่เหมาะสมกับข้อมูลของคุณได้

ส่วนประกอบสำคัญสำหรับการ Fine-tune Multi-Vector Models

การ Fine-tune โมเดล Multi-Vector นั้นประกอบด้วยส่วนประกอบหลักๆ ดังนี้:

1. โมเดล (Model)

คุณสามารถเลือกจุดเริ่มต้นได้สองแบบ:

  • Fine-tune โมเดล Multi-Vector ที่มีอยู่แล้ว: หากคุณต้องการปรับปรุงโมเดลที่มีอยู่แล้ว คุณไม่จำเป็นต้องกังวลเรื่องสถาปัตยกรรมโมเดลมากนัก เพียงแค่โหลด Checkpoint ที่ต้องการ แล้วปรับการตั้งค่าบางอย่าง เช่น ความยาวสูงสุดของเอกสาร (document length cap) หรือการเพิ่มส่วนประกอบอื่น ๆ เช่น Punctuation Skiplist เพื่อยกเว้น Token ที่เป็นเครื่องหมายวรรคตอนจากการคำนวณ
  • การปรับความยาวเอกสาร: โมเดลหลายตัวมีข้อจำกัดเรื่องความยาวเอกสาร (เช่น 180-512 Tokens) หากเอกสารของคุณยาวกว่านั้น ควรปรับค่า modelmaxlength ให้เหมาะสม
  • Punctuation Skiplist: การเพิ่มรายการสัญลักษณ์วรรคตอนที่ยกเว้นจากการคำนวณคะแนนบนฝั่ง Document ช่วยลดขนาด Index ได้โดยไม่ส่งผลเสียต่อคุณภาพ
  • สร้างโมเดลจาก Transformer พื้นฐาน: คุณสามารถใช้ Transformer ตัวใดก็ได้เป็นพื้นฐาน แล้วเพิ่มส่วนประกอบ Token-level Projection ที่เริ่มต้นแบบสุ่มเข้าไป วิธีนี้จะคล้ายกับขั้นตอนการสร้างโมเดล ColBERT แบบคลาสสิก ที่ประกอบด้วย Transformer, Token-level Dense Projection, MultiVectorMask และ Normalize การเริ่มต้นจาก Projection แบบสุ่มนี้ต้องอาศัยการฝึก (Training) เพื่อให้โมเดลมีประสิทธิภาพ
  • การเลือก Backbone: การใช้ Backbone ที่ผ่านการ Pre-trained สำหรับ Retrieval มาแล้ว (เช่น Alibaba-NLP/gte-modernbert-base) จะให้ผลลัพธ์ที่ดี แม้จะเริ่มต้นจาก Projection ที่สุ่มก็ตาม
  • เทคนิค Tokenization: เทคนิคคลาสสิก เช่น [MASK] query expansion, [Q] / [D] prefix tokens, document length cap, punctuation skiplist สามารถเปิดใช้งานได้ แต่ไม่จำเป็นต้องใช้ทั้งหมดเสมอไป

จุดเริ่มต้นที่แนะนำ:
จากการทดลองพบว่า โมเดล Checkpoint ที่ผ่านการ Pre-training แบบ Unsupervised จะปรับตัวเข้ากับโดเมนใหม่ได้ดีกว่าโมเดลที่ผ่านการ Fine-tune แบบ Supervised มาแล้ว เพราะโมเดล Unsupervised ยังคงโครงสร้าง Late-Interaction ไว้ครบถ้วน โดยไม่ต้องแก้ไขการปรับจูนทั่วไปที่โมเดล Supervised มีอยู่

2. ชุดข้อมูล (Dataset)

โมเดล MultiVectorEncoderTrainer รองรับการใช้งาน datasets.Dataset หรือ datasets.DatasetDict จากไลบรารี Hugging Face Datasets คุณสามารถโหลดข้อมูลได้จาก:

รูปแบบข้อมูลที่สำคัญ:

  • สำหรับ Loss Function ทั่วไป: หาก Loss Function ต้องการ Label ชุดข้อมูลของคุณต้องมีคอลัมน์ชื่อ "label" หรือ "score"
  • สำหรับ Multi-Vector:
  • Positional Query and Document Assignment: คอลัมน์แรกจะถูกใช้เป็น Query และคอลัมน์ที่ตามมาทั้งหมดจะถูกใช้เป็น Document (สามารถปรับเปลี่ยนได้ด้วย router_mapping)
  • Knowledge Distillation Format: หนึ่งคอลัมน์ต่อ Document ที่เป็น Candidate (เช่น query, document1, ..., documentN, scores)

3. Loss Function

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

  • MultiVectorMultipleNegativesRankingLoss: เป็น Loss Function ที่นิยมใช้สำหรับคู่ Query-Passage โดยเอกสารอื่นๆ ใน Batch เดียวกันจะถูกใช้เป็น Negative Samples สำหรับแต่ละ Query
  • CachedMultiVectorMultipleNegativesRankingLoss: เป็นเวอร์ชันที่ช่วยให้สามารถใช้ Batch Size ที่ใหญ่ขึ้นได้ โดยไม่ขึ้นกับขนาดหน่วยความจำ GPU โดยตรง พารามิเตอร์ minibatchsize จะจำกัดหน่วยความจำในการ Encode Document เป็นส่วนๆ แต่ effectivebatchsize สามารถเลือกได้อิสระ

4. Training Arguments (Optional)

พารามิเตอร์เหล่านี้มีผลต่อประสิทธิภาพการฝึก การติดตามผล และการ Debug ในระหว่างการเทรน

5. Evaluator (Optional)

คลาสสำหรับประเมินผลโมเดล ก่อน ระหว่าง หรือหลังการฝึก

6. Trainer

เป็นส่วนประกอบหลักที่รวบรวมทุกอย่างเข้าด้วยกันเพื่อทำการฝึกโมเดล

ตัวอย่างการ Fine-tune โมเดล

สมมติว่าเราต้องการ Fine-tune โมเดลเพื่อการค้นหาเอกสารทางการแพทย์ เราสามารถทำได้ดังนี้:

  1. โหลดชุดข้อมูล: ใช้ load_dataset เพื่อโหลดข้อมูลทางการแพทย์ เช่น คู่คำถาม-บทความทางการแพทย์
  2. กำหนดโมเดล: เลือกโมเดล Multi-Vector ที่มีอยู่แล้ว หรือสร้างจาก Transformer พื้นฐาน
  3. ตั้งค่า Loss Function: ใช้ CachedMultiVectorMultipleNegativesRankingLoss สำหรับการฝึก
  4. กำหนด Training Arguments: ตั้งค่าพารามิเตอร์ที่จำเป็น เช่น trainbatchsize, gradientaccumulationsteps, learningrate, numtrain_epochs เป็นต้น
  5. สร้าง Trainer: นำส่วนประกอบทั้งหมดมาใส่ใน MultiVectorEncoderTrainer
  6. เริ่มการฝึก: เรียกใช้เมธอด trainer.train()

การประเมินผลโมเดล

หลังจาก Fine-tune โมเดลเสร็จสิ้น การประเมินผลเป็นขั้นตอนสำคัญเพื่อดูว่าโมเดลของเราทำงานได้ดีเพียงใดในการค้นหาข้อมูลในโดเมนเฉพาะ

  • สร้าง Evaluator: ใช้ InformationRetrievalEvaluator สำหรับการประเมินผลการค้นหา
  • กำหนด Corpus และ Queries: เตรียมชุดข้อมูลเอกสาร (Corpus) และชุดคำถาม (Queries) สำหรับการประเมิน
  • รันการประเมิน: เรียกใช้เมธอด evaluator.compute_metrics() เพื่อคำนวณ Metric ต่างๆ เช่น NDCG@10, MAP, MRR

จากการทดลองพบว่า โมเดล Multi-Vector ที่ผ่านการ Fine-tune ด้วยข้อมูลทางการแพทย์ สามารถทำงานได้ดีกว่าโมเดล Retrieval ทั่วไปทุกประเภทที่ทดสอบ ทั้งแบบ Dense, Sparse, Lexical และ Multi-Vector เอง

สรุป

การ Fine-tune โมเดล Multi-Vector Embedding ด้วย Sentence Transformers เป็นวิธีที่มีประสิทธิภาพในการเพิ่มความแม่นยำในการค้นหาข้อมูลสำหรับโดเมนเฉพาะ การทำความเข้าใจส่วนประกอบต่างๆ เช่น โมเดล, ชุดข้อมูล, Loss Function และการเลือกจุดเริ่มต้นที่เหมาะสม จะช่วยให้คุณสามารถสร้างโมเดลที่ตอบสนองความต้องการของคุณได้อย่างดีเยี่ยม

#sentencetransformers #multivector #embedding #nlp #retrieval

ขอบคุณ แหล่งข้อมูล
https://huggingface.co/blog/train-multi-vector-encoder

เทคนิคการ Fine-tune โมเดล Multi-Vector Embedding ด้วย Sentence Transformersการสร้างโมเดลที่สามารถค้นหาข้อมูลได้อย่างแม่นยำและมีประสิทธิภาพเป็นสิ่งสำคัญอย่างยิ่งในยุคดิจิทัล โดยเฉพาะอย่างยิ่งในงานที่ต้องเปรียบเทียบข้อความจำนวนมาก เช่น การค้นหาเอกสารทางการแพทย์ งานกฎหมาย หรือการค้นหาโค้ด โมเดลแบบ Multi-Vector Embedding หรือที่เรียกว่า Late-Interaction Model เป็นหนึ่งในเทคนิคที่ช่วยเพิ่มความแม่นยำในการค้นหาได้อย่างมากบทความนี้จะพาคุณไปเจาะลึกถึงส่วนประกอบต่างๆ ที่จำเป็นสำหรับการ Fine-tune โมเดล Multi-Vector Embedding ด้วยไลบรารี Sentence Transformers พร้อมตัวอย่างการใช้งานจริง เพื่อให้คุณสามารถสร้างโมเดลที่ตอบโจทย์เฉพาะด้านของคุณได้อย่างมีประสิทธิภาพทำความรู้จักกับ Multi-Vector Modelsโมเดลแบบ Dense Embedding ทั่วไปจะบีบอัดข้อความทั้งหมดให้กลายเป็นเวกเตอร์เดียว ซึ่งการเปรียบเทียบความคล้ายคลึงจะทำได้โดยการคำนวณ Dot Product ระหว่างเวกเตอร์เหล่านั้นแต่สำหรับ Multi-Vector Model (หรือ Late-Interaction Model, ColBERT-style) จะแตกต่างออกไป โดยจะเก็บเวกเตอร์ขนาดเล็กไว้สำหรับ แต่ละ Token ในข้อความ จากนั้นจะใช้ Operator ที่ชื่อว่า MaxSim ในการคำนวณคะแนนความคล้ายคลึงระหว่าง Query กับ Document โดย Query Token แต่ละตัวจะหา Document Token ที่ตรงกันที่สุด แล้วนำคะแนนมารวมกัน วิธีนี้ช่วยรักษาข้อมูลเฉพาะจุด (fine-grained signals) ที่โมเดลแบบเวกเตอร์เดี่ยวอาจสูญเสียไปจากการเฉลี่ย ทำให้ได้ผลลัพธ์การค้นหาที่แม่นยำยิ่งขึ้น แม้ว่าจะมีข้อเสียคือขนาด Index ที่ใหญ่ขึ้นก็ตามทำไมต้อง Fine-tune โมเดล Multi-Vector?การ Fine-tune โมเดล Multi-Vector ช่วยเพิ่มประสิทธิภาพการค้นหาในโดเมนเฉพาะของคุณได้อย่างมาก เนื่องจาก:ความเฉพาะเจาะจงของโดเมน: คำศัพท์ รูปแบบการถาม และความหมายของความเกี่ยวข้องอาจแตกต่างกันไปในแต่ละสาขา เช่น การค้นหาข้อมูลบนเว็บ การสืบสวนคดีความ การค้นหาโค้ด หรือการรีวิวเอกสารทางวิทยาศาสตร์ โมเดลแบบ Multi-Vector สามารถจับสัญญาณเฉพาะของโดเมนได้ดีจากการจับคู่แบบ Token ต่อ Tokenการจัดการกับเอกสารขนาดยาว: โมเดล Retrieval ทั่วไปมักถูกฝึกด้วยข้อมูลที่เป็นข้อความสั้นๆ ทำให้มีการตัดทอนเอกสารที่ยาวเกินไปออกไป หากเอกสารของคุณมีความยาวมาก โมเดลเหล่านี้อาจตัดข้อมูลสำคัญทิ้งไป การ Fine-tune ช่วยให้คุณกำหนดความยาวเอกสารที่เหมาะสมกับข้อมูลของคุณได้ส่วนประกอบสำคัญสำหรับการ Fine-tune Multi-Vector Modelsการ Fine-tune โมเดล Multi-Vector นั้นประกอบด้วยส่วนประกอบหลักๆ ดังนี้:1. โมเดล (Model)คุณสามารถเลือกจุดเริ่มต้นได้สองแบบ:Fine-tune โมเดล Multi-Vector ที่มีอยู่แล้ว: หากคุณต้องการปรับปรุงโมเดลที่มีอยู่แล้ว คุณไม่จำเป็นต้องกังวลเรื่องสถาปัตยกรรมโมเดลมากนัก เพียงแค่โหลด Checkpoint ที่ต้องการ แล้วปรับการตั้งค่าบางอย่าง เช่น ความยาวสูงสุดของเอกสาร (document length cap) หรือการเพิ่มส่วนประกอบอื่น ๆ เช่น Punctuation Skiplist เพื่อยกเว้น Token ที่เป็นเครื่องหมายวรรคตอนจากการคำนวณการปรับความยาวเอกสาร: โมเดลหลายตัวมีข้อจำกัดเรื่องความยาวเอกสาร (เช่น 180-512 Tokens) หากเอกสารของคุณยาวกว่านั้น ควรปรับค่า modelmaxlength ให้เหมาะสมPunctuation Skiplist: การเพิ่มรายการสัญลักษณ์วรรคตอนที่ยกเว้นจากการคำนวณคะแนนบนฝั่ง Document ช่วยลดขนาด Index ได้โดยไม่ส่งผลเสียต่อคุณภาพสร้างโมเดลจาก Transformer พื้นฐาน: คุณสามารถใช้ Transformer ตัวใดก็ได้เป็นพื้นฐาน แล้วเพิ่มส่วนประกอบ Token-level Projection ที่เริ่มต้นแบบสุ่มเข้าไป วิธีนี้จะคล้ายกับขั้นตอนการสร้างโมเดล ColBERT แบบคลาสสิก ที่ประกอบด้วย Transformer, Token-level Dense Projection, MultiVectorMask และ Normalize การเริ่มต้นจาก Projection แบบสุ่มนี้ต้องอาศัยการฝึก (Training) เพื่อให้โมเดลมีประสิทธิภาพการเลือก Backbone: การใช้ Backbone ที่ผ่านการ Pre-trained สำหรับ Retrieval มาแล้ว (เช่น Alibaba-NLP/gte-modernbert-base) จะให้ผลลัพธ์ที่ดี แม้จะเริ่มต้นจาก Projection ที่สุ่มก็ตามเทคนิค Tokenization: เทคนิคคลาสสิก เช่น [MASK] query expansion, [Q] / [D] prefix tokens, document length cap, punctuation skiplist สามารถเปิดใช้งานได้ แต่ไม่จำเป็นต้องใช้ทั้งหมดเสมอไปจุดเริ่มต้นที่แนะนำ:จากการทดลองพบว่า โมเดล Checkpoint ที่ผ่านการ Pre-training แบบ Unsupervised จะปรับตัวเข้ากับโดเมนใหม่ได้ดีกว่าโมเดลที่ผ่านการ Fine-tune แบบ Supervised มาแล้ว เพราะโมเดล Unsupervised ยังคงโครงสร้าง Late-Interaction ไว้ครบถ้วน โดยไม่ต้องแก้ไขการปรับจูนทั่วไปที่โมเดล Supervised มีอยู่2. ชุดข้อมูล (Dataset)โมเดล MultiVectorEncoderTrainer รองรับการใช้งาน datasets.Dataset หรือ datasets.DatasetDict จากไลบรารี Hugging Face Datasets คุณสามารถโหลดข้อมูลได้จาก:Hugging Face Hub: ค้นหาชุดข้อมูลที่ติด Tag sentence-transformers บน Hugging Face Hub ได้ที่ [https://huggingface.co/datasets?other=sentence-transformers](https://huggingface.co/datasets?other=sentence-transformers)ข้อมูลภายในเครื่อง (Local Data): รองรับไฟล์ข้อมูลหลากหลายรูปแบบ เช่น CSV, JSON, Parquet, Arrow หรือ SQLรูปแบบข้อมูลที่สำคัญ:สำหรับ Loss Function ทั่วไป: หาก Loss Function ต้องการ Label ชุดข้อมูลของคุณต้องมีคอลัมน์ชื่อ "label" หรือ "score"สำหรับ Multi-Vector:Positional Query and Document Assignment: คอลัมน์แรกจะถูกใช้เป็น Query และคอลัมน์ที่ตามมาทั้งหมดจะถูกใช้เป็น Document (สามารถปรับเปลี่ยนได้ด้วย router_mapping)Knowledge Distillation Format: หนึ่งคอลัมน์ต่อ Document ที่เป็น Candidate (เช่น query, document1, ..., documentN, scores)3. Loss FunctionLoss Function ทำหน้าที่วัดประสิทธิภาพของโมเดลและนำทางกระบวนการ Optimize เพื่อปรับปรุงน้ำหนักของโมเดลให้ค่า Loss ต่ำลง การเลือก Loss Function ที่เหมาะสมขึ้นอยู่กับข้อมูลและเป้าหมายของคุณMultiVectorMultipleNegativesRankingLoss: เป็น Loss Function ที่นิยมใช้สำหรับคู่ Query-Passage โดยเอกสารอื่นๆ ใน Batch เดียวกันจะถูกใช้เป็น Negative Samples สำหรับแต่ละ QueryCachedMultiVectorMultipleNegativesRankingLoss: เป็นเวอร์ชันที่ช่วยให้สามารถใช้ Batch Size ที่ใหญ่ขึ้นได้ โดยไม่ขึ้นกับขนาดหน่วยความจำ GPU โดยตรง พารามิเตอร์ minibatchsize จะจำกัดหน่วยความจำในการ Encode Document เป็นส่วนๆ แต่ effectivebatchsize สามารถเลือกได้อิสระ4. Training Arguments (Optional)พารามิเตอร์เหล่านี้มีผลต่อประสิทธิภาพการฝึก การติดตามผล และการ Debug ในระหว่างการเทรน5. Evaluator (Optional)คลาสสำหรับประเมินผลโมเดล ก่อน ระหว่าง หรือหลังการฝึก6. Trainerเป็นส่วนประกอบหลักที่รวบรวมทุกอย่างเข้าด้วยกันเพื่อทำการฝึกโมเดลตัวอย่างการ Fine-tune โมเดลสมมติว่าเราต้องการ Fine-tune โมเดลเพื่อการค้นหาเอกสารทางการแพทย์ เราสามารถทำได้ดังนี้:โหลดชุดข้อมูล: ใช้ load_dataset เพื่อโหลดข้อมูลทางการแพทย์ เช่น คู่คำถาม-บทความทางการแพทย์กำหนดโมเดล: เลือกโมเดล Multi-Vector ที่มีอยู่แล้ว หรือสร้างจาก Transformer พื้นฐานตั้งค่า Loss Function: ใช้ CachedMultiVectorMultipleNegativesRankingLoss สำหรับการฝึกกำหนด Training Arguments: ตั้งค่าพารามิเตอร์ที่จำเป็น เช่น trainbatchsize, gradientaccumulationsteps, learningrate, numtrain_epochs เป็นต้นสร้าง Trainer: นำส่วนประกอบทั้งหมดมาใส่ใน MultiVectorEncoderTrainerเริ่มการฝึก: เรียกใช้เมธอด trainer.train()การประเมินผลโมเดลหลังจาก Fine-tune โมเดลเสร็จสิ้น การประเมินผลเป็นขั้นตอนสำคัญเพื่อดูว่าโมเดลของเราทำงานได้ดีเพียงใดในการค้นหาข้อมูลในโดเมนเฉพาะสร้าง Evaluator: ใช้ InformationRetrievalEvaluator สำหรับการประเมินผลการค้นหากำหนด Corpus และ Queries: เตรียมชุดข้อมูลเอกสาร (Corpus) และชุดคำถาม (Queries) สำหรับการประเมินรันการประเมิน: เรียกใช้เมธอด evaluator.compute_metrics() เพื่อคำนวณ Metric ต่างๆ เช่น NDCG@10, MAP, MRRจากการทดลองพบว่า โมเดล Multi-Vector ที่ผ่านการ Fine-tune ด้วยข้อมูลทางการแพทย์ สามารถทำงานได้ดีกว่าโมเดล Retrieval ทั่วไปทุกประเภทที่ทดสอบ ทั้งแบบ Dense, Sparse, Lexical และ Multi-Vector เองสรุปการ Fine-tune โมเดล Multi-Vector Embedding ด้วย Sentence Transformers เป็นวิธีที่มีประสิทธิภาพในการเพิ่มความแม่นยำในการค้นหาข้อมูลสำหรับโดเมนเฉพาะ การทำความเข้าใจส่วนประกอบต่างๆ เช่น โมเดล, ชุดข้อมูล, Loss Function และการเลือกจุดเริ่มต้นที่เหมาะสม จะช่วยให้คุณสามารถสร้างโมเดลที่ตอบสนองความต้องการของคุณได้อย่างดีเยี่ยม#sentencetransformers #multivector #embedding #nlp #retrievalhttps://huggingface.co/blog/train-multi-vector-encoder
Shared content
HUGGINGFACE.CO
Training and Finetuning Multi-Vector Embedding Models with Sentence Transformers
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
3 Комментарии 0 Поделились 903 Просмотры 0 предпросмотр