Steg-för-steg LLM-produktutveckling för företagsledare

Steg-för-steg LLM-produktutveckling för företagsledare

Källnod: 2810892

LLMOPS-teknologistack

Genererad med Midjourney

Företag i alla branscher och hörn av världen skyndar sig att integrera kraften i stora språkmodeller (LLM) som OpenAIs ChatGPT, Anthropics Claude och AI12Labs Jurassic för att öka prestanda i ett brett utbud av affärsapplikationer, såsom marknadsundersökningar, kundservice och generering av innehåll. 

Men att bygga en LLM-applikation i företagsskala kräver en annan verktygsuppsättning och förståelse än att bygga traditionella maskininlärningsapplikationer (ML). Företagsledare och chefer som vill bevara varumärkets röst och pålitlig servicekvalitet behöver utveckla en djupare förståelse för hur LLM:er fungerar och fördelarna och nackdelarna med olika verktyg i en LLM-applikationsstack. 

I den här artikeln ger vi dig en viktig introduktion till strategin och verktygen på hög nivå som du behöver för att bygga och köra en LLM-applikation för ditt företag.

Traditionell ML-utveckling kontra LLM-applikationer

Traditionella maskininlärningsmodeller var uppgiftsspecifika, vilket innebär att du behövde bygga en separat modell för varje annan uppgift. Om du till exempel vill analysera kundernas sentiment, måste du bygga en modell, och om du vill bygga en chatbot för kundsupport måste du bygga en annan modell. 

Denna process att bygga och träna uppgiftsspecifika ML-modeller är tidskrävande och kräver mycket data. Vilken typ av datauppsättningar som behövs för att träna dessa olika ML-modeller skulle också variera beroende på uppgiften. För att träna en modell för att analysera kundernas sentiment, skulle du behöva en datauppsättning av kundrecensioner som har märkts med ett motsvarande sentiment (positivt, negativt, neutralt). För att träna en modell för att bygga en kundsupportchattbot skulle du behöva en datauppsättning av konversationer mellan kunder och teknisk support. 

Stora språkmodeller har förändrat detta. LLM:er är förutbildade på en enorm datauppsättning av text och kod, vilket gör att de kan prestera bra på ett brett spektrum av uppgifter direkt, inklusive:

  • Textsammanfattning
  • Innehållsskapande
  • Översättning
  • Informationsutvinning
  • Frågesvar
  • Sentimentanalys
  • Kundtjänst
  • Försäljningsstöd
Traditionell ML vs LLM

Processen att utveckla LLM-applikationer kan delas upp i fyra viktiga steg:

  1. Välj en lämplig grundmodell. Det är en nyckelkomponent som definierar prestandan för din LLM-applikation.
  2. Anpassa modellen vid behov. Du kan behöva finjustera modellen eller utöka den med ytterligare kunskapsbas för att möta dina specifika behov.
  3. Konfigurera ML-infrastruktur. Detta inkluderar den hårdvara och programvara som behövs för att köra din applikation (dvs. halvledare, chips, molnvärd, slutledning och distribution).
  4. Förstärk din applikation med ytterligare verktyg. Dessa verktyg kan hjälpa till att förbättra din applikations effektivitet, prestanda och säkerhet.

Låt oss nu ta en titt på motsvarande teknikstack.

Om detta fördjupade utbildningsinnehåll är användbart för dig, prenumerera på vår AI-e-postlista att bli varnade när vi släpper nytt material. 

Högnivå LLM Application Stack 

LLM-applikationer är byggda ovanpå flera nyckelkomponenter, inklusive:

  • En grundmodell, som kan kräva anpassning i specifika användningsfall.
  • ML -infrastruktur för tillräckliga datorresurser via molnplattformar eller företagets egen hårdvara.
  • Ytterligare verktyg, såsom datapipelines, vektordatabaser, orkestreringsverktyg, finjustering av ML-plattformar, modellprestandaövervakningsverktyg etc.

