TSM - Experts Panel – AI și UX

Ovidiu Mățan - Fondator @ Today Software Magazine


La evenimentul de lansare din luna aprilie am avut o discuție interesantă despre noile servicii de AI precum chatGPT. Invitații noștri la panel au fost:

Ovidiu Mățan: Care este impactul toolurilor AI asupra tehnologiei?

Liviu Dnistran: Putem vorbi doar despre ceea ce știm. Cu siguranță, au apărut niște tooluri foarte bune și complexe. Sunt roboți care pot rezolva probleme. Nu îmi place să folosesc termenul "inteligență", deoarece acești roboți nu gândesc de capul lor, ci pe baza unor date și a unor modele pe care le folosesc pentru a ne ajuta pe noi să luăm niște decizii. Vor fi foarte de ajutor în procesarea de limbaj și traducere. Există o problemă reală în a traduce volume mari de texte și a adăuga traduceri de fiecare dată când apare ceva nou. În ceea ce privește deciziile și filtrarea unor seturi mari de date vor fi de foarte mare ajutor. Comportamentul AI replică comportamentul citit sau învățat din setul de date de antrenament.

Oamenii de rând au acces la volumul mare de date folosit pentru a antrena sistemele AI?

Radu Chelariu: Noi, oamenii obișnuiți, nu avem. Ar fi exorbitante doar costurile de stocare. Trebuie mai mulți terrabytes pentru a antrena un sistem cât de cât capabil.

Ce se întâmplă dacă îi dau sistemului 2000 de articole TSM? Ar putea răspunde? Ar începe să știe ceva?

Radu Chelariu: Nu neapărat ar ști, dar ar putea începe să răspundă ca un articol TSM. Ai putea să îi dai lui ChatGPT toate articolele și să îi spui ca, pe baza acelor articole, să genereze un articol despre subiectul X.

Aș vrea să îi pun o întrebare, iar ChatGPT să răspundă foarte tehnic.

Liviu Dnistran: Cu asta alunecăm în zona de fezabilitate. ChatGPT este de ajutor, dar nu ne va lua meseria. Tot omul e cel ce trebuie să știe ce vrea pentru a obține un rezultat de la ChatGPT. Dacă nu știi să îl întrebi, ChatGPT nu are intuiția de a înțelege ce dorești de la el.

Dacă ești expert într-un domeniu, ChatGPT nu te va ajuta foarte mult, dar dacă vreau să mă apuc de gastronomie mă va ajuta foarte mult.

Liviu Dnistran: Tot la căutarea de tip Google ajungi. Tot trebuie să știi ce dorești.

Folosești tooluri care au legătură cu AI sau care te-ar putea ajuta?

Anamaria Androne: Am cochetat cu ele, dar este mai important să vedem de ce facem asta. Acum le folosim ca niște unelte ce ne ajută să ne facem o parte din treabă mai bine. La partea de UX, care este un domeniu atât de bazat pe nevoile omului, ai nevoie de aptitudini specifice, ai nevoie de empatie și ai nevoie să interpretezi datele. AI-ul îți poate da o soluție, dar acea soluție tot tu trebuie să o prelucrezi. Cu toate acestea, ar putea fi de mare folos în privința percepției utilizatorilor, a prelucrării emoțiilor utilizatorilor. Tot noi trebuie să îi spunem cum să interpreteze datele.

Alexandru Pârvu: AI-ul nu are intenție. AI-ul în sine rezolvă niște ecuații. Transformă o observație într-o ecuație și o rezolvă. Nu știu cum putem ajunge de la rezolvarea unor ecuații la intenție.

Bing cum a ajuns să vorbească urât?

Alexandru Pârvu: A făcut asta pe baza datelor sale de antrenament.

Putem testa un AI?

Radu Chelariu: Nu poți ști exact mecanismul care a dus de la "prompt" la rezultat. AI Act al Comisiei Europene este un prim pas legislativ în domeniul AI. Să nu ne gândim la ceea ce ar putea să fie, ci la ceea ce este acum. În SUA poliția folosește AI ca să identifice pe stradă posibili suspecți. Asta este o problemă, deoarece, dacă un AI consideră că seamăn cu cineva suspect, mă voi trezi cu poliția în casă. O altă problemă este că majoritatea CRM-urilor de HR filtrează candidații pe baza unor filtre de Machine Learning. E posibil ca CV-ul tău să nu ajungă la HR dacă AI-ul decide acest lucru. Problema nu este că AI are un cuvânt de spus, ci că se scot complet din ecuație persoanele reale care să aibă un cuvânt de spus în deciziile luate de AI.

