Niliweka Reranker kwenye RAG Pipeline Yangu — Ilibomoa Kila Kitu

Niliweka reranker kwenye RAG pipeline yangu. Mara moja iliharibu majaribio yangu.

Katika toleo la 2, nilitumia hybrid retrieval kwa kutumia FAISS na BM25. Ilifaulu maswali yangu yote 19 ya majaribio. Kisha, nikaongeza cross-encoder reranker ili kuboresha usahihi (precision).

Nadharia ni rahisi:

  • Hatua ya 1: Tumia fast retrieval kupata seti pana ya wagombe (candidates).
  • Hatua ya 2: Tumia reranker ya akili kuchagua zile bora zaidi.

Ilichukua dakika 20 kuitekeleza. Mara moja ilifeli majaribio 2 kati ya 19 yangu.

Kufeli huku kulitokea kwa sababu ya muundo wa data. Data yangu ina vipande (chunks) vya jedwali vilivyojaa kama hivi: "Company: Zentara Robotics | CEO: Iris Kallas | Employees: 287"

Model ya cross-encoder ilifundishwa kwa kutumia aya za lugha ya asili. Ilipoona mstari wa jedwali, ilitoa alama (score) ya chini sana. Ilidhani kipande hicho hakihusiki.

Hybrid retrieval ilipata jibu, lakini reranker ilikitupa.

Nilijaribu njia 7 tofauti za kurekebisha hili:

  • Kutumia candidate pool kubwa zaidi.
  • Kuchanganya alama (scores) kutoka kwa reranker na retriever.
  • Kutumia rank fusion.

Hakuna hata moja iliyofanya kazi. Alama ya reranker ilikuwa hasi sana kiasi kwamba ilitawala kila kitu kingine. Model haikuwa tu ikipanga kwa nafasi ya chini. Ilikuwa ikikataa muundo wa jedwali kwa makusudi.

Niliacha kujaribu kurekebisha hisabati na nikabadilisha muundo.

Badala ya kuruhusu reranker iamue kila kitu, nililinda matokeo yangu bora zaidi. Nilitumia mkakati wa "guaranteed slot":

  • Ikiwa unataka matokeo 3 bora, baki na 2 bora kutoka hatua ya kwanza.
  • Tumia reranker kuchagua matokeo ya 3 pekee.

Hii inahakikisha matokeo ya hybrid search yanabaki kwenye orodha ya mwisho. Reranker inaboresha nafasi zilizobaki pekee.

Matokeo: Majaribio 19/19 yamefaulu.

Mafunzo niliyopata:

  • Rerankers si maboresho ya papo hapo. Zinaweza kuharibu utendaji kwenye data iliyopangwa (structured) au ya jedwali (tabular).
  • Seti yako ya tathmini (evaluation set) ni mtandao wako wa usalama. Bila majaribio yangu 19, ningekuwa nimetuma mfumo uliovunjika.
  • Linda kile kinachofanya kazi. Ikiwa retrieval yako ya hatua ya kwanza ni nzuri, usiruhusu reranker ivuruge.

Jenga retriever imara kabla ya kutafuta reranker.

Chanzo: https://dev.to/santanu_mohanta_29/i-added-a-reranker-to-my-rag-pipeline-it-broke-everything-then-i-fixed-it-1c9i

Jumuiya ya hiari ya kujifunza: https://t.me/GyaanSetuAi