Vi ska kort gå igenom de här komponenterna så att du bättre kan förstå den verktygslåda som behövs för att bygga och distribuera en LLM-applikation.

LLMOPS landskap
LLMOps Landskap

Vad är grundmodeller? 

Att använda en enda förutbildad LLM kan spara mycket tid och resurser. Att utbilda en sådan modell från grunden är dock en läglig och kostsam process som är bortom förmågan hos de flesta företag utom för ett fåtal teknikledare. 

Flera företag och forskargrupper har tränat dessa modeller och låter andra företag använda dem. Ledande exempel inkluderar ChatGPT, Claude, Llama, Jurassic och T5. Dessa offentliga modeller kallas grundmodeller. Vissa av dem är proprietära och kan nås via API-anrop mot en avgift. Andra är öppen källkod och kan användas gratis. Dessa modeller är förutbildade på en enorm datauppsättning av omärkt textdata, vilket gör det möjligt för dem att utföra ett brett spektrum av uppgifter, från att skapa kreativa annonskopior till att kommunicera med dina kunder på deras modersmål för företagets räkning.

Det finns två huvudtyper av grundmodeller: proprietära och öppen källkod.

Proprietära modeller ägs av ett enda företag eller en organisation och är vanligtvis endast tillgängliga mot en avgift. Några av de mest populära exemplen på proprietära modeller inkluderar GPT-modeller av OpenAI, Claude-modeller av Anthropic och Jurassic-modeller av AI21 Labs.

Modeller med öppen källkod är vanligtvis tillgängliga gratis för alla som vill använda dem. Vissa modeller med öppen källkod har dock begränsningar för deras användning, såsom: (1) endast tillgängliga för forskningsändamål, (2) endast tillgängliga för kommersiellt bruk av företag av en viss storlek. Gemenskapen med öppen källkod hävdar att sådana begränsningar inte tillåter en modell att kvalificera sig som "öppen källkod". Ändå är de mest framträdande exemplen på språkmodeller som kan användas gratis, bland annat Llama-modeller av Meta, Falcon-modeller av Technology Innovation Institute i Abu Dhabi och StableLM-modeller av Stability AI. Läs mer om modeller med öppen källkod och riskerna i samband med detta här..

Låt oss nu diskutera flera faktorer att tänka på när du väljer en grundmodell för din LLM-applikation. 

Välj en grundmodell

Att välja den bästa grundmodellen för din LLM-applikation kan vara en utmanande process, men vi kan i princip dela upp den i tre steg:

  1. Välj mellan proprietära och öppen källkodsmodeller. Proprietära modeller är vanligtvis större och mer kapabla än modeller med öppen källkod, men de kan vara dyrare att använda och mindre flexibla. Dessutom är koden inte lika transparent, vilket gör det svårt att felsöka eller felsöka problem med proprietära modellers prestanda. Modeller med öppen källkod får å andra sidan vanligtvis färre uppdateringar och mindre stöd från utvecklarna.
  2. Välj storlek på modellen. Större modeller är oftast bättre på att utföra uppgifter som kräver mycket kunskap, som att svara på frågor eller skapa kreativ text. Men större modeller är också beräkningsmässigt dyrare att använda. Du kan börja med att experimentera med större modeller och sedan gå till mindre så länge en modells prestanda är tillfredsställande för ditt användningsfall.
  3. Välj en specifik modell. Du kan börja med att granska de allmänna riktmärkena för att välja ut modellerna för testning. Fortsätt sedan med att testa olika modeller för dina applikationsspecifika uppdrag. För anpassad benchmarking, överväg att beräkna BLEU och ROUGE poäng, mätvärdena som hjälper till att kvantifiera antalet korrigeringar som är nödvändiga för AI-genererad text innan utdata släpps för "human-in-the-loop"-applikationer.

För en bättre förståelse av skillnaderna mellan olika språkmodeller, kolla in vår översikt över de mest kraftfulla språk (LLM) och visuella språkmodeller (VLM).

