Prompts afstemmen met behulp van varianten in Azure AI Studio
Belangrijk
Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
In dit artikel leert u hoe u varianten gebruikt om prompts af te stemmen en de prestaties van verschillende varianten te evalueren.
Het maken van een goede prompt is een uitdagende taak die veel creativiteit, duidelijkheid en relevantie vereist. Een goede prompt kan de gewenste uitvoer van een vooraf getraind taalmodel activeren, terwijl een onjuiste prompt kan leiden tot onnauwkeurige, irrelevante of niet-gevoelige uitvoer. Daarom is het nodig om prompts af te stemmen om hun prestaties en robuustheid voor verschillende taken en domeinen te optimaliseren.
Varianten kunnen u helpen het gedrag van het model onder verschillende omstandigheden te testen, zoals verschillende formuleringen, opmaak, context, temperatuur of top-k. U kunt de beste prompt en configuratie vergelijken en vinden waarmee de nauwkeurigheid, diversiteit of samenhang van het model wordt gemaximaliseerd.
Varianten in promptstroom
Met promptstroom kunt u varianten gebruiken om uw prompt af te stemmen. Een variant verwijst naar een specifieke versie van een hulpprogrammaknooppunt met verschillende instellingen. Momenteel worden varianten alleen ondersteund in het LLM-hulpprogramma. In het LLM-hulpprogramma kan een nieuwe variant bijvoorbeeld een andere promptinhoud of verschillende verbindingsinstellingen vertegenwoordigen.
Stel dat u een samenvatting van een nieuwsartikel wilt genereren. U kunt verschillende varianten van prompts en instellingen als volgt instellen:
Varianten | Prompt | Verbindingsinstellingen |
---|---|---|
Variant 0 | Summary: {{input sentences}} |
Temperatuur = 1 |
Variant 1 | Summary: {{input sentences}} |
Temperatuur = 0,7 |
Variant 2 | What is the main point of this article? {{input sentences}} |
Temperatuur = 1 |
Variant 3 | What is the main point of this article? {{input sentences}} |
Temperatuur = 0,7 |
Door verschillende varianten van prompts en instellingen te gebruiken, kunt u verkennen hoe het model reageert op verschillende invoer en uitvoer, zodat u de meest geschikte combinatie voor uw vereisten kunt ontdekken.
Voordelen van het gebruik van varianten zijn:
- Verbeter de kwaliteit van uw LLM-generatie: door meerdere varianten van hetzelfde LLM-knooppunt te maken met diverse prompts en configuraties, kunt u de optimale combinatie identificeren die inhoud van hoge kwaliteit produceert die is afgestemd op uw behoeften.
- Bespaar tijd en moeite: Zelfs kleine wijzigingen in een prompt kunnen verschillende resultaten opleveren. Het is van cruciaal belang om de prestaties van elke promptversie bij te houden en te vergelijken. Met varianten kunt u eenvoudig de historische versies van uw LLM-knooppunten beheren, waardoor updates worden vergemakkelijkt op basis van elke variant zonder het risico dat u eerdere iteraties vergeet. Met varianten bespaart u tijd en moeite bij het beheren van de geschiedenis van het afstemmen van prompts.
- Verhoog de productiviteit: varianten stroomlijnen het optimalisatieproces voor LLM-knooppunten, waardoor het eenvoudiger is om meerdere variaties te maken en te beheren. U kunt in minder tijd verbeterde resultaten bereiken, waardoor uw algehele productiviteit wordt verhoogd.
- Eenvoudige vergelijking mogelijk maken: u kunt moeiteloos de resultaten vergelijken die zijn verkregen uit verschillende varianten naast elkaar, zodat u gegevensgestuurde beslissingen kunt nemen met betrekking tot de variant die de beste resultaten genereert.
Hoe stem ik prompts af met behulp van varianten?
In dit artikel gebruiken we voorbeeldstroom voor webclassificatie .
- Open de voorbeeldstroom en verwijder het prepare_examples knooppunt als begin.
- Selecteer de promptstroom onder Extra.
- Selecteer Maken om de wizard Stroom maken te openen.
- Selecteer Klonen in de stroomgalerie onder De galerie Verkennen in het vak Webclassificatie.
- Verwijder het prepare_examples knooppunt op het tabblad Stroom.
- Gebruik de volgende prompt als basislijnprompt in het knooppunt 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:
Om deze stroom te optimaliseren, kunnen er meerdere manieren zijn en zijn er twee richtingen:
Voor classify_with_llm knooppunt: ik heb geleerd uit community en documenten dat een lagere temperatuur hogere precisie geeft, maar minder creativiteit en verrassing, dus lagere temperatuur is geschikt voor classificatietaken en ook weinig opnameprompts kunnen de LLM-prestaties verhogen. Daarom wil ik testen hoe mijn stroom zich gedraagt wanneer de temperatuur wordt gewijzigd van 1 tot 0 en wanneer er een prompt is met enkele voorbeelden.
Voor summarize_text_content knooppunt: ik wil ook het gedrag van mijn stroom testen wanneer ik een samenvatting wijzig van 100 woorden in 300, om te zien of meer tekstinhoud de prestaties kan helpen verbeteren.
Varianten maken
- Selecteer de knop Varianten weergeven in de rechterbovenhoek van het LLM-knooppunt. Het bestaande LLM-knooppunt is variant_0 en is de standaardvariant.
- Selecteer de knop Klonen op variant_0 om variant_1 te genereren. Vervolgens kunt u parameters configureren voor verschillende waarden of de prompt bijwerken op variant_1.
- Herhaal de stap om meer varianten te maken.
- Selecteer Varianten verbergen om te stoppen met het toevoegen van meer varianten. Alle varianten zijn gevouwen. De standaardvariant wordt weergegeven voor het knooppunt.
Voor classify_with_llm knooppunt, op basis van variant_0:
- Maak variant_1 waar de temperatuur wordt gewijzigd van 1 naar 0.
- Maak variant_2 waar de temperatuur 0 is en u kunt de volgende prompt gebruiken, inclusief voorbeelden van enkele opnamen.
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:
Voor summarize_text_content knooppunt, op basis van variant_0, kunt u variant_1 maken waar 100 words
wordt gewijzigd in 300
woorden in prompt.
De stroom ziet er nu als volgt uit, twee varianten voor summarize_text_content knooppunt en 3 voor classify_with_llm knooppunt.
Alle varianten uitvoeren met één rij gegevens en uitvoer controleren
Om ervoor te zorgen dat alle varianten correct kunnen worden uitgevoerd en werken zoals verwacht, kunt u de stroom uitvoeren met één rij gegevens die u wilt testen.
Notitie
Telkens wanneer u slechts één LLM-knooppunt met varianten kunt selecteren die moeten worden uitgevoerd terwijl andere LLM-knooppunten de standaardvariant gebruiken.
In dit voorbeeld configureren we varianten voor zowel summarize_text_content knooppunt als classify_with_llm knooppunt, dus u moet twee keer worden uitgevoerd om alle varianten te testen.
- Selecteer de knop Uitvoeren rechtsboven.
- Selecteer een LLM-knooppunt met varianten. De andere LLM-knooppunten gebruiken de standaardvariant.
- Verzend de stroomuitvoering.
- Nadat de stroomuitvoering is voltooid, kunt u het bijbehorende resultaat voor elke variant controleren.
- Verzend een andere stroomuitvoering met het andere LLM-knooppunt met varianten en controleer de uitvoer.
- U kunt nog een invoergegevens wijzigen (bijvoorbeeld een URL van een Wikipedia-pagina gebruiken) en de bovenstaande stappen herhalen om varianten voor verschillende gegevens te testen.
Varianten evalueren
Wanneer u de varianten met enkele gegevens uitvoert en de resultaten met het blote oog controleert, kan deze niet de complexiteit en diversiteit van echte gegevens weerspiegelen, terwijl de uitvoer niet meetbaar is, dus het is moeilijk om de effectiviteit van verschillende varianten te vergelijken en kies vervolgens het beste.
U kunt een batchuitvoering indienen, waarmee u de varianten met een grote hoeveelheid gegevens kunt testen en deze kunt evalueren met metrische gegevens, zodat u de beste keuze kunt vinden.
Eerst moet u een gegevensset voorbereiden, die representatief genoeg is voor het echte probleem dat u wilt oplossen met promptstroom. In dit voorbeeld is het een lijst met URL's en hun classificatiegrondwaar. We gebruiken nauwkeurigheid om de prestaties van varianten te evalueren.
Selecteer Evalueren in de rechterbovenhoek van de pagina.
Er vindt een wizard voor Batch-uitvoering en -evaluatie plaats. De eerste stap bestaat uit het selecteren van een knooppunt om alle varianten uit te voeren.
Als u wilt testen hoe verschillende varianten werken voor elk knooppunt in een stroom, moet u een batchuitvoering uitvoeren voor elk knooppunt met varianten één voor één. Zo voorkomt u de invloed van de varianten van andere knooppunten en richt u zich op de resultaten van de varianten van dit knooppunt. Dit volgt de regel van het gecontroleerde experiment, wat betekent dat u slechts één ding tegelijk wijzigt en dat alles hetzelfde blijft.
U kunt bijvoorbeeld classify_with_llm knooppunt selecteren om alle varianten uit te voeren. Het knooppunt summarize_text_content maakt gebruik van de standaardvariant voor deze batchuitvoering.
Vervolgens kunt u de naam van de batchuitvoering instellen, een runtime kiezen en de voorbereide gegevens uploaden.
Selecteer vervolgens in De evaluatie-instellingen een evaluatiemethode.
Omdat deze stroom voor classificatie is, kunt u de methode Classificatienauwkeurigheidsevaluatie selecteren om de nauwkeurigheid te evalueren.
Nauwkeurigheid wordt berekend door de voorspelde labels te vergelijken die zijn toegewezen door de stroom (voorspelling) met de werkelijke labels van gegevens (grondwaar) en te tellen hoeveel van deze labels overeenkomen.
In de sectie Evaluatieinvoertoewijzing moet u de grondwaar opgeven uit de categoriekolom van de invoergegevensset en de voorspelling is afkomstig van een van de stroomuitvoer: categorie.
Nadat u alle instellingen hebt bekeken, kunt u de batchuitvoering verzenden.
Nadat de uitvoering is verzonden, selecteert u de koppeling en gaat u naar de detailpagina van de uitvoering.
Notitie
Het kan enkele minuten duren voordat de uitvoering is voltooid.
Uitvoer visualiseren
- Nadat de uitvoering en evaluatie van de batch zijn voltooid, selecteert u op de detailpagina voor uitvoeringen van uitvoeringen meerdere opties voor elke variant en selecteert u Uitvoer visualiseren. U ziet de metrische gegevens van 3 varianten voor het classify_with_llm knooppunt en voorspelde LLM-uitvoer voor elke record met gegevens.
- Nadat u hebt vastgesteld welke variant het beste is, kunt u teruggaan naar de pagina voor het ontwerpen van stromen en deze variant instellen als standaardvariant van het knooppunt
- U kunt de bovenstaande stappen herhalen om ook de varianten van summarize_text_content knooppunt te evalueren.
Nu hebt u het proces voor het afstemmen van prompts voltooid met behulp van varianten. U kunt deze techniek toepassen op uw eigen promptstroom om de beste variant voor het LLM-knooppunt te vinden.