Transformacja danych niestrukturalnych za pomocą funkcji AI

Funkcje AI to wbudowane funkcje, które można wykorzystać do zastosowania LLM-ów lub nowoczesnych technik badawczych na danych przechowywanych w Azure Databricks do transformacji i analizy danych. Można je uruchamiać z Databricks SQL, notatników, potoków Lakeflow i Workflows.

Funkcje sztucznej inteligencji są proste w użyciu, szybkie i skalowalne. Analitycy mogą ich używać do stosowania analizy danych do własnych danych, podczas gdy inżynierowie danych, analitycy danych i inżynierowie uczenia maszynowego mogą ich używać do tworzenia potoków wsadowych klasy produkcyjnej.

Gdy wywołujesz funkcję AI, Twoje zapytanie jest uruchamiane w zasobach obliczeniowych, z których je wysyłasz, takich jak hurtownia SQL, notatnik, klaster lub potok danych. W zależności od funkcji wnioskowanie przez model może być uruchamiane na oddzielnej infrastrukturze zarządzanej przez Databricks, która jest rozliczana dodatkowo względem tego zasobu obliczeniowego. Zobacz koszty obciążeń funkcji AI.

Requirements

  • Funkcje AI nie są dostępne w magazynach Classic SQL.
  • Wymagany jest Databricks Runtime 15.4 LTS lub nowszy. Zaleca się wersję Databricks Runtime 18.2 lub nowszą dla najlepszej wydajności i dostępu do najnowszych funkcji.

Zadanie specyficzne i ogólnego przeznaczenia

Funkcje sztucznej inteligencji mają funkcje specyficzne dla zadań i ogólnego przeznaczenia:

  • Funkcje sztucznej inteligencji specyficzne dla zadań — wbudowane funkcje przeznaczone do określonego zadania, takie jak analizowanie dokumentów, wyodrębnianie jednostek, klasyfikacja i analiza tonacji. Te funkcje są obsługiwane przez systemy zarządzane przez Azure Databricks, wspierane wynikami badań. Niektóre funkcje obejmują interakcje z interfejsem użytkownika. Zobacz Funkcje sztucznej inteligencji specyficzne dla zadań , aby zapoznać się z obsługiwanymi funkcjami i modelami.
  • ai_query — Funkcja ogólnego przeznaczenia na potrzeby zadań i elastyczności modelu. Podaj zapytanie i wybierz dowolny obsługiwany interfejs API modelu bazowego. Zobacz Użycie ai_query.

Drzewo decyzyjne dla funkcji sztucznej inteligencji specyficznych dla zadań i ai_query

Aby ograniczyć, do których funkcji AI dla określonych zadań Twoja organizacja ma dostęp, zobacz uprawnienia Unity Catalog dla AI Functions.

funkcje sztucznej inteligencji specyficzne dla zadań

Funkcje specyficzne dla zadania są ograniczone do określonego zadania, dzięki czemu można zautomatyzować rutynowe przekształcenia, takie jak wyodrębnianie jednostek, tłumaczenie i klasyfikacja. Usługa Databricks zaleca te funkcje do rozpoczęcia pracy, ponieważ wywołują najnowocześniejsze techniki badawcze obsługiwane przez usługę Databricks i nie wymagają żadnych dostosowań.

Zobacz Analizowanie recenzji klientów za pomocą funkcji sztucznej inteligencji, aby zapoznać się z przykładem.

Następujące funkcje są pogrupowane według zadania.

Inteligentne przetwarzanie dokumentów:

Funkcja Opis
ai_parse_document Analizowanie zawartości ustrukturyzowanej (tekstu, tabel, opisów rysunków) i układu z dokumentów bez struktury przy użyciu najnowocześniejszych technik badawczych.
ai_extract Wyodrębnij pola ustrukturyzowane z dokumentów lub tekstu przy użyciu zdefiniowanego schematu.
ai_classify Klasyfikuj tekst wejściowy zgodnie z etykietami, które udostępniasz przy użyciu najnowocześniejszych technik badawczych.
ai_prep_search (wersja beta) Przekształcaj parsowane dokumenty lub zwykły tekst i Markdown w fragmenty gotowe do przeszukiwania, zoptymalizowane na potrzeby potoków AI Search i RAG.
ai_search (Beta) Pobierz uporządkowane, zdeduplikowane dokumenty oraz ugruntowaną odpowiedź na zapytanie w języku naturalnym nad jednym lub więcej źródłami wiedzy.
ai_enrich (Beta) Generuj nowe kolumny dla każdego wiersza na podstawie schematu, który zdefiniujesz, opcjonalnie opartego na indeksach wyszukiwania AI lub wyszukiwarce w sieci.

