Udostępnij przez


Platforma danych dla obciążeń sztucznej inteligencji na platformie Azure

Wybór platformy danych obejmuje zrozumienie unikatowych wyzwań związanych z danymi, jakie przynoszą te rozwiązania. Rozwiązania GenAI, zwłaszcza te utworzone z modelami podstawowymi, zależą od różnorodnych, wysokiej jakości danych, szybkiego dostępu do skalowalnych magazynów danych, które obsługują wyszukiwanie wektorowe. Celem jest spełnienie tych potrzeb bez dodawania niepotrzebnej złożoności do architektury. Zrozumienie zasad efektywnego projektowania potoku danych jest niezbędne przed oceną opcji platformy.

Podczas oceniania opcji platformy zacznij od pytania, czy naprawdę potrzebujesz dodatkowych składników. Prostsze architektury są często szybsze do wdrożenia, łatwiejsze do zarządzania i bardziej opłacalne. Zadaj sobie pytanie:

  • Czy model może osiągnąć oczekiwaną wydajność przy użyciu danych z jednego źródła?
  • Czy źródłowy magazyn danych zapewnia już potrzebne możliwości analizy lub wyszukiwania?
  • Czy dane źródłowe są już ustrukturyzowane i indeksowane na potrzeby wyszukiwania sztucznej inteligencji lub wektora?

Jeśli odpowiedź brzmi tak do większości tych pytań, złożona architektura może nie być konieczna. Na przykład bazy danych, takie jak Azure Cosmos DB i Azure SQL Database, obsługują już wektorowe typy danych i wyszukiwanie wektorów natywnie, ale muszą być włączone i skonfigurowane. Te możliwości mogą zmniejszyć potrzebę oddzielnego indeksowania lub wyspecjalizowanych baz danych wektorów, minimalizując przenoszenie danych przy jednoczesnym zwiększeniu wydajności.

Wraz ze wzrostem obciążenia i ilością danych z wielu źródeł decyzja o platformie staje się bardziej złożona. Może być konieczne rozważenie rozwiązań obsługujących potoki ETL lub ELT, wyspecjalizowane indeksy wyszukiwania i skalowalny magazyn dla dużych zestawów danych. Każda dodana funkcja powinna pełnić jasny cel, a nie po prostu rozszerzać stos technologii.

Ten artykuł zawiera wskazówki dotyczące wybierania platformy danych dla obciążeń, w których dane muszą być przechowywane, przetwarzane lub analizowane. Koncentruje się on na rozwiązaniach, które obsługują generowanie sztucznej inteligencji (GenAI). Zdecydowanie zalecamy zapoznanie się z zasadami projektowania dobrego potoku danych przed zapoznaniem się z możliwościami technologicznymi opisanymi w tym artykule. Aby uzyskać więcej informacji, zobacz Projekt uziemienia danych.

Aby zapoznać się z zaleceniami specyficznymi dla trenowania i dostosowywania modelu dyskryminacyjnego, zobacz Zagadnienia dotyczące platformy danych trenowania.

Zagadnienia dotyczące platformy magazynu danych

W obciążeniach dotyczących sztucznej inteligencji dane zazwyczaj przechodzą przez kilka etapów magazynowania i przetwarzania, sterowane przez pipeline'y łączące każdy krok. Jednym z ważnych etapów jest magazyn danych, który przechowuje informacje zebrane i połączone z wielu źródeł. Ten sklep umożliwia przetwarzanie i doskonalenie danych, aż będą gotowe dla następnego etapu.

Uwaga

Ten składnik może nie być potrzebny w architekturze. W niektórych przypadkach można uzyskać dostęp do danych bezpośrednio z systemów źródłowych. Może to jednak prowadzić do problemów z wydajnością i może przeciążyć te systemy zapytaniami sztucznej inteligencji. Może również powodować wyzwania związane z dostępem lub niezawodnością. Aby zapobiec tym problemom, zwykle lepiej jest skopiować dane do dedykowanego magazynu na potrzeby agregacji i przetwarzania.

Po wybraniu platformy dla tego magazynu upewnij się, że jest ona zgodna z tymi samymi standardami zabezpieczeń co systemy źródłowe, jest opłacalna i dobrze współpracuje z zadaniami przetwarzania ETL, ELT lub EL. Dostępne opcje mogą być różne od prostych rozwiązań magazynu po platformy danych na dużą skalę, w zależności od ilości danych i potrzeb związanych z wydajnością. Poszukaj opcji przechowywania, która jest niezawodna, skalowalna i opłacalna w kontekście Twojego obciążenia.

Oto kilka pytań, które pomogą Ci w wyborze technologii magazynu danych.

Czy platforma może obsługiwać różne formaty danych?

Magazyn danych powinien być w stanie przechowywać różne formaty danych, a w razie potrzeby konwertować między nimi dane.

Jeśli na przykład potok przetwarzania pobiera dane z relacyjnej bazy danych i pliku JSON, musi obsługiwać dane ustrukturyzowane i półustrukturyzowane. Możesz przekonwertować dane na format delta, aby umożliwić korzystanie z bogatszych funkcji zapewnianych przez technologię Delta Lake. Platforma powinna udostępniać wbudowane narzędzia do tego rodzaju transformacji, aby nie trzeba było pisać kodu niestandardowego.

Czy oczekujesz, że będziesz przechowywać wiele wersji danych?

