Ahoj všetci, toto je ďalšia epizóda mikropodcastu a v tejto epizóde porozprávam, ako som zrýchlil svoj AI postup pri generovaní textu z týchto nahrávok.
Späť do minulosti, v epizóde číslo 3 som opisoval, ako používam AI pipeliny na vygenerovanie tohto mikropodcastu vo formáte, v ktorom sa nachádza a v ktorom ho môžete počuť a vidieť. Avšak slovo pipeline nie je práve slovenské slovo, ale nenašiel som správnejší alebo vystižnejší preklad.
AI Agenti
Preto sa dnes skúsim zamerať na podobné slovo, taktiež je z angličtiny, ale v poslednej dobe ho vnímam v kontekste AI viac a viac a tým slovom je agent. Posledný popis, ktorý som v tomto kontexte počul je, že AI agent je v podstate člen týmu.
Každý vykonáva nejakú svoju úlohu, na ktorej je špeciálo vzdovaný a svoj výstup posúva ďalej. Mikropodcast má konkrétne dvoch agentov. Prvý vezme audio, ktoré nahrám. A premieni ho na text. A druhý tento text vezme, rozdelí ho na oceky a medzi oceky vhodne vloží nejaké nadpisy, aby z toho bol článok, ako som už opísal predtým.
Samozrejme je tam kopec ďalších, ktoré sú spracovávané tradičným programovaním, ale do toho celého sú zapojení títo AI agenti. A teda každý článok tohto reťazca robí niečo, v čom je najlepší.
Mňa extrémne fascinuje, ako je niečo takéto možné. Vždycky, keď sa mi niečo takéto podarí vyskladať a funguje to, tak mám z toho celkom radosť. A vo vnútri aj pocitujem, že som stále súčasťou tohto AI načenia, ktoré práve okolo nás prebieha.
Problém špecializácie
Ale vrátim sa späť k pointe tejto epizódy. Problém, ktorý som mal, je, že obidvaja títo agenti v podstate pracujú veľmi, veľmi pomaly. Došli k výsledku, ktorý som očakával, ale trvalo to niekedy aj pol hodiny.
Z hľadu na to, že epizódy v mikropodcaste majú 5 minút a spracovanie následne trvá pol hodiny, tak vnímam, že je tu kopec priestoru na zlepšenie a želal by som si, aby to bolo v podstate takmer okamžité.
Ak si predstavíme člena týmu, ktorý od svojho nadriadeného dostane nejakú lohu, tak taktiež môže tú lohu vykonávať rýchlo a pomaly. Častokrát to závisí na tom, aké nástroje má k dispozícii na to, aby danú lohu, ktorú všetko vyskúšať, aby sa všetko vykonalo.
Predstavme si napríklad člena týmu, ktorý má vystrihovať komplexný tvar z hrubého papiera. Pokiaľ takýto člen týmu dostane do ruky švajčiarský nožík s miniatúrnymi nožničkami, tak samozrejme to dokáže, ale bude to trvať dlho a je veľmi malá šanca, že dokáže vystrihovať niekoľko takýchto tvarov súčasne.
A k tomuto istému pracovníkovi však dáme do ruky lejzrovú rezačku. Za predpokladu, že ju bude vedieť ľahko používať, tak je dosť možné, že sa jeho efektivita extrémne zrychlí, jednak preto, že lejzrová rezačka bude rezať o mnoho rýchlejšie, ako on dokáže vystrihovať ručne, ale zároveň aj preto, že je veľká šanca, že dokáže vyrezať súčasne niekoľko tvarov zároveň.
Úplne rovnaká analogia sa dá preniesť aj do sveta AI agentov a takisto je možné, že natrafíme aj na agenta, ktorý má v ruke švajčarský nožík a vykonáva jednu úlohu, ktorá by sa dala vykonávať o mnoho efektívnejšie, ak by takýto agent mal analogicky v rukách nástroj, ktorý je na to o mnoho lepšie určený.
Použitie MLX
Ako príklad uvediem situáciu, kedy som použil OpenAI Whisper na transformáciu zvuku na text. Univerzálnosť tohto agenta spočíva v tom, že je možné ho spustiť na rôznych architektúrach, teda je možné ho spustiť na Windowse, na starom Macu, na novom Macu alebo možno, že aj na Android telefone.
Ale cenou za túto univerzálnosť je, že tento špecifický agent nevie plne využiť výhody daného zariadenia, na ktorom beží. Tým, že som nahradil OpenAI Whisper implementáciu, ktorá si nazýva MLX Whisper, tak sa mi podarilo skratiť túto transformáciu zvuku na text z desiatok minút na desiatky sekúnd.
Pretože MLX Whisper je špecificky navrhnutý tak, aby fungoval na moderných Macoch. Moje meno je Peter Babič, toto bol mikropodcast a teším sa na vás na budúce.