Udostępnij przez


Podejścia architektury do sztucznej inteligencji i uczenia maszynowego w rozwiązaniach wielodostępnych

Coraz większa liczba wielodostępnych rozwiązań jest tworzona wokół sztucznej inteligencji i uczenia maszynowego. Wielodostępne rozwiązanie sztucznej inteligencji i uczenia maszynowego zapewnia jednolite możliwości oparte na uczeniu maszynowym dla dowolnej liczby dzierżaw. Dzierżawcy zazwyczaj nie widzą ani nie udostępniają danych żadnej innej dzierżawy, ale w niektórych przypadkach dzierżawcy mogą używać tych samych modeli co inne dzierżawy.

Wielodostępna sztuczna inteligencja i architektury uczenia maszynowego muszą uwzględniać wymagania dotyczące danych i modeli. Te architektury muszą również uwzględniać zasoby obliczeniowe wymagane do trenowania modeli i wnioskowania. Ważne jest, aby wziąć pod uwagę, w jaki sposób wielodostępne modele sztucznej inteligencji i uczenia maszynowego są wdrażane, dystrybuowane i aranżowane oraz czy rozwiązanie jest dokładne, niezawodne i skalowalne.

Generowanie technologii sztucznej inteligencji opartych zarówno na dużych, jak i małych modelach językowych nadal zyskuje popularność. W związku z tym organizacje muszą ustanowić skuteczne praktyki operacyjne i strategie zarządzania tymi modelami w środowiskach produkcyjnych, przyjmując operacje uczenia maszynowego (MLOps) i generujące operacje sztucznej inteligencji (GenAIOps), czasami znane jako LLMOps.

Kluczowe zagadnienia i wymagania

Podczas pracy ze sztuczną inteligencją i uczeniem maszynowym ważne jest, aby oddzielnie wziąć pod uwagę wymagania dotyczące trenowania i wnioskowania. Celem szkolenia jest utworzenie modelu predykcyjnego opartego na zestawie danych. Wnioskowanie jest wykonywane, gdy używasz modelu do przewidywania czegoś w aplikacji. Każdy z tych procesów ma inne wymagania. W rozwiązaniu wielodostępnym należy rozważyć, w jaki sposób model dzierżawy wpływa na każdy proces. Biorąc pod uwagę każde z tych wymagań, możesz upewnić się, że rozwiązanie zapewnia dokładne wyniki, działa dobrze pod obciążeniem, jest opłacalne i może być skalowane w przyszłości.

Izolacja dzierżawy

Upewnij się, że dzierżawy nie uzyskują nieautoryzowanego ani niechcianego dostępu do danych lub modeli innych dzierżaw. Traktuj modele o podobnej poufności do nieprzetworzonych danych, które je trenują. Upewnij się, że dzierżawcy rozumieją, w jaki sposób ich dane są używane do trenowania modeli i sposobu trenowania modeli na danych innych dzierżawców, mogą być używane do celów wnioskowania na ich obciążeniach.

Trzy typowe podejścia do pracy z modelami uczenia maszynowego w rozwiązaniach wielodostępnych to modele specyficzne dla dzierżawy, modele udostępnione i dostrojone modele udostępnione.

Modele specyficzne dla dzierżawy

Modele specyficzne dla dzierżawy są trenowane tylko na danych dla jednej dzierżawy, a następnie są stosowane do tej pojedynczej dzierżawy. Używaj modeli specyficznych dla dzierżawy, gdy dane dzierżawy są poufne lub gdy nie można skutecznie zastosować szczegółowych informacji z danych jednej dzierżawy do innej dzierżawy. Na poniższym diagramie przedstawiono sposób tworzenia rozwiązania z modelami specyficznymi dla dzierżawy dla dwóch dzierżaw.

Diagram przedstawiający dwa modele specyficzne dla dzierżawy. Każdy model jest trenowany przy użyciu danych z jednej dzierżawy.

Modele udostępnione

W rozwiązaniach korzystających z modeli udostępnionych wszystkie dzierżawy wykonują wnioskowanie na podstawie tego samego modelu udostępnionego. Modele udostępnione mogą być wstępnie wytrenowane, które uzyskujesz lub uzyskujesz ze źródła społeczności. Na poniższym diagramie pokazano, jak wszyscy dzierżawcy mogą używać jednego wstępnie wytrenowanego modelu do wnioskowania.