Dane zmieniają się w czasie zarówno w wartościach, jak i w strukturze, a systemy źródłowe zwykle przechowują tylko bieżący stan. Jeśli potrzebujesz kontekstu historycznego, wybierz platformę danych, która obsługuje przechowywanie wersji. Bez niego może być konieczne zduplikowanie zestawów danych, co zwiększa złożoność.

Przechowywanie wersji ma inne korzyści. W niektórych przypadkach może być konieczne oddzielne kopie danych w różnych przypadkach użycia. Każda kopia może ewoluować niezależnie, a platforma powinna zarządzać przechowywaniem wersji we wszystkich kopiach w celu zachowania kontekstu dla modeli sztucznej inteligencji.

Czy platforma ma wbudowane funkcje zarządzania cyklem życia danych?

Zarządzanie cyklem życia danych (DLM) pomaga kontrolować wzrost od tworzenia do usunięcia. Platforma powinna automatycznie usuwać kopie pośrednie, zarządzać zarchiwizowanymi danymi i wspierać zgodność z przepisami dotyczącymi przechowywania w razie potrzeby. Bez tego, dane mogą rosnąć niekontrolowanie, a niepotrzebna objętość może utrudnić przetwarzanie. Na przykład może być konieczne ponowne uruchomienie kroków przetwarzania wstępnego kilka razy, aby poprawić jakość danych. Platforma powinna automatycznie usuwać kopie pośrednie, gdy nie są już potrzebne.

W innych przypadkach może być konieczne zachowanie danych pod kątem zgodności lub inspekcji. Poszukaj opcji magazynowania, które obsługują warstwy zimne lub zarchiwizowane dla rzadko używanych danych po niższych kosztach.

Czy platforma obsługuje funkcje zarządzania danymi?

Inspekcja jest ważnym aspektem obciążeń sztucznej inteligencji. Platforma powinna prowadzić ślady kontroli, aby monitorować dostęp do danych, zapewniać ochronę prywatności oraz dokumentować pochodzenie danych. Powinien on również obsługiwać słownik danych lub wykaz, który zarządza metadanymi, typami danych, celami i pochodzeniem, zwłaszcza gdy dane pochodzą z wielu źródeł.

Ile danych chcesz przechowywać?

Obciążenia związane z AI generują duże ilości danych, co może znacząco wzrosnąć z wieloma wersjami i metadanymi dodatkowymi. Platforma danych powinna wydajnie skalować magazyn i przepływność, obsługiwać wysokie współczynniki pozyskiwania, współbieżne operacje zapisu i intensywne przetwarzanie bez obniżenia wydajności.

Podczas wybierania platformy należy wziąć pod uwagę cały przepływ pracy, ponieważ pozyskiwanie i przetwarzanie często występuje w tym samym czasie. System powinien obsługiwać przetwarzanie równoległe i częste przenoszenie danych oraz zapewnić telemetrię w celu zapewnienia jasnego wglądu w wydajność odczytu i zapisu.

Czy ten magazyn danych ma kluczowe znaczenie dla niezawodności obciążenia?

Wybierz platformę, która obsługuje niezawodność i skalowalność za pośrednictwem replikacji lub wielu wystąpień. Wiele magazynów danych big data używa kontrolerów, które automatycznie dystrybuują przetwarzanie i zapewniają przełączenie awaryjne, gdy instancja staje się niedostępna.

Dane muszą być również trwałe i dostępne. Upewnij się, że platforma gwarantuje integralność danych, udostępnia dostępne interfejsy API i obsługuje możliwości tworzenia kopii zapasowych lub przywracania, jeśli ponowne kompilowanie danych od podstaw byłoby kosztowne.

Czy masz jakieś ograniczenia kosztów?

Po spełnieniu wymagań dotyczących niezawodności i wydajności należy rozważyć sposób optymalizacji kosztów. W przypadku wielu obciążeń AI wzorzec zapisu jednokrotnego, odczytu wielokrotnego jest wystarczający i pomaga kontrolować wydatki. Dane bazowe powinny być opłacalne w kwestii przechowywania i pobierania, nawet jeśli nie wymagają takiego samego poziomu responsywności jak produkcyjna baza danych. Celem jest zrównoważenie kosztów, efektywności i wydajności.

Czy musisz obsługiwać wymagania dotyczące niezależności danych lub zgodności regionalnej?

W przypadku obciążeń obsługujących dane regulowane lub poufne należy rozważyć wdrożenie w suwerennej chmurze, takiej jak Azure Government, Platforma Microsoft Azure obsługiwana przez firmę 21Vianet lub inne chmury partnerskie. Te środowiska zostały zaprojektowane tak, aby spełniały ścisłe wymagania dotyczące rezydencji, prywatności i zgodności danych, zapewniając, że magazyn danych, przetwarzanie i dostęp pozostają w określonych jurysdykcjach.

Suwerenne chmury zapewniają większą kontrolę i niezależność od Twoich danych, co jest często wymaganiem dla sektorów takich jak instytucje rządowe, obrona lub bankowość. Należy jednak pamiętać, że niektóre zaawansowane funkcje sztucznej inteligencji i platformy danych mogą nie być jeszcze dostępne w tych regionach. Przed projektowaniem architektury przejrzyj dostępność usługi.

Usługa Microsoft Purview umożliwia utrzymywanie śledzenia katalogów danych, klasyfikacji i pochodzenia danych w tych środowiskach. W przypadku wysoce poufnych obciążeń rozważ użycie poufnych kluczy obliczeniowych i kluczy zarządzanych przez klienta w celu wzmocnienia ochrony danych. Należy sprawdzić, czy wdrożenie jest zgodne z przepisami regionalnymi.