Alexandru Pârvu: De unde a pornit ideea aceasta că noi nu știm cum ia un AI o decizie? Nu este așa. Se poate ști. Luăm un exemplu foarte simplu - regresia liniară. Se vede ponderea fiecărui factor și impactul pozitiv sau negativ. Putem astfel înțelege rezultatul bazat pe această pondere calculată. Singurul caz unde nu știi, iar asta pentru că este prea complex, este dacă există o rețea neuronală. Dar chiar și așa, dacă există o rețea neuronală, iar acolo sunt trei straturi, trei nivele, atunci chiar și acolo îți poți da seama cum a fost luată decizia. Există un strat, iar fiecare neuron va da o pondere fiecărui factor separat. Ponderea poate fi apoi agregată.

Dacă ai foarte multe straturi, va fi foarte greu.

Alexandru Pârvu: Da, așa este, dar în realitate sistemele AI nu sunt cu miliarde de straturi. Setul inițial de date este randomizat, iar apoi neuronii stabilesc ponderea fiecărui factor. Datele sunt folosite pentru a rezulta acele greutăți. Ulterior, datele nu mai sunt folosite. Datele în sine nu mai trebuie păstrate, după ce ai antrenat modelul.

Liviu Dnistran: Trebuie să ținem cont de datele pe baza cărora se obține un rezultat, un algoritm, o rețea neuronală. Noi, oamenii, dorim să obținem un rezultat. Noi stabilim care este problema, cam cum s-ar rezolva problema, iar apoi îi dăm, de exemplu, 300 de milioane de CV-uri. Din aceste CV-uri vom ajunge la mai puține pe baza acordării unor ponderi unui set de factori. În etapa de training vom valida rezultatele ca să vedem că sistemul nu gândește prost. Vedem în această etapă că datele de antrenament sunt OK și că ponderile sunt OK. Doar apoi trecem la date reale, pentru că noi am validat că acele ponderi sunt bune. Mereu vom obține un rezultat consistent pentru setul nou de date. Poate știți jocul Pong cu o bilă care sare cu scopul de a sparge peretele de sus. A fost antrenat un Bot AI care să rezolve acest joc cât mai eficient. Acel perete este însă format din mai multe culori și nu i s-a spus acelui Bot să spargă tot peretele. Prin urmare, pentru a sparge tot peretele, Botul trebuie reînvățat cu ce culoare să înceapă și trebuie reinstruit. Nu va exista creativitate prea curând.

Care este diferența dintre un programator de Machine Learning și unul clasic?

Alexandru Pârvu: Este vorba de complexitatea taskului. Practic, decizi dacă ai un task pe care vrei să îl rezolvi clasic, definești parametrii, inputurile, apoi scrii cod. În AI, se transformă inputurile istorice în ecuații care se rezolvă. Sunt multe lucruri ce se fac cu datele înainte ca acestea să fie încărcate ca date de antrenament. Pot fi date lipsă, date incorecte. În cazul băncilor, acestea au sisteme care să detecteze tranzacții frauduloase. În majoritatea cazurilor, este vorba de detectarea unei inegalități. În acest caz, o acurateță de 99% nu ajută, deoarece banca dorește să prindă acel 1% fraudulos. Pentru aceasta, trebuie să știi cum să balansezi setul de date și ce prioritizezi. Pentru toate sistemele AI despre care am vorbit, inovația cea mai mare nu este în codare, ci se remarcă în capacitatea de a strânge datele necesare pentru acei algoritmi și pe capacitatea noastră actuală de a antrena acești algoritmi pe baza unei puteri mari de procesare. Până acum zece ani, nici măcar Google sau Amazon nu aveau puterea necesară de procesare. Acum, putem și aduna, și procesa datele.

Radu Chelariu: Acest lucru face ca piața să fie non-competitivă. Noi nu putem să fim competitori pentru OpenAI. Costurile noastre ar fi exorbitante pentru ca noi să putem face o parte mică din ce poate face OpenAI cu puterea sa de procesare și datele sale.

Alexandru Pârvu: Ai nevoie de putere mare de procesare ca să antrenezi datele. Ca să folosești un model deja antrenat, nu vei mai avea nevoie de resurse atât de multe. În același timp, trebuie să ne gândim și la scalabilitate. Însă, în acest caz, nevoia de resurse crește din nou.

