ඒකකය 4 / 11

නැවත ලබා ගැනීමේ උපාය මාර්ග: Top-k, Hybrid, Re-ranking

ලාභ:

  • Top-k තේරීම සහ අර්ථකථන සහ මූල පද සෙවීම ඒකාබද්ධ කරන දෙමුහුන් සෙවුම ක්‍රියාත්මක කිරීම
  • නැවත ශ්‍රේණිගත කිරීම සමඟ පළමු සෙවුමේ නිරවද්‍යතාවය වැඩි කිරීම
  • විමසුම් පරිවර්තනය සහ HyDE වැනි තාක්ෂණික ක්‍රම සමඟින් දුෂ්කර ප්‍රශ්න වඩාත් සෙවිය හැකි බවට පත් කිරීම

ඔබ ලේඛන හොඳින් ඉරා දෛශික දත්ත ගබඩාවට තැබුවා. දැන් සැබෑ කාර්යය: පරිශීලකයා ප්‍රශ්නයක් අසන විට නිවැරදි කෑලි ලබා ගැනීම. මෙය නැවත ලබා ගැනීම ලෙස හඳුන්වන අතර RAG ගුණාත්මක භාවයේ කොඳු නාරටිය වේ. "Retrieval quality = RAG quality" යන වාක්‍ය ඛණ්ඩය මතක තබා ගන්න; මෙම ඒකකය හරියටම එම ගුණාත්මකභාවය වැඩිදියුණු කිරීමේ කලාවයි. අපි top-k තේරීමේ සිට දෙමුහුන් සෙවීම දක්වා, නැවත ශ්‍රේණිගත කිරීමේ සිට විමසුම් පරිවර්තනය දක්වා ප්‍රායෝගික තාක්ෂණික ක්‍රම ආවරණය කරන්නෙමු.

Top-k: අපි කෑලි කීයක් ගේන්නද?

වඩාත්ම මූලික සැකසුම: සෙවීමෙන් කොපමණ කෑලි (k) ආපසු ලබා දිය යුතුද. ඔබ අඩුවෙන් ගෙන එන්නේ නම් (k=1) නිවැරදි කෑල්ල මඟ හැරීමේ ඉහළ අවදානමක් ඇත; ඔබ වැඩිපුර (k=20) එකතු කළහොත්, එය ආකෘතියට ශබ්දය එකතු කරන අතර සංකේත පිරිවැය වැඩි වේ.

සංකල්ප දෙකක් අතර වෙනස හඳුනා ගන්න. මතක තබා ගන්න: ලබා ගත් ඒවා අතර නිවැරදි කෑල්ල ඇති අනුපාතය. නිරවද්‍යතාවය: ලබා ගන්නා දේ අදාළ වේ. k වැඩි කිරීම නැවත කැඳවීම වැඩි කරන නමුත් නිරවද්‍යතාවය අඩු කරයි. ඉලක්කය දෙක සමබර කිරීමයි.

top-k

බලපෑම

සුදුසු තත්ත්වය

1-3

ඉහළ නිරවද්යතාව, මග හැරීමේ අවදානම

සරල, එක් පිළිතුරු ප්‍රශ්න

4-8

ශේෂය; බොහෝ අවස්ථා

සාමාන්ය ආයතනික RAG

10-20

වැඩි මතකයක්, ශබ්දය වැඩි වේ

නැවත ශ්‍රේණිගත කිරීම සමඟ (පහළ)

ඉඟිය: පොදු සහ බලවත් රටාව: පළල ලබා ගන්න (k=20), පසුව නැවත ශ්‍රේණිගත කිරීම සමඟ පටු (ඉහළ 4). මේ ආකාරයෙන් ඔබට කිසිවක් මග හැරෙන්නේ නැති අතර ඔබ ආකෘතියට පිරිසිදු සන්දර්භය ලබා දෙයි.

දෙමුහුන් සෙවුම: සෙවුම් දෙකක බලය

අර්ථකථන (දෛශික) සෙවුම අර්ථය ග්‍රහණය කරන නමුත් දේවල් මග හැරේ: සම්පූර්ණ නිෂ්පාදන කේතය ("XR-4471"), දුර්ලභ කෙටි යෙදුම, නිසි නම, අනුවාද අංකය. මෙම නියම-ගැලපෙන කාර්යයන් සඳහා, පැරණි පාසල් මූල පද සෙවීම-විශේෂයෙන් BM25 ලෙස හඳුන්වන සම්භාව්‍ය ඇල්ගොරිතමය-ඉතා හොඳයි.