Opcje technologii

Function Zalecane technologie Alternatywy/narzędzia uzupełniające
Przechowywanie danych w wielu formatach Azure Data Lake Storage Gen2, Microsoft Fabric Lakehouse, Azure Databricks Lakehouse Azure Blob Storage, Azure Synapse Analytics, lokalny magazyn danych
Przechowywanie wersji danych i pochodzenie danych Microsoft Fabric Lakehouse, Azure Data Lake Storage Gen2 (z usługą Delta Lake), Azure Databricks (Delta Lake) Git LFS, DVC (kontrola wersji danych), Apache Iceberg
Zarządzanie cyklem życia danych (DLM) Azure Data Lake Storage Gen2 (zasady cyklu życia), Azure Blob Storage (warstwowanie), Azure Databricks (optymalizacja tabel) Amazon S3 (zasady cyklu życia), Google Cloud Storage
Nadzór nad danymi i katalogowanie Microsoft Purview, Unity Catalog usługi Azure Databricks Apache Atlas, DataHub, Collibra
Magazynowanie danych o dużej pojemności Azure Data Lake Storage Gen2, Azure Synapse Analytics, Azure Databricks Lakehouse Azure Blob Storage, Hadoop HDFS, Amazon S3

Zagadnienia dotyczące platformy przetwarzania danych

Platforma przetwarzania danych odgrywa kluczową rolę w przygotowywaniu i przekształcaniu danych, dzięki czemu jest gotowa do użytku podrzędnego, niezależnie od tego, czy jest to indeksowanie RAG, analiza, czy inny przypadek użycia.

Uwaga

W przypadku GenAI i generowania wspomaganego pobieraniem (RAG) warto zrozumieć różnicę między procesami ETL, ELT i EL.

  • ETL: wyodrębnianie, przekształcanie, a następnie ładowanie, stosowane typowo w tradycyjnym magazynowaniu danych.
  • ELT: wyodrębnianie, ładowanie, a następnie przekształcanie, powszechne w jeziorach danych i narzędziach big data, takich jak PySpark.
  • EL: wyodrębnianie i ładowanie, używane w scenariuszach RAG, w których najpierw przechowujesz dokumenty, a następnie wykonuje się przekształcenia, takie jak fragmentowanie tekstu lub wyodrębnianie obrazów, później.

Istnieją dwa miejsca, w których przetwarzanie może się zdarzyć:

  • Warstwa ładowania. Potok pozyskiwania zbiera dane z różnych źródeł i przenosi je do zagregowanego magazynu danych. Po drodze często wykonuje podstawowe przetwarzanie wstępne lub formatowanie, dzięki czemu dane są możliwe do wykonywania zapytań. Aby zmniejszyć potrzebę użycia kodu niestandardowego, najlepiej użyć platformy danych, która obsługuje jak najwięcej tego kodu. Podczas oceniania narzędzi należy wziąć pod uwagę funkcje ETL lub ELT wymagane do obsługi obciążeń sztucznej inteligencji, takich jak rozszerzanie danych.

  • Warstwa przetwarzania. Gdy dane lądują w magazynie agregacji, zwykle wymagają dokładniejszego przetwarzania, zanim będą gotowe do indeksowania lub użycia w modelach sztucznej inteligencji. Te potoki danych powinny oferować podobne poziomy niezawodności i skalowalności co warstwa pozyskiwania, ale uwaga zmienia się na przekształcanie i przetwarzanie danych.

Typowe zadania obejmują:

  • Rozpoznawanie i wzbogacanie jednostek
  • Integrowanie dodatkowych źródeł danych
  • Wykonywanie wyszukiwań i przekształceń
  • Czyszczenie lub usuwanie nieistotnych danych

Silna platforma danych pomaga wydajnie automatyzować i organizować te operacje.

Jaka jest obsługa nawiązywania połączenia ze źródłami danych?

Platforma powinna łatwo łączyć się ze źródłami danych, z których oczekujesz przesyłania danych, niezależnie od tego, czy są to relacyjne bazy danych, źródła big data czy magazyny obiektów blob.

Poszukaj wstępnie utworzonych łączników i integracji z małym kodem. W idealnym przypadku chcesz mieć łączniki przeciągane i upuszczane lub oparte na konfiguracji, które obsługują wyszukiwanie, kopiowanie danych i zarządzanie danymi.

Czy platforma może przetwarzać różne formaty danych?

Dane są dostępne w wielu kształtach: ustrukturyzowane (SQL, tabele relacyjne), częściowo ustrukturyzowane (JSON, XML, Parquet) i bez struktury (dokumenty, obrazy) i przesyłanie strumieniowe (dane IoT). Wybierz platformę, która może obsługiwać formaty wymagane przez twój przypadek użycia, biorąc pod uwagę zarówno natychmiastowe, jak i długoterminowe wymagania.

Czy platforma oferuje funkcje przygotowywania i ponownego tworzenia danych?

Zanim dane będą gotowe do indeksowania lub użycia modelu, należy je oczyścić, wzbogacić i ponownie utworzyć. Strategie projektowania danych powinny jawnie przedstawić wymagania. Dobra platforma powinna:

  • Usuwanie duplikatów i wypełnianie brakujących wartości
  • Obsługa funkcji stemmingu, normalizacji i innych podstawowych zadań oczyszczania podczas planowania obsługi wyszukiwania słów kluczowych lub hybrydowych (słów kluczowych+wektorów)
  • Obsługa zaawansowanych przekształceń, takich jak fragmentowanie, wzbogacanie i analiza dokumentów

