AI-t tesztelnél? Mutatunk egy módszert!

Az AI alkalmazások létrehozásában, szakértőként felhívjuk az ügyfelek figyelmét az ehhez kapcsolódó sajátosságokra. Mivel a szoftvertermékek speciálisak, a minőségbiztosításuk is az. Az AI alkalmazások teszteléséről, kihívásairól, lehetséges edge case-eiről és a legjobb gyakorlatairól olvashatsz néhány gondolatot ebben a cikkben. Képet kapsz arról is, hogyan végzik a szakemberek a fejlesztés alatt álló AI rendszerek tesztelését.

Az AI alkalmazások tesztelése speciális megközelítést igényel és a hagyományos QA módszereket célszerű AI-specifikus tesztelési technikákkal kombinálni. A tesztelés során kiemelt figyelmet kell fordítani az alapvető AI algoritmusok és logika ellenőrzésére, hogy a várt eredményeket produkálják különböző forgatókönyvekben. Ezzel párhuzamosan vizsgálni kell a felhasználói élményt és a felhasználóbarát interakciót, különösen a természetes nyelvi megértés és hibakezelés terén.

Kulcsfontosságú ellenőrizni, hogy az AI modellek zökkenőmentesen tudjanak együttműködni más szoftverekkel, adatbázisokkal és külső API-kkal. A tesztelés során meg kell vizsgálni az AI szolgáltatások API végpontjainak helyes működését. Emellett kiemelt figyelmet kell fordítani a biztonsági tesztelésre is: védeni kell az adatokat és a modell beállításait, valamint meg kell akadályozni, hogy az AI képességeivel bárki visszaélhessen.

A sikeres tesztelés kulcsa a hagyományos és AI-specifikus módszerek rugalmas alkalmazása, az adott alkalmazás egyedi jellemzőinek figyelembevételével. Az AI rendszerek teszteléséhez számos specifikus eszköz használható. Ezek közül néhány hangsúlyosat kiemelek, de a sor még folytatható:

  • TFX (TensorFlow’s TensorFlow Extended): olyan eszköz, amely a gépi tanulási modellek teljes életciklusát támogatja, a nyers adatok feldolgozásától egészen a modellek produkciós környezetben történő telepítéséig és felügyeletéig. Alkalmas adatvalidálásra és -feldolgozásra, modell-elemzésre és -képzésre, valamint modell-teljesítmény mérésére.
  • Scikit-learn és PyTorch torch.testing modulja: általános célú keretrendszerek és könyvtárak, amelyek az AI-modell teszteléséhez használhatók.
  • FairML: fontos eszköz a gépi tanulási modellek etikai kockázatainak csökkentésére és a méltányos, diszkriminációmentes működés biztosítására. Viszgálja a torzítást, ami olyan rendszerszintű hibát, vagy hibás előfeltevést jelent, amely szisztematikusan torzítja a modell kimenetét. Különböző formái lehetnek, mint az adattorzítás, amikor a betanító adatok nem reprezentálják megfelelően a teljes célpopulációt, az algoritmus-torzítás, amikor a gépi tanulási algoritmus nem teljesen korrekt vagy pártatlan, az emberi torzítás, amikor az adatcímkézés vagy a modell megtervezése során emberi előítéletek érvényesülnek, illetve az interakciós torzítás, amikor a modell és a felhasználó közötti interakció során további torzítások lépnek fel.
  • TensorFlow Model Analysis: a modell-értékelésre alkalmas eszköz, vagyis segít eldönteni, hogy a gépi tanulási modell kellően jól teljesít-e a célfeladatban, így kulcsfontosságú a modell hatékony és etikus felhasználásához. Ennek keretében vizsgálja a modell predikciós pontosságát, általánosítási képességét, a túlilleszkedés elkerülését, a megbízhatóságot és kalibrálást, valamint a modell szemantikus és etikai aspektusait.

A tesztelési eszköztár folyamatosan bővül az AI-fejlesztések előre lepésével és a felhasználási formák bővülésével. A QA szakembereknek naprakésznek kell lenniük az elérhető eszközökre vonatkozóan, illetve a termék-specifikus igényeknek leginkább megfelelőket kell kiválasztaniuk, ezért jelentős kihívásokkal küzdenek az új terület növekedésével egyidejűleg.

