Infobip Shift 2024
AI u teoriji i praksi
I ove godine Infobipova konferencija ponudila je mnogo toga, a fokus je i dalje na teoriji i praktičnoj primjeni AI-a u novim tehnologijama i poslovanju
Infobip Shift Day Zero
S obzirom na to da posjetitelji na Shift konferenciju dolaze koji dan ranije, organizatori su se ove godine pobrinuli da posjetitelji ne ostanu bez kvalitetnih sadržaja i taj dan pa su ponudili tri pretkonferencijska druženja:
- Red Hat & Shift
- Data Stax Developers AI Meetup
- PicNic x Rentlio Mingle & Fun
Nažalost, nije bilo fizički moguće obići sve pa smo morali bacati kocku koja nas je odvela na Red Hat & Shift Meetup. Domaći eksperti Krešimir Končić i Dalibor Kovačević te Red Hat eksperti Kevin Dubois i Manuel Hahn podijelili su svoja iskustva i savjete o korištenju open-source rješenja u poslovnom okruženju s višim stupnjem sigurnosti i lakšim skaliranjem poslovanja.
Kevin Dubois i Manuel Hahn kratko su predstavili Red Hat način rada gdje su integrirani s open-source zajednicom koja broji preko milijun različitih projekata, objasnili su kako ih prate, integriraju te stabiliziraju s ciljem uvođenja u svoj katalog proizvoda. Naglasili su da Red Hat svoje proizvode temelji na open-sourceu te potiču i doprinose toj istoj zajednici. Ako se korisnik i odluči za korištenje open-source tehnologije uvijek može dodatno zatražiti njihovu komercijalnu podršku.
Raspravljalo se o enterpirse open source tehnologiji i kako je početi uvoditi u poslovna okruženja. Svi su se složili da je bitno početi na maloj skali i uvesti open-source način razmišljanja, tj. promijeniti kulturu kod ljudi. Open-source kultura potiče dijeljenje znanja, a samim time i inovacije te dovodi odgovornost za isporuku do svakog pojedinca.
Druga tema je bila sigurnost u open-source rješenjima te sigurniji kod ako je javno dostupan. Panelisti su se složili da, iako je kod javan, znači da postoji open-source zajednica koja se konstantno brine da je kod siguran i ona uvijek broj i do 1.000+ programera koji doprinose istom cilju tj. sigurnosti. Tvrde da je to bolje nego closed-source za koji se brine nekoliko ljudi. Naime, kada dođe do sigurnosnog propusta uvijek je bolje imati više ljudi koji će raditi na uklanjanju problema nego samo nekoliko.
Na kraju se otvorila tema o open-source AI-u i koji podaci se smiju koristiti u svrhu treniranja modela. Zaključili su da je to osjetljivo područje koje još nema jednoznačnog odgovora te su se svi složili da treba vidjeti kako će razni regulatori reagirati na tom području jer je to područje još uvijek mlado.
Nakon panela svi smo se zadržali na ukusnim tapasima i otvorenom baru gdje nam je najavljeno još zanimljivih predavanja i panela idućih dana.
Fun-facts
Sofascore je ove godine zaposlio najviše ljudi do sada, a čak i kada aktivno ne traže ljude, ako zapaze nekog kvalitetnog, zaposlit će ga.
Microsoft je stalno u potrazi za kvalitetnim AI Engineering ljudima.
Većina firmi se ekipirala i teže boljoj egzekuciji i uklanjanju manje produktivnog kadra.
Od seniora se traži da budu proaktivni i da donesu nešto na stol - nešto čime će se vidjeti njihov konkretan doprinos cilju organizacije.
Na sceni je hiring freeze, a kompanije se snalaze s onime što imaju.
Patkica je bila posvuda i vizualno i putem audija.
Slika 1. Patkica je bila posvuda i vizualno i putem zvuka
Slika 2. VIDI je također bio posvuda
Slika 3. Usluga je bila na razini
Posjetili smo Infobip Shift
Od 15. do 17. rujna posjetili smo Infobipov Shift u Zadru u dvorani Krešimira Ćosića. Ta dva dana Zadar je središte IT scene s nekim od najpoznatijih IT lica u regiji i svijetu. Bilo je puno posjetitelja, organizacija je bilo izvrsna tako da nikada niste dobili dojam da je (pre)velika gužva. Evo malo brojki da dobijete bolji dojam.
Osigurali su 6 trackova:
- Dev,
- AI & Data,
- Startup & Growth,
- Innovation & Business,
- People & Leadership,
- Security,
kroz 8 različitih pozornica:
- Main,
- Orange,
- Green,
- Duck,
- Flow,
- Startup,
- Outdoor,
- Workshop.
Ostale brojke:
- oko 8.000 kava,
- prisutno je bilo preko 770 kompanija
- 293 sati raznog sadržaja
- 127 govornika iz cijelog svijeta
- 81 sesija (chatovi, sesije, meetupi, paneli…)
- 40 zemalja s 4 različita kontinenta (u zadnji tren je stiglo par ljudi iz Australije)
- 14 radionica.
Day 1
Početak prvog dana, dvorana je puna i svi čekamo otvorenje i prva predavanja. Prvi na redu je bio CTO i suosnivač Infobipa Izabel Jelinić.
Slika 7. Dok smo čekali otvorenje gledali smo patkicu i statusnu traku za učitavanje. Bilo je lako zadubiti se u nju
Otvorenje
CTO & co-founder Infobipa Izabel Jelinić pozvan je na pozornicu na provjeru znanja. Kolege su mu smjestili kviz koji je on riješio bez problema i time dokazao da ipak zna ponešto o Infobipu. Izabel je najavio da je sretan što su opet omogućili pozitivnu IT vibru u cijelom gradu Zadru, kako su stvorili priliku za dijeljenje ideja, pitchanja startupova, predstavljanja tvrki i umrežavanja. Kroz sva predavanja bio je sporadični „kvak“ zvuk njihove maskote pa je Izabel spomenuo: „čut ćete ga kroz cijelu konferenciju, ali nikada ga nećete vidjeti“.
Slika 8. Provjera znanja Izabela Jelinića
Poruka koju Infobip šalje na svojoj konferencije je „Dear developer, welcome home!“ i zbilja smo se osjećali kao da smo doma uz sve geek sadržaje, pive, sokove i ostale poslastice.
Infobip Shift Day 1 Keynote - AI Engineering Today and Tomorrow
Tejas Kumar, Developer Relations Engineer, Generative AI iz tvrtke DataStax pokazuje kako iskoristiti AI tehnike da smanjimo troškove, maknemo halucinacije (RAG vs fine-tunning) i kako da iskoristimo AI nad osjetljivim podacima koristeći LLM-ove na lokalnim okolinama.
AI je overhyped i nije nova stvar
AI nije nova stvar jer već postoji stotinjak godina, kaže Kumar. Od statističkih modela koji su pokušavali prognozirati budućnost do igara kao što je Mortal Kombat gdje se prije 30-ak godina koristio AI, ali kao rule-based engine gdje su se pravila u igri znala unaprijed pa su se likovi na temelju pravila ponašali te danas modernih LLM-ova i ChatGPT koji daju odgovor ovisno o kontekstu pitanja koje su dobili.
Što je AI Engineer?
Tejas je poentirao da AI Engineer nije isto što i Data Scientist. AI Engineer je developer koji zna koristiti API velikih jezičnih modela te ostale postojeće AI alate kako bi dobio poslovnu korist. Kao AI Engineer, a i kao developer, ne želim razvijati dosadne chatbotove nego UI koj će vraćati tekst, sliku i zvuk te biti povezan s vanjskim svježim sadržajima. Kako bi to omogućili koristimo RAG tehniku. Ako LLM ne zna odgovor na neko pitanje radi upit na neki vanjski sadržaj kako bi osvježio svoj kontekst.
Primjer bi bila pitanja - Kakvo je vrijeme u Zadru? Trebam li ponijeti kišobran? Na takva pitanja LLM ne može dati odgovor jer njegov trening set (trenirani podaci za model) doseže do određenog datuma u povijesti (sjećate se kada ChatGPT kaže ne znam što se dogodilo nakon 2021.). Kako bi doskočili tom problemu dohvaćamo svježe podatke s izvora o vremenu kako bi osvježili LLM, a to se zove RAG tehnika odnosno Retrieval Augemented Generation.
U LLM-ove se mogu ugrađivati i pozivi na razne funkcije. Znate Javascript, koristiti LLM i kažite mu da za rješenje nekog problema morate pozvati ovu funkciju. Ako to znate, onda ste AI Engineer, kaže Tejas. Iz publike se u tom trenu javio Vjeko, 12-godišnji dječak koji je rekao da je to odlično, da samo treba naučiti koristiti Javascript i da je AI Engineer.
Kasnije smo ulovili Kumara za intervju, gdje smo nastavili temu o budućnosti AI-a.
Slika 10. AI Engineer Izvor: https://www.latent.space/p/ai-engineer
LLM-ovi će uzeti „back seat“
LLM-ovi su veliki i skupi. Traže puno podataka da ih se trenira i ti podaci brzo zastare. Pitanje je i kakve su kvalitete podaci koji dolaze, ako se trenira na lošim podacima, dobit ćemo loše podatke i kao izlaz – „garbage data“. Tejas je dao primjer gdje je jedan veliki jezični model na pitanje „Koliko cigareta trudnice trebaju pušiti?“ dao odgovor nekoliko cigareta što nikako nije točan niti istinit podatak. Što se dogodilo? LLM je naučio na stranicama gdje su se pričali vicevi i tako ustanovio da je to ispravna informacija.
LLM-ovima je teško upravljati, potrebno je puno procedura i pravila te puno resursa (prostora za pohranu, procesorske moći) kako bi se modeli trenirali što dovodi do visokih troškova. Tu u igru dolaze SML-ovi.
SLM-ovi kao pomoć
SLM ili Small Language Modeli su mali modeli koje možemo postaviti na mobitele, laptope i ostale krajnje uređaje te na taj način smanjili potrošnju resursa, a i podatke ostaviti na krajnjim uređajima. Problem je kada SLM ne zna odgovor, a ovdje u pomoć dolaze RAG-ovi koji uvijek mogu poslati upit na LLM-ove i dobiti pomoć u tom obliku opet s nižim troškovima. Čak i ChatGPT koristi RAG tehniku kako bi dovukao nove informacije. Ako želite znati više o toj temi posjetite ollama (https://ollama.com/) projekt koji omogućava korištenje AI-a na krajnjem uređaju.
Langflow
Prezentirao je Langflow, proizvod koji omogućava korištenje AI-a bez znanja programiranja. Kroz korisničko sučelje je potrebno strelicama povezati razne izvore i modele koji se žele koristiti i chatbot je nakon toga spreman za korištenje.
Zaključno, svaki developer može postati AI Engineer jer svi alati su dostupni i samo ih treba početi koristiti.
Nakon odličnog keynote predavanja trčali smo na iduće i nismo se razočarali, a dolazi od jedne direktorice iz Microsofta i (opet) inženjera iz DataStaxa.
AI-Powered Development Tools: Enhancing or Replacing Human Developers?
Simi Olabisi, direktorica i AI Specialist iz Microsofta, Tejas Kumar, Engineer iz DataStaxa sudjelovali su u vrlo zanimljivom panelu uz odličnu moderatoricu Antoniju Bilć Arar (Shift.Mag) na temu AI-a i AI alata te su odgovarali na teška, zanimljiva i, u zadnje vrijeme, uvijek aktualna pitanja - „Hoće li AI zamijeniti developere?“.
Složili su se da alati i AI neće zamijeniti developere jer će uvijek biti potrebe za ljudskim nadzorom i odlukama, ali da će moći završavati kompleksnije zadatke brže i bolje. Simi je komentirala da Microsoft radi na cijelom ekosustavu alata s ciljem olakšanja i ubrzanja rada developerima i kako bi se mogli fokusirati na kompleksne i inovativne zadatke.
Na temu developera koji ne žele AI u svojem radu, odnosno kritičara AI-a i AI alata, Tejas je rekao da takvi uopće ne bi trebali pripadati developer zajednici jer poanta cijele industrije je dijeljenje znanja i demokratizacija.
Pred kraj su se osvrnuli na to jesu li AI alati uopće dobri, mogu li oni pomoću u razvoju kompleksnih sustava ili služe samo za bootstrapanje novih i malih projekata. Svi su se složili oko toga da trenutno nisu dovoljno dobri, ali i da svakim danom sve više napreduje njihov razvoj i polako rade dosadne i repetitivne zadatke s boljom točnošću i kvalitetom, a na horizontu se naziru i neki novi alati.
U idućih pet godina neće biti ništa revolucionarno novo – spomenuo je Tejas – nego će se samo raditi na poboljšanju trenutnih alata i AI modela. Imate primjer Apple Intelligencea koji će izaći u novim iPhoneovima gdje će iskoristiti SLM i RAG tehnike. Primjeri su također agentic procesori koji paraleliziraju rad više AI agenata koji će moći raditi kompleksnije stvari i raditi ih brže i kvalitetnije nego dosadašnji modeli, kaže Simi.
Na zadnje pitanje - koji AI model, framework ili alat im je najdraži - Tejas je spomenu Vercel AI SDK (o kojem možete više pročitati u njegovoj kratkoj izjavi), a Simi je spomenula multi-agentic procesore koji će moći obavljati kompleksne zadaće. Simi je također napomenula da je Microsoft uz OpenAI 12.9.2024. izbacio dva nova modela O1 mini i O1 preview za multi-agentic poslove.
Za primjer zadaća koje bi mogli obavljati je spomenula kako u SAD-u svaka država ima različite porezne zakone, a ti modeli će moći pomoći kod takvih zadaća gdje će analizirati različite zakone i potrebe te olakšati poreznu usklađenost organizacija i ljudi.
Kao što ste vidjeli, bilo je odlično uz puno svježih informacija iz najjače kompanije u svijetu što se tiče AI-a i jedne odlične kompanije koja daje alat za AI na principu ključ u ruke.
Slika 11. Tejas i Simi raspravljaju o AI alatima i našoj budućnosti
Imali smo malo vremena prije iduće ciljane radionice pa smo išli pogledati što je novo u svijetu privatnosti, a i zanimalo nas je što rade pravnici na IT konferenciji.
GDPR: the Hitchhikers Guide for Startups and Founders
Ukazali su na to da GDPR nije zakon ili regulativa nego je to temeljno ljudsko pravo. Korisnici žele transparentnost i prava nad svojim podacima. Trend na svjetskoj razini je da se pooštravaju zakoni za privatnost. Države žele da su podaci stanovnika unutar zemlje, a korisnik želi koristiti multinacionalnu aplikaciju i tu dolazi do problema za pružatelje usluga. Jedan od boljih svjetskih primjera je Apple koji je zasnovao svoj poslovni model na sigurnom korištenju podataka korisnika – naveli su Kristina Mandić iz Infobipa i Nikola Kasagić iz Bookinga.
Dalje su nas upoznali s osnovama privatnosti. Kažu da GDPR ne definira stroge i definitivne zakone nego se vodi principima koje organizacija treba dokazati na zahtjev, te pojasniti kako ih je implementirala.
Principi su idući:
- CIA (tajnost, integritet)
- Dana minimisation
- Purpose limitation
- Storage limitation
- Data accuracy
- Accountability
Katarina nas je počastila definicijama i primjerima kako implementirati principe.
- Pravna podloga, transparentnost – zašto trebaš podatke, moraš biti vrlo jasan
- Purpose limitation – npr. koristiti ih samo za svrhu na koju si pristao, ako smo dali podatke za registraciju na event, ne smiješ ih koristiti za druge svrhe npr. treniranje AI modela
- Data minimisation – ako se registriram za event trebaš samo ime i kontakt, ne datum rođenja, spol itd., kažu „more money more problems, more data more responsibility“
- Storage limitation - koliko dugo spremati po zakonu, a ako nema ograničenja treba biti proaktivan i praktičan i ne koristiti dulje nego je poslovno opravdano
- Data accuracy – ažurni podaci,
- CIA - dostupnost, tajnost, integritet su temeljni sigurnosni zahtjevi i moraju se podesiti da ih sustav osigurava. Kada podatke ne trebamo moramo ih obrisati na siguran način. Jedna hrvatska banka je obrisala arhive tako da je unajmila podizvođača koji to samo bacio u smeće.
AI: Privacy Universe and beyond
Što paziti kod AI-a? Kada koristimo alate treće strane, gdje ti podaci idu? Imaju li organizacije koje pružaju takve alate implementiranu politiku privatnosti? Što ako trebamo obrisati podatke iz nekog treniranog ML modela? Kod US-a je jednostavno, ako ne možeš izvući moraš obrisati sve, pojašnjava Nikola.
Podarili su nam savjete oko privatnosti kod izgradnje vlastiog AI-a:
- Privatnost od prvog dana – neka bude dio svakog koraka
- Samo koristite podatke koje uistinu i trebate za treniranje AI-a (spomenuli smo ranije, ali evo opet da bolje zapamtite ako se pronađete na US tržištu - budite transparentni kod korištenja podataka za treniranje jer mogu tražiti brisanje cijelog modela)
- Kriptiranje osjetljivih podataka, „in rest and transit“
- AI decision making – kada se model koristi da se donose odluka u ime korisnika, a te odluke imaju pravne i financijske posljedice. Mora imati input od čovjeka za konačnu odluku. Npr. alati za zapošljavanje - mora provjeriti stvarna osoba
Marketing & Privacy: Don't be a Data Villain Be a good markeeter!
Supermoći dobrog marketingaša su:
- supermoći vezane uz zaštitu podataka (transparentnost, privola, legitimni interes)
- nemojte biti jezivi (nemojte pratiti ljude bez njihova pristanka i znanja
- nemojte biti babaroga privatnosti i raditi scrape podataka pa pitati ljude da se jave vama ako ne žele da se njihovi podaci prodaju
Slika 12. Moram priznati da su se potrudili oko prezentacija s obzirom na popularnost teme
Roomba case study – vacuum cleaner (2022)
Kada vaš usisavač zna više o vama nego vaši susjedi, a korisnik je čak dao privolu! Mislim da su riječi suvišne, samo pogledajte sliku!
Slika 13. Kada se uređaji urote protiv vlasnika
Jesmo li rekli da će biti zanimljivo? Toliko smo se udubili da smo skoro zakasnili na iduću radionicu.
Hands-on Workshop: Build-your-own-Gen AI App in Minutes
Ako niste znali, DataStax je organizacija koja je broj jedan podupiratelj open-source NoSQL baze podataka Apache Cassandra i za nju pruža profesionalnu podršku. Radionicu su vodili stručnjaci iz organizacije, a prvo su nam objasnili neke temeljne pojmove kao što su vektori (numerički predstavnici podataka), embeddings (bio koji tip podataka), vector search (pretraga sličnih tipova podataka). Sada kada smo to naučili prezentirali su nam ograničenja LLM-ova, a ona su:
- Podaci mogu biti zastarjeli (sjećate se ChatGPT-a kada nije mogao pronaći ništa prije 2021. godine jer je do te godine treniran?),
- Ne zna za vaše osobne podatke i ne može dati sud na temelju njih
- Nisu kalibrirani što znači da je s njima teško upravljati
- Haluciniraju ako ne postavite pitanje kako treba
- Radi s limitiranim nizom podataka (tokenima)
Eto, sada kada su nas naučili ograničenja LLM-ova rekli su da nam zato trebaju RAG-ovi (Retrieval Augumented Generation). RAG-ovi su mali upiti prema web stranicama, nekim trećim API-ima kako bi dobili kontekst i svježe informacije te na taj način zaobišli ograničenje LLM-ova. Sada su nas pitali jesmo li shvatili koliko su bitne vektorske baze podataka i brzina pretraživanja, a mi smo rekli da jesmo pa su nam prezentirali svoju bazu podataka DataStax AstraDB i tvrdili da je od 8 do 23 puta brža od bilo koje druge vektorske baze podataka s puno dodatnih funkcionalnosti koje sada nećemo navoditi. Ako želite saznati više posjetite njihove stranice (https://www.datastax.com/products/datastax-astra) i javite im se, biti će im jako drago.
Kako smo žurili dalje nismo ostali na hands-on dijelu, ali smo dosta saznali o problematici pa smo krenuli na iduće predavanje od poznate direktorice iz Microsofta.
Slika 14. Što je RAG?
Slika 15. Kako izgleda proces izrade aplikacije s RAG funkcionalnosti
Inside the AI Revolution: How Microsoft is Empowering the World to Achieve More
Simi Olabisi smo već upoznali na panelu s Tajasom Kumarom iz DataStaxa. Naime, Simi je direktorica globalne Black Belt Microsoft organizacije zadužene za Azure AI.
Objasnila nam je da je AI snažna silnica koja je u Microsoftu temeljena na četiri stupa – inovacije, diferencijacije, pouzdanost te agilnost i operacije.
Kod inovacije je spomenula da Azure AI putem Azure AI Studia nudi mnoštvo najboljih GenAI modela, a koje krajnji korisnici mogu odabrati ovisno o poslovnoj potrebi. Ponosni su na nova postignuća u novim multimodalnim modelima, SLM-ovima i multi-agent sustavima, a modele nude kao Model-as-a-Service konceptom.
Kako bi se diferencirali, nude razne načine na koje možemo doći do podataka jer, kako je Simi rekla, „We are what we eat“. Odnosno modeli su toliko dobri koliko su dobri podaci na temelju koji su oni trenirani. Nude dohvat i obradu različitih formata podataka te svježih podataka, a omogućuju razne tehnike nad podacima kao što je prompting, fine-tuning i RAG. Naravno, to sve radi s najvišom razinom pouzdanosti jer se sve izvodi u njihovom cloudu.
Zadnji stup - agilnost i operacije - se svodi na to da omogućuju suradnju između timova, sigurnost i privatnost u moru kompleksnosti koje takvo okruženje nudi kroz LLM operacije. Jer jedino kako AI projekt može biti uspješan i dovesti do inovacija je da developeri, IT support, podatkovni znanstvenici i biznis dio radi zajedno – tvrdi Simi. Simi još kaže „kada developeri uđu u flow, izlaziš na tržište brže, lakše te se glatko skaliraš“.
Podijelila je s nama malo novosti, a to je WhatsApp projekt za pozivne centre koji će imati pomoć AI u odgovorima, analizi poruka i simultanom prevođenju.
Iako je bilo odlično i informativno, više je nalikovalo na prodajnu prezentaciju nego na inspirativno dev predavanje. Zato smo je kasnije uhvatili da nam kaže nešto detaljnije.
Iduće dvije teme su nam bile izuzetno zanimljive, a nedostatak je bio što su počele u isto vrijeme. Jedno je bila radionica, a drugo izlaganje. Budući da je security tema bila kraća krenuli smo na nju i nismo pogriješili.
Slika 16. Kažu iz Microsofta da se brinu oko developera i njihovog toolinga
The Hidden Threat: Unmasking Malware in Machine Learning Models
Lucija Valentić iz Reversing Labsa nas je učinila opreznijima kao svaki pravi security stručnjak. Kako se AI i ML modeli sve više populariziraju i upotrebljavaju, postali su zanimljivi različitim hakerima. Lucija nam je ispričala koji su najčešći.
Puno ljudi se bavi treniranjem modela pa se stoga stvorilo mnogo raznih modela, a puno njih se može pronaći na javnom repozitoriju hugging face (https://huggingface.co/). No jesu li ti svi modeli sigurni?
Zašto ljudi rade ML modele? Kako bi riješili neke poslovne modele. Nakon što ih naprave negdje ih spreme kako bi ih mogli ponovo iskoristiti jer treniranje modela troši vrijeme i računarsku moć. Zato se spreme i uploadaju na repozitorij kako bi mogli biti podijeljeni i ponovo iskorišteni.
Proces spremanja se zove serijalizacija, a proces čitanja i raspakiravanja se zove deserijalizacija. Postoje i razni okviri koji koriste te modele kao što su PyTorch, Tensorflow, scikit-learn. Za treniranje ML modela najčešće se koristi Python programski jezik i njegov pickle modul za serijalizaciju (pakiranje podataka na datotečni sustav) i deserijalizaciju (raspakiravanje podataka s datotečnog sustav) odnosno pickling (serijalizacija) i unpickling (deserijalizacija). Slobodno pročitajte ponovo zadnju rečenicu, neka sjedne.
Opasnost se krije u pickle modulu jer se može overajdati (modificirati) funkcionalnost kako bi bolje odgovaralo nekom slučaju korištenja što je sasvim u redu dok se radi o vlastitom kodu. Što kada preuzmete tuđi kod, npr. S hugging facea? Znate li da je to goodware ili malware?
U procesu unpicklanja maliciozni akteri unesu neki svoj zloćudni kod koji može pokrenuti zloćudni program i time ispustiti npr. ransomware na vaše računalo.
Kako se osigurati od toga? Postoji fickling metoda, razni pickle alati i pickle skenovi. Na hugging face repozitoriju se prolazi kroz sigurnosne skenove, ali on će samo podcrtati kritične import module, neće ih maknuti. Čovjek nakon toga mora pogledati je li sve u redu.
Treba li izbjegavati pickle? Ne, ali treba biti oprezan. Izbjegavajte učitavanje modula iz neprovjerenih izvora. Izbjegavajte unpicklanje iz neprovjerenih izvora. Možete koristiti i alternativne frameworke i formate za serijalizaciju i deseralizaciju (ONNX, JSON, PROTOBUF) umjesto pickla. Naravno i tu treba paziti. Ako baš želite koristiti pickle, zabranite globalne varijable i koristite crypten unpickler.
Poruka: kao i kod svih security stručnjaka, provjeravajte sve i budite oprezni (paranoični).
Lucija je bila zanimljiva i koncizna te je završila ranije pa smo otrčali na Observability radionicu. Stigli smo na zadnjih 35 minuta i vidjeli da je radionica krenula u smjeru rasprave o iskustvu i use-caseveima i paralelno su se rješavali zadaci koji su jako intuitivni i kvalitetno napravljeni tako da ih svatko može riješiti i što je najvažnije, da su dostupni svima! Link ćemo podijeliti malo niže.
Slika 17. Kako nas ML modeli mogu napasti!
Platform Engineers Arise! Adding Observability to Your Platform Toolbox
Kako je bilo zadnje predavanje tj. radionica u danu, popričali smo s gospodinom Scabellom i dobili par zanimljivih izjava. Gospodin Schabell nam je podijelio linkove na besplatne radionice s observabilityjem: https://o11y-workshops.gitlab.io/. Radionica se na kraju svela na ratne priče SRE inženjera i svaki od sudionika je iznio svoju patnju i kako su se maknuli od toga.
Day 2
Drugi dan smo birali između keynota i radionice jer su startali u isto vrijeme pa je kockica pala na radionicu na što smo odahnuli jer nismo htjeli slušati (još jednom) zašto će nam AI uzeti posao, to ćemo pogledati online kasnije.
Practical AI: Igniting Innovation with Google Cloud
Gospodinu iz Googlea se malo žurilo na let u Hamburg pa je sve sveo na najosnovnije točke. Lijepo se ponaosob sa svima pozdravio i ostavio kontakt da ga možemo pitati što želimo i što nije stigao obraditi na radionici. Možda smo ipak trebali na keynote? S druge strane, bar smo dobili kontakt iz Googlea, a to se ne događa baš svaki dan.
Slika 18. Iako kratko, naučio nas je kako koristiti Google Console za AI
Kako je iduće ciljano predavanje bilo Progressive delivery, šetali smo okolo i na Outdoor stageu uhvatili 1-na-1 Josipa Stuhlija i Ivana Brezaka Brkana pa uz finu kavicu lijepo pogledali njihov talk koji donosimo u nastavku. Pročitajte, daje uvid u SofaScore i tržište rada.
Engineers Talks
Josip Stuhli objašnjava kakva je situacija na tržištu i u SofaScoreu. U zadnje vrijeme ljudi na intervjuima govore kako žele stabilnu tvrtku za rad, odnosno sve više ljudi traži sigurnost u poslu, ali to opet ne znači da ih ne treba adekvatno kompenzirati plaćom jer na kraju dana iako volimo svoj posao, svi radimo za plaću.
Komentira da dosta kompanija ima hiring freeze te da nema puno prilika za rad, a s druge strane CTO-ovi i leadovi se moraju snaći s ljudima koje trenutno imaju u kompaniji - bili oni dobri ili ne. Svakako je manje job hoppanja.
Što se tiče zapošljavanja prijašnjih godina, Sofascore je imao sreće jer su uspjeli zaposliti kvalitetne ljude, a ove godine su imali i dosta prijava za posao backend inženjera dok prethodnih nisu imali niti jednu i to na aktivni oglas za posao. “Jedino kako smo mogli pronaći ljude su preko preporuka i headhuntinga".
"Employer branding radimo jer stalno moramo biti prisutni na tržištu i osvještavati ljude da postojimo", govori Josip i nastavlja da je imao primjer jedne prijave gdje je inženjer vidio njegov talk na debugu prije par godina koji mu se svidio i kada je tražio posao javio se njima. Ulaganje u employer branding je teško i sporo, ali se isplati, a tek nakon nekoliko godina su imali prve rezultate.
Slika 19. Josip Stuhli i Ivan Brezak Brkan o tržištu i developerima
"U SofaScore je bitno da svi imaju work life balance i pravi omjer WFH ili WFO te je komentirao kako ne zaposliti as***lea. Bitno je da su svi otvoreni i posao transparentan. Ako nismo zadovoljni performansom nekoga, tražit ćemo neki drugi zadatak, jasne i transparentne ciljeve koje ćemo pratiti. Nekada to uspije, nekada ne, a ako ne uspije uvijek dajemo nekoliko mjeseci plaćenog kako bi si čovjek mogao pronaći drugi posao. Izuzetno je bitan pravovremeni feedback i dati ljudima do znanja kako doprinose krajnjem cilju firme".
"Ako u kompaniji napravite natjecateljsku klimu, stvorit ćete toksičnu kulturu. Mi želimo da svatko kao ljudsko biće bude sretan i zadovoljan". Također komentira da mora postojati i pozitivan pritisak kod posla jer će visoki performeri sami otići ukoliko ga nema.
Kako bi sve te rokove pratili postoje technology owneri koji upravljaju cross-functional timovima i njihov zadatak je izazivati sve procjene koje ljudi iz tima daju, ali ne s ciljem da se smanje procjene nego da se propita, svaka perspektiva ili razloga što na kraju može rezultirati novim saznanjima.
Tako to bude na konferencijama, nešto što mislite da je odlično po opisu i naslovu ispadne lošije, a nešto na što slučajno naletite bude odlično. Imali smo sreće da je iduće ciljano predavanje bilo odlično. Imamo i mi malo sreće.
Progressive delivery
Što je progressive delivery objasnio nam je Carlos Sanchez iz Adobea. Počeo je s time zašto bi itko ikada htio izbaciti sve funkcionalnosti na sve korisnike odjednom pa nas potom pitao sjećamo li se Crowdstrikea.
Poanta progressive deliveryja je da isporučujemo funkcionalnosti postupno i pojedinačno jer iako imate dobru testnu okolinu nikada neće biti ista kao produkcijska i koliko god testirali imat ćete bugove u produkciji.
Objašnjava nam različite tehnike isporuke koje će nam omogućiti izbjegavanje zastoja sustava, ograničiti kako on to kaže „blast radious“ tj. samo će neki manji broj korisnika osjetiti da nešto ne radi i dobit će se brža isporuka od ideje do produkcije.
Kako to napraviti, postoji nekoliko tehnika, a to su:
- Rolling updates – zamjena funkcionalnosti instantno bez ikakvog zastoja,
- Canary deployment – želimo samo na dio korisnika isporučiti nove funkcionalnosti, npr. internim korisnicima ili kanarincima,
- Blue-Green deployment – gdje imamo usmjerivač prometa koji dio prometa usmjeri na novu verziju i odmah preusmjeri promet na prethodnu ako se pokaže loša
- Dark launching s feature flagovima – isporuka u produkciju potajno, a onda s „gumbićima" stiskanje da se neka funkcionalnost pojavi ili ne
Svima nama prenosi poruku „Ako niste nešto automatizmom potrgali niste automatizirali dovoljno“.
Kako je gospodin Sanchez veliki pobornik open-source tehnologije pokazao nam je kako radi Argo Rollouts gdje možemo preusmjeriti promet na mali dio funkcionalnosti i vidjeti radi li ona dobro, ako ne gasimo je i nema štete.
Ako nas zanima više, zove nas da posjetimo csancshez.org.
Slika 20. Glavna nova stvar za Contionous Delivery Argo Rollouts
Ovo je bilo odlično predavanje za DevOps inženjere i developere koje vole automatizirati stvari. Hodali smo prema idućem predavanju kada nam je za oko zapeo Kevin koji nam je ispričao malo o AI džungli. Nije nam se dalo dugo hodati, a zvučalo je zanimljivo pa smo sjeli. Na kraju, predavanje je zapravo bilo odlično i uspio nam je dočarati u kolikoj se džungli zapravo nalazimo.
AI Jungle
Kevin Dubois nas vodi kroz AI džunglu gdje postoji mnogo rješenja i dovodi do paralize developera kada se treba nešto odabrati. Primjer je hugging face gdje postoji tisuće i tisuće modela za iskoristiti.
Spomenuo je Instruct Lab projekt koji može dodati vještine i znanje u model te ga trenirati.
Kako buildati, rafinirati i operacionalizirati ML model?
Kaže da je AI timska inicijativa, mora sudjelovati nekoliko osoba iz različitih uloga da bi se došlo do rješenja, od business leadera, data scientista do app developera i DevOpsa. AI ima dosta ovisnosti iz različitih cjelina. Kako bi sve to spojili zajedno dolazi kubernetes, Open Data Hub sadrži različite AI alate koje možemo postaviti na kubernetes.
Kevin je malo prodavao i vlastiti Red Hat platformu za AI koji omogućuje glatki MLOps (machine learning operations) ili kako automatizirati odabir, izgradnju i isporuku ML modela u što kraćem vremenu. To postižu idućim
- Kubeflow pipelines za automatizaciju treniranja modela
- Kserve modelmesh
- Backstage – developer portal
Što je model za developere? Na kraju dana je to API koji mogu pozvati i koristiti u svojim aplikacijama.
Jako zanimljivo nam je bilo čuti da open-source Podman Desktop ima dio dashboarda koji se može koristiti za AI. Omogućava download modela te nudi REST API i primjere koda za pozvati iz aplikacije. Odličan je za lokalni razvoj i super se koristi s Instruct Labom pa onda se model može trenirati i koristiti lokalno.
Slika 21. Ove čvrkčice na ekranu lijevo i desno od Infobip Shift logotipa su sve što postoji na AI horizontu, jednom riječju džungla
Slika 22. Ako se registrirate na Red Hat developer portal čekaju vas besplatne knjige
Zadnji panel koji smo odslušali drugog dana je bio pravi pogodak i tražila se „karta više“. Prava poslastica za poslušati za sve koji su ili planiraju biti u startup svijetu Hrvatske. Nemate prilike te ljude često čuti za istim panelom.
How To Launch A Tech Company in Croatia
Vrlo zanimljivo je bilo na panelu kako pokrenuti tehnološku kompaniju u Hrvatskoj gdje su sudjelovali CEO i suosnivač Daytone Ivan Burazin, CEO Productivea Tomislav Car te CEO i osnivač Rentlia Marka Misulica uz odlično moderiranje Ivana Brezaka Brkana koji je postavljao vruća pitanja. Razgovaralo se o mikromenadžiranju, o zapošljavanju stručnjaka iz velikih kompanija do studenata, koliko treba raditi da bi startup bio uspješan i kako podijeliti viziju i odgovornost u startupu, svađanju i greškama koje su počinili u svojim startupovima te founder vs manager modu.
Mikromenadžiranje ima dobre i loše strane, u ranim fazama je potrebno jer često sam osnivač ima viziju što sve treba napraviti i vidi sve pain pointove. Loša strana je što mikromenadžiranje nije skalabilno. „Ne želim biti na sastancima gdje 20+ ljudi odlučuje hoćemo li kupiti biljku ili ne, želim se baviti poslom“ istaknuo je Car.
Iduća tema je bila founder vs manager mod (više na (https://paulgraham.com/foundermode.html). Kada i treba li uvesti profesionalce da skaliraju organizaciju. Dobra praksa je da treba zaposliti menadžere kako bi organizacija rasla, a često ljudi koji dolaze iz BigTecha (Amazon, Meta, Google…) ne znaju kako pomoći startupu jer nikada nisu bili u takvom okruženju i nisu rasli s tvrtkom. Osnivač zna kako organizacija radi bolje od ikoga izvana ali opet u nekom trenu treba zaposliti nekoga tko će pomoći u skaliranju i pitanje je tajminga kada ga zaposliti.
„Kada zaposlite top stručnjaka to je zelena zastavica investitorima i žele ulagati, a trebala bi biti obrnuto, crvena zastavica“ kaže Burazin.
Ako želite raditi sa suosnivačima trebate imati njihovu viziju i svađati se s njima. Najgore je kada je osnivač uvijek u pravu, nemojte ga se bojati jer je šef, argumentirano mišljenje je važno.
Svi su se složili da je bitno uvesti prodaju odmah i rano jer će se tako rano dobiti odgovor od tržišta kakav je vaš proizvod i da je su produktni menadžeri vrlo traženi, a malo ih je na našem tržištu.
Za kraj su se prisjetili najvećih grešaka koje su radili. Burazin je inicijalno zapošljavao studente kako bi snizio troškove i čim je mogao zaposlio je stručnjaka, a tu mu je bila greška jer je stručnjak ograničen okolinama iz kojih je došao. Car kao grešku navodi da nije bio dovoljno ambiciozan u određenim trenucima. Misulec kaže da je najveća lekcija njemu je da će sve trajati puno dulje nego što je zamislio i poručio svima da imaju strpljenja.
„Često precijenimo što možemo napraviti u godini i podcijenimo što možemo napraviti u deset godina“ kaže Car.
Slika 23. Ovdje se tražila „karta viška“
NOKIA ELMO Experience
Jedinstvena prilika na Infobip Shift konferenciji je bio simulator vožnje. Iz Zadra udaljenom kontrolom vozite auto u Finskoj koristeći najnoviju Network-as-a-Service paradigmu.
Već je u produkciji u Estoniji, Litvi, Berlinu i još nekim europskim gradovima. Neko od načina korištenja su kod naručivanja car sharing usluge gdje operatori dovezu auto pred prag naručitelja. Imaju svrhu i u vojsci gdje onda vojnici ne trebaju biti u samim vozilima. Imaju redundantnu vezu tako kada prva ispadne odmah se prebacuju na drugu, a ako ostanu bez veze vozilo se odmah zaustavlja.
Završni dojmovi
Shift je ove godine bio odličan i vidi se da je organizacijska ekipa dosta dobro uigrana. Predavaonice su bile strateški razmještene i iako su bile blizu jedna druge, sasvim su se jasno predavanja čula i razumjela te se nisu preklapali zvukovi s različitih stageova. Upute su bile jasne te iako je bilo jako puno posjetioca, nije bio dojam da je previše ljudi. Organizatori i volonteri su bili agilni i brzo razrješavali sve probleme. Hrane i pića nije nedostajalo, a oni koji su malo pretjerali, odmorili su se na fatboy naslonima i osvježili stalno dostupnim pićem.
Support aplikacije su bile odlične, bilo je moguće kreirati svoj raspored na mobilnoj aplikaciji Grip, vidjeti floor plan te mogućnost networkinga. Za networking je samo trebalo svajpati lijevo-desno kako biste se mogli povezati s nekim tko ima iste interese. Mailovi podsjetnika na razne događaje su dolazili u pravilnim intervalima i nisu spamali posjetitelje, a na kraju drugog dana poslan je mail zahvale s kratkim statistikama konferencije i podsjetnikom na završni after party.
Htjeli smo posjetiti sva predavanja, ali (nažalost) morali smo odabrati samo nekoliko. Tema konferencije je bila AI i kako će AI promijeniti developerski ekosustav. Bilo je dosta raznih argumenata s obje strane - hoće li se zamijeniti developeri ili neće, hoće li se developeri samo osnažiti, kako će to utjecati na juniore, hoće li oni postati bolji seniori i hoće li brže postati seniori nego prijašnji, ili samo površniji. U svakom slučaju, nitko nije imao odgovor iz rukava, a kako će biti - vrijeme će pokazati. Jedino je sigurno da će opstati oni koji će uistinu prihvatiti promjene i stalno učiti i nadograđivati svoje znanje.
Za one koji nisu mogli doći, Shift će omogućiti sva predavanja i video na svojim streaming platformama i sigurni smo da će biti dobro, ali nikada onako dobro kao što je bilo uživo. Svi predavači su bili jako prijateljski nastrojeni i uključeni u razgovor i rasprave s ostalim posjetiteljima i predavačima.
Doviđenja, Shift, i vidimo se iduće godine, bilo je odlično i stvarno smo se osjećali kao kod kuće!
Učitavam komentare ...