Prompt engineering
Author
Albert FloresPrompt engineering neboli prompt inženýrství je metodologie navrhování efektivních požadavků či dotazů (promptů) velkým jazykovým modelům (LLM). Jde o dílčí obor umělé inteligence a zpracování přirozeného jazyka. V prompt engineeringu jde o správnou formulaci úkolu, který má umělá inteligence (AI) provést, tak, aby výstup co nejlépe odpovídal očekávání zadavatele. „Učení založené na promptu“ lze chápat jako alternativu k doladění předtrénovaného modelu na konkrétní úlohu. Výhodou je, že není potřeba měnit samotný model, ale stačí mu v promptu explicitně komunikovat kontext, informace potřebné k provedené úkolu a požadavky na výstup, a model je schopen adekvátně reagovat.
Historie
Jazykové modely GPT-2 a GPT-3 byly důležitými kroky v prompt inženýrství. V roce 2021 multitask prompt inženýrství pomocí více datových sad NLP prokázalo dobrý výkon u nových úloh. +more V metodě zvané chain-of-thought (CoT) byly jazykovému modelu poskytnuty tzv. few-shot příklady (technika ukázání modelu několik příkladů, tzv. shotů, toho, co uživatel chce, aby LLM udělal), což zlepšilo jeho schopnost uvažovat. Široká dostupnost těchto nástrojů byla podpořena zveřejněním několika zápisníků s otevřeným zdrojovým kódem a komunitně vedených projektů pro syntézu obrázků.
Popis zpracování promptů uvedl, že v únoru 2022 bylo k dispozici více než 2 000 veřejných promptů pro přibližně 170 datových sad.
Techniky
Ladění prefixů
Prompt engineering může fungovat z velkého jazykového modelu (LLM), který je „zmrazen“ (v tom smyslu, že je předtrénovaný), kde se učí pouze reprezentace promptu (jinými slovy se LLM optimalizuje), pomocí metod jako „prefix-tuning“ nebo „prompt tuning“.
Chain-of-thought
Chain-of-thought prompting neboli prompting pomocí myšlenkového řetězce (Chain-of-thought prompting, zkr. CoT) zlepšuje schopnost uvažování LLM tím, že je podněcuje k vytvoření řady mezikroků, které vedou ke konečné odpovědi na vícekrokový problém. +more Tato technika byla poprvé navržena výzkumníky Google v roce 2022.
Hlavní myšlenka CoT spočívá v tom, že ukázáním několika málo záběrů tzv. exemplářů (příkladů), kde se argumentace vysvětluje v exemplářích, LLM také ukáže proces uvažování při odpovídání na prompt. +more Toto vysvětlení uvažování často vede k přesnějším výsledkům.
Metoda
Existují dva hlavní způsoby, jak vyvolat CoT: few-shot prompting a zero-shot prompting. Zero-shot prompting je nejzákladnější formou promptingu. +more Uživatel modelu jednoduše ukáže prompt bez příkladů a požádá ho, aby vytvořil odpověď. Příkladem zero-shot promptu je:.
Sečti 2+2
Jedná se o zero-shot, protože modelu nebyly neukázány žádné kompletní příklady.
Few-shot prompting je, když se modelu ukážou 2 nebo více příkladů. Analogií few-shot promptu výše uvedeného zero-shot promptu je:
Sečti 3+3: 6 Sečti 5+5: 10
Je to tak, protože se modelu ukázaly alespoň 2 úplné příklady (Sečti 3+3: 6 a Sečti 5+5: 10). Obvykle platí, že čím více příkladů modelu ukážete, tím lepší bude výstup, proto se ve většině případů dává přednost few-shot promptingu před 0-shot a 1-shot promptingem (neboli prompt s žádným a jedním příkladem).
Výzvy
Zatímco uvažování CoT může zlepšit výkon úloh zpracování přirozeného jazyka, existují určité nevýhody. Modely LLM jsou často zkreslené směrem ke generování stereotypních odpovědí. +more Dokonce i při zavedení bezpečných ochranných prvků někdy generují toxické výstupy. Obzvlášť předpojaté jsou výsledky zero-shot promptingu.
Retrieval-augmented generation
Retrieval-augmented generation (RAG) je metoda generování promptů obohacených o výstupy hledání v dokumentech. Předpokladem je databáze dokumentů relevantních pro danou oblast (pro její uložení a zpracování se v této oblasti používá např. +more služba Pinecone nebo jiné vektorové databáze). Po obdržení uživatelského dotazu systém nejprve prohledá databázi dokumentů a nejrelevantnější odpovědi zahrne do promptu pro LLM jako kontext. LLM tak může svou odpověď vygenerovat se znalostí informace obsažené ve vybraných dokumentech. To je užitečné zejména pokud se požadují odpovědi založené na informacích, které nebyly modelu dostupné při jeho trénování a ladění. Podkladové dokumenty také mohou být průběžně aktualizovány bez nutnosti cokoli dělat se samotným LLM.