Két fontos különbséget érdemes kiemelni az AI-rendszerek tesztelésével kapcsolatban. Egyrészt a tesztelésük dinamikus és folytonos odafigyelést igényel. Mivel ezek a rendszerek szakadatlan tanulnak és fejlődnek, ellenőrzésük nem egy egyszeri, statikus folyamat, hanem állandó monitorozást és finomhangolást követel meg, szemben a hagyományos szoftverek eseti újratesztelésével. Ezeket a termékeket állandóan frissíteni kell az új adatokhoz és bemenetekhez való alkalmazkodás érdekében, így a tesztelés is folyamatos.

Másrészt az AI-alkalmazások nem determinisztikus jellegűek, ezért a tesztelés nem csupán a hibák kiszűrésére szolgál, hanem szükséges a permanens optimalizálás, a modell teljesítményének javítására és a felmerülő új kihívásokhoz való alkalmazkodásra. Ez magában foglalja az AI-előrejelzések pontosságának, a chatbot-válaszok megbízhatóságának és a modellek robusztusságának ellenőrzését.

Az AI-alkalmazásokhoz szükséges adatok beszerzése, gyűjtése és előkészítése a tesztelési szakemberek aktív közreműködését igényli. Az adatok jellege az alkalmazás céljától függ, például számok, speciális szöveg, képek és hangok lehetnek. A tesztelési szakemberek feladata, hogy reprezentatív adatkészleteket biztosítsanak az AI-modellek betanításához és teszteléséhez, figyelembe véve a különböző környezeti tényezők, például a megvilágítás, a háttér és a zaj hatását.

Alább egy esettanulmány olvasható, aminek segítségével a fentebb leírtak könnyebben megérthetők. A feladatot a MobiDev cég vitte végig.

Interaktív alkalmazás 3D CG karakterrel

A projekt egy 5G-hálózatot népszerűsítő, mesterséges intelligenciával vezérelt 3D CG karaktert (virtuális ember, avatar) tartalmazott, amely képes emberekkel kommunikálni. A QA csapat végezte a végpontok közötti tesztelést, és részt vett az adathalmazok javításában.

A projekt technológiai stack-je a következő volt:

  • Front-end: JS
  • Back-end: Python, Unreal Engine szerver, REST API
  • Állomás (kiosk) oldal: Android eszköz kamerával, külső mikrofonnal, TV-képernyővel és külső hangszórókkal.

Az AI részrendszer technológiai stack-je:

  • Emberfelismerési megközelítés: MediaPipe Platform
  • Beszédfelismerési megközelítés: NeMo modell a beszédfelismeréshez, Neuspell mint helyesírás-javító modell
  • Természetes nyelvértés: RASA
  • Hangfelismerési megközelítés: Dialogflow – konverzációs AI

A cég QA csapatának feladata volt a végpontok közötti tesztelés és az adathalmazok javításában való közreműködés.

Esetükben a tesztelés során a következő edge case-ekkel kellett számolni az AI részalkalmazásnál:

  • Zajkihívás: Az AI-modelleknek meg kell küzdeniük a zajos környezetekkel, kiszűrve a nemkívánatos hangokat a beszéd pontos átiratához.
  • Nem megfelelő távolság: A személy és a kamera-mikrofon rendszer közötti távolság változásai befolyásolhatják a hangbemenet minőségét, ami téves értelmezésekhez vezethet.
  • Korlátozott betanító adatok: Amikor az AI-modellek csak korlátozott adatkészlettel rendelkeznek a betanításhoz, felismerési képességeik is sérülhetnek a különböző akcentusok, dialektusok és beszédstílusok tekintetében.
  • Változó megvilágítási körülmények: A megvilágítás változásai befolyásolhatják a videó minőségét, ami hatással van a szájmozgásra támaszkodó beszédfelismerő rendszerekre.
  • Nem és kiejtés: A férfi és női hangok megkülönböztetésének, valamint a szavak többféle kiejtésének kezelése további bonyolultságot ad a beszéd-szöveg modellek számára.
  • Emberfelismerés: A különböző háttér, testtartás és takarás mellett az emberek robusztus azonosítása fejlett AI-algoritmusokat igényel.
  • Gesztusértelmezés: A különböző gesztusok és testmozgások jelentésének megértése a viselkedés árnyalt megértését igényli a modell finomhangolása során.
  • Érzelemfelismerés: Az arckifejezésekből és a testbeszédből az érzelmek megkülönböztetése a humán viselkedés és kultúra mélyreható megértését igényli.

