одиниці
1. Вступ до ШІ в мобільній розробці: ролі, межі, автентифікація та безпека 2. Генерація мобільного коду за допомогою штучного інтелекту: Kotlin, Swift і кросплатформна розробка 3. Дизайн інтерфейсу та генерація коду інтерфейсу за допомогою штучного інтелекту 4. Штучний інтелект на пристрої: Core ML, TensorFlow Lite та ML Kit 5. Інтеграція Cloud AI і LLM API: чат, потік і безпека 6. Генерація тестів за допомогою штучного інтелекту: Тести пристроїв, інтерфейсів та автоматизації 7. Налагодження та аналіз збоїв за допомогою штучного інтелекту 8. Оптимізація продуктивності та батареї: швидкі та ефективні програми зі штучним інтелектом 9. Конфіденційність, дозволи та безпечне використання 10. Випуск магазину: App Store, Google Play і сумісність зі штучним інтелектом 11. Наскрізний проект, відповідальне використання штучного інтелекту та дорожня карта в професії
одиниця 4 / 11

Штучний інтелект на пристрої: Core ML, TensorFlow Lite та ML Kit

Прибуток:

  • Можливість вибрати на пристрої чи в хмарі та вибрати правильний інструмент (ML Kit, Core ML, TensorFlow Lite) на основі конфіденційності, потреби в автономному режимі, розміру моделі та критеріїв акумулятора
  • Можливість запобігання тихим помилкам шляхом перевірки попередньої обробки вхідних даних (розмір і нормалізація) з документа моделі в інтеграції моделі
  • Можливість оцінити показник достовірності та виміряти результат зі схвалення користувача та на реальному пристрої, не представляючи прогнози з низькою достовірністю як абсолютну істину.

Досі ми використовували ШІ як допоміжний засіб для прискорення процесу розробки. Тепер ми переходимо до другої ролі ШІ: таланту, вбудованого в додаток. Сучасні телефони мають можливість запускати такі моделі штучного інтелекту, як розпізнавання зображень, переклад тексту, транскрипція мовлення тощо безпосередньо на пристрої (на пристрої — у власному процесорі телефону без переходу на сервер). AI на пристрої; Він пропонує великі переваги перед хмарними рішеннями щодо швидкості, конфіденційності та роботи в автономному режимі. У цьому розділі ми навчимося вбудовувати штучний інтелект у програму за допомогою iOS Core ML, кросплатформенний TensorFlow Lite (тепер відомий як LiteRT) і готове рішення Google ML Kit, а також як використовувати штучний інтелект як помічника в цій інтеграції.

На пристрої чи в хмарі?

Це перше і найважливіше архітектурне рішення. Штучний інтелект на пристрої не видаляє дані з телефону — величезна перевага для конфіденційності. Він також миттєвий і працює в автономному режимі, оскільки немає затримки мережі. Однак це обмежено обчислювальною потужністю та пам’яттю пристрою; Дуже великі моделі (наприклад, моделі з гігантським язиком) не помістяться в телефон або розряджатимуть акумулятор. Хмарний AI, з іншого боку, пропонує необмежену потужність, але надсилає дані на сервер, потребує мережі та створює затримку.

критерій

На пристрої

Хмара (хмарний API)

Конфіденційність

Дані залишаються на пристрої, міцний

Дані надходять на сервер, потрібна увага

швидкість

Миттєво, без мережі

Залежить від затримки мережі

офлайн

Це працює

не працює

Розмір моделі

Обмежено (телефонний ресурс)

необмежений

акумулятор/обігрів

Ефекти при інтенсивному використанні

Сервер під навантаженням, пристрій розслаблено

Вартість

Безкоштовно (джерело пристрою)

Плата за використання

Правило прийняття рішень: виберіть на пристрої, якщо обробляються особисті/конфіденційні дані, потрібна робота в автономному режимі або потрібна миттєва відповідь. Якщо вам потрібна дуже велика модель, зверніться до хмари. Цей пристрій орієнтований на пристрій; У наступному розділі ми розглянемо хмарний штучний інтелект.

Порада: завжди встановлюйте функцію на пристрої за умовчанням для функції, яка обробляє конфіденційні дані (здоров’я, біометрія, місцезнаходження). Фраза «дані не залишають пристрій» має неоціненне значення як для дотримання конфіденційності, так і для довіри користувачів, і має велике значення в етикетці конфіденційності магазину.

