Data Talk #163: Viktor Šohajek (FLO)
epizoda#163 | vyšlo | délka | 727 poslechů | permalink | mp3
V nové epizodě Data Talku navazuje Jirka Vicherek na rozhovor s Petrem Mahdalem (ep. 152) a tentokrát si povídá s Viktorem Šohájkem, šéfem AI týmu ve FLO. Viktor má za sebou víc než deset let budování AI a ML platforem – od Mallu, přes Bytegarden až po Groupon.
Společně rozebírají, jak se za poslední dekádu proměnilo nasazování strojového učení, co zůstalo stejné a co se s nástupem generativní AI, cloudu a agentních platforem zásadně zrychlilo. Viktor otevřeně popisuje, kde ML projekty nejčastěji narážejí, proč už nestačí jen shánět seniory a proč mindset často znamená víc než životopis.
Druhá část rozhovoru ukazuje, jak vypadá moderní AI tým ve FLO: jak propojuje výzkum s engineeringem, jak přemýšlí o reálném dopadu a proč se zaměřuje na projekty, které řeší opravdové bottlenecky – od predikcí po vizuální inspekci a agentní automatizaci. A pokud chcete být u toho, Viktor to říká napřímo: FLO roste a hiruje.
Strojový přepis
Dobrý den, jmenuji se Jirka Vycherek a vítám vás u dalšího dílu podcastu Datatalk. Mým dnešním hostem je Viktor Šohajek, vedoucí týmu umělé inteligence ve společnosti Flow. Ahoj, Viktore.
Ahoj, Jirko.
Jmenuji se Viktor. Já jsem se celý život věnoval něčemu, co bych dnes nazval jako machine learning inženýr. Původně jsem začal studovat jadernou fyziku, protože jsem se chtěl věnovat fyzice, ale během studia jsem se přeorientoval více na matematiku. Postupně mě to více a více táhlo k oblastem souvisejícím se statistikou a vlastně s machine learningem, kterému se tehdy na jaderné fyzice ještě přímo tak neříkalo, ale jednoduše mě fascinovala práce s daty a možnost aplikovat algoritmy na reálných příkladech. To bylo to, co mě nejvíc lákalo. Obecně mě velice zajímá možnost předpovídat budoucnost, což je takový light motiv mého zájmu – snažit se redukovat nejistotu pomocí modelu, který popisuje distribuci dat. To mě baví celý život.
Takže začal jsi tedy na jaderné fyzice, přešel jsi na matematiku a nakonec jsi se stal machine learning inženýrem. Jaká byla tvoje první komerční zkušenost?
Začal jsem spíš náhodou nebo díky okolnostem. Našel jsem si brigádu ještě při škole, někdy ve čtvrtém ročníku, jako BI specialista ve firmě E-commerce Holding, což bylo pod skupinou Roklen. Dostal jsem se tam díky Hinkovi Valnerovi, který je můj kamarád z Gimplu a společně jsme studovali ještě s Viktorem Bradou na jaderce. Hinek v té době pracoval v E-commerce Holdingu, proto jsem se tam dostal i já. Začali jsme dělat BI nad relativně novým nástrojem jménem Keboola. Tento přístup k data warehousing a BI byl jiný než obvyklý, a měl jsem možnost pracovat v týmu pod vedením Vojty Ročka, což byla velmi zajímavá zkušenost. Všechno bylo hodně punkové, ale snažili jsme se už od začátku pomáhat byznysu a přinést hodnotu, tedy být nejenom BI vývojáři, ale také trochu analytiky, komunikovat s konzumenty dat a často jim vysvětlovat, že jejich požadavky jsou nesmyslné a měli by chtít něco jiného. To mě velmi bavilo. Přestože si nejsem zrovna fanouškem SQL, nevadilo mi to dělat. Postupně jsem se chtěl víc profilovat směrem k tomu, co jsem studoval na škole, tedy k matematice a statistice – to byla první oblast, kterou jsem řešil v rámci diplomové práce.
Postupně jsem se dostával k pokročilejším analytickým disciplínám. Začali jsme dělat forecasting pomocí jednoduchých modelů a později to směřovalo více k machine learningu. Například k predikci celoživotní hodnoty zákazníka a podobným věcem. Postupem času se však v E-commerce Holdingu začaly měnit věci…
Mohu tě na chvíli přerušit? Říkáš ECH, tedy E-commerce Holding, což je dnes známější pod jménem Mall Group. Je důležité říci, že E-commerce Holding byl pod skupinou Roklen, která byla spolumajitelem a řídícím subjektem. Pro kontext – E-commerce Holding tehdy zahrnoval i dnešní Vivantis, například v segmentu hodinek a podobných produktů. Co dalšího tam bylo? Jak velká byla ta skupina, ať si naši posluchači představí rozsah?
Šlo o skupinu několika e-shopů. Kromě Vivantisu tam byl například i e-shop Big Brands zabývající se dětským zbožím. Hodně e-shopů už dnes neexistuje, ale tehdy byla myšlenka vytvořit jednotnou BI platformu, což mělo ušetřit čas a námahu napříč různorodou škálou aktivit. Bylo to opravdu několik (řekněme pět) e-shopů, které každý měly relativně velký obrat, konkrétní čísla ale už v hlavě nemám. S pomocí Kebooly a GoodData jsme se snažili vytvořit unify datovou platformu a myslím, že se nám to docela dařilo. Samozřejmě jsme řešili všechny obvyklé BI problémy, které zná každý, kdo s tím někdy pracoval: kvalita dat, bugy, pády systémů. Bylo běžné, že druhý den chyběl manažerům report, a řešilo se, zda je tak rychlá oprava opravdu potřeba a jak naléhavá je ta situace. Bylo to velké a náročné úsilí.
Pak však přišla Mall Group, která byla mnohonásobně větší než E-commerce Holding, a všechny týmy, které se zabývaly E-commerce Holdingem, začaly více směřovat na Mall Group. V té době byl Mall ztrátový a existovala vize rychlé nápravy. Brzy však bylo jasné, že to bude daleko složitější, než se na první pohled zdálo, a že oprav je potřeba velmi mnoho. Začali jsme více řešit složité procesy, kde člověk komunikoval s mnohem více různými obchodníky. Zatímco E-commerce Holding byl spíš skupinou startupů, Mall byl korporátem, který jím už dávno nebyl, s mnoha zaseknutými procesy, jež bylo třeba vyčistit. Do toho jsme se zapojili.
Můžeš upřesnit, o jaký rok šlo?
Bylo to asi v roce 2016. V té době do Mallu přišel Ilias Iliavov, který převzal zodpovědnost za datovou transformaci. Začali jsme budovat řešení a rychle narazili na první střet použitých technologických stacků. V E-commerce Holdingu byl jasně Keboola a GoodData, zatímco v Mallu měli původní datový tým a vlastní interní stack postavený na Hadoopu a dalších technologiích, s nimiž byli zvyklí pracovat. Najednou tedy narazili na takovou „tsunami“ – novou technologii, která chtěla vše obrátit vzhůru nohama. Bylo jasné, že je třeba změna, ale nebylo ještě rozhodnuto, jaká přesně.
Ilias se rozhodl postavit řešení kompletně nad Keboolou a místo GoodData zvolili Tableau. Tableau mám moc rád, i když má své mezery, ale je to velmi dobrý nástroj pro analytiku. S touto kombinací Keboola a Tableau jsme začali implementovat Keboolu u pravděpodobně jednoho z největších klientů z hlediska objemu dat. Nastal velký střet kultur – lidé z Mallu byli zvyklí na jiný způsob práce a museli se adaptovat. Ne každý to přijal snadno, neříkám, že špatně, ale prostě to bylo jiné. A klíčové bylo, aby tým začal fungovat koherentně a všichni šli za jedním cílem. Než se třecí plochy a střety narovnaly, trvalo to asi rok až dva, což si málokdo uvědomoval, když se Mall akvizice realizovala. Zvlášť když mluvíme jen o datové části – v ostatních částech firmy byly samozřejmě další komplikace.
Jaká byla tvoje role a jaké úkoly jsi měl?
Od začátku jsem se profiloval směrem k advanced analytics a machine learningu. Tehdy ještě nikdo AI neříkal, v té době žádná „AI“ v moderním slova smyslu ani neexistovala. Článek „Attention Is All You Need“ vyšel až v roce 2018, takže transformery ještě nebyly běžné. My jsme řešili například time series forecasting a postupně hledali další možnosti.
Jedním z hlavních témat bylo vyhodnocování marketingových kampaní. Přinesli jsme metodu použitím časových regresních modelů, díky čemuž se ukázalo, že když provedete televizní kampaň nebo například slovní kampaň v kooperaci s deníkem, může vypadat, že si nakoupíte hodně návštěvníků, ale hodnota inkrementálního prodeje je téměř nulová. Díky tomu jsme začali přeorientovávat marketingové výdaje, což byla jedna z největších dopadových změn, které jsme dosáhli.
Dále jsme začali hledat možnosti automatizace. Poměrně brzy jsme detekovali téma dynamického pricingu. Pro menší firmy by měl být pricing zcela automatizovaný a řízený, a pro firmu velikosti Mall to bylo nezbytné. Problém byl, že pricing byl řešen ad hoc jednotlivými obchodníky. Určitě byli někteří obchodníci, kteří to dělali dobře, ale jiní nikoliv, a chyběl systematický governance. Pricing tedy byl zásadní téma, které jsme začali řešit.
Další oblastí bylo automatizované řízení marketingového rozpočtu zejména v PPC kampaních. Například na Heureka.cz se propaguje například iPhone, kde firmy soutěží v aukci o cenu za proklik (pay per click). Firmy často kladou větší bidy na produkty, které se hodně prodávají, ale přitom by se měly soustředit spíše na marži. iPhone má zpravidla nízkou marži, ale na další prodané příslušenství, třeba na sklo, která má marži větší, se vydělává více. Proto jsme modelovali pravděpodobnost výhry aukce, základní atribuci a finální marži. Ukázalo se, že náklady na Heureku lze snížit o polovinu, aniž bychom přišli o marže. To byla další výrazná oblast, kterou jsme řešili.
Jedním z mých nejoblíbenějších témat byly doporučovací systémy. Pro mnoho lidí v oblasti machine learningu jsou strašně zajímavé, protože se dostanete do situace, kdy kódujete produkty do tzv. vektorového prostoru. To je přesně směr, který později ovlivnil celý AI svět, jak ho známe dnes – tedy kódování tokenů do vektorů. V té době to ještě nebylo běžné, NLP byla okrajovou oblastí prakticky věnovanou jen několika firmám a používaly spíše n-gramy a podobné přístupy. My jsme začali stavět recommendation engine modernějším způsobem – například podle vzoru Amazonu, kde se používá buď matriční faktorizace, která převede produkty do vektorového prostoru, nebo „shallow“ neuronové sítě, jež modelují pravděpodobnost zobrazení dalšího produktu na základě zákaznických interakcí. Díky množství dat Mallu šlo něco hodnotného natrénovat, což bylo velmi zajímavé.
Jaká byla tehdy infrastruktura? Mluvíme o letech 2016, 2017, 2018?
Používali jsme kombinaci Kebooly a Databricksu, což jsou obě dobré platformy. Keboolu jsme využívali hodně kvůli BI, protože to bylo jednoduché řešení. Vše, co bylo relativně jednoduché a umožnilo to napsat přímo v rámci pipeline Kebooly, jsme řešili tam. Jakmile však bylo potřeba jít dál, sahali jsme po Databricksu, který už obsahoval integrovaný MLflow a umožňoval pokročilejší práci data scientistů. Myslím si, že Databricks je i dnes na velmi dobré úrovni a velmi komplexní platformou pro práci s daty včetně pokročilých AI technologií.
Na analytiku jsme stále používali Tableau, které považuji za velmi dobrý nástroj, i když má své mezery. Část dílčích služeb jsme provozovali také na vlastních Kubernetes serverech. Měli jsme Data Engineering Team spolu s Data Science Teamem, které vyvíjely proprietární služby.
Takže v Mall Group ses opravdu naplno věnoval roli machine learning inženýra. Co se dělo dál?
Od začátku jsem se kromě vývoje věnoval i budování týmu, takže poměrně rychle jsem se přesunul k role team leadera nebo technického manažera. Brzy jsem si uvědomil, že je potřeba tým správně strukturovat, aby byl vyvážený a nešlo vzít pouze data engineera nebo jen machine learning inženýra.
Mám pocit, že pro efektivní tým jsou tři klíčové kompetence.
První je machine learning inženýr, který rozumí matematice. Druhý je data engineer, co řeší backendové záležitosti. A třetí je analytik, který je interním „devil’s advocate“, tedy člověkem, který kriticky zpochybňuje řešení a tím je posouvá dál. Takže vždy jde o takový malý produktový tým složený z těchto tří kompetencí.
Tým jsme poté škálovali a v Mall Group jsme se dostali na zhruba 20 lidí, kteří postupně řešili další a další projekty. Mimo jiné myslím, že jsme byli jedni z prvních týmů, kteří začali používat transformery ještě před tím, než existoval ChatGPT. Měl jsem to štěstí, že jsem na článek Googlu – „Attention Is All You Need“ – narazil už někdy v letech 2019–2020, a proto jsem tuto technologii měl na radaru a sledoval její vývoj. Seznam pak vyvinul svůj první model s názvem Smolíček, který fungoval překvapivě dobře. My jsme tuto technologii využili například k detekci škodlivého obsahu v produktovém katalogu.
Nevím, jestli všichni vědí, ale Mall změnil strategii na marketplace, což přineslo spoustu výzev nejen technických, jak systém vyškálovat, ale i jak udržet kvalitu obsahu. Najednou mohl každý laik prodávat například svíčky na Mallu, takže bylo třeba řešit, zda jsou produkty správně kategorizovány, správně popsané a mají správné atributy. Může to znít samozřejmě, ale například pokud přidáte produkt do správné kategorie, ale nemá atributy jako Bluetooth u sluchátek, zákazník, který si filtruje podle Bluetooth, produkt vůbec neuvidí.
My jsme tedy řešili, jak detekovat, že produkt má špatně napsaný text, chybí mu atributy, nebo má nesmyslný obrázek.
Právě přes nějaké ty embedding modely jsme detekovali produkty, které jsou špatně zakategorizované nebo mají nevhodný obsah, a prioritizovaně jsme je zadávali konkrétním týmům, aby se jim věnovaly a upravily je. Takže to byla vlastně naše první aplikace moderních AI nástrojů, především těch NLP, které se přibližují k ChatGPT v praktickém nasazení.
To je pro mě ten první vstup – GPT-2 – a říkáš, že jsi byl u toho, sledoval jsi to zblízka. Tehdy to opravdu byl jazykový model, který se zabýval NLP, tedy zpracováním textu, což dříve musel někdo číst, řešit různými jazyky a podobně. Najednou jsi měl něco, co fungovalo hned „out of the box“. Je to tak. Navíc se to dalo použít na vektorizaci – tedy můžeš převést blok textu do vektorové podoby a porovnávat podobnost různých textů, což umožňuje třeba doporučovací systémy.
Do té doby jsme používali Word2Vec, který také sloužil k hledání podobností mezi bloky textu, ale fungoval velmi špatně, protože neměl tzv. attention layer a nebyl schopný dobře zachytit vztahy mezi dvěma sousedními slovy. To byla fakt revoluce. Pamatuji si, že jsme měli s Jinkem a Viktorem předmět na EDRC, jmenoval se – teď už si přesně nevzpomínám – něco jako „data science aplikovaný“. Tam jsme přednášeli opravdu o cutting edge technologiích, jak například transformery fungují. Šli jsme do detailů, protože mě to bavilo, četl jsem o tom články a ukazovali jsme to i studentům. V té době nikdo nevěděl, co jsou transformery, dnes to už ví úplně každý, možná někdo stále neví, co znamená GPT, ale obecné povědomí je už značné. Moje maminka před měsícem například sama použila ChatGPT, což mi ukázalo, jak to rychle pokročilo. Před pěti lety by to málokdo dokázal předpovědět. V té době jsme s těmito technologiemi začínali a bylo jasné, že budou dále vyvíjeny.
Například GPT-2 už dokázala předpovídat informace, kde kontext z první věty dokázala přenést třeba až do čtvrtého odstavce, což bylo nepředstavitelné a dnes se na to už zapomíná. Bylo to obrovské zlepšení, díky kterému bylo možné vidět, jak silná tahle technologie je. Ukázalo se, že je použitelná na few-shot learning, dnes se tomu spíš říká in-context learning, což nás přiblížilo velmi blízko současným možnostem.
Dokázal jsi si tehdy představit, že to bude víc než pouze NLP? Já pro mě byl ten přechod zajímavý – z toho, že umí generovat text, se najednou stalo, že dokáže tvořit celé aplikace. Logicky, má dostatek vstupů a naučil se z kódových databází. Zpětně mi to přijde logické, ale tehdy to bylo úžasné. ChatGPT mi přišel jako skvělý nástroj na NLP, kopírování textů a podobné věci.
Skok do univerzální technologie, která postupně nahrazuje i klasické machine learning technologie, to byl opravdu „aha“ moment. Nečekal jsem, že generativní AI bude mít takový rozsah. Myslel jsem si, že to bude jedna z trendujících kategorií, ale netušil jsem, že to pohltí jak AI, tak business intelligence a software engineering. Asi jsme v tom byli všichni podobně. Pokud tu někdo tvrdí, že na tom vydělal, myslím, že to není úplná pravda.
Sledoval jsem to od začátku a vůbec jsem netušil, že nabere takové rozsáhlé rozměry. Někdy v roce 2023 jsem byl trochu v šoku – připadalo mi, že se něco děje nekontrolovatelného. Když začali někteří lidé hovořit o zpomalování vývoje, měl jsem obavu, zda to není „grand filter“ moment civilizačního kolapsu. Jsem rád, že se to neuskutečnilo. Letos mám pocit klidu, protože vývoj se nějak zpomalil a začínáme hledat, kde aplikace selhávají a kde ne.
Ukazuje se, že jako u jiných transformačních technologií je potřeba spousta práce na „top“ úrovních. Je to jako fraktál – průlomové technologie přinášejí velké změny, nahrazují mnoho pracovních pozic, ale současně vytváří mnoho nových, protože stále existuje co zlepšovat. Abych odpověděl: nečekal jsem to, ale postupně jsem si na to zvykl.
Například už dřív mi přišlo jasné, že to nahradí i BI, ale schopnost přímo vytvářet třeba agentní systémy, to už tak jasné nebylo. Před dvěma lety, když jsme se o agentních systémech bavili s odborníky, byl to stále betaverze. Nebylo jasné, zda nebudou pro příliš nákladné a zda budou schopné zvládnout dostatečně velký kontext, aby mohly stavět celé aplikace. Dnes už to vypadá, že ano, a agentním systémům věřím hodně. Myslím si, že to je budoucnost – nebo už současnost. K tomu se ještě dostaneme.
Vrátím tě zpět do minulosti, ještě k Mall Group. Tvoje mise v Mall Group skončila odprodejem Mallu od Rockaway zpátky Allegro. Co se pak dělo?
Jen bych dodal, že ten transfer byl hodně zajímavý. Co mě trochu mrzelo, bylo, že během transformace odešlo hodně talentů. Každá taková transice je složitá, trvá dlouho a přináší nejistoty, což způsobí odchod některých lidí. Já jsem v té době zvažoval, zda zůstat v týmu. Tým se mi moc líbil a stal jsem se jeho vedoucím, což není běžné, mít možnost tým postavit od nuly. Ale pak jsem si uvědomil, že jsem tam sedm let nedal výpověď a pokud bych zůstal, mohl bych tam být dalších pět let. Proto jsem usoudil, že by bylo lepší se posunout dál.
V té době jsem dostal nabídku připojit se k Assum AI. Ta firma se mi na papíře moc líbila, i když jsem ji předtím neznal. Přijal jsem ji jako dobrou příležitost a přešel tam. Assum je skvělá firma, žil se mi tam opravdu dobře. Lidé a atmosféra byly velmi příjemné.
Měla pravou startupovou atmosféru, i když už šlo o post-startup fázi, kdy firma potřebovala škálovat a vyrovnávat se s výzvami růstu, například najímáním v Americe a následnými propouštěními, hledáním vhodných lidí. Do toho přišel trend generativní AI, kdy jsem byl v Rosumu, a transformery se začaly prakticky využívat. Každý týden jsme diskutovali, jestli technologie, na které Rosum stojí, nebude brzy zastaralá. Rosum byl v té době zaměřen spíš na Image Recognition než NLP, takže bylo nutné ho transformovat, aby využíval nové NLP-based technologie, tedy transformery. Řešilo se, jak to uskutečnit.
Myslím si, že Rosum to zvládl velmi dobře. Samozřejmě nemůžu prozradit detaily, ale našli správný způsob. Doporučuji poslechnout si epizodu s Paskim, kde popisuje tu transformaci do detailu – co museli zahodit a co zůstalo.
Jaká byla tvoje role?
Přišel jsem do Rosumu v době, kdy probíhala organizační transformace na tribes. Přišel nový koncept, který se mi líbil a má dobrý skóre, a to framework nazvaný Continuous Discovery Hubby. Ten framework se snaží dát dohromady přístup, kdy startup nebo produkt řeší, co dělat dál a jak prioritizovat.
Obvykle existuje produktový manažer, který rozhoduje, co se bude dělat, a pak vývojáři produkt tvoří. Tento framework ale dává menší, plně kompetentní týmy – pokaždé je tam malý produktový manažer, který funguje jako mini-CEO, vývojář a UX designér, team, který hodně rozumí zákazníkovi.
Jeden z klíčových principů je každý týden minimálně jeden kontakt týmu se zákazníkem. My jsme se skutečně začali pravidelně se zákazníky bavit a ukázalo se, jak velké problémy s produktem jsou. Vždy tam nějaké problémy jsou, ale často skryté. Pravidelný kontakt zákazníků odhalí jejich množství a potřebu je strukturovat.
Framework se snaží vytvořit stromovou strukturu těch problémů, kdy jsou hlavní témata a podtémata, která se hodnotí, abychom věděli, co je největší „pain point“, na kterém se dá přesouvat. Myslím, že je to výborný způsob, minimálně tím, že vystavuje inženýry přímému kontaktu se zákazníky.
Ne všichni inženýři se s nimi setkají, ale alespoň jejich zástupci, což přináší velké ovoce, protože inženýři začnou lépe chápat své zákazníky.
Já jsem byl součástí tohoto produktového tria a fungoval jako produktová čepice. Spolupracoval jsem s dalšími, jako například s Varem Hédou, na řešení některých „pain pointů“ zákazníků. Byla to skvělá spolupráce a velmi mě to bavilo.
Pokud se posuneme k dalším událostem, během mé spolupráce v Rosumu přišli za mnou Ilya Wolf a Andy Werner. Už dříve jsme mluvili o tom, že bychom spolu založili něco – buď produkt nebo firmu, něco jako kapelu.
Kapelu bez nástrojů jsme už byli, ale potřebovali jsme dodatečnou práci, která by nás motivovala chodit a pracovat pravidelně. Dlouho jsme o tom přemýšleli a nakonec jsme vymysleli butikovou agenturu, která by řešila náročné datové problémy pro velké firmy, a nazvali jsme ji ByteGarden. Kluci tam začali pracovat několik měsíců dříve, já jsem se k nim později přidal, odešel jsem z Rosumu a stal jsem se jedním ze tří zakladatelů.
Náš největší klient byl Groupon a společně s Kebulou jsme byli součástí jejich datové transformace. Byla to velká zkušenost a ByteGarden jsme provozovali dva roky.
Teď udělám trochu rychlý shrnutí. Po dvou letech jsme si udělali rekapitulaci. Ačkoliv byla práce naplňující, protože jsme dělali zajímavé věci a zákazníkům pomáhali, pomalu to začalo odčerpávat hodně energie.
A to souviselo s mou celoživotní otázkou work-life balance – před ByteGardenem jsem pracoval čtyři dny v týdnu, měl jsem jeden den na své záležitosti, technické mini-projekty, za které nikdo neplatil, ale bavily mě a vyrovnával jsem si tím intenzivní pracovní dny.
V ByteGardenu jsem přešel prakticky na šest dní v týdnu, často jsme pracovali i víkendy a večery byly standardem. Začalo se to projevovat. Řekli jsme si, že buď nakopneme další růst a budeme pokračovat ve stejném nebo ještě rychlejším tempu, nebo firmu zavřeme, aby nás to nezlomilo.
Po dlouhých debatách, někdy večer v jedné nejmenované hospodě na Letné, jsme se rozhodli firmu zavřít. Musím říct, že kdybychom se rozhodli pokračovat, čekal by nás druhý vesmír, úspěch, ale za cenu velké ztráty energie.
Zvolili jsme cestu ukončení, přičemž nikomu nic nedlužíme a zachovali jsme přátelství. Jsem rád, že jsem s Andym a Ilyou stále v dobrém vztahu a firma to naše přátelství nerozbourala. Za tu zkušenost jsem nakonec vděčný.
Nyní přecházíme ke mým současným angažmá a práci – a to je FLO. Do této firmy jsem se dostal také skrze Rockaway, protože Rockaway měla otevřenou spolupráci v rámci ByteGardenu. Hned druhý den po rozhodnutí ukončit ByteGarden jsme o tom samozřejmě informovali klienty a kontaktní osoba z Rockaway, Petr Mahdal, na to dobře reagoval a nabídl mi možnost účastnit se projektu či firmy FLO.
Nabídl mi možnost postavit AI tým a zároveň jsme domluvili podmínky, které pomohly udržet work-life balance. Tak jsem do FLO nastoupil – a to bylo květen letošního roku.
Ano, je to čerstvá věc. Doporučuji poslechnout si Datatolog epizodu s Petrem Mahdalem, kde hovoří o svých zkušenostech a dění v roce 2023.
Představ nám, prosím, FLO pro posluchače, kteří nejsou obeznámeni s epizodou s Petrem Mahdalem. Před dvěma lety nebo před rokem lidé o FLO téměř nevěděli, teď se jejich značka dostává do povědomí. Co vlastně FLO je?
FLO je firma, která roste a její brand awareness se zvětšuje. Jsme takový butikový styl konzultační společnosti se sekcemi zaměřenými na customer experience, brand experience a data.
V datové oblasti právě posilujeme AI. Když jsem tam nastoupil, začal jsem stavět AI tým, dali jsme tomu rámec a chceme v této oblasti výrazně růst a získat větší podíl na trhu.
Celé FLO má kolem 150 zaměstnanců. Datový tým má přibližně 40 lidí, tým AI pak něco kolem deseti lidí s plánem příští rok počet zhruba zdvojnásobit.
To je taková zhruba strategie. Věnujeme se spíše větším klientům, náročnějším, realizujeme transformační projekty. Máme v portfoliu firmy jako Spořka, Komerčka, samozřejmě Groupon, Linet a snad si vzpomenu i na další, ale zaměřujeme se spíše na větší firmy a snažíme se jim pomáhat.
Pojďme se podívat na tvůj tým pro umělou inteligenci, na tvou AI kompetenci. Říkal jsi, že v datové sekci, v pilíři dat ve Fločku, pracuje přibližně 40 lidí, tvůj AI tým má tedy osm lidí a máte v plánu růst. Co vlastně děláte?
Začnu jinak – když jsi mluvil o složení týmu a o tom, jak by měl nějaký tým vypadat, jak vypadá váš tým? Jaké kompetence jste dali dohromady u těch osmi lidí?
Já se snažím mít, nebo obecně moje téma je automatizace a strojové učení. To je to, co mě baví a co dělám rád, takže orientuji tým tak, aby tyto projekty byly schopni doručovat. Samozřejmě součástí této práce je často i něco, co by jinak spadalo do BI, tedy data engineering musí být, ale snažím se vždy v týmu mít lidi, kteří každý rozumí tomu, co je regrese.
Nyní může jít o různé specializace. Někdo má zkušenosti s rekomendacemi (Reco), někdo zase s optimalizacemi pomocí regresních úloh, někdo se více věnuje třeba agentním systémům, ale vždy je to něco kolem AI a automatizace. Data engineering je základem a analytics jsou zase základem. Spíš se snažím nabírat do týmu lidi, kteří jsou inteligentní, a pomáhat jim překonávat jejich mezery, než jít vždy jen do pole, kde už mají mnoho zkušeností, ale nejsou v týmu koherentní.
Snažím se mít v týmu lidi, kteří jsou zapálení do práce, kteří jsou ochotní tomu věnovat nejen svůj volný čas, ale také nějakou kreativní energii, a kteří to dělají rádi. Myslím, že všichni členové týmu rádi pracují na svých projektech a baví je vymýšlet nové způsoby, jak to dělat.
Shrnu-li to, máte kompetence v oblasti strojového učení, data engineeringu a analýzy. To jsou core kompetence, které téměř každý člen týmu má. Někteří jsou spíše analytici, jiní víc modeláři nebo machine learning engineeři, a další zase spíše full-stack nebo data engineerové.
A na jakých projektech vaše lidi a ty rád pracujete?
Jeden z větších projektů, o kterém bychom se mohli povídat podrobněji, je dynamické cenotvorba (dynamic pricing) u Grouponu, kterou děláme téměř rok, téměř 3/4 roku je za námi a už se blížíme ke konci roku 25.
Dynamické ceny na Grouponu jsou velmi zajímavé, zvláště proto, jak složitou firmou Groupon je. Pro ty, kdo tuto firmu neznají, Groupon je firma působící zde na PLFR kapitolu, která prochází již několik let velkou transformací. Myslím, že se jí poměrně daří, jde do toho spousta energie.
Lidé často přirovnávají Groupon ke Slevomatu, ale ve skutečnosti je Slevomat „copycat“ Grouponu. Groupon byl totiž první firmou, která prorazila s tímto modelem, kde přeprodává převážně zážitkové produkty, ale občas i jiné produkty, tedy vouchery na různé eventy s nějakou přidanou slevou.
Příklad: přijdu na Groupon, bydlím třeba v Praze, ale Groupon v Čechách nemá, tak budu třeba někde v Houstonu a chci s přítelkyní jít na hezký večer. Mohu se podívat na večeři, masáž, kino a najdu tam lepší nabídků, než kdybych za nimi hledal samostatně na internetu nebo Google vyhledáváním.
A to je vlastně to, co dělá Groupon. Pricing na Grouponu znamená, jak velká by měla být ta přidaná sleva. Není to vůbec jednoduché, protože Groupon často nabízí, resp. nazývá to produkty, ale na těchto „dealech“ nabízí několik variant.
Například masáž je možné mít jako „jeden plus jeden“ nebo jeden s nějakým speciálním typem masáže. A pak tam je kupon, který se jmenuje například „super sleva navíc“, kdy zákazník dostane dalších 5 % slevy. My jsme schopni toto řídit a jelikož jde o kupon, můžeme to A/B testovat.
Fakticky jde polovině zákazníků naservírovat kupon v hodnotě 5 % a druhé polovině v hodnotě 7 % a A/B testovat, jak to funguje, což je naprosto skvělé. Každý data scientist nebo člověk ze strojového učení je nadšený, jakmile má možnost A/B testů, protože může sledovat, zda jeho vývoj pokračovat, protože má zpětnou vazbu.
Výhodou tohoto kuponu je škála uživatelů, návštěvnost a objem dat, což u menšího středně velkého e-shopu není - nemá tuto škálu ani dataset, tudíž A/B testování nelze dělat tak efektivně.
Samozřejmě, s tím přicházejí i problémy. Protože firma je velká, je na ní zaměřena pozornost různých jiných subjektů. Například jsme řešili, že nám najednou začala klesat konverzní míra, což modely odhadovaly, a přišli jsme na to, že přibyly boti, které se předtím nezaznamenávali nebo nechytili, což znamenalo 30% nárůst impresí. Když člověk není pozorný, modely jdou do "kopru", protože mají mnohem nižší reakce než před týdnem.
I to má své nevýhody, ale máš pravdu, škála je to, co umožňuje skutečný rozvoj strojového učení.
Předpokládám, že se teď dostáváme k generativní AI, protože vím, že děláte spoustu projektů, jak jsi říkal, na generativní AI. V Grouponu asi používáte klasický strojový learning, že?
Ano, že bych to dělal velmi podobně nebo stejně před třemi lety, možná na trochu jiných technologiích, ale z hlediska inteligentnosti a architektury by to bylo dost podobné. Je to v podstatě jakési „supernabití“. Najednou můžeš do jednoho projektu dostat lidi, kteří nemají vystudovaný Matfyz nebo fyziku specializovanou na machine learning, ale stačí chytrý člověk a může si vše nastudovat díky ChatGPT.
Vysvětlíš mu, ať si nastuduje, jak funguje třeba XGBoost nebo logistická regrese, a on si to díky ChatGPT dokáže rychle osvojit. Tím můžeš „supernabit“ tým chytrých lidí, kteří nemají dlouholetou zkušenost.
Samozřejmě se také zvyšuje kvalita, což vidí asi všichni – kódování se zlepšuje, při code review už nedostáváš nesmysly, protože první recenzi provede AI, takže v tomto směru se hodně věcí změnilo.
Core ale stále je založený na nějakém strojovém learningovém modelu. Generativní AI otevírá prostor i pro kreativitu.
Uvažoval jsem například, zda by nešlo vytvořit model, který by na rolové úrovni sám nastavil cenu podle promptu, ale myslím, že to je stále experiment, který má vysokou šanci neuspět, takže do toho aktivně neinvestujeme.
Máš pravdu, u projektu dynamického pricingu v této škále kuponů se v jádru mnoho nezměnilo, ale u jiných projektů, například recommendation engine, si myslím, že už generativní AI výrazněji ovlivňuje výsledky.
Například jsme řešili projekt pro Luxor, kde jsme dělali hyperpersonalizovaný emailing – najednou můžete dodat nejen doporučení produktů, ale hrát si i se šablonou e-mailu, kdy váš LM (Language Model) sám vyrábí obsah.
V tomto směru je prostor pro vylepšení opravdu velký, protože engine může fungovat jako před třemi lety – neurónová síť odhaduje podobnost, rozhoduje o řazení produktů, například XGBoost zajišťuje ranking.
Ale pak můžete dát produktu do rukou modelu, který vytvoří personalizovaný text. Například zákazníkovi, který si koupil určitou knihu, může být doporučena jiná kniha na podobné téma, například zvířata nebo kočky, se stejným ilustračním stylem.
Takový voice over a personalizovaný copywriting jsme v A/B testech ověřili – personalizované e-maily zvýšily výrazně míru "click-to-open rate", protože zákazník čte něco, co mu opravdu sedí.
V doporučovačích víme, že jedna část je vybrat produkty, druhá část je je adekvátně prezentovat. Například, jestli napíšu "Zákazníci také viděli" nebo "Ti, co si koupili, si koupili také toto", text výrazně ovlivňuje míru prokliku.
U tohoto projektu jsme zavedli ještě jeden trik, který dnes může znít triviálně, ale tehdy nebyl standardem – rozdělili jsme práci velikých jazykových modelů na dvě úlohy.
Jeden model dělal finální ranking produktů – z předvybraných 20 kandidátů doporučil top 5 produktů pro daného zákazníka podle nákupu.
Druhý model dělal copy, tedy texty a voice over.
Nejdříve jsme obě úlohy řešili jedním modelem, ale výkon nebyl tak dobrý.
Rozdělení specializovaných promptů ukázalo mnohem lepší výsledky.
To je směr, kterým se současný trh ubírá – agentní frameworky, kde máš jednoho manažerského agenta a další specializované agenty na jednotlivé úkoly, a tím, že není konflikt, provádějí lépe svou práci.
Jestliže tedy máte u Luxoru hyperpersonalizaci s dvěma LLM, každý má jinou úlohu.
Můj první dotaz – ladili jste to na úrovni promptů? Je to tedy prompt engineering?
Ano, je to prompt engineering. Čím větší je firma, tím více času máš na takové věci. Myslím, že takové úlohy budou přesně pro firmy jako Bloomreach nebo Salesforce, které v současnosti vlastní dotykový bod ke zákazníkovi.
Pro ně bude jednodušší vytvořit UI nebo komponentu pro snadné ladění promptů, možnost A/B testování a analýzy.
My jsme to dělali hodně ručně, měli jsme prompt knihovnu ve Spreadsheetu a tam jsme to zkoušeli, řešili jsme A/B testy.
Máš nějakou zkušenost nebo tipy, jak dlouhé prompty jsou dobré? Píšeš je v angličtině?
U Luxoru jsme prompty psali česky, protože cílová skupina byla česká, a fungovalo to docela dobře.
Co považuji za důležité, je od začátku počítat s tím, že bude nutné je iterovat.
Každý systém, kde se dělá prompt engineering, musí umožňovat snadné A/B testování. Když dávám prompt, měl bych mu přidat nějaké ID, všechny prompty použité v dávce doporučení nebo e-mailů by měly být logované.
Díky tomu lze později jednoduše dohledat, který prompt se použil a jaký měl výkon.
I když zní triviálně, nelze to podceňovat.
Proto systém stavím s předpokladem, že bude probíhat testování a vyhodnocování promptů.
Ideální je možnost současného odesílání čtyř promptů a jejich vyhodnocování, to je design, který bych nyní zvolil.
Pokud ale přejdeme k hyperpersonalizaci, kdy nemám jen 4 kampaně nebo varianty, ale třeba 40 tisíc variant, jak jste to řešili? Použili jste LLM za judge nebo jiný způsob testování?
Zvažovali jsme LLM jako rozhodčího, ale nakonec jsme zvolili jednodušší metodu, kterou lze vyhodnocovat SQL dotazy.
Nastavili jsme blacklist slov, ve kterém jsme kontrolovali, zda se nějaká nežádoucí slova v textech neobjevují.
Kontrolovali jsme délku textu, která musela být v určitém minimu a maximu, a další podobné parametry.
I symboly jsme kontrolovali, aby se v textech neobjevovaly například smajlíky, které by nebyly vhodné pro danou komunikaci.
Takže jsme to dělali takto.
Kdybychom měli více kapacity, určitě bychom šli cestou LLM jako soudce, což považuji za velmi dobrý nápad.
Jak velkou část vaší práce momentálně tvoří AI projekty a generativní AI?
Pokud se podívám na současné klienty a nové zakázky, zda jsem čekal, že AI nebo generativní AI transformery „snědí“ velkou část práce, jak to tedy máte rozdělené?
Je to stále spíše nová věc, zatím ještě v testovací fázi, nikoli v produkci.
Je to předpokládám to, co noví klienti nyní požadují.
A jak často se ti stává, že klienti žádají agentní systém a kdy jim stačí jen rozhodovací strom?
Požadavky na agentní systémy jsem zatím nezaznamenal, spíše my navrhujeme agentní systémy.
Je třeba říci, že jednou z dalších částí našeho byznysu v AI týmu je vlastní produkt, který nazýváme Smart Scout. Je to agentní platforma na automatizaci jakéhokoliv univerzálního procesu.
Zaměřujeme se především na automatizaci procesů, jako jsou pravidelné analýzy nebo konverzace s vašimi daty (chat with your data).
Snažíme se vytvořit systém, který bude mít výhodu v dobré předzpracování velmi různorodých datových vstupů.
Máme systém, který umí zpracovat texty i dokumenty a vytvoří z nich tzv. knowledge base.
Brzy jsme si totiž uvědomili, že ač je Retrieval-Augmented Generation (RAG) hezký nápad, má hodně svých problémů, které je potřeba řešit, protože to je něco, co trh bude potřebovat.
(Mimochodem text končí polopatičně – předpokládám, že chybí poslední část.)
Pokud bys chtěl, mohu ti dát i redakční návrhy na plynulost a stylistiku, ale zde je text přepsán do spisovné češtiny s maximálním zachováním originálního obsahu a významu.
Myslím, že máme velmi silnou vrstvu ingestion knowledge base, která umožňuje, že když chceš automatizovat nějaký analytický úkol, agent si může zavolat kontextového agenta, který mu dodá procesy platné ve firmě. Ten kontext pak doručujeme nejenom přes klasický snippetový RAK, ale také pomocí knowledge graph, a to jak na úrovni metadat, tak i přes named entity recognition. Díky tomu jsme schopní dodat potřebný kontext, který agent potřebuje pro tu konkrétní úlohu.
Pokud bych měl odpovědět, tak je to velká část naší práce, protože se na to soustředíme a snažíme se tento produkt nabízet zákazníkům a skrze ně řešíme mnoho úloh. Produkt jsme začali vyvíjet někdy loni, kdy jsme ještě pomáhali v ByteGartu s jeho vývojem, takže jsem u tohoto produktu vlastně skoro od začátku. Myslím si, že máme solidní konkurenční výhodu právě proto, že jsme začali brzy, a tak se jedná o rostoucí a velmi rostoucí část našeho byznysu v oblasti AI i našeho AI týmu.
Zbytek práce řešíme spíše tradiční machine learningové úlohy, které jsou, jak jsem zmínil, výrazně „supercharged“ díky novým technologiím. I když vezmu například ten případ hyperpersonalizovaného mailingu, stále je zhruba polovina práce klasický vývoj recommendation engine.
Nevím, jestli jsem zcela odpověděl, možná jsem trochu kličkoval. Trochu se už posouváme k AI agentům, ale já jsem chtěl získat tvůj pohled na trh. Zajímá mě to proto, že každý týden posíláme DataTalk newsletter o nejzajímavějších novinkách z oblasti datových technologií ve světě i v československé datové komunitě. A je opravdu obtížné najít tam tradiční BI nebo klasický machine learningové novinky, protože v GNI (dnes už můžu říct AI) se děje tolik novinek, tolik nových modelů, produktů a technologií, že tradiční machine learning nebo BI zůstávají více v pozadí.
Ještě před rokem jsem v každém newsletteru hledal nějakou významnou novinku z oblasti tradičního machine learningu nebo cloudových služeb, ale to jsem nakonec vzdal. Budoucnost je nerovnoměrně distribuována – máme Gartner Hype Cycle, kde o některých tématech se hodně mluví a ty tvoří hlavní náplň konferencí. Když hyperscalers začali pořádat cloudové akce, říkal jsem si „tyjo“, ale pak jsem si vzpomněl, že už před deseti lety, kolem roku 2013, byly cloudové akce, a přesto v roce 2023 stále probíhají Google Cloud Summity, kde vysvětlují, proč je dobré používat cloud. To mě vrátilo zpátky do reality.
A teď moje otázka je, jak ty vnímáš situaci, kdy AI postupně „požírá“ machine learning a další kategorie.
Zkusím odpovědět, a když to bude potřeba, klidně mě oprav. Myslím si, že hodně záleží na trhu a segmentu, na který se díváš. My například v rámci vločka řešíme jednu z větví, kterou je manufacturing (výroba). Tam je klíčový cloud, protože je tam řada problémů, například jak vůbec dostat data z on-premise edge serverů do cloudu. Například i když chceš nasadit model computer vision, jde to radši udělat přímo na on-premise serveru v továrně než posílat data do Azure nebo jiného cloudu, což je běžné ve většině digitalizovaných firem.
Bohužel, ta vlna cloudové digitalizace je v takovém odvětví zpožděná, zatímco firmy, které jsou již digitalizované, se stále potýkají s tradičními datovými a BI problémy. Typicky jde o unifikaci datových katalogů, zvlášť u firem, které vznikly sloučením a mají různá stará řešení. Příkladem je Groupon, kde je vlastně slepenina několika firem z různých zemí a vše se musí sjednotit. Takže tato práce stále existuje, akorát se více zaměřuje na data quality a data governance, což jsou stále hlavní výzvy.
Na Grouponu jsme před tím, než jsme udělali první prototyp ML modelu na pricing, strávili půl roku přípravou dat. Řekli jsme si, že chceme dataset s cenami, které jsme servírovali různým zákazníkům. Personalizace znamená, že není jedna pevná cena za produkt za den, ale může tam být třeba osm různých cen, což model nemůže jednoduše chápat. Proto jsme museli implementovat způsob, jak data sbírat a měřit – což je vlastně práce data engineeringu, která se musí udělat – a pak stavět kolem toho datové pipeline, dashboardy a podobně. Tato práce nezmizela, jen už není tolik diskutovaná.
V BI oblasti vidím snahu automatizovat analytické úkoly přes nástroje jako Gene.ai, což je podle mě správná cesta. Například nyní v Databricks funguje nástroj jménem Genie, který umožňuje chatovat s daty, která máte v Databricks. Umí psát SQL dotazy a tedy nahrazuje analytika.
Má spoustu chytrých funkcí – například datový analytik může do kontextu přidat příkladové query s informací, že pokud chce zjistit zisk za poslední měsíc, musí v podmínce vyřadit určité hodnoty, které nejsou v metadatech explicitně označené. To analytik ví, ale systém nikoliv, a tím se zvýší kvalita odpovědi.
Druhá věc je, že business user může mít hypotézu – například chce zjistit, proč poklesl prodej nebo marže v určitém segmentu, tak dostane základní odpovědi od nástroje. Pokud se mu výsledky nezdají nebo jsou zajímavé, může signalizovat, že by měl analytik hypotézu dále prověřit. To mi přijde jako cesta, kterou se to může ubírat a dává to smysl.
Věřím, že jazykové modely budou dělat „těžkou práci“ na začátku, a lidé se budou více soustředit na doladění systémů, aby nevytvářely chyby, na vkládání příkladových dotazů do kontextu a na ověřování hypotéz.
Takže v tom vidím potenciál, že právě zde budou generovány hlavní trendy.
A jak to podle tebe ovlivňuje stavbu týmu a nábor? Z mého pohledu se trochu zmenšila nebo „praskla“ bublina data science jako taková. Velké firmy, které měly rozsáhlá data science oddělení, je už nerostou tak rychle jako data engineering, protože samotné modelování se velmi posunulo – je dostupných více kvalitních out-of-the-box modelů, které lze spustit pár kliky v cloudu.
Demokratizace AI a modelů znamená, že už není potřeba tolik vyvíjet vlastní proprietární modely a recyklují se existující produkty.
Na druhou stranu vidím, že je větší potřeba lidí se software engineeringovými schopnostmi, protože moderní BI i data science se posunuly směrem k softwarovému inženýrství. Data scientist nebo analytik bez znalosti kódu, CICD, dokumentace a dalších principů bude obtížněji zaměstnatelný v průmyslu.
Jak to tedy vidíš ty, když jsi zmínil, že hledáš lidi, kteří jsou analytici, inženýři i matematici v jednom, což zní jako „jednorožec“? Vidím ale, že takových lidí přibývá, protože všech tři oblasti jsou přístupnější a méně specializované než dříve, například oproti stavu před třemi lety. Jak podle tebe budou vypadat datové role v budoucnosti?
Zajímavé je, že demokratizace funguje oběma směry – technicky i matematicky. Dříve data inženýr nevěděl téměř nic o modelech a měl jen abstraktní „černou skříňku“. Naopak lidé, kteří dělali machine learning, mnohdy neuměli psát kvalitní kód. S nástupem lepších nástrojů se to změnilo: machine learning inženýr nyní umí psát dobrý kód a používá nástroje jako code review či kurzory, které kód výrazně zlepšují.
Současně může ML inženýr často použít hotovou službu, například pro sentiment analysis, aniž by potřeboval specialistu na data science.
To vede k tomu, že je lepší najímat „chytré lidi“, kteří se dokáží rychle učit. Při hiringových pohovorech se snažím kandidáty ihned přivést k tématu, kterému nerozumí, a pozoruji, jak snadno se v něm orientují. Tohle pro mě znamená inteligenci a schopnost adaptace, což jsou klíčové vlastnosti, protože s jazykovými modely budou schopni najít dobrá řešení.
Dále nezanedbávám to, že v týmu musí být lidé, kteří jsou angažovaní. To je věc, kterou jsem hodně viděl na Grouponu, kde bylo hodně lidí z outsource týmů a bylo poznat, že chybí nasazení a motivace. Potřebujeme proto lidi, kteří chtějí pracovat na tom, co dělají, a současné nástroje jako kurzor tyto angažované lidi navíc podporují.
Také je důležité mít v týmu aspoň jednoho zkušeného datového inženýra, který dokáže navrhnout elegantní design řešení. Myslím, že jazykové modely zatím nejsou schopny takové návrhy dobře vykonávat, a proto potřeba seniorního designéra v týmu stále přetrvává. Tento člověk je schopen vytvořit systém, který nepřináší zbytečné komplikace a je efektivní.
Tyto „designéři“ jsou lidé, kteří vidí celý systém jako komplex a dokážou identifikovat a odstranit zbytečné prvky, tzv. „oheky“, které jsou často zbytečné a komplikují systém.
Používám jazykové modely i pro návrhy – když mám nějaký nápad, jdu na procházku, zapnu GPT ve voice modu a vysvětluji mu svůj koncept. Problém je, že model často jen souhlasí a chválí, takže jej musím na začátku přesvědčit, aby byl kritický a dokázal nápad „shodit“, což je pro mě důležitá kvalita.
Co se týče těch „designérů“, ano, jsou to spíše architekti systémů, kteří navrhují flowcharty, znalí jednotlivých komponent i jejich omezení.
Také je to o zkušenostech, jejich schopnost ovlivnit výsledek projektu a eliminovat zbytečnosti v kódu, které by junior developer vytvořil – například při použití kurzora na komplikovanější projekt vznikne mnoho kódu, který je sice funkční, ale obsahuje přebytečnosti, které zkušený vývojář odhalí a odstraní.
Předpokládám, že s rozvojem nástrojů podobných open source frameworkům se toto bude postupně zlepšovat, ale bude to ještě pár let trvat.
Co se týče vaší platformy, obecně už nepochybujeme o síle jazykových modelů a velkých modelů. Otázka je spíše, jakou pravděpodobnost dáváme vývoji AGI v určitém časovém horizontu, ale to je jiná debata.
Fascinuje mě rychlost růstu infrastruktury, trhu AI startupů a nových technologií. Vidím nové funkce a vznikají nové firmy, jako E2B nebo Agil.
Je tu příležitost, protože nejde jen o boj několika firem o nejlepší základní modely, ale pořád je spousta inovací týkajících se software engineeringu a dalších oblastí. BI byl považován za zlatý standard, ale u nového typu – nedeterministického modelu – je třeba budovat řešení od začátku.
A to je ta zajímavá výzva.
A o tom se bavíme, takže jak tohle vnímáš a proč si tedy stavíte vlastní agentní platformu? Jakože nevyjde snad něco lepšího od OpenAI, nebo Cursor, nebo někoho takového? Jo, může.
Bohužel teď jsme v situaci, která je velmi, jak to říct, pravděpodobnostní. Prostě se to dobře nedá předvídat. Může se stát, že jo, ale taky se může stát, že ne. Co mě trochu uklidňuje a proč to vůbec dělat je, že jsem stále neviděl od OpenAI, a to mají opravdu velké prostředky, produkt jiný než GPT, který by byl natolik dobrý, že by prostě vyřešil všechno. I když se fakt snaží – ten poslední browser něco umí, ale také není všemocný a v mnoha věcech zaostává.
Navíc vzniká teď celá řada firem, což mi přijde jako velmi dobré, protože to vytváří soutěživé prostředí, kde každý se snaží přijít s nějakým novým nápadem, jak to dělat. My máme koncept, který se více soustředí na firmy, jež potřebují zachovat soukromí dat. My totiž nevytváříme B2C produkt, naší cílovou skupinou jsou firmy, které chtějí mít governance nad svými daty - potřebují zajistit, aby data nikam neunikla, musí být schopné zkontrolovat všechny logy, určit, kdo má přístup k jakým datům a kdo se na co může ptát.
Snažíme se proto komunikovat se zákazníky a řešit jejich reálné problémy. Neděláme to tak, že bychom postavili nějakou "krabičku" a pak hledali zákazníky, ale tvoříme produkt přímo s nimi, podle jejich potřeb. Máme už běžící klienty, na jejichž základě zjišťujeme, jaká bude další nejlepší funkce, kterou je třeba implementovat. Podle toho, co vidím, nejsme někde úplně mimo nebo pozadu, spíše si myslím, že máme stále konkurenční výhodu v tom, že jsme začali brzy a že se zaměřujeme na správné strukturování vstupních dat, aby model měl přesný kontext pro svou práci. Myslím, že je to dobrá cesta, a to musím ocenit.
Rád bych tedy řekl... Ano?
No a co to v tuto chvíli vlastně je? Takže AI agentní platforma – v čem je napsaná, co to je, jak to vypadá, co řeší a kdo ji používá?
Rozhodli jsme se, že použijeme co nejvíce existujících technologií a nebudeme stavět vše úplně od nuly. Vybrali jsme AutoGen od Microsoftu, nad kterým stavíme naši platformu. Samozřejmě jsme zvažovali, jestli půjdeme do LangChainu – jsem jeho velkým fanouškem a líbí se mi komunita kolem, ale nakonec jsme zvolili AutoGen. Vše máme postaveno na Azure.
AutoGen je nástroj, který umožňuje bezpečně na ohraničeném perimetru ingestovat libovolná data, která mu dodáte. Obvykle jsou to extrahované dokumenty, které popisují třeba interní směrnice nebo cokoli, co souvisí s procesy ve firmě. Mohou to být metadata, konektory do databází, nebo můžete "nahrát" jednoduše tabulky či Excel soubory. Vidíme, že je stále mnoho firem, které pracují s Excelem, takže jim pomáháme překonat první fázi datové transformace.
Umožňujeme jim se napojit na vstupy, dodat kontext a poté definovat například agenta, který každý měsíc nebo v jeho polovině vytvoří shrnutí, jak si vede určitý segment ve firmě, zkusí najít hypotézy o tom, kde se něco pokazilo, a navrhne, co by se mělo dělat jinak. Díky jazykovým modelům je agent schopný nejen hypotézy vymyslet, ale i je ověřit s pomocí jiného agenta a vykreslit výsledky třeba jako grafy. Je to vtipné – najednou můžeš dělat Business Intelligence bez nástrojů jako Tableau, protože základy grafiky si zvládneš vykreslit přímo.
My tedy dodáváme způsob, jak automatizovat takové úkoly. Například můžete mít složku, kam vám chodí smlouvy, které podepisujete jako právnická firma, a náš systém pravidelně quntifikuje podezřelé body v těch smlouvách a flaguje je k přezkoumání. Je to takový klasický přístup, ale i tak umožňuje zapnout UI, kde se na konkrétní upozornění podíváte, vidíte dokumenty přímo a je přívětivé ovládání.
Takže ano, otázka, jestli to není nějaký headless systém nebo vnitřní „krabička“? Ne, má to uživatelské rozhraní, frontend, je to vytvořené pro business uživatele.
A jak jste definovali agenty? Může si je uživatel zvolit, nebo si je musí vytvořit sám?
Protože stavíme na AutoGenu, agenta můžeš vytvořit přes nativní AutoGen Studio, ale zatím to spoluvytváříme vždy s klientem. Zákazníci nemají vysokou zralost v této oblasti - neberu to jako kritiku, je to normální, lidé se věnují jiným oblastem. Proto zde máme profesionální služby, které to nasetupují.
V budoucnu možná dáme větší důraz na to, aby si agenty mohli definovat sami uživatelé, ale teď v tom nevidíme přidanou hodnotu. Jde to, ale pro nás je jednodušší agenta vytvořit, dát klientovi zpětnou vazbu, upravit prompt a pak to funguje, jak mají.
A kde všude budou agenti například za rok? Mám tady kladivo a celý svět jsou hřebíky, tak teď jsou tím kladivem agenti. Děláme k tomu i konferenci. To je jasné.
Co si myslíš, že bude za rok? Které úkoly budou jasně agentní a které zůstanou spíš úlohou jazykových modelů, bez nutnosti celé platformy? A kde bude potřeba ještě testovat, protože zatím je trade-offů moc?
Můj odhad je, že agenti jsou teď někde u začátku tzv. „S-curve“. Myslím, že za rok se toho moc nezmění – budeme pořád objevovat, kde agenti fungují a kde ne. Ukáže se, že bude potřeba přijít jako komunita s různými fígly, jak je udělat skutečně užitečnými.
Teď se snadno dají vytvořit například automatizace, které vyrobí PDF či jiné výstupy, ale aby to opravdu mělo hodnotu, musíš umět z těch výstupů vzít úryvek, udělat z něj hypotézu a zpracovat unikátní identifikátor, abys mohl s daným tématem dále pracovat a přenést jej do další fáze rozhodování. Aby to bylo akční, musíš to mít dobře podchycené.
To si myslím, že bude hlavní výzvou v příštích letech, třeba dva, zvláště v oblasti automatizace analýz.
Myslím, že nástroj Genie od Databricks jde správným směrem, i když je hodně úzce zaměřený jen na selekce do databáze. To je limitace toho nástroje, ale předpokládám, že budou vznikat další nástroje – a naše snaha je udělat je co nejvíc užitečnými.
Za rok to asi ještě nebude tak užitečné, jak by mohlo být, potenciál je podstatně větší. Pokud je celkový potenciál třeba 100 a špička za pět let, teď jsme asi na 20, příští rok možná na 30, a pak přijdou nějaké standardní funkce těchto řešení, které vše zpřístupní.
Hodně také přemýšlím o tom, zda to půjde cestou samostatných nástrojů, které stavíme my. Myslím, že tento přístup může být funkční, protože samotné nasazení je bezproblémové a snadné – vše běží v cloudu, stačí dodat datové zdroje, otevřít uživatelské rozhraní a můžeš začít pracovat.
Ale z druhé strany každá velká firma, která měla už dřív kontakt se zákazníky před érou velkých jazykových modelů, dělá vlastní doplňky. Teď je otázka, zda tyto doplňky zvítězí, tedy že například člověk, co používá Bloomreach, si jen aktivuje jeho mechaniku, nebo se někdo rozhodne použít například Genie od Databricksu. Nebo se možná ukáže, že firmy, které řeší konkrétní problém, třeba pro business uživatele na C-levelu, upřednostní nástroje jako SmartScout.ai, jež to vyřeší snadněji.
Nevím, kdo v tomto zápase zvítězí, ale vzhledem k tomu, že do toho investujeme, věřím, že cesta samostatných nástrojů bude dobrá a že addony vždycky omezí rozsah, což není ideální. Ale také je možné, že velké firmy to překonají.
Myslím, že bude těžké pro malé startupy, protože tradiční model startupů říká: začni s malým problémem, vyřeš ho skvěle, a pak rozšiřuj platformu. Takové jednoúčelové produkty postupně zmizí, protože jejich potřeby budou řešeny samotnou platformou či snadnou softwarovou aplikací. Pokud bude malý use case, nebude dávat smysl ho řešit samostatně.
Na druhou stranu platformy budou důležité – otázkou je, zda půjde o tradiční hráče, nebo novou generaci, jako například Snowflake, který vznikl z ničeho a dnes je velkým hráčem.
Třetí skupinu tvoří hyperscalery – cloudové služby tlačí celé ekosystémy, drží zákazníky a vytvářejí mnohem těžší konkurenci pro malé hráče. Často mluvíme o fabrice, protože Microsoft tlačí na Azure, a většina našich klientů je tam – to je pro mě zajímavé.
Jak se tedy díváš na rozhodování, co si postavit sám, co koupit jako hotový produkt a kdy si najmout experty?
Obecně si myslím, že velká firma by měla do tohoto odvětví investovat interně. A i menší firmy, které mají silnou podporu velké firmy, by měly investovat alespoň do inteligentních řešení a koupit si produkt, pokud je k dispozici a funguje. Proč ne?
Často ale právě v těchto firmách zjistíte, že to není možné. Například Groupon, pokud by chtěl koupit pricingové řešení, sázím se, že to nefunguje dobře; konfigurace by byla obtížnější než postavit řešení zcela od nuly. Musel by to být úplně nový produkt, protože tam je mnoho specialit.
Proto firmám s takovou složitostí, jako je Groupon, ale i menším firmám dává smysl stavět řešení od nuly sami.
U firem střední velikosti to musí vycházet ze strategie. Například pokud nemám AI tým nebo datový tým, je dobré najmout konzultační firmu, která má potřebné experty, začít s ní projekt a zároveň se učit. Nejenom aby řešení bylo postaveno, ale aby se i rozvíjelo. Řešení a algoritmy se nemohou postavit a pak s nimi osm let nikdo nemanipulovat – vždy se objeví nové možnosti, nové technologie, věci budou třeba migrovat, aktualizovat.
Interní kompetence je tedy klíčová, kompetence v oblasti machine learningu je jako dům, na kterém se neustále pracuje.
Mně přijde nejlepší začít s konzultační firmou, která má zkušenosti a může řešení postavit. Pak se postupně interně rozvíjet.
Pokud jde o malou firmu, většinou nemá jinou možnost než koupit si řešení. Obvykle to vychází levněji, protože jejich složitost není tak velká a sami by si to nemohli dovolit.
A kdy tedy zavolat Flock nebo přímo váš AI tým? Jaké projekty by tě lákaly?
Mě baví složité, velké projekty. Projekty, u kterých vidím, že by si je klient sám těžko vyřešil a kde je třeba kombinace automatizace, machine learningu, datového propojení různých zdrojů a obecně solidní vrstva komplexnosti.
To jsou projekty, kde může naše doménová znalost v oblasti aplikované AI opravdu pomoci.
To, co si odnáším z ByteGardnu a rád s sebou nosím dále, je to, že právě takovéto náročné projekty neumí udělat jen tak někdo. Měl jsem štěstí, že jsem jich viděl hodně a moc rád je dělám i dál ve Fločku, protože tam mám trochu jiné podmínky.
Vím, že máte autonomii, stavíte něco jako stát ve státě, s unikátní expertízou. A také nemusíte řešit všechny podnikatelské záležitosti – mezi vlastníctvím a řešením back office, daní atd. je přece jen rozdíl.
Když jsem vás poznal v ByteGardnu, fandil jsem vám díky vaší propozici, know-how a expertíze.
Trh s agentními řešeními a profesionálními službami je velký, klienti jsou rozmanití, a udržet si...
Takto, jako Edge, vybírat si zakázky a na druhou stranu dělat pro velké firmy nějaké impactové věci, rozhodně není triviální záležitost, pokud jde o hiring, marketing, sales a celý back office. No jasně, je to tak, že bychom o tom mohli tady klidně mluvit ještě půl hodiny, o tom, jaký je rozdíl mezi tím být tím „pan podnikatel“, jak jsi to nazval, a tím, co dělám teď. Pro mě se naštěstí podařilo udržet většinu věcí, které jsem na té práci opravdu měl rád, co mě nabíjí, a zároveň se mi podařilo zredukovat hodně věcí, které mě vybíjely.
Já jsem schopný dělat hodně věcí, ale dlouhodobě, když si člověk nevyjasní ten kvadrant – co ho baví, nebaví, energizuje, neumí – a pravidelně se nesnaží škrtat ty věci, které jsou vlevo dole, tak si myslím, že to dříve nebo později ovlivní i samotné delivery. Jsem rád, že teď jsem ve stavu, kdy si myslím, že moje delivery funguje, že jsem s tím spokojený. Díky přechodu do Fločka jsem odstranil hodně věcí, které jsem musel dříve dělat, tam se nešlo nějak vyhnout, ale prostě mě nenabíjely. Pro mě je to určitě hodně pozitivní skok.
Mám radost, jde to na tobě poznat. Děkuji moc, že jsi dnes s námi sdílel svoji cestu, že jsi nám ukázal, jak se podle tvých zkušeností řešily věci v různých obdobích éry AI technologií. Držím moc palce, gratuluji a věřím, že za rok se tu potkáme znovu a budeme si povídat o tom, jak se posunula vaše AI agentní platforma.
AI trh má celkem své zvyky. Díky moc, Jirko. A já si ještě dovolím zmínit dva body, které jsem chtěl dodat. První je velké poděkování lidem z týmu, pokud to slyšíte ode mě. Občas zapomínám chválit, ale strašně rád s vámi spolupracuju. Klidně bych vás tady vyjmenoval, ale nechci pak někoho opomenout, takže snad víte, o kom mluvím. Díky, že s vámi můžu pracovat. Je to inspirující a nabíjející, je to skvělé.
A druhá věc, která je úplně kolmá k tomu, je, že jsem nedávno slyšel super rozhovor s Karpátem, který zmínil NanoChat. Jestli to někdo neznáte a chtěli byste se naučit hluboko, jak vlastně fungují transformery, na kterých teď všichni jedeme, tak si myslím, že je to dobrý způsob, jak se do toho dostat.
K tomu ještě dodám, že když jsem se tě ptal, kde to za rok vidíš, tak jsi říkal v procentech, jak agenti tam ještě nejsou. Mně se nejvíc líbilo, co říkal Andrej, že to nebude rok AI agentů, ale dekáda AI agentů. To mi trochu zklidnilo moje FOMO. A jestli jste ještě nezačali, tak je pořád čas, protože budoucnost je nerovnoměrně distribuovaná. Čekají nás zajímavé časy.
Jo, díky moc, Jirko, bylo to fajn a uvidíme se někdy. Čau.