Är LLM-baserade system verkligen redo för produktion?

Profile photo of Lucas Rosvall

Publicerad av Lucas Rosvall

Software Engineer

Bara under de senaste tre åren har vi sett enorma framsteg inom generativ AI och en massiv adoption av verktyg som ChatGPT. Samtidigt är det väldigt få av denna typen av AI-baserade system som utvecklas som faktiskt når produktion.

Det tas fram mängder med demos och PoC:ar som imponerar i styrelserummen, men när det kommer till kritan lyckas bara 10% av organisationerna (Intel, 2023) faktiskt lansera sina GenAI-lösningar i produktionsmiljöer.

Kanske tänker du att detta var för två år sedan och mycket har hänt sedan dess? Och det stämmer, men samtidigt har man samma problem idag som man hade då. Så vad är det som gör det så svårt att ta denna typ av AI-drivna system från demo till produktion?

LLM in production

Varför är det svårt att produktionssätta LLM-baserade system?

Du har säkert redan sett en imponerande demo som använder sig av LLM:s? Förmodligen byggdes den också väldigt fort. Kanske till och med undra några få dagar? För faktum är att det är relativt lätt att bygga denna typ av prototyper idag.

Under en PoC kan man ignorera saker som kostnader och latens eftersom antalet API-anrop är litet. Du kan också välja fokusera på att visa upp funktionalitet, och helt strunta i att fokusera på saker som robusthet och säkerhet.

Att ta denna typen av beslut är också helt okej för en prototyp. För en demo så behöver allt inte vara perfekt och systemet kan ha många brister. Detta skiljer sig mycket från ett produktionssystem som ställer helt andra krav.

Vad är utmaningarna med ett produktionssystem som ställer högre krav?

Tekniska utmaningar med LLM-baserade system

  • Det kan vara svårt att välja rätt modell. Till exempel så finns det över 1 miljon modeller tillgängliga på Hugging Face. För ett produktionssystem behöver du också balansera funktionalitet mot kostnad, latens och infrastrukturbegränsningar när du tar ditt beslut.
  • Medan demos och prototyper kan klara sig bra med enkla prompts, kräver produktionssystem robusta och portabla prompts. Dessutom är prompts extremt känsliga, och små förändringar kan orsaka stora förändringar i hur modellen agerar.
  • Många moderna LLM-baserade system använder sig av autonoma agenter för beslutsfattande. Detta kan introducera risker som oförutsägbarhet och brist på transparens i hur systemet fattar beslut, vilket är viktigt för efterlevnad och integritet.
  • Till skillnad från traditionell mjukvara där samma input ger samma output, varierar svar från en LLM vid varje körning. Dessutom kan även modelluppdateringar och prompt-förändringar leda till ännu större förändringar. En bi-effekt av detta blir att testningen blir väldigt dyr även när något litet förändras.

Ekonomiska utmaningar

Det är inte ovanligt att övergången från demo till produktion medför oväntade utmaningar som drastiskt kan öka både tid, kostnad och komplexitet.  Detta gör att man ofta tvingas att göra kompromisser mellan prestanda, kostnad och tillförlitlighet som kanske inte var kända under demo-fasen.

Detta innebär att verkligheten kan vara betydligt mer nyanserad än de första intrycken. Några konkreta exempel på detta är:

  • LinkedIn har tidigare skrivit hur de behövde fyra extra månader för att polera de sista 20% av deras generativa AI-produkt, och hur kostnaden ökar för varje förbättring när systemet behöver valideras.
  • Microsoft och GitHub har tidigare beskrivit hur de sett att testningen av LLM-system medför stora kostnader när komplexiteten skalar. Detta beror till stor del på grund av avsaknaden av standardiserade testningsramverk.
  • Meta har tidigare gått ut med att de medvetet valde en mindre 1,3B InCoder-modell över en 6,7B variant för att undvika inferens-latens, trots att den större modellen hade bättre noggrannhet under initiala tester.

Vad krävs för att lyckas med LLM-baserade system?

För att lyckas ta LLM-baserade system från prototyp till produktion är den tekniska implementeringen minst lika viktig som den totala organisationens AI-mognad.

Men det är också viktigt att ha realistiska förväntningar, att börja smått och fokusera på ett väldigt specifikt användningsfall med en tydlig ROI.

Det är också viktigt att budgetera för den “långa svansen” och att det finns en risk för att de sista 20% av funktionaliteten i ett LLM-baserat system kan komma att ta 80% av tiden att implementeras, vilket LinkedIn fick uppleva med sin generativa AI-produkt.

