Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
wzorzec architektury Azure dla obciążeń sztucznej inteligencji
Ten artykuł zawiera wzorce architektury i architektury referencyjne punktu odniesienia, które ułatwiają projektowanie, wdrażanie i zarządzanie obciążeniami sztucznej inteligencji na Azure. Obejmuje ona podstawowe składniki, interakcje i najlepsze rozwiązania dotyczące tworzenia bezpiecznych, skalowalnych i dobrze zarządzanych systemów sztucznej inteligencji.
Użyj tego wzorca architektury jako punktu odniesienia podczas projektowania obciążeń sztucznej inteligencji. Zacznij od podstawowych składników i interakcji przedstawionych we wzorcu, a następnie dostosuj je do celów biznesowych, ograniczeń technicznych i stanu ryzyka.
Na przykład organizacja chce utworzyć aplikację asystenta sztucznej inteligencji przedsiębiorstwa, która umożliwia pracownikom zadawanie pytań dotyczących wewnętrznych dokumentów i danych operacyjnych. Kiedy użytkownik zadaje pytanie, aplikacja ustala, jakie dane są potrzebne, pobiera odpowiedni kontekst i wywołuje właściwy model, aby wygenerować uzasadnioną odpowiedź. W tym celu potrzebny jest potok danych, który czyści, wzbogaca i indeksuje wewnętrzne dokumenty, aby asystent mógł pobrać zaufany, aktualny kontekst. Podobnie jak w przypadku każdej aplikacji, skorzystaj z rozwiązań Well-Architected, aby zachować niezawodną, bezpieczną i zoptymalizowaną pod kątem kosztów aplikację.
Chociaż ten asystent sztucznej inteligencji reprezentuje konkretny scenariusz biznesowy, wzorzec architektury, który stosuje, jest wystarczająco ogólny, aby dostosować się do wielu przypadków użycia sztucznej inteligencji o podobnych charakterystykach.
Ten artykuł przeprowadzi Cię przez ten ogólny wzorzec, który ustanawia podstawową wiedzę na temat podstawowych składników, ich funkcji i interakcji w obciążeniu sztucznej inteligencji. Dzięki tej podstawie możesz podejmować świadome decyzje projektowe w celu tworzenia niezawodnych rozwiązań sztucznej inteligencji podczas dostosowywania architektury do konkretnego przypadku użycia.
Architektura obciążenia sztucznej inteligencji wysokiego poziomu
Na tym diagramie przedstawiono kluczowe składniki, które można uwzględnić w projekcie obciążenia roboczego AI.
Składnik
Description
Przetwarzanie i analiza danych
Zbieraj nieprzetworzone dane z różnych źródeł, czyść je, przekształcać i organizować w zestawy danych gotowe do trenowania modelu, dostrajania i uziemienia. Ta warstwa nie współdziała bezpośrednio z użytkownikami, ale umożliwia dokładne, wydajne interakcje sztucznej inteligencji podrzędne.
Trenowanie modelu i dostrajanie
Trenować modele na danych, śledzić wersje i monitorować wydajność, korzystając z powtarzalnego procesu. Korzystaj z praktyk MLOps, aby nieustannie udoskonalać się wraz z napływem nowych danych i zachować zgodność z potrzebami biznesowymi.
Inteligentne aplikacje sztucznej inteligencji
W tym miejscu użytkownicy wchodzą w interakcję ze sztuczną inteligencją. Łączy wstępnie wytrenowane modele z logiką aplikacji, aby znaleźć odpowiednie informacje, tworzyć monity, kompilować interfejsy i uczyć się od opinii.
Praktyki i proces sztucznej inteligencji
Zapewnij niezawodność rozwiązania sztucznej inteligencji, integrując zasady metodyki DevOps, system kontroli wersji oraz automatyczne przepływy zadań ze środowiskiem MLOps. Wdrażaj iteracyjnie przy użyciu zabezpieczeń i stale sprawdzaj dokładność, wydajność i stronniczość.
Usługi i narzędzia platformy
Podstawowe usługi w chmurze, które zabezpieczają zasoby, kontrolują koszty i monitorują kondycję systemu od programowania do wdrożenia. Używaj potoków CI/CD do niezawodnej automatyzacji oraz specjalistycznych narzędzi do skanowania danych wyjściowych AI pod kątem zgodności.
Kompozycja obciążenia
W tej sekcji opisano dwa główne obciążenia: obciążenie aplikacji inteligentnej oraz obciążenie trenowania i dostrajania. Każde obciążenie ma własne zagadnienia projektowe dotyczące okresu istnienia i stanu, zasięgu i zależności, skalowalności i dostępności oraz zabezpieczeń i odpowiedzialnej sztucznej inteligencji.
Nie wszystkie obciążenia sztucznej inteligencji wymagają trenowania i dostrajania składników. Jeśli używasz tylko wstępnie wytrenowanych modeli bez żadnego niestandardowego trenowania, skoncentruj się na inteligentnym obciążeniu aplikacji. Jeśli jednak twój przypadek użycia obejmuje tworzenie modeli niestandardowych lub ciągłe ulepszanie ich przy użyciu nowych danych, obciążenie trenowania i dostrajania staje się niezbędne. Oba obciążenia są modułowe, dzięki czemu można zaimplementować składniki, które są istotne dla konkretnego przypadku użycia, postępując zgodnie z najlepszymi rozwiązaniami opisanymi w zagadnieniach dotyczących projektowania.
Charakterystyka projektu
Description
Okres istnienia i stan
Czas życia odnosi się do oczekiwanego czasu trwania istnienia i aktywności zasobu w ramach obciążenia roboczego. Stan odnosi się do danych lub informacji, które zasób utrzymuje w czasie.
Zasięg i zależności
Zasięg odnosi się do zakresu, w jakim zasób musi być dostępny lub dystrybuowany. Zależności odnoszą się do relacji i polegania na innych zasobach.
Skalowalność i dostępność
Skalowalność to możliwość obsługi zwiększonego obciążenia lub zapotrzebowania zasobu. Dostępność to zdolność zasobu do pozostania operacyjnej i dostępnej.
Bezpieczeństwo i odpowiedzialne używanie sztucznej inteligencji
Zabezpieczenia odnoszą się do środków, które chronią dane i zapewniają zgodność z przepisami. Odpowiedzialne używanie sztucznej inteligencji odnosi się do praktyk, które zapewniają etyczną sztuczną inteligencję, w tym sprawiedliwość, przejrzystość i odpowiedzialność.
Na tym diagramie przedstawiono kluczowe składniki obciążenia aplikacji inteligentnej do uwzględnienia w projekcie.
Składnik
Description
Warstwa klienta
Warstwa kliencka umożliwia użytkownikom i systemom zewnętrznym łączenie się ze sztuczną inteligencją. Ta warstwa pobiera żądania i zwraca odpowiedzi generowane przez sztuczną inteligencję, jednocześnie upewniając się, że środowisko jest proste i łatwe w użyciu.
Warstwa inteligencji — interfejs API
Interfejs API warstwy analizy łączy klientów i funkcje analizy systemu za pośrednictwem dobrze zdefiniowanych interfejsów API. Odpowiada za kierowanie żądań do odpowiedniego agenta lub procesu aranżacji, upewniając się, że interakcje między użytkownikami i usługami są bezproblemowe i spójne. Ta warstwa obsługuje również sposób uzyskiwania dostępu do danych, kładą środki zabezpieczeń i ustawiają limity, aby zapobiec przeciążeniu systemu. Jeśli aplikacja potrzebuje prostego przewidywania, ta warstwa może pominąć złożone kroki aranżacji i wysłać żądanie bezpośrednio do aparatu wnioskowania w celu uzyskania szybkiej odpowiedzi.
Warstwa inteligencji — orkiestracja i komputacja agentów
Warstwa obliczeniowa orkiestracji i agentów jest odpowiedzialna za koordynowanie sposobu współdziałania różnorodnych składników sztucznej inteligencji w celu realizacji zadań. W zależności od tego, co jest wymagane, może uruchamiać zadania jeden po drugim lub pozwolić kilku agentom pracować w tym samym czasie, a następnie scalić ich wyniki. Określa intencję użytkownika; sprawdza odpowiedzi, aby upewnić się, że są bezpieczne; integruje się z warstwą wiedzy w celu uzyskania informacji i używa narzędzi do łączenia wszystkiego, by zapewnić najlepszą odpowiedź.
Warstwa inteligencji — zarządzanie rozmowami
Warstwa zarządzania konwersacjami to systemowy menedżer pamięci i konwersacji. Umożliwia ona naturalnie czat sztucznej inteligencji, przypominając poprzednie wiadomości, śledząc bieżące tematy i przechowując ważne elementy z dyskusji, dzięki czemu konwersacje mogą bezproblemowo przepływać nawet podczas długich sesji. Sprawdza również, jak dane konwersacji są przechowywane lub usuwane, dzięki czemu informacje są obsługiwane w sposób odpowiedzialny.
Warstwa wnioskowania — podstawowe lub predykcyjne modele
Warstwa wnioskowania polega na tym, że wytrenowany model tworzy przewidywania, generuje zawartość lub podejmuje decyzje na podstawie odbieranych informacji. Proces rozpoczyna się od załadowania modelu sztucznej inteligencji, przygotowania danych, uruchamiania przewidywań, a następnie formatowania wyników, aby były dostępne natychmiast (w czasie rzeczywistym) lub późniejszym (przetwarzanie wsadowe).
Warstwa wiedzy
Warstwa wiedzy to miejsce, w którym system pobiera informacje i kontekst niezbędne do dokładnego odpowiadania na pytania. Zapewnia ona bezpieczny dostęp do danych przy użyciu uprawnień i autoryzacji. Warstwa wiedzy pomaga sztucznej inteligencji postępować zgodnie z podejściem RAG, wyszukując indeksy lub wektorowe bazy danych w celu znalezienia odpowiedniej zawartości. Dzięki temu sztuczna inteligencja może uzyskiwać dostęp do różnych wewnętrznych i zewnętrznych źródeł danych w spójny sposób, niezależnie od tego, czy są to protokoły MCP, czy REST.
Warstwa narzędzi
Warstwa narzędzi umożliwia udostępnianie akcji biznesowych i możliwości zewnętrznych. Warstwa analizy może wyzwalać te akcje lub łączyć się z innymi systemami, wywołując narzędzia lub agentów w sposób ustandaryzowany, niezależnie od tego, czy jest to rozwiązanie MCP, A2A, czy OpenAPI/REST. Te możliwości są prezentowane jako opcje umożliwiające podejmowanie działań, gotowe do użycia przez warstwę analizy i mogą być obsługiwane bezpośrednio przez obciążenie lub usługi zewnętrzne.
Uwagi dotyczące projektowania
Podczas projektowania architektury obciążenia aplikacji inteligentnej należy wziąć pod uwagę następujące cechy projektowe, aby podejmować świadome decyzje dotyczące projektowania i interakcji składników.
Okres istnienia i stan
Interfejs API inteligencji, orkiestracja, wnioskowanie i warstwy wiedzy to wszystkie długotrwałe usługi, które działają przez cały czas trwania obciążenia. Zainwestuj w dostępność, monitorowanie i doskonałość operacyjną dla każdej usługi.
Każda warstwa ewoluuje w innym tempie, więc potrzebna jest celowa koordynacja wdrażania. Interfejs API analizy powoli ewoluuje, aby zachować stabilność i zachować zgodność z poprzednimi wersjami. Warstwy orkiestracji i agenta ewoluują szybciej w miarę dodawania nowych funkcji. Warstwa wnioskowania jest aktualizowana podczas wdrażania nowych modeli. Warstwa wiedzy stale ewoluuje wraz ze zmianami danych.
Składniki bezstanowe można przydzielić lub cofnąć przydział na żądanie, podczas gdy składniki stanowe zarządzają danymi, które utrzymują się w interakcjach.
Interfejs API do analizy danych, orkiestracja i warstwy wnioskowania są bezstanowe, co ułatwia ich skalowanie przez dodanie większej liczby instancji. Warstwa orkiestracji może przechowywać stan efemeryczny podczas wykonywania, ale nie przechowuje go poza przetwarzaniem żądań. Stan tymczasowy zmniejsza złożoność operacyjną, ale ogranicza opcje odzyskiwania po awarii, dlatego należy dokładnie zaprojektować ponowne próby oraz zapewnienie idempotentności.
Dane sesji zarządzania konwersacjami mogą trwać od minut do dni. Dłuższe sesje umożliwiają bogatsze rozmowy, ale kosztują więcej i zwiększają ryzyko prywatności. Warstwa wiedzy przechowuje dane w indeksach i bazach danych, które ewoluują w miarę dodawania, aktualizowania lub usuwania informacji.
Kompromis. Decyzje dotyczące zarządzania okresem istnienia i stanem mają bezpośredni wpływ na koszty, niezawodność i wydajność. Długotrwałe, komponenty o stanach trwałych wymagają większej inwestycji w skalowanie i odporność, podczas gdy komponenty bezstanowe, przejściowe są bardziej ekonomiczne, ale mogą powodować opóźnienia związane z zimnymi startami lub pobieraniem stanu zewnętrznego.
Zasięg i zależności
Interfejs API analizy to jedyny publicznie uwidoczniony punkt końcowy w architekturze. Wszystkie inne elementy pozostają wewnętrzne. Można wdrożyć go w wielu regionach, aby utrzymać użytkowników blisko punktu końcowego i zwiększyć odporność.
Warstwa orkiestracji znajduje się w centrum, działa wewnątrz twojej sieci i koordynuje wszystkie elementy, takie jak stan konwersacji, wywołania modelu, pozyskiwanie wiedzy i wywołanie narzędzi. Błędy w tym miejscu blokują cały system, więc sprawiają, że jest on wysoce dostępny.
Warstwa wnioskowania jest uruchamiana wewnętrznie bez zależności zewnętrznych. Wdróż go blisko orkiestratora, aby zachować małe opóźnienie.
Warstwy wiedzy i narzędzi są wewnętrzne, ale mogą zależeć od systemów zewnętrznych. Te zależności zewnętrzne mogą powodować opóźnienia lub problemy z dostępnością wpływające na jakość odpowiedzi.
Kompromis. Wdrożenie w wielu regionach zwiększa wydajność i odporność, ale zwiększa koszty. Wdrożenie w jednym regionie jest bardziej ekonomiczne, ale może spowodować większe opóźnienie dla użytkowników z dala od regionu.
Skalowalność i dostępność
Twoja inteligentna aplikacja ma dwa wzorce skalowania. Warstwy bezstanowe, takie jak interfejs API, orkiestracja i wnioskowanie, skalują się przez dodanie większej liczby instancji. Warstwy danych, takie jak zarządzanie konwersacjami i skalowanie wiedzy, rozdzielają dane pomiędzy różne magazyny za pomocą mechanizmów takich jak repliki do odczytu, partycjonowanie i szardowanie.
API inteligentne rozszerza się w celu obsługi większej liczby żądań. Wdróż go w wielu strefach lub regionach, aby zapewnić lepszą dostępność i zapewnić użytkownikom zbliżenie się do punktu końcowego.
Orkiestracja i zasoby obliczeniowe agenta znajdują się w centrum twojego systemu, więc błędy tutaj blokują wszystko. Dodaj więcej wystąpień, użyj równoważenia obciążenia i przygotuj tryb failover, aby system działał po awarii poszczególnych wystąpień.
Warstwa wnioskowania jest skalowana na podstawie potrzeb modeli. Dodaj więcej wystąpień z procesorami GPU wraz ze wzrostem zapotrzebowania. Użyj infrastruktury jako kodu (IaC), aby szybko odtworzyć środowiska podczas odzyskiwania.
Zarządzanie konwersacjami jest skalowane z liczbą równoczesnych użytkowników. Użyj kopii i kopii zapasowych, aby zachować dostępne dane sesji.
Warstwa wiedzy jest skalowana na podstawie ilości posiadanych danych i częstotliwości wykonywania zapytań. Użyj wydajnego indeksowania i dostrajania bazy danych, aby zapewnić szybkie reagowanie. Skonfiguruj kopie w wielu lokalizacjach pod kątem dostępności.
Kompromis. Komponenty bezstanowe mogą być skalowane szybko, ale mogą powodować opóźnienie zimnego startu. Składniki danych zapewniają trwałość, ale wymagają większego planowania skalowania. Zrównoważ te czynniki na podstawie oczekiwanego obciążenia i wymagań biznesowych.
Bezpieczeństwo i odpowiedzialne używanie sztucznej inteligencji
Każda warstwa w inteligentnej aplikacji niesie ze sobą różne zagrożenia i wymaga własnych mechanizmów kontroli. Narzędzia mogą wyzwalać rzeczywiste akcje, wiedza kształtuje to, co zna Twoja sztuczna inteligencja, a wnioskowanie generuje dane wyjściowe widoczne dla użytkowników. Ogranicz dostęp w każdej warstwie, monitoruj, co się dzieje, i upewnij się, że możesz wyjaśnić, jak podejmowane są decyzje.
Warstwa narzędzi niesie ze sobą największe ryzyko, ponieważ działania mogą mieć rzeczywiste konsekwencje, które są potencjalnie nieodwracalne. W przypadku operacji wysokiego ryzyka dodaj kroki zatwierdzania przez człowieka. Użyj ścisłego uwierzytelniania, dostępu z najmniejszymi uprawnieniami i wymuszania prywatności danych, aby zapobiec nieautoryzowanym akcjom i narażeniu na dane osobowe. Przed zintegrowaniem należy ocenić każde narzędzie, aby zarządzanie wykraczało poza granicę obciążenia.
**
Warstwa wiedzy wymaga wysokiej jakości, bezstronnych danych w celu wygenerowania wiarygodnych wyników. Zapewnij bezpieczny dostęp do danych przy użyciu odpowiedniego uwierzytelniania, autoryzacji i zgodności z wymaganiami dotyczącymi rezydencji danych. Dostęp tylko do odczytu i izolacja sieci zapobiega uszkodzeniu. Zarejestruj źródła, które zostały pobrane dla każdej odpowiedzi za pośrednictwem dzienników inspekcji. Ten proces umożliwia wyjaśnienie decyzji i późniejsze zbadanie problemów.
Warstwa wnioskowania powinna być dostępna tylko dla ról operacyjnych i tożsamości warstwy orkiestracji. Monitoruj dane wyjściowe za pomocą usługi weryfikacji, która sprawdza toksyczność i inne problemy z bezpieczeństwem. Zweryfikuj modele przed wdrożeniem, aby przechwycić stronniczość, i zachowaj gotowe mechanizmy wycofywania, jeśli problemy pojawią się w środowisku produkcyjnym.
Na tym diagramie przedstawiono kluczowe składniki trenowania i dostrajania obciążenia do uwzględnienia w projekcie.
Składnik
Description
Źródła danych
Źródła danych zawierają szeroką gamę danych, które ułatwiają trenowanie i dostosowywanie modeli. Zazwyczaj te źródła obejmują: — Dane ustrukturyzowane z relacyjnych baz danych, takich jak SQL Server, które mają jasne schematy i relacje. — Częściowo ustrukturyzowane dane, takie jak dzienniki aplikacji i dane telemetryczne, często w formatach JSON lub XML. — Dane nieustrukturyzowane, takie jak pliki obrazów, filmy wideo, dźwięk i dokumenty tekstowe, takie jak pliki PDF. - Strumienie danych w czasie rzeczywistym z czujników, urządzeń lub źródeł zdarzeń. Zbieraj dane z różnych źródeł, takich jak zastrzeżone źródła należące do organizacji, zawartość wygenerowana przez użytkowników na podstawie interakcji, opinii ekspertów i współpracy oraz źródeł publicznych, takich jak witryny internetowe, dokumenty badawcze i udostępnione bazy danych.
Magazyn agregacji danych
Magazyn agregacji danych jest centralnym koncentratorem dla wszystkich informacji zbieranych z różnych źródeł. Jest to miejsce, w którym dane pierwotne są przechowywane w pierwotnej formie przed rozpoczęciem przetwarzania. Użyj narzędzi, takich jak Azure Data Lake Storage lub Microsoft Fabric dla tego rodzaju magazynu. W miarę jak dane przechodzą przez różne etapy przetwarzania, jego struktura jest udoskonalona, pola i kolumny są stale nazwane, wartości są sprawdzane pod kątem dokładności, a wszystko jest zorganizowane w celu ułatwienia raportowania i analizy. Zawsze możesz śledzić, skąd pochodzą dane, zobaczyć, jakie zmiany zostały wprowadzone, i wiedzieć, który proces go przekształcił. Przechowywanie wersji gwarantuje również, że masz historyczne migawki w miarę rozwoju danych.
Platforma przetwarzania danych
Na tym etapie przekształcanie danych pierwotnych w przydatny zestaw danych na potrzeby uczenia maszynowego i analizy. Proces rozpoczyna się od zbierania danych z wielu źródeł, czyszczenia i wzbogacania, dzięki czemu uzyskujesz wysokiej jakości zestawy danych i funkcje, które są gotowe do trenowania i analizy modelu. Ta warstwa obsługuje potoki ETL, jest zgodna z architekturą medalonu i umożliwia wzbogacanie funkcji i danych na podstawie istniejących wzorców. Zazwyczaj używa takich narzędzi jak Azure Data Factory, Microsoft Fabric i Spark.
Magazyn funkcji
Magazyn funkcji to centralne miejsce do przechowywania wstępnie skompilowanych funkcji, dzięki czemu zespoły mogą łatwo używać ich w różnych modelach uczenia maszynowego. Śledzi definicje funkcji, przekształcenia i metadane, takie jak własność, częstotliwość aktualizacji, źródła danych i przechowywanie wersji. Ta struktura ułatwia zespołom szybsze tworzenie modeli i zapewnia spójność, dzięki czemu zachowanie modelu będzie bardziej przewidywalne. magazyn funkcji Azure Machine Learning oferuje również przechowywanie wersji i pochodzenie, a organizacje mogą zdecydować się na centralne skonfigurowanie go w sposób rozproszony lub hybrydowy.
Platforma szkoleniowa
Środowisko obliczeniowe używane do trenowania i dostosowywania modeli uczenia maszynowego na dużą skalę. Pozwala wybrać algorytmy, aby zobaczyć, które działają najlepiej, automatycznie testuje różne wartości parametrów, zarządza ponownymi próbami i zależnościami oraz obsługuje powtarzające się cykle trenowania w celu ciągłego ulepszania modelu. Śledzi metryki, parametry i artefakty każdego przebiegu treningu. Środowisko można hostować na platformie Azure Machine Learning, Databricks lub Kubernetes.
Rejestr modeli
Repozytorium kontrolowane przez wersję, które umożliwia przechowywanie, zarządzanie i śledzenie modeli uczenia maszynowego w miarę ich postępu od programowania do środowiska produkcyjnego. Narzędzia, takie jak Azure Machine Learning Model Registry, ułatwiają przechowywanie plików binarnych modelu, metadanych, konfiguracji trenowania i pochodzenia. W razie potrzeby można porównać różne wersje modelu i przywrócić go do poprzedniej wersji.
Warstwa wnioskowania — modele predykcyjne
Użyj wytrenowanych modeli do generowania przewidywań lub podejmowania decyzji na podstawie danych. Można je wdrożyć jako interfejsy API REST w czasie rzeczywistym na potrzeby szybkich przewidywań lub jako punkty końcowe wsadowe do przetwarzania dużych zestawów danych asynchronicznie. Oprócz aplikacji klienckich modele są również wywoływane podczas przetwarzania danych, na przykład do wyodrębniania jednostek lub analizy sentymentu w celu wzbogacania danych, oraz do obsługi normalizacji i przekształcania danych.
Uwagi dotyczące projektowania
Podczas projektowania architektury trenowania i dostrajania obciążenia należy wziąć pod uwagę następujące cechy projektowe, aby podejmować świadome decyzje dotyczące projektowania i interakcji składników.
Okres istnienia i stan
Długoterminowe trwałe składniki umożliwiają analizę historyczną oraz ponowne trenowanie modeli na danych historycznych. Magazyn agregacji danych, magazyn funkcji i rejestr modeli to długoterminowe, trwałe magazyny, które rosną wraz z nowymi importami, funkcjami i wersjami modelu.
Efemeryczne składniki umożliwiają oszczędność kosztów, ale wymagają starannej obsługi błędów i ponownych uruchomień. Platforma przetwarzania danych i platforma do trenowania mają utrzymywaną konfigurację środowiska, ale ich zasoby obliczeniowe są tymczasowe, tworzone i skalowane na żądanie dla zadań przetwarzania danych i trenowania.
Warstwa wnioskowania jest bezstanowa i efemeryczna. Wdróż go na żądanie do okazjonalnego przetwarzania wsadowego lub jako długotrwale działające środowisko do częstych przepływów danych. Architektura bezstanowa umożliwia skalowanie horyzontalne i proste odtwarzanie po awarii.
Kompromis. Długoterminowe trwałe składniki zapewniają trwałość i kontekst historyczny, ale wymagają ciągłej konserwacji i kosztów magazynowania. Efemeryczne, bezstanowe składniki są bardziej ekonomiczne i skalowalne, ale wymagają niezawodnej obsługi awarii i mogą powodować opóźnienia wynikające z zimnych uruchomień.
Zasięg i zależności
Zachowaj magazyny danych, przetwarzanie, trenowanie i wnioskowanie w tym samym regionie, aby zminimalizować opóźnienia i koszty. Rozpowszechniaj je tylko wtedy, gdy istnieją wymagania dotyczące rezydencji danych. Większość składników jest tylko wewnętrznych, co zmniejsza obszar ataków, ale wymaga bezpiecznego dostępu dla deweloperów i operatorów.
Źródła danych można dystrybuować w różnych środowiskach i lokalizacjach geograficznych. Są one podstawową zależnością do importowania danych potrzebnych do trenowania, dostrajania lub uziemienia.
Magazyn agregacji danych jest główną zależnością dla platformy przetwarzania danych, oddzielając ją od źródeł danych.
Platforma przetwarzania danych uzyskuje dostęp do magazynu funkcji w celu przechowywania funkcji obliczeniowych, a platforma szkoleniowa uzyskuje do niej dostęp podczas trenowania. Składnik wnioskowania może również wymagać dostępu tylko do odczytu w zależności od typu modelu i określonych wymagań.
Platforma szkoleniowa zależy od magazynu funkcji i zagregowanych danych generowanych na podstawie przetwarzania. Zapisuje wytrenowane modele w rejestrze modeli, które następnie służą jako zależność podczas procesu wnioskowania.
Rejestr modeli jest unikatowy, ponieważ wymaga zarówno dostępu wewnętrznego (do trenowania do pisania modeli) jak i dostępu zewnętrznego (w przypadku aplikacji sztucznej inteligencji do wdrażania modeli w środowiskach wnioskowania). Użyj modeli wypychającego wdrażania, aby zminimalizować zewnętrzny dostęp do poufnych składników.
Skalowalność i dostępność
Składniki szkoleniowe muszą rosnąć wraz z danymi i pozostać dostępne, gdy będą potrzebne. Magazyny danych, takie jak magazyn agregacji danych, magazyn funkcji i rejestr modeli, są skalowane za pośrednictwem partycjonowania, replikacji i wydajnego indeksowania, ponieważ coraz więcej danych, funkcji i modeli jest dodawanych wraz z upływem czasu. Zachowaj wysoką dostępność tych składników dzięki strategiom nadmiarowości, tworzenia kopii zapasowych i trybu failover, aby dane i modele były dostępne za każdym razem, gdy platforma szkoleniowa lub wnioskowanie ich wymaga.
Platformy obliczeniowe, takie jak platformy przetwarzania danych i platformy treningowe, skalują się inaczej. Dodają więcej zasobów na żądanie, gdy Twoje zadania przetwarzania i szkolenia ich potrzebują. Użyj IaC, aby zautomatyzować odtworzenie środowiska podczas odzyskiwania po awarii i dodać więcej zasobów obliczeniowych, takich jak węzły GPU, w miarę wzrostu zapotrzebowania.
Warstwa wnioskowania zwykle obsługuje przetwarzanie wsadowe w tym kontekście, więc zoptymalizuj ją pod kątem przepływności, a nie małych opóźnień. Możesz skalować w poziomie przy użyciu mniej kosztownych zasobów obliczeniowych, ponieważ przetwarzasz duże ilości danych bez konieczności reagowania w czasie rzeczywistym.
Bezpieczeństwo i odpowiedzialne używanie sztucznej inteligencji
Zajmij się bezpieczeństwem i odpowiedzialnym podejściem do sztucznej inteligencji na każdym poziomie. Korzystaj ze szczegółowej ochrony z mechanizmami kontroli dostępu, szyfrowania i inspekcji. Spójne stosowanie zasady najmniejszych uprawnień: funkcja ETL uzyskuje dostęp tylko do odczytu do źródeł, trenowanie zapisuje tylko do rejestru modelu, a wnioskowanie uzyskuje dostęp tylko do odczytu. Zamapuj przepływy danych, aby zachować regulowane dane w wymaganych regionach i śledzić, kto uzyskiwał dostęp do tego, co, kiedy i dlaczego.
Źródła danych to najważniejszy punkt kontrolny zapobiegania stronniczości. Upewnij się, że zaimportowane dane reprezentują sprawiedliwie wszystkie typy podmiotów. Jeśli dane nie mogą opuścić swojego regionu, uruchom tam potok ETL, aby zachować zgodność z przepisami.
Magazyn agregacji danych i magazyn funkcji przechowują poufne informacje. Kontroluj, kto może uzyskiwać dostęp do podzestawów danych i przestrzegać reguł rezydencji danych w całym cyklu życia. Śledzenie pochodzenia danych dla każdego atrybutu obliczeniowego. Jest to podstawa do wyjaśnienia i umożliwia śledzenie przewidywań modelu z powrotem do danych źródłowych.
Platforma przetwarzania danych to miejsce, w którym aktywnie zapobiegasz stronniczość. Ogranicz połączenia wychodzące do zatwierdzonych magazynów danych i usług. W tym miejscu weryfikujesz jakość danych, zajmujesz się filtrowaniem wulgaryzmów, maskowaniem poufnych informacji oraz równoważysz rozkład danych poprzez zmniejszanie liczebności nadreprezentowanych grup lub zwiększanie liczebności niedostatecznie reprezentowanych grup.
Platforma szkoleniowa musi odizolować ją od środowiska produkcyjnego. Rejestruj każdy przebieg trenowania przy użyciu struktur, takich jak MLFlow, przechwytując używane dane, które hiperparametry próbowano i jakie były wyniki. Uruchamiaj testy stronniczości, sprawiedliwości i możliwości wyjaśnienia za każdym razem, aby przechwycić problemy przed wdrożeniem.
Rejestr modeli to mechanizm zarządzania. Użyj jednostek usługi i opublikuj sumy kontrolne, aby móc weryfikować modele. Dołączanie metadanych dotyczących danych treningowych, ocen i pochodzenia do każdego modelu w celu zapewnienia przejrzystości. Kontrola etapu wdrożenia produkcyjnego przy wykorzystaniu przeglądów bezpieczeństwa i odpowiedzialności sztucznej inteligencji.
Warstwa wnioskowania powinna uruchamiać tylko zatwierdzone modele. Zachowaj izolację w środowisku analitycznym i monitoruj wszystkie dane wyjściowe pod kątem stronniczości, toksyczności i innych szkodliwych wzorców.
Architektury bazowe dla obciążeń sztucznej inteligencji
Te przykłady punktów odniesienia służą jako zalecana architektura dla obciążeń sztucznej inteligencji.
Diagramy używają regionów z trzema strefami dostępności jako przykładami. Liczba stref dostępności może się różnić w zależności od regionu.