දෙමුහුන් සෙවුම මේ දෙක ඒකාබද්ධ කරයි: අර්ථකථන සහ මූල පද සෙවීම් යන දෙකම ක්‍රියා කරයි, ප්‍රතිඵල ඒකාබද්ධ කරයි. මේ අනුව, "වගකීම් කාලය වැනි ප්‍රශ්නයක

ඒකාබද්ධ කිරීම සාමාන්‍යයෙන් RRF (ප්‍රත්‍යන්ත ශ්‍රේණිගත විලයනය) සමඟ සිදු කෙරේ: ලැයිස්තු දෙකෙහිම ඉහළ ඇති ධාවන පථය ඉදිරියට පැමිණේ.

# Hybrid retrieval (සංකල්පීය)sem = vector_search(ප්‍රශ්නය, k=20) # meaningkey = bm25_search(ප්‍රශ්නය, k=20) # fullwordresult = rrf_merge(sem, key)[:8] # දෙක ෆියුස් කරන්න, ඉහළ 8

නැවත ශ්‍රේණිගත කිරීම: දෙවන සහ දක්ෂ සමත්

පළමු ඇමතුම ඉක්මන් නමුත් රළු විය හැක. නැවත ශ්‍රේණිගත කිරීම වඩාත් ප්‍රබල ආකෘතියක් (සාමාන්‍යයෙන් හරස්-කේතකයක් - ප්‍රශ්නය සහ ඡේදය එකට කියවා අදාළත්වය ලකුණු කරන ආකෘතියක්) සමඟින් පළමු සෙවීමෙන් එකින් එක ආපසු ලබා දුන් අපේක්ෂකයින් ලකුණු කර වඩාත් අදාළ ඒවා ඉහළට ගෙන යයි.

තර්කය මෙයයි: පළමු සෙවීම නැවත කැඳවීම සඳහා අපේක්ෂකයින් විශාල සංඛ්‍යාවක් පවරයි (අපේක්ෂකයින් 20), නැවත ශ්‍රේණිගත කරන්නා නිරවද්‍යතාවය සඳහා හොඳම 4 තෝරා ගනී. මෙම අදියර දෙකේ ප්‍රවේශය තනි-අදියර සෙවීමකට වඩා බොහෝ නිවැරදි ය. එය යම් ප්රමාදයක් සහ අතිරේක සැකසුම් වියදම්; ලාභය ගුණාත්මක භාවයේ සැලකිය යුතු වැඩි වීමකි.

# ද්වි-අදියර ලබා ගැනීම (සංකල්පීය) අපේක්ෂකයින් = hybrid_search(ප්‍රශ්නය, k=20) # පුළුල්, ඉක්මන් ලකුණු = reranker.score (ප්‍රශ්නය, අපේක්ෂකයින්) # එක් එක් අපේක්ෂක සන්දර්භය සඳහා අදාළ ලකුණු = rated.rank()[:4] # top 4

විමසුම පරිවර්තනය කිරීම

සමහර විට ගැටලුව සෙවුමේ නොව, ප්‍රශ්නය තුළමයි. පරිශීලකයා "දුරස්ථ සේවකයන් ගැන කුමක් කිව හැකිද?" ', මෙය තනිවම සෙවිය නොහැක (දුරස්ථ සේවකයින් සඳහා කුමක් දැයි පැහැදිලි නැත). විමසුම් පරිවර්තන ශිල්පීය ක්‍රම මෙන්න:

  • නැවත ලියන්න: ප්‍රශ්නය ස්වාධීන කිරීමට සංවාද ඉතිහාසය භාවිතා කරන්න: "වාර්ෂික නිවාඩු සඳහා හිමිකම් ඇති දුරස්ථ සේවකයන්ට මොනවාද?"
  • බහු විමසුම්: එකම ප්‍රශ්නයේ විවිධ ප්‍රකාශන 3ක් ජනනය කරන්න, ඒ සියල්ල සමඟ සොයන්න, ප්‍රතිඵල ඒකාබද්ධ කරන්න. විවිධ වචන විවිධ කෑලි සොයා ගනී.
  • HyDE (උපකල්පිත ලේඛන Embeddings): පළමුව ආකෘතියට "හැකි පිළිතුරක්" මුද්රණය කරන්න, පසුව කාවැද්දීම සහ එම මනඃකල්පිත පිළිතුර සොයන්න. මනඃකල්පිත පිළිතුර සමහර විට වඩා හොඳින් සොයාගත හැක්කේ එය සැබෑ ලේඛනයට වචනවලින් සමීප වන බැවිනි.

