În rândurile de față se continuă[^1] descrierea prezentărilor din cadrul conferinței The Developers, desfășurate în 14 iunie, la Cluj Innovation Park. Este vorba de trackul applied tech, ale cărui înregistrări video sunt accesibile pe streamevent.ro.
George este un pasionat de machine learning și deținător a câtorva premii obținute la concursurile organizate de Kaggle. Din graficul Power law - data and resources, care a deschis prezentarea sa, rezultă că avem nevoie de mai multe resurse de procesare și echipe mai mari. Asistăm la un fenomen unde soluțiile cele mai bune sunt obținute cu resurse la care doar companiile mari au acces. Cum ar fi DeepMind. Numărul de parametri din cele mai mari dataseturi a urcat de la 100 de milioane în 2018 la 540 miliarde în 2022. Mai putem noi, programatorii care nu lucrează pentru marile companii să mai obținem rezultate bune ? Răspunsul este unul pozitiv. În ultimul timp, s-a evidențiat o democratizare a AI-ului prin publicări de dataseturi sau de lucrări de cercetare care conține cod și date prin care se pot reproduce rezultatele. De asemenea, au apărute multe modele pre-antrenate, multe proiecte de ML ca și o documentație vastă. Pentru un rezultat bun ar trebui să ne îmbunătățim modelele existente, să verificăm dacă nu există de cumpărat dataseturi mari asemănătoare sau modele pre-antrenate. Federated learning- imaginați-vă 100 de clinici care au mici seturi de date pentru detectarea diferitelor tipuri de cancer. Nici una dintre ele nu vrea să publice datele pe care le dețin. Soluția este pre-antrenarea pe rând a unui model de ML și distribuirea rezultatului între ele.
Prezentarea sa a început cu imaginea de ansamblu standardelor actuale în ceea de privește automated driving. Principalele trenduri actuale sunt:
Percepția 360 de grade. Un amănunt important este volumul de date, care incluzând 10 camere video, este de 750 MB/s. Prin urmare, un volum de date enorm care trebuie bineînțeles și procesat.
Creșterea puterii de procesare în automobile. Se estimează că într-o mașină există 100 de milioane de cod care rulează pe ECU-urile din mașină.
Folosirea tot mai mare a deep learningului și a rețelelor neuronale. Acest lucru este datorat rezultatelor bune obținute prin aceste metode. În abordarea tradițională, calitatea codului este cea care reflectă rezultatul. În cazul AI-ului, calitatea rezultatului este dată de calitatea datelor de intrare și a calității codului.
Over the cloud software updates este noua abordare și o decuplare a software-ului și a hardware-ului din mașini.
Stackul software pentru cei interesați: frameworkuri pentru procesarea imaginii de pe camere multiple, de deep learning, computer vision, Python, C++ și Java, C #, Azure și ML pentru procesarea în cloud.
Una din problemele semnalate de Bogdan se referă la situațiile în care conținutul trainerilor Agile nu își dovedește eficiența, nefiind adecvat nevoilor, din cauză că aceștia nu cunosc, uneori, realitatea complexă cu care se confruntă, companiile. De aceea, nu rare sunt cazurile când aceștia sunt rechemați după două săptămâni deoarece nu se poate aplica ceea ce s-a predat în training. Problemele sunt legate de prioritățile care se schimbă foarte des sau de restricții legate de buget. Lecția învățată este că trebuie să fie parteneri cu partea comercială a produselor. De obicei, există o tensiune între echipele de product management și cele tehnice. Care este soluția optimă, business sau tehnică? Soluția este ca ambele părți să fie implicate în luarea deciziilor și să lucreze împreună. Un exemplu eficient în această direcție este să realizeze workshopuri comune. De asemenea, toată lumea trebuie să ia parte la acest proces. Toate acestea au fost demonstrate cu exemple sugestive de procese și statistici interne.
Prezentarea lui Sergiu a început cu menționarea principalelor roluri ale unui software architect : acela de crea Technical Leadership și de a realiza un high level design. Acum 20 de ani lucrurile erau destul de simple pentru a fi un bun arhitect. Era de ajuns să citești câteva cărți începând cu Martin Fowler și deja erai la curent cu principalele partternuri ce pot fi aplicate. În zilele noastre, în schimb, lucrurile au devenit mai complicate. Există nenumărate traininguri, video-uri și conferințe pe această temă. De exemplu, documentația de arhitectură software pentru Azure are 2260 de pagini. Mai demult, software arhitectul se implica în scrierea prototipului software. Nu mai este cazul acum, el seamănă mai mult ca un bucătar care alege dintr-o listă ingredientele ce vor fi folosite. În câteva exemple, Sergiu ne-a arătat că se pot lua decizii care, chiar dacă nu sunt neapărat populare, sunt utile pentru proiect cum ar fi T-SQL. Printre provocările curente sunt frameworkurile de logging și construirea unui sistem de Observability (urmărire a funcționării aplicației) pornind de la acestea. Identity providers reprezintă o altă provocare mai ales că pot apărea costuri mari prin folosirea unor servicii care rezolvă aceste probleme. În concluzie, cantitatea de date, de cărți ce trebuie citite și de informații care trebuie știute va afecta profesia de software architect deoarece va fi din ce în ce mai greu să o practici corect.
Playright este o librărie open source care se bazează pe NodeJS. Este disponibilă cross-platform (Windows, Linux, MacOS) și cross-language (JavaScript, Typescript, Java, Python și .NET). De asemenea, este cross-browser (Chromium, Firefox și WebKit). Roxana a arătat câteva exemple practice de folosire a acestuia.
NLP (Natural Language Processing) poate fi folosit pentru toate problemele ce implică textul cum ar fi: traduceri, recunoașterea spamului, chatbots ... Un algoritm NLP de succes este BERT de la Google. Acesta a fost creat ca un sistem de a răspunde la întrebări în 2018. Antrenarea acestor modele necesită multe resurse. De exemplu, Google a folosit 1000 GPUs mai multe săptămâni pentru antrenarea unui model BERT. HuggingFace este un site de unde se pot descărca astfel de modele pre-antrenate. În aprilie anul acesta, Google a lansat PALM (Pathways Language Model) care a fost dezvoltat pe un dataset de 540 miliarde de parametri. Ce fac aceste modele pre-antrenate ? Pot să prezică următorul cuvânt într-o frază și astfel să termine o propoziție începută. Mai mult, poate să rezolve probleme matematice și logice sau chiar să explice glume.
Acestea au fost câteva din ideile prezentărilor de pe scenele de la Cluj Innovation Park. Sper că te-au făcut curios. Te așteptăm la o nouă ediție în 2023, dar, până atunci, vom organiza în 9-10 noiembrie a 10- ediție a IT Days.