Зміна парадигми в ШІ та машинному навчанні

Federated являє собою відрив від традиційного способу збору даних і навчання моделей машинного навчання.

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

Що таке федеративне навчання?

Джерело: Вікіпедія

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

Читайте також: Пояснення найкращих моделей машинного навчання

Як працює федеративне навчання?

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

  [Explained] Як реалізувати Switch-Case у Python

Типовий навчальний раунд

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

Потім клієнти отримують копії базової моделі для навчання. Такими клієнтами можуть бути мобільні пристрої, персональні комп’ютери або сервери. Вони навчають модель на своїх локальних даних, таким чином уникаючи обміну конфіденційними даними з серверами.

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

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

Ось а корисний посібник про те, як працює федеративне навчання від команди федеративного навчання Google AI.

  Чи можете ви вимкнути екстрені виклики 911 на iPhone?

Централізований проти федеративного чи гетерогенного

У цій установці є центральний сервер, який відповідає за контроль навчання. Цей тип налаштування відомий як централізоване федеративне навчання.

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

Інша установка називається гетерогенним навчанням. У цьому налаштуванні клієнти не обов’язково мають однакову архітектуру глобальної моделі.

Переваги федеративного навчання

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

Недоліки федеративного навчання

  • Ця модель залежить від участі багатьох різних вузлів. Деякі з них не контролюються розробником. Тому їх наявність не гарантується. Це робить навчальне обладнання ненадійним.
  • Клієнти, на яких навчаються моделі, не зовсім потужні графічні процесори. Натомість це звичайні пристрої, наприклад телефони. Ці пристрої, навіть у сукупності, можуть бути недостатньо потужними порівняно з кластерами GPU.
  • Інтегроване навчання також передбачає, що всі клієнтські вузли заслуговують довіри та працюють на загальне благо. Однак деякі можуть ні, і вони можуть видавати погані оновлення, щоб викликати дрейф моделі.
  Виправлення проблем із збереженими даними Netflix

Застосування інтегрованого навчання

Federated Learning дозволяє навчатися, зберігаючи конфіденційність. Це корисно в багатьох ситуаціях, наприклад:

  • Передбачення наступного слова на клавіатурі смартфона.
  • Пристрої IoT, які можуть тренувати моделі локально відповідно до конкретних вимог ситуації, в якій вони знаходяться.
  • Фармацевтика та галузь охорони здоров’я.
  • Оборонна промисловість також виграє від моделей навчання без обміну конфіденційними даними.

Структури для інтегрованого навчання

Існує багато структур для реалізації шаблонів інтегрованого навчання. Деякі з найкращих включають NVFlare, FATE, Flower і PySft. Прочитайте цей посібник для детального порівняння різних фреймворків, які ви можете використовувати.

Висновок

Ця стаття була введенням у Federated Learning, як воно працює, а також переваги та недоліки його впровадження. Крім того, я також розглянув популярні програми та фреймворки, які використовуються для впровадження федеративного навчання у виробництво.

Далі прочитайте статтю про найкращі платформи MLOps для навчання моделей машинного навчання.