Dela via


Begrepp – Finjustera språkmodeller för AI- och maskininlärningsarbetsflöden

I den här artikeln får du lära dig mer om finjustering av språkmodeller, inklusive några vanliga metoder och hur du kan förbättra prestandan för dina AI- och maskininlärningsarbetsflöden i Azure Kubernetes Service (AKS).

Förtränade språkmodeller

Förtränade språkmodeller (PLM) erbjuder ett tillgängligt sätt att komma igång med AI-slutsatsdragning och används ofta i bearbetning av naturligt språk (NLP). PLM:er tränas på storskalig text corpora från Internet med hjälp av djupa neurala nätverk och kan finjusteras på mindre datauppsättningar för specifika uppgifter. Dessa modeller består vanligtvis av miljarder parametrar, eller vikter, som lärs under förträningsprocessen.

PLM:er kan lära sig universella språkrepresentationer som avbildar de statistiska egenskaperna för naturligt språk, till exempel sannolikheten för ord eller sekvenser av ord som förekommer i en viss kontext. Dessa representationer kan överföras till underordnade uppgifter, till exempel textklassificering, namngiven entitetsigenkänning och frågesvar, genom att finjustera modellen på uppgiftsspecifika datamängder.

Fördelar och nackdelar

I följande tabell visas några fördelar och nackdelar med att använda PLM:er i dina AI- och maskininlärningsarbetsflöden:

Fördelar Nackdelar
• Kom igång snabbt med distribution i maskininlärningslivscykeln.
• Undvik höga beräkningskostnader i samband med modellträning.
• Minskar behovet av att lagra stora, märkta datamängder.
• Kan ge generaliserade eller inaktuella svar baserat på datakällor före träningen.
• Kanske inte lämpar sig för alla uppgifter eller domäner.
• Prestanda kan variera beroende på slutsatsdragningskontext.

Finjusteringsmetoder

Parametereffektiv finjustering

Parametereffektiv finjustering (PEFT) är en metod för finjustering av PLM på relativt små datamängder med begränsade beräkningsresurser. PEFT använder en kombination av tekniker, till exempel additiva och selektiva metoder för att uppdatera vikter, för att förbättra modellens prestanda för specifika uppgifter. PEFT kräver minimala beräkningsresurser och flexibla mängder data, vilket gör det lämpligt för lågresursinställningar. Den här metoden behåller de flesta vikterna i den ursprungliga förtränade modellen och uppdaterar de återstående vikterna så att de passar kontextspecifika, märkta data.

Anpassning med låg rang

LoRA (Low Rank Adaptation) är en PEFT-metod som ofta används för att anpassa stora språkmodeller för nya uppgifter. Den här metoden spårar ändringar i modellvikter och lagrar effektivt mindre viktmatriser som endast representerar modellens träningsbara parametrar, vilket minskar minnesanvändningen och den beräkningskraft som krävs för finjustering. LoRA skapar finjusterande resultat, så kallade adapterlager, som tillfälligt kan lagras och hämtas till modellens arkitektur för nya slutsatsdragningsjobb.

Quantized low rank adaptation (QLoRA) är en förlängning av LoRA som ytterligare minskar minnesanvändningen genom att införa kvantisering i adapterlagren. Mer information finns i Göra LLM:er ännu mer tillgängliga med bitsandbitar, 4-bitars kvantisering och QLoRA.

Experimentera med finjusteringsspråkmodeller på AKS

Kubernetes AI Toolchain Operator (KAITO) är en operator med öppen källkod som automatiserar distributioner av små och stora språkmodeller i Kubernetes-kluster. Ai-verktygskedjans operatörstillägg utnyttjar KAITO för att förenkla registrering, spara på infrastrukturkostnader och minska tiden till slutsatsdragning för modeller med öppen källkod i ett AKS-kluster. Tillägget etablerar automatiskt GPU-noder i rätt storlek och konfigurerar den associerade slutsatsdragningsservern som en slutpunktsserver till den valda modellen.

Med KAITO version 0.3.0 eller senare kan du effektivt finjustera mit- och Apache 2.0-licensierade modeller som stöds med följande funktioner:

  • Lagra dina omträningsdata som en containeravbildning i ett privat containerregister.
  • Värd för den nya nätverkskortskiktsavbildningen i ett privat containerregister.
  • Hämta effektivt avbildningen för slutsatsdragning med adapterlager i nya scenarier.

Vägledning om hur du kommer igång med finjustering på KAITO finns i dokumentationen om Kaito Tuning Workspace API. Mer information om hur du distribuerar språkmodeller med KAITO i dina AKS-kluster finns i GITHub-lagringsplatsen för KAITO-modellen.

Viktigt!

Programvara med öppen källkod nämns i AKS-dokumentationen och exempel. Programvara som du distribuerar undantas från AKS-serviceavtal, begränsad garanti och Azure Support. När du använder teknik med öppen källkod tillsammans med AKS kan du läsa supportalternativen som är tillgängliga från respektive community och projektunderhållare för att utveckla en plan.

Till exempel beskriver Ray GitHub-lagringsplatsen flera plattformar som varierar i svarstid, syfte och supportnivå.

Microsoft tar ansvar för att skapa de paket med öppen källkod som vi distribuerar på AKS. Det ansvaret omfattar att ha fullständigt ägarskap för bygg-, genomsöknings-, signerings-, validerings- och snabbkorrigeringsprocessen, tillsammans med kontroll över binärfilerna i containeravbildningar. Mer information finns i Sårbarhetshantering för AKS - och AKS-stödtäckning.

Nästa steg

Mer information om containerbaserade AI- och maskininlärningsarbetsbelastningar i AKS finns i följande artiklar: