Faida:
- Uwezo wa kuamua kwenye kifaa au wingu na kuchagua zana inayofaa (ML Kit, Core ML, TensorFlow Lite) kulingana na faragha, hitaji la nje ya mtandao, saizi ya muundo na vigezo vya betri.
- Uwezo wa kuzuia makosa ya kimya kwa kuthibitisha usindikaji wa pembejeo (ukubwa na urekebishaji) kutoka kwa hati ya mfano katika ujumuishaji wa mfano.
- Uwezo wa kutathmini alama ya kuaminika na kupima matokeo kwa idhini ya mtumiaji na kwenye kifaa halisi, bila kuwasilisha utabiri wa chini wa imani kama ukweli kamili.
Kufikia sasa, tumetumia AI kama msaada kuharakisha mchakato wa maendeleo. Sasa tunaendelea na jukumu la pili la AI: talanta iliyoingia kwenye programu. Simu za kisasa zina uwezo wa kuendesha miundo ya AI kama vile utambuzi wa picha, tafsiri ya maandishi, unukuzi wa matamshi, n.k. moja kwa moja kwenye kifaa (kwenye kifaa - katika kichakataji cha simu yenyewe bila kwenda kwa seva). AI kwenye kifaa; Inatoa faida kubwa juu ya ufumbuzi wa wingu katika suala la kasi, faragha na uendeshaji wa nje ya mtandao. Katika kitengo hiki, tutajifunza jinsi ya kupachika AI kwenye programu tumizi kwa kutumia Core ML ya iOS, jukwaa-msingi la TensorFlow Lite (sasa inajulikana kama LiteRT) na suluhu iliyotengenezwa tayari ya Google ML Kit, na jinsi ya kutumia AI kama msaidizi katika muunganisho huu.
Kwenye kifaa au kwenye wingu?
Huu ni uamuzi wa kwanza na muhimu zaidi wa usanifu. AI ya kifaa haiondoi data kutoka kwa simu - ushindi mkubwa kwa faragha. Pia ni papo hapo na hufanya kazi nje ya mtandao kwa kuwa hakuna muda wa kusubiri wa mtandao. Hata hivyo, ni mdogo na uwezo wa usindikaji wa kifaa na kumbukumbu; Miundo mikubwa sana (k.m. miundo mikubwa ya lugha) haitatosha kwenye simu au itamaliza betri. Cloud AI, kwa upande mwingine, inatoa nguvu isiyo na kikomo, lakini hutuma data kwa seva, inahitaji mtandao na inaunda latency.
kigezo
Kwenye kifaa
Wingu (API ya wingu)
Faragha
Data husalia kwenye kifaa, imara
Data huenda kwa seva, tahadhari inahitajika
kasi
Papo hapo, hakuna mtandao
Inategemea latency ya mtandao
nje ya mtandao
Inafanya kazi
Haifanyi kazi
Ukubwa wa mfano
Kidogo (rasilimali ya simu)
isiyo na kikomo
betri/joto
Madhara yenye matumizi makubwa
Seva ikiwa imepakiwa, kifaa kimerejeshwa
Gharama
Bure (chanzo cha kifaa)
Ada kwa matumizi
Sheria ya uamuzi: Chagua kwenye kifaa ikiwa data ya kibinafsi/nyeti inachakatwa, inahitaji kufanya kazi nje ya mtandao, au jibu la papo hapo ni muhimu. Ikiwa unahitaji mfano mkubwa sana, ugeuke kwenye wingu. Kitengo hiki kinalenga kwenye kifaa; Tutafunika AI ya wingu katika kitengo kinachofuata.
Kidokezo: Daima fanya kwenye kifaa kuwa chaguomsingi chako kwa kipengele kinachoshughulikia data nyeti (afya, bayometriki, eneo). Maneno "data haiondoki kwenye kifaa" ni muhimu sana kwa utiifu wa faragha na uaminifu wa mtumiaji, na hufanya tofauti kubwa katika lebo ya faragha ya duka.
Njia tatu: ML Kit, Core ML, TensorFlow Lite
ML Kit (Google) ndiyo njia rahisi zaidi ya kuanza: inatoa uwezo uliotengenezwa tayari kama vile utambuzi wa maandishi (OCR - kusoma maandishi kwenye picha), utambuzi wa nyuso, usomaji wa msimbopau, tafsiri katika mistari michache. Huna haja ya kufundisha mfano wako mwenyewe. Core ML (Apple) ni njia bora zaidi ya kuendesha mtindo wako mwenyewe au mfano uliofanywa tayari kwenye iOS; Inatumia maunzi ya Apple's Neural Engine (kichakataji mtandao wa neural bandia). TensorFlow Lite/LiteRT ni suluhisho la jukwaa mtambuka ambalo hukuruhusu kuendesha muundo wako uliofunzwa kwenye Android na iOS.
Mtiririko wa jumla wa ujumuishaji na AI huenda kama hii:
- Ufafanuzi wa talanta. Lengo wazi, kama vile "Nataka kusoma maandishi kwenye picha."
- Uchaguzi wa njia. Ikiwa kuna talanta iliyo tayari, ML Kit; Core ML/TF Lite ikiwa muundo maalum unapatikana.
- Umbizo la mfano. .mlmodel (Core ML), .tflite (TF Lite). Inaelezea hatua za mabadiliko ya AI.
- Nambari ya ujumuishaji. Inapakia kielelezo, kuchakata pembejeo, kutafsiri matokeo.
- Mtihani wa utendaji. Kasi, kumbukumbu, kipimo cha betri kwenye kifaa halisi.
Tahadhari: Hitilafu ya kawaida ya AI katika ujumuishaji wa muundo wa kifaa ni usindikaji wa awali wa ingizo - kubadilisha picha hadi ukubwa na umbizo la rangi ambalo modeli inatazamia. Ikiwa mfano unatarajia saizi 224x224 na unatoa 300x300, matokeo hayatakuwa na maana, lakini hutapokea ujumbe wa makosa. Thibitisha thamani za usindikaji wa awali kutoka kwa hati ya mfano.
Kujua mipaka ya mfano
Muundo wa kifaa hufanya maamuzi kulingana na data iliyofunzwa. Muundo wa utambuzi wa kitu uliofunzwa kwenye picha zilizopigwa mchana pekee hautakuwa sahihi kwenye picha za usiku. Mfano una alama ya kujiamini (kujiamini - jinsi mtindo una ujasiri kuhusu jibu lake, kwa kawaida kati ya 0 na 1); Ni hatari kuwasilisha matokeo ya kutojiamini kwa mtumiaji kama sahihi. Kwa mfano, programu ya skanning ya ngozi haipaswi kusema "dhahiri mbaya", lakini inapaswa kusema "utabiri wa mfano ni huu, tafadhali wasiliana na daktari". Matokeo ya mfano ni pendekezo, sio utambuzi.
kesi tatu ndogo
Kesi ya 1 - Kuongeza kasi kwa OCR. Programu ya kufuatilia gharama imeondoa mzigo wa kuweka risiti wewe mwenyewe kwa kutumia utambuzi wa maandishi wa ML Kit. Mtumiaji huchukua picha ya risiti, na kiasi na tarehe hujazwa moja kwa moja. Muda wa kuingia mwenyewe umepungua kutoka sekunde 40 hadi sekunde 8 kwa kila risiti. Timu kila wakati ilikuwa na mtumiaji kuthibitisha kiasi ambacho AI ilisoma; kwa sababu risiti zilizokunjamana zilikuwa na ukingo wa 6% wa makosa. Otomatiki + idhini ya kibinadamu ilikuwa usawa sahihi.
Kesi 2 - Hitilafu ya kuchakata mapema. Timu moja iliunganisha muundo wa utambuzi wa mtambo na TensorFlow Lite; Kwenye tester, matokeo yalikuwa nasibu. Shida ilikuwa kwamba msimbo uliotolewa na AI haukurekebisha picha kwa safu ya [0,1] mfano uliotarajiwa (thamani za pikseli ziliachwa kwa 0-255). Wakati urekebishaji ulipoongezwa, usahihi uliongezeka kutoka 30% hadi 89%. Somo: usindikaji wa awali ni kimya lakini unaua.
Kesi ya 3 - Faida ya faragha. Programu ya afya imegundua hitilafu kutokana na data ya mapigo ya moyo kwa kutumia muundo wa kifaa wa Core ML. Data haijawahi kwenda kwa seva. Chaguo hili liliwezesha programu kupokea maneno "haikusanyi data" katika lebo ya faragha ya Duka la Programu na kuongeza kasi yake ya upakuaji ikilinganishwa na washindani. Chaguo la kifaa lilikuwa la kimaadili na la faida kibiashara.
Mwongozo dhaifu / Mwongozo thabiti
Kidokezo dhaifu: "Ongeza utambuzi wa picha kwenye programu yangu."
Kidokezo chenye nguvu: "Ongeza kiasi na kipengele cha kusoma tarehe kwenye programu yangu ya Android/Kotlin. - Tumia Kitambulisho cha Maandishi cha Google ML Kit (kwenye kifaa, nje ya mtandao) - Piga picha kutoka kwa kamera au matunzio - Toa kiasi na tarehe kutoka kwa maandishi yanayotambulika kwa kutumia regex - Onyesha matokeo kwa mtumiaji ili aidhinishwe katika sehemu ya EDITABLE, utiririshaji wa ruhusa ya kamera na ushughulikie utayarishaji wa kiotomatiki. hali, eleza hatua."
Violezo vinavyoweza kunakiliwa
Kiolezo cha uteuzi wa njia: "Ninataka kutengeneza kipengele kifuatacho: [kipengele]. Je, kiwe kwenye kifaa au kwenye wingu? Linganisha kulingana na: faragha, hitaji la nje ya mtandao, ukubwa wa muundo, betri, gharama. Pendekeza zana inayofaa (ML Kit / Core ML / TF Lite) na uhalalishe."
Kiolezo cha muunganisho:"Andika [muundo/uwezo] muunganisho wa [muundo]:1) Upakiaji wa muundo2) Uchakataji wa awali (ukubwa unaotarajiwa na urekebishaji)3) Wito wa marejeleo4) Ufafanuzi wa matokeo na ukaguzi wa alama za uhakika5) Onyo kwa mtumiaji kuhusu matokeo ya kutokuwa na imani ya chiniNikumbushe kuthibitisha thamani za uchakataji wa hati kutoka kwa miundo."
Kiolezo cha alama ya kujiamini:"Zingatia alama ya kujiamini katika msimbo huu wa makisio:- Wasilisha matokeo 'halisi' chini ya kiwango (k.m. 0.6)- Onyesha 'hili ni kisio' kwa mtumiaji- Rejelea mtaalamu ikiwa eneo muhimu (afya, usalama)[code]"
Kiolezo cha uthibitishaji wa utendakazi: "Orodhesha vipimo ninavyohitaji kupima kwenye kifaa halisi cha muunganisho huu wa muundo wa kifaa: muda wa makisio, ongezeko la kumbukumbu, athari ya betri, joto. Eleza mbinu ya kipimo kwa kila moja."
Makosa ya kawaida
- Kuruka usindikaji wa awali au kuifanya vibaya. Ukubwa usio sahihi/urekebishaji huleta matokeo yasiyo sahihi kimyakimya.
- Kupuuza alama ya kujiamini. Kuwasilisha makadirio ya imani ya chini kuwa sahihi kutapotosha mtumiaji.
- Kujaribu mfano katika emulator. Kasi halisi ya kifaa na betri ni tofauti sana; Pima kila wakati kwenye vifaa halisi.
- Inatuma data nyeti kwa wingu bila lazima. Kuchagua wingu wakati kwenye kifaa kunawezekana ni hatari ya faragha.
- Kupuuza ukubwa wa mfano. Programu kubwa za muundo huongeza ukubwa wa upakuaji na huanguka kwenye maunzi ya chini.
- Kusahau kikomo cha mafunzo ya mfano. Mfano huo umekosea katika hali ambayo haioni (usiku, lugha tofauti); Fanya hili wazi kwa mtumiaji.
Kwa muhtasari
AI ya kwenye kifaa hutoa faragha, kasi na uendeshaji wa nje ya mtandao kwa kuweka data kwenye simu; Kikomo ni nguvu ya kifaa na ukubwa wa muundo. ML Kit inatumika kwa uwezo wa nje ya kisanduku, Core ML (iOS) na TensorFlow Lite (jukwaa-msingi) hutumiwa kwa miundo maalum. Muuaji wa kimya wa ushirikiano ni usindikaji usiofaa; Saizi ya ingizo na urekebishaji huthibitishwa kutoka kwa hati za muundo. Kila tokeo linakuja na alama ya kujiamini, na ubashiri wa kutojiamini haujawasilishwa kama ukweli kamili. Maamuzi hupimwa kwenye kifaa halisi, sio kiigaji.
Jukumu la maombi
Kwa kipengele cha "kusoma maandishi kutoka kwa picha" au "kusoma kwa msimbo pau", iulize AI ikiwa inapaswa kuwa kwenye kifaa au wingu kwa "Kiolezo cha uteuzi wa Njia", kisha uombe mchoro unaotegemea ML Kit na "kiolezo cha Muunganisho". Thibitisha kuwa hatua ya kuchakata mapema na uidhinishaji/uhariri wa mtumiaji upo kwenye msimbo. Weka kizingiti cha alama ya uaminifu na uandike utakachofanya ikiwa matokeo ni uaminifu mdogo.
orodha ya ukaguzi
- [ ] Nilifanya uamuzi kwenye kifaa/wingu kulingana na vigezo
- [ ] Nilichagua zana inayofaa ( ML Kit / Core ML / TF Lite)
- [ ] Nilithibitisha kipimo na urekebishaji wa awali kutoka kwa hati za muundo
- [ ] Niliangalia alama ya uaminifu na nikaonya kuhusu matokeo ya chini ya uaminifu
- [ ] Niliwasilisha matokeo kwa mtumiaji kwa idhini/hariri, sikuihifadhi kwa upofu
- [ ] Nilipima utendakazi kwenye kifaa halisi, si kiigaji