Udostępnij przez


Mozaika AI Vector Search: Przewodnik po zarządzaniu kosztami

W tym artykule opisano sposób efektywnego zarządzania kosztami podczas korzystania z funkcji Wyszukiwania wektorów mozaiki sztucznej inteligencji. Omówiono w nim następujące tematy:

  • Indeks wyszukiwania wektorowego i podstawy dotyczące punktów końcowych.
  • Monitorowanie rozliczeń i użycia.
  • Tryby synchronizacji.
  • Najlepsze rozwiązania dotyczące optymalizowania kosztów.

Aby zidentyfikować i usunąć puste punkty końcowe, zobacz Identyfikowanie i usuwanie pustych punktów końcowych wyszukiwania wektorów.

Podstawy wyszukiwania wektorowego w Mosaic AI

Wyszukiwanie wektorów mozaiki sztucznej inteligencji składa się z następujących elementów:

  • Indeksy wyszukiwania wektorowego: indeksy przechowują wektory do wyszukiwania i pobierania.
  • Punkty końcowe wyszukiwania wektorowego: każdy punkt końcowy hostuje co najmniej jeden indeks służący do obsługi zapytań. W ramach jednego punktu końcowego może być obsługiwanych wiele indeksów, a jeden punkt końcowy może obsłużyć maksymalnie 50 indeksów. W wielu przypadkach można połączyć mniejsze obciążenia w jednym punkcie końcowym, aby obniżyć łączne koszty.

W jaki sposób wyszukiwanie wektorów jest wyceniane

Usługa Databricks oferuje dwie opcje punktu końcowego:

  • Standardowe punkty końcowe. Jedna wektorowa jednostka wyszukiwania obejmuje maksymalnie 2 miliony wektorów wymiaru 768 (lub równoważnego). Jeśli na przykład masz 1 milion wektorów wymiaru 1536, to również liczy się jako jedna jednostka.

  • Punkty końcowe zoptymalizowane pod kątem przechowywania danych. Jedna jednostka wyszukiwania wektorów obejmuje maksymalnie 64 miliony wektorów wymiaru 768 (lub równoważnego).

W przypadku obu opcji każdy punkt końcowy ma cenę bazową i automatycznie skaluje w górę, aby dopasować łączny rozmiar indeksów, które obsługuje.

  • Standardowe punkty końcowe nie są automatycznie skalowane w dół. Nawet jeśli usuniesz wektory lub zmniejszysz rozmiar indeksów, nadal płacisz za wyższą pojemność, dopóki nie wprowadzisz zmian ręcznie.
  • Punkty końcowe zoptymalizowane pod kątem magazynu są skalowane automatycznie w dół po usunięciu indeksu. Minimalny rozmiar punktu końcowego to jedna wektorowa jednostka wyszukiwania.

Ważne

Standardowe punkty końcowe nie są automatycznie skalowane w dół. Jeśli liczba wektorów znacznie spadnie (na przykład z 4 milionów do 1,5 miliona wektorów), nadal płacisz za wyższą pojemność (dwie wektorowe jednostki wyszukiwania w tym przykładzie), dopóki nie usuniesz punktu końcowego i utworzysz nowy. Dotyczy to tylko standardowych punktów końcowych. Punkty końcowe zoptymalizowane pod kątem przechowywania automatycznie zmniejszają swoją skalę.

Jak monitorować użycie i koszty

Databricks udostępnia zafakturowaną tabelę użycia, pulpity nawigacyjne do monitorowania użycia oraz polityki budżetowe, które pomagają w monitorowaniu użycia i kosztów wyszukiwania wektorowego.

Tabela rozliczanego użycia

Oto przykładowe zapytanie dotyczące tabeli rozliczanego użycia:

WITH all_vector_search_usage AS (
  SELECT *,
         CASE WHEN usage_metadata.endpoint_name IS NULL THEN 'ingest'
              WHEN usage_type = "STORAGE_SPACE" THEN 'storage'
              ELSE 'serving'
         END as workload_type
    FROM system.billing.usage
   WHERE billing_origin_product = 'VECTOR_SEARCH'
),