Diagram przedstawiający pojedynczy wstępnie wytrenowany model. Model jest używany do wnioskowania przez użytkowników ze wszystkich dzierżaw.

Możesz również tworzyć własne modele udostępnione, szkoląc je na podstawie danych udostępnianych przez wszystkie dzierżawy. Na poniższym diagramie przedstawiono pojedynczy model udostępniony, który jest trenowany na danych ze wszystkich dzierżaw.

Diagram przedstawiający pojedynczy model udostępniony wytrenowany na danych z wielu dzierżaw. Model jest używany do wnioskowania przez użytkowników ze wszystkich dzierżaw.

Ważne

Jeśli wytrenujesz model udostępniony na podstawie danych dzierżawy, upewnij się, że dzierżawcy rozumieją i zgadzają się na korzystanie z ich danych. Upewnij się, że identyfikowanie informacji jest usuwane z danych dzierżawców.

Zastanów się, co zrobić, jeśli dzierżawa obiektów do danych używanych do trenowania modelu obsługującego inną dzierżawę. Jeśli na przykład obiekty dzierżawy do ich danych są używane do trenowania modelu obsługującego inną dzierżawę, może być konieczne wykluczenie danych tej dzierżawy z zestawu danych trenowania.

Dostrojone modele udostępnione

Możesz również uzyskać wstępnie wytrenowany model podstawowy, a następnie przeprowadzić dalsze dostrajanie modelu, aby zastosować go do każdej dzierżawy na podstawie własnych danych. Na poniższym diagramie przedstawiono to podejście.

Diagram przedstawiający wstępnie wytrenowany model podstawowy wyspecjalizowany dla każdej dzierżawy z własnymi danymi.

Skalowalność

Zastanów się, jak rozwój rozwiązania wpływa na użycie sztucznej inteligencji i składników uczenia maszynowego. Wzrost może odnosić się do zwiększenia liczby dzierżaw, ilości danych przechowywanych dla każdej dzierżawy, liczby użytkowników i liczby żądań do rozwiązania.

Szkolenie: Istnieje kilka czynników mających wpływ na zasoby wymagane do trenowania modeli. Czynniki te obejmują liczbę modeli, które należy wytrenować, ilość danych używanych do trenowania modeli oraz częstotliwość trenowania lub ponownego trenowania modeli. Jeśli tworzysz modele specyficzne dla dzierżawy, wraz ze wzrostem liczby dzierżaw, ilość zasobów obliczeniowych i magazynu, których potrzebujesz, również prawdopodobnie wzrośnie. Jeśli tworzysz modele udostępnione i trenujesz je przy użyciu danych ze wszystkich dzierżaw, zasoby szkoleniowe zwykle nie są skalowane w takim samym tempie, jak wzrost dzierżawy. Jednak wraz ze wzrostem ogólnej ilości danych treningowych wpływa to na zasoby używane do trenowania modeli udostępnionych i specyficznych dla dzierżawy.

Wnioskowanie: Zasoby wymagane do wnioskowania są często proporcjonalne do liczby żądań, które uzyskują dostęp do modeli na potrzeby wnioskowania. W miarę wzrostu liczby dzierżaw, liczba żądań może również wzrosnąć.

Dobrym rozwiązaniem jest użycie usług platformy Azure, które dobrze skaluje się. Ponieważ obciążenia sztucznej inteligencji i uczenia maszynowego zwykle korzystają z kontenerów, usługi Azure Kubernetes Service (AKS) i usługi Azure Container Instances zwykle są typowymi opcjami dla obciążeń sztucznej inteligencji i uczenia maszynowego. Usługa AKS jest często dobrym wyborem umożliwiającym skalowanie na dużą skalę i dynamiczne skalowanie zasobów obliczeniowych na podstawie zapotrzebowania. Usługi Container Instances można używać w przypadku małych obciążeń. Konfiguracja jest stosunkowo stosunkowo łatwa, ale nie jest tak łatwa jak usługa AKS.

Performance

Należy wziąć pod uwagę wymagania dotyczące wydajności składników sztucznej inteligencji i uczenia maszynowego rozwiązania, w tym trenowania i wnioskowania. Jasno zdefiniuj oczekiwania dotyczące opóźnień i wydajności dla każdego procesu, aby można było je mierzyć i ulepszać w razie potrzeby.

