નફો:
- ઉપકરણ અથવા ક્લાઉડ પર નિર્ણય લેવાની ક્ષમતા અને ગોપનીયતા, ઑફલાઇન જરૂરિયાત, મોડેલ કદ અને બેટરી માપદંડના આધારે યોગ્ય સાધન (ML કિટ, કોર ML, ટેન્સરફ્લો લાઇટ) પસંદ કરવાની ક્ષમતા
- મૉડલના એકીકરણમાં મૉડલના દસ્તાવેજમાંથી ઇનપુટ પ્રીપ્રોસેસિંગ (કદ અને સામાન્યીકરણ) ચકાસીને સાયલન્ટ ભૂલોને રોકવાની ક્ષમતા
- આત્મવિશ્વાસના સ્કોરનું મૂલ્યાંકન કરવાની અને વપરાશકર્તાની મંજૂરી સાથે અને વાસ્તવિક ઉપકરણ પર પરિણામને માપવાની ક્ષમતા, ઓછા આત્મવિશ્વાસની આગાહીઓને સંપૂર્ણ સત્ય તરીકે રજૂ કર્યા વિના.
અત્યાર સુધી, અમે વિકાસ પ્રક્રિયાને ઝડપી બનાવવા માટે સહાયક તરીકે AI નો ઉપયોગ કર્યો છે. હવે અમે AI ની બીજી ભૂમિકા તરફ આગળ વધીએ છીએ: એપ્લિકેશનમાં એમ્બેડ કરેલી પ્રતિભા. આધુનિક ફોનમાં AI મૉડલ્સ જેમ કે ઇમેજ રેકગ્નિશન, ટેક્સ્ટ ટ્રાન્સલેશન, સ્પીચ ટ્રાંસ્ક્રિપ્શન વગેરેને સીધા ઉપકરણ પર ચલાવવાની શક્તિ હોય છે (ઉપકરણ પર — સર્વર પર ગયા વિના ફોનના પોતાના પ્રોસેસરમાં). ઉપકરણ પર AI; તે ઝડપ, ગોપનીયતા અને ઑફલાઇન ઑપરેશનના સંદર્ભમાં ક્લાઉડ સોલ્યુશન્સ પર મહાન લાભો પ્રદાન કરે છે. આ એકમમાં, અમે iOS ના કોર ML, ક્રોસ-પ્લેટફોર્મ TensorFlow Lite (હવે LiteRT તરીકે ઓળખાય છે) અને Google ના તૈયાર સોલ્યુશન ML કિટ સાથે એપ્લિકેશનમાં AI ને કેવી રીતે એમ્બેડ કરવું અને આ એકીકરણમાં સહાયક તરીકે AI નો ઉપયોગ કેવી રીતે કરવો તે શીખીશું.
ઉપકરણ પર કે વાદળ?
આ પ્રથમ અને સૌથી મહત્વપૂર્ણ સ્થાપત્ય નિર્ણય છે. ઓન-ડિવાઈસ AI ફોનમાંથી ડેટા દૂર કરતું નથી — ગોપનીયતા માટે એક મોટી જીત. તે ત્વરિત પણ છે અને ઑફલાઇન કાર્ય કરે છે કારણ કે ત્યાં કોઈ નેટવર્ક લેટન્સી નથી. જો કે, તે ઉપકરણની પ્રોસેસિંગ પાવર અને મેમરી દ્વારા મર્યાદિત છે; ખૂબ મોટા મૉડલ (દા.ત. જાયન્ટ ટંગ મૉડલ) ફોનમાં ફિટ થશે નહીં અથવા બૅટરી નીકળી જશે. બીજી બાજુ, ક્લાઉડ એઆઈ અમર્યાદિત શક્તિ પ્રદાન કરે છે, પરંતુ સર્વરને ડેટા મોકલે છે, નેટવર્કની જરૂર છે અને લેટન્સી બનાવે છે.
માપદંડ
ઉપકરણ પર
મેઘ (ક્લાઉડ API)
ગોપનીયતા
ડેટા ઉપકરણ પર રહે છે, મજબૂત
ડેટા સર્વર પર જાય છે, ધ્યાનની જરૂર છે
ઝડપ
ઝટપટ, નેટવર્ક નથી
નેટવર્ક લેટન્સી પર આધાર રાખે છે
ઑફલાઇન
તે કામ કરે છે
કામ કરતું નથી
મોડેલનું કદ
મર્યાદિત (ફોન સંસાધન)
અમર્યાદિત
બેટરી/ગરમી
ભારે ઉપયોગ સાથે અસરો
લોડ હેઠળ સર્વર, ઉપકરણ હળવા
ખર્ચ
મફત (ઉપકરણ સ્ત્રોત)
ઉપયોગ દીઠ ફી
નિર્ણય નિયમ: જો વ્યક્તિગત/સંવેદનશીલ ડેટા પર પ્રક્રિયા કરવામાં આવી રહી હોય, ઑફલાઇન કાર્ય કરવાની જરૂર હોય અથવા ત્વરિત પ્રતિસાદ આવશ્યક હોય તો ઉપકરણ પર પસંદ કરો. જો તમને ખૂબ મોટા મોડેલની જરૂર હોય, તો ક્લાઉડ તરફ વળો. આ એકમ ઉપકરણ પર કેન્દ્રિત છે; અમે આગામી યુનિટમાં ક્લાઉડ AIને આવરી લઈશું.
ટીપ: સંવેદનશીલ ડેટા (સ્વાસ્થ્ય, બાયોમેટ્રિક્સ, સ્થાન) ને હેન્ડલ કરતી સુવિધા માટે હંમેશા તમારા ઉપકરણ પર ડિફોલ્ટ બનાવો. "ડેટા ઉપકરણ છોડતો નથી" વાક્ય ગોપનીયતા અનુપાલન અને વપરાશકર્તા વિશ્વાસ બંને માટે અમૂલ્ય છે અને સ્ટોર ગોપનીયતા લેબલમાં મોટો તફાવત બનાવે છે.
ત્રણ રીતે: ML કિટ, કોર ML, ટેન્સરફ્લો લાઇટ
ML કિટ (Google) એ શરૂ કરવાનો સૌથી સહેલો રસ્તો છે: તે તૈયાર ક્ષમતાઓ આપે છે જેમ કે ટેક્સ્ટ રેકગ્નિશન (OCR — ઇમેજમાં ટેક્સ્ટ વાંચવું), ફેસ ડિટેક્શન, બારકોડ રીડિંગ, થોડી લાઇનમાં અનુવાદ. તમારે તમારા પોતાના મોડેલને તાલીમ આપવાની જરૂર નથી. કોર ML (Apple) એ iOS પર તમારું પોતાનું મોડલ અથવા તૈયાર મોડલ ચલાવવાની સૌથી કાર્યક્ષમ રીત છે; તે એપલના ન્યુરલ એન્જિન (કૃત્રિમ ન્યુરલ નેટવર્ક પ્રોસેસર) હાર્ડવેરનો ઉપયોગ કરે છે. TensorFlow Lite/LiteRT એ ક્રોસ-પ્લેટફોર્મ સોલ્યુશન છે જે તમને Android અને iOS બંને પર તમારું પોતાનું પ્રશિક્ષિત મોડલ ચલાવવાની મંજૂરી આપે છે.
AI સાથે સામાન્ય સંકલન પ્રવાહ આના જેવો છે:
- પ્રતિભા વ્યાખ્યા. સ્પષ્ટ ધ્યેય, જેમ કે "હું ફોટામાં લખાણ વાંચવા માંગુ છું."
- પાથ પસંદગી. જો ત્યાં તૈયાર પ્રતિભા છે, ML કિટ; કોર ML/TF Lite જો વિશેષ મોડલ ઉપલબ્ધ હોય.
- મોડલ ફોર્મેટ. .mlmodel (કોર ML), .tflite (TF Lite). એઆઈ ટ્રાન્સફોર્મેશન સ્ટેપ્સ સમજાવે છે.
- એકીકરણ કોડ. મોડલ લોડ કરી રહ્યું છે, ઇનપુટને પ્રીપ્રોસેસ કરી રહ્યું છે, આઉટપુટનું અર્થઘટન કરી રહ્યું છે.
- પ્રદર્શન પરીક્ષણ. વાસ્તવિક ઉપકરણ પર ઝડપ, મેમરી, બેટરી માપન.
સાવધાન: ઑન-ડિવાઈસ મૉડલ એકીકરણમાં સૌથી સામાન્ય AI ભૂલ એ ઇનપુટ પ્રીપ્રોસેસિંગ છે — ઇમેજને કદ અને રંગ ફોર્મેટમાં રૂપાંતરિત કરવું જે મોડેલની અપેક્ષા છે. જો મોડેલ 224x224 પિક્સેલ્સની અપેક્ષા રાખે છે અને તમે તેને 300x300 આપો છો, તો પરિણામ અર્થહીન હશે, પરંતુ તમને ભૂલ સંદેશ પ્રાપ્ત થશે નહીં. મોડેલના દસ્તાવેજમાંથી પ્રીપ્રોસેસિંગ મૂલ્યો ચકાસો.
મોડેલની મર્યાદાઓ જાણવી
ઉપકરણ પરનું મોડેલ તેને તાલીમ આપવામાં આવેલ ડેટાના આધારે નિર્ણયો લે છે. માત્ર દિવસ દરમિયાન લીધેલા ફોટા પર જ તાલીમ આપવામાં આવેલ ઓબ્જેક્ટ રેકગ્નિશન મોડલ રાતની તસવીરો પર ખોટું હશે. મોડલનો કોન્ફિડન્સ સ્કોર છે (આત્મવિશ્વાસ — મોડલ તેના જવાબ વિશે કેટલો વિશ્વાસ ધરાવે છે, સામાન્ય રીતે 0 અને 1 વચ્ચે); ઓછા-આત્મવિશ્વાસના પરિણામોને વપરાશકર્તાને સચોટ તરીકે રજૂ કરવા જોખમી છે. ઉદાહરણ તરીકે, સ્કિન સ્પોટ સ્કેનિંગ એપ્લિકેશનમાં "ચોક્કસપણે સૌમ્ય" ન કહેવું જોઈએ, પરંતુ "મૉડલની આગાહી આ છે, કૃપા કરીને ડૉક્ટરની સલાહ લો" કહેવું જોઈએ. મોડેલનું પરિણામ એ ભલામણ છે, નિદાન નથી.
ત્રણ નાના કેસો
કેસ 1 — OCR સાથે પ્રવેગક. ખર્ચ ટ્રેકિંગ એપ્લિકેશને ML કિટ ટેક્સ્ટ ઓળખ સાથે જાતે રસીદો દાખલ કરવાના બોજને દૂર કર્યો છે. વપરાશકર્તા રસીદનો ફોટો લે છે, અને રકમ અને તારીખ આપમેળે ભરવામાં આવે છે. મેન્યુઅલ એન્ટ્રીનો સમય 40 સેકન્ડથી ઘટીને 8 સેકન્ડ પ્રતિ રસીદ થયો. ટીમ પાસે હંમેશા વપરાશકર્તા પાસે એઆઈએ વાંચેલી રકમની પુષ્ટિ કરે છે; કારણ કે કરચલીવાળી રસીદોમાં ભૂલનો 6% માર્જિન હતો. ઓટોમેશન + માનવ મંજૂરી એ યોગ્ય સંતુલન હતું.
કેસ 2 - પ્રીપ્રોસેસિંગ ભૂલ. એક ટીમે ટેન્સરફ્લો લાઇટ સાથે પ્લાન્ટ રેકગ્નિશન મોડલને એકીકૃત કર્યું; ટેસ્ટર પર, પરિણામો રેન્ડમ હતા. સમસ્યા એ હતી કે AI દ્વારા જનરેટ કરવામાં આવેલ કોડે ઇમેજને અપેક્ષિત મોડલની [0,1] રેન્જમાં સામાન્ય બનાવી ન હતી (પિક્સેલ મૂલ્યો 0-255 પર છોડી દેવામાં આવ્યા હતા). જ્યારે નોર્મલાઇઝેશન ઉમેરવામાં આવ્યું, ત્યારે ચોકસાઈ 30% થી વધીને 89% થઈ. પાઠ: પ્રીપ્રોસેસિંગ શાંત છે પરંતુ જીવલેણ છે.
કેસ 3 - ગોપનીયતા લાભ. ઓન-ડિવાઈસ કોર ML મોડલ સાથેના હાર્ટ રેટ ડેટામાંથી સ્વાસ્થ્ય એપ્લિકેશને વિસંગતતા શોધી કાઢી. ડેટા ક્યારેય સર્વર પર ગયો નથી. આ પસંદગીએ એપ સ્ટોર ગોપનીયતા લેબલમાં "ડેટા એકત્રિત કરતું નથી" વાક્ય પ્રાપ્ત કરવા માટે એપ્લિકેશનને સક્ષમ કરી અને સ્પર્ધકોની તુલનામાં તેનો ડાઉનલોડ દર વધાર્યો. ઉપકરણ પરની પસંદગી નૈતિક અને વ્યવસાયિક રીતે નફાકારક બંને હતી.
નબળા પ્રોમ્પ્ટ / મજબૂત પ્રોમ્પ્ટ
નબળા પ્રોમ્પ્ટ: "મારી એપ્લિકેશનમાં છબી ઓળખ ઉમેરો."
સશક્ત સંકેત: "મારી Android/Kotlin એપ્લિકેશનમાં રકમ અને તારીખ વાંચવાની સુવિધા ઉમેરો. - Google ML Kit ટેક્સ્ટ રેકગ્નિશનનો ઉપયોગ કરો (ઉપકરણ પર, ઑફલાઇન) - કૅમેરા અથવા ગૅલેરીમાંથી છબી લો - regex સાથે માન્ય ટેક્સ્ટમાંથી રકમ અને તારીખ કાઢો - સંપાદનયોગ્ય ફીલ્ડમાં મંજૂરી માટે વપરાશકર્તાને પરિણામ પ્રસ્તુત કરો, કૅમેરા પર સ્વતઃ-લેવિંગ અને હેનફ્લો રિજેક્ટ કરો. પ્રી-પ્રોસેસિંગ અને ભૂલની પરિસ્થિતિઓ, પગલાંઓ સમજાવો."
નકલ કરી શકાય તેવા નમૂનાઓ
પાથ પસંદગી નમૂનો: "હું નીચેની સુવિધા બનાવવા માંગુ છું: [સુવિધા]. શું તે ઉપકરણ પર હોવું જોઈએ કે ક્લાઉડ? આના આધારે સરખામણી કરો: ગોપનીયતા, ઑફલાઇન જરૂરિયાત, મોડેલનું કદ, બેટરી, કિંમત. યોગ્ય સાધન (ML કિટ / કોર ML / TF લાઇટ) ની ભલામણ કરો અને ન્યાયી ઠેરવો."
એકીકરણ ટેમ્પ્લેટ: "[પ્લેટફોર્મ] માટે [મોડેલ/ક્ષમતા] એકીકરણ લખો:1) મોડલ લોડિંગ2) ઇનપુટ પ્રીપ્રોસેસિંગ (અપેક્ષિત કદ અને નોર્મલાઇઝેશન) 3) અનુમાન કૉલ4) આઉટપુટ અર્થઘટન અને આત્મવિશ્વાસ સ્કોર ચેકિંગ5) ઓછા-વિશ્વાસના પરિણામ પર વપરાશકર્તાને ચેતવણી આપો.
કોન્ફિડન્સ સ્કોર ટેમ્પલેટ:"આ અનુમાન કોડમાં કોન્ફિડન્સ સ્કોરનો વિચાર કરો:- વર્તમાન પરિણામ 'ચોક્કસ' થ્રેશોલ્ડની નીચે (દા.ત. 0.6)- વપરાશકર્તાને 'આ અંદાજિત છે' નોંધ બતાવો- જો મહત્વપૂર્ણ ક્ષેત્ર (આરોગ્ય, સલામતી)[કોડ] હોય તો નિષ્ણાતનો સંદર્ભ લો"
પર્ફોર્મન્સ વેરિફિકેશન ટેમ્પલેટ: "આ ઓન-ડિવાઈસ મોડલ એકીકરણ માટે મને વાસ્તવિક ઉપકરણ પર માપવા માટે જરૂરી મેટ્રિક્સની સૂચિ બનાવો: અનુમાન સમય, મેમરી વધારો, બેટરી અસર, હીટિંગ. દરેક માટે માપન પદ્ધતિ કહો."
સામાન્ય ભૂલો
- પ્રી-પ્રોસેસિંગ છોડવું અથવા તેને ખોટી રીતે કરવું. ખોટું કદ/સામાન્યીકરણ શાંતિપૂર્વક ખોટું પરિણામ આપે છે.
- આત્મવિશ્વાસના સ્કોરને અવગણવું. ઓછા આત્મવિશ્વાસના અંદાજને સચોટ તરીકે રજૂ કરવાથી વપરાશકર્તા ગેરમાર્ગે દોરશે.
- ઇમ્યુલેટરમાં મોડેલનું પરીક્ષણ. વાસ્તવિક ઉપકરણ ઝડપ અને બેટરી ખૂબ જ અલગ છે; હંમેશા વાસ્તવિક હાર્ડવેર પર માપો.
- બિનજરૂરી રીતે ક્લાઉડ પર સંવેદનશીલ ડેટા મોકલવો. જ્યારે ઉપકરણ પર શક્ય હોય ત્યારે ક્લાઉડ પસંદ કરવું એ ગોપનીયતાનું જોખમ છે.
- મોડેલના કદને અવગણવું. મોટા મોડલની એપ્સ ડાઉનલોડનું કદ વધારે છે અને ઓછા હાર્ડવેર પર ક્રેશ થાય છે.
- મોડેલની તાલીમ મર્યાદાને ભૂલી જવું. મોડલ એ સ્થિતિમાં ભૂલથી છે જ્યાં તે દેખાતું નથી (રાત્રિ, અલગ ભાષા); વપરાશકર્તાને આ સ્પષ્ટ કરો.
સારાંશમાં
ઓન-ડિવાઈસ AI ફોન પર ડેટા રાખીને ગોપનીયતા, ઝડપ અને ઑફલાઇન કામગીરી પ્રદાન કરે છે; મર્યાદા એ ઉપકરણની શક્તિ અને મોડેલનું કદ છે. ML કિટનો ઉપયોગ આઉટ-ઓફ-ધ-બોક્સ ક્ષમતાઓ માટે થાય છે, કોર ML (iOS) અને TensorFlow Lite (ક્રોસ-પ્લેટફોર્મ) નો ઉપયોગ કસ્ટમ મોડલ માટે થાય છે. એકીકરણનું સાયલન્ટ કિલર અયોગ્ય પ્રીપ્રોસેસિંગ છે; ઇનપુટ કદ અને સામાન્યકરણ મોડેલના દસ્તાવેજીકરણમાંથી ચકાસવામાં આવે છે. દરેક પરિણામ આત્મવિશ્વાસના સ્કોર સાથે આવે છે, અને ઓછા આત્મવિશ્વાસની આગાહીઓ સંપૂર્ણ સત્ય તરીકે રજૂ કરવામાં આવતી નથી. નિર્ણયો વાસ્તવિક ઉપકરણ પર માપવામાં આવે છે, એમ્યુલેટર પર નહીં.
એપ્લિકેશન કાર્ય
"ફોટોમાંથી ટેક્સ્ટ રીડિંગ" અથવા "બારકોડ રીડિંગ" સુવિધા માટે, AI ને પૂછો કે તે ઉપકરણ પર હોવું જોઈએ કે "પાથ પસંદગી નમૂના" સાથે ક્લાઉડ હોવું જોઈએ, પછી "એકીકરણ નમૂના" સાથે ML કિટ-આધારિત બ્લુપ્રિન્ટ માટે પૂછો. ચકાસો કે પ્રી-પ્રોસેસિંગ પગલું અને વપરાશકર્તાની મંજૂરી/સંપાદન પ્રવાહ કોડમાં હાજર છે. ટ્રસ્ટ સ્કોર થ્રેશોલ્ડ સેટ કરો અને જો પરિણામ ઓછો વિશ્વાસ હોય તો તમે શું કરશો તે લખો.
ચેકલિસ્ટ
- [ ] મેં માપદંડના આધારે ઉપકરણ પર/ક્લાઉડ નિર્ણય લીધો છે
- [ ] મેં યોગ્ય સાધન પસંદ કર્યું (ML Kit / Core ML / TF Lite)
- [ ] મેં મોડેલના દસ્તાવેજીકરણમાંથી પ્રીપ્રોસેસિંગ પરિમાણ અને નોર્મલાઇઝેશનની ચકાસણી કરી
- [ ] મેં ટ્રસ્ટ સ્કોર તપાસ્યો અને ઓછા વિશ્વાસ પરિણામોની ચેતવણી આપી
- [ ] મેં પરિણામને મંજૂરી/સંપાદન સાથે વપરાશકર્તાને રજૂ કર્યું, મેં તેને આંખ બંધ કરીને સાચવ્યું નથી
- [ ] મેં વાસ્તવિક ઉપકરણ પર પ્રદર્શન માપ્યું, એમ્યુલેટર પર નહીં