Jeśli magazyn danych obsługuje te operacje natywnie, możesz przetwarzać dane bez ich przenoszenia. W przeciwnym razie użyj narzędzi zewnętrznych, takich jak Azure Databricks lub Azure Data Factory, aby uzyskać duże przekształcenia.

W niektórych przypadkach możesz wybrać przekazanie części tej odpowiedzialności platformie, która obsługuje następny etap. Typowym przykładem tego podejścia jest implementacja RAG. Podczas przetwarzania dokumenty są podzielone na mniejsze fragmenty, a każdy fragment jest przechowywany jako oddzielny wiersz w indeksie. Te fragmenty są następnie sparowane z osadzanymi elementami, często generowanymi za pośrednictwem usługi OpenAI. W usłudze Azure AI Search ten proces jest zorganizowany jako część potoku wzbogacania podczas indeksowania, w którym dokumenty są przetwarzane przez model osadzania (np. model osadzania OpenAI), aby wygenerować wektorowe reprezentacje, które są następnie przechowywane w indeksie.

Czy istnieje wbudowany koordynator do zarządzania przepływami pracy?

Przetwarzanie danych zwykle odbywa się jako zadania modułowe, które wymagają złożonej koordynacji. Platforma powinna zawierać orkiestrator do definiowania, planowania i monitorowania tych przepływów pracy. Wyszukaj:

  • Obsługa zależności zadań i sprawdzanie, czy sekwencja wykonywania jest weryfikowana
  • Elastyczna modyfikacja przepływów pracy, która umożliwia łatwe dostosowanie bez ponownego zapisywania dużych fragmentów kodu.
  • Funkcje monitorowania i rejestrowania

Popularne narzędzia obejmują usługę Azure Data Factory dla rozbudowanego zestawu funkcji do zarządzania przepływami pracy lub usługi Azure Databricks w celu bardziej złożonej aranżacji. Jeśli koszt jest problemem, Apache NiFi lub Airflow mogą być bardziej ekonomicznymi opcjami.

Ile danych oczekujesz na pozyskiwanie?

Oszacuj, ile danych będziesz pobierał i z jaką częstotliwością. Jeśli na przykład spodziewasz się załadowania 10 terabajtów danych dziennie do indeksu, platforma powinna obsługiwać silną równoległość i rozproszone wykonywanie. W przypadku mniejszych obciążeń prostsze narzędzia, takie jak Logic Apps, mogą działać, ale w przypadku większych woluminów usługa Data Factory lub Databricks są bardziej odpowiednie. Aby uzyskać skalowalność i przepływność, rozważ następujące kwestie:

  • Ilość i częstotliwość danych
  • Wymagania dotyczące tolerowanego opóźnienia
  • Złożoność zadania

Na przykład czyszczenie danych obejmuje weryfikowanie i potencjalnie zastępowanie nieprawidłowych pól lub maskowanie poufnych informacji. Te zadania, choć podstawowe, wymagają znaczących zasobów, ponieważ każdy wiersz jest przetwarzany indywidualnie, co zwiększa całkowity czas.

Jakie funkcje monitorowania są potrzebne?

Potoki przetwarzania danych powinny mieć możliwości monitorowania i zapewnić wgląd w wydajność i stan zadań potoku. Platforma powinna zapewniać:

  • Śledzenie postępu zadania
  • Dzienniki, metryki i alerty umożliwiające zrozumienie zachowania potoku
  • Integracja z szerszym stosem monitorowania

Zidentyfikuj wszelkie luki w wbudowanych danych telemetrycznych i określ, jakie dodatkowe monitorowanie należy zaimplementować. To monitorowanie może obejmować dodawanie niestandardowego rejestrowania lub metryk w celu przechwycenia szczegółowych informacji o krokach zadania.

Ile niezawodności oczekujesz od platformy przetwarzania danych?

Wybierz platformę, która minimalizuje pojedyncze punkty awarii i obsługuje ponawianie prób dla zadań, które zakończyły się niepowodzeniem. Na przykład hostowanie niestandardowej logiki przetwarzania wywoływanej z usługi Data Factory w usłudze Azure Kubernetes Service (AKS) zwykle zapewnia większą niezawodność niż hostowanie jej w usłudze Azure Logic Apps.

Jeśli dane są aktualizowane rzadko i obsługujesz przetwarzanie za pośrednictwem cotygodniowego przetwarzania wsadowego, okazjonalne błędy mogą być akceptowalne. Jednak w przypadku scenariuszy sztucznej inteligencji w czasie rzeczywistym potrzebna będzie większa niezawodność.

Czy istnieją jakieś ograniczenia kosztów?

Celem jest uniknięcie nadmiernej inżynierii i wybranie platformy, która odpowiada Twoim potrzebom dzisiaj, pozostawiając miejsce na skalowanie. Jeśli na przykład nie potrzebujesz zaawansowanych funkcji usługi Databricks, usługa Data Factory może oferować bardziej przystępną cenowo opcję. Narzędzia typu open source, takie jak Airflow lub NiFi, mogą dodatkowo obniżyć koszty.

Jakie są wymagania dotyczące zabezpieczeń przepływów pracy i danych, które przetwarzasz?