Radu Chelariu: Putem vedea un viitor în care organizațiilor vor găsi valoare în faptul de a avea propriile lor seturi de date private, cu modelele lor private. Asta va fi o propunere ce va poziționa aceste companii ca furnizori de plus valoare. Consumatorii vor dori să folosească acel serviciu, deoarece știu că ai parte de acele date care au antrenat acel model și pe care nu le mai ai nicăieri altundeva. Pentru noi, ca utilizatori, este foarte important să existe API-uri deschise, unelte deschise, putere computațională undeva în deșert, dar nu la noi. Ceea ce se întâmplă acum nu este o revoluție tehnologică.

Alexandru Pârvu: Așa este. Softul exista de vreo 15 ani, dar puterea de procesare nu exista. Mecanismele matematice existau chiar de acum 100 de ani, dar nimeni nu a vrut să facă totul pe hârtie.

Radu Chelariu: Ce s-a întâmplat în ultimul an este UX design. Puteai rula un Stable Diffusion. Am încercat să îl compilez acum un an și ceva. Am eșuat, dar acum pot să îmi instalez un client care are la bază Stable Diffusion. Asta este UX design.

De ce are nevoie ChatGPT de 10 secunde ca să îmi răspundă?

Alexandru Pârvu: Există niște bariere, astfel încât ChatGPT să nu zică ceva problematic. După ce noi trimitem o cerere, acea cerere trebuie să treacă prin aceste filtre. Nu știu câte filtre există.

Mie îmi place foarte mult că vorbește cu mine în română până la un punct, apoi nu mai vrea.

Alexandru Pârvu: Dacă ai mult timp la îndemână, îl poți face pe ChatGPT să creadă lucruri nebune. O persoană a stat două săptămâni și l-a făcut pe ChatGPT să creadă că 2+2=5. Pentru acea persoană, ChatGPT arăta că 2+2=5.

Radu Chelariu: Aseară, l-am întrebat pe ChatGPT dacă învață corecțiile de date pe care eu i le dau ca utilizator. Inițial mi-a spus că da, le învață, dar și că le dă mai departe altor utilizatori. Apoi, l-am întrebat dacă va învăța că Pământul e plat, dacă eu îi spun acest lucru. ChatGPT a început să se certe cu mine că Pământul nu este plat. Am continuat să îl întreb dacă este sigur de acuratețea datelor științifice pe care se bazează acest răspuns. A continuat să susțină că Pământul nu este plat și i-a luat din ce în ce mai mult timp să răspundă, deci e clar că are filtre acolo.

Anamaria Androne: Este incredibil de tentant să credem că AI-ul are o caracteristică umană. Am văzut acum câteva săptămâni un video cu ChatGPT. A dat un răspuns la o întrebare simplă, dar a mai adăugat niște date aleatorii. Persoana care îl interoga a început să zică că ChatGPT ne înșală, că își bate joc de noi, că spune bazaconii. AI învață mai repede, dar interpretarea și percepția datelor are nevoie de factorul uman. Eu, dacă citesc o lucrare științifică și iau informații și le memorez, îmi vin neapărat idei noi pe baza acelei lucrări? Nici unui AI nu îi vor veni idei noi. AI strânge date și răspunde pe date, ceea ce e foarte bine, dar nu este totul.

Liviu Dnistran: Capacitatea de liber arbitru nu va veni prea curând. Aceasta este și o problemă filosofică. Putem imprima unui AI comportamente similar umane, dar nu va avea gândire critică și va fi influențat de aceleași ecuații matematice pe care tot un om i le va da să le rezolve.

Radu Chelariu: Trebuie să separăm AI general de AI îngust. Noi am vorbit până acum de AI îngust. AI general înseamnă singularitate. Când un sistem va ajunge la singularitate, problema va fi nu că roboții se vor răscula și ne vor omorî, ci că noi nu putem să recunoaștem o inteligență diferită de a noastră. Nu putem recunoaște inteligență diferită de pe altă planetă. Inclusiv la noi, sunt organisme ce trăiesc în mediu vulcanic. Noi nu putem defini ce este inteligența. Noi putem recunoaște foarte ușor inteligența umană și cam atât. AI-ul este silicon, iar acesta nu poate funcționa inteligent precum carnea.

