મેં શોધી કાઢ્યું કે એક સિંગલ સેફ્ટી-ગેટ મેટ્રિકે AI-જનરેટેડ એક્સપ્લેનેશન ફીચરમાં આખા દિવસના આઉટેજ (outage) ને છુપાવી દીધું હતું. "ગેટ રિજેક્શન" અને "મોડેલ લોડ ફેઈલ્યોર" ને એક જ ગણીને, આ મેટ્રિકે સિસ્ટમ બરાબર ચાલી રહી છે તેવો ખોટો અહેસાસ કરાવ્યો. તેણે ચાર રિજેક્શન અને શૂન્ય સફળતા નોંધાવી, છતાં તે સમયગાળા દરમિયાન મોડેલ ક્યારેય ચાલ્યું જ નહોતું—આ એક એવી ભૂલ હતી જે ઓપરેટર્સને બગડેલી સિસ્ટમ વિશે અંધ રાખી શકત.

આ ગેરસમજ કેવી રીતે થઈ

આ ફીચર રો મશીન લોજિકને મનુષ્યો સમજી શકે તેવા વાક્યોમાં બદલવા માટે લોકલ લેંગ્વેજ મોડેલનો ઉપયોગ કરે છે. ડાઉનસ્ટ્રીમમાં રહેલું એક સેફ્ટી ગેટ કોઈપણ આઉટપુટને બ્લોક કરે છે જે પૂર્વ-નિર્ધારિત નિયમોનું ઉલ્લંઘન કરતું હોય. પ્રોડક્શનમાં, મેં એક સિંગલ કાઉન્ટર એક્સપોઝ કર્યું હતું જે ગેટ દ્વારા વાક્ય રિજેક્ટ કરવામાં આવે ત્યારે વધતું હતું. જ્યારે ડ્રોન દ્વારા ચાર AI એક્સપ્લેનેશન લોગ કરવામાં આવ્યા, ત્યારે કાઉન્ટરે ચાર રિજેક્શન અને શૂન્ય સફળ આઉટપુટ દર્શાવ્યા. મેં તેને ગેટ તેનું કામ કરી રહ્યું છે તેવું માન્યું, ફીચર બંધ છે તેવું નહીં.

આ કાઉન્ટરે જે છુપાવ્યું તે બે તબક્કાની નિષ્ફળતા હતી:

  1. મોડેલ ચાલતું નથી – મોડેલ સિસ્ટમના બાકીના ભાગો સાથે એક જ મશીન શેર કરે છે. મેમરી બચાવવા માટે, હોસ્ટ તેને નિષ્ક્રિયતા પછી અનલોડ કરી દે છે.
  2. રીલોડ પર ટાઈમઆઉટ – જ્યારે નવો ખતરો દેખાયો, ત્યારે સિસ્ટમે અંદાજે બે ગીગાબાઇટ મોડેલ ડેટાને રીલોડ કરવાનો પ્રયાસ કર્યો. રીલોડ પ્રક્રિયા ત્રીસ સેકન્ડના રિસ્પોન્સ ટાઈમઆઉટ કરતા વધી ગઈ, તેથી રિક્વેસ્ટ ટાઈમઆઉટ થઈ ગઈ અને ખાલી જવાબ મળ્યો.

કારણ કે કાઉન્ટરે ગેટ રિજેક્શન અને ટાઈમઆઉટને કારણે મળેલા ખાલી જવાબને એક જ ઘટના તરીકે ગણ્યા, તેથી ડેશબોર્ડમાં "વર્કિંગ સેફ્ટી ગેટ" દેખાતું હતું જ્યારે AI ફીચર વાસ્તવમાં બંધ હતું.

તે શા માટે મહત્વનું છે

AI-સંચાલિત પ્રોડક્ટ્સમાં, સેફ્ટી ગેટ્સ હાનિકારક અથવા અર્થહીન આઉટપુટને અટકાવે છે. ઓપરેટર્સ હેલ્થ સિગ્નલ તરીકે ગેટના ફાયર રેટ પર નજર રાખે છે. જ્યારે તે સિગ્નલ બિનસંબંધિત નિષ્ફળતાના મોડ્સ સાથે ભળી જાય છે, ત્યારે તે મેટ્રિક એક 'મૌન જૂઠ' બની જાય છે: તે સેવા ઉપલબ્ધ ન હોવા છતાં બધું બરાબર છે તેવો આશ્વાસન આપે છે.

વિઝિબિલિટી પુનઃસ્થાપિત કરતો ઉકેલ

મેં ત્રણ વ્યવહારુ ફેરફારો કર્યા:

  • મોડેલને રેસિડેન્ટ રાખવું – હોસ્ટમાં ફેરફાર કરીને મોડેલને મેમરીમાં જ રાખ્યું, જેથી રીલોડમાં થતો વિલંબ દૂર થયો.
  • ટાઈમઆઉટ વધારવું – ક્યારેક થતા ધીમા લોડને હેન્ડલ કરવા માટે રિસ્પોન્સ વિન્ડો વધારી.
  • કાઉન્ટરને વિભાજિત કરવું – સિંગલ "rejected by gate" મેટ્રિકને બદલે ચાર અલગ કાઉન્ટર્સનો ઉપયોગ કર્યો: accepted, rejected, empty response, અને no answer.

ત્રીજું પગલું નિર્ણાયક સાબિત થયું. કોઈપણ રીતે વાંચી શકાય તેવા સિંગલ નંબરને બદલે, ચાર ભાગમાં કરેલું વિભાજન એ દર્શાવે છે કે સેફ્ટી ગેટ સક્રિય છે કે નહીં, મોડેલ જવાબ આપી રહ્યું છે કે નહીં, અથવા રિક્વેસ્ટ મોડેલ સુધી પહોંચી જ નથી.

ટ્રેડ-ઓફ્સ અને કાઉન્ટર-આર્ગ્યુમેન્ટ્સ

આગળ શું ધ્યાન રાખવું

AI ઘટકો (components) લોન્ચ કરતા ડેવલપર્સે એવા કોઈપણ એગ્રીગેટેડ કાઉન્ટર્સનું ઓડિટ કરવું જોઈએ જે સેફ્ટી ચેક્સને સિસ્ટમ-લેવલની નિષ્ફળતાઓ સાથે મિક્સ કરે છે. દરેક રિક્વેસ્ટનો પાથ—મોડેલ લોડ સ્ટાર્ટ, ગેટ ઇવેલ્યુએશન, ફાઇનલ આઉટકમ—નો રેકોર્ડ રાખતો વિગતવાર હિસ્ટ્રી લોગ બનાવવાથી છુપાયેલી સમસ્યાઓને ઓળખવા માટે જરૂરી ફોરેન્સિક ડેટા મળે છે.

મુખ્ય વાત (Takeaway): એક સિંગલ "gate-rejection" મેટ્રિક બંધ પડેલી AI સર્વિસને છુપાવી શકે છે; તે મેટ્રિકને તેના ઘટક ઇવેન્ટ્સમાં વિભાજિત કરવાથી સત્ય બહાર આવે છે અને ખરેખર કામ ન કરતી સિસ્ટમમાં ખોટા આત્મવિશ્વાસને અટકાવે છે.