Przekształć tekst:

Funkcja Opis
ai_popraw_gramatykę Koryguj błędy gramatyczne w tekście, korzystając z nowoczesnego modelu AI.
ai_translate Przetłumacz tekst na określony język docelowy, korzystając z nowoczesnego modelu AI.
ai_summarize Wygeneruj podsumowanie tekstu za pomocą SQL i nowoczesnego modelu AI.
ai_mask Maskuj określone jednostki w tekście za pomocą nowoczesnego modelu AI.

Analizowanie tekstu:

Funkcja Opis
ai_analiza_nastrojów Przeprowadz analizę sentymentu tekstu wejściowego, korzystając z nowoczesnego modelu AI.
ai_similarity Porównaj dwa ciągi i oblicz wynik podobieństwa semantycznego za pomocą nowoczesnego modelu AI.

Generowanie zawartości. Aby uzyskać monity niestandardowe lub określony model, zobacz sekcję Use ai_query:

Funkcja Opis
ai_gen Odpowiedz na prompt użytkownika za pomocą nowoczesnego modelu AI.

Seria czasowa prognozy:

Funkcja Opis
ai_forecast Prognoza danych na określony horyzont. Ta funkcja o wartości tabeli została zaprojektowana w celu ekstrapolacji danych szeregów czasowych w przyszłości.

Analizowanie zmian metryk:

Funkcja Opis
ai_top_drivers (wersja beta) Klasyfikacja wartości wymiarów, które przyczyniają się najbardziej do zmiany metryki między grupą kontrolną a grupą testową.

Wyszukiwanie za pomocą osadzania wyszukiwania sztucznej inteligencji:

Funkcja Opis
vector_search Wyszukaj i zapytaj indeks AI Search za pomocą nowoczesnego modelu AI.

Korzystanie z funkcji sztucznej inteligencji w przepływach pracy produkcyjnych

W przypadku inferencji wsadowej na dużą skalę można zintegrować funkcje AI przeznaczone do konkretnych zadań lub funkcję ogólnego przeznaczenia ai_query z produkcyjnymi przepływami pracy, takimi jak potoki Lakeflow, przepływy pracy Databricks i Structured Streaming. Umożliwia to przetwarzanie klasy produkcyjnej na dużą skalę.

Najlepsze rozwiązania dotyczące funkcji sztucznej inteligencji w środowisku produkcyjnym:

Pozwól usłudze AI Functions obsługiwać obciążenie na dużą skalę: Funkcje sztucznej inteligencji automatycznie zarządzają przetwarzaniem równoległym, ponawianiem prób i skalowaniem. Zaleca się przesłanie pełnego zestawu danych w jednym zapytaniu, a nie ręczne podzielenie go na małe partie. Wydajność może nie być skalowana liniowo z bardzo małych obciążeń do obciążeń na dużą skalę.

Korzystanie z modeli bazowych hostowanych w usłudze Databricks: W przypadku korzystania z funkcji AI ai_query, należy używać modeli bazowych hostowanych w usłudze Databricks (poprzedzonych prefiksem databricks-), a nie przepływności zapewnionej. Te punkty końcowe bez aprowizacji są w pełni zarządzane i działają najlepiej w przypadku przetwarzania wsadowego.

Zobacz Wdrażanie potoków wnioskowania wsadowego, aby uzyskać przykłady i szczegóły.

Monitorowanie postępu funkcji sztucznej inteligencji

Aby dowiedzieć się, ile wniosków zostało ukończonych lub zakończonych niepowodzeniem i rozwiązać problemy z wydajnością, możesz monitorować postęp funkcji sztucznej inteligencji przy użyciu funkcji profilu zapytania.