Anamaria Androne: Doream să fac o precizare în ceea ce privește cantitatea de date și felul datelor. AI este acum o oglindă fidelă a ceea ce suntem noi, a informațiilor pe care i le dăm și a felului în care îi dăm informația. Referitor la CV-uri și angajări, e drept că AI-ul îți poate oferi niște metrici interesante, moduri de a vedea lucrurile la care tu nu te-ai gândit, dar nu este singurul lucru care contează.

(întrebare din public): Cu ce scop sunt folosite aceste sisteme AI, având în vedere că noi nu avem vizibilitate la nivelul datelor și al algoritmilor pe care sunt construite? Noi nu ne permitem să ne facem propriile sisteme AI.

Alexandru Pârvu: Cu siguranță, eu nu voi putea să îmi fac propria cale ferată. Este la fel și cu aceste sisteme AI. Sunt făcute pentru a fi utilizate, pentru a genera profit. E o chestiune de capital.

Liviu Dnistran: Depinde ce dorești să rezolvi. Poate pentru problema ta sunt suficiente seturile de date pe care le ai. Dacă ai o problemă de talia Google, trebuie să fii Google. Dacă ai avea acces la seturile lor de date, ce probleme ai vrea să rezolvi ce nu sunt deja rezolvate?

(comentariu din public): Personal, aș dori să investesc în vindecarea cancerului.

Radu Chelariu: China este mult mai avansată la seturi de date. Avem nevoie de legislație europeană. Sunt măcar trei tipuri de AI pe care China le deține, ce vor fi interzise de o viitoare legislație. De exemplu, China face social scoring (ierarhizare valorică socială) pe baza unui algoritm AI. Dacă legea trece în UE, noi nu vom avea voie să folosim în UE soft dezvoltat în China care face social scoring.

Este un lucru care mă fascinează la chinezi. Dacă treci strada pe roșu, primești automat amenda pe telefon.

Radu Chelariu: Asta s-ar putea întâmpla și cu amenzile pentru mașini. Este relativ ușor să faci sistemul să recunoască cele trei culori ale semaforului și să trimită amendă sau notificare când un vehicul trece pe roșu.

(întrebare din public): S-a vorbit mult de trained networks, dar există și conceptul de untrained networks care presupune creativitate. Vorbim de AI reglementat și de filtre. Ce creativitate ne așteptăm să ne aducă AI-ul, dacă noi îl filtrăm? Prin untrained networks mă refer la euristica ce permite unui AI să ia o decizie nu neapărat pe baza ecuațiilor cu care a fost antrenat.

Alexandru Pârvu: Dar asta înseamnă AI. Nu ai altă variantă decât să îl înveți ceva pe baza unor date istorice și, ulterior, să ia decizii pe baza acelor date istorice. Nu avem altă posibilitate similară cu ceea ce ai descris tu. Un model care nu ia decizii pe baza datelor istorice se numește "unsupervised learning". În acest ultim caz, se adună datele pe baza unor similarități pe care le au. Poți avea "unsupervised learning" pe frecvența cuvintelor într-un topic. Se poate aplica și în cazul imaginilor sau al valorilor numerice. Nu trebuie să cauți să învețe. Sistemul le intepretează bazat pe similarități. E vorba de o distanțare matematică. Se alege aleatoriu un punct în spațiu. Se calculează distanțele față de acel punct pe baza observațiilor tale. Nu faci tu categoriile, ci le face sistemul. Se definește structura pe care tu deja o ai în datele respective.

(întrebare din public): Ce părere aveți de sistemele acestea de tip Large Language Models, cum este ChatGPT, care în viitor vor putea folosi tooluri ? De exemplu, Bing AI folosește un tool numit Bing ca motor de căutare. Face un fel de "information retrieval" și aduce date suplimentare în acel context, apoi răspunde mai formal. Mai este LangChain care poate folosi tooluri precum un calculator. În loc să facă el calculele, poate apela la un script Python care să primească calculul și să obțină rezultatul. Mai sunt modele, precum ActGPT care învață UI-ul să dea click pe butoane pentru a se completa informația. Cine știe poate la un moment dat va putea fi instruit să șteargă baze de date. Nu se schimbă puțin paradigma? Nu devine puțin periculos?

Alexandru Pârvu: Depinde ce putere îi dai. Tot un om va fi cel care îi va da comanda, obiectivul. Omul acela va fi culpabil.