Współczesne przeglądarki bez problemu radzą sobie już z wykorzystaniem sprzętowej akceleracji przy renderowaniu grafiki trójwymiarowej. Standard WebGL przyjął się na dobre, działa nawet w Internet Explorerze 11. Jednak współczesne procesory graficzne służą nie tylko do renderowania grafiki. Znalazły zastosowanie także w sztucznej inteligencji. Działające na nich sztuczne sieci neuronowe pozwalają na operacje w czasie rzeczywistym, np. przetwarzanie i analizę obrazu czy mowy.
Zobacz też: Ten sam binarny kod na każdym systemie i urządzeniu. Mozilla zrobi to lepiej niż Oracle
Z poziomu technologii webowych dostępu do tych atrakcji wciąż nie mamy. WebGL nic tu nie da, nie ma bowiem dostępu do takich funkcji jak wielowątkowość CPU, nie pozwala na uruchamianie kodu ogólnego przeznaczenia na GPU, nie mówiąc już o możliwości wykorzystania specjalistycznych procesorów maszynowego uczenia, takich jak Neural Engine z układu A12 Bionic, serca najnowszych iPhone'ów Xs.
Akceleracja dla wszystkich przeglądarek
To jednak zmienić się ma za sprawą standardu WebNN, opracowywanego przez grupę Machine Learning for the Web Community Group Charter. Rozpoczęła ona prace w zeszłym roku, stawiając sobie za zadanie zbudowanie webowego API dla sprzętowej akceleracji inferencji sieci neuronowych, które pozwoli na:
- tworzenie grafów obliczeniowych sieci neuronowych z wykorzystaniem wspólnych elementów i bazowych operacji, takich jak konwekcja, łączenie, softmax, normalizacja, pełne podłączenie, aktywacja, rekurencyjne sieci neuronowe i pamięć długookresowa LSTM,
- kompilację sieci neuronowej do natywnego zoptymalizowanego formatu dla danego sprzętu,
- konfigurację danych wejściowych z różnych źródeł w sieci, np. buforów tablicowych, strumieni mediów, planowanie asynchronicznego wykonywania oraz pobieranie danych wyjściowych po zakończeniu wykonywania.
Nowe API ma być oczywiście neutralne systemowo i sprzętowo, ale zarazem będzie mogło zostać połączone z takimi platformowymi interfejsami jak Android Neural Networks, macOS/iOS Metal Performance Shaders czy Windows DirectML.
Zobacz też: Wektorowe wyszukiwanie dla każdego: Microsoft uwalnia stosowane w Bingu algorytmy AI
Teraz Anssi Kostiainen z Intela, przewodniczący działającej w ramach konsorcjum W3C grupy ogłosił, że zdołała ona zdobyć poparcie wszystkich liczących się producentów przeglądarek – Google, Mozilli, Apple i Microsoftu. Pozwoli to na budowanie interoperacyjnych rozwiązań webowych dla wszystkich platform systemowych i sprzętowych.
Zdaniem Kostriainena, projekt ten odblokuje zaawansowane scenariusze głębokiego uczenia w zakresie widzenia komputerowego, rozpoznawania mowy i innych zadań, stosowanych z odpowiednią wydajnością, bezpośrednio w przeglądarce. Dowodem tego ma być zaprezentowane poniżej demo:
Pokazuje ono w jaki sposób aplikacja przeglądarkowa może interpretować obiekty widziane przez kamerę na smartfonie, coś co do tej pory wymagałoby zastosowania natywnej aplikacji mobilnej.
Jednocześnie zapewniono, że prace w zakresie WebNN będą koordynowane z innymi grupami W3C, w tym GPU for the Web, WebAssembly, Web Real-Time Communications oraz Devices and Sensors.