Udostępnij za pośrednictwem


Dostrajanie monitów przy użyciu wariantów w portalu usługi Azure AI Foundry

Ważne

Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Z tego artykułu dowiesz się, jak używać wariantów do dostosowywania monitów i oceniania wydajności różnych wariantów.

Tworzenie dobrego monitu jest trudnym zadaniem, które wymaga dużej kreatywności, jasności i istotności. Dobry monit może wywołać żądane dane wyjściowe z wstępnie wytrenowanego modelu językowego, podczas gdy zły monit może prowadzić do niedokładnych, nieistotnych lub niesensownych danych wyjściowych. W związku z tym należy dostosować monity, aby zoptymalizować ich wydajność i niezawodność dla różnych zadań i domen.

Warianty mogą pomóc w przetestowaniu zachowania modelu w różnych warunkach, takich jak różne sformułowanie, formatowanie, kontekst, temperatura lub top-k. Możesz porównać i znaleźć najlepszy monit i konfigurację, która maksymalizuje dokładność, różnorodność lub spójność modelu.

Warianty w przepływie monitu

Za pomocą przepływu monitu możesz użyć wariantów, aby dostroić monit. Wariant odnosi się do określonej wersji węzła narzędzia, która ma odrębne ustawienia. Obecnie warianty są obsługiwane tylko w narzędziu LLM. Na przykład w narzędziu LLM nowy wariant może reprezentować inną zawartość monitu lub inne ustawienia połączenia.

Załóżmy, że chcesz wygenerować podsumowanie artykułu z wiadomościami. Można ustawić różne warianty monitów i ustawień w następujący sposób:

Warianty Monit Ustawienia połączenia
Wariant 0 Summary: {{input sentences}} Temperatura = 1
Wariant 1 Summary: {{input sentences}} Temperatura = 0,7
Wariant 2 What is the main point of this article? {{input sentences}} Temperatura = 1
Wariant 3 What is the main point of this article? {{input sentences}} Temperatura = 0,7

Korzystając z różnych wariantów monitów i ustawień, możesz dowiedzieć się, jak model reaguje na różne dane wejściowe i wyjściowe, umożliwiając odnajdywanie najbardziej odpowiedniej kombinacji dla wymagań.

Zalety korzystania z wariantów obejmują:

  • Zwiększ jakość generacji usługi LLM: tworząc wiele wariantów tego samego węzła LLM z różnymi monitami i konfiguracjami, możesz zidentyfikować optymalną kombinację, która generuje zawartość wysokiej jakości dopasowaną do Twoich potrzeb.
  • Oszczędzaj czas i wysiłek: Nawet niewielkie modyfikacje monitu mogą przynieść różne wyniki. Kluczowe znaczenie ma śledzenie i porównywanie wydajności każdej wersji monitu. Dzięki wariantom można łatwo zarządzać wersjami historycznymi węzłów LLM, ułatwiając aktualizacje na podstawie jakiegokolwiek wariantu bez ryzyka zapomnienia poprzednich iteracji. Warianty pozwalają zaoszczędzić czas i nakład pracy w zarządzaniu historią dostrajania monitów.
  • Zwiększenie produktywności: Warianty usprawniają proces optymalizacji dla węzłów LLM, co ułatwia tworzenie wielu odmian i zarządzanie nimi. Możesz osiągnąć lepsze wyniki w krótszym czasie, zwiększając w ten sposób ogólną produktywność.
  • Ułatwianie łatwego porównywania: możesz bez wysiłku porównać wyniki uzyskane z różnych wariantów obok siebie, umożliwiając podejmowanie decyzji opartych na danych dotyczących wariantu, który generuje najlepsze wyniki.

Jak dostroić monity przy użyciu wariantów?

W tym artykule użyjemy przykładowego przepływu klasyfikacji sieci Web.

  1. Otwórz przykładowy przepływ i usuń węzeł prepare_examples jako początek.
    1. W obszarze Narzędzia wybierz pozycję Przepływ monituj.
    2. Wybierz pozycję Utwórz , aby otworzyć kreatora tworzenia przepływu.
    3. W galerii przepływów w obszarze Eksploruj galerię w polu "Klasyfikacja sieci Web" wybierz pozycję Klonuj.
    4. Na karcie przepływu usuń węzeł prepare_examples .
  2. Użyj następującego monitu jako wiersza polecenia punktu odniesienia w węźle classify_with_llm .
Your task is to classify a given url into one of the following types:
Movie, App, Academic, Channel, Profile, PDF or None based on the text content information.
The classification will be based on the url, the webpage text content summary, or both.

For a given URL : {{url}}, and text content: {{text_content}}.
Classify above url to complete the category and indicate evidence.

