Zarządzanie siecią telekomunikacyjną a metody uczenia maszynowego dla predykcji serii czasowych
W zarządzaniu siecią telekomunikacyjną kluczową rolę pełnią dane pomiarowe elementów sieciowych. Dotyczą one wielkości ruchu transmitowanego przez poszczególne elementy sieciowe, opóźnienia pakietów, zajętości pamięci operacyjnej i obciążenia czy temperatury procesorów i wielu innych mierzalnych wielkości związanych ze stanem urządzeń. Dane te mają postać serii czasowych.
Na ich podstawie wykonuje się wiele zadań zarządzania siecią, m.in. takich jak rekonfiguracja routingu (kierowania ruchu w sieci), rozbudowa pojemności czy też balansowanie obciążenia na poszczególnych urządzeniach sieciowych. Wszystko to po to, aby zapewnić jak najlepszy, niezawodny i najszybszy transfer dla klientów usług telekomunikacyjnych.
W Orange widzimy wielki potencjał i aktywnie działamy w dziedzinie zastosowania sztucznej inteligencji (AI) i metod uczenia maszynowego (ML) w różnych aspektach swej działalności. Jednym z nich jest zastosowanie metod uczenia maszynowego do predykcji serii czasowych reprezentujących ogrom danych pomiarowych z urządzeń sieciowych. Po co te dane przewidywać? Odpowiedź jest prosta – aby wiedzieć co stanie się w sieci w określonej perspektywie czasowej, aby znać sezonowość i trendy zmian mierzonych wielkości, a przez to aby móc zastosować odpowiednie zmiany w sieci zanim pojawią się problemy.
Proaktywne zarządzanie siecią na podstawie predykcji z zastosowaniem uczenia maszynowego pozwala uniknąć wielu problemów, np. związanych z przeciążeniami sieci, co jest bardzo korzystne dla klientów, ale i dla samego operatora sieci. Pozwala ono uniknąć kosztów obsługi niezadowolonych klientów oraz obniżyć koszty inwestycyjne poprzez odpowiednie dopasowanie pojemności sieci do ruchu sieciowego, a w konsekwencji poprawić reputację operatora.
Jeden z ostatnio wdrożonych systemów w sieci Orange wykorzystuje metody uczenia maszynowego w masowej skali do monitorowania i przewidywania ponad 100 frakcji ruchu odbieranego przez klientów sieci Orange a przechodzącego przez łącza międzynarodowe. Przeciążenia na łączach międzynarodowych skutkują zwiększeniem poziomu strat pakietów danych, zwiększonymi opóźnieniami transferu danych, zmniejszeniem szybkości transferu a w konsekwencji pogorszeniem jakości usług u klientów Orange. Szczególnie wrażliwi na tego typu zakłócenia są gracze uczestniczący w rozgrywkach realizowanych na serwerach zlokalizowanych za granicą.
Przyczyn przeciążeń jest wiele, a do głównych można zaliczyć awarie łączy (które powodują, że frakcje ruchu są automatycznie przekierowywane na łącza alternatywne) lub nagłe wzrosty poszczególnych frakcji ruchu (spowodowanych np. pojawieniem się nowej wersji popularnej gry, którą jednocześnie stara się pobrać i zaktualizować kilkaset tysięcy komputerów lub migracje serwisów chmurowych pomiędzy centrami danych powodujących wzrosty ruchu międzynarodowego).
Co zatem robi wspomniany system? Po pierwsze w sposób ciągły monitoruje i zbiera dane o szybkości transferu poszczególnych frakcji ruchu (ang. bit rate) na każdym łączu międzynarodowym. Najlepszym stanem sieci jest stan równomiernego obciążenia łączy międzynarodowych, kiedy każde łącze posiada porównywalną wolną pojemność będącą w stanie zaabsorbować nagłe wzrosty ruchu na dowolnej frakcji. System w sposób ciągły rekomenduje, na które łącza międzynarodowe kierować poszczególne frakcje ruchu, aby utrzymywać równoważenie obciążeń.
Ale gdzie tutaj miejsce na uczenie maszynowe? Otóż, każda frakcja ruchu może mieć zmienną charakterystykę dobową/tygodniową, ale również różne trendy wzrostu czy spadku wielkości ruchu. Dla każdej z nich stosuje się uczenie maszynowe do zbudowania predykcyjnego modelu ML i wyznacza się kilkudniowe predykcje ruchu. W ten sposób system zauważa, m.in. że jedna frakcja ruchu rośnie szybciej niż inna frakcja ruchu, zatem w znanej perspektywie czasowej można zaplanować przekierowanie większej frakcji ruchu na łącze mające więcej wolnej pojemności. Dlatego też aktywnie dokonujemy zmian aby unikać przeciążeń zanim się wydarzą.
Co należy zrobić, aby efektywnie stosować metody uczenia maszynowego w masowej skali, dla dużej liczby serii czasowych?
- Należy dokładnie poznać charakter danych, które chcemy przewidywać. Szczęśliwie się składa, że dane opisujące stan urządzeń sieciowych mają ścisły związek z aktywnością użytkowników sieci. Zatem w większości przypadków, pomiarowe serie czasowe charakteryzują się dosyć regularną powtarzalnością dzienną czy tygodniową, oraz mniej lub bardziej wyraźnymi trendami. Można więc stwierdzić, że są dobrym materiałem dla uczenia maszynowego i predykcji.
- Należy dobrać odpowiednie metody uczenia maszynowego do danych. Istnieje wiele metod uczenia maszynowego o otwartym kodzie, stosujących różne podejścia matematyczne. Nie wszystkie będą odpowiednie dla poszczególnych typów danych, a nawet w ramach tych samych typów danych, będą generować predykcje o zróżnicowanej jakości dla różnych serii czasowych. Przy doborze metod, bardzo istotne są perspektywa czasowa predykcji oraz długość historii. Przy masowej skali serii czasowych i różnorodności charakterystyk serii czasowych, trudno liczyć na jedną uniwersalną metodę, która będzie działać równie dobrze dla wszystkich pomiarów. Trzeba dobrać zestaw takich metod, najlepiej o zróżnicowanych konceptach matematycznych.
- Należy te metody przetestować na jak największej próbie danych, zwracając również baczną uwagę na czas obliczeń potrzebny do trenowania modelu ML, jego optymalizacji czy też generowania predykcji. Wolno zbieżne metody, nawet jeśli generują spektakularne wyniki, mogą okazać się bezużyteczne, ze względu na wielkość infrastruktury sprzętowej niezbędnej do obliczeń w masowej skali. Po prostu, rozwiązania takie będą zbyt kosztowne.
Jest wiele dodatkowych kwestii, które trzeba uwzględnić budując systemy oparte na masowym zastosowaniu uczenia maszynowego dla predykcji serii czasowych. Odkrywanie, badanie nowych metod, ich testowanie i porównywanie pozwala na intensywny rozwój w wielu dziedzinach takich jak matematyka, statystyka jak również w programowaniu, obliczeniach rozproszonych, wirtualizacji zasobów i oprogramowania, czyli szeroko rozumianych rozwiązaniach chmurowych. Nie jest to świat prosty i łatwy, ale daje mnóstwo satysfakcji, mnóstwo wyzwań i mnóstwo bodźców rozwojowych. I o to właśnie chodzi w dzisiejszym świecie.
Zdjęcie główne artykułu pochodzi z unsplash.com.