A Chatbot részalkalmazás tesztelésekor az alábbi edge case-eket vizsgálta a MobiDev QA csapata:

  • Tisztázatlan szándék: A felhasználók olyan lekérdezéseket adnak, amelyek nem illeszkednek egyetlen előre meghatározott szándékhoz sem. Ellenőrizni kell, hogyan kezeli ezt az esetet a chatbot.
  • Túl sok módja a „szia” köszönésnek: A felhasználók ugyanazt a szándékot különböző kifejezések és nyelvi változatok használatával fejezhetik ki. Biztosítani kell, hogy a chatbot képes legyen dolgozni velük, és megfelelő választ tudjon adni.
  • Témák közötti ugrálás: A felhasználók váltanak a szándékok között a beszélgetési kontextusban. Ellenőrizni kell, hogy a rendszer tud-e ezzel kezelni.
  • Negatív kijelentések kezelése: A chatbotnak képesnek kell lennie a negatív felhasználói szándék megfelelő értelmezésére, és ennek megfelelően „reagálni”.
  • A chatbot hatókörén vagy képességein kívüli felhasználói bemenetek: Biztosítani kell, hogy a chatbot kezelni tudja a küldetésével nem összefüggő adatokat, és udvariasan elutasítja az ilyen kérésekre adott válaszokat.

Összességében a chatbot tesztelése során kiemelt figyelmet kellett fordítani a természetes nyelv feldolgozásának (NLP) különböző kihívásaira, hogy a rendszer képes legyen megérteni a felhasználók szándékait és megfelelően tudjon válaszolni rájuk.

Forrás: https://mobidev.biz/blog/how-to-test-ai-ml-applications-chatbots

Megosztás

Kérsz értesítést a legújabb cikkekről?

Kapcsolódó cikkek

Hogyan segíti az AI a tesztesetek generálását?

A modern szoftverfejlesztés egyik legnagyobb kihívása az idő. A sprintek rövidek, a funkciók száma folyamatosan nő, miközben a minőségi elvárások nem csökkennek. Ebben a feszített tempóban a teszt tervezése és a tesztesetek megírása gyakran a fejlesztési folyamat szűk keresztmetszetévé válik. Egy manuális tesztelő órákat tölthet azzal, hogy egy-egy komplex user story alapján pontról pontra kidolgozza

Hol bukik el leggyakrabban a szoftvertesztelés egy projektben? 4 szisztematikus hiba, amit nem szabad elkövetnetek

Minden projektmanager ismeri az érzést: a sprint végi demón minden zöld, az elfogadó tesztek átmentek, a csapat gratulál egymásnak – aztán az élesítés után két nappal becsörög az ügyfél, hogy egy kritikus üzleti folyamat nem működik. De hogyan juthatott keresztül egy ekkora hiba az egész tesztelési rendszeren? A válasz szinte sohasem az, hogy „a tesztelők

Biztosítási jutalékszámítási rendszer AI-alapú tesztelése

Egy biztosítótársaság pénzügyi működésének és értékesítési hálózatának alapköve a jutalékelszámolás. Ha a jutalékszámítási rendszerben hiba lép fel, az nemcsak közvetlen anyagi veszteséget jelent, hanem azonnal erodálja az értékesítési ügynökök bizalmát is. Egy ilyen komplex rendszer teszteléséhez óriási mennyiségű, változatos és élethű életúttal rendelkező adatra van szükség. Ugyanakkor a szigorú adatvédelmi szabályozások (GDPR) miatt az éles

Scroll to Top