# බහු විමසුම් (සංකල්පීය) ප්‍රභේද = model.uret("මෙම ප්‍රශ්නය විවිධ ආකාර 3කින් ප්‍රකාශ කරන්න: " + ප්‍රශ්නය)tum_sonuc = []විචල්‍යවල v සඳහා: all_sonuc += vector_intermediate(v, k=6)සන්දර්භය = ඒකීය_සහ_පිළිවෙල(tum_result)[:6]

දුර්වල නැවත ලබා ගැනීම / ශක්තිමත් නැවත ලබා ගැනීම

දුර්වල (තනි අදියර, අර්ථ ශාස්ත්‍රය පමණි, නියත k=3):

result = vector_search(question, k=3)# ගැටලුව: නිෂ්පාදන කේතය මඟ හැරී ඇත, දුෂ්කර ප්‍රශ්න වලදී නිවැරදි 3 කොටස ඇතුළත් කළ නොහැක.

බලවත් (දෙමුහුන් + පුළුල් + නැවත ශ්‍රේණිගත කිරීම + අවශ්‍ය නම් බහු විමසුම්):

අපේක්ෂකයන් = hybrid_search(rewrite(question, past), k=20)context = reranker.score(question, candidates).first(4)# නියම ගැලපීම සහ අර්ථය යන දෙකම ග්‍රහණය කර ඇත; එය හොඳම මාදිලි 4 වෙත යයි.

කුඩා නඩු තුනක්

නඩුව 1 - නිෂ්පාදන කේතය ගැලවී ගියේය. සහායක කණ්ඩායමක පිරිසිදු අර්ථකථන සෙවීමකට "RTX-9080 රියදුරු දෝෂය" යන ප්‍රශ්නයේ වාචිකව "RTX-9080" සොයාගත නොහැකි විය; ඔහු සමාන නම් සහිත වෙනත් නිෂ්පාදන රැගෙන ආවේය. දෙමුහුන් සෙවීම එකතු කළ විට, නිවැරදි කේත ගැලපීම සිදු වූ අතර නිවැරදි ලිපි ආපසු යැවීමේ අනුපාතය 58% සිට 92% දක්වා වැඩි විය.

නඩුව 2 - නැවත ශ්රේණිගත කිරීමේ වෙනස. paralegal කෙනෙක් k=5 සමඟ වැඩ කරමින් සිටි නමුත් නිවැරදි අයිතමය බොහෝ විට 7-10 වේ. ඔහු තරාතිරමේ රැඳී සිටියේය. k=20 + නැවත ශ්‍රේණිගත කිරීම හඳුන්වා දුන් විට, නිවැරදි ලිපිය ඉහළම 3 තුළ සිටීමේ අනුපාතය 61% සිට 94% දක්වා වැඩි විය; ප්‍රමාදය වැඩි වූයේ 300ms පමණි - පිළිගත හැකි සම්මුතියකි.

නඩුව 3 - සන්දර්භය නොමැතිව පසු විපරම් ප්රශ්නය. මානව සම්පත් සහායකයක, පරිශීලකයා අසයි "අර්ධ-කාලීනයන් ගැන කුමක් ද?" මම ඇහුවම සිස්ටම් එක අදාල නැති කොටස් ගෙනාවා. විමසුම නැවත ලිවීමෙන් (අතීතයේ සිට "වාර්ෂික නිවාඩු" සන්දර්භය ඇදගෙන "අර්ධ කාලීන සේවකයින්ට වාර්ෂික නිවාඩු" එකතු කිරීමෙන්), නිවැරදි පිළිතුරු අනුපාතය 40% සිට 86% දක්වා වැඩි විය.

පොදු වැරදි

  • අර්ථකථන සෙවුම මත පමණක් රඳා සිටීම: නිෂ්පාදන කේතය, කෙටි යෙදුම, නිසි නම මඟ හැරී ඇත; දෙමුහුන් එකතු කරන්න.
  • k ඉතා කුඩාව තබා ගැනීම: නිවැරදි කෑල්ලට ලැයිස්තුවට ඇතුළු විය නොහැක; එය පුළුල් කර නැවත ශ්‍රේණිගත කිරීමකින් පටු කරන්න.
  • නැවත ශ්‍රේණිගත කිරීම ගැන කිසි විටෙකත් නොසිතන්න: පළමු සෙවීම රළු ය; දෙවන ස්මාර්ට් පාස් ගුණාත්මකභාවය සැලකිය යුතු ලෙස වැඩි දියුණු කරයි.
  • පසු විපරම් ප්‍රශ්න සඳහා සෙවීම පහත පරිදි වේ: සන්දර්භය නොමැති ප්‍රශ්නයක් තේරුමක් නැති දේ සඳහා සෙවුම් කරයි; නැවත ලියන්න.
  • අන්ධ ලෙස වැඩි වන k (නැවත ශ්‍රේණිගත කිරීමකින් තොරව): ආකෘතිය ශබ්දයෙන් පිරී ඇත, ප්‍රතිචාරය විකෘති වී පිරිවැය වැඩි වේ.
