Prompt Engineering

A tantárgy angol neve: Prompt Engineering

Adatlap utolsó módosítása: 2023. december 21.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Villamosmérnöki szak, Műszaki informatika szak, Szabadon választott
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VITMAV82   1/1/0/f 2  
3. A tantárgyfelelős személy és tanszék Dr. Varga Pál,
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Dr. Varga Pál

docens

Távközlési és Médiainformatikai Tsz.

Dr. Putz Orsolya

Gáspár Csaba

Dr. Zainkó Csaba

adjunktus
egy. tans.
adjunktus

Távközlési és Médiainformatikai Tsz.


Az előadók eléréséhez szükséges adatok a tanszék honlapján megtalálhatók:

https://www.tmit.bme.hu/munkatarsak

A tantárgy kidolgozói: Dr. Putz Orsolya, Gáspár Csaba, Dr. Zainkó Csaba, Dr. Varga Pál, Mihályi Antal (Google, Cloud AI)

Alapvető programozási ismeretek, alapvető jártasság a mesterséges intelligencia, gépi tanulás és az NLP fogalomkörében, szoftverfejlesztési alapismeretek.

6. Előtanulmányi rend
Ajánlott:
Kötelező:
-
Ajánlott:
- Alkalmazott Mesterséges Intelligencia modellek a gyakorlatban - VITMAV78, amelynek az ismereteire jelen tantárgy nem épít, de az ott elhangozott alapismeretek hasznosak lehetnek a jelen tantárgyhoz
7. A tantárgy célkitűzése A tantárgy célja, hogy a mesterséges intelligenciához kötődő technológiák trendjével lépést tartva és azokra reagálva, egyrészt akadémiai szintű betekintést nyújtson a prompt engineering világába, másrészt alkalmazási gyakorlatot nyújtson a mérnöki munkához.
Ez a tantárgy - amellett, hogy röviden bemutatja a prompt engineering hátterét a nagy nyelvi modelleken (LLM) keresztül -, három fő fókusszal rendelkezik.
Egyik fókusza az, hogy gyakorlati útmutatást adjon az adattudomány és szoftverfejlesztés eszköz-támogatásához: API-k használata a prompt engineeringben, adatmanipuláció, scraping, adatrendezés, szoftverkód-generálás, debug-olás, kódmagyarázat, dokumentáció, tesztelés.
A tárgy második fókusza, hogy bemutassa, a hagyományos módszerekhez képest hogyan működik a prompt engineering segítségével a szentiment elemzés, az annotálás, a tagelés, és hogy ezen keresztül milyen változatos problémákra képes megoldást nyújtani a mérnöki tervezésen és informatikai megoldásokon túl az NLP, a gépi tanulás, a művészi képgenerálás, a pszichológia és a szociológia területein is.
A tárgy harmadik fókusza, hogy bemutassa a legújabb technológiai trendeket a prompt engineering területén, ideértve a dinamikus prompt-generálás, a meta-prompting, és a Retrieval Augmented Generation (RAG) elméleti hátterét és gyakorlati alkalmazásait. Mindemellett a tárgy a hallgatók kritikus gondolkodását is fejleszteni kívánja azáltal, hogy rávilágít a prompt engineering által felvetett dilemmákra (pl. etikai kérdések, emberi előítéletek és a humán értékelés szerepe).
8. A tantárgy részletes tematikája Minden héten egy, tematikailag összeillő előadás és gyakorlat van; kivéve az első alkalom (dupla előadás) és az utolsó alkalom (dupla gyakorlat)