Wymagania dotyczące zabezpieczeń, prywatności i rezydencji danych powinny kierować się wyborem. W idealnym przypadku platforma powinna zapewnić wbudowaną obsługę takiej izolacji, która umożliwia efektywne i bezpieczne zarządzanie danymi. Upewnij się co najmniej, że platforma:

  • Spełnia przepisy dotyczące przechowywania danych regionalnych. Aby spełnić lokalne przepisy dotyczące zgodności, może być konieczne uruchomienie oddzielnych potoków dla różnych regionów, takich jak jeden dla Europy i drugi dla Ameryki.
  • Obsługuje zarządzanie tożsamościami i dostępem (IAM), aby upewnić się, że tylko autoryzowane tożsamości mają dostęp do określonych zadań lub kroków w ramach procesów roboczych.
  • Umożliwia szczegółową kontrolę dostępu na poziomie przepływu pracy lub kroku.

Opcje technologii

Function Zalecane technologie Alternatywy/narzędzia uzupełniające
Czyszczenie danych Azure Data Factory, Azure Databricks, Microsoft Fabric Dataflows Apache NiFi, Apache Airflow
Przekształcanie danych Azure Databricks, Azure Synapse Analytics, Microsoft Fabric Data Engineering Przepływy pracy w Azure Data Factory
Wzbogacanie danych Azure AI Document Intelligence, Azure OpenAI Service, Azure AI Search Niestandardowe interfejsy API języka Python lub usługi sztucznej inteligencji innych firm
Aranżacja przepływu pracy Potoki usługi Azure Data Factory, zadania usługi Databricks Apache Airflow, Apache NiFi
RAG Workflows Azure OpenAI Service, Azure AI Search, Azure Databricks Nauka o danych w usłudze Microsoft Fabric

Zagadnienia dotyczące indeksu wyszukiwania

Indeks wyszukiwania przechowuje dane kontekstowe lub uziemiające, które są wysyłane do punktu końcowego inferencji modelu wraz z zapytaniem. Zapytania indeksowania są kluczowym składnikiem przygotowywania danych wysyłanych do modelu w żądaniach wnioskowania i muszą zapewnić wydajność o małych opóźnieniach.

W przeciwieństwie do potoków ETL zorientowanych na partie indeks musi obsługiwać wnioskowanie w czasie rzeczywistym, co oznacza, że wysoka wydajność i niezawodność nie są negocjowane. Jest przeznaczony dla obciążeń sztucznej inteligencji i obsługuje funkcje, takie jak indeksowanie słów kluczowych, filtrowanie i wyszukiwanie wektorowe, które wykraczają poza tradycyjne magazyny danych.

Idealny projekt to magazyn danych o wysokiej wydajności zoptymalizowany pod kątem operacji odczytu, który może obsługiwać nieprecyzyjne lub rozmyte zapytania, jednocześnie zwracając odpowiednie wyniki. Wybierz technologię indeksowania, mając na uwadze te kwestie.

Jakie typy wyszukiwania obsługuje indeks wyszukiwania?

Każde żądanie do systemu może spowodować co najmniej jedno zapytanie do indeksu. W przypadku generacji wspomaganej wyszukiwaniem (RAG) i innych obciążeń opartych o sztuczną inteligencję wyszukiwanie wektorów jest wymagane. Wyszukiwanie wektorowe umożliwia systemowi znajdowanie semantycznie podobnych punktów danych przy użyciu osadzania, a nie dokładnych dopasowań słów kluczowych.

Jednak połączenie wyszukiwania wektorowego z wyszukiwaniem pełnotekstowym, filtrowaniem i specjalnymi typami danych (takimi jak lokalizacja geograficzna) sprawia, że indeks jest znacznie bardziej zaawansowany.

Projekt danych powinien jasno określać, które typy wyszukiwania są wymagane i jak powinny współpracować. Aby uzyskać więcej informacji, zobacz Wydajne wykonywanie zapytań w projekcie danych.

Jak indeks obsługuje dane wielomodalne?

Obciążenia sztucznej inteligencji często zajmują się danymi, które obejmują nie tylko tekst, ale także obrazy, dźwięk lub wideo. Sam indeks nie może bezpośrednio zrozumieć obrazów. Dlatego przed dodaniem obrazów do indeksu należy je przekonwertować na reprezentację opartą na tekście (przy użyciu OCR lub opisów obrazów), z której generowane są wektory, lub wektory można generować bezpośrednio z obrazu przy użyciu modeli wizji. Indeks może następnie wykonywać wyszukiwanie wektorów, co umożliwia wykonywanie zapytań semantycznych.

W tym przypadku użycia indeks wyszukiwania powinien mieć następujące elementy:

  • Obsługa wyszukiwania wektorowego do przechowywania i osadzania zapytań (wektorów liczbowych) uzyskanych z obrazu.
  • Integracja z zewnętrznymi interfejsami API i usługami sztucznej inteligencji na potrzeby wyodrębniania lub wzbogacania danych podczas procesu indeksowania.
  • Możliwość przechowywania wyodrębnionych pól (tekstu, tagów, podpisów, osadzania) w odpowiednich polach schematu jako metadanych na potrzeby wyszukiwania i filtrowania.

Czy indeks obsługuje funkcje automatycznej aktualizacji, gdy dane w źródłach danych się zmieniają?

Automatyzacja jest kluczem do utrzymania aktualności danych. Wybierz indeks, który obsługuje aktualizacje automatyczne lub odświeżanie przyrostowe po zmianie danych bazowych.

