Testování AI jako pojistka před ovládnutím lidstva stroji
Za poslední rok se výrazně zvýšil počet lidí, kteří ve své práci více či méně využívají umělou inteligenci. Uvádí se, že 8 z 10 lidí, kteří pracují na kancelářských pozicích, některý z nástrojů AI ke své práci reálně používají. Každý, kdo si (spolu)práci s AI vyzkoušel, oceňuje, že díky tomu každý týden ušetří i několik hodin času potřebných k nudné administrativě či přípravě pracovních podkladů. Přínosné? Na první pohled určitě. Bez rizika? Bohužel nikoli.
Zeptat se a dostat odpověď. Rychle, strukturovaně, bez většího úsilí. Takto je umělá inteligence vnímaná a využívaná. To podstatné ale je, jakým způsobem k získaným výstupům přistupovat. Důvěřovat nebo spíše prověřovat? Rozhodně se vyplatí druhá varianta. I běžný uživatel veřejně dostupných AI totiž zjišťuje, že ne vždy se mu dostane relevantní odpovědi. Zaměřili jsme se na přesnost odpovědí AI a výsledky testu byly doslova šokující. Až 80 % odpovědí na zadané požadavky lze označit jako nepřesné, zavádějící nebo přímo nepravdivé. To ukázaly naše testy, které jsme uskutečnili na vybraných vzorcích otázek položených veřejně dostupné AI.
O čem vlastně mluvíme v souvislosti s veřejně dostupnými nástroji umělé inteligence? Je to sada algoritmů, která je vytvořena k tomu, aby byla schopná pracovat s prakticky nekonečným množstvím veřejně dostupných dat. Ať už mluvíme o Open AI, ChatGPT nebo dalších, které fungují podobně. Onu sadu algoritmů je ale možné použít pro jakékoli jiné účely. Velmi jednoduše všude tam, kde je využívaný počítač. Privátní typy umělé inteligence pracují s neveřejnými daty, například v bankovnictví či zdravotnictví. Často se oba typy kombinují, pak mluvíme o tzv. smíšených modelech umělé inteligence. V případě privátních AI algoritmů jsou vstupní data, se kterými nástroje pracují, více pod kontrolou. U smíšených AI, které do určité míry pracují i s veřejnými zdroji, se ale procento chybovosti může blížit až oněm 80 %.
Zrozená ke lhaní?
Podstatou algoritmu, jeho nejhlubší DNA, je snaha uživateli poskytnout odpověď. Vždy a za všech okolností. Neříkat „nevím“, nebo „na tuto otázku nedokážu odpovědět“. Pokud ale AI nemá dostatek aktuálních a relevantních informací, je v těchto hraničních případech odpověď zkreslená či přímo nepravdivá.
Pro hodnocení rizikovosti využívání výstupů AI doporučuji na testování jednoduchý postup. Nejdříve je třeba si vyhodnotit, jestli mi odpověď AI jednoduše dává na první pohled smysl. Pokud ano, položit si otázku, jaká může být pravděpodobnost, že jsou odpovědi správné. A nakonec se podle toho rozhodnout, jestli je tato pravděpodobnost (která se obecně může blížit až 20 % chybovosti) dostačující pro moje potřeby. Jinými slovy: je míra rizika, že použiji odpovědi s chybami akceptovatelná? Pokud skládám test z angličtiny a výsledek 80 % správných odpovědí mi stačí na složení zkoušky, pak je riziko akceptovatelné. Pokud stejného procenta dosáhnu při stanovení nosnosti provazového žebříku, pak je riziko zcela jistě neakceptovatelné.
Podobnou úvahu se vyplatí provést před každým praktickým využitím výstupu, který veřejná AI poskytne. V případě smíšených či privátních AI je ale nezbytné je podrobit testu. Míra chybovosti privátních AI je bezesporu menší než v případě veřejných, a lze ji ovlivnit již při samotném vývoji a implementaci. Vývoj modelů AI má několik fází a prověřována by měla být každá z nich. První je výběr vhodného úložiště dat, například Private Azure Cloud. Pak je zvolen model AI a rovněž data, která mají být využívána jako zdroj. Tomuto výběru je nutné věnovat náležitou pozornost, protože na kvalitě vstupních dat závisí samozřejmě i kvalita výstupů.
Pak následuje fáze učení umělé inteligence, které je doprovázeno testováním výstupů do té doby, než odpovědi AI dosáhnou požadované pravděpodobnosti. Teprve v tomto okamžiku lze AI nasadit do praxe, ale testování tím rozhodně nekončí. Je potřeba průběžně sledovat, zda se výstupy od požadované kvality neodchýlily. Veřejnou AI každodenně testují miliony uživatelů. Opravují ji a doptávají se, čímž jí učí. V privátní AI ale něco takového chybí, proto je nutné ji testovat vědomě jak v průběhu implementace, tak i při jejím používání.
AI versus testování
Umělá inteligence je nástroj - prostředí. Její testování proto neprověřuje pouze a výhradně spolehlivost výstupů. Kontrolovat je potřeba hned celou řadu parametrů, a to už v případě modelu ještě před jeho spuštěním. Jedním z parametrů je ověření přesnosti modelu AI. Pro klasifikační modely to znamená, jak často správně klasifikuje vstupy, zatímco pro regresní modely jde o to, jak přesně odhaduje hodnoty. Cílem je dosáhnout maximální možné přesnosti pro specifickou úlohu.
Další testovanou oblastí systémů umělé inteligence je hodnocení jejich robustnosti. Tedy jak dobře model zvládá neobvyklé nebo nestandardní vstupy. Robustní AI systém by měl být schopen reagovat smysluplně i na vstupy, které neodpovídají obvyklému tréninkovému vzorku a měl by se správně vyrovnávat s hlukem v datech nebo s malými změnami. Kromě robustnosti ale testovaný model musí dobře fungovat i na datech, která nebyla součástí tzv. tréninkové sady. Schopnost generalizace je klíčová pro modely, které mají pracovat s reálnými daty a situacemi, kde se vstupy mohou lišit od tréninkových dat. Schopnost generalizace je tedy nezbytně nutná u smíšených AI systémů.
Spolehlivost a konzistence jsou další faktory, které jakýkoli AI systém musí splňovat. Při testování modelu je tedy rozhodující i to, aby poskytoval na stejných nebo podobných datech konzistentní výsledku. Spolehlivost pak znamená, že odpovědi modelu budou předvídatelné a stabilní v různých testovacích i provozních podmínkách. Že jej neovlivní vlna veder nebo fakt, že je uprostřed týdne státní svátek. Kromě toho se během testování hodnotí i rychlost a efektivita zpracování vstupů. To je klíčové pro dobrou uživatelskou zkušenost a ochotu AI vůbec využívat. Pokud je AI nasazena v reálném čase, například v chatbotu nebo při zpracování obrazu, musí být odpovědi rychlé a relevantní.
Kontrola rozhodování
Zůstává však ještě jeden parametr, který by měl být před spuštěním především složitějších systémů vyhodnocen, a tím je transparentnost a vysvětlitelnost. Při vývoji nových AI modelů je potřeba zajistit, že je možné porozumět samotnému procesu rozhodování. Měli bychom být schopni zpětně vysvětlit, jakým způsobem model ke svému výsledku dospěl. Především u složitých AI systémů je nutné mít do budoucna kontrolu nad tím, jak se AI rozhoduje. K tomu se paradoxně celkem s úspěchem často využívá jiných modelů AI.
V současné době je v procesu testování AI stále pouze členem týmu, nikoli jeho lídrem. S pomocí AI můžeme na základě dřívějších zkušeností připravovat testovací plány a strategie. Umělá inteligence také může napsat části kódu, nebo testovací skripty pro automatizované systémy. Možností je celá řada. Stále ale platí, že na konci procesu je člověk. Expert, který používá výstupy AI nebo je vkládá do správných částí procesu.
V současné době (zatím) neexistuje takový model umělé inteligence, který by byl schopen obsáhnout celý cyklus vývoje softwaru a jeho testování. Průběžně navrhovat testy, brát si k nim data z běžící aplikace, kombinovat je s dokumentací a validovat zadání. Zároveň připravovat testovací scénáře a v rámci nich psát skripty, které by rovnou vkládal do nástrojů, případné chyby upravoval a nahrazoval částmi kódů, které sám připravil. To je samozřejmě vize, která zatím reálná není, vývoj k ní ale směřuje.
Čas se ale krátí. Dnes máme stále ještě možnost ověřovat a testovat, že každý jednotlivý krok AI systémů je navržený správně. Stále ještě má člověk rozhodující kontrolu. Čím více ale bude automatizace postupovat, tím méně lidí se na procesu vývoje AI bude podílet. A jak klesá počet lidí, kteří do procesu vývoje vstupují, tím více roste potřeba zejména testovat, že vývoj umělé inteligence jde správným směrem.
Pokud by totiž byli lidé z procesu vývoje softwaru a systémů vyloučeni, může se jakákoli chyba multiplikovat a stát se tak pro lidstvo skutečnou hrozbou. Čím větší procento činnosti bude prováděno umělou inteligencí, tím důležitější bude ověřování, že vše funguje správně. K této hranici se skutečně blížíme, a i když to zní jako nadsázka, je testování a dohled nad umělou inteligencí naše jediná možnost, jak se bránit proti kdysi tak populárnímu sci-fi scénáři - ovládnutí lidstva stroji.
Martin Paták Autor článku je šéfem testingu ve společnosti Qinshift. |