23 juni 2024

Eigen AI systeem

Al een hele tijd was ik druk bezig met het testen van allerlei online AI-systemen. Helaas was de pret er snel vanaf door de beperkingen van die systemen. Toen dacht ik bij mezelf: "Kan ik niet zelf zo'n systeem bouwen?" Ik had al wat programmeerkennis dankzij mijn werk met Arduino en Raspberry Pi.

Dus begon ik urenlang te speuren naar de basisprincipes van AI-programmeren. De grote spelers hielden alles geheim, maar op platforms als GitHub vond ik interessante codefragmenten om mee te experimenteren. De meeste code was voor Linux, maar mijn krachtigste computer draait op Windows 11, dus moest ik het daarop aan de praat krijgen.

Hier en daar vond ik snippets van code die ik begon te ontleden. Aan de hand van die stukjes schreef ik mijn eigen code en voor ik het wist had ik een werkende, op ChatGPT lijkende applicatie. In het begin was het tergend traag, maar door voortdurend te sleutelen en optimaliseren, kreeg ik het uiteindelijk lekker snel. Ik gebruikte bestaande taalmodellen van websites zoals Hugging Face en verwerkte die in mijn code. Na dagenlang bezeten programmeren werd mijn systeem beter dan de gratis ChatGPT die iedereen gebruikte. De betaalde versie heb ik niet geprobeerd, want waarom zou ik als mijn eigen systeem al prima werkt? Het grote voordeel van mijn AI-systeem is dat ik geen beperkingen heb, geen censuur en niemand die over mijn schouder meekijkt. Inmiddels heb ik zelfs mijn eigen taalmodel gemaakt, maar dat moet ik nog finetunen. Ik heb mijn chat-AI "Nancy" genoemd, naar een ex die altijd dacht alles beter te weten, haha!

Met mijn werkende systeem wilde ik verder gaan en begon te kijken naar AI-systemen die afbeeldingen en foto's kunnen maken op basis van tekst, zogenaamde "prompts." Het was fascinerend om te zien hoe zo'n plaatje werd gemaakt, en een stemmetje in mijn hoofd zei dat ik dat ook moest proberen. Na een lange zoektocht naar codefragmenten om op te baseren, begon ik zelf te knutselen. Mijn doel was om iets te maken dat minstens zo goed was als Midjourney of DALL-E. Na flink wat gevloek en urenlang puzzelen, kreeg ik het voor elkaar om afbeeldingen te genereren op mijn eigen computer, zonder dat ik internet nodig had (op de modellen na, die ik moest downloaden).

Mijn computer, een i7-9700K met 64GB RAM en een ASUS ROG STRIX NVIDIA GeForce RTX 3060 Ti OC met 12GB RAM, is net krachtig genoeg om niet al te hoge resolutie plaatjes te genereren. Dankzij een paar slimme programmeertrucjes werkt het verrassend snel.

Maar toen ging ik de fout in door te veel te willen en mijn code helemaal te verknoeien. Ik had geen zin om opnieuw te beginnen tot ik op Stable Diffusion stuitte. Ik vond een repository, installeerde het, en begon te sleutelen. Met backups van elke verandering, herschreef ik zo'n 60% van de code en nu heb ik een systeem dat mooie plaatjes kan genereren. Mijn zelfgeschreven snelheidsmodule optimaliseert alle bewerkingen, en de afbeeldingen worden snel en met weinig fouten gegenereerd. Ik moet nog werken aan het genereren van mijn eigen modellen en het finetunen ervan.

Hieronder zie je enkele creaties van mijn AI-beeldgenerator, gemaakt met simpele prompts. Ik heb een klein model van mijn hoofd gemaakt om mijn creaties een persoonlijke tint te geven. Ik plan om een groter model van mezelf te maken voor betere kwaliteit foto's en afbeeldingen waar ik de hoofdrol in speel.

Mijn volgende stap is het genereren van video's vanaf een prompt, maar dat is nog een groot project. Er is bijna geen duidelijke code voor, dus ik moet het meeste zelf doen. Ook wil ik experimenteren met stemgeneratie en nabootsing via AI. Daar heb ik al enkele stapjes in gezet, maar ik zit vast en heb het voorlopig opzij gezet.

Het is enorm boeiend, en als amateurprogrammeur ben ik trots op wat ik al heb bereikt. Mijn motto is: waar een wil is, is een weg. Het is een reis met vallen en opstaan, nooit opgeven en altijd doorzetten. Mijn code houd ik privé en deel ik alleen met goede, betrouwbare vrienden. Ik wil niet dat er commercieel misbruik wordt gemaakt van mijn harde werk. Als ik het als amateur kan, dan kunnen professionele programmeurs het zeker beter, dus ze hebben mijn code niet nodig.

Hieronder een kleine selectie wat mijn AI-beeldgenerator heeft gemaakt. Er zijn nog fouten, maar ik ben best tevreden dat het al goed uitziet. Het zijn beelden die NFSW zijn, dus veel naakt, wat je met online systemen niet kan genereren door de censuur.


Chris de professor




Geen opmerkingen:

Een reactie posten

Opmerking: Alleen leden van deze blog kunnen een reactie posten.

Java en AI

Mijn vraag aan Nancy-AI, wat zij vindt van AI geprogrammeerd met Java. Nancy zegt: Java is een populaire programmeertaal die vaak wordt gebr...