Omówienie sieci WebNN
Internetowy interfejs API sieci neuronowej (WebNN) to nowy standard sieci Web, który umożliwia aplikacjom internetowym i strukturom przyspieszenie głębokich sieci neuronowych za pomocą procesorów GPU, procesorów CPU lub specjalnie utworzonych akceleratorów sztucznej inteligencji, takich jak jednostki NPU. Interfejs API sieci WebNN korzysta z interfejsu API DirectML w systemie Windows, aby uzyskać dostęp do natywnych możliwości sprzętowych i zoptymalizować wykonywanie modeli sieci neuronowych.
Ponieważ korzystanie ze sztucznej inteligencji/uczenia maszynowego w aplikacjach staje się bardziej popularne, interfejs API sieci WebNN zapewnia następujące korzyści:
- optymalizacje wydajności — dzięki wykorzystaniu DirectML, technologia WebNN pomaga umożliwić aplikacjom internetowym i frameworkom korzystanie z najlepszych dostępnych optymalizacji sprzętowych i programowych dla każdej platformy i urządzenia, bez potrzeby stosowania złożonego i specyficznego dla platformy kodu.
- małe opóźnienia — wnioskowanie w przeglądarce pomaga włączyć nowe przypadki użycia z lokalnymi źródłami multimediów, takimi jak analiza wideo w czasie rzeczywistym, wykrywanie twarzy i rozpoznawanie mowy, bez konieczności wysyłania danych do serwerów zdalnych i oczekiwania na odpowiedzi.
- zachowanie prywatności — dane użytkownika pozostają na urządzeniu i zachowują prywatność użytkowników, ponieważ aplikacje internetowe i struktury nie muszą przekazywać poufnych ani osobistych informacji do usług w chmurze do przetwarzania.
- Wysoka Dostępność — brak zależności od sieci po początkowym cache'owaniu zasobów w trybie offline, ponieważ aplikacje internetowe i frameworki mogą uruchamiać modele sieci neuronowych lokalnie nawet wtedy, gdy połączenie internetowe jest niedostępne lub zawodne.
- niski koszt serwera — przetwarzanie na urządzeniach klienckich nie oznacza braku potrzebnych serwerów, co pomaga aplikacjom internetowym zmniejszyć koszty operacyjne i konserwacyjne uruchamiania usług sztucznej inteligencji/uczenia maszynowego w chmurze.
Scenariusze sztucznej inteligencji/uczenia maszynowego obsługiwane przez sieć WebNN obejmują generowanie sztucznej inteligencji, wykrywanie osób, wykrywanie twarzy, segmentację semantyczną, wykrywanie szkieletu, transfer stylów, super rozdzielczość, podpisy obrazów, tłumaczenie maszynowe i pomijanie szumu.
Notatka
API WebNN jest wciąż rozwijane, z obsługą procesorów GPU i NPU w wersji testowej. Interfejs API sieci WebNN nie powinien być obecnie używany w środowisku produkcyjnym.
Obsługa struktury
Sieć WebNN jest zaprojektowana jako interfejs API zaplecza dla struktur internetowych. W przypadku systemu Windows zalecamy używanie środowiska uruchomieniowego ONNX Web. Zapewnia to znajome doświadczenie w używaniu języka DirectML i środowiska uruchomieniowego ONNX natywnie, dzięki czemu możesz mieć spójne środowisko wdrażania sztucznej inteligencji w formacie ONNX w aplikacjach internetowych i natywnych.
Wymagania dotyczące sieci WebNN
Aby sprawdzić informacje o przeglądarce, przejdź do about://version na pasku adresu przeglądarki chromium.
Sprzęt | Przeglądarki sieci Web | Wersja systemu Windows | Wersja internetowa środowiska uruchomieniowego ONNX | Wersja sterownika |
---|---|---|---|---|
gpu | Sieć WebNN wymaga przeglądarki Chromium*. Użyj najnowszej wersji przeglądarki Microsoft Edge Beta. | Minimalna wersja: Windows 11, wersja 21H2. | Minimalna wersja: 1.18 | Zainstaluj najnowszy sterownik dla sprzętu. |
NPU | Sieć WebNN wymaga przeglądarki Chromium*. Użyj najnowszej wersji programu Microsoft Edge Canary. Zobacz poniższą uwagę, jak wyłączyć listę blokowania GPU. | Minimalna wersja: Windows 11, wersja 21H2. | Minimalna wersja: 1.18 | Wersja sterownika Intel: 32.0.100.2381. Zobacz Często zadawane pytania, aby uzyskać instrukcje dotyczące aktualizowania sterownika. |
Notatka
Przeglądarki oparte na chromium mogą obecnie obsługiwać sieć WebNN, ale będą zależeć od stanu implementacji poszczególnych przeglądarek.
Notatka
W przypadku obsługi NPU uruchom Edge z poziomu wiersza polecenia z następującą flagą: msedge.exe --disable_webnn_for_npu=0
Obsługa modelu
Procesor GPU (wersja zapoznawcza):
W przypadku uruchamiania na procesorach GPU sieć WebNN obsługuje obecnie następujące modele:
- Stable Diffusion Turbo
- Stable Diffusion 1.5
- Whisper-base
- MobileNetv2
- segmentuj wszystko, co
- ResNet
- EfficientNet
- SqueezeNet
Sieć WebNN współpracuje również z modelami niestandardowymi, o ile obsługa operatora jest wystarczająca. Tutaj sprawdź stan operatorów .
NPU (wersja próbna):
Na procesorach Intel® Core™ Ultra z NPU Intel® AI Boost WebNN obsługuje:
- Baza szeptu
- MobileNetV2
- ResNet
- EfficientNet
FAQ
Jak mogę zgłosić problem z siecią WebNN?
W przypadku ogólnych problemów z WebNN zgłoś problem w wersji zapoznawczej WebNN Developer Preview na GitHub.
W przypadku problemów z ONNX Runtime Web lub dostawcą wykonywania WebNN przejdź do ONNXRuntime w usłudze Github.
Jak debugować problemy z siecią WebNN?
W specyfikacji WebNN W3C zawarte są informacje na temat propagacji błędów zwykle poprzez wyjątki DOM. Dziennik na końcu about://gpu może również zawierać przydatne informacje. W przypadku dalszych problemów zgłoś problem zgodnie z powyższym łączem.
Czy sieć WebNN obsługuje inne systemy operacyjne?
Obecnie sieć WebNN najlepiej obsługuje system operacyjny Windows. Wersje innych systemów operacyjnych są w toku.
Jakie zaplecza sprzętowe są obecnie dostępne? Czy niektóre modele są obsługiwane tylko w przypadku określonych zapleczy sprzętu?
Informacje o obsłudze operatora w sieci WebNN można znaleźć na stronie Stan implementacji operacji Sieci WebNN | Usługa Web Machine Learning.
Jakie kroki należy wykonać, aby zaktualizować sterownik intela na potrzeby obsługi jednostek NPU (wersja zapoznawcza)?
- Znajdź zaktualizowany sterownik na stronie internetowej Intel.
- Usuń kompresję pliku ZIP.
- Naciśnij Win+R, aby otworzyć okno dialogowe Uruchamianie.
- Wpisz devmgmt.msc w polu tekstowym.
- Naciśnij Enter lub kliknij przycisk OK.
- W Menedżerze urządzeń otwórz węzeł "Procesory neuronowe"
- Kliknij prawym przyciskiem myszy NPU, którego sterownik chcesz zaktualizować.
- Wybierz pozycję "Aktualizuj sterownik" z menu kontekstowego
- Wybierz pozycję "Przeglądaj mój komputer w poszukiwaniu sterowników"
- Wybierz pozycję "Pozwól mi wybrać z listy dostępnych sterowników na moim komputerze"
- Naciśnij przycisk "Mieć dysk"
- Naciśnij przycisk "Przeglądaj"
- Przejdź do lokalizacji, w której rozpakowałeś wspomniany plik zip.
- Naciśnij przycisk OK.