Szkolenie: Trenowanie jest często wykonywane jako proces wsadowy, co oznacza, że może nie być tak wrażliwe na wydajność, jak inne części obciążenia. Należy jednak upewnić się, że aprowizujesz wystarczające zasoby do wydajnego trenowania modelu, w tym w miarę skalowania.

Wnioskowanie: Wnioskowanie jest procesem wrażliwym na opóźnienia, który często wymaga szybkiej lub nawet odpowiedzi w czasie rzeczywistym. Nawet jeśli nie musisz wnioskować w czasie rzeczywistym, upewnij się, że monitorujesz wydajność rozwiązania i używasz odpowiednich usług do optymalizacji obciążenia.

Rozważ użycie możliwości obliczeń o wysokiej wydajności platformy Azure dla obciążeń sztucznej inteligencji i uczenia maszynowego. Platforma Azure udostępnia wiele różnych typów maszyn wirtualnych i innych wystąpień sprzętu. Zastanów się, czy rozwiązanie może korzystać z procesorów CPU, procesorów GPU, macierzy bram programowalnych w terenie (FPGA) lub innych środowisk przyspieszanych sprzętowo. Platforma Azure zapewnia również wnioskowanie w czasie rzeczywistym z procesorami GPU FIRMY NVIDIA, w tym z serwerem NVIDIA Triton Inference Server. W przypadku wymagań obliczeniowych o niskim priorytcie rozważ użycie pul węzłów typu spot usługi AKS. Aby uzyskać więcej informacji na temat optymalizowania usług obliczeniowych w rozwiązaniu wielodostępnym, zobacz Metody architektury do obliczeń w rozwiązaniach wielodostępnych.

Trenowanie modelu zwykle wymaga wielu interakcji z magazynami danych, dlatego ważne jest również, aby wziąć pod uwagę strategię danych i wydajność zapewnianą przez warstwę danych. Aby uzyskać więcej informacji na temat wielodostępności i usług danych, zobacz Metody architektury magazynowania i danych w rozwiązaniach wielodostępnych.

Rozważ profilowanie wydajności rozwiązania. Na przykład usługa Azure Machine Learning udostępnia możliwości profilowania , których można użyć podczas opracowywania i instrumentowania rozwiązania.

Złożoność implementacji

Podczas tworzenia rozwiązania do używania sztucznej inteligencji i uczenia maszynowego można używać wstępnie utworzonych składników lub kompilować składniki niestandardowe. Musisz podjąć dwie kluczowe decyzje. Najpierw wybierz platformę lub usługę do użycia na potrzeby sztucznej inteligencji i uczenia maszynowego. Po drugie zdecyduj, czy używać wstępnie wytrenowanych modeli, czy tworzyć własne modele niestandardowe.

Platformy: Istnieje wiele usług platformy Azure, których można używać na potrzeby obciążeń sztucznej inteligencji i uczenia maszynowego. Na przykład firma Microsoft Foundry udostępnia interfejsy API do wnioskowania względem wstępnie utworzonych modeli, a firma Microsoft zarządza bazowymi zasobami. Funkcja Foundry umożliwia szybkie wdrażanie nowego rozwiązania, ale ogranicza kontrolę nad procesami trenowania i wnioskowania i może nie odpowiadać każdemu typowi obciążenia. Z kolei usługa Machine Learning to platforma, która umożliwia tworzenie, trenowanie i używanie własnych modeli uczenia maszynowego. Uczenie maszynowe zapewnia kontrolę i elastyczność, ale zwiększa złożoność projektu i implementacji. Zapoznaj się z produktami i technologiami uczenia maszynowego firmy Microsoft , aby podjąć świadomą decyzję podczas wybierania podejścia.

