A programozók kálváriája csak az első lépés a tökéletlen AI uralma felé
Évekig hallottuk, hogy „tanulj meg kódolni”, ha sikeres akarsz lenni az életben. Most azonban látványosan elkezdett beszűkülni a programozók munkaerőpiaci mozgástere, mivel elkezdték mesterséges intelligenciával kiváltani őket. Műszaki informatikus vendégszerzőnk, aki jelenleg a Bécsi Műszaki Egyetemen mikroelektronika doktori tanulmányokat folytat, a bőrén érzi a jelenséget, ám ennél is nagyobb veszélyre figyelmeztet. A kezdetektől nyomon követi a gépi tanulás fejlődését, így azt is tudja, mire jók és mire nem. Valóban alkalmas az AI mindarra, amire sok iparágban lelkesen be akarják vetni?
Először a Budapest Műszaki Egyetemen, a ’90-es évek végén találkoztam mai értelemben vett mesterséges intelligenciával, pontosabban egy mai szemmel egyszerű neurális hálózattal. Ez képes volt megtanulni, hogy két pótkocsis teherautóval tolatást szimuláljon. A neurális hálózatok matematikai alapjai már akkor rég ismertek voltak, viszont hiányzott a tanításukhoz az elegendő és olcsó számítási kapacitás. A neurális hálózatok kérdései jórészt megmaradtak akadémiai kutatások tárgyának. A gyakorlati problémákat hagyományos szoftverfejlesztési eszközökkel oldották meg, melyeknek részei lehettek a mesterséges intelligencia korábbi megoldásai, például szakértői rendszerek.
Ekkor – és még évtizedekig – a szoftverfejlesztés robbanásszerűen fejlődő terület volt. Egyetemi éveim alatt naponta jöttek állásajánlatok az évfolyamok levelezési listáira. Bár nem volt se végzettségünk, se szakirányú tapasztalatunk, csak az nem dolgozott egyetem mellett, aki nem akart. A 2001-es diplomaosztóm után is bő két évtizedig könnyű volt elhelyezkedni, szükség esetén váltani. A fejvadászok kéretlenül is írtak és hívogattak, mert mindenhol, az egész világon kevés volt a szakember.
A gyors fejlődés korábban elképzelhetetlen eszközöket eredményezett. Közel húsz év alatt a végfelhasználók számítógépeiben elérhető processzorfrekvencia a harminc-negyvenszeresére emelkedett, majd amikor az új évezred elején ez a növekedés lelassult, megjelentek a párhuzamos végrehajtást lehetővé tevő többmagos processzorok (CPU), és az új irány a feladatok párhuzamosítása lett. A grafikai algoritmusok különösen alkalmasak a többszálú végrehajtásra. A játékipar törekvése az egyre élethűbb megjelenítésre életre hívta a hardveres gyorsítókártyákat, melyek egyszerű műveleteket – háromszögrajzolás, árnyékolás stb. – tudtak tucatjával, később százával végrehajtani. Párhuzamosan. Megszületett a GPU (graphics processing unit).
Ez az új hardver az iparban és a kutatásban is alkalmazásra talált, mert nem csak grafikus elemeket lehet vele nagy tömegben rajzolni: a matematikai műveleteket is hasonló mértékben felgyorsítja. Nagyon sok algoritmust a matematika lineáris algebra részterületére vezettek vissza korábban is, mert arra nagyon hatékony programkönyvtárak voltak. Itt több száz vagy akár több millió elemű mátrixokon és vektorokon végeznek műveleteket, amire ideális eszköznek bizonyultak a GPU-k.
Ezzel lehetővé vált komolyabb neurális hálózatok tanítása. Megjelentek a gyakorlatban is alkalmazható mélytanuló hálózatok (deep learning network, DNN), melyekben a mesterséges neuronok sok egymást követő rétegben helyezkednek el. Az első látványos eredmény az ImageNet képadatbázishoz köthető, melyet gépi képfelismerés kutatására használnak 2006 óta. Eleinte hagyományos algoritmusokkal versenyeztek a kutatók, de 2012-ben az AlexNet DNN több, mint 10 százalékpontot vert a második helyezett programra a felismert képek hibaarányában. Így robbantak be a mélytanuló hálózatok a szakmai köztudatba.
Az elv viszont nem csak mintafelismerésben, matematikai alkalmazásokban hasznosítható. A DeepMind AlphaZero hálózata 2017-ben saját maga ellen játszva 5000 játszma alatt tanult meg sakkozni. A korábbi világbajnok program Stockfish 8 ellen száz játszmából 28-at megnyert, a többit döntetlenre hozta ki.
A köztudatba az OpenAI 2021-ben bemutatott DALL-E és rá egy évre debütáló ChatGPT platformja hozta el a modern mesterséges intelligenciát. Az előbbi természetes nyelvű leírásból képet képes generálni, az utóbbit valószínűleg nem kell bemutatnunk.
Ezen alkalmazások gyűjtőneve: nagy nyelvi modellek (LLM). Látszólagos bonyolultságuk és értelmi képességeik ellenére nagyon egyszerű a működési elvük. A bemeneti szöveget előfeldolgozás (úgynevezett tokenekké alakítás) után a DNN kapja meg, ami a tanítás alapján az arra legvalószínűbb kimenetet hozza létre. Jó közelítéssel ugyanaz történik, mint az AlexNet esetén: ha a bemeneti kép egy kismacskát ábrázol, a kimeneten a kismacska kategória jelenik meg. Ezért van az, hogy aritmetikai műveletekben nagyon rosszak. Gyakorlatilag bemagolják a szöveget, és ha szerepelt az 1+1=2, látszólag végrehajtják. Ha viszont nem szerepelt a 2,3*1013-998, akkor azt nem végzik el, hanem illesztenek hozzá valami szövegesen hasonló eredményt. Ma a gyakorlati használhatóság érdekében külön matematikai modul van alattuk, hogy pontos eredményt adhassanak.
Kezdeti alkalmazásuk hamar túlmutatott a vicces képek gyártásán és a beadandó esszék gyors megíratásán. Lehetőségeiket fölfedezte a propaganda, az atomizálódó társadalom magányos tagjai társként is tekintenek rájuk… Vannak nagyon kreatív alkalmazásai is az új technikának. 2023-ben például a moszkvai Alekszandr Zadar ChatGPT segítségével automatizálta a tinderes társkeresést. Megkérte, hogy milyen tulajdonságokkal rendelkező lányokat keressen, majd csevegjen velük. A beszélgetés sikerétől függően igazi találkát szerveztetett vele, így több, mint száz jelölttel élőben is találkozott. Végül 5239 lány közül egyet választottak ki a ChatGPT-vel közösen, akivel össze is házasodott.
A nagy nyelvi modelleket nem csak csevegésre és esszéírásra tanították, hanem gyakorlatilag minden szövegesen leírható feladatra, így matematikai bizonyításokra és programozni is. Nyilvánosan elérhető nyílt forrású projektek ezrein (mint például a szerzőnek ezen a programján) sok millió sornyi forráskódon tanultak. A jobb eredmények érdekében lehetőség van a válaszok finomhangolására, ami máig manuális munka. Külön munkakör jelent meg: szakértőket keresnek a nagy nyelvi modelleket fejlesztő cégek, hogy szakterületükön minél több problémát és azok megoldásait fogalmazzák meg, majd ezt az LLM-be táplálják. Így vált lehetővé, hogy máig megoldatlan matematikai problémákat akár diákok megoldhatnak a ChatGPT segítségével.
A programozásban is hatékonyan használhatók a nagy nyelvi modellek, igaz, ez erősen feladatfüggő.
Amikor valaki szöveges utasítást ad az LLM-nek adott programozási nyelven egy feladat megoldására, majd a kapott eredménytől függően azt újabb utasításokkal pontosítja, azt vibe codingnak nevezik. Ilyenkor akár hozzá se kell nyúljon a forráskódhoz, míg hagyományos módon azt teljes egészében a fejlesztő gépeli be. A két véglet közti skálán bárhol lehet dolgozni. Tipikus, hogy a sok gépelést igénylő, egyszerűbb feladatokat bízzák a mesterséges intelligenciára. Másik lehetőség, hogy a meglévő programban végeztetnek vele kisebb-nagyobb módosításokat.
Ilyen feladatokban valóban nagyon hatékonyak. A technológia prófétái szerint tízszeres termelékenységnövekedés is elérhető, és legfeljebb pár év alatt, vagy akár az év végére eltűnik a hagyományos szoftverfejlesztés. Ezt ugyan sokan vitatják, viszont a lehetséges költségcsökkentésre a szoftvercégek vezetése is ráérzett. Számos esetben elvárás a nagy nyelvi modellek használata: ezek nélkül a programozó nem képes elvégezni időre a kiosztott feladatokat. Mindez az elmúlt három évben történt úgy, hogy a kezdeti modellek még nyilvánvaló kívánnivalókat hagytak maguk után.
Ha azonban a generált forráskód mélyére nézünk, már nem ilyen tiszta a kép. Itt is tipikus a „hallucináció”, amikor az LLM által kevéssé ismert környezetben „kitalál” valami hasonlót. Nekem egy speciális szakterületen teljesen használhatatlan programot írt. Korlátozott az LLM-ek által egyszerre figyelembe vehető tokenek száma, márpedig ebbe beletartozik a szöveges utasítás és a módosítandó forráskód is. A látszat ellenére nem képesek megérteni a feladatot, még kevésbé ismerik az adott szituációban betartandó szoftverfejlesztési szabályokat. Így tipikusan a hatékonysági, biztonsági és bővíthetőségi követelményeknek nem felel meg az általuk generált kód. Ráadásul az gyakran túl hosszú, illetve ha túl sok módosítást takar a meglévőhöz képest, ember is nehezen tekinti át, hogy valóban helyesen működik-e majd a meglévővel együtt.
Márpedig a programok még ma is úgy készülnek, hogy emberi fejlesztők meg kell értsék őket, és szükség esetén bizonyítanunk kell a program helyes működését. A LinkedIn szakmai közösségi platformon intenzív eszmecsere folyik a nagy nyelvi modellek alkalmazásáról. Veterán fejlesztő mondott fel azért, mert hasonló aggályait nem vették figyelembe a szervezeti folyamatok átalakítása közben. Különösen igaz ez missziókritikus szoftverek fejlesztésére, mint például repülés, űrutazás, forgalomirányítás, orvosi eszközök programozása.

