Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przypadku deweloperów aplikacji, którzy chcą zintegrować funkcje sztucznej inteligencji, firma Microsoft Windows oferuje kompleksową i elastyczną platformę, która obsługuje zarówno lokalne na urządzeniach przetwarzanie, jak i skalowalne rozwiązania oparte na chmurze.
Wybór między lokalnymi i opartymi na chmurze modelami sztucznej inteligencji zależy od konkretnych potrzeb i priorytetów. Wiele aplikacji produkcyjnych używa strategii hybrydowej: najpierw spróbuj użyć lokalnego Windows interfejsu API sztucznej inteligencji lub modelu lokalnego, a następnie wróć do punktu końcowego chmury, gdy model nie jest zainstalowany, urządzenie nie jest obsługiwane, użytkownik nie wyraża zgody na pobranie modelu lub zadanie wymaga większego modelu.
Czynniki, które należy wziąć pod uwagę, obejmują:
- Prywatność, zgodność i zabezpieczenia danych
- Dostępność zasobów
- Ułatwienia dostępu i współpraca
- Koszt
- Konserwacja i aktualizacje
- Wydajność i opóźnienie
- Skalowalność
- Wymagania dotyczące łączności
- Rozmiar i złożoność modelu
- Narzędzia i skojarzony ekosystem
- Dostosowywanie i kontrola
Kluczowe czynniki decyzyjne dla deweloperów aplikacji
Prywatność, zgodność i zabezpieczenia danych
Lokalna, na miejscu: Ponieważ dane pozostają na urządzeniu, uruchomienie modelu lokalnie może oferować korzyści związane z bezpieczeństwem i prywatnością, a odpowiedzialność za bezpieczeństwo danych spoczywa na użytkowniku. Deweloper ponosi odpowiedzialność za zarządzanie aktualizacjami, zapewnianie zgodności i monitorowanie luk w zabezpieczeniach.
Chmura: Dostawcy usług w chmurze oferują niezawodne środki zabezpieczeń, ale dane muszą być przesyłane do chmury, co może budzić obawy dotyczące prywatności danych dla osoby odpowiedzialnej za działalność biznesową lub usługę app service w niektórych przypadkach. Wysyłanie danych do chmury musi być również zgodne z przepisami dotyczącymi ochrony danych, takimi jak RODO lub HIPAA, w zależności od charakteru danych i regionu, w którym działa aplikacja. Dostawcy usług w chmurze zwykle obsługują aktualizacje zabezpieczeń i konserwację, ale użytkownicy muszą upewnić się, że korzystają z bezpiecznych interfejsów API i przestrzegają najlepszych rozwiązań dotyczących obsługi danych.
Dostępność zasobów
Lokalnie, na miejscu: Uruchomienie modelu zależy od zasobów dostępnych na używanym urządzeniu, w tym CPU, GPU, NPU, pamięci i pojemności pamięci masowej. Może to być ograniczenie, jeśli urządzenie nie ma dużej mocy obliczeniowej lub wystarczającej ilości miejsca do magazynowania. Małe modele językowe (SLM), takie jak Phi, są bardziej odpowiednie do użytku lokalnego na urządzeniu. Copilot+Komputery oferują wbudowane modele z funkcjami sztucznej inteligencji gotowymi do użycia obsługiwanymi przez Microsoft Foundry on Windows.
Chmura: Platformy w chmurze, takie jak Azure usługi sztucznej inteligencji, oferują skalowalne zasoby. Możesz użyć jak najwięcej mocy obliczeniowej lub magazynu, ile potrzebujesz, i płacić tylko za to, czego używasz. Duże modele językowe (LLM), takie jak modele języka openAI , wymagają większej ilości zasobów, ale są również bardziej zaawansowane.
Ułatwienia dostępu i współpraca
Lokalna, na miejscu: Model i dane są dostępne tylko na urządzeniu, chyba że zostały udostępnione ręcznie. Może to sprawić, że współpraca nad danymi modelu będzie trudniejsza.
Chmura: Dostęp do modelu i danych można uzyskać z dowolnego miejsca z łącznością z Internetem. Może to być lepsze w przypadku scenariuszy współpracy.
Koszt
Lokalnie, na miejscu: Nie ma dodatkowych kosztów poza początkową inwestycją w urządzenie sprzętowe.
Chmura: Podczas gdy platformy w chmurze działają w modelu płatności zgodnie z rzeczywistym użyciem, koszty mogą kumulować się na podstawie używanych zasobów i czasu trwania użycia.
Konserwacja i aktualizacje
Lokalny, na miejscu: Użytkownik jest odpowiedzialny za utrzymanie systemu i instalowanie aktualizacji.
Chmura: Konserwacja, aktualizacje systemu i nowe aktualizacje funkcji są obsługiwane przez dostawcę usług w chmurze, co zmniejsza obciążenie związane z konserwacją użytkownika.
Wydajność i opóźnienie
Lokalnie, na własnych serwerach: Uruchamianie modelu lokalnie może zmniejszyć opóźnienie, ponieważ dane nie muszą być przesyłane przez sieć. Jednak wydajność jest ograniczona przez możliwości sprzętowe urządzenia.
Chmura: Modele oparte na chmurze mogą korzystać z zaawansowanego sprzętu, ale mogą powodować opóźnienia ze względu na komunikację sieciową. Wydajność może się różnić w zależności od połączenia internetowego użytkownika i czasu odpowiedzi usługi w chmurze.
Skalowalność
Lokalna, w siedzibie firmy: Skalowanie modelu na urządzeniu lokalnym może wymagać znacznych uaktualnień sprzętowych lub dodania większej liczby urządzeń, co może być kosztowne i czasochłonne.
Chmura: Platformy w chmurze oferują łatwą skalowalność, umożliwiając szybkie dostosowywanie zasobów na podstawie zapotrzebowania bez konieczności wprowadzania fizycznych zmian sprzętu.
Wymagania dotyczące łączności
Lokalne, na miejscu: Urządzenie lokalne nie wymaga połączenia internetowego do uruchomienia modelu, co może być przydatne w środowiskach o ograniczonej łączności.
Chmura: Modele oparte na chmurze wymagają stabilnego połączenia internetowego w celu uzyskania dostępu i mogą mieć wpływ na problemy z siecią.
Dostępność i rezerwowe środowisko uruchomieniowe
Lokalnie, lokalnie wdrożone: Lokalne funkcje sztucznej inteligencji mogą zależeć od sprzętu, Windows wersji, wersji zestawu Windows SDK aplikacji, regionu oraz od tego, czy zainstalowano model opcjonalny. Przed wywołaniem lokalnej funkcji AI sprawdź stan jej gotowości i przeprowadź użytkownika przez wszelkie wymagane procesy pobierania modelu lub wyrażania zgody. W przypadku interfejsów API Windows AI użyj wzorca gotowości właściwego dla danego interfejsu API, opisanego w artykule Wprowadzenie do interfejsów API Windows AI oraz na stronach poszczególnych interfejsów API.
Chmura: Punkt końcowy w chmurze może służyć jako rozwiązanie zapasowe, gdy model lokalny nie jest gotowy albo nie jest obsługiwany na danym urządzeniu. Zdecyduj, czy powrót jest automatyczny, kontrolowany przez użytkownika, czy wyłączony w scenariuszach z uwzględnieniem prywatności. Upewnij się, że interfejs użytkownika wyjaśnia, kiedy dane opuszczają urządzenie.
Rozmiar i złożoność modelu
Lokalne, na miejscu: Urządzenia lokalne mogą mieć ograniczenia dotyczące rozmiaru i złożoności modeli, które mogą być uruchamiane z powodu ograniczeń sprzętowych. Mniejsze modele, takie jak Phi, są bardziej odpowiednie do wykonywania lokalnego.
Chmura: Platformy w chmurze mogą obsługiwać większe i bardziej złożone modele, takie jak te udostępniane przez platformę OpenAI, ze względu na ich skalowalną infrastrukturę.
Narzędzia i skojarzony ekosystem
Lokalne, lokalne wdrożenie: Lokalne rozwiązania sztucznej inteligencji, takie jak Microsoft FoundryMicrosoft Foundry on Windows, Windows ML i Foundry Local, integrują się z zestawem SDK aplikacji Windows i środowiskiem uruchomieniowym ONNX, dzięki czemu deweloperzy mogą osadzać modele bezpośrednio w aplikacjach desktopowych lub brzegowych, z minimalnymi zależnościami zewnętrznymi.
Chmura: Rozwiązania sztucznej inteligencji w chmurze, takie jak Microsoft Foundry, Azure usługi sztucznej inteligencji i Azure usługa OpenAI, zapewniają kompleksowy zestaw interfejsów API i zestawów SDK do tworzenia aplikacji sztucznej inteligencji. Te usługi zostały zaprojektowane tak, aby bezproblemowo integrować się z usługami Azure DevOps, GitHub Copilot, Semantic Kernel i innymi Azure usługami, umożliwiając kompleksową aranżację, wdrażanie modelu i monitorowanie na dużą skalę.
Dostosowywanie i kontrola
Lokalna, na miejscu: Lokalne modele mogą być używane bez konieczności posiadania wysokiego poziomu umiejętności. Microsoft Foundry on Windows oferuje takie modele, jak Phi Silica te, które są gotowe do użycia. Alternatywnie uczenie Windows maszynowe umożliwia deweloperom uruchamianie modeli niestandardowych, takich jak wytrenowane za pomocą środowiska uruchomieniowego ONNX, bezpośrednio na Windows urządzeniach. Zapewnia to wysoki poziom kontroli nad modelem i jego zachowaniem, co pozwala na precyzyjne dostrajanie i optymalizację w oparciu o konkretne przypadki użycia. Foundry Local Umożliwia również deweloperom uruchamianie modeli lokalnie na Windows urządzeniach, zapewniając wysoki poziom kontroli nad modelem i jego zachowaniem.
Chmura: Modele oparte na chmurze oferują również zarówno gotowe do użycia, jak i dostosowywalne opcje, dzięki czemu deweloperzy mogą korzystać ze wstępnie wytrenowanych funkcji, jednocześnie dostosowując model do określonych potrzeb. Microsoft Foundry to ujednolicona Azure oferta typu "platforma jako usługa" dla operacji sztucznej inteligencji przedsiębiorstwa, konstruktorów modeli i tworzenia aplikacji. Ta podstawa łączy infrastrukturę klasy produkcyjnej z przyjaznymi interfejsami, umożliwiając deweloperom skupienie się na tworzeniu aplikacji zamiast zarządzania infrastrukturą.
Przykłady sztucznej inteligencji w chmurze
Jeśli rozwiązanie oparte na chmurze działa lepiej w twoim Windows scenariuszu aplikacji, możesz zainteresować się niektórymi z poniższych samouczków.
Wiele interfejsów API jest dostępnych do uzyskiwania dostępu do modeli opartych na chmurze w celu zasilania funkcji sztucznej inteligencji w aplikacji Windows , niezależnie od tego, czy te modele są dostosowane, czy gotowe do użycia. Użycie modelu opartego na chmurze może umożliwić aplikacji pozostanie usprawnione przez delegowanie zadań intensywnie korzystających z zasobów do chmury. Kilka zasobów ułatwia dodawanie opartych na chmurze interfejsów API opartych na sztucznej inteligencji oferowanych przez firmę Microsoft lub OpenAI:
Dodaj uzupełnianie czatu OpenAI do aplikacji desktopowej WinUI 3 / Windows Zestaw SDK aplikacji: samouczek dotyczący integracji opartych na chmurze funkcji uzupełniania OpenAI ChatGPT w aplikacji desktopowej WinUI 3 / Windows Zestaw SDK aplikacji.
Dodaj DALL-E do aplikacji desktopowej WinUI 3 / Windows App SDK: Samouczek, jak zintegrować możliwości generowania obrazów OpenAI DALL-E oparte na chmurze w aplikacji desktopowej WinUI 3 / Windows App SDK.
Azure Usługa OpenAI: Jeśli chcesz, aby aplikacja Windows mogła uzyskiwać dostęp do modeli OpenAI, takich jak GPT-4, GPT-4 Turbo with Vision, GPT-3.5-Turbo, DALLE-3 lub z serii modeli osadzanie, z dodanymi funkcjami zabezpieczeń oraz dla przedsiębiorstw, możesz znaleźć wskazówki w tej Azure dokumentacji OpenAI.
Azure Usługi sztucznej inteligencji: Azure oferuje cały pakiet usług sztucznej inteligencji dostępny za pośrednictwem interfejsów API REST i zestawów SDK biblioteki klienta w popularnych językach programowania. Aby uzyskać więcej informacji, zobacz dokumentację każdej usługi. Te usługi oparte na chmurze ułatwiają deweloperom i organizacjom szybkie tworzenie inteligentnych, najnowocześniejszych, gotowych na rynek i odpowiedzialnych aplikacji z wbudowanymi i wstępnie utworzonymi i dostosowywalnymi interfejsami API oraz modelami. Przykładowe aplikacje obejmują przetwarzanie języka naturalnego na potrzeby konwersacji, wyszukiwania, monitorowania, tłumaczenia, mowy, przetwarzania obrazów i podejmowania decyzji.
Zaprojektuj hybrydową ścieżkę lokalno-chmurową
Zastosuj podejście hybrydowe, jeśli aplikacja ma korzystać z lokalnego wnioskowania, gdy jest ono dostępne, a jednocześnie nadal działać użytecznie na nieobsługiwanych urządzeniach lub zanim model lokalny będzie gotowy.
- Najpierw wybierz możliwości lokalne. Zacznij od interfejsu API Windows AI, jeśli pasuje do Twojego scenariusza, lub użyj Windows ML / Foundry Local, gdy musisz uruchomić konkretny model.
- Sprawdź gotowość przed użyciem. Podczas uruchamiania lub przed pokazaną funkcją wykonaj zapytanie dotyczące stanu gotowości funkcji lokalnej. Jeśli interfejs API zgłasza, że funkcja nie jest obsługiwana, nie jest zainstalowana lub wymaga pobrania, nie należy wywoływać jej w sposób ślepy.
- Poproś o zgodę, gdy należy pobrać model lokalny. Niektóre modele lokalne są opcjonalne i mogą mieć kilka GB. Wyjaśnij rozmiar pobierania, dlaczego potrzebny jest model i czy aplikacja może kontynuować bez niego.
- Zdefiniuj mechanizm zapasowy w chmurze. Jeśli model lokalny nie jest gotowy, wywołaj punkt końcowy w chmurze tylko wtedy, gdy użytkownik i organizacja zezwalają na przesyłanie danych poza urządzenie. Utrzymuj ścieżki lokalne i chmurowe w ramach tej samej abstrakcji na poziomie aplikacji, aby reszta aplikacji nie zależała od tego, gdzie wykonywane jest wnioskowanie.
- Zachowaj możliwość obserwowania zachowania. Rejestruj, która ścieżka została wykorzystana, błędy gotowości, wyniki pobierania modelu oraz błędy przełączenia awaryjnego do chmury, nie rejestrując promptów, tokenów ani treści wrażliwych, chyba że Twoja organizacja zatwierdziła taki sposób przetwarzania danych.
Schemat decyzyjny hybrydowego awaryjnego przełączania
Użyj tego przepływu jako punktu wyjścia:
- Gdy użytkownik uruchamia funkcję sztucznej inteligencji, sprawdź, czy lokalna funkcja sztucznej inteligencji pasuje do zadania.
- Jeśli żadna funkcja lokalna nie pasuje do zadania, użyj sztucznej inteligencji w chmurze lub innej usługi.
- Jeśli funkcja lokalna pasuje do zadania, sprawdź, czy funkcja jest gotowa na bieżącym urządzeniu.
- Jeśli funkcja lokalna jest gotowa, uruchom wnioskowanie lokalne.
- Jeśli funkcja lokalna wymaga pobrania modelu, poproś użytkownika o zgodę przed rozpoczęciem pobierania.
- Jeśli użytkownik wyrazi zgodę, pobierz lub przygotuj model, ponów próbę wnioskowania lokalnego.
- Jeśli użytkownik nie wyrazi zgody lub jeśli funkcja lokalna nie jest obsługiwana, sprawdź, czy zapasowe rozwiązanie w chmurze jest dozwolone w danym scenariuszu.
- Jeśli dozwolone jest awaryjne użycie chmury, użyj ścieżki chmurowej.
- Jeśli zapasowe użycie chmury nie jest dozwolone, wyjaśnij wymagania dotyczące urządzenia, modelu lub zasad i wyłącz albo ukryj tę funkcję.
Aby uzyskać szczegółowe informacje o dostępności w regionach, zobacz Windows interfejsy API AI, Rozpoczęcie pracy z Windows interfejsami API AI, Foundry Local, i Windows ML.