Otevře se na nové kartě

Teplota (temperature)

Teplota (temperature) je hyperparametr dekódování, který řídí míru náhodnosti při generování textu. Jazykový model na konci každého kroku produkuje pro každý token ve slovníku tzv. logit – nenormalizované skóre. Před převodem na pravděpodobnosti funkcí softmax se logity vydělí právě teplotou T. Hodnoty T menší než 1 rozdělení zostřují, protože relativní náskok nejsilnějšího kandidáta se zvětší; hodnoty větší než 1 rozdělení zplošťují a dávají šanci i málo pravděpodobným tokenům. V limitě T blížící se nule přechází vzorkování v deterministické greedy dekódování, kdy se vždy vybere nejpravděpodobnější pokračování. Teplota nemění nic na tom, co se model naučil – mění pouze způsob, jakým se z naučeného rozdělení vybírá. V praxi se kombinuje s dalšími metodami omezení kandidátů, zejména top-k a nucleus sampling (top-p). Vysoká teplota zvyšuje rozmanitost výstupu, ale zároveň riziko halucinací a významových odboček, protože autoregresivní generování každý nepovedený krok zafixuje jako součást kontextu pro všechny další.


Berte teplotu jako knoflík „odvaha“ na vypravěči. Otočený úplně doleva máte úředníka: na otázku, co bylo k obědu, odpoví pokaždé stejně, stroze a bezpečně. Uprostřed máte kolegu, který vypráví přirozeně a občas použije nečekané slovo. Otočený doprava máte fantastu po třetí kávě – zajímavé, barvité, ale po chvíli si začne vymýšlet. Pro extrakci dat z faktury chcete úředníka. Pro brainstorming sloganů chcete toho fantastu. Důležité je, že knoflíkem nezvyšujete inteligenci ani znalosti – jen ochotu sáhnout po méně obvyklé možnosti.

Je pro vás článek užitečný a čerpáte z něj? Zkopírujte si citaci