એક ડેવલપરનો RAG પ્રોટોટાઇપ 0.50 થી ઓછી કોસાઇન સિમિલારિટી (cosine similarity) ધરાવતી કોઈપણ ક્વેરીનો જવાબ આપવાનો ઇનકાર કરતો હતો. તે બધું બરાબર રીતે કામ કરતો હતો—જ્યાં સુધી એમ્બેડિંગ મોડલ (embedding model) બદલાયું નહીં. ત્યારબાદ, તે ગાર્ડ ભૂલભરેલા જવાબોને પણ ચૂપચાપ પસાર થવા દેવા લાગ્યો. આ ઘટના સાબિત કરે છે કે હાર્ડ-કોડેડ સિમિલારિટી થ્રેશોલ્ડ (hard-coded similarity threshold) મોડલ્સ બદલાતા તૂટી શકે છે, જે એવા કોઈપણ સિસ્ટમ માટે જોખમ છે જે સેફ્ટી ચેક્સ માટે એમ્બેડિંગ સિમિલારિટી પર આધાર રાખે છે.
શા માટે થ્રેશોલ્ડ મહત્વનું હતું
Retrieval-augmented generation (RAG) પાઇપલાઇન્સ ઘણીવાર સિમિલારિટી ગાર્ડનો ઉપયોગ કરે છે: જો ક્વેરી અને તેની નજીકની ડોક્યુમેન્ટ વચ્ચેની કોસાઇન સિમિલારિટી પૂર્વ-નિર્ધારિત સંખ્યા કરતા ઓછી હોય, તો સિસ્ટમ જવાબ આપવાનું બંધ કરી દે છે. જ્યારે મેળવેલ સંદર્ભ (context) નબળો હોય ત્યારે આ ગાર્ડ મોડલને હેલ્યુસિનેટિંગ (hallucinating) કરતા અટકાવે છે. મૂળ સેટઅપમાં, 0.50 નો થ્રેશોલ્ડ સિસ્ટમને સચોટ રાખતો હતો—જવાબ ન આપી શકાય તેવી ક્વેરીઝ આ લાઇનથી નીચે હતી, અને જવાબ આપી શકાય તેવી ક્વેરીઝ તેની ઉપર હતી.
જ્યારે એમ્બેડિંગ બેકએન્ડ બદલાયું, ત્યારે તે જ 0.50 નો કટ-ઓફ હવે બંને જૂથોને અલગ કરી શકતો ન હતો. પાઇપલાઇને કોઈપણ ક્રેશ અથવા સ્પષ્ટ ભૂલ વગર આત્મવિશ્વાસપૂર્ણ, પરંતુ ખોટા જવાબો આપવાનું શરૂ કર્યું. આ નિષ્ફળતા સ્ટાન્ડર્ડ રેન્કિંગ મેટ્રિક્સમાં દેખાતી નહોતી અને જ્યારે કોઈ માણસે તેમાં ફેરફાર (drift) નોંધ્યો ત્યારે જ તે સામે આવી.
જિયોમેટ્રી (Geometry) યુનિવર્સલ નથી
દરેક એમ્બેડિંગ મોડલ ભાષાને તેના પોતાના જિયોમેટ્રી (geometry) સાથે હાઈ-ડાયમેન્શનલ સ્પેસમાં મેપ કરે છે. તેથી કોસાઇન સિમિલારિટીના મૂલ્યો એક મોડલથી બીજા મોડલ વચ્ચે અલગ-અલગ અર્થ ધરાવે છે. 0.50 નો સ્કોર એક મોડલ માટે સ્પષ્ટ અંતરના છેડા પર હોઈ શકે છે અને બીજા મોડલ માટે ઓવરલેપની અંદર હોઈ શકે છે.
- Voyage-3 – 0.50 ની લાઇન ઓછા સ્કોરવાળી જવાબ ન આપી શકાય તેવી ક્વેરીઝ અને વધુ સ્કોરવાળી જવાબ આપી શકાય તેવી ક્વેરીઝ વચ્ચે આવે છે. ગાર્ડ ઈરાદા મુજબ કામ કરે છે.
- BGE-Small – ઘણી જવાબ ન આપી શકાય તેવી ક્વેરીઝ 0.50 થી ઉપર સ્કોર કરે છે, તેથી ગાર્ડ ક્યારેય સક્રિય થતો નથી. કટ-ઓફને 0.70 સુધી વધારવાથી સેફ્ટી માર્જિન પુનઃસ્થાપિત થાય છે.
- Hashing-64 – જવાબ આપી શકાય તેવી અને ન આપી શકાય તેવી ક્વેરીઝના સ્કોર્સ એટલી નજીકથી મિક્સ થાય છે કે કોઈ એક થ્રેશોલ્ડ તેમને અલગ કરી શકતું નથી; આ મોડલ સિમિલારિટી ગાર્ડને સપોર્ટ કરવા માટે ખૂબ જ નબળું છે.
આ કિસ્સાઓ એક વ્યાપક સત્ય દર્શાવે છે: થ્રેશોલ્ડ એ ચોક્કસ મોડલ-ડેટા જોડીનો ભાગ છે, કોઈ યુનિવર્સલ નિયમ નથી.
કન્સ્ટન્ટનો છુપાયેલો ખર્ચ
સિમિલારિટી થ્રેશોલ્ડ ઘણા ડાઉનસ્ટ્રીમ કાર્યોમાં જોવા મળે છે:
- semantic caching
- duplicate detection
- document relevance checks
- entity matching
કન્સ્ટન્ટ વેલ્યુનો ઉપયોગ એ ધારણા પર આધારિત છે કે તમામ એમ્બેડિંગ મોડલ્સ સમાન સ્કોર ડિસ્ટ્રિબ્યુશન ધરાવે છે—જે એક જોખમી ધારણા છે. જ્યારે આ ધારણા નિષ્ફળ જાય છે, ત્યારે સિસ્ટમ્સ ચૂપચાપ ખોટા આત્મવિશ્વાસપૂર્ણ આઉટપુટ આપે છે, જેનાથી વપરાશકર્તાનો વિશ્વાસ ઘટે છે અને ડાઉનસ્ટ્રીમ નિર્ણયોમાં ખોટો ડેટા જાય છે.
દરેક મોડલ માટે ગાર્ડનું કેલિબ્રેશન કરવું
ઉપાય સરળ છે: ક્યારેય હાર્ડ-કોડેડ કન્સ્ટન્ટનો ઉપયોગ ન કરો. થ્રેશોલ્ડને એક હાયપર-પેરામીટર (hyper-parameter) તરીકે ગણો જેને દરેક નવા એમ્બેડિંગ મોડલ માટે ટ્યુન કરવું આવશ્યક છે.
- જવાબ આપી શકાય તેવી અને ન આપી શકાય તેવી બંને ક્વેરીઝને આવરી લેતો એક મધ્યમ, લેબલ કરેલ વેલિડેશન સેટ તૈયાર કરો.
- ટાર્ગેટ મોડલનો ઉપયોગ કરીને દરેક ક્વેરી-ડોક્યુમેન્ટ જોડી માટે કોસાઇન સિમિલારિટીની ગણતરી કરો.
