Добици:
- Способност да одлучите на уређају или у облаку и изаберете прави алат (МЛ Кит, Цоре МЛ, ТенсорФлов Лите) на основу приватности, потреба ван мреже, величине модела и критеријума батерије
- Способност да се спрече тихе грешке верификовањем претпроцесирања улаза (величина и нормализација) из документа модела у интеграцији модела
- Способност процене резултата поузданости и мерења резултата уз одобрење корисника и на стварном уређају, без представљања предвиђања ниске поузданости као апсолутне истине.
До сада смо користили АИ као помоћ за убрзање процеса развоја. Сада прелазимо на другу улогу АИ: таленат уграђен у апликацију. Модерни телефони имају моћ да покрећу АИ моделе као што су препознавање слика, превод текста, транскрипција говора итд. директно на уређају (на уређају — у сопственом процесору телефона без одласка на сервер). АИ на уређају; Нуди велике предности у односу на решења у облаку у смислу брзине, приватности и рада ван мреже. У овој јединици ћемо научити како да уградимо АИ у апликацију са иОС-овим Цоре МЛ, цросс-платформ ТенсорФлов Лите (сада познатом као ЛитеРТ) и Гоогле-овим готовим решењем МЛ Кит, и како да користимо АИ као помоћника у овој интеграцији.
На уређају или у облаку?
Ово је прва и најважнија архитектонска одлука. АИ на уређају не уклања податке са телефона — велика победа за приватност. Такође је тренутно и ради ван мреже јер нема кашњења мреже. Међутим, ограничено је процесорском снагом и меморијом уређаја; Веома велики модели (нпр. модели са огромним језиком) неће стати у телефон или ће испразнити батерију. Цлоуд АИ, с друге стране, нуди неограничену снагу, али шаље податке на сервер, захтева мрежу и ствара кашњење.
критеријум
На уређају
Цлоуд (Цлоуд АПИ)
Приватност
Подаци остају на уређају, јаки
Подаци иду на сервер, потребна је пажња
брзина
Тренутно, без мреже
Зависи од кашњења мреже
ван мреже
То ради
Не ради
Величина модела
Ограничено (телефонски ресурс)
неограничено
батерија / топлота
Ефекти са великом употребом
Сервер под оптерећењем, уређај опуштен
Цост
Бесплатно (извор уређаја)
Накнада по употреби
Правило одлуке: Одаберите на уређају ако се лични/осетљиви подаци обрађују, ако треба да раде ван мреже или је тренутни одговор неопходан. Ако вам је потребан веома велики модел, окрените се облаку. Ова јединица је фокусирана на уређај; У следећој јединици ћемо покрити АИ у облаку.
Савет: Увек поставите на уређај као подразумевани за функцију која обрађује осетљиве податке (здравље, биометрија, локација). Фраза „подаци не напуштају уређај“ је од непроцењиве вредности и за поштовање приватности и за поверење корисника, и чини велику разлику у ознаци приватности продавнице.
Три начина: МЛ Кит, Цоре МЛ, ТенсорФлов Лите
МЛ Кит (Гоогле) је најлакши начин за почетак: даје готове могућности као што су препознавање текста (ОЦР — читање текста на слици), препознавање лица, читање бар кода, превођење у неколико редова. Не морате да тренирате сопствени модел. Цоре МЛ (Аппле) је најефикаснији начин да покренете сопствени модел или готов модел на иОС-у; Користи Апплеов Неурал Енгине (процесор вештачке неуронске мреже) хардвер. ТенсорФлов Лите/ЛитеРТ је решење за више платформи које вам омогућава да покренете сопствени обучени модел и на Андроид-у и на иОС-у.
Општи ток интеграције са АИ иде овако:
- Дефиниција талената. Јасан циљ, као што је „Желим да прочитам текст на фотографији“.
- Избор путање. Ако постоји спреман таленат, МЛ Кит; Цоре МЛ/ТФ Лите ако је доступан специјални модел.
- Формат модела. .млмодел (Цоре МЛ), .тфлите (ТФ Лите). Објашњава кораке трансформације АИ.
- Интеграциони код. Учитавање модела, претходна обрада улаза, интерпретација излаза.
- Тест перформанси. Мерење брзине, меморије, батерије на стварном уређају.
Опрез: Најчешћа АИ грешка у интеграцији модела на уређају је претходна обрада улаза — претварање слике у формат величине и боје који модел очекује. Ако модел очекује 224к224 пиксела, а ви му дате 300к300, резултат ће бити бесмислен, али нећете добити поруку о грешци. Проверите вредности за претходну обраду из документа модела.
Познавање граница модела
Модел на уређају доноси одлуке на основу података на којима је обучен. Модел за препознавање објеката обучен само на фотографијама снимљеним током дана биће погрешан на ноћним сликама. Модел има оцену поверења (поуздање — колико је модел уверен у свој одговор, обично између 0 и 1); Опасно је приказивати резултате ниске поузданости кориснику као тачне. На пример, апликација за скенирање тачака коже не би требало да каже „дефинитивно бенигно“, већ треба да каже „предвиђање модела је ово, консултујте лекара“. Резултат модела је препорука, а не дијагноза.
три мини кофера
Случај 1 — Убрзање са ОЦР. Апликација за праћење трошкова уклонила је терет ручног уноса рачуна помоћу МЛ Кит препознавања текста. Корисник фотографише рачун, а износ и датум се аутоматски попуњавају. Време ручног уноса је смањено са 40 секунди на 8 секунди по рачуну. Тим је увек имао од корисника да потврди количину коју је АИ прочитао; јер су наборани рачуни имали маргину грешке од 6%. Аутоматизација + људско одобрење је била права равнотежа.
Случај 2 — Грешка у претходној обради. Један тим је интегрисао модел за препознавање биљака са ТенсорФлов Лите; На тестеру су резултати били насумични. Проблем је био у томе што код који је АИ генерисао није нормализовао слику на опсег [0,1] који је модел очекивао (вредности пиксела су остављене на 0-255). Када је додата нормализација, тачност се повећала са 30% на 89%. Поука: претходна обрада је тиха, али смртоносна.
Случај 3 — Добитак приватности. Здравствена апликација је открила аномалију из података о пулсу помоћу Цоре МЛ модела на уређају. Подаци никада нису отишли на сервер. Овај избор је омогућио апликацији да прими фразу „не прикупља податке“ у ознаци приватности Апп Сторе-а и повећао стопу преузимања у поређењу са конкурентима. Избор на уређају био је и етички и комерцијално исплатив.
Слаби промпт / Јаки промпт
Слаб упит: „Додај препознавање слика у моју апликацију.“
Снажан упит: „Додајте функцију читања количине и датума у моју Андроид/Котлин апликацију. – Користите препознавање текста Гоогле МЛ Кит (на уређају, ван мреже) – Узмите слику са камере или галерије – Извуците количину и датум из препознатог текста помоћу регуларног израза – Представите резултат кориснику на одобрење у пољу за аутоматско ЕДИТАБЛЕ и Едитовање руковања надоле. претходну обраду и ситуације грешке, објасните кораке."
Шаблони који се могу копирати
Шаблон за избор путање: „Желим да направим следећу функцију: [функција]. Да ли треба да буде на уређају или у облаку? Упоредите на основу: приватности, потребе ван мреже, величине модела, батерије, цене. Препоручите одговарајући алат (МЛ Кит / Цоре МЛ / ТФ Лите) и оправдајте.“
Интеграциони шаблон: „Напишите [модел/способност] интеграцију за [платформу]: 1) Учитавање модела2) Претходна обрада улаза (очекивана величина и нормализација)3) Позив закључивања4) Интерпретација излаза и провера резултата поузданости5) Упозорење кориснику о резултату ниске поузданости Подсетите ме да проверим документ вредности за претходну обраду из модела.“
Шаблон оцене поверења: „Узмите у обзир резултат поверења у овом коду закључка:- Прикажите резултат 'тачан' испод прага (нпр. 0,6)- Покажите белешку 'ово је процена' кориснику- Обратите се стручњаку ако је критична област (здравље, безбедност)[шифра]"
Шаблон за верификацију перформанси: „Наведите метрике које треба да измерим на стварном уређају за ову интеграцију модела на уређају: време закључивања, повећање меморије, утицај батерије, грејање. Реците метод мерења за сваки.“
Уобичајене грешке
- Прескакање предпроцесирања или га ради погрешно. Погрешна величина/нормализација тихо производи погрешан резултат.
- Игнорисање резултата самопоуздања. Представљање процене ниске поузданости као тачне довешће корисника у заблуду.
- Тестирање модела у емулатору. Стварна брзина уређаја и батерија се веома разликују; увек мерите на правом хардверу.
- Непотребно слање осетљивих података у облак. Одабир облака када је могуће на уређају представља ризик за приватност.
- Занемаривање величине модела. Апликације великих модела повећавају величину преузимања и падају на ниском хардверу.
- Заборављајући ограничење тренинга модела. Модел греши у стању где не види (ноћ, други језик); Објасните ово кориснику.
Укратко
АИ на уређају обезбеђује приватност, брзину и рад ван мреже тако што чува податке на телефону; Ограничење је снага уређаја и величина модела. МЛ Кит се користи за готове могућности, Цоре МЛ (иОС) и ТенсорФлов Лите (цросс-платформ) се користе за прилагођене моделе. Тихи убица интеграције је неправилна предобрада; Величина улаза и нормализација су верификовани из документације модела. Сваки резултат долази са оценом самопоуздања, а предвиђања са ниским поверењем се не представљају као апсолутна истина. Одлуке се мере на стварном уређају, а не на емулатору.
Задатак апликације
За функцију „читања текста са фотографије“ или „читања баркода“, питајте АИ да ли треба да буде на уређају или у облаку помоћу „Шаблона за избор путање“, а затим затражите нацрт заснован на МЛ комплету са „Шаблоном интеграције“. Проверите да ли су корак претходне обраде и ток одобрења/уређивања корисника присутни у коду. Поставите праг поверења и напишите шта ћете урадити ако је резултат ниско поверење.
контролна листа
- [ ] Донео сам одлуку на уређају/облаку на основу критеријума
- [ ] Изабрао сам прави алат (МЛ Кит / Цоре МЛ / ТФ Лите)
- [ ] Проверио сам препроцесну димензију и нормализацију из документације модела
- [ ] Проверио сам резултат поверења и упозорио на ниске резултате поверења
- [ ] Представио сам резултат кориснику уз одобрење/уређивање, нисам га слепо сачувао
- [ ] Мерио сам перформансе на стварном уређају, а не на емулатору