Машинне навчання в мобільній розробці: перспективи та децентралізація

Доброго ранку, Хабре!

Нам нема чого додати до заголовка статті в нашому сповіщенні — тому всі відразу запрошуються під кат. Читаємо та коментуємо.

Машинне навчання в мобільній розробці: перспективи та децентралізація

Фахівці з розробки для мобільних пристроїв лише виграють від революційних змін, які вже сьогодні можуть запропонувати машинне навчання на пристроях. Справа в тому, наскільки ця технологія посилює будь-які мобільні програми, а саме, забезпечує новий рівень зручності для користувачів і дозволяє активно задіяти потужні можливості, наприклад, надавати максимально точні рекомендації, спираючись на геолокаціюабо миттєво виявляти хвороби у рослин.

Така стрімка розробка мобільного машинного навчання – це відповідь на низку поширених проблем, з якими ми встигли намучитися у класичному машинному навчанні. Насправді все очевидно. У перспективі мобільні програми вимагатимуть прискорення обробки даних та подальшого скорочення затримок.

Можливо, ви вже замислювалися, чому мобільні програми, засновані на ІІ, не можуть просто запускати логічний висновок у хмарі. По-перше, хмарні технології залежать від центральних вузлів (уявіть собі величезний датацентр, де зосереджені як великі сховища даних, і великі обчислювальні потужності). При такому централізованому підході неможливо справлятися зі швидкостями обробки, достатніми для створення плавних мобільних взаємодій, що базуються на машинному навчанні. Дані повинні оброблятись централізовано, після чого розсилатися назад на пристрої. Такий підхід потребує часу, грошей та не гарантує приватності самих даних.

Отже, окресливши ці основні переваги мобільного машинного навчання, давайте докладніше досліджуємо, чому революція, що розгортається на наших очах, в машинному навчанні повинна бути цікава особисто вам як мобільному розробнику.

Скорочення затримки

Розробники мобільних додатків знають, що підвищена затримка може стати для програми чорною міткою, незалежно від того, наскільки хороші її можливості, чи наскільки респектабельний бренд. Раніше на пристроях з Android спостерігалися серйозні затримки у багатьох відео-додатках, через що перегляд відео та аудіо часто виходив розсинхронізований. Аналогічно, клієнт соцмережі з високою затримкою може перетворити спілкування на справжнє катування для користувача.

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

Як було зазначено вище, хмарна обробка часом буває повільною, а розробнику потрібно, щоб затримка прагнула нуля – тільки в такому разі можливості машинного навчання в мобільному додатку працюватимуть як слід. Машинне навчання на пристроях відкриває такі можливості обробки даних, що дозволяє звести затримку практично до нуля.

Виробники смартфонів та гіганти технічного ринку поступово починають це усвідомлювати. Флагманом у цій галузі довгий час залишалася Apple, яка розробляла все більш досконалі чіпи для смартфонів за допомогою своєї системи Bionic, в якій впроваджено нейронний двигун Neural Engine, що допомагає ганяти нейронні мережі прямо на пристрої, досягаючи при цьому неймовірних швидкостей.

Apple також продовжує крок за кроком розробляти Core ML, свою платформу машинного навчання мобільних додатків; у бібліотеці TensorFlow Lite додано підтримку GPUs; Google продовжує додавати завантажені фічі до своєї платформи машинного навчання ML Kit. За допомогою саме цих технологій можна розробляти програми, що дозволяють блискавично обробляти дані, виключати будь-які затримки та скорочувати кількість помилок.

Така комбінація точності та безшовних користувацьких взаємодій – основний показник, який повинні враховувати розробники мобільних додатків, впроваджуючи у них можливості машинного навчання. А щоб гарантувати такий функціонал, потрібно взяти на озброєння машинне навчання на пристроях.

Покращена безпека та приватність

Ще одна величезна вигода граничних обчислень (edge ​​computing), яку неможливо переоцінити полягає в тому, наскільки вони покращують безпеку та приватність користувачів. Гарантія безпеки та приватності даних у додатку – невід'ємна частина завдань розробника, особливо з урахуванням необхідності виконання GDPR (Загального Регламенту із Захисту Даних), нових європейських законів, які, безперечно, позначаться і на практиці мобільної розробки.

