Ma egy gépi tanulást bemutató játékot hoztam nektek. Felfedezzük a Google által fejlesztett Teachable Machine megoldást.
Teachable Machine
A Teachable Machine egy könnyen használható webes eszköz, amely lehetővé teszi bárki számára, hogy gépi tanulási modelleket hozzon létre anélkül, hogy mélyebb technikai ismeretekre lenne szükség. Az eszközt a Google fejlesztette ki, és célja, hogy a gépi tanulást hozzáférhetővé tegye mindenki számára, beleértve a tanárokat, diákokat, művészeket és fejlesztőket is. Ez az ingyenes eszköz kiváló játszótér felnőtteknek, gyerekeknek és mindenki számára, aki érdeklődik az AI és a gépi tanulás iránt.
Főbb jellemzők
Egyszerű használat: A felhasználók könnyedén feltölthetnek képeket, hangokat vagy pózokat, amelyeket a modell tanítására használnak.
Valós idejű tanítás: A modellek valós időben tanulnak, így azonnal láthatóak az eredmények.
Exportálás és integráció: A létrehozott modellek könnyen exportálhatók és integrálhatók más alkalmazásokba vagy weboldalakba.
Hogyan működik?
Adatok gyűjtése: A felhasználók különböző kategóriákhoz tartozó adatokat gyűjtenek, például: képeket, hangokat vagy pózokat.
Modell tanítása: Az adatok feltöltése után a Teachable Machine megtanítja a modellt ezek alapján.
Tesztelés és finomhangolás: A felhasználók valós időben tesztelhetik a modellt, és szükség esetén további adatokat adhatnak hozzá a pontosság növelése érdekében.
Exportálás: A kész modell exportálható különböző formátumokban, például TensorFlow.js, TensorFlow Lite vagy Coral formátumban.
Felhasználási területek
Oktatás: Tanárok és diákok használhatják a gépi tanulás alapjainak megismerésére.
Művészet: Művészek interaktív műalkotásokat hozhatnak létre gépi tanulási modellek segítségével.
Fejlesztés: Fejlesztők gyorsan és egyszerűen integrálhatják a gépi tanulási modelleket alkalmazásaikba.
A Teachable Machine tehát egy sokoldalú és könnyen használható eszköz, amely lehetővé teszi a gépi tanulás széles körű alkalmazását különböző területeken.
Tanítsunk valamit
Ebben a projektben a Teachable Machine ML megoldással készítünk egy képfelismerő rendszert a „Kő-Papír-Olló” játékhoz. A projekt során a következő lépéseket fogjuk követni:
Adatgyűjtés: Képek gyűjtése a „Kő”, „Papír” és „Olló” kézmozdulatokról.
Modell betanítása: A képek felhasználásával egy gépi tanulási modell betanítása a Teachable Machine segítségével.
Tesztelés: A modell tesztelése valós időben, kézmozdulatok mutatása a kamera előtt.
Finomhangolás: Szükség esetén további adatok hozzáadása a pontosság növelése érdekében.
Ez a projekt remek lehetőséget nyújt arra, hogy megismerkedjünk a gépi tanulás alapjaival és a Teachable Machine használatával.
Ha te is szeretnéd kipróbálni, akkor megtalálod a példában használt képeket a GitHub-on. (itt megtalálod a „Kő-Papír-Olló” játék szabályait is.)
Ugye milyen izgalmas és mégis milyen egyszerű? Próbáld ki Te is. Találj új és kreatív felhasználási területeket és oszd meg velem. 🙂
Amikor a mesterséges intelligenciával szeretnénk kapcsolatot létesíteni, akkor általában írásban tesszük ezt (akkor is ha beszédfelismerőn keresztül szólítjuk meg). Ahogy az emberi kommunikációban, úgy az AI-nál is fontos, hogy a lehető leghatékonyabban adjuk át gondolatainkat. Hiszen csak ekkor kaphatjuk meg a jó választ a kérdéseinkre. Ebben segít nekünk a “prompt engineering”, amely rövid idő alatt, szinte egy önálló tudománnyá nőtte ki magát. Ennek alapjaival ismerkedünk meg ma. Röviden, a teljesség igénye nélkül. Csakis a legfontosabb tudnivalókkal.
Sokan hangosan felnevetnek, amikor a prompt engineering fontosságát hangsúlyozzuk. Ők azok, akik lebecsülik ezt a kritikus elemét az AI világnak. Ez a cikk nekik is szól.
Mi az a prompt engineering?
A prompt engineering az a folyamat, amellyel a felhasználók megfelelő utasításokat (promptokat) adnak az AI modelleknek a kívánt eredmények elérése érdekében.
A prompt egy kérdés, feladat vagy utasítás, amellyel az AI modellt irányítjuk. A pontos és megfelelő promptok kulcsfontosságúak a helyes válaszok és a hatékony felhasználás szempontjából.
Miért kritikus a jelentősége?
AI teljesítmény
A jól megírt prompt jelentősen javítja az AI teljesítményét, lehetővé téve pontosabb és relevánsabb válaszokat.
Felhasználói irányítás
A promptok segítségével irányíthatjuk az AI-t, hogy az az elvárt módon válaszoljon, vagy az adott probléma megoldására összpontosítson.
Példa
Egy egyszerű kérdés esetén, például: „Mi a mai időjárás?” pontos választ kaphatunk, míg egy bonyolultabb feladatnál, például: „Írj egy blogbejegyzést a fenntarthatóságról,” sokkal több irányításra és részletezésre van szükség a megfelelő eredményhez.
Hogyan kapcsolódik az AI modellekhez?
Az olyan modellek, mint a ChatGPT, Llama, Gemini mind promptokkal működnek. Az AI modellek megértik és feldolgozzák a promptokat, hogy válaszokat generáljanak. A prompt engineering fejlődése párhuzamos az AI modellek növekvő komplexitásával, mivel a jobb promptok összetettebb és relevánsabb válaszokat eredményeznek.
Ez a terület 2 éve alatt nagyobbat nőtt, mint a legtöbb technológiai újdonság ebben az évszázadban.
A prompt típusai
Nyílt végű promptok: Olyan kérdések, vagy utasítások, amelyek többféle választ engednek meg (pl. „Mondj valamit a környezetvédelemről”).
Zárt végű promptok: Olyan kérdések, amelyek konkrét választ várnak (pl. „Mi Magyarország fővárosa?”).
Folyamat alapú promptok: Olyan promptok, amelyek lépésről lépésre adnak utasításokat (pl. „Írj egy receptet a csokoládétortához”).
Kreatív promptok: Olyan promptok, amelyek művészi vagy kreatív eredményt céloznak meg (pl. „Írj egy rövid locsoló verset”).
Az egyes típusokat mikor alkalmazzuk?
Nyílt végű promptok: Amikor a kreativitásra vagy mélyebb gondolkodásra van szükség. Például, ha új ötleteket vagy hosszabb magyarázatot várunk az AI-tól.
Zárt végű promptok: Amikor egyértelmű, konkrét információt keresünk.
Folyamat alapú promptok: Amikor több lépésből álló feladatot kell végrehajtani, például egy kód írása, vagy összetett műveletek végrehajtása.
Kreatív promptok: Amikor művészi, vizuális vagy kreatív tartalmat szeretnénk generálni.
Példák az alkalmazásukra
Nyílt végű prompt példa: „Mesélj a mesterséges intelligencia fejlődéséről az utóbbi évtizedben.”
Zárt végű prompt példa: „Mikor kezdődött az első ipari forradalom?”
Folyamat alapú prompt példa: „Írd le lépésről lépésre, hogyan készíthető egy AI chatbot Python-ban.”
Kreatív prompt példa: „Írj egy történetet egy szomorú kutyáról, aki megtalálja a gazdáját.”
Prompt engineering technikák
A prompt engineering technikák fontos szerepet játszanak abban, hogy hogyan használjuk fel az AI modelleket, különösen a különböző kontextusokban és feladatok megoldására. Itt találod a legfontosabb technikákat, amelyek különböző típusú feladatok esetén alkalmazhatók:
1. Zero-shot
Leírás: A zero-shot technikával egy modellt úgy kérdezünk meg, hogy nem adunk példát arra, hogyan kellene válaszolnia, vagyis a modell nem kap előzetes kontextust.
Példa: „Írj egy összefoglalót a mesterséges intelligenciáról.” Ebben az esetben a modellnek magától kell értelmeznie a kérést és a megfelelő választ generálnia, anélkül, hogy bármilyen mintát mutatnánk.
2. One-shot
Leírás: A one-shot technika egy példát ad a modellnek, hogy megmutassa, milyen típusú választ várunk el.
Példa: „Írj egy viccet. Példa: Miért ment át a csirke az úton? Hogy átérjen a másik oldalra.” A modell az itt adott példát alapul véve fog hasonló stílusú válaszokat generálni.
3. Few-shot
Leírás: A few-shot technikával több példát adunk a modellnek, hogy jobban megértse a feladatot és a várható választ.
Példa: „Írj egy viccet. Példa 1: Miért ment át a csirke az úton? Hogy átérjen a másik oldalra. Példa 2: Miért van a malac boldog? Mert megtalálta a sárban a játszóterét.” Több példa alapján a modell már jobban fel tudja mérni, hogy milyen stílusban és kontextusban kell választ adnia.
4. Chain-of-Thought Prompting
Leírás: A „Chain-of-Thought (CoT)” technika során lépésről lépésre haladunk, megadva a modellnek, hogy hogyan gondolkozzon végig a probléma megoldásán. Ez hasznos összetett feladatoknál, amikor több logikai lépés szükséges a helyes válasz eléréséhez.
Példa: „Adj számot a következő összeadásra: 12 + 45. Gondolkozz végig a folyamaton: Először adjuk össze az egyes helyiértéket (2+5), majd a tízes helyiértéket (1+4), végül adjuk össze az eredményeket. Válasz: 57.” Ez segít a modellnek átgondolni a lépéseket a pontosabb válasz érdekében.
5. Self-consistency Prompting
Leírás: Ebben a technikában a modell több megközelítést próbál a feladat megoldására, majd kiválasztja a leggyakoribb eredményt vagy a leglogikusabb következtetést.
Példa: Ha a feladat az, hogy „Mi a legjobb módja a mesterséges intelligencia használatának a marketingben?” a modell többféle válaszopciót generálhat, majd a legmegfelelőbbet kiválasztja a válaszadáshoz.
6. Instruction-based Prompting
Leírás: Az instruction-based prompting során a modell pontos instrukciókat kap, hogyan hajtson végre egy adott feladatot.
Példa: „Írj egy 200 szavas bekezdést arról, hogy miért fontos a fenntarthatóság a modern városokban, és használj legalább három konkrét példát.” Itt az instrukciók egyértelműen irányítják a modellt a válasz formátumára és tartalmára vonatkozóan.
7. Meta Prompting
Leírás: Ez a technika olyan promptra épül, amely arra irányul, hogy a modell maga dolgozza ki a saját promptját vagy egy feladat pontosabb megértését. Meta szinten irányítja a modellt a promptok javítására.
Példa: „Hogyan kérdezzek úgy, hogy pontosabb választ kapjak az AI modelltől?” A modell válaszolhat olyan javaslatokkal, hogy részletezd a kontextust vagy adj meg specifikus célokat.
8. Generate Knowledge Prompting
Leírás: Ebben a technikában a modellt arra kérjük, hogy generáljon új tudást egy adott témával kapcsolatban, amit később felhasználhatunk a feladat megoldására.
Példa: „Írj egy összefoglalót az AI modellek legújabb fejlesztéseiről, majd használd ezt a tudást egy dolgozat megírására a jövőbeli AI trendekről.”
9. Prompt Chaining
Leírás: Ebben a technikában több promptra építünk egymás után, ahol az egyes lépések eredményei a következő prompt alapjául szolgálnak.
Példa: „Adj nekem öt témaötletet a klímaváltozás blogbejegyzéséhez.” Majd a következő prompt: „Fejtsd ki részletesen az egyik kiválasztott témát.”
10. Tree of Thoughts
Leírás: A „Tree of Thoughts” technika arra ösztönzi a modellt, hogy több különböző gondolatvonalat is végiggondoljon, és az egyes vonalakból következtetéseket vonjon le.
Példa: „Milyen lépéseket tehetnénk az éghajlatváltozás megfékezésére? Sorolj fel több lehetőséget, és értékeld mindegyiknek az előnyeit és hátrányait.”
11. Retrieval Augmented Generation (RAG)
Leírás: A RAG technika során a modell külső adatforrásokat is használ, hogy az adott feladatra pontos és naprakész válaszokat generáljon. Külső adatforrás általában egy vektor adatbázis vagy internetes forrás.
Példa: „Keress információkat az interneten az aktuális gazdasági helyzetről Magyarországon, majd írd le, hogy ez hogyan befolyásolja a vállalkozásokat.”
12. Automatic Reasoning and Tool-use
Leírás: A modell logikai érveléseket és eszközhasználatot kombinál a feladatok megoldására, ahol külső eszközökhöz is fordulhat a válasz generálásához.
Példa: „Számítsd ki a megadott adatokat, és generálj egy táblázatot a Python kód segítségével.”
13. Automatic Prompt Engineer
Leírás: Ebben a technikában a modell automatikusan generálja a leghatékonyabb promptra vonatkozó javaslatokat az adott feladathoz.
Példa: „Írj egy promptot, amely a lehető legjobb eredményt hozza egy AI chatbot készítéséhez.”
14. Active-Prompt
Leírás: Az Active-Prompt módszer interaktív módon irányítja a felhasználót, hogy hogyan adjon egyre pontosabb promptokat a modellnek, valós időben javítva a válaszokat.
Példa: „Milyen további kérdéseid vannak, hogy pontos választ tudj adni?” – a felhasználó kérdése után a modell további kérdéseket tesz fel a pontosítás érdekében.
15. Directional Stimulus Prompting
Leírás: Olyan promptra épül, amely irányított ingereket ad a modellnek, hogy specifikus reakciókat váltson ki.
Példa: „Adj pozitív kritikát erről a szövegről,” vagy „Írj egy barátságos, támogató üzenetet.”
16. Program-Aided Language Models (PALM)
Leírás: Ez a technika programok segítségét veszi igénybe az AI modellek számára, hogy még összetettebb feladatokat is megoldjanak.
Példa: „Írj egy Python kódot, amely kiszámolja a Fibonacci sorozat első 10 elemét, és értékeld ki a kódot.”
17. ReAct
Leírás: A ReAct technika a gondolkodás és a cselekvés együttes használatát jelenti, ahol a modell nemcsak válaszol, hanem akciókat is végrehajt egy probléma megoldására.
Példa: „Írj egy cikket az AI jövőjéről, majd generálj egy listát a releváns hivatkozásokról.”
18. Reflexion
Leírás: Reflexió során a modell visszatekint a korábbi válaszaira, hogy értékelje, szükség van-e további javításokra vagy módosításokra.
Példa: „Értékeld ki a korábbi válaszodat, és mondd el, hogyan lehetne javítani a részleteken.”
19. Multimodal Chain-of-Thought (CoT)
Leírás: A „Multimodal CoT” technika többféle adatforrást és modalitást kombinál, például szöveget és képeket is felhasználva a gondolatmenet kialakításához.
Példa: „Elemzed ezt a képet, és adj egy leírást, majd magyarázd el, hogyan kapcsolódik a megadott szöveghez.”
20. Graph Prompting
Leírás: Ez a technika gráfokat használ a tudás és a kapcsolatok vizualizálásához, segítve a modell gondolkodását és döntéshozatalát.
Példa: „Generálj egy gráfot, amely ábrázolja a mesterséges intelligencia fejlődését és a főbb mérföldköveket az idővonal mentén.”
Ezek a technikák segítenek abban, hogy különböző helyzetekben a lehető legjobb eredményeket érjük el az AI modellektől, attól függően, hogy mennyire összetett a feladat vagy milyen mértékű iránymutatásra van szükség.
A hatékonyság szabályai
A hatékony prompt engineering során számos alapvető szabályt érdemes követni annak érdekében, hogy a modell a lehető legjobb választ adja. Tehát nem elég a megfelelő technika megtalálása, jól is kell kérdeznünk.
A válaszok készen vannak, csak jól kell kérdezni. (Én, a Robot)
Itt vannak a legfontosabb alapelvek:
1. Legyél konkrét és egyértelmű
A prompt legyen minél világosabb és egyértelműbb, hogy a modell pontosan megértse a feladatot. A homályos, általános kérések nem mindig vezetnek releváns válaszokhoz.
Példa: Ne csak azt kérdezd: „Mesélj a technológiáról.” Inkább kérdezd: „Magyarázd el röviden, hogyan működik a mesterséges intelligencia a képfelismerésben.”
2. Kerüld a többértelműséget
Ha többértelmű a kérdés vagy a kérés, a modell több lehetséges válasz közül választhat, ami nem mindig a legmegfelelőbb.
Példa: Ha az a kérésed, hogy „Írj egy történetet,” adj meg témát, karaktereket vagy stílust is, például: „Írj egy vicces történetet egy robotról, aki megpróbál emberré válni.”
3. Adj kontextust
Az AI modellek jobban teljesítenek, ha megfelelő kontextust kapnak. Tedd egyértelművé a kérdés vagy kérés hátterét, ha szükséges.
Példa: Ahelyett, hogy csak azt kérdeznéd: „Mi az AI?”, pontosíthatod: „Írj egy rövid összefoglalót az AI-ról, ami kezdőknek is érthető.”
4. Használj példákat (one-shot vagy few-shot)
Ha egy bonyolultabb feladatot kell megoldani, adj példákat, hogy a modell tudja, milyen válaszokat vársz el.
Példa: „Írj egy kérdést és választ AI modellek felhasználásával. Példa: Mi az a ChatGPT? Válasz: Egy mesterséges intelligencia alapú chatbot modell, amely szöveges válaszokat generál.”
5. Legyél rövid, de informatív
A túl hosszú promptok ronthatják a modell teljesítményét, mert nehézséget okozhat a fontos információk kiszűrése. Az informatív, mégis tömör promptok hatékonyabbak.
Példa: „Magyarázd el a blockchain működését 100 szóban.” Ahelyett, hogy hosszan kifejtenéd, tömören fogalmazd meg a kérésed.
6. Légy türelmes a komplex feladatokkal
Összetett feladatoknál a promptokat lépésekre lehet bontani (Chain-of-Thought), hogy a modell jobban átlássa a feladatot.
Példa: „Először magyarázd el, mi az AI, majd adj példát arra, hogyan használható az orvostudományban.”
7. Használj negatív példákat is, ha szükséges
Ha el akarod kerülni, hogy a modell egy bizonyos irányba menjen, mondj példát arra is, hogy mit ne tegyen.
Példa: „Írj egy történetet, amely NEM tartalmaz erőszakos elemeket.”
8. Tegyél fel következő kérdéseket
A kérdésfeltevések láncolata segíthet a modellnek fokozatosan építeni a válaszait. Egy első válasz alapján további kérdéseket tehetsz fel a mélyebb megértéshez.
Példa: Miután megkaptad az első választ arra, hogy „Mi az AI?”, tovább kérdezhetsz: „Hogyan működik egy neurális hálózat?”
9. Használj logikai utasításokat
Ha van egy konkrét logikai lépés, amit követni szeretnél, használd ezt utasításként, hogy a modell helyesen gondolkodjon.
Példa: „Sorolj fel három lépést, amellyel megoldható az éghajlatváltozás, és magyarázd el mindegyik hatását.”
10. Teszteld a promptokat iteratív módon
Gyakran nem a legelső prompt hozza a legjobb eredményt, ezért fontos tesztelni és finomítani a kérdéseket. Ha nem megfelelő a válasz, próbáld meg módosítani a promptot a világosabb megfogalmazás érdekében.
Példa: Ha a válasz túl általános, finomíthatod a kérdést: „Magyarázd el az AI-t a kereskedelmi felhasználás szempontjából, különös tekintettel a kiskereskedelemre.”
Ezek a szabályok segíthetnek a hatékony prompt engineering-ben, hogy pontosabb, relevánsabb és használhatóbb eredményeket kapj a modellektől. Ha ezek alapján építed fel a promptokat, jobban kihasználhatod az AI lehetőségeit.
Ahogy mindenben, a prompt engineering világában is igaz a mondás:
Gyakorlat teszi a mestert
Tehát, arra bíztatlak, hogy amikor legközelebb beszélgetsz egy AI modellel, próbáld ki az ebben a cikkben leírtakat és meglátod a válaszok minősége is hatalmasat növekszik.