Finjustera Meta Llama-modeller i Azure AI Studio
Viktigt!
Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Med Azure AI Studio kan du anpassa stora språkmodeller till dina personliga datamängder med hjälp av en process som kallas finjustering.
Finjustering ger betydande värde genom att aktivera anpassning och optimering för specifika uppgifter och program. Det leder till bättre prestanda, kostnadseffektivitet, kortare svarstid och skräddarsydda utdata.
I den här artikeln får du lära dig hur du finjusterar Meta Llama-modeller i Azure AI Studio.
Meta Llama-serien med stora språkmodeller (LLM) är en samling förtränad och finjusterade generativa textmodeller som sträcker sig i skala från 7 miljarder till 70 miljarder parametrar. Modellfamiljen innehåller också finjusterade versioner som är optimerade för dialoganvändningsfall med Reinforcement Learning from Human Feedback (RLHF), som kallas Llama-Instruct.
Viktigt!
Modeller som är i förhandsversion markeras som förhandsversioner på sina modellkort i modellkatalogen.
Modeller
Följande modeller är tillgängliga på Azure Marketplace för Llama 3.1 när du finjusterar som en tjänst med betala per användning-fakturering:
Meta-Llama-3.1-70B-Instruct
(förhandsgranskning)Meta-LLama-3.1-8b-Instruct
(förhandsgranskning)
Finjustering av Llama 3.1-modeller stöds för närvarande i projekt i USA, västra 3.
Viktigt!
För närvarande kan vi inte göra finjustering för Llama 3.1 med sekvenslängden 128K.
Förutsättningar
En Azure-prenumeration med en giltig betalningsmetod. Kostnadsfria azure-prenumerationer eller utvärderingsprenumerationer fungerar inte. Om du inte har en Azure-prenumeration skapar du ett betalt Azure-konto för att börja.
-
Viktigt!
För Meta Llama 3.1-modeller är finjusteringserbjudandet betala per användning endast tillgängligt med hubbar som skapats i regioner i USA, västra 3 .
Ett Azure AI Studio-projekt i Azure AI Studio.
Rollbaserade åtkomstkontroller i Azure (Azure RBAC) används för att bevilja åtkomst till åtgärder i Azure AI Studio. Om du vill utföra stegen i den här artikeln måste ditt användarkonto tilldelas rollen ägare eller deltagare för Azure-prenumerationen. Alternativt kan ditt konto tilldelas en anpassad roll som har följande behörigheter:
I Azure-prenumerationen – för att prenumerera på AI Studio-projektet till Azure Marketplace-erbjudandet, en gång för varje projekt, per erbjudande:
Microsoft.MarketplaceOrdering/agreements/offers/plans/read
Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
Microsoft.SaaS/register/action
I resursgruppen – för att skapa och använda SaaS-resursen:
Microsoft.SaaS/resources/read
Microsoft.SaaS/resources/write
I AI Studio-projektet – för att distribuera slutpunkter (rollen Azure AI Developer innehåller redan dessa behörigheter):
Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*
Mer information om behörigheter finns i Rollbaserad åtkomstkontroll i Azure AI Studio.
Registrering av prenumerationsprovider
Kontrollera att prenumerationen är registrerad på Microsoft.Network
resursprovidern.
Logga in på Azure-portalen.
Välj Prenumerationer på den vänstra menyn.
Välj den prenumeration som du vill använda.
Välj Inställningar>Resursprovidrar på den vänstra menyn.
Bekräfta att Microsoft.Network finns med i listan över resursprovidrar. Annars lägger du till den.
Dataförberedelse
Förbered dina tränings- och valideringsdata för att finjustera din modell. Dina uppsättningar med träningsdata och valideringsdata består av indata- och utdataexempel för hur du vill att modellen ska fungera.
Se till att alla dina träningsexempel följer det förväntade formatet för slutsatsdragning. För att finjustera modeller effektivt säkerställer du en balanserad och varierad datamängd.
Detta innebär att upprätthålla databalans, inklusive olika scenarier, och regelbundet förfina träningsdata så att de överensstämmer med verkliga förväntningar, vilket i slutändan leder till mer exakta och balanserade modellsvar.
Olika modelltyper kräver ett annat format för träningsdata.
De tränings- och valideringsdata som du använder måste formateras som ett JSON Lines-dokument (JSONL). För Meta-Llama-3.1-70B-Instruct
finjusteringsdatauppsättningen måste formateras i konversationsformatet som används av API:et för chattavslut.
Exempel på filformat
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Can I play PC games on my Xbox?"}, {"role": "assistant", "content": "While Xbox consoles don't natively support PC games, they can play an array of Xbox games, many of which are also available on PC. Can I assist you with finding games compatible with your Xbox device?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "I'm having trouble connecting my Xbox to the Wi-Fi."}, {"role": "assistant", "content": "No worries, let's go through the network settings on your Xbox. Can you please tell me what happens when you try to connect it to the Wi-Fi?"}]}
Filtypen som stöds är JSON Lines. Filer laddas upp till standarddatalagringen och görs tillgängliga i projektet.
Finjustera en Meta Llama-modell
Finjustera en LLama 3.1-modell:
Logga in på Azure AI Studio.
Välj den modell som du vill finjustera från Azure AI Studio-modellkatalogen.
På sidan Information för modellen väljer du finjustera.
Välj det projekt där du vill finjustera dina modeller. Om du vill använda finjusteringserbjudandet betala per användning-modell måste din arbetsyta tillhöra regionen USA, västra 3 .
I guiden finjustera väljer du länken till Azure Marketplace-villkor för att lära dig mer om användningsvillkoren. Du kan också välja fliken Information om Marketplace-erbjudande för att lära dig mer om priser för den valda modellen.
Om det här är första gången du finjusterar modellen i projektet måste du prenumerera på ditt projekt för det specifika erbjudandet (till exempel Meta-Llama-3.1-70B-Instruct) från Azure Marketplace. Det här steget kräver att ditt konto har behörigheter för Azure-prenumerationer och resursgruppsbehörigheter som anges i förhandskraven. Varje projekt har en egen prenumeration på det specifika Azure Marketplace-erbjudandet, vilket gör att du kan styra och övervaka utgifter. Välj Prenumerera och finjustera.
Kommentar
Att prenumerera ett projekt på ett visst Azure Marketplace-erbjudande (i det här fallet Meta-Llama-3.1-70B-Instruct) kräver att ditt konto har deltagar- eller ägaråtkomst på prenumerationsnivå där projektet skapas. Alternativt kan ditt användarkonto tilldelas en anpassad roll som har behörigheter för Azure-prenumerationen och behörigheter för resursgrupper som anges i förhandskraven.
När du har registrerat projektet för det specifika Azure Marketplace-erbjudandet kräver inte efterföljande finjustering av samma erbjudande i samma projekt att du prenumererar igen. Därför behöver du inte ha behörigheter på prenumerationsnivå för efterföljande finjusterande jobb. Om det här scenariot gäller för dig väljer du Fortsätt för att finjustera.
Ange ett namn för din finjusterade modell och de valfria taggarna och beskrivningen.
Välj träningsdata för att finjustera din modell. Mer information finns i förberedelse av data.
Kommentar
Om du har dina tränings-/valideringsfiler i ett mindre datalager för autentiseringsuppgifter måste du tillåta åtkomst till arbetsytans hanterade identitet till deras datalager för att kunna fortsätta med MaaS-finjustering med mindre autentiseringsuppgifter. På sidan "Datalager" när du har klickat på "Uppdatera autentisering" > väljer du följande alternativ:
Se till att alla dina träningsexempel följer det förväntade formatet för slutsatsdragning. För att finjustera modeller effektivt säkerställer du en balanserad och varierad datamängd. Detta innebär att upprätthålla databalans, inklusive olika scenarier, och regelbundet förfina träningsdata så att de överensstämmer med verkliga förväntningar, vilket i slutändan leder till mer exakta och balanserade modellsvar.
- Batchstorleken som ska användas för träning. När värdet är -1 beräknas batch_size som 0,2 % av exemplen i träningsuppsättningen och maxvärdet är 256.
- Den finjusterande inlärningshastigheten är den ursprungliga inlärningsfrekvensen som används för förträning multiplicerat med den här multiplikatorn. Vi rekommenderar att du experimenterar med värden mellan 0,5 och 2. Empiriskt sett har vi upptäckt att större inlärningsfrekvenser ofta presterar bättre med större batchstorlekar. Måste vara mellan 0.0 och 5.0.
- Antal träningsepoker. En epok refererar till en fullständig cykel genom datauppsättningen.
Uppgiftsparametrar är ett valfritt steg och ett avancerat alternativ– Justering av hyperparameter är viktigt för att optimera stora språkmodeller (LLM) i verkliga program. Det ger bättre prestanda och effektiv resursanvändning. Standardinställningarna kan användas eller så kan avancerade användare anpassa parametrar som epoker eller inlärningshastighet.
Granska dina val och fortsätt att träna din modell.
När din modell har finjusterats kan du distribuera modellen och använda den i ditt eget program, på lekplatsen eller i promptflödet. Mer information finns i Distribuera Llama 3.1-serien med stora språkmodeller med Azure AI Studio.
Rensa dina finjusterade modeller
Du kan ta bort en finjusterad modell från listan med finjusteringsmodeller i Azure AI Studio eller från sidan med modellinformation. Välj den finjusterade modell som ska tas bort från sidan Finjustering och välj sedan knappen Ta bort för att ta bort den finjusterade modellen.
Kommentar
Du kan inte ta bort en anpassad modell om den har en befintlig distribution. Du måste först ta bort modelldistributionen innan du kan ta bort din anpassade modell.
Kostnad och kvoter
Kostnads- och kvotöverväganden för Meta Llama-modeller som finjusterats som en tjänst
Meta Llama-modeller som finjusteras som en tjänst erbjuds av Meta via Azure Marketplace och integreras med Azure AI Studio för användning. Du hittar prissättningen för Azure Marketplace när du distribuerar eller finjusterar modellerna.
Varje gång ett projekt prenumererar på ett visst erbjudande från Azure Marketplace skapas en ny resurs för att spåra de kostnader som är kopplade till förbrukningen. Samma resurs används för att spåra kostnader som är kopplade till slutsatsdragning och finjustering. Flera mätare är dock tillgängliga för att spåra varje scenario oberoende av varandra.
Mer information om hur du spårar kostnader finns i Övervaka kostnader för modeller som erbjuds i hela Azure Marketplace.
Innehållsfiltrering
Modeller som distribueras som en tjänst med betala per användning-fakturering skyddas av Azure AI Content Safety. När du distribueras till realtidsslutpunkter kan du välja bort den här funktionen. Med Azure AI-innehållssäkerhet aktiverat passerar både prompten och slutförandet genom en uppsättning klassificeringsmodeller som syftar till att identifiera och förhindra utdata från skadligt innehåll. Systemet för innehållsfiltrering (förhandsversion) identifierar och vidtar åtgärder för specifika kategorier av potentiellt skadligt innehåll i både inkommande prompter och slutföranden av utdata. Läs mer om Azure AI Content Safety.