Fitimet:
- Aftësia për të vendosur në pajisje ose cloud dhe për të zgjedhur mjetin e duhur (ML Kit, Core ML, TensorFlow Lite) bazuar në privatësinë, nevojën offline, madhësinë e modelit dhe kriteret e baterisë
- Aftësia për të parandaluar gabimet e heshtura duke verifikuar parapërpunimin e hyrjes (madhësia dhe normalizimi) nga dokumenti i modelit në integrimin e modelit
- Aftësia për të vlerësuar rezultatin e besimit dhe për të matur rezultatin me miratimin e përdoruesit dhe në pajisjen reale, pa paraqitur parashikime me besim të ulët si të vërtetë absolute.
Deri më tani, ne kemi përdorur AI si një ndihmë për të përshpejtuar procesin e zhvillimit. Tani kalojmë te roli i dytë i AI: talenti i ngulitur në aplikacion. Telefonat modernë kanë fuqinë për të ekzekutuar modele të AI si njohja e imazheve, përkthimi i tekstit, transkriptimi i të folurit, etj. direkt në pajisje (në pajisje - në procesorin e telefonit pa shkuar te serveri). AI në pajisje; Ai ofron avantazhe të mëdha ndaj zgjidhjeve cloud për sa i përket shpejtësisë, privatësisë dhe funksionimit offline. Në këtë njësi, ne do të mësojmë se si të futim AI në aplikacion me Core ML të iOS, TensorFlow Lite ndër-platformë (tani i njohur si LiteRT) dhe zgjidhjen e gatshme të Google ML Kit, dhe si të përdorim AI si një asistent në këtë integrim.
Në pajisje apo re?
Ky është vendimi i parë dhe më i rëndësishëm arkitektonik. AI në pajisje nuk i heq të dhënat nga telefoni – një fitore e madhe për privatësinë. Është gjithashtu i menjëhershëm dhe funksionon jashtë linje pasi nuk ka vonesë në rrjet. Megjithatë, ai kufizohet nga fuqia përpunuese dhe memoria e pajisjes; Modelet shumë të mëdha (p.sh. modelet e gjuhës gjigante) nuk do të futen në telefon ose do të shkarkojnë baterinë. Cloud AI, nga ana tjetër, ofron fuqi të pakufizuar, por dërgon të dhëna në server, kërkon rrjet dhe krijon vonesë.
kriteri
Në pajisje
Cloud (API i resë kompjuterike)
Privatësia
Të dhënat qëndrojnë në pajisje, të forta
Të dhënat shkojnë në server, nevojitet vëmendje
shpejtësia
Menjëherë, pa rrjet
Varet nga vonesa e rrjetit
jashtë linje
Ajo funksionon
Nuk funksionon
Madhësia e modelit
I kufizuar (burim telefonik)
e pakufizuar
bateri/ngrohje
Efektet me përdorim të rëndë
Serveri nën ngarkesë, pajisja është e relaksuar
Kostoja
Falas (burimi i pajisjes)
Tarifa për përdorim
Rregulli i vendimit: Zgjidhni në pajisje nëse të dhënat personale/sensitive po përpunohen, duhet të funksionojnë jashtë linje ose përgjigja e menjëhershme është thelbësore. Nëse keni nevojë për një model shumë të madh, drejtohuni te cloud. Kjo njësi është e fokusuar në pajisje; Ne do të mbulojmë re AI në njësinë e ardhshme.
Këshillë: Bëje gjithmonë pajisjen tënde të paracaktuar për një veçori që trajton të dhëna të ndjeshme (shëndeti, biometria, vendndodhja). Shprehja "të dhënat nuk largohen nga pajisja" është e paçmueshme si për respektimin e privatësisë ashtu edhe për besimin e përdoruesit, dhe bën një ndryshim të madh në etiketën e privatësisë së dyqanit.
Tre mënyra: ML Kit, Core ML, TensorFlow Lite
ML Kit (Google) është mënyra më e lehtë për të filluar: ofron aftësi të gatshme si njohja e tekstit (OCR - leximi i tekstit në një imazh), zbulimi i fytyrës, leximi i barkodit, përkthimi në disa rreshta. Ju nuk keni nevojë të trajnoni modelin tuaj. Core ML (Apple) është mënyra më efikase për të ekzekutuar modelin tuaj ose një model të gatshëm në iOS; Ai përdor harduerin Neural Engine të Apple (procesor i rrjetit nervor artificial). TensorFlow Lite/LiteRT është një zgjidhje ndër-platformë që ju lejon të ekzekutoni modelin tuaj të trajnuar si në Android ashtu edhe në iOS.
Rrjedha e përgjithshme e integrimit me AI shkon si kjo:
- Përkufizimi i talentit. Një synim i qartë, si p.sh. "Dua të lexoj tekstin në foto".
- Zgjedhja e rrugës. Nëse ka talent të gatshëm, ML Kit; Core ML/TF Lite nëse disponohet model i veçantë.
- Formati i modelit. .mlmodel (Core ML), .tflite (TF Lite). Shpjegon hapat e transformimit të AI.
- Kodi i integrimit. Ngarkimi i modelit, parapërpunimi i hyrjes, interpretimi i daljes.
- Testi i performancës. Shpejtësia, memoria, matja e baterisë në pajisjen reale.
Kujdes: Gabimi më i zakonshëm i AI në integrimin e modelit në pajisje është parapërpunimi i hyrjes - konvertimi i imazhit në madhësinë dhe formatin e ngjyrës që modeli pret. Nëse modeli pret 224x224 piksele dhe ju i jepni 300x300, rezultati do të jetë i pakuptimtë, por nuk do të merrni një mesazh gabimi. Verifikoni vlerat e parapërpunimit nga dokumenti i modelit.
Njohja e kufijve të modelit
Një model në pajisje merr vendime bazuar në të dhënat mbi të cilat është trajnuar. Një model i njohjes së objekteve i trajnuar vetëm në fotot e bëra gjatë ditës do të jetë i gabuar në imazhet e natës. Modeli ka një rezultat besimi (besimi - sa i sigurt është modeli për përgjigjen e tij, zakonisht midis 0 dhe 1); Është e rrezikshme t'i paraqisni përdoruesit si të sakta rezultatet me besim të ulët. Për shembull, një aplikacion për skanimin e njollave të lëkurës nuk duhet të thotë "definitivisht beninje", por duhet të thotë "parashikimi i modelit është ky, ju lutemi konsultohuni me një mjek". Rezultati i modelit është një rekomandim, jo një diagnozë.
tre mini kuti
Rasti 1 - Përshpejtimi me OCR. Një aplikacion i gjurmimit të shpenzimeve ka hequr barrën e futjes manuale të faturave me njohjen e tekstit ML Kit. Përdoruesi bën një foto të faturës dhe shuma dhe data plotësohen automatikisht. Koha e hyrjes manuale u ul nga 40 sekonda në 8 sekonda për faturë. Ekipi gjithmonë e kishte përdoruesin të konfirmonte shumën që lexoi AI; sepse faturat e rrudhura kishin një marzh gabimi 6%. Automatizimi + miratimi njerëzor ishte ekuilibri i duhur.
Rasti 2 - Gabim në parapërpunim. Një ekip integroi një model të njohjes së bimëve me TensorFlow Lite; Në testues, rezultatet ishin të rastësishme. Problemi ishte se kodi që gjeneroi AI nuk e normalizonte imazhin në intervalin [0,1] që pritej nga modeli (vlerat e pikselit u lanë në 0-255). Kur u shtua normalizimi, saktësia u rrit nga 30% në 89%. Mësimi: parapërpunimi është i heshtur, por vdekjeprurës.
Rasti 3 - Fitimi i privatësisë. Një aplikacion shëndetësor zbuloi anomali nga të dhënat e rrahjeve të zemrës me modelin Core ML në pajisje. Të dhënat nuk shkuan kurrë në server. Kjo zgjedhje i mundësoi aplikacionit të marrë frazën "nuk mbledh të dhëna" në etiketën e privatësisë së App Store dhe rriti shkallën e shkarkimit në krahasim me konkurrentët. Zgjedhja në pajisje ishte etike dhe komerciale fitimprurëse.
Prompt i dobët / Prompt i fortë
Prompt i dobët: "Shto njohjen e imazhit në aplikacionin tim."
Njoftim i fuqishëm: "Shto veçorinë e leximit të sasisë dhe datës në aplikacionin tim Android/Kotlin. - Përdor "Njohjen e tekstit të Google ML Kit" (në pajisje, jashtë linje) - Merr një imazh nga kamera ose galeria - Nxjerrë shumën dhe datën nga teksti i njohur me regex - Paraqisni rezultatin tek përdoruesi për miratim në fushën EDITABLE - Rrjedha e redaktueshme dhe ripërtëritja e kamerës. situatat e parapërpunimit dhe gabimit, shpjegoni hapat."
Modele të kopjueshme
Shablloni i zgjedhjes së shtegut: "Dëshiroj të bëj funksionin e mëposhtëm: [veçori]. Duhet të jetë në pajisje apo në renë kompjuterike? Krahaso bazuar në: privatësinë, nevojën jashtë linje, madhësinë e modelit, baterinë, koston. Rekomandoni mjetin e duhur (ML Kit / Core ML / TF Lite) dhe justifikojeni."
Modeli i integrimit: "Shkruani integrimin [model/aftësia] për [platformën]: 1) Ngarkimi i modelit2) Përpunimi paraprak i hyrjes (madhësia dhe normalizimi i pritshëm) 3) Thirrja e konkluzionit4) Interpretimi i daljes dhe kontrollimi i rezultateve të besimit5) Paralajmërim për përdoruesin për rezultatin me besim të ulëtMë kujtoni të verifikoj dokumentacionin e vlerave të modelit të parapërpunimit nga."
Modeli i rezultatit të besimit:"Kini parasysh pikën e besimit në këtë kod konkluzion:- Paraqisni rezultatin 'sakt' nën pragun (p.sh. 0,6)- Shfaqni shënimin 'ky është një vlerësim' për përdoruesit- Referojuni ekspertit nëse zona kritike (shëndeti, siguria)[kodi]"
Shablloni i verifikimit të performancës: "Rendisni matjet që më duhet të mas në pajisjen aktuale për këtë integrim të modelit në pajisje: koha e përfundimit, rritja e kujtesës, ndikimi i baterisë, ngrohja. Trego metodën e matjes për secilën."
Gabimet e zakonshme
- Kapërcimi i parapërpunimit ose kryerja e gabuar. Madhësia/normalizimi i gabuar prodhon në heshtje rezultat të gabuar.
- Injorimi i rezultatit të besimit. Paraqitja e një vlerësimi me besim të ulët si të saktë do të mashtrojë përdoruesin.
- Testimi i modelit në emulator. Shpejtësia aktuale e pajisjes dhe bateria janë shumë të ndryshme; mat gjithmonë në harduer të vërtetë.
- Dërgimi i të dhënave të ndjeshme në cloud në mënyrë të panevojshme. Zgjedhja e resë kompjuterike kur është e mundur në pajisje është një rrezik privatësie.
- Injorimi i madhësisë së modelit. Aplikacionet e modeleve të mëdha rritin madhësinë e shkarkimit dhe rrëzojnë në harduer të ulët.
- Duke harruar kufirin e trajnimit të modelit. Modeli gabon në gjendjen ku nuk sheh (natë, gjuhë tjetër); Bëjani të qartë këtë përdoruesit.
Në përmbledhje
AI në pajisje ofron privatësi, shpejtësi dhe funksionim jashtë linje duke mbajtur të dhëna në telefon; Kufiri është fuqia e pajisjes dhe madhësia e modelit. Kompleti ML përdoret për aftësi jashtë kutisë, Core ML (iOS) dhe TensorFlow Lite (ndër-platformë) përdoren për modelet e personalizuara. Vrasësi i heshtur i integrimit është parapërpunimi i papërshtatshëm; Madhësia e hyrjes dhe normalizimi verifikohen nga dokumentacioni i modelit. Çdo rezultat vjen me një rezultat besimi dhe parashikimet me besim të ulët nuk paraqiten si të vërteta absolute. Vendimet maten në pajisjen reale, jo në emulator.
Detyra e aplikimit
Për një veçori "leximi i tekstit nga fotografia" ose "leximi i barkodit", pyesni AI nëse duhet të jetë në pajisje apo në renë kompjuterike me "shabllonin e përzgjedhjes së rrugës", më pas kërkoni një plan të bazuar në ML Kit me "Modelin e Integrimit". Verifikoni që hapi i parapërpunimit dhe rrjedha e miratimit/redaktimit të përdoruesit janë të pranishme në kod. Vendosni një prag të rezultatit të besimit dhe shkruani se çfarë do të bëni nëse rezultati është besim i ulët.
listë kontrolli
- [ ] Kam marrë vendimin në pajisje/cloud bazuar në kritere
- [ ] Zgjodha mjetin e duhur (ML Kit / Core ML / TF Lite)
- [ ] Kam verifikuar dimensionin e parapërpunimit dhe normalizimin nga dokumentacioni i modelit
- [ ] Kontrollova rezultatin e besimit dhe paralajmërova për rezultate të ulëta të besimit
- [ ] I paraqita rezultatin përdoruesit me miratim/redaktim, nuk e ruajta verbërisht
- [ ] Kam matur performancën në pajisjen reale, jo në emulatorin