Naše společnost intenzivně zkoumá možnosti velkých jazykových modelů (LLM), jako je například ChatGPT od společnosti OpenAI. Protože působíme ve většině evropských zemí, jsou pro nás důležitá vícejazyková řešení, která nám tyto modely nabízejí.
Použití LLM v některých jazycích je dražší než v jiných
Možná vás to překvapí, ale ve skutečnosti jsou náklady na služby OpenAI v jiných jazycích než v angličtině mnohem vyšší. OpenAI totiž účtuje své služby po tzv. tokenech (jednotkách menších než slovo) a nikoli po znacích nebo slovech.
V případě angličtiny se počet tokenů v daném textu blíží počtu slov. U ostatních jazyků ale tento počet výrazně stoupá, někdy i více než dvojnásobně. Například úvod k Všeobecné deklaraci lidských práv má v angličtině 360 tokenů, ale v češtině 724, přestože český text má mnohem méně slov (248 v češtině vs. 320 v angličtině). V jazycích, které používají jiné písmo než latinku, je tento rozdíl ještě vyšší.
Následující graf ukazuje počet tokenů pro stejný text v různých jazycích.
Co je příčinou?
Původně jsme se domnívali, že rozdíly vznikají kvůli diakritice či kódování znaků. Čeština, stejně jako další slovanské jazyky, používá mnoho znaků s diakritikou, které se v angličtině nevyskytují. To ale není všechno. Zjistili jsme, že hlavním faktorem je zastoupení jazyka v trénovacích datech. Čím více slov z daného jazyka je v trénovacích datech obsaženo, tím méně tokenů model potřebuje k reprezentaci konkrétního slova.
Například česká slova „baby“ nebo „copy“ budou reprezentována jedním tokenem, protože se jedná o homografy anglických slov.
Jaké je konkrétní zastoupení jednotlivých jazyků v trénovacích datech modelů GPT, nevíme přesně, protože OpenAI tyto informace nezveřejňuje. Můžeme si však vytvořit představu na základě rozložení jazyků v korpusu (databázi textových dokumentů) Common Crawl, který obsahuje petabyty dat z internetu od roku 2008. Byl použit pro trénování modelu GPT-3 a téměř jistě i jeho nástupců.
Jak je vidět, tréninková data jsou silně zaměřena na angličtinu, ostatním jazykům jsou věnovány jen malé části korpusu. Zmíněné rozdíly v tokenizaci jsou pak důsledkem této nerovnosti – při zpracování korpusu je třeba text komprimovat na co nejmenší jednotky, jakési největší společné dělitele. A protože velká část textů je v angličtině, bude většina tokenů odpovídat anglickým slovům nebo kořenům. Slova v jiných jazycích je pak třeba reprezentovat mnohem menšími tokeny (někdy dokonce odpovídajícími jednotlivým znakům).
Praktické důsledky
Ačkoli to může znít příliš akademicky, tato skutečnost má i některé závažné důsledky pro praxi, zejména co se týče ceny za používání LLM. Nejenže se cena identické činnosti (například shrnutí nebo překladu Všeobecné deklarace lidských práv) výrazně zvýší v závislosti na použitém jazyce – 1,5× ve španělštině, 2× v češtině, 3× v ukrajinštině a téměř 6× v řečtině – ale zvýší se také latence (prodleva mezi odesláním pokynu a obdržením odpovědi).
Navíc vzhledem k tomu, že délka výstupu i kontext, který lze modelům poskytnout, jsou omezeny právě počtem tokenů, je kvalita služeb OpenAI v jiných jazycích než angličtině výrazně snížená.
Co s tím?
Výzkumníci doporučují několik způsobů, jak služby velkých jazykových modelů v různých jazycích zlepšit a odstranit tuto nerovnost (viz např. Petrov et al., 2023). Mimo jiné navrhují budování a využívání vícejazyčných korpusů zahrnujících různá témata a vlastní jména, nebo vytváření jazykově spravedlivých tokenizérů.
Jak k tomu přistupujeme my?
Aplikace Beey, náš hlavní produkt pro přepis řeči do textu, není založena na velkých jazykových modelech jako takových. Naše modely rozpoznávání řeči s umělou inteligencí jsou trénovány na datech ze všech jazyků, která jsou neustále rozšiřována, abychom zajistili vysokou kvalitu přepisu ve všech z nich.
Propojení přepisu Beey s ChatGPT vám umožní naplno využít váš zvukový obsah. Služby OpenAI jsou zahrnuty v některých sekundárních funkcích Beey – zejména v sumarizaci, kterou můžete využít ke shrnutí částí přepisovaného textu. Vzhledem k tomu, že Beey podporuje více jazyků, musí být shrnutí dostupné ve všech námi podporovaných jazycích. Naše společnost se snaží být v oblasti jazyků vstřícná a spravedlivá ke všem zákazníkům, proto Beey nerozlišuje ceny podle jazyků a veškeré dodatečné náklady hradíme my.