Оскільки дані не потрібно відправляти для обробки на північ або в хмару, у кіберзлочинців менше можливостей для використання будь-яких уразливостей, що виникали на етапі такої передачі; тому недоторканність даних зберігається. Так розробникам мобільних додатків стає простіше дотримуватись регламентації GDPR з безпеки даних.

Машинне навчання на пристроях також забезпечує децентралізацію багато в чому за тим же принципом, що і блокчейн. Іншими словами, хакерам складніше покласти DDoS-атакою пов'язану мережу прихованих пристроїв, ніж провести таку ж атаку на центральний сервер. Ця технологія також може бути корисною під час роботи з дронами і контролю за дотриманням законодавства.

Вищезгадані смартфонні чіпи від Apple також сприяють підвищенню безпеки та приватності користувача – так, вони можуть стати основою Face ID. Ця можливість iPhone працює на основі нейронної мережі, розгорнутої на пристроях і збирає дані про всі різноманітні уявлення користувача. Таким чином, технологія є виключно точним і надійним методом ідентифікації.

Таке і новіше обладнання з підтримкою ІІ прокладе шлях до безпечніших взаємодій користувача зі смартфоном. Фактично, розробники отримують додатковий рівень шифрування для захисту даних користувача.

Не потрібне підключення до Інтернету

Крім проблем із затримкою, відправлення даних у хмару для обробки та отримання висновків вимагає хорошого з'єднання з Інтернетом. Найчастіше, особливо у розвинених країнах, скаржитися на Інтернет не доводиться. Але що робити в районах, де зв'язок гірший? Коли машинне навчання реалізовано на пристрої, нейронні мережі живуть на телефонах самі по собі. Таким чином, розробник може розгорнути технологію на будь-якому пристрої та будь-де, незалежно від якості з'єднання. Плюс такий підхід веде до демократизації ML-можливостей.

Охорона здоров'я – одна з галузей, які можуть виграти від машинного навчання на пристроях, оскільки розробники зможуть створювати інструменти, що перевіряють життєво важливі показники, або навіть забезпечувати робохірургію без будь-якого підключення до Інтернету. Дана технологія також стане в нагоді студентам, які бажають звернутися до лекційних матеріалів, не маючи підключення до Інтернету – наприклад, будучи в транспортному тунелі.

Зрештою, машинне навчання на пристроях надасть розробникам інструменти для створення інструментів, які будуть корисні для користувачів з усього світу, незалежно від ситуації з Інтернет-з'єднанням. Враховуючи, що потужність нових смартфонів буде, як мінімум, не нижчою, ніж у нинішніх, користувачі забудуть про проблеми із затримками, коли працюватимуть із додатком в офлайні.

Зменшення витрат для вашого бізнесу

Машинне навчання на пристроях також покликане зберегти вам цілий стан - адже з ним вам не доведеться платити зовнішнім підрядникам, які реалізовували б і підтримували багато рішень. Як вже згадувалося вище, у багатьох випадках ви зможете обійтися без хмари, і без Інтернету.

GPU та ІІ-специфічні хмарні сервіси – ось найдорожчі рішення, які можна придбати. При запуску моделей на пристрої вам не доведеться оплачувати всі ці кластери завдяки тому, що сьогодні з'являються все більш досконалі смартфони, оснащені нейроморфними процесорами (NPU).

Уникаючи кошмарної великовагової обробки даних, що відбувається між пристроєм та хмарою, ви колосально економите; тому впроваджувати рішення з машинним навчанням пристроях дуже вигідно. До того ж, ви заощаджуєте і тому, що у вашому додатку значно знижуються вимоги до ширини смуги передачі даних.

Самі інженери також заощаджують на процесі розробки, оскільки не доводиться збирати і підтримувати додаткову хмарну інфраструктуру. Навпаки, вдається досягти більшого силами меншої команди. Таким чином, планування людських ресурсів у командах розробників виходить набагато ефективнішим.

Висновок

Безперечно, у 2010-ті хмари стали справжнім благом, яке спростило обробку даних. Але високі технології розвиваються експоненційно, і машинне навчання на пристроях незабаром може стати де-факто стандартом не лише в галузі мобільної розробки, а й у сфері Інтернету Речів.

Завдяки скороченню затримки, покращеної безпеки, офлайновим можливостям та здешевленню загалом, не дивно, що найбільші гравці мобільної розробки роблять великі ставки на цю технологію. Розробники мобільних програм також повинні до неї придивитися, щоб йти в ногу з часом.

Джерело: habr.com

Додати коментар або відгук