Jak získat stabilní výsledky z lokálních modelů
Lokální modely působí nepředvídatelně, když stejný Prompt pokaždé dá jiný tvar: jednou odrážky, jednou esej, jednou omluvu a k ní esej. Většinou za tím jsou nastavení a chybějící omezení, ne rozbitá instalace. Shrnutí, extrakci a malé úlohy s kódem můžete udělat natolik opakovatelné, že se dají použít v denním postupu.
Tahle stránka předpokládá, že už píšete jasný Prompt. Pokud je formulace pořád volná, přečtěte si nejdřív Jak psát lepší Prompty pro lokální modely AI. Metody, které přežijí testování, jsou shrnuté v textu Co opravdu funguje.
Proč se odpověď mění
Vzorkování vybírá další Token s jistou náhodností. Vyšší teplota (temperature) znamená víc náhody. Dlouhý chat znamená, že dřívější pravidla jsou dál od poslední otázky. Otevřený Prompt („napište něco užitečného“) má mnoho platných dokončení, takže vzorkovač má kam uhnout. Rozptyl zmenšíte tím, že ten prostor zúžíte: nižší teplota, Seed, když potřebujete skutečné opakování, formát s malým prostorem, krátký kontext a model, po kterém nežádáte pět prací najednou.
1. Snižte teplotu dřív, než přepíšete Prompt
U úkolu, který chcete opakovat, nastavte teplotu mezi 0,1 a 0,3. Top-p nechte na výchozí hodnotě aplikace, pokud nevíte, proč ho měníte. Potom spusťte stejný Prompt třikrát.
Stejný Prompt, tři záměry:
- Teplota 0,9: můžete dostat 3, 5 nebo 4 pravidla a v některých bězích přátelský úvod. Formulace poskakuje. Prompt ještě neposuzujte.
- Teplota 0,2: ve většině běhů byste měli dostat 4 pravidla. Formulace se pořád trochu mění. To je normální.
- Teplota 0: neopakovatelnější, a někdy nejmdlajší. Použijte ji pro extrakci. Na psaní obvykle stačí 0,2.
Změnili jste příliš mnoho a nechali nastavení, které způsobuje míchání. Prompt zmrazte, snižte teplotu a teprve potom upravte jeden řádek, pokud je formát pořád špatně.
2. Použijte Seed, když porovnáváte Prompty
Ollama, LM Studio a některé další aplikace dovolují nastavit Seed. Stejný model, stejný Prompt, stejný Seed a stejné nastavení vzorkování by se měly vrátit skoro stejně. Tak poznáte, jestli změna formulace pomohla.
Praktické porovnání:
- Nastavte teplotu na 0,2 a Seed na 42.
- Uložte výstup Promptu A.
- Změňte jeden řádek a vznikne Prompt B. Seed ponechte.
- Porovnejte A a B. Pokud je B lepší, nechte ho a potom jednou zkuste Seed 43, ať vidíte, jestli formát pořád drží.
Pokud vaše aplikace Seed neumí, bit po bitu stejné opakování nedostanete. Pořád můžete vyžadovat formát a nízkou teplotu, a to je to, co potřebujete pro denní použití. Seed je na testování, ne pro čtenáře shrnutí.
3. Udělejte formát, od kterého se těžko uhýbá
Čím těsnější tvar, tím míň vzorkovač zmůže. Štítky jsou lepší než „uspořádejte to“.
Pokud model doporučenou odpověď pořád přidá, dejte zákaz na vlastní poslední řádek: „Nepište odpověď.“ Pravidla na posledním řádku se dodržují častěji než pravidla zahrabaná uprostřed.
4. U křehkých formátů přidejte kontrolu na jeden řádek
Použijte to u JSON, tabulek a přesných počtů. U běžné prózy to nepoužívejte.
Výstup si přečtěte. Pokud uvidíte odstavec, který začíná „Zkontroloval jsem JSON“, model kontrolu ukazuje. Doplňte „Výstupem je pouze JSON“, nebo kontrolu odeberte a spolehněte se na seznam klíčů. Některé malé modely tichou kontrolu nezvládnou. V tom případě je lepší Prompt samotný seznam klíčů.
Není tu co kontrolovat. Dostanete strnulý vzkaz a někdy odstavec o kvalitě. Místo toho omezte slova.
5. Držte kontext krátký
Pravidla z deseti zpráv nazpět malý model snadno pustí. U opakovatelné práce v chatu nepokračujte. Začněte novou relaci, nebo pravidla znovu vložte na začátek nejnovější zprávy.
Vzor, který zůstává stabilní:
- Jedna systémová nebo první zpráva s pravidly.
- Jedna zpráva uživatele se zdrojovým textem.
- Pokud potřebujete úpravu, nový chat, který obsahuje pravidla plus předchozí výstup, ne celou historii.
Často to neví. Formát vložte znovu. „Stejně jako předtím“ není formát.
6. Velikost modelu přiřaďte k práci
Menší model s úzkým Promptem je často konzistentnější než větší obecný model s ledabylým Promptem, ale není to kouzlo. Malý model použijte na přepis, extrakci a krátká shrnutí textu, který sami dodáte. Větší lokální model použijte, když úkol potřebuje delší kód nebo uvažování o více krocích. Nežádejte model 3B, aby zrevidoval soubor o 400 řádcích, a nečekejte stabilní revizi.
Pokud formát drží na modelu 7B a na modelu 3B se rozpadne, Prompt si nechte a vyměňte model. Nepřidávejte pravidla, dokud malý model nezavalíte.
Opakovatelný kontrolní seznam
- Napište formát jako štítky, počet, nebo klíče JSON.
- Zdrojový text dejte za pravidla, za jasný štítek.
- U všeho, čemu chcete věřit, nastavte teplotu na 0,2.
- Nastavte maximální limit Tokenů kousek nad odpověď, o kterou jste žádali.
- Spusťte dvakrát. Pokud se tvar liší, utáhněte poslední řádek dřív, než přidáte nová pravidla.
- Pokud porovnáváte dvě formulace, nastavte Seed.
- Pokud je chat dlouhý, začněte znovu a pravidla vložte ještě jednou.
Čím konzistence není
- Nejsou to stejné věty pokaždé, ledaže je teplota blízko 0 a Prompt je velmi těsný.
- Nedonutí model citovat skutečné zdroje, které nevidí. Zdroj vložte.
- Neodstraňuje nutnost výstup číst. Stabilní špatná odpověď je pořád špatná. U extrakce zkontrolujte dvě pole proti původnímu textu.
- Nezlepší ji obrovská předmluva „jste expert, který nikdy nedělá chyby“. Ten řádek vzorkování nemění.
Když je Prompt stabilní, uložte ho. Knihovna Promptů je sada výchozích bodů, které si můžete uložit vedle vlastních. Nejste-li si jistí, jestli uložený Prompt není na kontextové okno příliš dlouhý, odhadněte ho Počítadlem Tokenů, než přiložíte velký soubor.