Modele: Nawet jeśli nie używasz pełnego modelu, który zapewnia usługa taka jak Foundry, nadal możesz użyć wstępnie wytrenowanego modelu w celu przyspieszenia opracowywania. Jeśli wstępnie wytrenowany model nie pasuje dokładnie do Twoich potrzeb, rozważ rozszerzenie wstępnie wytrenowanego modelu, stosując technikę znaną jako precyzyjne dostrajanie lub uczenie transferowe. Dostrajanie umożliwia rozszerzenie istniejącego modelu i zastosowanie go do innej domeny. Jeśli na przykład utworzysz wielodostępną usługę rekomendacji dotyczących muzyki, możesz rozważyć rozpoczęcie od wstępnie wytrenowanego modelu rekomendacji dotyczących muzyki i użyć dostrajania w celu wytrenowania modelu dla preferencji muzycznych określonego użytkownika.

Korzystając ze wstępnie utworzonej platformy uczenia maszynowego, takiej jak Foundry lub wstępnie wytrenowany model, można znacznie zmniejszyć początkowe koszty badań i programowania. Korzystanie ze wstępnie utworzonych platform może zaoszczędzić wiele miesięcy badań i uniknąć konieczności rekrutacji wysoko wykwalifikowanych analityków danych do trenowania, projektowania i optymalizowania modeli.

Optymalizacja kosztów

Ogólnie rzecz biorąc, obciążenia sztucznej inteligencji i uczenia maszynowego generują największy odsetek kosztów z zasobów obliczeniowych wymaganych do trenowania i wnioskowania modelu. Aby uzyskać więcej informacji na temat optymalizowania kosztów obciążenia obliczeniowego pod kątem wymagań, zobacz Podejścia architektury do obliczeń w rozwiązaniach wielodostępnych.

Podczas planowania kosztów sztucznej inteligencji i uczenia maszynowego należy wziąć pod uwagę następujące wymagania:

  • Określanie jednostek SKU obliczeniowych na potrzeby trenowania i wnioskowania. Możesz użyć różnych jednostek SKU do trenowania i wnioskowania. Wybierz jednostki SKU spełniające wymagania dotyczące wydajności i kosztów, które są dostępne w używanych regionach. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące obliczeń dla obciążeń sztucznej inteligencji w infrastrukturze platformy Azure (IaaS).

  • Monitoruj użycie. Obserwując użycie zasobów obliczeniowych, możesz określić, czy należy zmniejszyć lub zwiększyć ich pojemność, wdrażając różne jednostki SKU, czy skalując zasoby obliczeniowe w miarę zmiany wymagań. Aby uzyskać więcej informacji, zobacz Monitorowanie uczenia maszynowego.

  • Zoptymalizuj środowisko klastrowania obliczeniowego. W przypadku korzystania z klastrów obliczeniowych należy monitorować użycie klastra lub konfigurować skalowanie automatyczne w celu skalowania węzłów obliczeniowych w dół.

  • Udostępnianie zasobów obliczeniowych. Zastanów się, czy możesz zoptymalizować koszt zasobów obliczeniowych, udostępniając je w wielu dzierżawach.

  • Rozważ budżet. Dowiedz się, czy masz stały budżet i odpowiednio monitoruj zużycie. Budżety można skonfigurować , aby zapobiec nadmiernym wypłaceniu i przydzielić limity przydziału na podstawie priorytetu dzierżawy.

Podejścia i wzorce do rozważenia

Platforma Azure udostępnia zestaw usług umożliwiających korzystanie ze sztucznej inteligencji i obciążeń uczenia maszynowego. Istnieje kilka typowych metod architektury używanych w rozwiązaniach wielodostępnych:

  • Korzystanie ze wstępnie utworzonych rozwiązań sztucznej inteligencji i uczenia maszynowego.

  • Tworzenie niestandardowej architektury sztucznej inteligencji i uczenia maszynowego przy użyciu usługi Machine Learning.

  • Użyj jednej z platform analizy platformy Azure.

Korzystanie ze wstępnie utworzonych usług sztucznej inteligencji i uczenia maszynowego

Dobrym rozwiązaniem jest wypróbowanie wstępnie utworzonych usług sztucznej inteligencji i uczenia maszynowego, gdy to możliwe. Na przykład organizacja może zacząć eksplorować sztuczną inteligencję i uczenie maszynowe i chcieć szybko zintegrować się z przydatną usługą. Możesz też mieć podstawowe wymagania, które nie wymagają niestandardowego trenowania i opracowywania modeli uczenia maszynowego. Wstępnie utworzone usługi uczenia maszynowego umożliwiają korzystanie z wnioskowania bez tworzenia i trenowania własnych modeli.