The output shoule be in this format: {"category": "App", "evidence": "Both"} 
OUTPUT:

Aby zoptymalizować ten przepływ, może istnieć wiele sposobów, a poniżej przedstawiono dwa kierunki:

  • Dla classify_with_llm węzła: Nauczyłem się od społeczności i dokumentów, że niższa temperatura daje większą precyzję, ale mniej kreatywności i zaskoczenia, więc niższa temperatura jest odpowiednia dla zadań klasyfikacji, a także kilka strzałów monitujących może zwiększyć wydajność LLM. Dlatego chciałbym przetestować, jak działa mój przepływ, gdy temperatura zmienia się z zakresu od 1 do 0, a gdy jest wyświetlany monit z kilkoma przykładami strzałów.

  • W przypadku węzła summarize_text_content : Chcę również przetestować zachowanie przepływu, gdy zmieniam podsumowanie z 100 słów na 300, aby sprawdzić, czy więcej zawartości tekstowej może pomóc zwiększyć wydajność.

Tworzenie wariantów

  1. Wybierz przycisk Pokaż warianty w prawym górnym rogu węzła LLM. Istniejący węzeł LLM jest variant_0 i jest wariantem domyślnym.
  2. Wybierz przycisk Klonuj w variant_0, aby wygenerować variant_1, a następnie możesz skonfigurować parametry do różnych wartości lub zaktualizować monit przy variant_1.
  3. Powtórz krok, aby utworzyć więcej wariantów.
  4. Wybierz pozycję Ukryj warianty , aby przestać dodawać więcej wariantów. Wszystkie warianty są składane. Domyślny wariant jest wyświetlany dla węzła.

W przypadku węzła classify_with_llm na podstawie variant_0:

  • Utwórz variant_1, w którym temperatura zmienia się z zakresu od 1 do 0.
  • Utwórz variant_2, gdzie temperatura wynosi 0, i możesz użyć następującego monitu, w tym kilka zdjęć przykłady.
Your task is to classify a given url into one of the following types:
Movie, App, Academic, Channel, Profile, PDF or None based on the text content information.
The classification will be based on the url, the webpage text content summary, or both.

Here are a few examples:

URL: https://play.google.com/store/apps/details?id=com.spotify.music 
Text content: Spotify is a free music and podcast streaming app with millions of songs, albums, and original podcasts. It also offers audiobooks, so users can enjoy thousands of stories. It has a variety of features such as creating and sharing music playlists, discovering new music, and listening to popular and exclusive podcasts. It also has a Premium subscription option which allows users to download and listen offline, and access ad-free music. It is available on all devices and has a variety of genres and artists to choose from. 
OUTPUT: {"category": "App", "evidence": "Both"} 
		
URL: https://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9Ttw 
Text content: NFL Sunday Ticket is a service offered by Google LLC that allows users to watch NFL games on YouTube. It is available in 2023 and is subject to the terms and privacy policy of Google LLC. It is also subject to YouTube's terms of use and any applicable laws. 
OUTPUT: {"category": "Channel", "evidence": "URL"} 
		
URL: https://arxiv.org/abs/2303.04671 
Text content: Visual ChatGPT is a system that enables users to interact with ChatGPT by sending and receiving not only languages but also images, providing complex visual questions or visual editing instructions, and providing feedback and asking for corrected results. It incorporates different Visual Foundation Models and is publicly available. Experiments show that Visual ChatGPT opens the door to investigating the visual roles of ChatGPT with the help of Visual Foundation Models. 
OUTPUT: {"category": "Academic", "evidence": "Text content"} 
		
URL: https://ab.politiaromana.ro/ 
Text content: There is no content available for this text. 
OUTPUT: {"category": "None", "evidence": "None"}
		
For a given URL : {{url}}, and text content: {{text_content}}.
Classify above url to complete the category and indicate evidence.
OUTPUT:    

W przypadku węzła summarize_text_content opartego na variant_0 można utworzyć variant_1, gdzie 100 words jest zmieniana na 300 wyrazy w wierszu polecenia.

Teraz przepływ wygląda następująco, 2 warianty dla węzła summarize_text_content i 3 dla węzła classify_with_llm .

Uruchamianie wszystkich wariantów z pojedynczym wierszem danych i sprawdzanie danych wyjściowych

Aby upewnić się, że wszystkie warianty mogą działać pomyślnie i działają zgodnie z oczekiwaniami, możesz uruchomić przepływ z pojedynczym wierszem danych do przetestowania.

Uwaga

Za każdym razem można wybrać tylko jeden węzeł LLM z wariantami do uruchomienia, podczas gdy inne węzły LLM będą używać wariantu domyślnego.