පරෙස්සම් වන්න: සෑම තාක්ෂණයක්ම පිරිවැය සහ ප්රමාදය එකතු කරයි. Multi-query යන්නෙන් අදහස් වන්නේ 3-ගුණයක් සෙවීම, නැවත ශ්‍රේණිගත කිරීම යනු අතිරේක ආකෘති ඇමතුමයි. මුලින්ම සරල දෙමුහුන් + සාධාරණ k සමඟ ආරම්භ කරන්න; ඇත්ත වශයෙන්ම අවශ්‍ය තැන්වල බර තාක්ෂණික ක්‍රම මැනීම සහ එකතු කිරීම. මැනීමකින් තොරව එකතු කිරීම.

සාරාංශයක් ලෙස

  • Top-k යනු නැවත කැඳවීම සහ නිරවද්‍යතාවය අතර ශේෂයයි; සාමාන්යයෙන් 4-8 හොඳ ආරම්භයක්.
  • දෙමුහුන් සෙවුම අර්ථකථන සෙවුම සහ මූල පද (BM25) සෙවුම ඒකාබද්ධ කරයි; නියම ගැලපීම් ප්‍රතිසාධනය කරයි.
  • නැවත ශ්‍රේණිගත කිරීම ශක්තිමත් ආකෘතියක් සමඟ පුළුල් ආරම්භක සෙවුමෙන් අපේක්ෂකයින් නැවත ලකුණු කර හොඳම ඒවා තෝරා ගනී.
  • විමසුම් පරිවර්තනය (නැවත ලිවීම, බහු විමසුම්, HyDE) දුෂ්කර සහ සන්දර්භය-නිදහස් ප්‍රශ්න සෙවිය හැකි කරයි.
  • ශක්තිමත් රටාව: පුළුල් ලබා ගැනීම → දෙමුහුන් සමග ඒකාබද්ධ → නැවත ශ්රේණිගත සමග පටු; නමුත් එය මැනීමෙන් එක් එක් තාක්ෂණය එකතු කරන්න.

යෙදුම් කාර්යය

පෙර ඒකකවල දත්ත සමඟ දුෂ්කර ප්‍රශ්න 6ක් සූදානම් කරන්න: අවම වශයෙන් 2කට නිශ්චිත ගැලපීම් අවශ්‍ය වේ (නිෂ්පාදන කේතය, කෙටි යෙදුම, දිනය), 2 අර්ථකථන (විවිධ වචන සහිත එකම මාතෘකාව), සන්දර්භය නොමැතිව පසු විපරම් ප්‍රශ්න 2ක්. (1) පළමුව සෑම ප්‍රශ්නයක්ම පිරිසිදු අර්ථකථන සෙවුමක් ලෙස සිතන්න සහ කුමන කොටස් පැමිණේදැයි අතින් සලකුණු කරන්න. (2) දෙමුහුන් සහ නැවත ශ්‍රේණිගත කිරීම් එකතු කර එම ප්‍රශ්න නැවත ඇගයීම. (3) පසු විපරම් ප්‍රශ්න සන්දර්භය නොමැතිව නැවත ලියන්න. කුමන ප්‍රශ්න වර්ගයෙහි වෙනසක් ඇති කරන්නේද යන්න වගු ආකාරයෙන් සටහන් කරන්න.

පිරික්සුම් ලැයිස්තුව

  • [ ] මම දන්නවා top-k යනු නැවත කැඳවීමේ-නිශ්චිත ශේෂයක් සහ සාධාරණ ආරම්භක පරාසයක්.
  • [ ] දෙමුහුන් සෙවුම නිවැරදි ගැලපීම් ප්‍රතිසාධනය කරන්නේ මන්දැයි මට පැහැදිලි කළ හැක.
  • [ ] මට නැවත ශ්‍රේණිගත කිරීමේ දෙපියවර තර්කය යෙදිය හැකිය (පුළුල් → ස්මාර්ට් පටු).
  • [ ] සන්දර්භය නොමැතිව පසු විපරම් ප්‍රශ්න නැවත ලිවීමේ අවශ්‍යතාවය මම හඳුනා ගනිමි.
  • [ ] මම බර තාක්ෂණික ක්‍රම එකතු කළේ මැනීමෙන් නොව මැනීමෙන් බව තහවුරු කරමි.