Три способи: ML Kit, Core ML, TensorFlow Lite

ML Kit (Google) — це найпростіший спосіб почати: він надає готові можливості, такі як розпізнавання тексту (OCR — читання тексту в зображенні), розпізнавання облич, зчитування штрих-коду, переклад у кілька рядків. Вам не потрібно навчати власну модель. Core ML (Apple) — найефективніший спосіб запустити власну або готову модель на iOS; Він використовує апаратне забезпечення Apple Neural Engine (процесор штучної нейронної мережі). TensorFlow Lite/LiteRT — це кросплатформне рішення, яке дозволяє запускати власну навчену модель як на Android, так і на iOS.

Загальний процес інтеграції з ШІ виглядає так:

  1. Визначення таланту. Чітка мета, наприклад «Я хочу прочитати текст на фото».
  2. Вибір шляху. Якщо є готовий талант, ML Kit; Core ML/TF Lite, якщо доступна спеціальна модель.
  3. Формат моделі. .mlmodel (Core ML), .tflite (TF Lite). Пояснює етапи трансформації AI.
  4. Інтеграційний код. Завантаження моделі, попередня обробка вхідних даних, інтерпретація вихідних даних.
  5. Тест продуктивності. Вимірювання швидкості, пам'яті, батареї на реальному пристрої.
Застереження: найпоширенішою помилкою штучного інтелекту під час інтеграції моделі на пристрої є попередня обробка вхідних даних — перетворення зображення у формат розміру та кольору, який очікує модель. Якщо модель очікує 224x224 пікселів, а ви даєте їй 300x300, результат буде безглуздим, але ви не отримаєте повідомлення про помилку. Перевірте значення попередньої обробки з документа моделі.

Знання меж моделі

Модель на пристрої приймає рішення на основі даних, на яких вона навчалася. Модель розпізнавання об’єктів, навчена лише на фотографіях, зроблених удень, буде неправильною на нічних зображеннях. Модель має оцінку впевненості (впевненість — наскільки впевнена модель щодо своєї відповіді, зазвичай між 0 і 1); Небезпечно представляти користувачеві результати з низькою достовірністю як точні. Наприклад, у програмі сканування плям шкіри не має бути напис «безумовно доброякісне», а має бути написано «прогноз моделі такий, будь ласка, зверніться до лікаря». Результат моделі є рекомендацією, а не діагнозом.

три міні-чохла

Випадок 1 — Прискорення за допомогою OCR. Додаток для відстеження витрат усунув тягар ручного введення квитанцій завдяки розпізнаванню тексту ML Kit. Користувач фотографує квитанцію, сума та дата заповнюються автоматично. Час ручного введення зменшено з 40 секунд до 8 секунд на квитанцію. Команда завжди змушувала користувача підтверджувати кількість, яку прочитав AI; оскільки пом’ята квитанція мала похибку 6%. Автоматизація + схвалення людини були правильним балансом.

Випадок 2 — помилка попередньої обробки. Одна команда інтегрувала модель розпізнавання рослин із TensorFlow Lite; На тестері результати були випадковими. Проблема полягала в тому, що код, створений штучним інтелектом, не нормалізував зображення до діапазону [0,1], який очікувала модель (значення пікселів залишили на рівні 0-255). Після додавання нормалізації точність зросла з 30% до 89%. Урок: попередня обробка тиха, але смертельна.

Випадок 3 — виграш конфіденційності. Програма охорони здоров’я виявила аномалію на основі даних про частоту серцевих скорочень за допомогою моделі Core ML на пристрої. Дані так і не надійшли на сервер. Цей вибір дозволив програмі отримати фразу «не збирає дані» на мітці конфіденційності App Store і збільшив швидкість її завантаження порівняно з конкурентами. Вибір на пристрої був як етичним, так і комерційно вигідним.

Слабка підказка / Сильна підказка

Слабка підказка: «Додати розпізнавання зображень до моєї програми».

