Uczenie maszynowe w rozwoju urządzeń mobilnych: perspektywy i decentralizacja

Dzień dobry, Habro!

W naszym wstępnym zgłoszeniu nie mamy nic do dodania do tytułu artykułu - dlatego wszystkich od razu zapraszamy do kota. Przeczytaj i skomentuj.

Uczenie maszynowe w rozwoju urządzeń mobilnych: perspektywy i decentralizacja

Specjaliści zajmujący się tworzeniem rozwiązań mobilnych skorzystają z rewolucyjnych zmian, jakie ma dziś do zaoferowania. uczenie maszynowe na urządzeniach. Chodzi o to, jak bardzo ta technologia usprawnia każdą aplikację mobilną, a mianowicie zapewnia użytkownikom nowy poziom wygody i pozwala aktywnie korzystać z zaawansowanych funkcji, aby np. dostarczać jak najtrafniejsze rekomendacje, w oparciu o geolokalizacjęlub natychmiast wykryć choroby roślin.

Ten szybki rozwój mobilnego uczenia maszynowego jest odpowiedzią na szereg typowych problemów, na które cierpieliśmy w klasycznym uczeniu maszynowym. Właściwie wszystko jest oczywiste. W przyszłości aplikacje mobilne będą wymagały szybszego przetwarzania danych i dalszej redukcji opóźnień.

Być może zastanawiałeś się już dlaczego Aplikacje mobilne oparte na sztucznej inteligencji, nie można po prostu uruchomić wnioskowania w chmurze. Po pierwsze, technologie chmurowe zależą od węzłów centralnych (wyobraźmy sobie ogromne centrum danych z rozległym magazynem danych i dużą mocą obliczeniową). To scentralizowane podejście nie jest w stanie obsłużyć prędkości przetwarzania wystarczających do zapewnienia płynnych doświadczeń mobilnych opartych na uczeniu maszynowym. Dane muszą być przetwarzane centralnie, a następnie przesyłane z powrotem do urządzeń. Takie podejście wymaga czasu, pieniędzy i nie gwarantuje prywatności samych danych.

Zatem po zarysowaniu kluczowych zalet mobilnego uczenia maszynowego przyjrzyjmy się bliżej, dlaczego rewolucja w zakresie uczenia maszynowego rozwijająca się na naszych oczach powinna zainteresować Ciebie osobiście, jako programistę mobilnego.

Zmniejsz opóźnienia

Twórcy aplikacji mobilnych wiedzą, że zwiększone opóźnienia mogą być czarną plamą dla programu, niezależnie od tego, jak dobre są jego funkcje i jak renomowana jest marka. Wcześniej na urządzeniach z Androidem były Poważne opóźnienia w wielu aplikacjach wideo, przez co oglądanie obrazu i dźwięku często okazywało się niezsynchronizowane. Podobnie klient mediów społecznościowych z dużym opóźnieniem może sprawić, że komunikacja będzie dla użytkownika prawdziwą torturą.

Wdrożenie uczenia maszynowego na urządzeniu staje się coraz ważniejsze właśnie ze względu na takie problemy z opóźnieniami. Wyobraź sobie, jak działają filtry obrazów w sieciach społecznościowych lub rekomendacje restauracji na podstawie geolokalizacji. W takich zastosowaniach opóźnienie musi być minimalne, aby działało na najwyższym poziomie.

Jak wspomniano powyżej, przetwarzanie w chmurze może czasami być powolne, a programista chce, aby opóźnienie było bliskie zeru, aby możliwości uczenia maszynowego aplikacji mobilnej działały prawidłowo. Uczenie maszynowe na urządzeniach otwiera możliwości przetwarzania danych, które mogą naprawdę zmniejszyć opóźnienia niemal do zera.

Producenci smartfonów i giganci rynku technologicznego stopniowo zaczynają zdawać sobie z tego sprawę. Przez długi czas Apple pozostawał liderem w tej branży, rozwijając się coraz bardziej zaawansowane chipy dla smartfonów korzystających z systemu Bionic, który implementuje silnik neuronowy, który pomaga sterować sieciami neuronowymi bezpośrednio na urządzeniu, osiągając jednocześnie niesamowite prędkości.

Apple kontynuuje także krok po kroku rozwój Core ML, swojej platformy uczenia maszynowego dla aplikacji mobilnych; w bibliotece TensorFlow Lite dodano obsługę procesorów graficznych; Google w dalszym ciągu dodaje wstępnie załadowane funkcje do swojej platformy uczenia maszynowego ML Kit. Korzystając z tych technologii, można tworzyć aplikacje, które pozwalają na błyskawiczne przetwarzanie danych, eliminują wszelkie opóźnienia i zmniejszają liczbę błędów.

To połączenie dokładności i bezproblemowego doświadczenia użytkownika to kluczowy wskaźnik, który twórcy aplikacji mobilnych muszą wziąć pod uwagę, wprowadzając do swoich aplikacji funkcje uczenia maszynowego. Aby zagwarantować taką funkcjonalność, jest to wymagane Przenieś uczenie maszynowe na urządzenia.

Większe bezpieczeństwo i prywatność

Kolejną ogromną zaletą przetwarzania brzegowego, której nie można przecenić, jest stopień poprawy bezpieczeństwa i prywatności użytkowników. Zapewnienie bezpieczeństwa i prywatności danych w aplikacji jest integralną częścią zadań programisty, szczególnie biorąc pod uwagę konieczność przestrzegania RODO (Ogólne rozporządzenie o ochronie danych), nowych przepisów europejskich, które niewątpliwie będą miały wpływ na praktykę tworzenia aplikacji mobilnych .