W środowisku Databricks Runtime 16.1 ML lub nowszym w oknie zapytania edytora SQL w obszarze roboczym:

  1. Wybierz link Running--- w dolnej części okna Raw results. Po prawej stronie zostanie wyświetlone okno wydajności .
  2. Kliknij pozycję Zobacz profil zapytania , aby wyświetlić szczegóły wydajności.
  3. Kliknij Zapytanie AI, aby wyświetlić metryki dla tego konkretnego zapytania, w tym liczbę ukończonych i nieudanych wnioskowań oraz całkowity czas realizacji żądania.

Wyświetlanie kosztów obciążeń funkcji sztucznej inteligencji

Zasoby obliczeniowe, na których uruchamiane jest Twoje zapytanie, są zawsze rozliczane, na przykład hurtownia SQL lub klaster zadań. To, czy istnieje dodatkowy koszt wnioskowania modelu, zależy od funkcji:

  • Funkcje specyficzne dla konkretnych zadań (na przykład ai_classify, ai_summarize, ai_translate) wykonują wnioskowanie w bezserwerowej infrastrukturze GPU zarządzanej przez Databricks za pośrednictwem Model Serving. Nie wdrażasz tej infrastruktury, ale jej koszt jest naliczany dodatkowo do mocy obliczeniowej na potrzeby zapytań.
  • ai_query jest rozliczany za określony przez Ciebie punkt końcowy obsługi modelu. Punkty końcowe modelu bazowego hostowane w Databricks są rozliczane podobnie jak funkcje specyficzne dla zadań; niestandardowe modele i punkty docelowe przepustowości działają na własnym, dedykowanym obliczeniu obsługującym i są odpowiednio rozliczane.
  • ai_forecast i działają ai_top_drivers całkowicie na podstawie danych, z których je przesyłasz, bez oddzielnych kosztów wnioskowania.
  • vector_search wysyła zapytania do twojego indeksu AI Search za pośrednictwem usługi AI Search zarządzanej przez Databricks.

Koszty funkcji sztucznej inteligencji są rejestrowane jako część produktu w ramach oferty typu MODEL_SERVING. Zobacz Wyświetlanie kosztów obciążeń wnioskowania wsadowego , aby zapoznać się z przykładowym zapytaniem.

Uwaga / Notatka

W przypadku ai_parse_document, ai_extract i ai_classify koszty są rejestrowane jako część produktu AI_FUNCTIONS. Zobacz Wyświetlanie kosztów przebiegówai_parse_document, aby zapoznać się z przykładowym zapytaniem.

Wyświetlanie kosztów zadań wnioskowania wsadowego

Poniższe przykłady pokazują, jak filtrować obciążenia wsadowego wnioskowania według zadań, zasobów obliczeniowych, magazynów SQL i potoków Lakeflow.

Zobacz Monitorowanie kosztów serwowania modelu w celu zapoznania się z ogólnymi przykładami wyświetlania kosztów zadań wnioskowania wsadowego wykorzystujących funkcje sztucznej inteligencji.

Jobs

Poniższe zapytanie pokazuje, które zadania są używane do wnioskowania wsadowego przy użyciu tabeli systemów system.workflow.jobs. Zobacz Monitorowanie kosztów zadań i wydajności przy użyciu tabel systemowych.


SELECT *
FROM system.billing.usage u
  JOIN system.workflow.jobs x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.job_id = x.job_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Compute

Poniżej pokazano, które klastry są używane do wnioskowania wsadowego przy użyciu tabeli system.compute.clusters systems.

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Potoki deklaratywne platformy Spark w usłudze Lakeflow

Poniżej pokazano, które potoki Lakeflow są używane do inferencji wsadowej przy użyciu tabeli systemowej system.lakeflow.pipelines.

SELECT *
FROM system.billing.usage u
  JOIN system.lakeflow.pipelines x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.dlt_pipeline_id = x.pipeline_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

SQL Warehouse

Poniżej przedstawiono, które magazyny SQL są używane na potrzeby wnioskowania wsadowego za pomocą tabeli systems system.compute.warehouses.

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Wyświetl koszty przebiegów ai_parse_document

W poniższym przykładzie pokazano, jak wykonywać zapytania do tabel systemu rozliczeniowego w celu wyświetlania kosztów uruchomienia ai_parse_document.


SELECT *
FROM system.billing.usage u
WHERE u.workspace_id = <workspace_id>
  AND u.billing_origin_product = "AI_FUNCTIONS"
  AND u.product_features.ai_functions.ai_function = "AI_PARSE_DOCUMENT";