Efter att du har valt en grundmodell för din applikation kan du överväga om du behöver anpassa modellen för ännu bättre prestanda.

Anpassa en grundmodell

I vissa fall kanske du vill anpassa en grundspråkmodell för bättre prestanda i ditt specifika användningsfall. Till exempel kanske du vill optimera för ett visst:

  • Domän. Om du är verksam inom specifika domäner, till exempel juridisk, finansiell eller hälsovård, kanske du vill berika modellens ordförråd på den här domänen så att den bättre kan förstå och svara på slutanvändares frågor. 
  • uppgift. Om du till exempel vill att modellen ska generera marknadsföringskampanjer kan du förse den med specifika exempel på varumärkesmarknadsföringsinnehåll. Detta kommer att hjälpa modellen att lära sig de mönster och stilar som är lämpliga för ditt företag och din publik. 
  • Röstton. Om du behöver modellen för att använda ett specifikt tonfall, kan du anpassa modellen på en datauppsättning som innehåller exempel på dina målspråkliga prov. 

Det finns tre möjliga sätt att anpassa en grundläggande språkmodell:

  • Finjustering: förser modellen med en domänspecifik märkt dataset med cirka 100-500 poster. Modellvikterna uppdateras, vilket bör resultera i bättre prestanda för de uppgifter som representeras av denna datauppsättning.
  • Domänanpassning: förser modellen med en domänspecifik omärkt datauppsättning som innehåller en stor mängd data från motsvarande domän. Modellvikterna uppdateras också i detta fall.
  • Informationsinhämtning: utökar grundmodellen med kunskap inom sluten domän. Modellen är inte omtränad, och modellvikterna förblir desamma. Däremot tillåts modellen att hämta information från en vektordatabas som innehåller relevant data.

De två första tillvägagångssätten kräver betydande datorresurser för att omskola modellen, vilket vanligtvis bara är möjligt för stora företag med lämplig teknisk talang för att hantera anpassningen. Mindre företag använder vanligtvis det vanligare tillvägagångssättet att utöka modellen med domänkunskap genom en vektordatabas, som vi beskriver senare i den här artikeln i avsnittet om LLM-verktyg. 

Konfigurera ML Infrastructure

ML-infrastrukturkomponenten i LLMOPS-landskapet inkluderar molnplattformar, datorhårdvara och andra resurser som behövs för att distribuera och köra LLM. Denna komponent är särskilt relevant om du väljer att använda en modell med öppen källkod eller anpassa modellen för din applikation. I det här fallet kan du behöva betydande datorresurser för att finjustera modellen, om det behövs, och köra den.

Det finns ett antal molnplattformar som erbjuder tjänster för att distribuera LLM, inklusive Google Cloud Platform, Amazon Web Services och Microsoft Azure. Dessa plattformar tillhandahåller ett antal funktioner som gör det enkelt att distribuera och köra LLM, inklusive:

  • Förutbildade modeller som kan finjusteras för just din applikation
  • Hanterad infrastruktur som tar hand om underliggande hård- och mjukvara
  • Verktyg och tjänster för att övervaka och felsöka dina LLM:er

Mängden datorresurser du behöver beror på storleken och komplexiteten hos din modell, de uppgifter du vill att den ska utföra och omfattningen av affärsaktiviteten där du vill distribuera denna modell.

Förstärk med verktyg

Ytterligare LLM angränsande verktyg kan användas för att ytterligare förbättra prestandan för din LLM-applikation. 

Datapipelines

Om du behöver använda dina data i din LLM-produkt, kommer dataförbehandlingspipelinen att vara en viktig pelare i din nya tekniska stack, precis som i den traditionella AI-stacken för företag. Dessa verktyg inkluderar kopplingar för att mata in data från vilken källa som helst, ett datatransformationslager och nedströmsanslutningar. Ledande leverantörer av datapipeline, såsom Databricks och Snowflake, och nya aktörer, som Unstructured, gör det enkelt för utvecklare att peka på stora och mycket heterogena korpus av naturliga språkdata (t.ex. tusentals PDF-filer, PowerPoint-presentationer, chattloggar, skrapad HTML, etc.) till en enda åtkomstpunkt eller till och med till ett enda dokument som kan användas ytterligare av LLM-applikationer.