Jeśli platforma nie oferuje tego natywnie, należy zaimplementować niestandardowy proces wykrywania i wypychania aktualizacji. Odciążanie tej odpowiedzialności za platformę może zmniejszyć nakład pracy operacyjnej i uprościć konserwację, zwłaszcza w miarę wzrostu ilości danych.

Czy indeks może działać z dużą ilością danych?

Indeks musi być skalowany wydajnie w miarę zwiększania się ilości danych. W przypadku obciążeń implementujących metodę RAG każdy dokument jest często podzielony na wiele fragmentów, co znacznie zwiększa ilość przechowywanych danych.

Wybrana platforma powinna mieć możliwość:

  • Skalowanie w poziomie w miarę zwiększania się danych
  • Utrzymywanie wydajności zapytań pod dużym obciążeniem
  • Przechowuj zarówno dane surowe, jak i powiązane metadane, wzbogacone dane oraz obiekty.

Czy indeks ma wbudowane funkcje niezawodności?

Niezawodność indeksu wyszukiwania powinna odzwierciedlać punkt końcowy wnioskowania, ponieważ oba są częścią tej samej ścieżki przetwarzania w czasie rzeczywistym.

Każdy krok musi spełniać podobne oczekiwania dotyczące czasu pracy i wydajności. Aby to osiągnąć, podczas wybierania platformy danych wyszukaj następujące elementy:

  • Zdolności wysokiej dostępności i nadmiarowości strefowej umożliwiające przetrwanie awarii strefowych i regionalnych.
  • Automatyczne odzyskiwanie i łatwe ponowne kompilowanie indeksu, aby zapobiec używaniu uszkodzonego indeksu do wnioskowania.
  • Możliwości aliasu indexu lub zamiany indeksów, aby umożliwić aktualizacje bez przestojów.

Ponadto zapoznaj się z trybami awarii systemu lub wskaźnikami obciążenia, takimi jak ograniczanie przepustowości. Na przykład podczas ponownego indeksowania w tle przepływność może spaść. System może normalnie obsługiwać 50 równoczesnych użytkowników, ale tylko 30 podczas tego zadania. Zaplanuj odpowiednio harmonogram i pojemność zadania, uwzględniając zarówno zapytania interfejsu użytkownika, jak i zadania konserwacyjne zaplecza.

Jakie są główne czynniki kosztowe tej technologii?

Koszty indeksu wyszukiwania są zwykle oparte na użyciu, dlatego ważne jest modelowanie oczekiwanego woluminu danych, szybkości zapytań i przepływności.

Większość platform indeksowania, takich jak usługa Azure AI Search, to oferty typu platforma jako usługa (PaaS), w których ceny są abstrakcyjne i prezentowane w jednostkach pojemności, magazynu i użycia funkcji.

Pamiętaj o:

  • Ceny warstwowe i ograniczenia skalowania
  • Dodatkowe koszty z zaawansowanych funkcji (na przykład wyodrębnianie obrazów lub wzbogacanie zestawu umiejętności)
  • Nieużywana pojemność w ponadprowizowanych warstwach
  • Złożoność indeksu (liczba indeksów i limitów zapytań współbieżnych)

Aby zrozumieć koszty związane z wyszukiwaniem sztucznej inteligencji, zobacz Planowanie kosztów usługa wyszukiwania sztucznej inteligencji i zarządzanie nimi.

Czy funkcje bezpieczeństwa indeksu spełniają projekt projektowania danych bezpieczeństwa?

Projekt danych powinien jasno określać wymagania dotyczące zabezpieczeń i prywatności, a indeks musi je w pełni obsługiwać. Podczas pracy w środowiskach deweloperskich lub testowych korzystających z rzeczywistych danych upewnij się, że indeks jest zgodny z zasadami kontroli dostępu i śledzenia. Wyszukaj funkcje, takie jak:

  • Maskowanie danych i usuwanie danych piI
  • Zarządzanie tożsamościami klientów za pomocą identyfikatora Entra firmy Microsoft
  • Mechanizmy kontroli dostępu na poziomie dokumentu do filtrowania wyników na podstawie tożsamości użytkownika

Jeśli platforma nie obsługuje ich natywnie, rozważ zaimplementowanie filtrów na poziomie zapytania jako rezerwowego. Aby uzyskać więcej informacji, zobacz Filtry zabezpieczeń dotyczące przycinania wyników w wyszukiwaniu sztucznej inteligencji.

Z punktu widzenia zabezpieczeń sieci indeks powinien:

  • Obsługa kontroli ruchu wychodzącego i segmentacji sieci
  • Integracja z sieciami prywatnymi w przypadku uruchamiania obliczeń w sieci wirtualnej
  • Używanie tożsamości zarządzanych do uwierzytelniania za pomocą identyfikatora Entra firmy Microsoft
  • Unikaj uwidaczniania składników bezpośrednio w publicznym Internecie

Osadzanie może nadal ujawniać poufne informacje, jeśli nie są prawidłowo zabezpieczone. Zagrożenia obejmują inwersję osadzania (odtworzenie oryginalnego tekstu z wektorów), zatruwanie danych (wstawianie złośliwych wektorów) i nieautoryzowany dostęp do przechowalni osadzeń lub kopii zapasowych. Aby ograniczyć te zagrożenia, zastosuj środki bezpieczeństwa, takie jak:

  • Szyfrowanie danych spoczywających i w tranzycie
  • Ścisłe kontrole dostępu
  • Łączność z siecią prywatną omówiona powyżej
  • Monitorowanie osadzania punktów końcowych pod kątem anomalii lub manipulowania