Потужна підказка: «Додайте функцію зчитування суми та дати до моєї програми Android/Kotlin. - Використовуйте Google ML Kit Text Recognition (на пристрої, офлайн) - Візьміть зображення з камери або галереї - Витягніть суму та дату з розпізнаного тексту за допомогою регулярного виразу - Подайте результат користувачеві для затвердження в полі РЕДАГУВАННЯ, автозбережіть - Керуйте потоком дозволів камери та відхиленням. Запишіть попередня обробка та помилкові ситуації, поясніть кроки».

Шаблони, які можна копіювати

Шаблон вибору шляху: «Я хочу створити таку функцію: [функція]. Це має бути на пристрої чи в хмарі? Порівняйте на основі: конфіденційності, потреби в автономному режимі, розміру моделі, акумулятора, вартості. Порекомендуйте відповідний інструмент (ML Kit / Core ML / TF Lite) і обґрунтуйте».

Шаблон інтеграції: «Написати [модель/можливість] інтеграцію для [платформи]: 1) Завантаження моделі 2) Попередня обробка вхідних даних (очікуваний розмір і нормалізація) 3) Виклик висновку 4) Інтерпретація вихідних даних і перевірка оцінки достовірності 5) Попередження для користувача про низьку достовірність результату Нагадати мені перевірити значення попередньої обробки з документації моделі.»

Шаблон оцінки достовірності: «Враховуйте оцінку достовірності в цьому коді висновку:- Поточний результат нижче порогового значення (наприклад, 0,6)- Показуйте примітку «це приблизно» для користувача- Зверніться до експерта, якщо критична область (здоров’я, безпека) [код]»

Шаблон перевірки продуктивності: «Перелічіть показники, які мені потрібно виміряти на фактичному пристрої для цієї інтеграції моделі на пристрої: час визначення, збільшення пам’яті, вплив батареї, нагрівання. Укажіть метод вимірювання для кожного».

Поширені помилки

  • Пропуск попередньої обробки або виконання її неправильно. Неправильний розмір/нормалізація мовчки дає неправильний результат.
  • Ігнорування оцінки довіри. Представлення оцінки з низьким рівнем довіри як точної введе користувача в оману.
  • Тестування моделі в емуляторі. Фактична швидкість пристрою та акумулятор дуже відрізняються; завжди вимірювати на реальному обладнанні.
  • Надсилання конфіденційних даних у хмару без потреби. Вибір хмари, коли це можливо на пристрої, є ризиком для конфіденційності.
  • Ігнорування розміру моделі. Додатки великої моделі збільшують розмір завантаження та виходять з ладу на низькому обладнанні.
  • Forgetting the training limit of the model. Модель помиляється в умовах, коли вона не бачить (ніч, інша мова); Поясніть це користувачеві.

Підсумовуючи

Штучний інтелект на пристрої забезпечує конфіденційність, швидкість і роботу в автономному режимі, зберігаючи дані на телефоні; Обмеженням є потужність пристрою та розмір моделі. ML Kit використовується для готових можливостей, Core ML (iOS) і TensorFlow Lite (кросплатформенний) використовуються для спеціальних моделей. Тихим вбивцею інтеграції є неправильна попередня обробка; Вхідний розмір і нормалізація перевіряються з документації моделі. Кожен результат має оцінку достовірності, і прогнози з низькою достовірністю не подаються як абсолютна істина. Рішення вимірюються на реальному пристрої, а не на емуляторі.

Аплікаційне завдання

Для функції «читання тексту з фотографії» або «читання штрих-коду» запитайте ШІ, чи має вона бути на пристрої чи в хмарі за допомогою «Шаблону вибору шляху», а потім попросіть креслення на основі ML Kit за допомогою «Шаблону інтеграції». Переконайтеся, що етап попередньої обробки та процес затвердження/редагування користувачем присутні в коді. Встановіть поріг довіри та напишіть, що ви будете робити, якщо результат буде низьким.

контрольний список

  • [ ] Я прийняв рішення про використання пристрою/хмари на основі критеріїв
  • [ ] Я вибрав правильний інструмент (ML Kit / Core ML / TF Lite)
  • [ ] Я перевірив розмір попередньої обробки та нормалізацію з документації моделі
  • [ ] Я перевірив оцінку довіри та попередив про низькі результати довіри
  • [ ] Я представив результат користувачеві зі схваленням/редагуванням, я не зберіг його наосліп
  • [ ] Я вимірював продуктивність на реальному пристрої, а не на емуляторі