Multitenancy i Azure OpenAI Service
Usługa Azure OpenAI zapewnia dostęp do zaawansowanych modeli językowych platformy OpenAI. W tym artykule opisano kluczowe funkcje usługi Azure OpenAI, które są korzystne dla rozwiązań wielodostępnych. Zapoznaj się z zalecanymi zasobami, aby ułatwić planowanie podejścia i korzystanie z usługi Azure OpenAI.
Modele izolacji
Jeśli masz system wielodostępny korzystający z usługi Azure OpenAI, musisz zdecydować o poziomie izolacji wymaganej przez dzierżawy. Należy określić model izolacji na podstawie następujących czynników:
- Ile dzierżaw planujesz mieć?
- Czy dzierżawcy mają wymagania dotyczące zgodności, które wymagają izolacji sieci lub infrastruktury?
- Czy dzierżawcy wymagają modeli dostosowanych do własnych danych?
- Czy dzierżawy wymagają różnych wersji modelu lub cykli życia modelu?
W poniższej tabeli przedstawiono podsumowanie metod wdrażania, których można użyć podczas korzystania z usługi Azure OpenAI Service w systemie wielodostępnym:
Kwestie wymagające rozważenia | Dedykowana usługa Azure OpenAI | Udostępniona usługa Azure OpenAI, dedykowane wdrożenie modelu na dzierżawę | Udostępniona usługa Azure OpenAI, wdrożenie modelu udostępnionego | Udostępniona przez dzierżawę usługa Azure OpenAI |
---|---|---|---|---|
Izolacja danych | Wys. | Śred. | Niski | Wysokie |
Izolacja wydajności | Wys. | Wys. | Niski średni, w zależności od użycia tokenu na minutę (TPM) dla każdej dzierżawy. | Wys. |
Złożoność wdrożenia | Niski średni, w zależności od liczby dzierżaw. | Średni, należy zarządzać nazwami i limitami przydziałów wdrożeń. | Niski | Nie dotyczy, zarządzane przez klienta. |
Złożoność operacyjna | Niski | Śred. | Wys. | Niski dla dostawcy, wyższy dla dzierżawy. |
Przykładowy scenariusz | Wdrożenia z jedną dzierżawą wymagające izolacji sieciowej od innych dzierżaw. | Dzierżawy z określonym cyklem życia modelu lub wymaganiami dostrajania. | Duże rozwiązania wielodostępne z udostępnioną warstwą aplikacji. | Dzierżawcy z określonymi wymaganiami dotyczącymi zgodności lub dostrajania. |
Dedykowana usługa Azure OpenAI
Jeśli jesteś dostawcą usług, rozważ wdrożenie wystąpienia usługi Azure OpenAI dla każdej dzierżawy w ramach subskrypcji platformy Azure. Takie podejście zapewnia izolację danych dla każdej dzierżawy. Wymaga to wdrożenia i zarządzania rosnącą liczbą zasobów usługi Azure OpenAI w miarę zwiększania liczby dzierżaw.
Użyj tej metody, jeśli masz oddzielne wdrożenia aplikacji dla każdej dzierżawy lub jeśli musisz obejść ograniczenia, takie jak limit przydziału lub żądanie na minutę. Aby uzyskać więcej informacji, zobacz Limity przydziału i limity usługi Azure OpenAI.
Na poniższym diagramie przedstawiono model usługi Azure OpenAI dla każdej dzierżawy w subskrypcji dostawcy.
Udostępniona usługa Azure OpenAI
Możesz udostępnić wystąpienie usługi Azure OpenAI w wielu dzierżawach. Zasób azure OpenAI jest wdrażany w ramach subskrypcji platformy Azure (dostawcy usług). Odpowiadasz za zarządzanie nim. To rozwiązanie jest najłatwiejsze do zaimplementowania, ale zapewnia najmniejszą izolację danych i izolację wydajności.
Udostępnianie zasobu usługi Azure OpenAI nie zapewnia segmentacji zabezpieczeń dla każdego wdrożenia modelu. Dzierżawa może mieć możliwość korzystania z modelu, którego nie ma autoryzacji do użycia. Z tego powodu należy unikać udostępniania wystąpienia usługi Azure OpenAI w przypadku używania dostosowanych modeli, ponieważ możesz uwidocznić poufne informacje i zezwolić na nieautoryzowany dostęp do danych lub zasobów specyficznych dla dzierżawy.
Udostępnianie wystąpienia usługi Azure OpenAI między wieloma dzierżawami może również prowadzić do problemu hałaśliwego sąsiada . Może to spowodować większe opóźnienie dla niektórych dzierżaw. Należy również uwzględnić wielodostępność kodu aplikacji. Jeśli na przykład chcesz obciążać klientów kosztem użycia udostępnionego wystąpienia usługi Azure OpenAI, zaimplementuj logikę, aby śledzić łączną liczbę tokenów dla każdej dzierżawy w aplikacji.
Można również wdrożyć wiele udostępnionych wystąpień usługi Azure OpenAI. Jeśli na przykład zastosujesz się do wzorca sygnatur wdrażania, wdróż udostępnione wystąpienie usługi Azure OpenAI w każdym sygnaturze. W przypadku wdrożenia rozwiązania wieloregionowego należy wdrożyć usługę Azure OpenAI w każdym regionie w następujących regionach:
- Unikaj opóźnienia ruchu między regionami.
- Obsługa wymagań dotyczących rezydencji danych.
- Włącz korzystanie z regionalnej usługi Azure OpenAI w innych usługach, które wymagają wdrożeń w tym samym regionie.
Jeśli masz udostępnione wystąpienie usługi Azure OpenAI, ważne jest, aby wziąć pod uwagę jego limity i zarządzać limitami przydziału.
Na poniższym diagramie przedstawiono udostępniony model usługi Azure OpenAI.
Podczas wdrażania udostępnionej usługi Azure OpenAI możesz zdecydować, czy wdrożenia modelu w usłudze są również udostępniane, czy też są przeznaczone dla określonych klientów.
Wdrażanie modelu udostępnionego między dzierżawami
Udostępnianie wdrożenia modelu między dzierżawami upraszcza obciążenie operacyjne, ponieważ masz mniej wdrożeń do zarządzania, a wersje modelu do śledzenia. Zaplanuj użycie wdrożenia modelu udostępnionego, jeśli to możliwe, i utwórz tylko wdrożenia dedykowanych modeli, jeśli potrzebujesz oferowanych przez nie możliwości.
Wdrożenie dedykowanego modelu na dzierżawę
Można utworzyć wdrożenie modelu dla każdej dzierżawy lub dla dzierżaw, którzy mają specjalne wymagania, których nie można spełnić przy użyciu wdrożenia modelu udostępnionego. Typowe przyczyny korzystania z wdrożeń dedykowanych modeli dla dzierżawy obejmują następujące elementy:
Zarządzanie limitami przydziału i kosztami: ułatwia alokację modułu TPM specyficzną dla dzierżawy, śledząc liczbę tokenów używanych przez poszczególne modele, co umożliwia precyzyjne przydzielanie kosztów i zarządzanie użyciem poszczególnych dzierżaw. Jeśli używasz aprowizowanych jednostek przepływności (PTU), możesz przypisać jednostki PTU do określonych klientów i użyć innych modeli rozliczeń dla innych klientów.
Zasady filtrowania zawartości: czasami określona dzierżawa może wymagać unikatowych zasad filtrowania zawartości, takich jak lista zablokowanych wyrazów specyficznych dla dzierżawy. Należy określić zasady filtrowania zawartości w zakresie wdrożenia modelu.
Typy modeli i wersje: może być konieczne użycie różnych modeli lub wersji modelu dla różnych dzierżaw. Dzierżawa może również wymagać własnego procesu zarządzania cyklem życia modelu.
Dostrajanie specyficzne dla dzierżawy: w przypadku tworzenia odrębnych dostrojonych modeli dla każdej dzierżawy należy utworzyć oddzielne wdrożenie modelu dla każdego dostosowanego modelu.
Pamiętaj, że dostrajanie nie jest wymagane w większości przypadków użycia. Zazwyczaj lepiej jest uziemić model przy użyciu usługi Azure OpenAI On Your Data lub innego podejścia do generowania rozszerzonego pobierania (RAG).
Miejsce przechowywania danych: takie podejście obsługuje odrębne wymagania dotyczące rezydencji danych. Na przykład możesz udostępnić wdrożenie modelu regionalnego dla dzierżawy z rygorystycznymi potrzebami dotyczącymi rezydencji danych i użyć globalnego wdrożenia modelu dla innych dzierżaw bez ścisłych potrzeb.
Każde wdrożenie modelu ma własny odrębny adres URL, ale ważne jest, aby pamiętać, że podstawowe modele są udostępniane innym klientom platformy Azure. Korzystają również z udostępnionej infrastruktury platformy Azure.
Usługa Azure OpenAI nie wymusza kontroli dostępu dla każdego wdrożenia modelu, dlatego aplikacja musi kontrolować, która dzierżawa może osiągnąć wdrożenie modelu.
Zasób usługi Azure OpenAI udostępniany przez dzierżawę
W niektórych sytuacjach dzierżawy mogą utworzyć wystąpienie usługi Azure OpenAI we własnych subskrypcjach platformy Azure i przyznać aplikacji dostęp do niego. Takie podejście może być odpowiednie w następujących sytuacjach:
- Dzierżawcy mają określone limity przydziału i uprawnienia od firmy Microsoft, takie jak dostęp do różnych modeli, określone zasady filtrowania zawartości lub użycie aprowizowanej przepływności.
- Dzierżawa ma dostosowany model, którego potrzebuje do użycia z twojego rozwiązania.
- Wymagają one składnika w swoim środowisku do przetwarzania i wysyłania danych za pośrednictwem wystąpienia usługi Azure OpenAI zarządzanego przez klienta.
Aby uzyskać dostęp do wystąpienia usługi Azure OpenAI w ramach subskrypcji dzierżawy, dzierżawa musi zapewnić aplikacji dostęp. Aplikacja musi uwierzytelniać się za pośrednictwem wystąpienia firmy Microsoft Entra. Jedną z metod jest opublikowanie wielodostępnej aplikacji Firmy Microsoft Entra. Poniższy przepływ pracy przedstawia kroki tego podejścia:
- Dzierżawa rejestruje wielodostępną aplikację Microsoft Entra we własnej dzierżawie firmy Microsoft Entra.
- Dzierżawa przyznaje wielodostępnej aplikacji Microsoft Entra odpowiedni poziom dostępu do swojego zasobu usługi Azure OpenAI. Na przykład dzierżawa może przypisać aplikację do roli użytkownika usług AI platformy Azure przy użyciu kontroli dostępu opartej na rolach (RBAC).
- Dzierżawa udostępnia identyfikator zasobu usługi Azure OpenAI, który tworzą.
- Kod aplikacji może użyć jednostki usługi skojarzonej z wielodostępną aplikacją Microsoft Entra we własnym wystąpieniu firmy Microsoft Entra, aby uzyskać dostęp do wystąpienia usługi Azure OpenAI dzierżawy.
Alternatywnie możesz poprosić każdą dzierżawę o utworzenie jednostki usługi do użycia i podanie poświadczeń. Takie podejście wymaga bezpiecznego przechowywania poświadczeń i zarządzania nimi dla każdej dzierżawy, co stanowi potencjalną odpowiedzialność za zabezpieczenia.
Jeśli dzierżawcy konfigurują mechanizmy kontroli dostępu do sieci w wystąpieniu usługi Azure OpenAI, upewnij się, że masz do nich dostęp.
Na poniższym diagramie przedstawiono model usługi Azure OpenAI dla każdej dzierżawy w ramach subskrypcji dzierżawy.
Funkcje usługi Azure OpenAI, które obsługują wielodostępność
Interfejs API asystentów
Interfejs API Asystentów dodaje funkcje do usługi Azure OpenAI, która ułatwia tworzenie asystentów sztucznej inteligencji. Obejmuje ona możliwość wywoływania narzędzi i interfejsów API, a także plików wyszukiwania w celu uziemienia odpowiedzi generowanych przez model. Umożliwia ona trwałe wątki konwersacyjne zarządzane przez usługę i może generować i wykonywać kod w środowisku w trybie piaskownicy. Aby obsługiwać te możliwości, interfejs API Asystentów musi przechowywać pewne dane.
Jeśli używasz interfejsu API Asystentów w rozwiązaniu wielodostępnym, możesz utworzyć asystentów przeznaczonych dla jednej dzierżawy lub udostępnić asystenta między wieloma dzierżawami. Ważne jest, aby rozważyć izolację dzierżawy we wszystkich przechowywanych danych, szczególnie w przypadku asystentów udostępnionych. Na przykład należy upewnić się, że wątki konwersacyjne są przechowywane oddzielnie dla każdej dzierżawy.
Interfejs API Asystentów obsługuje wywołanie funkcji, które wysyła instrukcje aplikacji dotyczące funkcji w celu wywołania i uwzględnienia argumentów. Upewnij się, że wszystkie wywoływane funkcje są wielodostępne, takie jak uwzględnienie identyfikatora dzierżawy w wywołaniu systemu podrzędnego. Zweryfikuj identyfikator dzierżawy w aplikacji i nie polegaj na modelu językowym, aby propagować identyfikator dzierżawy.
Usługa Azure OpenAI na danych
Usługa Azure OpenAI On Your Data umożliwia dużemu modelowi językowemu bezpośrednie wykonywanie zapytań dotyczących źródeł wiedzy, takich jak indeksy i bazy danych, w ramach generowania odpowiedzi na podstawie modelu językowego.
Podczas wykonywania żądania można określić źródła danych, które mają być odpytywane. W rozwiązaniu wielodostępnym upewnij się, że źródła danych są wielodostępne i że można określić filtry dzierżawy dla żądań. Odpowiednio rozpropaguj identyfikator dzierżawy do źródła danych. Załóżmy na przykład, że wysyłasz zapytania dotyczące usługi Azure AI Search. Jeśli masz dane dla wielu dzierżaw w jednym indeksie, określ filtr, aby ograniczyć pobrane wyniki do identyfikatora bieżącej dzierżawy. Lub jeśli utworzono indeks dla każdej dzierżawy, upewnij się, że określono prawidłowy indeks dla bieżącej dzierżawy.
Współautorzy
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.
Główny autor:
- Sofia Ferreira | Inżynier oprogramowania, ISV i DN CoE
Inni współautorzy:
- John Downs | Główny inżynier oprogramowania
- Landon Pierce | Inżynier klienta, ISV i DN CoE
- Paolo Salvatori | Główny inżynier klienta, ISV i DN CoE
- Daniel Scott-Raynsford | Architekt rozwiązań partnerskich
- Arsen Vladimirskiy | Główny inżynier klienta, ISV i DN CoE
Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.