Connect with us

Prompt engineering

Analogické a krok-zpět vyvolání: Ponoření do recentních pokroků od Google DeepMind

mm
Google DeepMind Prompt Engineering new Research

Úvod

Inženýrství vyvolání se zaměřuje na vytváření účinných vyvolání pro vedení velkých jazykových modelů (LLM), jako je GPT-4, při generování požadovaných odpovědí. Dobře vytvořené vyvolání může být rozdílem mezi vágní nebo nepřesnou odpovědí a přesnou, zasvěcenou odpovědí.

V širším ekosystému AI je inženýrství vyvolání jednou z několika metod, které se používají k získání více přesných a kontextuálně relevantních informací z jazykových modelů. Dalšími metodami jsou techniky, jako je few-shot učení, kde je modelu dán malý počet příkladů, aby mu pomohl pochopit úkol, a fine-tuning, kde je model dále trénován na menším datasetu, aby specializoval své odpovědi.

Google DeepMind nedávno zveřejnil dvě práce, které se zabývají inženýrstvím vyvolání a jeho potenciálem pro zlepšení odpovědí v různých situacích.

Tyto práce jsou součástí pokračujícího průzkumu v komunitě AI, jehož cílem je zlepšit a optimalizovat, jak komunikujeme s jazykovými modely, a poskytují nové pohledy na strukturování vyvolání pro lepší zpracování dotazů a interakci s databází.

Tento článek se zabývá detaily těchto výzkumných prací, vysvětluje koncepty, metodologie a implikace navrhovaných technik, a činí je přístupnými i pro čtenáře s omezenými znalostmi v oblasti AI a NLP.

Práce 1: Velké jazykové modely jako analogické řešitelé

První práce, nazvaná “Velké jazykové modely jako analogické řešitelé”, představuje novou techniku vyvolání nazvanou Analogické vyvolání. Autoři, Michihiro Yasunaga, Xinyun Chen a další, čerpají inspiraci z analogického uvažování – kognitivního procesu, při kterém lidé využívají minulé zkušenosti k řešení nových problémů.

Klíčové koncepty a metodologie

Analogické vyvolání podporuje LLM, aby samy generovaly relevantní příklady nebo znalosti v kontextu, než přistoupí k řešení daného problému. Tento přístup eliminuje potřebu označených příkladů, nabízí obecnost a pohodlí, a přizpůsobuje generované příklady každému konkrétnímu problému, zajišťuje tak přizpůsobivost.

Vlevo: Tradiční metody vyvolání LLM závisí na obecných vstupech (0-shot CoT) nebo vyžadují označené příklady (few-shot CoT). Vpravo: Nový přístup podporuje LLM, aby samy vytvořily relevantní příklady před řešením problému, eliminuje tak potřebu označení a přizpůsobuje příklady každému jedinečnému problému

Vlevo: Tradiční metody vyvolání LLM závisí na obecných vstupech (0-shot CoT) nebo vyžadují označené příklady (few-shot CoT). Vpravo: Nový přístup podporuje LLM, aby samy vytvořily relevantní příklady před řešením problému, eliminuje tak potřebu označení a přizpůsobuje příklady každému jedinečnému problému

Samostatně generované příklady

První technika prezentovaná v práci je samostatně generované příklady. Nápad spočívá v využití rozsáhlých znalostí, které LLM získaly během svého tréninku, aby jim pomohly řešit nové problémy. Proces zahrnuje doplnění cílového problému o instrukce, které podporují model, aby si vzpomněl nebo generoval relevantní problémy a řešení.

Například, pokud je dán problém, model je instruován, aby si vzpomněl na tři různé a relevantní problémy, popsal je a vysvětlil jejich řešení. Tento proces je navržen tak, aby byl proveden v jednom kroku, což umožňuje LLM generovat relevantní příklady a řešit počáteční problém bezproblémově. Použití znaku “#” v vyvoláních pomáhá ve struktuře odpovědi, činí ji více organizovanou a snazší pro model, aby ji následoval.