daily_dbus AS (
  SELECT
    workspace_id,
    cloud,
    usage_date,
    workload_type,
    usage_metadata.endpoint_name as vector_search_endpoint,
    CASE WHEN workload_type = 'serving' THEN SUM(usage_quantity)
         WHEN workload_type = 'ingest' THEN SUM(usage_quantity)
         ELSE null
         END as dbus,
    CASE WHEN workload_type = 'storage' THEN SUM(usage_quantity)
         ELSE null
         END as dsus
  FROM all_vector_search_usage
  GROUP BY 1,2,3,4,5
  ORDER BY 1,2,3,4,5 DESC
)
SELECT * FROM daily_dbus;

Aby uzyskać więcej informacji na temat tabeli rozliczanego użycia, zobacz Billable usage system table reference.

Dodatkowe zapytania znajdują się w poniższym przykładowym notesie.

Notatnik dla zapytań dotyczących tabel systemu wyszukiwania wektorowego

Pobierz laptopa

Panele użycia

Aby uzyskać informacje o pulpitach nawigacyjnych użycia, które można zaimportować w celu uzyskania szczegółowych informacji na temat czynników kosztów, w tym użycia wyszukiwania wektorowego, zobacz Pulpity nawigacyjne użycia.

Zasady budżetowe

Zasady budżetowe umożliwiają administratorom grupowanie i filtrowanie rekordów rozliczeniowych we wszystkich produktach bezserwerowych usługi Azure Databricks oraz udostępnianie dedykowanego interfejsu użytkownika do śledzenia wydatków. Aby dowiedzieć się, jak zastosować zasady budżetu do punktu końcowego wyszukiwania wektorów, zobacz Mosaic AI Wyszukiwanie Wektorów: zasady budżetu. Aby uzyskać ogólne informacje i szczegółowe informacje na temat tworzenia zasad budżetu i zarządzania nimi, zobacz Atrybut użycia przy użyciu zasad budżetu bezserwerowego.

Jak zarządzać kosztami synchronizacji indeksów

Indeks można skonfigurować tak, aby aktualizował się na dwa sposoby:

  • Wyzwalana synchronizacja: wywołujesz interfejs API lub zestaw SDK języka Python, aby wyzwolić aktualizację indeksu. Jest to najbardziej opłacalna opcja.
  • Ciągła synchronizacja: indeks jest automatycznie aktualizowany przy wprowadzaniu zmian ze źródłowej tabeli delty z niemal rzeczywistym opóźnieniem. To kosztuje więcej, ponieważ klaster przesyłania strumieniowego jest konfigurowany do zarządzania synchronizacją. Jeśli aktualizacje niemal w czasie rzeczywistym z opóźnieniem kilku sekund nie są krytyczne, rozważ użycie synchronizacji wyzwalanej w celu zmniejszenia kosztów.

Najlepsze rozwiązania dotyczące zarządzania kosztami

  • Łączenie obciążeń w jednym punkcie końcowym: jeśli przewidujesz niską wartość QPS we wszystkich indeksach, możesz połączyć indeksy w ramach jednego punktu końcowego, aby uniknąć wielu podstawowych kosztów punktów końcowych. Aby uzyskać więcej informacji, zobacz Przewodnik dotyczący wydajności wyszukiwania wektorowego .
  • Monitorowanie użycia: użyj tablic rozliczeniowych systemu i wbudowanych pulpitów nawigacyjnych do śledzenia pojemności, użycia i kosztów.
  • Dla standardowych punktów końcowych skaluj w dół ręcznie: zgodnie z powyższym wyjaśnieniem, w przypadku standardowych punktów końcowych należy usunąć punkt końcowy i utworzyć go ponownie, jeśli liczba wektorów spadnie poniżej poprzedniego minimalnego progu, którego już nie potrzebujesz. Punkty końcowe zoptymalizowane pod kątem magazynu są skalowane automatycznie w dół po usunięciu indeksu.
  • Wybierz odpowiedni tryb synchronizacji: użyj wyzwalanej synchronizacji zamiast ciągłej synchronizacji, jeśli to możliwe, aby zmniejszyć koszty przesyłania strumieniowego.
  • Identyfikowanie i usuwanie pustych punktów końcowych: zobacz Identyfikowanie i usuwanie pustych punktów końcowych wyszukiwania wektorowego.

Dodatkowe zasoby