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.

Diagram projektu obciążenia sztucznej inteligencji z oznaczonymi składnikami praktyk i procesów sztucznej inteligencji, przetwarzania i analizy danych, trenowania modeli i dostrajania, inteligentnych aplikacji sztucznej inteligencji oraz usług i narzędzi platformy.

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.

Diagram obciążenia aplikacji inteligentnej przedstawiający klientów, warstwę analizy, wnioskowanie, wiedzę i składniki narzędzi.

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.

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.

Następny krok

Zapoznaj się z najlepszymi rozwiązaniami dotyczącymi projektowania inteligentnych scenariuszy aplikacji.