Az egyéni munka is nagymértékben változik a mesterséges intelligencia alkalmazásával. Az egyes utasítások között akár 1-2 percet is várni kell az LLM-re, így a fejlesztő kiesik a ritmusból (oda a „flow”), ugyanakkor más feladatra váltani nem éri meg. A modell ismételt korrigálása, illetve a sok generált programsor átnézése frusztráló lehet, miközben elvész az alkotás öröme. Ez természetesen egyénfüggő, de elég sok ilyen hangot is hallani. További probléma, hogy vibe kódolásnál a fejlesztő nem fogja úgy ismerni a forráskódot, mintha ő írta volna. Hosszabb idő után a kézi programozást elhagyók óhatatlanul is kijönnek a gyakorlatból, ami a generált kód megértését és javítását is megnehezíti.
A szellem azonban már kiszabadult a palackból, és amíg nem válik tökéletes programozóvá a mesterséges intelligencia (ha egyáltalán valaha azzá válik), addig problémákat is okozhat.
A szorosan vett szoftverfejlesztés mellett a munkaerőpiacra is komoly hatással van. A kezdő (junior) szofverfejlesztő pozíciók világszinten megcsappantak. A cégek igyekeznek kapun belül nagy nyelvi modellek alkalmazásával kiváltani őket. Ez egyértelműen rövid távú gondolkodásra vall, mert az emberi utánpótlás-nevelést vágják így el. A három évtizeddel korábbi helyzethez képest amúgy is romlott a kezdők helyzete, mert már jó pár éve számukra is elvárás legalább egy-két év munkatapasztalat a hirdetések nagy részében.
A gazdasági bizonytalanságok és a mesterséges intelligencia azonban már tömeges elbocsátásokhoz is vezetett. Ezzel megindult az elkeseredett harc a meglévő állásokért. Vége szakadt a fejvadászok sorozatos megkereséseinek. Esetemben ez részben az életkoromnak is köszönhető, mivel a fiatalabb ember jobban alakítható, és kevesebbet kér. Legalábbis így gondolják a munkaadók. A mesterséges intelligencia az önéletrajzírást is pofonegyszerűvé tette, így egy reggel LinkedInen megjelenő állásra délután száznál több jelentkezés is befuthat. Egy ismerős vezető szerint száz jelentkezőből nagyjából ötöt volt érdemes behívni első körös interjúra, mert a többiek közelében sem voltak az elvárásoknak. Sok jelentkező nem érti, hogy nincs értelme minden lehetséges állást megpályázni.
Ezzel viszont a humánerőforrás-osztályokat terhelik túl. Fél perc nem jut egy önéletrajz elolvasására, így a cégek bevezették az ATS (applicant tracking system, jelentkezőkövető rendszer) alkalmazását. Egy webes felületen kell jelentkezni, ami csak akkor továbbítja a HR-es kolléga felé az önéletrajzot, ha az elég sok egyezést mutat a követelményekkel. Ezek a rendszerek viszont csak azt tudják, amire beprogramozták őket. Ha egy amúgy kiváló jelölt valamiért kihagy pár kulcsszót, vagy máshogy fogalmaz, mint elvárják, észrevétlen kiesik a rostán. Emellett sok vállalat hónapokig nyitva tart egy pozíciót, mert nem merik vállalni az elköteleződést egy esetleg rossz jelölt mellett. Ez kiválóan látszik a LinkedInen és a nagy magyar portálon, a Profession.hu-n is. A kiírt állások esetén nem ritka a három-ötkörös interjú. Az Nvidiához például híresen nehéz bejutni.
Ettől nem függetlenül a cégek igyekeznek valamilyen szintű ismerősökkel betölteni az állásokat, mert akkor kisebbnek érzik a kockázatot. Ismerős ajánlásával, konferencián beszélgetéssel, vagy akár egy jól sikerült LinkedIn bejegyzéssel is be lehet kerülni. A LinkedIn profil minősége is döntő lett abból a szempontból, hogy megjelenik-e az álláskereső a HR-esek célzott kereséseiben. Még három évvel ezelőtt is nagyjából mindegy volt, mi áll rajta. Ma már tökéletesre kell csiszolni. Iparági becslés szerint ma az állások háromnegyedét anélkül töltik be, hogy azok megjelennének hirdetés formájában. Ennek része a jelentkező részéről a közvetlen megkeresés (cold outreach), amikor a cég profiljába eső kompetenciáit ajánlja a HR figyelmébe.
Ritka eset a lelkiismeretlen vállalkozás, ami a sokkörös interjú során házi feladatként kisebb problémákat oldat meg a jelöltekkel, így jutva ideiglenes ingyen munkaerőhöz. Utána sajnálkozva elköszönnek a pályázótól. A gátlástalanabb csalók is megjelentek a piacon, akik jól kecsegtető személyes megkeresés után egy próbafeladatot adnak. A LinkedInen leírt eset szerint kiskapu volt beépítve, mellyel utána átvehették volna a hatalmat a jelentkező gépe felett. Ő szerencsére először megnézte a forráskódot, így megúszta a támadást.
Látva a jelentkezések reménytelenségét, gombamód szaporodnak az önéletrajzírásra és LinkedIn profilok finomhangolására szakosodott cégek. Ők sokszor vállalják az álláskereső végigkísérését a teljes jelentkezési folyamaton. Nem egy működik itthon is, általában előre nem hirdetett árral dolgoznak. Némi kutatómunkával azért kideríthető, hogy ez bőven a félmilliós összeg fölé is rúghat.
Ha már van időpont az interjúra, érdemes felkészülni rá. Egy jelentkező kitalálta, hogy a ChatGPT hangfunkcióját bekapcsolva meg kell kérni, hogy tettesse magát vezető kommunikációs coach és tapasztalt interjúztatónak. Interjúztasson engem a kívánt pozícióra, kérdőjelezze meg a válaszaimat, és adjon visszajelzést az érthetőségről és a magabiztosságról. Ez tökéletes példa a nagy nyelvi modellek kreatív és hatékony használatára.
A második körtől kerülnek elő a valós idejű programozási feladatok, amikor a jelölt gondolkodását, képességeit egy vagy több kisebb, de gondolkodtató feladattal mérik fel. Havi 299 dollárért egy asztali alkalmazás vásárolható, amely a böngésző mellett megjelenve valós időben segít a programozásban egy beépített nagy nyelvi modellel. Még arra is figyeltek, hogy a két program között ne a szokásos ablakváltó billentyűkkel lehessen közlekedni, illetve képernyőmegosztás esetén a segítség láthatatlan legyen. Ezek a megoldások viszont hamar tovább növelhetik a zajt a kiválasztási folyamatban, és akár a mai módszer használhatatlanná válását is okozhatják. Nem véletlen, hogy némelyek már a személyes jelentkezések és interjúk visszatérését jósolják. A nagy nyelvi modellek, illetve a tágabb értelemben vett mesterséges intelligencia nem csak a szoftverfejlesztés területén kavarta fel az állóvizet.
A közoktatásban, mindenekelőtt a középiskolákban és az egyetemeken újra kell gondolni a számonkérést.
Ez a Bécsi Műszaki Egyetemen is visszatérő kérdés. A könnyebb utat választó diákok kognitív képességeire és kritikai gondolkodása is hatással vannak a nagy nyelvi modellek – tömeges használat esetén a következő generációk szellemi képességeire döntő hatással lehet.
Az egészségügyi cégek, intézmények és gyógyszergyárak is hatékonyság-növekedést várnak a mesterséges intelligenciától. Az egyértelműen tudományos áttörésnek számító AlphaFold nagy pontossággal képes megjósolni a fehérjék térbeli szerkezetét. Ezek az eredmények további kutatások, illetve gyógyszerfejlesztés bemeneteként szolgálnak. Az így előállított gyógyszerhatóanyag esetleges káros hatásai ellenőrző kísérletekkel kizárhatóak, hasonlóan a korábban feltalált hatóanyagokéhoz.
Amennyiben viszont a mesterséges intelligenciát diagnosztikára, műtétek tervezésére vagy részben kivitelezésére használják, már nem feltétlen van lehetőség ellenőrzésre, az esetleges hiba kiszűrésére. Az új technika számos esetben vezetett hamis diagnózishoz vagy sérüléssel járó műhibához.
A jelek szerint az újdonságok alkalmazása most is sokkal gyorsabb, mint a lehetséges hatások felmérése. A szabályozás ismét csak utólag lehetséges, mint oly sokszor az emberi történelem során. Ezen új technológia a szellemi élet szinte minden területén komoly változásokat hozott mindössze pár év alatt, és sokak szerint ez még csak a kezdet. Fejlesztőinek következő célja az általános mesterséges intelligencia (artificial general intelligence, AGI) létrehozása, ami az emberével megegyező kognitív képességekkel rendelkezne. Még nem világos, hogy ez lehetséges-e, illetve ha igen, mikor. Ma ettől mindenesetre még nagyon messze vagyunk. Ezt mutatja az „autómosó teszt”, amely a napokban robbant be a köztudatba. A feladat egyszerűnek tűnik: az ötven méterre levő autómosóba gyalog vagy autóval induljak autót mosni. A közismert nagy nyelvi modellek közül csak kettő tudott helyesen érvelni, a többi fölöslegesnek tartotta autóba ülni.
A mesterséges intelligencia hatásai viszont a hibáik miatt aligha fognak csökkenni. Az iparágban tevékenykedő cégek már gigawattban mérik tervezett adatközpontjaik teljesítményét, melyekkel minden eddiginél nagyobb modelleket akarnak futtatni. Összehasonlításként: Magyarország teljes villamos teljesítményfelvétele napszaktól és évszaktól függően 5 és 8 gigawatt között mozog.
Nyitókép: Illusztráció (GORODENKOFF PRODUCTIONS / SCIENCE / GPR / Science Photo Library via AFP)
Ezt a cikket nem közölhettük volna olvasóink nélkül. Legyen támogatónk a Donably-n, a biztonságos, magyar fejlesztésű előfizetési platformon. Paypal, utalás és más lehetőségek itt >>>

