O schimbare de paradigmă în AI și învățare automată

Federated reprezintă o pauză de la modul tradițional de a culege date și de a antrena modele de învățare automată.

Cu învățarea federată, dezvoltarea învățării automate beneficiază de o formare mai ieftină care respectă confidențialitatea datelor. Acest articol ghidează ce este învățarea federată, cum funcționează, aplicațiile și cadrele.

Ce este învățarea federată?

Sursă: Wikipedia

Învățarea federată este o schimbare în modul în care sunt antrenate modelele de învățare automată. În majoritatea modelelor de învățare automată, datele sunt adunate într-un depozit central de la mai mulți clienți. Din acest depozit central, modelele de învățare automată sunt antrenate și apoi utilizate pentru a face predicții. Învățarea federată face opusul. În loc să trimită date către un depozit central, clienții antrenează modele pe datele lor. Acest lucru îi ajută să-și păstreze datele private private.

Citește și: Cele mai bune modele de învățare automată explicate

Cum funcționează învățarea federată?

Învățarea în învățare federată cuprinde o serie de pași atomici care produc un model. Acești pași se numesc runde de învățare. O configurație tipică de învățare iterează prin aceste runde, îmbunătățind modelul la fiecare pas. Fiecare rundă de învățare implică următorii pași.

O rundă de învățare tipică

În primul rând, serverul alege modelul de antrenat și hiperparametri, cum ar fi numărul de runde, nodurile client de utilizat și fracțiunea de noduri utilizate la fiecare nod. În acest moment, modelul este de asemenea inițializat cu parametrii inițiali pentru a forma modelul de bază.

  Dos Vs. Atacurile DDoS: Care sunt diferențele?

Apoi, clienții primesc copii ale unui model de bază pentru a fi instruiți. Acești clienți pot fi dispozitive mobile, computere personale sau servere. Ei antrenează modelul pe datele lor locale, evitând astfel partajarea datelor sensibile cu serverele.

Odată ce clienții au instruit modelul cu privire la datele lor locale, îl trimit înapoi la server ca o actualizare. Când este primită de server, actualizarea este mediată alături de actualizările de la alți clienți pentru a crea un nou model de bază. Deoarece clienții pot fi nesiguri, în acest moment este posibil ca unii clienți să nu trimită actualizările lor. În acest moment, serverul va gestiona toate erorile.

Înainte ca modelul de bază să poată fi redistribuit, acesta trebuie testat. Cu toate acestea, serverul nu stochează date. Prin urmare, pentru a testa modelul, acesta este trimis înapoi clienților, unde este testat pe baza datelor lor locale. Dacă este mai bun decât modelul de bază anterior, este adoptat și utilizat în schimb.

Iată un ghid util despre modul în care funcționează învățarea federată de la echipa de învățare federată de la Google AI.

Centralizat vs. Federat vs. eterogen

În această configurație, există un server central responsabil de controlul învățării. Acest tip de configurare este cunoscut sub numele de Învățare centralizată federată.

Opusul învățării centralizate ar fi învățarea federalizată descentralizată, în care clienții se coordonează peer-to-peer.

Cealaltă configurație se numește Învățare heterogenă. În această configurație, clienții nu au neapărat aceeași arhitectură de model global.

Avantajele învățării federate

  • Cel mai mare avantaj al folosirii învățării federate este că ajută la păstrarea datelor private private. Clienții împărtășesc rezultatele formării, nu datele utilizate în instruire. De asemenea, pot fi implementate protocoale pentru a agrega rezultatele, astfel încât acestea să nu poată fi legate de un anumit client.
  • De asemenea, reduce lățimea de bandă a rețelei, deoarece nu sunt partajate date între client și server. În schimb, modelele sunt schimbate între client și server.
  • De asemenea, reduce costul modelelor de antrenament, deoarece nu este nevoie să cumpărați hardware de antrenament scump. În schimb, dezvoltatorii folosesc hardware-ul clientului pentru a antrena modele. Datorită puținelor date implicate, nu încordează dispozitivul clientului.
  Cum să dezactivezi contul OfferUp

Dezavantajele învățării federate

  • Acest model depinde de participarea multor noduri diferite. Unele dintre acestea nu sunt controlate de dezvoltator. Prin urmare, disponibilitatea acestora nu este garantată. Acest lucru face ca hardware-ul de antrenament să nu fie de încredere.
  • Clienții pe care sunt antrenați modelele nu sunt tocmai GPU-uri puternice. În schimb, sunt dispozitive normale, cum ar fi telefoanele. Aceste dispozitive, chiar și în totalitate, ar putea să nu fie suficient de puternice în comparație cu clusterele GPU.
  • Învățarea federată presupune, de asemenea, că toate nodurile client sunt de încredere și funcționează pentru binele comun. Cu toate acestea, unii s-ar putea să nu, și ar putea emite actualizări proaste pentru a provoca derapajul modelului.

Aplicații ale învățării federate

Învățarea federată permite învățarea, păstrând în același timp confidențialitatea. Acest lucru este util în multe situații, cum ar fi:

  • Predicții cu cuvântul următor pe tastaturile smartphone-urilor.
  • Dispozitive IoT care pot antrena modele la nivel local cu privire la cerințele specifice ale situației în care se află.
  • Industriile farmaceutice și de sănătate.
  • Industriile de apărare ar beneficia, de asemenea, de pe urma modelelor de instruire fără a partaja date sensibile.

Cadre pentru învățarea federată

Există multe cadre pentru implementarea tiparelor de învățare federată. Unele dintre cele mai bune includ NVFlare, FATE, Flower și PySft. Citiți acest ghid pentru o comparație detaliată a diferitelor cadre pe care le puteți utiliza.

Concluzie

Acest articol a fost o introducere în învățarea federată, cum funcționează, precum și avantajele și dezavantajele implementării acesteia. În plus, am acoperit, de asemenea, aplicațiile și cadrele populare utilizate pentru implementarea învățării federate în producție.

  Redecor Valorificați coduri pentru aur

Apoi, citiți un articol despre cele mai bune platforme MLOps pentru a vă instrui modelele de învățare automată.