Platforma Azure oferuje kilka usług, które zapewniają technologię sztucznej inteligencji i uczenia maszynowego w różnych domenach. Te domeny obejmują informacje o języku, rozpoznawanie mowy, wiedzę, rozpoznawanie dokumentów i formularzy oraz przetwarzanie obrazów. Platforma Azure dostarcza wstępnie utworzone usługi sztucznej inteligencji i uczenia maszynowego za pośrednictwem rozwiązania Foundry, która jest ujednoliconą usługą aplikacji sztucznej inteligencji. Ta usługa zapewnia użytkownikom dostęp do różnych modeli, w tym usługi Azure OpenAI w Foundry Models. Platforma Azure udostępnia również zestaw autonomicznych usług sztucznej inteligencji, w tym usług Azure AI Search i Azure AI Document Intelligence. Każda usługa udostępnia prosty interfejs do integracji i kolekcji wstępnie wytrenowanych i przetestowanych modeli. Jako usługi zarządzane zapewniają umowy dotyczące poziomu usług i wymagają niewielkiej konfiguracji lub ciągłego zarządzania. Nie musisz opracowywać ani testować własnych modeli, aby korzystać z tych usług.

Wiele zarządzanych usług uczenia maszynowego nie wymaga trenowania modelu ani danych, więc zwykle nie ma problemów z izolacją danych dzierżawy. Jednak niektóre zarządzane usługi sztucznej inteligencji i uczenia maszynowego zapewniają możliwość dostosowywania modelu:

Podczas pracy z tymi usługami ważne jest, aby wziąć pod uwagę wymagania dotyczące izolacji danych dzierżawy.

Weź pod uwagę wymagania dotyczące skalowania składników w rozwiązaniu. Na przykład wiele interfejsów API w usługach Azure AI obsługuje maksymalną liczbę żądań na sekundę. Jeśli wdrożysz pojedynczy zasób usług sztucznej inteligencji, który będzie współużytkować w różnych dzierżawach, w miarę wzrostu liczby dzierżaw może być konieczne skalowanie do wielu zasobów.

Niestandardowa architektura sztucznej inteligencji i uczenia maszynowego

Jeśli twoje rozwiązanie wymaga modeli niestandardowych lub działa w domenie, która nie jest objęta usługą zarządzanego uczenia maszynowego, rozważ utworzenie własnej architektury sztucznej inteligencji i uczenia maszynowego. Usługa Machine Learning udostępnia zestaw funkcji do organizowania trenowania i wdrażania modeli uczenia maszynowego:

  • Używaj różnych bibliotek uczenia maszynowego typu open source, w tym PyTorch, TensorFlow, Scikit i Keras.

  • Ciągłe monitorowanie metryk wydajności modeli.

  • Wykryj dryf danych, czyli gdy dane wejściowe modelu zmieniają się w czasie.

  • Wyzwalanie ponownego trenowania w celu zwiększenia wydajności modelu.

  • Stosowanie inspekcji i ładu w całym cyklu życia modeli uczenia maszynowego. Użyj wbudowanego śledzenia i pochodzenia danych (czyli śledzenia relacji danych i modelu) dla wszystkich artefaktów uczenia maszynowego.

Podczas pracy w rozwiązaniu wielodostępnym należy wziąć pod uwagę wymagania dotyczące izolacji dzierżaw podczas etapów trenowania i wnioskowania. Należy również określić proces trenowania i wdrażania modelu. Uczenie maszynowe udostępnia potok trenowania modeli i wdrażania ich w środowisku na potrzeby wnioskowania. Ten proces umożliwia modelom generowanie przewidywań lub szczegółowych informacji na podstawie nowych danych. W kontekście wielodostępnym zastanów się, czy modele powinny być wdrażane w udostępnionych zasobach obliczeniowych, czy też każda dzierżawa ma dedykowane zasoby. Zaprojektuj potoki wdrażania modelu na podstawie modelu izolacji i procesu wdrażania dzierżawy.

W przypadku korzystania z modeli typu open source może być konieczne ponowne trenowanie tych modeli przy użyciu uczenia transferowego lub dostrajania. Zastanów się, jak zarządzać różnymi modelami i danymi treningowymi dla każdej dzierżawy wraz z wersjami poszczególnych modeli.

