Naar inhoud springen
Dit artikel is vanuit het Japans vertaald met behulp van AI
Lees in het Japans
Dit artikel is in het Publiek Domein (CC0). Voel je vrij om het vrij te gebruiken. CC0 1.0 Universal

Kunstmatig Lerend Intelligentiesysteem: Het ALIS Concept

Hierin wil ik het Kunstmatig Lerend Intelligentiesysteem (ALIS) structureren door de concepten, principes, basisontwerp en ontwikkelingsmethodologie ervan nader toe te lichten.

Concept

De huidige generatieve AI, voornamelijk grote taalmodellen, wordt getraind op basis van neuraal netwerk-gebaseerd begeleid leren (supervised learning).

Als leerproces definiëren we dit neurale netwerkleren als aangeboren leren.

ALIS integreert een verworven leerproces, los van aangeboren leren, om inferentie mogelijk te maken die beide leerprocessen combineert.

Bij dit verworven leren wordt de geleerde kennis extern aan het neurale netwerk geaccumuleerd en gebruikt tijdens inferentie.

Daarom ligt de technische kern van ALIS in de extractie, opslag en de selectie en het gebruik van herbruikbare kennis tijdens inferentie.

Bovendien is ALIS niet slechts één elementaire technologie, maar een systeemtechnologie die aangeboren leren en verworven leren combineert.

Elementen van een Lerend Intelligentiesysteem

ALIS werkt volgens het principe dat zowel het bestaande aangeboren leren als het toekomstig overwogen verworven leren hetzelfde raamwerk van leren en inferentie volgen.

Om de leerprincipes in ALIS uit te leggen, definiëren we vijf elementen van een lerend intelligentiesysteem.

De eerste is de intelligente processor. Dit verwijst naar een verwerkingssysteem dat inferentie uitvoert met behulp van kennis en kennis extraheert voor leren.