Klíčové technické rozhodnutí zdůrazněné v práci zahrnují důraz na generování relevantních a rozmanitých příkladů, přijetí jednoduchého přístupu pro větší pohodlí a zjištění, že generování tří až pěti příkladů vede k nejlepším výsledkům.

Samostatně generované znalosti + příklady

Druhá technika, samostatně generované znalosti + příklady, je představena pro řešení složitějších úkolů, jako je generování kódu. V těchto scénářích LLM mohou příliš záviset na nízkoúrovňových příkladech a mít potíže s generalizací při řešení cílových problémů. Aby se tomu zabránilo, autoři navrhují doplnění vyvolání o další instrukci, která podporuje model, aby identifikoval základní koncepty v problému a poskytl tutoriál nebo vysoké úrovně poznatky.

Jedním z kritických hledisek je pořadí, ve kterém jsou generovány znalosti a příklady. Autoři zjistili, že generování znalostí před příklady vede k lepším výsledkům, protože pomáhá LLM soustředit se na základní přístupy k řešení problémů, spíše než pouze na povrchové podobnosti.

Výhody a aplikace

Analogické vyvolání nabízí několik výhod. Poskytuje podrobné příklady uvažování bez potřeby manuálního označení, řeší tak výzvy spojené s 0-shot a few-shot chain-of-thought (CoT) metodami. Kromě toho generované příklady jsou přizpůsobeny jednotlivým problémům, nabízejí tak relevantnější vedení než tradiční few-shot CoT, které používá pevné příklady.

Práce demonstruje účinnost tohoto přístupu napříč různými úkoly uvažování, včetně řešení matematických problémů, generování kódu a dalších úkolu uvažování v BIG-Bench.

Níže uvedené tabulky představují metriky výkonu různých metod vyvolání napříč různými architekturami modelů. Značně se ukazuje, že metoda “Samostatně generované příklady” konzistentně převyšuje ostatní metody z hlediska přesnosti. V GSM8K přesnosti tato metoda dosahuje nejvyššího výkonu na modelu PaLM2 s 81,7%. Podobně pro MATH přesnost je na vrcholu žebříčku na modelu GPT3.5-turbo s 37,3%.

Výkon na matematických úkolech, GSM8K a MATH

Výkon na matematických úkolech, GSM8K a MATH

Ve druhé tabulce pro modely GPT3.5-turbo-16k a GPT4 “Samostatně generované znalosti + příklady” ukazuje nejlepší výkon.

Výkon na úkolu generování kódu Codeforces

Výkon na úkolu generování kódu Codeforces

Práce 2: Krok zpět: Využití uvažování prostřednictvím abstrakce ve velkých jazykových modelech

Přehled

Druhá práce, “Krok zpět: Využití uvažování prostřednictvím abstrakce ve velkých jazykových modelech” představuje techniku vyvolání nazvanou Krok-zpět vyvolání, která podporuje LLM, aby abstrahovaly vysoké úrovně koncepty a první principy z detailních instancí. Autoři, Huaixiu Steven Zheng, Swaroop Mishra a další, cílí na zlepšení uvažování LLM, podporou jejich vedení správnou cestou uvažování směrem k řešení.

Zobrazení KROK-ZPĚT PŘIZVOLÁNÍ prostřednictvím dvou fází Abstrakce a Uvažování, řízené klíčovými koncepty a principy.

Zobrazení KROK-ZPĚT PŘIZVOLÁNÍ prostřednictvím dvou fází Abstrakce a Uvažování, řízené klíčovými koncepty a principy.

Vytvořme jednodušší příklad pomocí základní matematické otázky, abychom demonstrovali techniku “Krok-zpět otázka”:

Původní otázka: Pokud vlak jede rychlostí 60 km/h a ujede vzdálenost 120 km, jak dlouho to bude trvat?

Možnosti:

3 hodiny
2 hodiny
1 hodina
4 hodiny
Původní odpověď [Nesprávná]: Správná odpověď je 1).

Krok-zpět otázka: Jaký je základní vzorec pro výpočet času, pokud je známa rychlost a vzdálenost?

Principy:
Pro výpočet času používáme vzorec:
Čas = Vzdálenost / Rychlost

