એડવાન્સ્ડ RAG ટેકનિક્સ વધુ સારી નથી. તે ક્યારેક વધુ સારી હોય છે.
એડવાન્સ્ડ RAG ટેકનિક્સ મફત અપગ્રેડ નથી. તે વ્યાપક ફાયદા અને નુકસાન (tradeoffs) સાથેના સાધનો છે.
મેં Anthropic ડોક્યુમેન્ટેશનનો ઉપયોગ કરીને RAG પાઇપલાઇન પર પાંચ રિટ્રીવલ (retrieval) પદ્ધતિઓનું પરીક્ષણ કર્યું. હું જોવા માંગતો હતો કે કઈ પદ્ધતિઓ ખરેખર તેમની જટિલતાને અનુરૂપ પરિણામ આપે છે.
અહીં મને જે જાણવા મળ્યું તે છે:
• Dense Retrieval: બેઝલાઇન. તે સારી રીતે કામ કરે છે પરંતુ ચોક્કસ શબ્દો (exact terms) ચૂકી જાય છે. • Hybrid Search: તે dense પ્લસ કીવર્ડ સર્ચનો ઉપયોગ કરે છે. તે એવા ચોક્કસ શબ્દો શોધી કાઢે છે જે dense સર્ચ ચૂકી જાય છે. પરંતુ તમારે પરિણામોનું વજન (weight) યોગ્ય રીતે કરવું પડશે, નહીંતર સચોટ માહિતી (signal) ગુમ થઈ શકે છે. • Reranking: તે ઉમેદવારોને સ્કોર આપવા માટે cross-encoder નો ઉપયોગ કરે છે. જ્યારે સાચો ચંક (chunk) પરિણામોમાં ખૂબ નીચે દબાયેલો હોય ત્યારે તે મદદરૂપ થાય છે. • HyDE: તે ડેટા શોધવા માટે કાલ્પનિક જવાબ (hypothetical answer) નો ઉપયોગ કરે છે. આ જોખમી છે. તે સામાન્ય ક્વેરીઝમાં મદદ કરે છે, પરંતુ સીધી ક્વેરીઝમાં તે બધું બગાડી નાખે છે. એક ટેસ્ટમાં Recall 0.80 થી ઘટીને 0.17 થઈ ગયો હતો. • Contextual Retrieval: તે ચંક્સમાં સારાંશ (summaries) ઉમેરે છે. આ ટૂંકા ચંક્સ માટે મદદરૂપ છે પરંતુ તેનાથી LLM ફીમાં વધારો થાય છે.
સૌથી મોટો પાઠ HyDE વિશે છે. તે "સેટ કરો અને ભૂલી જાઓ" (set and forget) એવું સાધન નથી. તમારે તેનો ઉપયોગ ત્યારે જ કરવો જોઈએ જ્યારે યુઝરની ક્વેરી અને તમારા ડોક્યુમેન્ટ્સ અલગ-અલગ ભાષાઓમાં હોય. ક્યારે તેનો ઉપયોગ કરવો તે નક્કી કરવા માટે તમારે એક router ની જરૂર પડશે.
મેં માપન (measurement) વિશે પણ એક પાઠ શીખ્યો.
મેં ઇવેલ્યુએશન (evaluation) માટે Ragas નો ઉપયોગ કરવાનો પ્રયાસ કર્યો. તે ખૂબ જ ધીમું હતું. તે નિષ્ફળ થયેલી કોલ્સને ફરીથી પ્રયાસ કરવામાં કલાકો બગાડતું હતું. મેં મારું પોતાનું async harness બનાવવાનું નક્કી કર્યું. 11 કલાકને બદલે, મારું ઇવેલ્યુએશન માત્ર 221 સેકન્ડમાં પૂરું થઈ ગયું.
AI સાધનોને 'બ્લેક બોક્સ' તરીકે ન જુઓ. જો કોઈ સાધન ધીમું હોય અથવા નિષ્ફળ જતું હોય, તો તેની પાછળના ગણિત (math) ને તપાસો. જો જરૂર હોય તો તમારું પોતાનું સોલ્યુશન બનાવો.
કામ માત્ર નવા ફીચર્સ ઉમેરવાનું નથી. કામ એ માપવાનું છે કે કયું ફીચર તમારા સિસ્ટમમાં પોતાનું સ્થાન મેળવવા લાયક છે.
ક્યારે કયું વાપરવું તેનો સારાંશ:
- Hybrid: જ્યારે ક્વેરીઝ ચોક્કસ પેરામીટર્સ પર આધારિત હોય ત્યારે વાપરો.
- HyDE: જ્યારે ક્વેરીઝ બરાબર રીતે લખવામાં ન આવી હોય ત્યારે વાપરો.
- Reranking: જ્યારે રિટ્રીવલ વ્યાપક હોય પણ સચોટ ન હોય ત્યારે વાપરો.
- Contextual: જ્યારે તમારા ચંક્સમાં સંદર્ભ (context) નો અભાવ હોય ત્યારે વાપરો.
"state of the art" પાછળ દોડવાનું બંધ કરો. તમારા પરિણામો માપવાનું શરૂ કરો.
Source: https://dev.to/yogesh23012001/advanced-rag-techniques-arent-better-theyre-better-sometimes-4m2o
Optional learning community: https://t.me/GyaanSetuAi