Grote Taalmodellen (LLM's) en delen van het menselijk brein zijn hiervan de belangrijkste voorbeelden.

De tweede is de kennisopslag. Dit verwijst naar een opslaglocatie waar geëxtraheerde kennis kan worden opgeslagen en indien nodig weer kan worden opgehaald.

In LLM's bestaat de kennisopslag uit de parameters van het neurale netwerk. Bij mensen komt dit overeen met het langetermijngeheugen in de hersenen.

De derde is de wereld. Dit verwijst naar de externe omgeving zoals waargenomen door een lerend intelligent systeem, zoals mensen of ALIS.

Voor mensen is de wereld de werkelijkheid zelf. In het geval van LLM's kan een mechanisme dat output van het LLM ontvangt en hierop feedback geeft, als equivalent aan de wereld worden beschouwd.

De vierde is het toestandsgeheugen. Dit verwijst naar een interne, tijdelijke geheugencomponent die door een lerend intelligentiesysteem wordt gebruikt tijdens inferentie.

In LLM's is dit de geheugenruimte die tijdens inferentie wordt gebruikt, bekend als verborgen toestanden. Bij mensen komt dit overeen met het kortetermijngeheugen.

De vijfde is het framework. Dit is, om zo te zeggen, een denkstructuur. In de terminologie van lerende intelligentiesystemen verwijst het naar de criteria voor het selecteren van noodzakelijke kennis tijdens inferentie en een logische toestandsruimtestructuur voor het organiseren van het toestandsgeheugen.

In LLM's is het de semantische structuur van de verborgen toestanden, en de inhoud ervan is over het algemeen ambigu en onbegrijpelijk voor mensen. Bovendien is kennisselectie ingebed in het aandachtsmechanisme, dat voor elk verwerkt token selecteert naar welke bestaande tokens moet worden verwezen.

Bij mensen is het, zoals eerder genoemd, een denkstructuur. Wanneer men denkt met behulp van een specifiek framework, wordt een bepaalde set knowhow uit het langetermijngeheugen opgeroepen en in het kortetermijngeheugen geladen. Vervolgens wordt de waargenomen informatie georganiseerd volgens het denkframework om de situatie te begrijpen.

Principes van een Lerend Intelligentiesysteem

Een lerend intelligentiesysteem werkt als volgt:

Een intelligente processor handelt in op de wereld. De wereld retourneert, als reactie op deze actie, resultaten.

De intelligente processor extraheert herbruikbare kennis uit deze resultaten en slaat deze op in de kennisopslag.

Wanneer de intelligente processor herhaaldelijk in op de wereld handelt, selecteert deze kennis uit de kennisopslag en gebruikt deze om zijn acties aan te passen.

Dit is het basismechanisme.

Fundamenteel bepalen de methoden voor kennisextractie, opslag, selectie en gebruik echter of het systeem zinvol kan leren.

Mensen beschikken over mechanismen die deze kennisextractie, opslag, selectie en gebruik effectief afhandelen, waardoor ze kunnen leren.

Neurale netwerken, inclusief LLM's, laten hun extractie door externe instructeurs afhandelen, maar ze beschikken over mechanismen voor opslag, selectie en gebruik. Hierdoor kunnen ze leren, zolang ze een instructeur krijgen.

Bovendien kan een lerend intelligentiesysteem ook de extractie, opslag en selectie van frameworks, en de gebruiksmethoden ervan binnen het toestandsgeheugen, als kennis leren, waardoor complexer leren mogelijk wordt.

Soorten Kennis

Gebaseerd op deze principes is het bij het ontwerpen van verworven leren noodzakelijk om te verduidelijken welke vorm de verworven kennis zal aannemen.

Men zou een methode kunnen overwegen waarbij verworven kennis ook afzonderlijk wordt geleerd als neurale netwerkparameters.

Verworven kennis hoeft echter niet uitsluitend beperkt te blijven tot neurale netwerkparameters. Een praktische kandidaat is kennis die is getekstualiseerd in natuurlijke taal.

Kennis die is getekstualiseerd in natuurlijke taal kan worden geëxtraheerd en gebruikt door de natuurlijke taalverwerkingsmogelijkheden van LLM's te benutten. Bovendien, aangezien het kan worden behandeld als gegevens in standaard IT-systemen, zijn opslag en selectie ook eenvoudig.

Bovendien is kennis die is getekstualiseerd in natuurlijke taal gemakkelijk te controleren, begrijpen en, in sommige gevallen, zelfs te bewerken voor mensen en andere LLM's.

Het kan ook worden gedeeld, samengevoegd of gesplitst met andere lerende intelligentiesystemen.

Om deze redenen zal de verworven kennis in het ALIS-concept in eerste instantie worden ontworpen om zich te richten op kennis die is getekstualiseerd in natuurlijke taal.

Verworven Toestandsgeheugen en Frameworks

We hebben de voordelen uitgelegd van het kiezen van natuurlijke taaltekst als formaat voor verworven kennis.

Op dezelfde manier kan natuurlijke taaltekst ook worden gebruikt voor het toestandsgeheugen en frameworks voor inferentie.

Frameworks, als conceptuele structuren, kunnen in de kennisopslag worden opgeslagen en gebruikt als kennis die is getekstualiseerd in natuurlijke taal.

Zelfs bij het initialiseren of bijwerken van toestanden op basis van de door een framework gedefinieerde structuur, kan tekstformaat toestandsgeheugen worden gebruikt.

Door niet alleen verworven kennis, maar ook frameworks en toestandsgeheugen in tekstformaat te ontwerpen, kan ALIS de natuurlijke taalverwerkingsmogelijkheden van LLM's benutten voor verworven leren en inferentie in het algemeen.

Formele Kennis

Verworven kennis, frameworks en toestandsgeheugen kunnen niet alleen in natuurlijke taaltekst worden uitgedrukt, maar ook in rigoureuzere formele talen of formele modellen.

Hoewel ik "selecteren" schreef, is het doel voor ALIS om meerdere afzonderlijke mechanismen voor het leren van verworven kennis te integreren, om hybride gebruik van aangeboren en verworven leren mogelijk te maken.

Kennis die wordt weergegeven door formele talen of formele modellen kan nauwkeuriger en ondubbelzinniger worden gemaakt.

Bovendien, als een framework wordt uitgedrukt met behulp van een formele taal of model en een initiële toestand wordt uitgerold in het toestandsgeheugen, dan kan een simulatie of logische ontwikkeling worden uitgevoerd met een rigoureus model door een intelligente processor die formele modellen kan verwerken, in plaats van een LLM.

Een belangrijk voorbeeld van dergelijke formele talen of formele modellen zijn programmeertalen.

Naarmate het systeem leert over de wereld, kan het, als het de daarin gevonden wetten en concepten kan uitdrukken als een programma in een framework, deze op een computer simuleren.

Column 1: Soorten Kennis

Bij het organiseren van de kennis binnen een lerend intelligentiesysteem wordt duidelijk dat deze grofweg kan worden onderverdeeld in drie typen kennissystemen en twee typen toestanden.

De drie kennissystemen zijn: netwerkparameterkennis, verwerkt door neurale netwerken; natuurlijke kennis, uitgedrukt in natuurlijke taal; en formele kennis, uitgedrukt in formele talen.

De twee typen toestanden zijn staatloos (stateless) en staatvol (stateful).

Staatloze netwerkparameterkennis is intuïtieve kennis, zoals die gevonden wordt in deep learning AI. De kenmerken van katten en honden, die niet expliciet bedacht of verbaal geïdentificeerd kunnen worden, kunnen worden geleerd als staatloze netwerkparameterkennis.

Staatvolle netwerkparameterkennis is kennis die voortkomt uit vage, iteratieve processen, zoals in generatieve AI.

Staatloze natuurlijke kennis is kennis zoals betekenissen gekoppeld aan individuele woorden.

Staatvolle natuurlijke kennis is kennis die context binnen zinnen omvat.

Sommige natuurlijke kennis is van nature opgenomen in staatvolle netwerkparameterkennis, maar er is ook kennis die kan worden verworven uit natuurlijke taaltekst.

Staatloze formele kennis is kennis die kan worden uitgedrukt in wiskundige formules zonder iteratie. Staatvolle formele kennis is kennis die als een programma kan worden uitgedrukt.

Men kan ook het eigen kortetermijngeheugen gebruiken als toestandsgeheugen voor natuurlijke kennis en formele kennis.

Omdat het echter kortetermijngeheugen is, is het moeilijk om een staat stabiel te handhaven. Bovendien is het niet bedreven in het vasthouden van geformaliseerde, ondubbelzinnige staten.

Aan de andere kant kunnen papier, computers en smartphones worden gebruikt als toestandsgeheugen om natuurlijke taaltekst, formele talen of formele modellen op te schrijven of te bewerken.

Over het algemeen worden gegevens op papier of computers vaak gezien als een kennisopslag voor het memoriseren van kennis, maar het kan ook worden gebruikt als toestandsgeheugen voor het organiseren van gedachten.

Zo blijkt dat mensen intellectuele activiteiten uitvoeren door volop gebruik te maken van deze drie kennissystemen en twee typen toestanden.

Ook ALIS heeft het potentieel om zijn capaciteiten dramatisch te verbeteren door intellectuele activiteiten mogelijk te maken en te versterken die gebruikmaken van deze zelfde drie kennissystemen en twee typen toestanden.

In het bijzonder heeft ALIS de kracht om gebruik te maken van enorme kennisopslagplaatsen en toestandsgeheugen. Bovendien kan het gemakkelijk intellectuele taken uitvoeren door van elk veel voor te bereiden en deze te schakelen of te combineren.

Column 2: Intelligente Orchestratie

Hoewel het een voordeel is om een enorme hoeveelheid kennis in een kennisopslag te kunnen accumuleren, vertaalt de kwantiteit van kennis zich niet eenvoudigweg in een voordeel in intellectuele activiteit, vanwege beperkingen aan het aantal tokens dat een generatieve AI tegelijk kan verwerken en de ruis die wordt gegenereerd door irrelevante kennis.

Omgekeerd kunnen de problemen van tokenlimieten en ruis worden verminderd door de kennisopslag op de juiste manier te verdelen en om te vormen tot gespecialiseerde kennisopslagplaatsen met een hoge dichtheid, die elk de kennis bevatten die nodig is voor een specifieke intellectuele taak.

In ruil daarvoor wordt elke gespecialiseerde kennisopslag alleen bruikbaar voor de aangewezen intellectuele taak.

Veel intellectuele activiteiten zijn complexe combinaties van verschillende intellectuele taken. Daarom kan ALIS, door kennis te verdelen in gespecialiseerde kennisopslagplaatsen op basis van het type intellectuele taak en intellectuele activiteit onder te verdelen in individuele taken, de gehele intellectuele activiteit uitvoeren door op de juiste wijze te schakelen tussen deze gespecialiseerde kennisopslagplaatsen.

Dit is analoog aan een orkest, samengesteld uit professionele musici die verschillende instrumenten bespelen en een dirigent die het ensemble leidt.

Door middel van deze systeemtechnologie, intelligente orchestratie, zal ALIS in staat zijn om zijn intellectuele activiteiten te organiseren.

ALIS Basisontwerp en Ontwikkelingsmethode

Vanaf hier zullen we de ontwikkeling van ALIS organiseren.

Zoals reeds besproken in de principes en columns, is ALIS inherent ontworpen voor eenvoudige uitbreiding van functies en middelen. Dit komt omdat de essentie van ALIS niet ligt in specifieke functies, maar in de processen van kennisextractie, -opslag, -selectie en -benutting.

Zo kunnen er bijvoorbeeld meerdere typen kennisextractiemechanismen worden geboden, en het systeemontwerp maakt een vrije keuze mogelijk om daaruit te selecteren of deze gelijktijdig te gebruiken.

Bovendien kan ALIS zelf deze selectie uitvoeren.

Op dezelfde manier kunnen opslag, selectie en benutting ook vrij worden gekozen of geparallelliseerd.

Daarom kan ALIS incrementeel en agile worden ontwikkeld, zonder dat de gehele functionaliteit op een watervalmethode hoeft te worden ontworpen.

Het Begin van ALIS

Laten we nu een zeer eenvoudig ALIS ontwerpen.

De basisgebruikersinterface (UI) zal een bekende chat-AI zijn. In eerste instantie wordt de gebruikersinvoer direct doorgegeven aan het LLM. De reactie van het LLM wordt op de UI weergegeven en het systeem wacht op de volgende gebruikersinvoer.

Bij ontvangst van de volgende invoer wordt het LLM niet alleen voorzien van de nieuwe invoer, maar ook van de gehele chatgeschiedenis tussen de gebruiker en het LLM.

Achter de UI van deze chat-AI wordt een mechanisme voorbereid om herbruikbare kennis uit de chatgeschiedenis te extraheren.

Dit mechanisme kan aan het chat-AI-systeem worden toegevoegd als een proces dat wordt uitgevoerd wanneer een gesprek eindigt of met regelmatige tussenpozen. Natuurlijk wordt een LLM gebruikt voor kennisextractie.

Dit LLM wordt voorzien van het ALIS-concept en de principes, samen met kennisextractie-knowhow, als een systeemprompt. Als kennis niet wordt geëxtraheerd zoals bedoeld, moet de systeemprompt door middel van trial-and-error worden verbeterd.

De geëxtraheerde kennis uit de chatgeschiedenis wordt direct opgeslagen in een kennismeer. Een kennismeer is eenvoudigweg een mechanisme voor het opslaan van kennis in een platte toestand voordat deze wordt gestructureerd.

Vervolgens wordt een structureringsmechanisme voorbereid om het gemakkelijker te maken kennis uit het kennismeer te selecteren.

Dit omvat het voorzien van een embedding-vectoropslag voor semantisch zoeken, zoals gebruikt in typische RAG, en trefwoordindices.

Andere mogelijkheden zijn het genereren van geavanceerdere kennisgrafieken of het uitvoeren van categorisatie.

Deze verzameling van gestructureerde informatie voor het kennismeer zal een kennisbank worden genoemd. Deze gehele kennisbank en het kennismeer zullen samen de kennisopslag vormen.

Vervolgens wordt de kennisopslag geïntegreerd in de verwerking van de chat-UI.

Dit is in feite hetzelfde als een algemeen RAG-mechanisme. Voor gebruikersinvoer wordt relevante kennis uit de kennisopslag geselecteerd en samen met de gebruikersinvoer aan het LLM doorgegeven.

Hierdoor kan het LLM automatisch kennis gebruiken bij het verwerken van gebruikersinvoer.

Op deze manier neemt de kennis toe met elk gesprek met de gebruiker, waardoor een eenvoudig ALIS ontstaat dat geaccumuleerde kennis uit eerdere gesprekken gebruikt.

Eenvoudig Scenario

Stel je bijvoorbeeld een scenario voor waarin een gebruiker een webapplicatie ontwikkelt met dit eenvoudige ALIS.

De gebruiker zou melden dat de door het LLM voorgestelde code een fout opleverde. Vervolgens zouden de gebruiker en het LLM samenwerken om het probleem op te lossen. Laten we zeggen dat ze ontdekken dat de specificatie van de externe API waar het LLM van op de hoogte was verouderd was, en dat aanpassing aan de nieuwste API-specificatie het probleem oploste.

In dit geval zou kennis dat de API-specificatie van het LLM verouderd was en wat de nieuwste API-specificatie is, in de kennisopslag kunnen worden geaccumuleerd vanuit deze chatthread.

Dan, bij het de volgende keer creëren van een programma dat dezelfde API gebruikt, zou ALIS deze kennis kunnen benutten om vanaf het begin een programma te genereren op basis van de nieuwste API-specificatie.

Het Verbeteren van de Initiële ALIS

Om dit echter te laten gebeuren, moet deze kennis geselecteerd worden als reactie op de gebruikersinvoer. Het kan zijn dat deze kennis niet direct gekoppeld is aan de invoer van de gebruiker, aangezien de naam van de problematische API waarschijnlijk niet in de initiële gebruikersinvoer zal voorkomen.

In zo'n geval zou de API-naam pas voor het eerst verschijnen in de reactie van het LLM.

Daarom zullen we de eenvoudige ALIS enigszins uitbreiden door een mechanisme voor voorafgaande controle notities en achteraf controle notities toe te voegen.

Voorafgaande controle notities zijn vergelijkbaar met de recente "gedachtemodus" in LLM's. We bereiden een geheugen voor dat tekst kan bevatten als toestandsgeheugen, en instrueren het LLM via een systeemprompt om voorafgaande controle notities uit te voeren bij ontvangst van gebruikersinvoer.

Het resultaat van de voorafgaande controle notitie van het LLM wordt vervolgens in het toestandsgeheugen geplaatst, en op basis van dit resultaat wordt kennis geselecteerd uit de kennisopslag.

Vervolgens worden de chatgeschiedenis, het resultaat van de voorafgaande controle notitie, kennis die overeenkomt met de gebruikersinvoer, en kennis die overeenkomt met het resultaat van de voorafgaande controle notitie aan het LLM doorgegeven om de uitvoer te ontvangen.

Bovendien wordt voor het resultaat dat door het LLM wordt geretourneerd, in de kennisopslag naar kennis gezocht. Inclusief eventuele daar gevonden kennis, wordt het LLM vervolgens gevraagd een achteraf controle uit te voeren.

Als er problemen worden gevonden, worden deze teruggestuurd naar het chat LLM, samen met de probleem punten en redenen voor de opmerkingen/feedback.

Door mogelijkheden te bieden om kennis te selecteren tijdens zowel voorafgaande controle notities als achteraf controle notities, kunnen we de kansen vergroten om de geaccumuleerde kennis te benutten.

Vooruitblik

Het proces van het creëren van de initiële ALIS en het toevoegen van verbeteringen om de zwakke punten aan te pakken, is precies agile ontwikkeling, wat aantoont dat ALIS incrementeel kan worden verbeterd.

Bovendien is, zoals geïllustreerd, de initiële ALIS het meest geschikt voor gebruik in softwareontwikkeling. Dit komt omdat het een veelgevraagd vakgebied is en een waarin kennis duidelijk kan worden geaccumuleerd.

Het is een domein waar resultaten ondubbelzinnig zijn, maar het noodzaakt en profiteert aanzienlijk van 'trial-and-error', iteratieve kennisaccumulatie.

Bovendien, aangezien de ontwikkeling van ALIS zelf softwareontwikkeling is, is het feit dat ALIS-ontwikkelaars ook ALIS-gebruikers kunnen zijn een aantrekkelijk aspect.

Verder kan, naast het ALIS-systeem, het kennismeer openlijk worden gedeeld op platforms zoals GitHub.

Dit zou veel individuen in staat stellen bij te dragen aan de verbetering van het ALIS-systeem en de accumulatie van kennis, waarbij iedereen de voordelen geniet en de ALIS-ontwikkeling efficiënter kan versnellen.

Natuurlijk is het delen van kennis niet beperkt tot ALIS-ontwikkelaars; het kan worden verzameld van alle softwareontwikkelaars die ALIS gebruiken.

De natuurlijke taal aard van kennis biedt twee extra voordelen.

Het eerste voordeel is dat kennis nog steeds kan worden gebruikt, zelfs wanneer LLM-modellen veranderen of worden bijgewerkt.

Het tweede voordeel is dat het enorme geaccumuleerde kennismeer kan worden gebruikt als een pre-training dataset voor LLM's. Er zijn twee manieren om dit te gebruiken: als finetuning, of voor de pre-training van LLM zelf.

In ieder geval, als een LLM dat aangeboren heeft geleerd van de kennis die in het kennismeer is geaccumuleerd, kan worden gebruikt, zal softwareontwikkeling nog efficiënter worden.

Bovendien omvat softwareontwikkeling verschillende processen, zoals analyse van vereisten, ontwerp, implementatie, testen, operatie en onderhoud. Gespecialiseerde kennis bestaat ook voor elk softwaredomein en platform. Door een mechanisme te creëren om de enorme hoeveelheid geaccumuleerde kennis vanuit deze perspectieven te verdelen, kan een ALIS-orkest worden gevormd.

Aldus zijn de elementaire technologieën voor ALIS aanwezig. De resterende cruciale stap is om praktisch te experimenteren met verschillende methoden – zoals kennisextractie-knowhow, geschikte kennisselectie, gespecialiseerde kennissegmentatie en het benutten van het toestandsgeheugen – om effectieve benaderingen te ontdekken. Naarmate de complexiteit toeneemt, zullen de verwerkingstijd en de gebruikskosten van LLM's ook stijgen, waardoor optimalisatie noodzakelijk is.

Deze 'trial-and-error'-processen en optimalisaties kunnen op een leergerichte manier worden bevorderd door de ontwikkeling en verfijning van frameworks.

Aanvankelijk zullen ontwikkelaars, als gebruikers, waarschijnlijk frameworks via trial-and-error in ALIS integreren. Zelfs dan kan het LLM zelf echter de taak krijgen om framework-ideeën te genereren.

Vervolgens, door een framework voor het verbeteren en ontdekken van frameworks in ALIS op te nemen, gebaseerd op resultaten ontvangen uit de wereld en geëxtraheerde kennis, zal ALIS zelf trial-and-error en optimalisatie op een leergestuurde manier uitvoeren.

ALIS in de Echte Wereld

Zodra ALIS tot dit stadium is verfijnd, zou het in staat moeten zijn kennis te verwerven in een breed scala aan domeinen, niet alleen beperkt tot de wereld van softwareontwikkeling.

Vergelijkbaar met softwareontwikkeling, zal ALIS naar verwachting zijn toepassingsgebied uitbreiden naar diverse intellectuele activiteiten die mensen uitvoeren met behulp van computers.

Zelfs bij dergelijke puur intellectuele activiteiten zal ALIS een kwaliteit bezitten die lijkt op die van een 'embodied AI' (fysiek aanwezige AI) in relatie tot de doeleerwereld.

Dit komt omdat het de grens tussen zichzelf en de wereld herkent, via die grens op de wereld inwerkt en informatie die van de wereld wordt ontvangen, kan waarnemen.

Wanneer deze grens met de wereld fysiek zichtbaar is en op één plaats gelokaliseerd, spreken we doorgaans van een lichaam.

Echter, zelfs als de grens onzichtbaar en ruimtelijk verdeeld is, blijft de structuur van waarneming en actie via een grens hetzelfde als bij het bezitten van een fysiek lichaam.

In die zin kan een ALIS die intellectuele activiteiten uitvoert, worden beschouwd als virtueel in het bezit van de kenmerken van een embodied AI.

En, als ALIS wordt verfijnd tot een stadium waarin het zelfs in nieuwe, onbekende werelden passend kan leren, bestaat de mogelijkheid dat ALIS kan worden opgenomen als onderdeel van een echte embodied AI die een daadwerkelijk fysiek lichaam bezit.

Op deze manier zal ALIS uiteindelijk worden toegepast op de echte wereld en hiervan beginnen te leren.