Udostępnij przez


Pojęcia i model danych

Platforma MLflow dla usługi GenAI udostępnia kompleksowy model danych przeznaczony specjalnie do tworzenia, oceniania i monitorowania aplikacji generujących sztuczną inteligencję. Na tej stronie opisano podstawowe pojęcia i sposób ich współpracy.

Przegląd

Platforma MLflow organizuje wszystkie dane aplikacji GenAI w ramach eksperymentów. Eksperyment to folder projektu zawierający każdy ślad, przebieg oceny, wersję aplikacji, monit i ocenę jakości z całego cyklu życia aplikacji.

Struktura modelu danych została opisana poniżej. Aby uzyskać szczegółowe informacje, zobacz Model danych.

Uwaga / Notatka

Narzędzie MLflow wymaga tylko użycia śladów. Wszystkie inne aspekty modelu danych są opcjonalne, ale zdecydowanie zalecane.

Platforma MLflow udostępnia następujące zestawy SDK umożliwiające interakcję z danymi aplikacji w celu oceny i poprawy jakości. Aby uzyskać szczegółowe informacje, zobacz Zestawy SDK platformy MLflow do oceny jakości.

  • mlflow.genai.scorers.*: funkcje analizujące jakość śledzenia, tworzenie ocen informacji zwrotnej.
  • mlflow.genai.evaluate(): zestaw SDK do oceny wersji aplikacji przy użyciu zestawów danych oceny i modułów oceniających w celu identyfikowania i poprawiania problemów z jakością.
  • mlflow.genai.add_scheduled_scorer(): zestaw SDK do uruchamiania oceniarek na śladach produkcyjnych w celu monitorowania jakości.

Platforma MLflow udostępnia następujące interfejsy użytkownika do wyświetlania danych aplikacji i zarządzania nimi:

Model danych

W tej sekcji krótko opisano każdą jednostkę w modelu danych MLflow.

Eksperymenty

Eksperyment w usłudze MLflow to nazwany kontener, który organizuje i grupuje wszystkie artefakty powiązane z pojedynczą aplikacją GenAI. Jeśli znasz MLflow dla klasycznego uczenia maszynowego, kontener eksperymentu jest taki sam zarówno dla klasycznego uczenia maszynowego, jak i GenAI.

Dane dotyczące obserwacji

Ślady

Ślady przechwytują pełne wykonywanie aplikacji GenAI, w tym dane wejściowe, dane wyjściowe i każdy krok pośredni (wywołania LLM, pobieranie, użycie narzędzia). Ślady:

  • Są tworzone automatycznie przy każdorazowym uruchomieniu twojej aplikacji w środowisku deweloperskim i produkcyjnym.
  • Są (opcjonalnie) połączone z określonymi wersjami aplikacji, które je wygenerowały.
  • Załączono oceny zawierające:
    • Opinie dotyczące jakości od osób oceniających, użytkowników końcowych i ekspertów z dziedziny.
    • Podstawowe oczekiwania ekspertów z dziedziny.

Ślady są używane do:

  • Obserwowanie i debugowanie zachowania i wydajności aplikacji (takich jak opóźnienie i koszty).
  • Tworzenie zestawów danych oceny na podstawie dzienników produkcyjnych do użycia w ocenie jakości.

Dowiedz się więcej w temacie Pojęcia dotyczące śledzenia, skorzystaj z Szybkiego startu, aby zarejestrować swoje pierwsze ślady, lub postępuj zgodnie z przewodnikiem dotyczącym instrumentowania aplikacji, aby zaimplementować śledzenie w swojej aplikacji.

Oceny

Oceny to pomiary jakości i etykiety prawdy gruntu, które są dołączone do śladu. Istnieją dwa typy ocen, opinie i oczekiwania.

Opinia odnosi się do ocen dotyczących jakości wyników aplikacji. Jest on dodawany przez użytkowników końcowych, ekspertów w dziedzinie lub zautomatyzowane narzędzia oceniające i służy do identyfikacji problemów jakościowych. Niektóre przykłady to oceny od użytkowników końcowych — kciuki w górę lub kciuki w dół — oraz ocena sędziego LLM dotycząca poprawności odpowiedzi.

Oczekiwania to podstawowe etykiety prawdy, które definiują poprawne dane wyjściowe dla danego danych wejściowych. Jest dodawany przez ekspertów w dziedzinie i jest używany jako "złoty standard", aby ocenić, czy aplikacja wygenerowała właściwą odpowiedź. Niektóre przykłady to oczekiwana odpowiedź na pytanie i wymagane fakty, które muszą być obecne w odpowiedzi.

Uwaga / Notatka