1. Bevezető, tematika ismertetése. A prompt engineering kialakulása, jelene, jövője. Helye a mérnöki területeken, hatása az iparban, gazdaságban, hétköznapi életünkben. A nagy nyelvi modellek (LLM) kialakulása, a promptok szerepe az LLM-alapú rendszerekben.
2. Hogyan dolgozzák fel az LLM-ek az inputokat és generálják az outputot. A tanító adatok és a finomhangolás szerepe az LLM-ek viselkedésében. A prompt engineering alapfogalmai és technikái (pl. zero-shot és few-shot prompting, chain of thought prompting, knowledge generation prompting).
3. Nagy nyelvi modellek finomhangolása - elméleti alapok, módszertan és gyakorlati példák. Prompt generálás: minőség és elfogultság a prompt válaszokban. Stratégiák az elfogultság csökkentésére a prompt tervezésen keresztül.
4. Prompt engineering és szoftverkódok generálása: copilot rendszerek, API-k használata. Felelős kódgenerálás, a generált kódok verifikációja és validációja.
5. Prompt engineering a programkódok debug-olás-ához, kódmagyarázathoz, dokumentáció készítéséhez, teszt automatizációhoz.
6. Prompt engineering az adatfeldolgozásban. Adatok kezelése promptok segítségével: scraping, táblázatos adatba való rendezés, lekérdezések, diagramrajzolás, MS Excel illesztési lehetőségek, adatgyűjtés. Szintetikus adatgenerálás példa-adathalmazok és szövegek segítségével. Megoldás az adathiány problémájára különböző gépi tanulásos és Deep Learning feladatokban.
7. Szentiment elemzés - különös tekintettel a hagyományos módszerek és a prompt engineering során használt technikák közötti különbségekre.
8. Annotálás és annotált szövegek generálása - különös tekintettel a hagyományos módszerek és a prompt engineering során használt technikák közötti különbségekre.
9. Tagelés - különös tekintettel a hagyományos módszerek és a prompt engineering során használt technikák közötti különbségekre.
10. Tudományos írás. Absztraktok és parafrázisok létrehozása a hallgatók által készített dokumentumokhoz (pl. beadandó dolgozatok, szakdolgozat). Képgenerálás a mérnöki munkában, prompt engineering segítségével. Milyen a tudományos és szakmai elvárásoknak is megfelelő végeredmény?
11. A prompt engineering alkalmazása a társadalomtudományokban. Esettanulmány egy pszichológiai kérdőív kapcsán. Gépi következetlenség vs. emberi következetesség. Etikai megfontolások a prompt mérnökségben. Technikák dinamikus prompt generáláshoz. Meta-prompting feltárása: LLM-ek használata promptok generálásához más feladatokhoz.
12. A prompt engineering technológiai újdonságai. RAG (Retrieval Augmented Generation) rendszerek és alkalmazásuk gyakorlati példán keresztül. Kihívások text retrieval rendszerekben. ReAct prompting RAG rendszerekben.
13. A prompt engineering technológiai újdonságai. Query rewrite, grounding, biztonság a RAG rendszerekben. Az adattisztaság fontossága. Felelősségteljes AI megfontolások.
14. Hallgatói beszámolók.

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás és laboratórium. A tárgy minden hetében előadás és gyakorlat is van, utóbbin a hallgatók valódi programozási feladatokat oldanak meg a gyakorlatvezetők támogatásával.

 

10. Követelmények A félévközi jegy megszerzésnek feltételei a hatályos BME Tanulmányi és Vizsgaszabályzatával (TVSz) összhangban a következők:
● Gyakorlati feladat: A félév közepén a gyakorlati feladat státuszáról beszámolót kell készíteni. A félév végén a gyakorlati projektmunka eredményét be kell mutatni. A gyakorlati feladatra érdemjegyet kapnak.
Gyakorlati feladat példák:
o Agreement score számolás dokumentumokhoz kapcsolódó kérdés-válaszokra a langchain python csomag használatával
o Szintetikus adatgenerása sequence labeling problémákhoz (pl. named entity recognition)
11. Pótlási lehetőségek ● Gyakorlati feladat: A projekt-feladat beadására az erre kijelölt pótlási időpontban (a szorgalmi időszakban vagy a pótlási héten) van lehetőség.
12. Konzultációs lehetőségek Igény esetén, előzetes egyeztetés alapján.
13. Jegyzet, tankönyv, felhasználható irodalom A tantárgy témaköreinek elmélyítését segítő szakirodalmak:
- OpenAI: ChatGPT Documentation, 2023 - Online: https://platform.openai.com/docs/quickstart
- GitHub Copilot, 2023 - Online: https://docs.github.com/en/copilot
- Ouyang, Long, et al. "Training language models to follow instructions with human feedback." Advances in Neural Information Processing Systems 35 (2022): 27730-27744., https://arxiv.org/abs/2203.02155
- Google: Buildoing Generative AI applications - https://cloud.google.com/blog/products/ai-machine-learning/generative-ai-applications-with-vertex-ai-palm-2-models-and-langchain
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra28
Félévközi készülés órákra14
Felkészülés zárthelyire0
Házi feladat elkészítése18
Kijelölt írásos tananyag elsajátítása0
Vizsgafelkészülés0
Összesen60
15. A tantárgy tematikáját kidolgozta
Név: Beosztás: Tanszék, Int.:
Dr. Varga Pál docens TMIT
Dr. Putz Orsolya adjunktus TMIT
Dr. Zainkó Csaba adjunktus TMIT
Gáspár Csaba egy.tanársegéd TMIT
Mihályi Antal mérnöki csoportvezető Google, Cloud AI