Podobnie jak w przypadku innych typów danych, mają procesy usuwania poufnych lub osobowych danych. Traktuj indeksy wektorów jako poufne magazyny danych, które wymagają tego samego poziomu zabezpieczeń i ładu co inne systemy produkcyjne.

Opcje technologii

Function Zalecane technologie Alternatywy/narzędzia uzupełniające
Wyszukiwanie wektorowe i wyszukiwanie semantyczne Azure AI Search, Azure Cosmos DB (wyszukiwanie wektorowe), Azure Database for PostgreSQL (pgvector) Pinecone, Weaviate, Chroma, Qdrant
Wyszukiwanie pełnotekstowe i indeksowanie słów kluczowych Wyszukiwanie AI platformy Azure Elasticsearch, Apache Solr, Azure SQL Database Full-Text Search
Przetwarzanie danych wielomodalnych Azure AI Search (z zestawami umiejętności), Azure AI Document Intelligence, Azure AI Vision Przetwarzanie niestandardowe za pomocą interfejsów API OpenAI, Amazon Textract
Automatyczne odświeżanie i indeksowanie danych Usługa Azure AI Search (z indeksatorami), wyzwalacze usługi Azure Data Factory Niestandardowe rozwiązania do przetwarzania zapytań, Apache NiFi, rejestrowanie zmian danych
Wysoka dostępność i niezawodność Azure AI Search (nadmiarowość stref), Azure Cosmos DB (dystrybucja globalna) Wdrożenia obejmujące wiele regionów, moduły równoważenia obciążenia, usługa Azure Traffic Manager
Aliasowanie indeksów i aktualizacje bez przestojów Azure AI Search (aliasy indeksów), Azure Cosmos DB Wzorce wdrażania niebieski-zielony, niestandardowa logika routingu
Zabezpieczenia na poziomie dokumentu i kontrola dostępu Azure AI Search (filtry zabezpieczeń), integracja identyfikatora Entra firmy Microsoft Niestandardowe warstwy autoryzacji, zabezpieczenia na poziomie wiersza w bazach danych
Zabezpieczenia sieci i dostęp prywatny Azure Private Link, integracja z Siecią Wirtualną, Tożsamości Zarządzane Bramy sieci VPN, usługa Azure Firewall, niestandardowe sieciowe grupy zabezpieczeń

Zagadnienia dotyczące trenowania i dostosowywania

Podczas projektowania platformy danych dla tradycyjnych obciążeń uczenia maszynowego (ML) lub nieopartych na GenAI, twoja uwaga przesuwa się z wnioskowania w czasie rzeczywistym na jakość danych, powtarzalność i separację środowiska. Te obciążenia opierają się na dobrze ustrukturyzowanych danych zagregowanych i często obejmują dodatkowe warstwy, takie jak magazyny funkcji i magazyny danych wnioskowania wsadowego, w celu zoptymalizowania wydajności modelu i wydajności kosztów.

Zdecydowanie zalecamy zapoznanie się z zasadami projektowania dobrego potoku danych przed zapoznaniem się z możliwościami technologicznymi opisanymi w tym artykule. Aby uzyskać więcej informacji, zobacz Projektowanie danych treningowych.

Czy planujesz przeprowadzić szkolenie z danymi produkcyjnymi?

Sposób wdrażania modeli określa, jak ściśle produkcyjne dane są powiązane ze środowiskiem deweloperskim. Istnieją dwa główne podejścia wdrażania:

  • Wdrażanie modelu. Model jest trenowany lub dostrojony przy użyciu danych produkcyjnych podczas opracowywania. Takie podejście może poprawić istotność modelu, ale wymaga silnych mechanizmów kontroli zabezpieczeń, ponieważ dane poufne są używane poza produkcją.

  • Wdrażanie kodu. Model jest trenowany przy użyciu danych nieprodukcyjnych podczas opracowywania i wchodzi w interakcje tylko z rzeczywistymi danymi po ich wdrożeniu w środowisku produkcyjnym. Ta metoda upraszcza tworzenie zabezpieczeń, ale może zwiększyć koszty zasobów obliczeniowych i magazynowania, ponieważ trenowanie może wymagać powtórzeń w wielu środowiskach.

Niezależnie od podejścia platforma danych powinna wyraźnie oddzielić środowiska programistyczne i produkcyjne, zapewniając właściwą izolację i kontrolę dostępu.

Czy priorytetem jest wygoda nad funkcjonalnością?

Podczas wybierania platformy danych dla uczenia maszynowego nie należy podejmować decyzji wyłącznie na podstawie obsługi notebooków.

Notesy doskonale nadają się do eksploracyjnej analizy danych, ale nie są one czynnikiem decydującym o wybraniu platformy danych klasy produkcyjnej. Zasoby obliczeniowe notebooka zwykle znajdują się poza składem danych agregacji i są zintegrowane z narzędziami zewnętrznymi, takimi jak Azure Machine Learning lub Databricks Workspaces.

Priorytetyzacja podstawowych możliwości, takich jak wersjonowanie danych, zarządzanie danymi, skalowalność i zabezpieczenia, — zamiast funkcji ułatwiających wygodę.

Jak będziesz przetwarzać i przygotowywać dane?

