Mga nadagdag:
- Kakayahang magpasya sa device o cloud at piliin ang tamang tool (ML Kit, Core ML, TensorFlow Lite) batay sa privacy, offline na pangangailangan, laki ng modelo at pamantayan ng baterya
- Kakayahang maiwasan ang mga tahimik na error sa pamamagitan ng pag-verify ng input preprocessing (laki at normalisasyon) mula sa dokumento ng modelo sa pagsasama ng modelo
- Kakayahang suriin ang marka ng kumpiyansa at sukatin ang resulta nang may pag-apruba ng user at sa totoong device, nang hindi ipinapakita ang mga hula sa mababang kumpiyansa bilang ganap na katotohanan.
Sa ngayon, ginamit namin ang AI bilang tulong upang mapabilis ang proseso ng pag-unlad. Ngayon ay lumipat tayo sa pangalawang papel ng AI: ang talentong naka-embed sa application. Ang mga modernong telepono ay may kapangyarihang magpatakbo ng mga modelo ng AI gaya ng pagkilala sa imahe, pagsasalin ng teksto, transkripsyon ng pagsasalita, atbp. nang direkta sa device (sa-device — sa sariling processor ng telepono nang hindi pumupunta sa server). AI sa device; Nag-aalok ito ng mahusay na mga pakinabang sa mga solusyon sa ulap sa mga tuntunin ng bilis, privacy at offline na operasyon. Sa unit na ito, matututuhan natin kung paano i-embed ang AI sa application gamit ang Core ML ng iOS, cross-platform na TensorFlow Lite (kilala na ngayon bilang LiteRT) at ang handa na solusyon ng Google na ML Kit, at kung paano gamitin ang AI bilang katulong sa pagsasamang ito.
Nasa device o cloud?
Ito ang una at pinakamahalagang desisyon sa arkitektura. Ang on-device AI ay hindi nag-aalis ng data mula sa telepono — isang malaking panalo para sa privacy. Ito ay madalian din at gumagana offline dahil walang network latency. Gayunpaman, nalilimitahan ito ng kapangyarihan at memorya ng pagpoproseso ng device; Ang mga napakalaking modelo (hal. mga modelo ng higanteng dila) ay hindi kasya sa telepono o mauubos ang baterya. Ang Cloud AI, sa kabilang banda, ay nag-aalok ng walang limitasyong kapangyarihan, ngunit nagpapadala ng data sa server, nangangailangan ng network at lumilikha ng latency.
pamantayan
Nasa device
Cloud (cloud API)
Pagkapribado
Nananatili ang data sa device, malakas
Ang data ay napupunta sa server, kailangan ng pansin
bilis
Instant, walang network
Depende sa latency ng network
offline
Gumagana ito
Hindi gumagana
Laki ng modelo
Limitado (mapagkukunan ng telepono)
walang limitasyon
baterya/init
Mga epekto na may mabigat na paggamit
Naglo-load ang server, nakakarelaks ang device
Gastos
Libre (pinagmulan ng device)
Bayad sa bawat paggamit
Panuntunan sa pagpapasya: Pumili sa device kung pinoproseso ang personal/sensitibong data, kailangang gumana nang offline, o mahalaga ang agarang pagtugon. Kung kailangan mo ng napakalaking modelo, lumiko sa cloud. Nakatutok ang unit na ito sa device; Sasakupin namin ang cloud AI sa susunod na unit.
Tip: Palaging gawing default ang on-device para sa isang feature na humahawak ng sensitibong data (kalusugan, biometrics, lokasyon). Ang pariralang "hindi umaalis ang data sa device" ay napakahalaga para sa parehong pagsunod sa privacy at tiwala ng user, at gumagawa ng malaking pagkakaiba sa label ng privacy ng tindahan.
Tatlong paraan: ML Kit, Core ML, TensorFlow Lite
Ang ML Kit (Google) ay ang pinakamadaling paraan upang magsimula: nagbibigay ito ng mga handa na kakayahan tulad ng pagkilala sa teksto (OCR — pagbabasa ng teksto sa isang larawan), pagtukoy ng mukha, pagbabasa ng barcode, pagsasalin sa ilang linya. Hindi mo kailangang sanayin ang iyong sariling modelo. Ang Core ML (Apple) ay ang pinakamabisang paraan upang patakbuhin ang iyong sariling modelo o isang handa na modelo sa iOS; Gumagamit ito ng hardware ng Neural Engine (artificial neural network processor) ng Apple. Ang TensorFlow Lite/LiteRT ay isang cross-platform na solusyon na nagbibigay-daan sa iyong patakbuhin ang sarili mong sinanay na modelo sa parehong Android at iOS.
Ang pangkalahatang daloy ng pagsasama sa AI ay ganito:
- Depinisyon ng talento. Isang malinaw na layunin, gaya ng "Gusto kong basahin ang teksto sa larawan."
- Pagpili ng landas. Kung may handang talento, ML Kit; Core ML/TF Lite kung may available na espesyal na modelo.
- Format ng modelo. .mlmodel (Core ML), .tflite (TF Lite). Ipinapaliwanag ang mga hakbang sa pagbabagong-anyo ng AI.
- Code ng pagsasama. Nilo-load ang modelo, preprocessing ang input, interpreting ang output.
- Pagsubok sa pagganap. Bilis, memorya, pagsukat ng baterya sa totoong device.
Babala: Ang pinakakaraniwang pagkakamali ng AI sa pagsasama ng modelo sa device ay ang input preprocessing — pag-convert ng imahe sa laki at format ng kulay na inaasahan ng modelo. Kung inaasahan ng modelo ang 224x224 pixels at bibigyan mo ito ng 300x300, magiging walang kabuluhan ang resulta, ngunit hindi ka makakatanggap ng mensahe ng error. I-verify ang mga halaga ng preprocessing mula sa dokumento ng modelo.
Alam ang mga limitasyon ng modelo
Gumagawa ng mga desisyon ang isang on-device na modelo batay sa data kung saan ito pinagsanayan. Ang isang object recognition model na sinanay lamang sa mga larawang kinunan sa araw ay magiging mali sa mga larawan sa gabi. Ang modelo ay may marka ng kumpiyansa (confidence — gaano katiyak ang modelo sa sagot nito, kadalasan sa pagitan ng 0 at 1); Mapanganib na ipakita ang mga resulta ng mababang kumpiyansa sa gumagamit bilang tumpak. Halimbawa, hindi dapat sabihin ng isang application sa pag-scan ng skin spot na "talagang benign", ngunit dapat sabihing "ito ang hula ng modelo, mangyaring kumonsulta sa isang manggagamot." Ang resulta ng modelo ay isang rekomendasyon, hindi isang diagnosis.
tatlong mini case
Case 1 — Pagpapabilis gamit ang OCR. Inalis ng isang app sa pagsubaybay sa gastos ang pasanin ng manu-manong pagpasok ng mga resibo gamit ang pagkilala sa teksto ng ML Kit. Ang gumagamit ay kumukuha ng larawan ng resibo, at ang halaga at petsa ay awtomatikong napunan. Bumaba ang manu-manong oras ng pagpasok mula 40 segundo hanggang 8 segundo bawat resibo. Palaging pinapatunayan ng team sa user ang halaga ng binasa ng AI; dahil ang mga kulubot na resibo ay may 6% na margin ng error. Ang automation + pag-apruba ng tao ay ang tamang balanse.
Case 2 — Preprocessing error. Isang koponan ang nagsama ng modelo ng pagkilala ng halaman sa TensorFlow Lite; Sa tester, random ang mga resulta. Ang problema ay ang code na nabuo ng AI ay hindi na-normalize ang imahe sa hanay ng [0,1] na inaasahan ng modelo (naiwan ang mga halaga ng pixel sa 0-255). Kapag idinagdag ang normalisasyon, tumaas ang katumpakan mula 30% hanggang 89%. Aralin: ang preprocessing ay tahimik ngunit nakamamatay.
Kaso 3 — Pagkamit ng privacy. May nakitang anomalya ang isang application sa kalusugan mula sa data ng rate ng puso gamit ang on-device na Core ML model. Ang data ay hindi kailanman napunta sa server. Ang pagpipiliang ito ay nagbigay-daan sa application na makatanggap ng pariralang "hindi nangongolekta ng data" sa label ng privacy ng App Store at pinataas ang rate ng pag-download nito kumpara sa mga kakumpitensya. Ang pagpili sa device ay parehong etikal at komersyal na kumikita.
Mahinang prompt / Malakas na prompt
Mahinang prompt: "Magdagdag ng pagkilala sa larawan sa aking app."
Napakahusay na prompt: "Idagdag ang feature sa pagbabasa ng halaga at petsa sa aking Android/Kotlin application. - Gamitin ang Google ML Kit Text Recognition (on-device, offline) - Kumuha ng larawan mula sa camera o gallery - I-extract ang halaga at petsa mula sa kinikilalang text gamit ang regex - Ipakita ang resulta sa user para sa pag-apruba sa EDITABLE na field, auto-save - Pangasiwaan ang daloy ng pahintulot sa camera at ipaliwanag ang mga hakbang bago ang pagtanggi at ipaliwanag ang mga hakbang.
Mga nakopyang template
Template ng pagpili ng landas: "Gusto kong gawin ang sumusunod na feature: [feature]. Dapat ba itong nasa device o cloud? Ihambing batay sa: privacy, offline na pangangailangan, laki ng modelo, baterya, gastos. Irekomenda ang naaangkop na tool (ML Kit / Core ML / TF Lite) at bigyang-katwiran."
Template ng pagsasama:"Isulat ang pagsasama ng [modelo/kakayahan] para sa [platform]:1) Paglo-load ng modelo2) Preprocessing ng input (inaasahang laki at normalisasyon)3) Inference call4) Interpretasyon ng output at pagsuri sa marka ng kumpiyansa5) Babala sa user sa resulta ng mababang kumpiyansaIpaalala sa akin na i-verify ang preprocessing values mula sa dokumentasyon ng modelo."
Template ng marka ng kumpiyansa:"Isaalang-alang ang marka ng kumpiyansa sa inference code na ito:- Ipakita ang resultang 'eksakto' sa ibaba ng threshold (hal. 0.6)- Ipakita ang 'ito ay isang pagtatantya' na tala sa user- Sumangguni sa eksperto kung kritikal na lugar (kalusugan, kaligtasan)[code]"
Template ng pag-verify ng performance: "Ilista ang mga sukatan na kailangan kong sukatin sa aktwal na device para sa pagsasama ng modelong ito sa device: oras ng inference, pagtaas ng memory, epekto ng baterya, pag-init. Sabihin ang paraan ng pagsukat para sa bawat isa."
Mga karaniwang pagkakamali
- Nilaktawan ang preprocessing o ginagawa ito nang hindi tama. Ang maling laki/normalisasyon ay tahimik na gumagawa ng maling resulta.
- Hindi pinapansin ang marka ng kumpiyansa. Ang pagtatanghal ng mababang-kumpiyansa na pagtatantya bilang tumpak ay maliligaw ang user.
- Pagsubok sa modelo sa emulator. Ang aktwal na bilis ng device at baterya ay ibang-iba; laging sukatin sa totoong hardware.
- Pagpapadala ng sensitibong data sa cloud nang hindi kinakailangan. Ang pagpili sa cloud kapag posible ang on-device ay isang panganib sa privacy.
- Hindi pinapansin ang laki ng modelo. Ang malalaking modelong app ay nagpapalaki ng laki ng pag-download at nag-crash sa mababang hardware.
- Nakalimutan ang limitasyon sa pagsasanay ng modelo. Ang modelo ay nagkakamali sa kondisyon kung saan hindi ito nakikita (gabi, ibang wika); Gawing malinaw ito sa gumagamit.
Sa buod
Ang on-device AI ay nagbibigay ng privacy, bilis at offline na operasyon sa pamamagitan ng pagpapanatili ng data sa telepono; Ang limitasyon ay ang kapangyarihan ng device at laki ng modelo. Ginagamit ang ML Kit para sa mga out-of-the-box na kakayahan, ang Core ML (iOS) at TensorFlow Lite (cross-platform) ay ginagamit para sa mga custom na modelo. Ang silent killer ng integration ay hindi tamang preprocessing; Ang laki ng input at normalisasyon ay na-verify mula sa dokumentasyon ng modelo. Ang bawat resulta ay may kasamang marka ng kumpiyansa, at ang mga hula sa mababang kumpiyansa ay hindi ipinakita bilang ganap na katotohanan. Ang mga desisyon ay sinusukat sa totoong device, hindi sa emulator.
Gawain ng aplikasyon
Para sa feature na "pagbabasa ng text mula sa larawan" o "pagbabasa ng barcode", tanungin ang AI kung dapat itong nasa device o cloud na may "Path selection template", pagkatapos ay humingi ng blueprint na nakabatay sa ML Kit na may "Template ng Integrasyon." I-verify na nasa code ang hakbang sa paunang pagproseso at pag-apruba/pag-edit ng user. Magtakda ng threshold ng marka ng tiwala at isulat kung ano ang iyong gagawin kung ang resulta ay mababa ang tiwala.
checklist
- [ ] Ginawa ko ang on-device/cloud na desisyon batay sa pamantayan
- [ ] Pinili ko ang tamang tool (ML Kit / Core ML / TF Lite)
- [ ] Na-verify ko ang preprocessing na dimensyon at normalisasyon mula sa dokumentasyon ng modelo
- [ ] Sinuri ko ang marka ng tiwala at nagbabala tungkol sa mababang resulta ng tiwala
- [ ] Ipinakita ko ang resulta sa user na may pag-apruba/pag-edit, hindi ko ito bulag na nai-save
- [ ] Sinukat ko ang performance sa totoong device, hindi sa emulator