Sdílet prostřednictvím


Učení bez předchozího vzoru a s omezeným počtem vzorů

Tento článek vysvětluje učení s nulovým snímkem a učení s několika snímky pro přípravu výzev v .NET, včetně jejich primárních případů použití.

Výkon modelu GPT přináší výhody z rychlého inženýrství, praxe poskytování pokynů a příkladů modelu za účelem upřesnění jeho výstupu. Učení zero-shot a few-shot jsou techniky, které můžete použít při poskytování příkladů.

Učení bez příkladů

Učení bez ukázkových příkladů je proces zadávání podnětů, které nejsou spárovány s doslovnými dokončeními, i když můžete zahrnout dokončení sestávající z nápověd. Učení bez ukázkových příkladů zcela spoléhá na stávající znalosti modelu pro generování odpovědí, což snižuje počet vytvořených tokenů a může pomoci řídit náklady. Avšak učení bez předchozí zkušenosti nerozšiřuje znalosti ani kontext modelu.

Zde je příklad zero-shot výzvy, která říká modelu, aby vyhodnotil uživatelský vstup a určil, který ze čtyř možných záměrů vstup představuje, a poté před odpovědí uvede "Intent: ".

prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.
User Input: {request}
Intent: 
""";

Pro učení s nulovým snímkem existují dva hlavní případy použití:

  • Práce s jemně vyladěnými LLMs – vzhledem k tomu, že spoléhá na stávající znalosti modelu, učení bez příkladu není tak náročné na zdroje jako učení s několika příklady a funguje dobře s LLMs, které už byly vyladěné na datových sadách instrukcí. Možná budete moct spoléhat výhradně na učení s nulovým snímkem a udržet náklady relativně nízké.
  • Vytvoření standardních hodnot výkonu – učení s nulovým snímkem vám může pomoct simulovat, jak by vaše aplikace fungovala pro skutečné uživatele. Toto vám umožňuje vyhodnotit různé aspekty aktuálního výkonu modelu, jako je přesnost nebo preciznost. V tomto případě obvykle použijete učení s nulovým nastavením k stanovení základní úrovně výkonu a pak experimentujete s učením s malým počtem nastavení, abyste zlepšili výkon.

Učení z několika málo příkladů

Učení s několika příklady je postup předávání promptů spárovaných s doslovnými dokončeními (několika příkladů promptů), aby se modelu ukázalo, jak reagovat. Ve srovnání s učením s nulovým snímkem to znamená, že učení s několika snímky vytváří více tokenů a způsobí, že model aktualizuje své znalosti, což může způsobit, že učení s několika snímky je náročnější na prostředky. Učení s malým počtem příkladů ale také pomáhá modelu poskytovat relevantnější odpovědi.

prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.

User Input: Can you send a very quick approval to the marketing team?
Intent: SendMessage

User Input: Can you send the full update to the marketing team?
Intent: SendEmail

User Input: {request}
Intent:
""";

Učení s několika snímky má dva hlavní případy použití:

  • Ladění LLM – protože to může přidat do znalostí modelu, může few-shot učení zlepšit jeho výkon. To také způsobí, že model vytvoří více tokenů než zero-shot učení, což může být nakonec neúnosně drahé nebo dokonce neproveditelné. Pokud ale váš LLM ještě není vyladěný, nebudete mít vždy dobrý výkon s výzvami s nulovým snímkem a učení s několika snímky je zaručeno.
  • Řešení problémů s výkonem – jako další krok po učení bez ukázek můžete použít učení s několika ukázkami. V tomto případě použijete zero-shot learning k vytvoření referenční úrovně výkonu a potom experimentujete s few-shot learning na základě zero-shot podnětů, které jste použili. To vám umožní přidat do znalostí modelu, jakmile uvidíte, jak aktuálně reaguje, takže můžete iterovat a zlepšit výkon a zároveň minimalizovat počet tokenů, které zavádíte.

Upozornění

  • Ukázkové učení nefunguje dobře u složitých úloh zdůvodnění. Přidání pokynů ale může pomoci tento problém vyřešit.
  • Few-shot učení vyžaduje vytvoření dlouhých podnětů. Výzvy s velkým počtem tokenů můžou zvýšit výpočet a latenci. To obvykle znamená zvýšené náklady. Existuje také omezení délky výzev.
  • Když použijete několik příkladů, může se model naučit nepravdivé vzory, například "Nálady jsou dvakrát pravděpodobnější, že budou pozitivní než negativní."