W przypadku obciążeń uczenia maszynowego wybrany wzorzec przetwarzania danych ma duży wpływ na elastyczność i wydajność.

  • ETL (Wyodrębnianie, przekształcanie, ładowanie) — wspólne w tradycyjnym magazynowaniu danych, gdzie ograniczenia schematu wymagają przekształcenia danych przed załadowaniem ich do systemu docelowego.
  • ELT (wyodrębnianie, ładowanie, transformacja) — typowe dla architektury typu data lake lub lakehouse, w której najpierw są ładowane nieprzetworzone dane, a następnie przekształcane później przy użyciu narzędzi takich jak Python lub PySpark.
  • EL (wyodrębnianie, ładowanie) — powszechne we wzorcach GenAI i RAG, gdzie najpierw przechowujesz dokumenty lub media, a później wykonujesz kolejne przekształcenia, takie jak segmentacja tekstu czy przetwarzanie obrazów.

Język ELT jest często preferowany, ponieważ zachowuje nieprzetworzone dane i umożliwia bardziej elastyczne przekształcenia podczas przygotowywania modelu.

Czy potrzebujesz feature store?

Często korzystne jest wprowadzenie magazynu funkcji jako pośredniej warstwy danych między zagregowanym magazynem danych a środowiskiem trenowania.

Magazyn funkcji działa jako wykaz wyselekcjonowanych funkcji wraz z metadanymi, takimi jak pochodzenie funkcji, czas generowania i źródło. Jest to idealne miejsce do utrzymywania "złotych" danych treningowych, które mogą być ponownie używane w wielu modelach lub eksperymentach.

Zarządzane magazyny funkcji, takie jak te w usłudze Azure Machine Learning, integrują się bezpośrednio z rozwiązaniem MLflow i innymi narzędziami cyklu życia uczenia maszynowego. Umożliwiają one powtarzalność, zarządzanie i kontrolę wersji cech.

Traktuj magazyn funkcji jako poufny magazyn danych we własnym zakresie z odpowiednimi mechanizmami kontroli dostępu, szyfrowania i inspekcji.

Czy należy użyć magazynu danych wnioskowania wsadowego?

W niektórych przypadkach można zwiększyć wydajność i zmniejszyć koszty, wykonując wnioskowanie wsadowe, czyli wstępne przetwarzanie wyników wnioskowania i przechowywanie ich do późniejszego użycia zamiast wywoływania modelu w czasie rzeczywistym.

Takie podejście może być bardzo skuteczne, gdy te same zapytania lub przewidywania są wymagane wielokrotnie (na przykład generowanie często zadawanych pytań lub standardowych zaleceń).

Najważniejsze korzyści to:

  • Zredukowane opóźnienie i poprawione doświadczenie użytkownika, wyniki są dostarczane natychmiast.
  • Łatwiejsza skalowalność, ponieważ wnioskowanie może być wsadowe i dystrybuowane w trybie offline.
  • Zwiększona niezawodność, która pozwala uniknąć wprowadzania obciążenia w czasie rzeczywistym na punkcie końcowym wnioskowania.
  • Obniżone koszty obliczeń wynikające z przetwarzania wsadowego mogą być osiągnięte dzięki wykorzystaniu sprzętu niższej klasy.
  • Wbudowana wstępna walidacja, w której wyniki można zweryfikować pod kątem dokładności przed udostępnieniem użytkownikom.

Jednak takie podejście sprawdza się najlepiej, gdy znaczna część przewidywań jest ponownie używana. Jeśli obciążenie obejmuje głównie unikatowe zapytania, utrzymywanie magazynu wnioskowania wsadowego może nie być warte złożoności.

Magazyn danych wnioskowania wsadowego powinien być zoptymalizowany pod kątem operacji odczytu, skalowalnych na tyle, aby obsługiwać duże zestawy danych i zintegrować je z agregowanym magazynem danych.

Technologie, które pasują do tego wzorca, obejmują usługę Azure Cosmos DB w celu zapewnienia szybkiego, globalnie rozproszonego dostępu lub usługi Azure Table Storage w przypadku prostszych obciążeń o niższych kosztach odczytu.

Opcje technologii

Function Zalecane technologie Alternatywy/narzędzia uzupełniające
Zagregowany magazyn danych Azure Data Lake Storage Gen2, Microsoft Fabric Lakehouse, Azure Synapse Analytics Azure Blob Storage, SQL Database, lokalny magazyn danych
Przetwarzanie i przekształcanie danych (ETL/ELT) Azure Data Factory, Azure Databricks (PySpark, SQL), Microsoft Fabric Data Engineering Apache Airflow, Apache NiFi, Synapse Pipelines
Środowisko rozwojowe i szkoleniowe Azure Machine Learning (z integracją platformy MLflow), Obszary robocze usługi Azure Databricks JupyterHub, Kubeflow, Amazon SageMaker
Magazyn funkcji Magazyn funkcji usługi Azure Machine Learning, magazyn funkcji usługi Databricks Feast (open-source), Tecton
Wnioskowanie wsadowe Azure Cosmos DB, Azure Table Storage Azure SQL Database, PostgreSQL, Redis Cache
Rejestr modeli i śledzenie eksperymentów MLflow (zintegrowane z usługą Azure Machine Learning lub Databricks) Wagi i uprzedzenia, Neptune.ai, DVC
Orkiestracja i automatyzacja Potoki usługi Azure Data Factory, potoki usługi Azure Machine Learning Apache Airflow, Prefect
Zabezpieczenia i kontrola dostępu Microsoft Entra ID (Azure AD), Azure Key Vault, Managed Identities HashiCorp Vault, AWS IAM

Następne kroki