Etykiety prawdy naziemnej (oczekiwania) nie są wymagane do mierzenia jakości za pomocą biblioteki MLflow. Większość aplikacji nie będzie miała etykiet referencyjnych lub będzie miała tylko ich mały zestaw.

Dowiedz się więcej na temat ocen dzienników, zobacz, jak zbierać opinie użytkowników, lub eksploruj wykorzystanie oceniających w celu utworzenia zautomatyzowanych ocen.

Dane ewaluacyjne

Zestawy danych oceny

Zestawy danych oceny to wyselekcjonowane kolekcje przypadków testowych w celu systematycznego testowania aplikacji. Zestawy danych oceny:

  • Zazwyczaj są tworzone przez wybranie reprezentatywnych śladów z produkcji lub rozwoju.
  • Uwzględnij dane wejściowe i opcjonalne oczekiwania (prawda podstawy).
  • Są wersjonowane wraz z upływem czasu, aby śledzić, jak zmienia się pakiet testów.

Zestawy danych oceny są używane do:

  • Iteracyjne ocenianie i poprawianie jakości aplikacji.
  • Zweryfikuj zmiany, aby zapobiec regresji w jakości.

Dowiedz się więcej w dokumentacji dotyczącej zestawów danych oceny lub postępuj zgodnie z przewodnikiem dotyczącym tworzenia zestawów danych oceny , które obejmują techniki wybierania i używania śladów produkcyjnych.

Przebiegi oceniania

Przebiegi oceny to wyniki testowania wersji aplikacji przeciw zestawowi danych ewaluacyjnych, przy użyciu zestawu miar. Przebiegi oceny:

  • Zawierają ślady (i ich oceny) wygenerowane przez ocenę.
  • Zawierają zagregowane metryki na podstawie ocen.

Testy ewaluacyjne służą do:

  • Ustal, czy zmiany aplikacji uległy poprawie (lub uległy pogorszeniu) jakości.
  • Porównaj wersje aplikacji obok siebie.
  • Śledź oceny jakości w czasie.

Uwaga / Notatka

Przebiegi oceny są specjalnym typem przebiegu MLflow i można wykonywać zapytania za pomocą polecenia mlflow.search_runs().

Dowiedz się więcej o uprzęży ewaluacyjnej, postępuj zgodnie z przewodnikiem dotyczącym używania oceny w celu ulepszenia aplikacji.

Dane etykietowania przez człowieka

Sesje etykietowania

Sesje etykietowania organizują ślady do przeglądu przez ludzkich ekspertów dziedzinowych. Sesje etykietowania:

  • Umieść w kolejce wybrane ślady, które wymagają przeglądu ekspertów i zawierają oceny z tego przeglądu.
  • Użyj schematów etykietowania, aby ustrukturyzować oceny do etykietowania przez ekspertów.

Sesje etykietowania są używane do:

  • Zbieranie opinii ekspertów na temat złożonych lub niejednoznacznych przypadków.
  • Tworzenie podstawowych danych prawdy dla zestawów danych oceny.

Uwaga / Notatka

Sesje etykietowania są specjalnym typem przebiegu MLflow i można wykonywać zapytania poprzez mlflow.search_runs().

Dowiedz się więcej na temat sesji etykietowania, postępuj zgodnie z przewodnikiem zbierania opinii ekspertów dotyczących domeny lub zobacz, jak oznaczyć etykietę podczas opracowywania.

Schematy etykietowania

Schematy etykietowania definiują oceny, które są zbierane podczas sesji etykietowania, zapewniając spójną zbiórkę etykiet wśród ekspertów domeny. Schematy etykietowania:

  • Określ, jakie pytania należy zadać recenzentom (na przykład "Czy ta odpowiedź jest dokładna?").
  • Zdefiniuj prawidłowe odpowiedzi na pytanie (na przykład kciuki w górę/w dół, 1–5 skalowania lub wolne komentarze tekstowe).

Dowiedz się więcej w dokumentacji schematów etykietowania.

Dane wersjonowania aplikacji

Polecenia

Podpowiedzi są wersjonowanymi szablonami dla monitów LLM. Komendy

  • Są śledzone za pomocą historii wersji podobnej do systemu Git.
  • Uwzględnij {{variables}} w przypadku generowania dynamicznego.
  • Są połączone z sesjami oceny w celu śledzenia ich jakości w czasie.
  • Obsługa aliasów, takich jak "produkcja" na potrzeby zarządzania wdrożeniami.

Zarejestrowane modele

Logowane modele reprezentują migawki aplikacji w określonych punktach w czasie. Zarejestrowane modele:

  • Połącz z generowanymi przez nie śladami i używanymi monitami.
  • Link do przebiegów oceny w celu śledzenia ich jakości.
  • Śledź parametry aplikacji, takie jak temperatura LLM.

Zarejestrowane modele mogą działać jako centrum metadanych, łącząc koncepcyjną wersję aplikacji z określonym kodem zewnętrznym (na przykład wskaźnikiem do zatwierdzenia usługi Git). Możesz również użyć zarejestrowanego modelu, aby spakować kod i konfigurację aplikacji jako artefakt gotowy do wdrożenia.

Dowiedz się więcej na temat śledzenia wersji, zobacz, jak śledzić wersje aplikacji lub dowiedzieć się więcej na temat łączenia śladów z wersjami.

Zestawy SDK MLflow do oceny jakości

Są to kluczowe procesy, które oceniają jakość śladów, dołączając oceny do śladu zawierającego wyniki oceny.

Strzelcy

mlflow.genai.scorers.* to funkcje, które oceniają jakość śladu. Strzelcy:

  • Przeanalizuj ślad w celu określenia odpowiednich pól danych do oceny.
  • Użyj tych danych, aby ocenić jakość przy użyciu deterministycznego kodu lub kryteriów oceny z sędzią LLM.
  • Zwróć jednostki opinii z wynikami tej oceny.

Tego samego wskaźnika można użyć do oceny w środowisku projektowym i produkcyjnym.

Uwaga / Notatka

Scorers vs. Sędziowie: Jeśli znasz sędziów LLM, możesz się zastanawiać, jak mają się oni do siebie w porównaniu z oceniającymi. W narzędziu MLflow sędzia jest wywoływanym zestawem SDK (na przykład mlflow.genai.judges.is_correct), który ocenia tekst na podstawie określonych kryteriów. Jednak sędziowie nie mogą bezpośrednio przetwarzać śladów — rozumieją tylko wprowadzanie tekstu. Oceniający wyodrębniają odpowiednie dane ze śladu (na przykład żądanie, odpowiedź i pobrany kontekst) i przekazują je sędziemu do oceny. Pomyśl o wskaźnikach jako "adapteru", który łączy ślady z logiką oceny, niezależnie od tego, czy jest to sędzia LLM, czy kod niestandardowy.

Dowiedz się więcej o wbudowanych i niestandardowych klasyfikatorach.

Ocena w rozwoju

mlflow.genai.evaluate() to zestaw SDK platformy MLflow do systematycznego oceniania jakości aplikacji. Narzędzie do oceny przyjmuje jako dane wejściowe zestaw danych oceny, zestaw ewaluatorów oraz funkcję przewidywania aplikacji i tworzy przebieg ewaluacji zawierający ślady z ocenami zwrotnymi wykonanymi przez:

  • Uruchamianie aplikacji dla każdego rekordu w zestawie danych oceny, generując ślady.
  • Uruchamianie każdego wskaźnika na wynikowych śladach w celu oceny jakości, generowania opinii.
  • Dołączanie każdej opinii do odpowiedniego śladu.

Uprzężenie ewaluacyjne służy do iteratywnego oceniania potencjalnych ulepszeń aplikacji, co pomaga:

  • Sprawdź, czy wdrożona poprawa polepszyła jakość (lub spowodowała jej pogorszenie).
  • Identyfikowanie dodatkowych ulepszeń w celu dalszej poprawy jakości.

Dowiedz się więcej o uprzęży ewaluacyjnej, postępuj zgodnie z przewodnikiem, aby ocenić aplikację.

Ocena w środowisku produkcyjnym

mlflow.genai.Scorer.start() Umożliwia zaplanowanie modułów oceny w celu automatycznego oceniania śladów z wdrożonej aplikacji. Po zaplanowaniu modułu oceny usługa monitorowania produkcji:

  • Uruchamia algorytmy punktujące na śladach produkcyjnych, generując informacje zwrotne.
  • Dołącza każdą informację zwrotną do źródłowego śladu.

Monitorowanie produkcji służy do szybkiego wykrywania problemów z jakością i identyfikowania problematycznych zapytań lub przypadków użycia w celu poprawy rozwoju.

Interfejsy użytkownika MLflow

Przeglądanie aplikacji

Aplikacja do przeglądu to webowy interfejs użytkownika, w którym eksperci dziedzinowi etykietują ślady za pomocą ocen. Przedstawia ślady sesji etykietowania i zbiera oceny na podstawie schematów etykietowania.

Interfejs użytkownika eksperymentu MLflow

Interfejs użytkownika eksperymentu MLflow zapewnia wizualny dostęp do wielu elementów modelu danych. Za pomocą interfejsu użytkownika można wykonać następujące czynności:

  • Wyszukaj i wyświetl ślady.
  • Przejrzyj opinie i oczekiwania.
  • Wyświetlanie i analizowanie wyników oceny.
  • Zarządzanie zestawami danych oceny.
  • Zarządzanie wersjami i monitami.

Dalsze kroki