Ponieważ dane nie muszą być przesyłane w górę łańcucha dostaw ani do chmury w celu przetworzenia, cyberprzestępcy mają mniejsze możliwości wykorzystania luk powstałych na etapie przesyłania; dlatego integralność danych zostaje zachowana. Ułatwia to twórcom aplikacji mobilnych przestrzeganie przepisów dotyczących bezpieczeństwa danych RODO.

Uczenie maszynowe na urządzeniach umożliwia również decentralizację, podobnie jak blockchain. Innymi słowy, hakerom trudniej jest przeprowadzić atak DDoS na połączoną sieć ukrytych urządzeń, niż przeprowadzić ten sam atak na serwer centralny. Technologia ta może być również przydatna podczas pracy z dronami i monitorowania zgodności z przepisami.

Wspomniane wyżej chipy do smartfonów firmy Apple pomagają także poprawić bezpieczeństwo i prywatność użytkowników – mogą na przykład służyć jako podstawa Face ID. Ta funkcja iPhone'a jest obsługiwana przez sieć neuronową wdrożoną na urządzeniach, która zbiera dane na temat różnych reprezentacji twarzy użytkownika. Dzięki temu technologia ta stanowi niezwykle dokładną i niezawodną metodę identyfikacji.

Ten i nowszy sprzęt obsługujący sztuczną inteligencję utoruje drogę bezpieczniejszym interakcjom użytkownik-smartfon. W rzeczywistości programiści otrzymują dodatkową warstwę szyfrowania w celu ochrony danych użytkownika.

Nie jest wymagane połączenie z Internetem

Pomijając kwestie opóźnień, wysyłanie danych do chmury w celu przetworzenia i wyciągnięcia wniosków wymaga dobrego połączenia internetowego. Często, szczególnie w krajach rozwiniętych, nie ma co narzekać na Internet. Ale co zrobić w obszarach, w których połączenie jest gorsze? Gdy na urządzeniach zaimplementowano uczenie maszynowe, sieci neuronowe działają w samych telefonach. Dzięki temu programista może wdrożyć technologię na dowolnym urządzeniu i w dowolnym miejscu, niezależnie od jakości połączenia. Co więcej, takie podejście prowadzi do demokratyzację możliwości uczenia się maszynowego.

Opieki zdrowotnej to jedna z branż, która mogłaby szczególnie zyskać na uczeniu maszynowym na urządzeniach, ponieważ programiści będą mogli tworzyć narzędzia sprawdzające parametry życiowe, a nawet przeprowadzające operacje z użyciem robota bez połączenia z Internetem. Technologia ta przyda się także studentom, którzy chcą mieć dostęp do materiałów wykładowych bez połączenia z Internetem – na przykład będąc w tunelu komunikacyjnym.

Docelowo uczenie maszynowe na urządzeniach zapewni programistom narzędzia do tworzenia narzędzi, z których skorzystają użytkownicy na całym świecie, niezależnie od ich stanu połączenia internetowego. Biorąc pod uwagę, że moc nowych smartfonów będzie co najmniej tak duża, jak obecnych, użytkownicy zapomną o problemach z opóźnieniami podczas pracy z aplikacją offline.

Obniżenie kosztów dla Twojej firmy

Uczenie maszynowe na urządzeniach może również zaoszczędzić fortunę, ponieważ nie trzeba płacić zewnętrznym wykonawcom za wdrożenie i utrzymanie wielu rozwiązań. Jak wspomniano powyżej, w wielu przypadkach można obejść się bez chmury i Internetu.

Usługi chmurowe specyficzne dla GPU i sztucznej inteligencji to najdroższe rozwiązania, jakie można kupić. Uruchamiając modele na swoim urządzeniu, nie musisz płacić za te wszystkie klastry, dzięki temu, że dziś pojawia się coraz więcej zaawansowanych smartfonów wyposażonych w procesory neuromorficzne (NPU).

Unikając koszmaru intensywnego przetwarzania danych pomiędzy urządzeniem a chmurą, możesz ogromnie zaoszczędzić; Dlatego bardzo opłacalne jest wdrażanie rozwiązań uczenia maszynowego na urządzeniach. Ponadto oszczędzasz pieniądze, ponieważ wymagania dotyczące przepustowości Twojej aplikacji są znacznie zmniejszone.

Sami inżynierowie również dużo oszczędzają na procesie rozwoju, ponieważ nie muszą montować i utrzymywać dodatkowej infrastruktury chmurowej. Wręcz przeciwnie, w mniejszym zespole można osiągnąć więcej. Dzięki temu planowanie zasobów ludzkich w zespołach programistycznych jest znacznie efektywniejsze.

wniosek

Nie ulega wątpliwości, że w latach 2010-tych chmura stała się prawdziwym dobrodziejstwem, upraszczającym przetwarzanie danych. Jednak zaawansowana technologia rozwija się wykładniczo, a uczenie maszynowe na urządzeniach może wkrótce stać się de facto standardem nie tylko w obszarze rozwoju urządzeń mobilnych, ale także Internetu Rzeczy.

Dzięki zmniejszonym opóźnieniom, ulepszonemu bezpieczeństwu, funkcjom offline i ogólnie niższym kosztom nie jest zaskoczeniem, że najwięksi gracze w rozwoju rozwiązań mobilnych stawiają na tę technologię. Twórcy aplikacji mobilnych również powinni się temu bliżej przyjrzeć, aby nadążać za duchem czasu.

Źródło: www.habr.com

Dodaj komentarz