Vektordatabaser

Stora språkmodeller är begränsade till att behandla några tusen ord åt gången, så de kan inte effektivt bearbeta stora dokument på egen hand. För att utnyttja kraften i stora dokument måste företag använda vektordatabaser.

Vektordatabaser är lagringssystem som omvandlar stora dokument som de tar emot genom datapipelines till hanterbara vektorer, eller inbäddningar. LLM-applikationer kan sedan fråga dessa databaser för att lokalisera rätt vektorer och extrahera endast de nödvändiga klumpar av information.

Några av de mest framträdande vektordatabaserna som för närvarande är tillgängliga är Pinecone, Chroma och Weaviate.

Orkestreringsverktyg

När en användare skickar en fråga till din LLM-applikation, till exempel en fråga till kundtjänst, måste applikationen skapa en rad uppmaningar innan den skickas till språkmodellen. Den slutliga begäran till språkmodellen består vanligtvis av en promptmall hårdkodad av utvecklaren, exempel på giltiga utdata som kallas få-shot-exempel, all nödvändig information hämtad från externa API:er och en uppsättning relevanta dokument hämtade från vektordatabasen . Orkestreringsverktyg från företag som LangChain eller LlamaIndex kan hjälpa till att effektivisera denna process genom att tillhandahålla färdiga ramverk för hantering och exekvering av prompter.

Finjustering

Stora språkmodeller tränade på massiva datamängder kan producera grammatiskt korrekt och flytande text. De kan dock sakna precision inom vissa områden, såsom medicin eller juridik. Genom att finjustera dessa modeller på domänspecifika datauppsättningar kan de internalisera de unika egenskaperna hos dessa områden, vilket förbättrar deras förmåga att generera relevant text.

Att finjustera en LLM kan vara en kostnadskrävande process för små företag. Däremot kan lösningar från företag som Weights & Biases och OctoML hjälpa till med strömlinjeformad och effektiv finjustering. Dessa lösningar ger en plattform för företag att finjustera LLM utan att behöva investera i sin egen infrastruktur.

Andra verktyg

Det finns många andra verktyg som kan vara användbara för att bygga och köra LLM-applikationer. Till exempel kan du behöva märkningsverktyg om du vill finjustera modellen med dina specifika dataprover. Du kanske också vill distribuera specifika verktyg för att övervaka prestandan för din applikation, eftersom även mindre ändringar av grundmodellen eller förfrågningar från kunder kan avsevärt påverka prestandan för uppmaningar. Slutligen finns det verktyg som övervakar modellsäkerhet för att hjälpa dig undvika att marknadsföra hatiskt innehåll, farliga rekommendationer eller fördomar. Nödvändigheten och betydelsen av dessa olika verktyg beror på ditt specifika användningsfall.

Vad är nästa steg inom LLM Application Development? 

De fyra stegen för LLM-produktutveckling som vi diskuterade här är en viktig grund för alla företags generativa AI-strategi som utnyttjar stora språkmodeller. De är viktiga för icke-tekniska företagsledare att förstå, även om du har ett tekniskt team som implementerar detaljerna. Vi kommer att publicera mer detaljerade tutorials i framtiden om hur man kan utnyttja det breda utbudet av generativa AI-verktyg på marknaden. För nu kan du Prenumerera på vårt nyhetsbrev för att få de senaste uppdateringarna.

Gillar du den här artikeln? Registrera dig för fler företags AI-uppdateringar.

Vi meddelar dig när vi släpper fler sammanfattande artiklar som den här.

Tidsstämpel:

Mer från TOPPBOTS