W tym przykładzie konfigurujemy warianty zarówno dla węzła summarize_text_content , jak i węzła classify_with_llm , więc należy uruchomić dwa razy, aby przetestować wszystkie warianty.

  1. Wybierz przycisk Uruchom w prawym górnym rogu.
  2. Wybierz węzeł LLM z wariantami. Inne węzły LLM używają wariantu domyślnego.
  3. Prześlij przebieg przepływu.
  4. Po zakończeniu przebiegu przepływu można sprawdzić odpowiedni wynik dla każdego wariantu.
  5. Prześlij kolejny przebieg przepływu z innym węzłem LLM z wariantami i sprawdź dane wyjściowe.
  6. Możesz zmienić inne dane wejściowe (na przykład użyć adresu URL strony Wikipedii) i powtórzyć powyższe kroki, aby przetestować warianty dla różnych danych.

Ocena wariantów

Po uruchomieniu wariantów z kilkoma pojedynczymi fragmentami danych i sprawdzeniu wyników z nagim okiem nie można odzwierciedlić złożoności i różnorodności danych rzeczywistych, w międzyczasie dane wyjściowe nie są wymierne, więc trudno jest porównać skuteczność różnych wariantów, a następnie wybrać najlepsze.

Możesz przesłać przebieg wsadowy, który pozwala przetestować warianty z dużą ilością danych i ocenić je za pomocą metryk, aby ułatwić znalezienie najlepszego dopasowania.

  1. Najpierw należy przygotować zestaw danych, który jest reprezentatywny dla rzeczywistego problemu, który chcesz rozwiązać za pomocą przepływu monitu. W tym przykładzie jest to lista adresów URL i ich głównej prawdy klasyfikacji. Używamy dokładności do oceny wydajności wariantów.

  2. Wybierz pozycję Oceń w prawym górnym rogu strony.

  3. Występuje kreator uruchamiania i oceny usługi Batch. Pierwszym krokiem jest wybranie węzła w celu uruchomienia wszystkich jego wariantów.

    Aby przetestować, jak działają różne warianty dla każdego węzła w przepływie, należy uruchomić uruchomienie wsadowe dla każdego węzła z wariantami po jednym. Pomaga to uniknąć wpływu wariantów innych węzłów i skoncentrować się na wynikach wariantów tego węzła. Jest to zgodne z regułą kontrolowanego eksperymentu, co oznacza, że zmieniasz tylko jedną rzecz jednocześnie i zachowasz wszystko inne w tym samym czasie.

    Możesz na przykład wybrać węzeł classify_with_llm , aby uruchomić wszystkie warianty, węzeł summarize_text_content używa domyślnego wariantu dla tego przebiegu wsadowego.

  4. Następnie w ustawieniach przebiegu usługi Batch możesz ustawić nazwę przebiegu wsadowego, wybrać środowisko uruchomieniowe, przekazać przygotowane dane.

  5. Następnie w obszarze Ustawienia oceny wybierz metodę oceny.

    Ponieważ ten przepływ jest przeznaczony do klasyfikacji, możesz wybrać metodę oceny dokładności klasyfikacji, aby ocenić dokładność.

    Dokładność jest obliczana przez porównanie przewidywanych etykiet przypisanych przez przepływ (przewidywanie) z rzeczywistymi etykietami danych (prawda naziemna) i zliczeniem, ile z nich pasuje.

    W sekcji Mapowanie danych wejściowych oceny należy określić, czy prawda naziemna pochodzi z kolumny kategorii wejściowego zestawu danych, a przewidywanie pochodzi z jednej z danych wyjściowych przepływu: kategoria.

  6. Po przejrzeniu wszystkich ustawień możesz przesłać przebieg wsadowy.

  7. Po przesłaniu przebiegu wybierz link, przejdź do strony szczegółów przebiegu.

Uwaga

Ukończenie przebiegu może potrwać kilka minut.

Wizualizowanie danych wyjściowych

  1. Po zakończeniu przebiegu i oceny wsadowej na stronie szczegółów przebiegu wybierz wiele przebiegów wsadowych dla każdego wariantu, a następnie wybierz pozycję Visualize outputs (Wizualizacja danych wyjściowych). Zobaczysz metryki 3 wariantów dla węzła classify_with_llm i przewidywane dane wyjściowe llM dla każdego rekordu danych.
  2. Po zidentyfikowaniu, który wariant jest najlepszy, możesz wrócić do strony tworzenia przepływu i ustawić ten wariant jako domyślny wariant węzła
  3. Powyższe kroki można powtórzyć, aby ocenić warianty węzła summarize_text_content .

Teraz zakończono proces dostrajania monitów przy użyciu wariantów. Tę technikę można zastosować do własnego przepływu monitu, aby znaleźć najlepszy wariant dla węzła LLM.

Następne kroki