LLMs veranderen de manier waarop we AI-oplossingen bouwen. Er worden steeds nieuwere en betere kant-en-klare modellen uitgebracht.
Een vraag die me vaak wordt gesteld is waarom iemand zou kiezen voor een op maat gemaakte LLM in plaats van een kant-en-klare oplossing?
Als je aan een AI-project werkt, zoals het bouwen van een AI-agent of AI-chatbot, kun je ervoor kiezen om een aangepast groot taalmodel (LLM) te gebruiken.
Er zijn veel redenen om een aangepaste LLM te gebruiken, en je hebt veel opties tot je beschikking. In dit artikel laat ik je de verschillende manieren zien om een LLM aan te passen voor AI-projecten.
Waarom een aangepaste LLM gebruiken?
Er zijn verschillende redenen om een aangepaste LLM te gebruiken:
- Je wilt de kosten verlagen door je te richten op een bepaalde taak die belangrijk is voor de use case van je bedrijf, of de latentie minimaliseren.
- Misschien wil je alle gegevens privé houden of de interne LLM van je bedrijf gebruiken.
- Misschien wil je de kwaliteit van antwoorden voor een bepaalde taak verbeteren.
Wat de reden ook is, als je LLM aanpast, kun je de prestaties optimaliseren en een balans vinden tussen nauwkeurigheid, snelheid en kosten, zodat ze voldoen aan de behoeften van je bedrijf.
Een LLM
LLMs hebben twee eigenschappen die van invloed zijn op AI-projecten: hun omvang (gemeten aan de hand van het aantal parameters) en de kwaliteit van de antwoorden.
Je kunt parameters zien als neuronen in een brein. Grotere hersenen worden vaak in verband gebracht met slimheid, maar dat is niet altijd waar. En delen van de hersenen kunnen sterk geoptimaliseerd zijn voor bepaalde taken, zoals zien.
Voor AI-projecten heeft de grootte meestal invloed op de reactiesnelheid en de kosten. Projecten die een lage latentie vereisen, gebruiken vaak kleinere modellen, maar dit gaat ten koste van de kwaliteit van de antwoorden.
Wat je moet vragen als je een model kiest
Hier is een goede lijst met vragen die je moet beantwoorden als je een model kiest:
- Kan ik een cloud-gebaseerde LLM gebruiken of moet ik er zelf een hosten?
- Hoe snel moeten de reacties zijn?
- Hoe nauwkeurig moeten de antwoorden zijn?
- Hoeveel $ zal mijn project besparen en/of opleveren? Onder welke prijs moet het dan vallen?
- Hoe lang moeten mijn reacties zijn?
Over het algemeen is het moeilijk om een krachtig model te versnellen of de kosten ervan te verlagen, en is het gemakkelijker om een minder nauwkeurig model te verbeteren.
Het is echter veel sneller om aan de slag te gaan met een krachtig model en als het voldoet aan de behoeften van je project, heb je misschien minder engineering inspanning nodig (plus, het is gemakkelijker te onderhouden).
Kiezen tussen RAG, Fine-Tuning, N-Shot Learning en Prompt Engineering
Er zijn vijf algemene concepten die de kwaliteit van LLM reacties verbeteren:
- Beginnen met een voorgetraind model
- RAG
- Fijnafstemming
- N-opname vragen
- Snelle engineering
Deze zijn niet specifiek voor het gebruik van aangepaste modellen, maar je moet ze hoe dan ook overwegen, omdat ze hand in hand met elkaar werken.
Uitgaan van een model
Het eerste wat je moet doen is een beginmodel kiezen. Er zijn online genoeg klassementen te vinden die de verschillende modellen met elkaar vergelijken.
Bijvoorbeeld:
- Hugging Face onderhoudt een leaderboard voor open source modellen.
- Vellum heeft een uitstekende voor de populairdere modellen.
Als je bedrijf een intern model heeft, overweeg dan om dit te gebruiken om met je budget te werken en gegevens privé te houden. Als je het model zelf moet hosten, overweeg dan een open-source model.
Fijnafstemming
Fine-tuning houdt in dat je voorbeelden geeft aan je model zodat het leert hoe je een bepaalde taak goed uitvoert. Als je wilt dat het model uitblinkt in het spreken over je product, kun je een reeks voorbeelden geven van de beste verkoopgesprekken van je bedrijf.
Als het model open source is, vraag jezelf dan af of je team voldoende technische capaciteit heeft om een model te verfijnen.
Als het model closed source is en geleverd wordt als een service - GPT-4 of Claude - dan kun je je engineers meestal aangepaste modellen laten afstemmen met behulp van API's. De prijs stijgt meestal aanzienlijk via deze methode, maar er is weinig onderhoud. De prijs stijgt meestal aanzienlijk via deze methode, maar er is weinig tot geen onderhoud.
Maar voor veel toepassingen is fijnafstelling niet de eerste stap naar het optimaliseren van je model.
Een goed voorbeeld van fine-tuning is het bouwen van een kennisbot voor statische kennis. Door voorbeelden van vragen en antwoorden te geven, zou hij ze in de toekomst moeten kunnen beantwoorden zonder het antwoord op te zoeken. Maar het is geen praktische oplossing voor realtime informatie.
Opzoeken-geaugmenteerde generatie
RAG is een mooie naam voor iets simpels dat we allemaal wel eens hebben gedaan op ChatGPT: wat tekst plakken in ChatGPT en er een vraag over stellen.
Een typisch voorbeeld is vragen of een bepaald product op voorraad is op een e-commercesite, en een chatbot die de informatie opzoekt in een productcatalogus (in plaats van op het bredere internet).
Als het gaat om ontwikkelingssnelheid en het verkrijgen van realtime informatie, is RAG een must-have.
Het heeft meestal geen invloed op welk model je kiest, maar niets houdt je tegen om een LLM API endpoint te maken dat informatie opvraagt en antwoorden geeft en dit endpoint te gebruiken alsof het zijn eigen LLM is.
Het gebruik van RAG voor een kennisgebaseerde chatbot is vaak eenvoudiger te onderhouden, omdat je een model niet hoeft bij te stellen en up-to-date te houden - wat ook kostenbesparend kan werken.
N-opname leren
De snelste manier om te beginnen met het verbeteren van de kwaliteit van antwoorden is door voorbeelden te geven in een enkele LLM API-aanroep.
Zero-shot - nul voorbeelden geven van wat je zoekt in een antwoord - is hoe de meesten van ons ChatGPT gebruiken. Het toevoegen van één voorbeeld (of one-shot) is meestal genoeg om een aanzienlijke verbetering in de kwaliteit van het antwoord te zien.
Meer dan één voorbeeld wordt beschouwd als n-shot. N-shot verandert het model niet, in tegenstelling tot fine-tuning. Je geeft gewoon voorbeelden vlak voordat je om een antwoord vraagt, elke keer als je een vraag stelt.
Maar deze strategie kan niet te veel gebruikt worden: LLM modellen hebben een maximale contextgrootte en worden geprijsd op basis van de grootte van het bericht. Fine-tuning kan de noodzaak voor n-shot voorbeelden wegnemen, maar kost meer tijd om goed te krijgen.
Andere snelle engineeringtechnieken
Er zijn andere prompt engineering technieken, zoals chain-of-thought, die modellen dwingen om hardop te denken voordat ze met een antwoord komen.
Dit verhoogt de kwaliteit van de respons, maar gaat ten koste van de lengte, kosten en snelheid van de respons.
Mijn aanbeveling
Hoewel elk project zijn eigen unieke behoeften heeft, zal ik mijn mening geven over een sterke aanpak.
Een goed begin is het gebruik van een kant-en-klaar model dat snelheid en kwaliteit in balans brengt, zoals GPT-4o Mini. Begin met te kijken naar de kwaliteit van de reacties, de reactiesnelheid, de kosten, de behoeften van het contextvenster en beslis op basis daarvan wat er verbeterd moet worden.
Dan, met een beperkte use case, kun je wat eenvoudige prompt engineering proberen, gevolgd door RAG en tot slot fine-tuning. Elk model dat deze stappen doorloopt zal prestatiewinst hebben, dus het kan lastig zijn om uit te zoeken wat te gebruiken.
Privacy-overwegingen
In een ideale wereld zou elke LLM 100% onder je eigen controle zijn en zou niets ergens worden blootgelegd.
Helaas is dit niet wat we in de praktijk zien - en om heel goede redenen.
De eerste is eenvoudig: het vereist engineering om een aangepast model te hosten en te onderhouden, wat erg duur is. Wanneer het gehoste model down-time ondervindt, worden de bedrijfsstatistieken beïnvloed, dus de implementatie moet zeer robuust zijn.
Een andere reden is dat de marktleiders - zoals OpenAI, Google en Anthropic - constant nieuwere, meer capabele en goedkopere modellen uitbrengen die elk werk aan fine-tuning overbodig maken. Dit is al het geval sinds de release van ChatGPT 3.5 en er is geen teken van verandering.
Als je use case extreem gevoelige gegevens bevat, is het zinvol om een model te gebruiken en het te optimaliseren voor je use case. Als GDPR top-of-mind is, zijn er genoeg kant-en-klare modellen die GDPR-compliant zijn.
Bouwen na het selecteren van je LLM
Als je eenmaal een LLM hebt gekozen, kun je gaan uitzoeken hoe je je AI-project gaat bouwen en onderhouden. Als voorbeeld neem ik het type project waar ik het meest bekend mee ben: een AI-agent of AI-chatbot.
Je kunt de volgende vragen beantwoorden om de reikwijdte van je project te bepalen:
- Waar wil ik dat mijn AI-agent woont? (Slack, WhatsApp, een website-widget, enz.)
- Welke kennis zou het moeten hebben, waar is die kennis?
- Welke andere mogelijkheden moet het hebben dan het beantwoorden van kennis, als die er al zijn?
- Moet het worden geactiveerd als er ergens in het bedrijf iets gebeurt?
Engineering uitbesteden om $ te besparen
Een beperkt budget is essentieel om je project te realiseren. Een van de manieren waarop je dat kunt doen is door de engineeringstijd te verminderen door vereisten te ontkoppelen.
Tegenwoordig hebben we toegang tot low-code oplossingen zoals Flutterflow, Shopify, die gebruikt kunnen worden door traditioneel niet-technische rollen zoals Product Managers. Chatbots zijn geen uitzondering en bij sommige AI-automatiseringsplatforms kun je zelfs je eigen LLM gebruiken.
Je kunt engineers de opdracht geven om zich te richten op het hosten van de LLM en het opzetten van het automatiseringsplatform. Dat maakt de bedrijfsanalisten, productmanagers en andere gerelateerde rollen vrij om AI-agenten te bouwen die voldoen aan de bedrijfsvereisten.
Als er iets extra's nodig is, hebben deze platformen meestal een manier voor ingenieurs om code toe te voegen. Op deze manier behoudt u de voordelen van een aangepast model en wint u aan flexibiliteit, snelheid en betaalbaarheid.
Bied engineeringvrijheid om bedrijfsproblemen op te lossen
Aan de andere kant zijn bedrijfsproblemen soms gewoon heel moeilijk op te lossen.
We hebben het over volledig netwerkgebaseerde LLM applicaties, on-device apps of projecten waarbij chatbots extreem geavanceerde mogelijkheden moeten krijgen die meer zijn dan het synchroniseren van gegevens tussen twee platforms.
In die gevallen is het zinvol om engineers de vrijheid te geven om de tools te gebruiken waar ze zich het prettigst bij voelen. Dit is meestal gewoon code schrijven en de belanghebbenden fungeren gewoon als projectmanagers.
Strategische overwegingen voor het aanpassen van een LLM
Bij het kiezen van een aangepaste LLM voor je AI-project gaat het niet alleen om het kiezen van het beste model - het gaat om het nemen van strategische beslissingen die aansluiten bij je doelen.
Aangepaste modellen bieden flexibiliteit, controle en de mogelijkheid om te optimaliseren voor specifieke taken, maar ze brengen ook extra complexiteit met zich mee. Begin met een kant-en-klaar model, experimenteer met prompt engineering en verfijn van daaruit geleidelijk.
Onthoud dat het juiste model moet passen bij je bedrijfsbehoeften, niet alleen bij je technologie stack.
Aanpassen met krachtige platforms
Klaar om je AI-project een stapje hoger te brengen?
Botpress is een volledig uitbreidbaar en flexibel AI-agent platform. Met onze stack kunnen ontwikkelaars chatbots en AI-agents bouwen voor elke mogelijke toepassing.
We beschikken over een robuust onderwijsplatform, Botpress Academyevenals een gedetailleerd YouTube-kanaal. Onze Discord host meer dan 20.000 botbouwers, zodat je altijd de ondersteuning kunt krijgen die je nodig hebt.
Beginvandaag met bouwen. Het is gratis.
Inhoudsopgave
Blijf op de hoogte van het laatste nieuws over AI-agenten
Deel dit op: