Hypothetical Document Embeddings (HyDE) (TH)
Hypothetical Document Expansion (HyDE) — วิธีการปรับปรุง vector retrieval และ retrieval‑augmented generation (RAG) โดยที่โมเดลภาษาขนาดใหญ่ (LLM) จะสร้าง «เอกสารเชิงสมมติ» จากคำค้นหาต้นทาง จากนั้นข้อความดังกล่าวจะถูกแปลงเป็นเวกเตอร์ด้วย encoder และการค้นหาจะดำเนินการในหมู่เอกสารจริงโดยอิงจากความใกล้เคียงกับเวกเตอร์ที่ได้ แนวทางนี้ช่วยให้สามารถนำ «รูปแบบความเกี่ยวข้อง» ที่ LLM เข้ารหัสไว้มาใช้และ «ยึดโยง» กับคอร์ปัสผ่าน dense embedding[1]
คำจำกัดความและแนวคิด
HyDE แบ่งงานการค้นหาออกเป็นสองขั้นตอน:
(1) LLM สร้าง «ตัวอย่างคำตอบที่เกี่ยวข้อง» (hypothetical document) สำหรับคำค้นหา เพื่อจำลองลักษณะของความเกี่ยวข้อง;
(2) contrastive encoder (เช่น Contriever) แปลงข้อความนั้นเป็นเวกเตอร์ ซึ่งใช้ดึงเอกสารจริงจาก index ข้อความที่สร้างขึ้นอาจมีข้อผิดพลาดเชิงข้อเท็จจริง แต่สิ่งที่สำคัญคือรูปแบบเชิงหัวข้อและเชิงคำศัพท์ที่ encoder จับได้[2]
ประวัติและที่มา
แนวคิดการขยายการค้นหาด้วยข้อความสังเคราะห์มีรากฐานมาจากงานวิจัยด้านการขยายคำค้นหาและ pseudo-relevance feedback (PRF) ได้แก่ อัลกอริทึม Rocchio และโมเดลภาษาความเกี่ยวข้อง[3][4] สำหรับ dense retrieval มีการใช้ encoder ที่ฝึกด้วย contrastive learning (Contriever)[5] และ Dense Passage Retrieval (DPR)[6] benchmark BEIR ได้กำหนดมาตรฐานการประเมินแบบ zero‑shot[7] บนพื้นฐานนี้จึงได้มีการเสนอ HyDE เป็นวิธีการ «นำเข้า» ความรู้เรื่องความเกี่ยวข้องในโหมด zero‑shot ผ่าน LLM โดยไม่ต้องทำ fine-tuning encoder[8]
วิธีการและการกำหนดรูปแบบ
กำหนดให้คอร์ปัสของเอกสารคือ และ encoder ข้อความ กำหนด vector representation ของเอกสารเป็น สำหรับการวัดความใกล้เคียงใช้ cosine similarity หรือ dot product โดยมีข้อสังเกตสำคัญว่า **dot product เท่ากับ cosine similarity ก็ต่อเมื่อเวกเตอร์ทั้งสองมี L2‑norm เท่ากับหนึ่งเท่านั้น** ()[9]
HyDE นิยามตัวแทนของคำค้นหาใหม่ผ่าน «เอกสารเชิงสมมติ» ที่สร้างโดย LLM โดยในเชิงรูปแบบ:
โดยที่ คือ LLM ที่มีคำสั่ง (เช่น «เขียนย่อหน้าที่ตอบคำถาม …»), คือตัววัดความคล้ายคลึง (cosine หรือ inner product พร้อม normalization) และ คือชุดของ เอกสารที่มีความคล้ายคลึงสูงสุด[10][11]
ในทางปฏิบัติทางวิศวกรรม มักสร้างข้อความเชิงสมมติ **หลายข้อความ** แล้วรวม representation เข้าด้วยกัน ซึ่งช่วยเพิ่มความเสถียร:
โดยที่ คือพารามิเตอร์การ decoding แบบ stochastic (เช่น temperature/top‑p) การรวมแบบ ensemble นี้ช่วยปรับปรุง Recall โดยมีการเพิ่ม latency ในระดับปานกลาง[12]
pipeline พื้นฐานของ HyDE
# 1) prompt(query) -> hypothetical_doc # 2) embed(hypothetical_doc) -> v_h # 3) retrieve(index, v_h, k) -> candidates # 4) (optional) rerank(query, candidates) -> topN # 5) (для RAG) stuff / map-reduce / refine на topN
ความสัมพันธ์กับวิธีการอื่น (QE, doc2query, PRF)
- QE (การขยายคำค้นหา) เพิ่มคำศัพท์เข้าไปในคำค้นหา ในขณะที่ HyDE สร้าง «เอกสารเสมือน» ทั้งชิ้น ซึ่งสอดคล้องกับ dense encoder ได้ดีกว่า[13]
- doc2query / docTTTTTquery ขยาย เอกสาร ด้วยคำค้นหาสังเคราะห์ก่อนการ indexing[14][15] ในขณะที่ HyDE ขยาย คำค้นหา แบบ on-the-fly โดยไม่ต้องทำ re-indexing
- PRF (Rocchio, Relevance LM) อัปเดตเวกเตอร์คำค้นหาตามผลลัพธ์อันดับต้น ๆ ในขณะที่ HyDE ดึง «รูปแบบความเกี่ยวข้อง» โดยตรงจาก LLM แล้วจึง «ยึดโยง» ด้วยการ retrieval จากคอร์ปัส[16]
การผสานรวมใน RAG และการจัดอันดับใหม่
ใน RAG นั้น HyDE ถูกใช้เป็นขั้นตอนแรกของการ retrieval ได้แก่ เอกสารเชิงสมมติ → embedding → k candidates จากนั้นจะมีการจัดอันดับใหม่ โดยใช้ cross-encoder ระดับ BERT[17] หรือ ColBERT แบบ late interaction[18] สำหรับการรวมรายการ (เช่น hybrid BM25+vector) มักใช้ RRF (reciprocal rank fusion): วิธีการ RRF ช่วยปรับปรุงคุณภาพโดยรวมของการจัดอันดับที่รวมกันได้อย่างสม่ำเสมอ[19]
การประเมินบน benchmark (BEIR และอื่น ๆ)
งานวิจัยต้นฉบับประเมิน HyDE ในโหมด zero-shot บน TREC DL'19/20 (การค้นหาบนเว็บ) และบนชุดคอลเล็กชันย่อยของ BEIR (Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER) ข้อมูลผลลัพธ์บางส่วน — ณ เดือนกรกฎาคม 2023:
| วิธีการ | DL19 | DL20 | แหล่งที่มา |
|---|---|---|---|
| BM25 | 30.1 / 50.6 / 75.0 | 28.6 / 48.0 / 78.6 | [20] |
| Contriever (unsup.) | 24.0 / 44.5 / 74.6 | 24.0 / 42.1 / 75.4 | [21] |
| HyDE (Contriever+LLM) | 41.8 / 61.3 / 88.0 | 38.2 / 57.9 / 84.4 | [22] |
| DPR (ft) | 36.5 / 62.2 / 76.9 | 41.8 / 65.3 / 81.4 | [23] |
| ANCE (ft) | 37.1 / 64.5 / 75.5 | 40.8 / 64.6 / 77.6 | [24] |
| วิธีการ | Scifact | ArguAna | TREC‑COVID | FiQA | DBPedia | TREC‑NEWS | Climate‑FEVER | แหล่งที่มา |
|---|---|---|---|---|---|---|---|---|
| BM25 | 67.9 / 92.5 | 39.7 / 93.2 | 59.5 / 49.8 | 23.6 / 54.0 | 31.8 / 46.8 | 39.5 / 44.7 | 16.5 / 42.5 | [25] |
| Contriever | 64.9 / 92.6 | 37.9 / 90.1 | 27.3 / 17.2 | 24.5 / 56.2 | 29.2 / 45.3 | 34.8 / 42.3 | 15.5 / 44.1 | [26] |
| HyDE | 69.1 / 96.4 | 46.6 / 97.9 | 59.3 / 41.4 | 27.3 / 62.1 | 36.8 / 47.2 | 44.0 / 50.9 | 22.3 / 53.0 | [27] |
HyDE ยังปรับปรุง MRR@100 บนชุดข้อมูลหลายภาษา Mr.TyDi (sw/ko/ja/bn) เมื่อเปรียบเทียบกับ mContriever[28]
คำแนะนำเชิงปฏิบัติ
- เมื่อใดควรใช้ HyDE
- โหมด zero-shot/transfer (ไม่มี relevance label; โดเมนมีความแตกต่างจากคอร์ปัสที่ใช้ฝึก)[29]
- ต้องการเพิ่ม Recall@k โดยยอมรับความแม่นยำในระดับที่เหมาะสม — HyDE มักจะ «เปิด» พื้นที่ที่เกี่ยวข้องใน vector space[30]
- การตั้งค่าทั่วไป
- LLM และ prompt: คำสั่ง «เขียนย่อหน้าที่ตอบคำถาม …»; ความ stochastic ในระดับปานกลาง (เช่น temperature≈0.7)[31]
- จำนวนข้อความเชิงสมมติ: 1–5; การเฉลี่ย embedding ช่วยเพิ่มความเสถียร[32]
- Embedder: (m)Contriever โดยไม่ต้อง fine-tuning; สามารถใช้ encoder ที่ผ่านการ fine-tuning ได้เช่นกัน (ผลของ HyDE ยังคงอยู่)[33]
- Normalization ของ embedding: L2‑norm; inner product เทียบเท่ากับ cosine[34]
- Hybrid retrieval: BM25+vector ตามด้วยการจัดอันดับใหม่[35]
- Re-ranker: Cross-Encoder (BERT re‑ranker)[36] หรือ ColBERT[37]
- การรวม ผลลัพธ์จากกลยุทธ์ต่าง ๆ: RRF (k≈60)[38]
- การติดตามคุณภาพ/ต้นทุน
- Retrieval: nDCG@k, Recall@k, MRR; end‑to‑end RAG: EM/F1 หรือเมตริก groundedness (RAGAS/TruLens)[39][40]
- ต้นทุน/latency: การสร้าง LLM และ (ถ้ามี) การจัดอันดับใหม่เป็นปัจจัยหลัก; ปรับให้เหมาะสมด้วยจำนวน «เอกสารเชิงสมมติ» และความยาวของคำตอบ[41]
ข้อจำกัดและคำถามที่ยังเปิดอยู่
- Hallucination ในข้อความเชิงสมมติ: LLM อาจนำเสนอข้อผิดพลาดเชิงข้อเท็จจริง การ «ยึดโยง» ผ่าน encoder และคอร์ปัสช่วยลดความเสี่ยงแต่ไม่สามารถกำจัดได้ทั้งหมด[42]
- ข้อจำกัดด้านโดเมนและภาษา: ประโยชน์ของ HyDE ลดลงในโดเมนที่เฉพาะทางสูงและในภาษาที่มีทรัพยากรน้อย[43]
- Latency และต้นทุน: การสร้าง LLM เพิ่ม delay และต้นทุน token; มีนัยสำคัญสำหรับสถานการณ์ออนไลน์และ «เอกสารเชิงสมมติ» ที่ยาว[44]
- จริยธรรมและอคติ: ควรใช้ LLM ที่ปลอดภัยและมีการกรองข้อมูล[45]
ตารางเปรียบเทียบวิธีการ
| วิธีการ | ประเภท | จุดที่สร้างข้อความ | Encoder/index | Re-ranker (ขั้นตอนที่ 2) | เมตริกทั่วไป (ตัวอย่าง) | ต้นทุน/latency | แหล่งที่มา |
|---|---|---|---|---|---|---|---|
| HyDE | Query→hypo‑doc | ฝั่งคำค้นหา (LLM → ย่อหน้า) | (m)Contriever; ANN | BERT re‑rank / ColBERT / RRF | DL19 nDCG@10≈61.3; DL20≈57.9; ArguAna nDCG@10≈46.6 | + การสร้าง LLM; + การจัดอันดับใหม่ (ทางเลือก) | [46] |
| BM25 | Lexical | — | Inverted index | ทางเลือก | ดูตาราง (ข้างต้น) | ต่ำ (lexical) | [47] |
| DPR / ANCE | Dense (ft) | — | Bi‑encoder; ANN | ทางเลือก | DL19 nDCG@10≈62–65 | ปานกลาง (ไม่มี LLM) | [48][49] |
| doc2query / docTTTTTquery | การขยายเอกสาร | ฝั่งคอลเล็กชัน (ก่อน indexing) | BM25/sparse+expanded | ทางเลือก | การปรับปรุง BM25 บน MS MARCO | การสร้าง offline สูง; ออนไลน์รวดเร็ว | [50][51] |
| PRF (Rocchio, RLM) | QE ตาม feedback | คำค้นหา (ตามผลอันดับต้น ๆ) | ใด ๆ | ทางเลือก | Recall เพิ่มขึ้น/ความเสี่ยงการ drift | + รอบการ retrieval เพิ่มเติม | [52] |
ดูเพิ่มเติม
- BM25
- การค้นหาด้วย vector representation
- RAG
- Pseudo-relevance feedback
- BEIR
เอกสารอ้างอิง
- Manning, C. D.; Raghavan, P.; Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. ISBN 978‑0521865715.
- Robertson, S.; Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends in IR, 3(4), 333–389. DOI:10.1561/1500000019.
ลิงก์
- repository ของ HyDE: github.com/texttron/hyde.
- เอกสาร: Haystack — HyDE: docs.haystack.deepset.ai.
- เอกสาร: LangChain — HyDE Retriever: docs.langchain.com.
หมายเหตุ
- ↑ Gao, L.; Ma, X.; Lin, J.; Callan, J. (2023). ‘‘Precise Zero‑Shot Dense Retrieval without Relevance Labels (HyDE)’’. ACL 2023. pp. 1762–1777. DOI:10.18653/v1/2023.acl-long.99. arXiv:2212.10496
- ↑ Gao, L. et al. (2023). ACL 2023, §3.2. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Rocchio, J. (1971). ‘‘Relevance Feedback in Information Retrieval’’. In: Salton, G. (ed.) The SMART Retrieval System. Prentice‑Hall, pp. 313–323. ISBN 978‑0138145255.
- ↑ Lavrenko, V.; Croft, W. B. (2001). ‘‘Relevance‑Based Language Models’’. SIGIR. DOI:10.1145/383952.383972.
- ↑ Izacard, G. et al. (2021/2022). ‘‘Unsupervised Dense Information Retrieval with Contrastive Learning’’. arXiv:2112.09118.
- ↑ Karpukhin, V. et al. (2020). ‘‘Dense Passage Retrieval for Open‑Domain QA’’. EMNLP. DOI:10.18653/v1/2020.emnlp-main.550.
- ↑ Thakur, N. et al. (2021). ‘‘BEIR: A Heterogeneous Benchmark for Zero‑shot Evaluation of Information Retrieval Models’’. NeurIPS Datasets Track. arXiv:2104.08663.
- ↑ Gao, L. et al. (2023). DOI:10.18653/v1/2023.acl-long.99.
- ↑ Milvus Docs. ‘‘Similarity Metrics’’ — при L2‑нормализации векторов внутр. произведение эквивалентно косинусу. URL: https://milvus.io/docs/v2.2.x/metric.md
- ↑ Gao, L.; Ma, X.; Lin, J.; Callan, J. (2023). ‘‘Precise Zero‑Shot Dense Retrieval without Relevance Labels (HyDE)’’. ACL 2023, §3–4. arXiv:2212.10496. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Izacard, G. et al. (2021/2022). ‘‘Unsupervised Dense Information Retrieval with Contrastive Learning (Contriever)’’. arXiv:2112.09118.
- ↑ Gao, L. et al. (2023). Прил. (ablation): влияние числа гипотетических текстов и параметров генерации. arXiv:2212.10496.
- ↑ Gao, L. et al. (2023). DOI:10.18653/v1/2023.acl-long.99.
- ↑ Nogueira, R. et al. (2019). ‘‘Document Expansion by Query Prediction’’ (doc2query). arXiv:1904.08375.
- ↑ Nogueira, R.; Lin, J. (2019). ‘‘From doc2query to docTTTTTquery’’ (tech report). PDF
- ↑ Rocchio, J. (1971); Lavrenko & Croft (2001), см. выше.
- ↑ Nogueira, R.; Cho, K. (2019). ‘‘Passage Re‑ranking with BERT’’. arXiv:1901.04085.
- ↑ Khattab, O.; Zaharia, M. (2020). ‘‘ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT’’. SIGIR. DOI:10.1145/3397271.3401075; arXiv:2004.12832.
- ↑ Cormack, G. V.; Clarke, C. L. A.; Büttcher, S. (2009). ‘‘Reciprocal Rank Fusion Outperforms Condorcet and Nearly Optimally Combines Rankings’’. SIGIR. DOI:10.1145/1571941.1572114.
- ↑ Gao, L. et al. (2023). Табл. 1. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Izacard, G. et al. (2022); сводные метрики — в Gao et al., 2023, табл. 1. arXiv:2112.09118.
- ↑ Gao, L. et al. (2023). Табл. 1.
- ↑ Karpukhin, V. et al. (2020); сводные — в Gao et al., 2023.
- ↑ Xiong, L. et al. (2021). ICLR. arXiv:2007.00808.
- ↑ Thakur, N. et al. (2021); сводные — в Gao et al., 2023, табл. 2. arXiv:2104.08663.
- ↑ Izacard, G. et al. (2022); сводные — в Gao et al., 2023, табл. 2.
- ↑ Gao, L. et al. (2023). Табл. 2.
- ↑ Gao, L. et al. (2023). Табл. 3. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Gao, L. et al. (2023). §4–5.
- ↑ Gao, L. et al. (2023). §4.2–4.3.
- ↑ Gao, L. et al. (2023). §4.1.
- ↑ Haystack Docs. ‘‘Hypothetical Document Embeddings (HyDE)’’ (инженерная справка). docs.haystack.deepset.ai
- ↑ Gao, L. et al. (2023). Табл. 6.
- ↑ Milvus Docs. ‘‘Similarity Metrics’’.
- ↑ Haystack × Milvus Integration (официальная док.). haystack.deepset.ai
- ↑ Nogueira, R.; Cho, K. (2019). arXiv:1901.04085.
- ↑ Khattab, O.; Zaharia, M. (2020). DOI:10.1145/3397271.3401075.
- ↑ Cormack, G. V. et al. (2009). DOI:10.1145/1571941.1572114.
- ↑ Manning, C. D.; Raghavan, P.; Schütze, H. (2008). Introduction to Information Retrieval. Cambridge Univ. Press. ISBN 978‑0521865715.
- ↑ Es, S. et al. (2023). ‘‘RAGAS: Automated Evaluation of Retrieval‑Augmented Generation’’. arXiv:2309.15217.
- ↑ Gao, L. et al. (2023). §5.
- ↑ Gao, L. et al. (2023). §3.2; §4.1. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Gao, L. et al. (2023). Табл. 3; §4.4.
- ↑ Gao, L. et al. (2023). §4–5.
- ↑ Ouyang, L. et al. (2022). ‘‘Training language models to follow instructions with human feedback (InstructGPT)’’. NeurIPS. arXiv:2203.02155.
- ↑ Gao, L. et al. (2023). Табл. 1–2.
- ↑ Robertson, S.; Zaragoza, H. (2009). ‘‘The Probabilistic Relevance Framework: BM25 and Beyond’’. Found. Trends IR. DOI:10.1561/1500000019.
- ↑ Karpukhin, V. et al. (2020). DOI:10.18653/v1/2020.emnlp-main.550.
- ↑ Xiong, L. et al. (2021). arXiv:2007.00808.
- ↑ Nogueira, R. et al. (2019). arXiv:1904.08375.
- ↑ Nogueira, R.; Lin, J. (2019). tech report.
- ↑ Rocchio, J. (1971). SMART; Lavrenko & Croft (2001) SIGIR.