Konečná odpověď:
Používáme-li vzorec, Čas = 120 km / 60 km/h = 2 hodiny.
Správná odpověď je 2) 2 hodiny.

Ačkoli současné LLM mohou snadno odpovědět na výše uvedenou otázku, tento příklad je pouze pro demonstraci, jak by technika krok-zpět fungovala. Pro složitější scénáře lze stejnou techniku aplikovat na systematické řešení a adresování problému. Níže je ukázán složitější případ prezentovaný v práci:

KROK-ZPĚT PŘIZVOLÁNÍ na datasetu MMLU-Chemistry

KROK-ZPĚT PŘIZVOLÁNÍ na datasetu MMLU-Chemistry

Klíčové koncepty a metodologie

Podstatou Krok-zpět vyvolání je schopnost LLM udělat metaforický krok zpět, podporovat je, aby se dívaly na širší obraz, spíše než se ztrácet v detailech. To je dosaženo prostřednictvím série pečlivě vytvořených vyvolání, která podporují LLM, aby abstrahovaly informace, odvodily vysoké úrovně koncepty a aplikovaly tyto koncepty na řešení daného problému.

Proces začíná tím, že LLM je podporován, aby abstrahoval detaily z daných instancí, podporuje ho, aby se soustředil na základní koncepty a principy. Tento krok je zásadní, protože nastavuje scénu pro LLM, aby přistupoval k problému z více informovaného a principiálního pohledu.

Jakmile jsou odvozeny vysoké úrovně koncepty, jsou použity k vedení LLM skrze kroky uvažování směrem k řešení. Toto vedení zajišťuje, že LLM zůstává na správné cestě, následuje logickou a koherentní cestu, která je zakořeněna v abstrahovaných konceptech a principech.

Autoři provedli sérii experimentů, aby ověřili účinnost Krok-zpět vyvolání, používají modely PaLM-2L napříč řadou náročných úkolů uvažování. Tyto úkoly zahrnují STEM problémy, Knowledge QA a Multi-Hop Reasoning, poskytují tak komplexní testovací prostředí pro hodnocení techniky.

Značné zlepšení napříč úkoly

Výsledky jsou působivé, s Krok-zpět vyvoláním, které vede k značnému zlepšení výkonu napříč všemi úkoly. Například, technika zlepšuje výkon modelu PaLM-2L na MMLU Physics a Chemistry o 7% a 11%, respectively. Podobně, zvyšuje výkon na TimeQA o 27% a na MuSiQue o 7%.

Výkon KROK-ZPĚT PŘIZVOLÁNÍ

Výkon KROK-ZPĚT PŘIZVOLÁNÍ vs CoT

Tyto výsledky podtrhují potenciál Krok-zpět vyvolání, aby významně zlepšil uvažování LLM.

Závěr

Obě práce od Google DeepMind představují inovativní přístupy k inženýrství vyvolání, cílem je zlepšit uvažovací schopnosti velkých jazykových modelů. Analogické vyvolání využívá konceptu analogického uvažování, podporuje modely, aby samy generovaly své vlastní příklady a znalosti, vedoucí tak k více přizpůsobivému a efektivnímu řešení problémů. Na druhé straně, Krok-zpět vyvolání se zaměřuje na abstrakci, podporuje modely, aby odvodily vysoké úrovně koncepty a principy, které následně zlepšují jejich uvažovací schopnosti.

Tyto výzkumné práce poskytují cenné pohledy a metodologie, které lze aplikovat napříč různými doménami, vedoucí tak k více inteligentním a schopným jazykovým modelům. Jak pokračujeme v prozkoumávání a pochopení jemností inženýrství vyvolání, tyto přístupy slouží jako kritické kroky směrem k dosažení více pokročilých a sofistikovaných systémů AI.

Já jsem strávil posledních pět let ponořen do fascinujícího světa Machine Learning a Deep Learning. Moje vášeň a odbornost mě vedly k tomu, abych přispěl k více než 50 různým softwarovým inženýrským projektům, se zvláštním zaměřením na AI/ML. Moje pokračující zvědavost mě také táhne směrem k Natural Language Processing, oblasti, kterou jsem ochoten dále prozkoumat.