Na poniższym diagramie przedstawiono przykładową architekturę korzystającą z usługi Machine Learning. Alternatywnie możesz wykorzystać środowisko nauki o danych usługi Microsoft Fabric, które zapewnia takie możliwości jak eksperymenty, zarządzanie modelami i wdrażanie punktów końcowych. W przykładzie użyto podejścia izolacji modeli specyficznych dla dzierżawy .

Diagram przedstawiający architekturę korzystającą z usługi Machine Learning.

Zintegrowane rozwiązania sztucznej inteligencji i uczenia maszynowego

Platforma Azure udostępnia kilka zaawansowanych platform analitycznych, które mogą być używane w różnych celach. Te platformy obejmują usługi Microsoft Fabric, Azure Databricks i Apache Spark.

Możesz rozważyć użycie tych platform na potrzeby sztucznej inteligencji i uczenia maszynowego, gdy trzeba skalować możliwości w celu obsługi dużej liczby dzierżaw i wymagać dużej liczby zasobów obliczeniowych i orkiestracji na dużą skalę. Możesz również rozważyć użycie tych platform, jeśli potrzebujesz szerokiego rozwiązania analitycznego dla innych części systemu, takich jak analiza danych i integracja z raportowaniem za pośrednictwem usługi Power BI. Możesz wdrożyć jedną platformę, która obsługuje wszystkie twoje potrzeby dotyczące analizy i sztucznej inteligencji oraz uczenia maszynowego. Podczas implementowania platform danych w rozwiązaniu wielodostępnym zapoznaj się z artykułem Architektury dotyczące magazynowania i danych w rozwiązaniach wielodostępnych.

Model operacyjny uczenia maszynowego

W przypadku wdrażania sztucznej inteligencji i uczenia maszynowego, w tym praktyk generowania sztucznej inteligencji, dobrym rozwiązaniem jest ciągłe ulepszanie i ocenianie możliwości organizacji w zarządzaniu nimi. Wprowadzenie metodyki MLOps i metodyki GenAIOps obiektywnie zapewnia platformę umożliwiającą ciągłe rozszerzanie możliwości sztucznej inteligencji i uczenia maszynowego w organizacji. Aby uzyskać więcej informacji, zobacz Model dojrzałości MLOps i Model dojrzałości GenAIOps.

Antywzorzecy, aby uniknąć

  • Nie można rozważyć wymagań dotyczących izolacji: Ważne jest, aby dokładnie rozważyć sposób izolowania danych i modeli dzierżawców na potrzeby trenowania i wnioskowania. Brak izolowania danych i modeli dzierżawców może naruszać wymagania prawne lub umowne. Może również zmniejszyć dokładność modeli w celu trenowania danych wielu dzierżaw, jeśli dane są znacznie inne.

  • Hałaśli sąsiedzi: Zastanów się, czy procesy trenowania lub wnioskowania mogą podlegać problemowi hałaśliwego sąsiada. Jeśli na przykład masz kilka dużych dzierżaw i jednej małej dzierżawy, upewnij się, że trenowanie modelu dla dużych dzierżaw nie przypadkowo zużywa wszystkich zasobów obliczeniowych i pozbawia mniejszych dzierżaw. Użyj nadzoru i monitorowania zasobów, aby ograniczyć ryzyko, że aktywność innych dzierżaw wpływa na obciążenie obliczeniowe dzierżawy.

Współautorzy

Firma Microsoft utrzymuje ten artykuł. Następujący współautorzy napisali ten artykuł.

Główny autor:

  • Kevin Ashley | Starszy inżynier klienta, fasttrack dla platformy Azure

Inni współautorzy:

  • Paul Burpo | Główny inżynier klienta, fasttrack dla platformy Azure
  • John Downs | Główny inżynier oprogramowania, wzorce i praktyki platformy Azure
  • Vic Perdana | Architekt rozwiązań partnera niezależnego dostawcy oprogramowania
  • Daniel Scott-Raynsford | Architekt rozwiązań partnerskich
  • Arsen Vladimirskiy | Główny inżynier klienta, FastTrack dla Azure
  • Rodrigo Rodríguez | Starszy architekt rozwiązań w chmurze, sztuczna inteligencja i kwant

Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następny krok