Processer för att hantera data och modeller behöver också etableras. Med detta menar jag att du behöver sätta upp metoder för att hantera datakvalitet, identifiera bias och modell-alignment (alltså metoder för att få modellen att agera på det sättet som du vill kontinuerligt).

Du behöver också utveckla nya metoder för att kunna utvärdera era system. LLM-baserade system innebär exempelvis att man behöver gå från de traditionella "exact match"-testerna till mer nyanserade utvärderingsmetoder som istället kan bedöma både semantisk korrekthet och relevans.

Fokusera också på att bygga modulära och kontrollerbara system. Undvik att skapa prompts eller AI-agenter som försöker göra allt. Det är bättre att dela upp funktionalitet i specialiserade komponenter med tydliga kontroller. Detta underlättar både utveckling, testning och felsökning.

Till sist, implementera smarta återkopplingsmekanismer. Bygg system som kan samla in och integrera användarfeedback utan att störa den nuvarande användarupplevelsen. Detta inkluderar både explicit feedback (som en tumme upp/ner) och implicit signaler som beteendemönster.

Var verktygen fortfarande har brister

Även om det går att införa åtgärder för att förebygga vissa av bristerna som LLM-baserade system har, så anser jag att tekniken till stor del fortfarande är omogen för de flesta systemen i en produktionsmiljö.

Många övervakningsverktyg som LangSmith och TraceLoop fokuserar exempelvis bara på funktionell övervakning och missar idag kognitiva processer och beslutsvägar som driver besluten som en LLM tar. Vi behöver verktyg som kan spåra dessa "tankegångar" och resonemang hos AI-agenter.

Inom många LLM-baserade system är det även vanligt att använda “AI as a judge”, alltså att du har en annan modell som evaluerar systemet. I praktiken låter det bra. Sanningen är dock att detta endast visar sig ha 0,51 korrelation med en mänsklig bedömning och att modeller brukar favorisera ytliga språkdrag över den faktiska korrektheten (Liu et al., 2023).

Regressionstestning och debuggning är också en stor utmaning eftersom det saknas ramverk för att kunna få repeterbara resultat idag. Om du hela tiden får olika resultat med samma indata är det betydligt svårare att lösa problem och avgöra om systemet fungerar som tänkt.

Slutsats

I min mening är många LLM-baserade system ännu inte riktigt redo för produktion i den omfattning som hypen föreslår. Detta beror främst på att det finns fundamentala utmaningar inom exempelvis tillförlitlighet, skalbarhet och kostnadseffektivitet som först måste lösas.

Men det betyder inte att man helt ska undvika LLM-baserade system. För lågrisksystem och interna verktyg fungerar det nästan alltid bra att sätta LLM-system i produktion. Exempel kan vara interna kunskapsassistenter, kodgenereringsverktyg för utvecklare, eller verktyg för att skriva innehållsutkast. Här kan man vanligtvis tolerera fel, och användarna, såsom anställda, förstår begränsningarna och kan anpassa sitt arbetssätt.

För kritiska eller externa system är jag däremot mer skeptisk. Här pratar vi om alltså om helt automatiserade kundtjänstsystem, att utföra finansiella beslut, eller medicinska applikationer. Dessa kräver en extremt stor tillförlitlighet och förutsägbarhet som dagens LLM-system helt enkelt inte kan leverera konsekvent.

Vem som använder systemet spelar också en stor roll. Interna användare som förstår att de jobbar med AI-verktyg har ofta realistiska förväntningar. Externa användare brukar till skillnad att förvänta sig större tillförlitlighet, vilket skapar helt andra utmaningar.

På sikt tror jag också att vi kommer att få betydligt bättre verktyg, och många av dagens brister kommer att lösas. Samtidigt kommer det att ta tid innan vi ser denna typ av system i alla kontexter. Nyckeln just nu är därför att välja rätt användningsfall och att sätta rätt förväntningar.

Fler artiklar

Så förändrar AI utvecklarrollen: Slutet på traditionell kodning?

Utforska hur AI förändrar utvecklarrollen och framtidens kodning. Från AI-drivna verktyg till nya arbetsmetoder - en djupdykning i hur teknologin omfo...

Fortsätt läsa

Vad är systemintegration? Allt du behöver veta

Upptäck vad systemintegration innebär, vilka metoder som används och hur företag kan effektivisera verksamheten med smarta integrationslösningar. Lär ...

Fortsätt läsa

Nyfiken på nästa steg?

Berätta om din idé eller ditt projekt. Vi återkommer snabbt och ser hur vi kan hjälpa dig vidare. Tveka inte att höra av dig, vi är alltid nyfikna på nya samarbeten!

Kontor


  • Järntorget 8
    413 04 Göteborg