image-647

Změny v OpenAI modelech v posledních měsících, část 1. – GPT-4o

OpenAI v posledních měsících přišla s několika důležitými změnami svých jazykových modelů. Dnes se zaměříme na modely GPT-4o a 4o mini.

Uveřejněno

Rubrika

Autor

V posledních 4 měsících jsem vás tu zanedbával a ještě jednou se za to omlouvám. Jedním z důvodů bylo, že se měnilo hodně věcí a já jsem nestíhal psát články, předělávat prezentace a školit (a ještě mít nějaký soukromý život či v některých dnech vůbec spát).

Asi nejzásadnější změny se týkaly OpenAI. Už jsem předevčírem zmiňoval ChatGPT Advanced Voice – lepší hlasový AI asistent (kdo jste nečetl, tak fakt doporučuji) a v něm i zmínku o představení modelu GPT-4o, na kterém je právě i tento hlasový model založený. Zájemci se mohou podívat na celou jejich prezentaci:

OpenAI Spring Update, představení GPT-4o a preview Advanced Voice

Před 2 týdny uvedla OpenAI v preview verzi i speciální preview tzv reasoning modelů OpenAI o1, tedy modelů, které „přemýšlejí“, než vám dají odpověď, těm se budu věnovat v druhé části článku, která vyjde začátkem příštího týdne, nezapomeňte se tak zaregistrovat, aby vám přišel nový článek do mailu (případně mě sledujte na sociálních sítích).

AI školení – nové termíny a místa (Praha, Brno…)

Chcete dostávat tyto články na e-mail, aby vám nic neuteklo?

Modely GPT – malé historické okénko

Ale popořádku – co jsou to modely GPT-4o a proč jsou tak přínosné, že si zasloužily ode mě měsíce testovaní, čtení analýz a tenhle článek?

Jestli AI trochu sledujete, nebo jste třeba byli na mých AI školeních, tak určitě víte, že konverzační chatbot ChatGPT byl uveden OpenAI 30.11.2022 fakticky „omylem“, jako bezplatné technologické demo vylepšené 3. verze jejich textového jazykového modelu GPT. Vylepšené o schopnost slušné a bezpečné konverzace. A tím v podstatě začala éra dnešní AI mánie, po dvou měsících měl ChatGPT už sto milionů uživatelů, firmy model GPT 3.5 implementovaly do svých řešení atd.

V únoru 2023 pak OpenAI přišla s novou verzí – GPT-4 – ta byla trénována od počátku jako bezpečný+slušný+konverzační model, na řádově větším objemu zdrojových textů s řádově větším počtem tzv. parametrů (něco jako neuronů v mozku) a je tak mnohem „chytřejší“ resp. přesnější ve svých odpovědích. Ale bohužel i několikanásobně pomalejší, náročnější na zpracování a tedy i dražší.

Následně pak představili placenou verzi svého ChatGPT, která umožňovala používat (v omezené míře) právě nový model GPT-4 a postupně pak přinášely další rozšiřující schopnosti – k placenému ChatGPT jste dostali „python server“, který s GPT dokáže sám vyřešit různé matematické úlohy a vůbec programovat, přibylo propojení s generativním obrazovým modelem DALL-E a vy jste tak mohli začít tvořit obrázky, přibyla schopnost dodat jazykovému modelu kontext pomocí hledání na internetu, schopnost rozpoznávat a analyzovat obrázky pomocí modelu GPT-4 Vision, a na konci roku jsme dostali možnost vytvářet své vlastní asistenty pomocí modelů GPT.

Tyhle všechny funkce ChatGPT ale stále využívaly jazykový model GPT-4, jen občas třeba trochu aktualizovaný, když jste překročili cca. 40 dotazů během 3 hodin, tak se vám přepnul ChatGPT do prakticky nepoužitelného GPT 3.5, bez všech těch pokročilých doplňků.

OpenAI GPT-4o a GPT-4o mini – nové výchozí modely ChatGPT

A tím se dostáváme právě do letošního posledního května a uvedení modelu GPT-4o a GPT-4o mini. Ty totiž nově fakticky nahrazují původní modely GPT 3.5 a GPT 4 (na GPT-4 jde stále přepnout, ale není pro to moc důvod).

GPT-4o je do značné míry přepočítaný model. Nejen, že byly doplněné další zdrojové texty a doladěný podle těch stamilionů konverzací jednotlivých uživatelů, tak jak se to dělo do té doby, ale došlo k mnoha optimalizacím „střev“.

  1. Výrazně větší kontextové okno – zatímco předchozí model GPT-4 zvládal kontext o maximální délce pouhých 8, případně přes API i 32 tisíc tokenů, nový model má kontextové okno dokonce 128 000 tokenů (cca. 210 normostran českého textu, 350 anglických).
  2. Vylepšená tokenizace: GPT-4o nabízí výrazně lepší podporu pro jazyky mimo angličtinu ve srovnání s GPT-4. Konkrétně OpenAI vylepšila tokenizaci pro jazyky, které nepoužívají západní abecedu, jako hindština, čínština a korejština. Nový tokenizátor efektivněji komprimuje text v těchto jazycích, což vede k nižšímu počtu tokenů a rychlejšímu zpracování.
  3. Vylepšená architektura neuronové sítě: GPT-4o má optimalizovanou architekturu, která umožňuje efektivnější zpracování a generování textu. Tato vylepšení snižují latenci a zrychlují dobu odezvy.
  4. Optimalizované algoritmy zpracování: GPT-4o využívá pokročilejší algoritmy, které zefektivňují proces inference a snižují výpočetní nároky. Tyto optimalizace umožňují rychlejší generování výstupů bez obětování kvality.
  5. Lepší správa paměti: Model byl navržen s efektivnější správou paměti, což mu umožňuje zpracovávat větší datasety a více souběžných uživatelů bez výrazného poklesu výkonu.
  6. Nativní multimodalita: GPT-4o zpracovává text, obraz, zvuk a video v rámci jedné neuronové sítě, což eliminuje potřebu oddělených pipeline pro různé typy dat. Tato integrace zrychluje interakce zahrnující více modalit.
  7. Snížená výpočetní náročnost: Celkově je GPT-4o méně náročný na zdroje ve srovnání s GPT-4. Tato optimalizace vede k nižším výpočetním nákladům a umožňuje rychlejší nasazení a škálování.

Větší slovník = méně tokenů = vyšší rychlost (a nižší cena pro vývojáře)

Na začátku svých AI školeních vysvětluji v krátkosti, jak jazykové modely fungují. Základním kamenem jejich fungování je převod zdrojových textů na tzv. tokeny – tedy nejčastější posloupnosti znaků, které se v textech nachází (a základní jednotky, se kterými model počítá).

V textových GPT 3, 3.5 a 4 byl pro rozkouskování textů na tokeny použit tzv. o100k_base tokenizer. Tedy „slovník“ cca. 100 tisíc nejčastějších posloupností znaků (přesněji 100256), které mají svůj číselný identifikátor. A protože většina vstupních textů byla v angličtině, jsou tyto tokeny často anglická slova, nebo třeba rozdělená na základní tvar plus přípona (např. read-ing).

Česká slova se v tomto slovníku téměř nenacházela, což způsobovalo, že český text byl rozdělován na mnohem menší „kousky“, často i jednotlivá písmena (a třeba pro písmena ď a ť jste potřebovali dokonce dva tokeny na jedno písmeno).

Připravil jsem delší ukázku srovnání angličtiny a češtiny na stejném textu složeném z mnoha úryvků z různých oblastí a období, abych tento rozdíl a problém demonstroval pomocí ukázkového webového tokenizeru od OpenAI.

Jak si můžete všimnout, čeština je o něco úspornější, pro stejný text vám v češtině stačí o cca. 6 % méně znaků (díky např. skloňování, stupňování atd., které jsou v angličtině jinak vyjadřovány více slovy).

Přesto na stejný text bylo potřeba o 108.5 %, tj. více než 2× více tokenů. A protože jazykové modely tvoří texty po tokenech, 2× více tokenů znamená 2× pomalejší generování, protože vývojáři platí po tokenech, tak je to 2× dražší a protože kontext, který modely zvládají se měří v tokenech, zvládá jej to 2× menší.

A samozřejmě je extrémně pitomé, ale i třeba businessově značně znevýhodňující, když Češi platí za stejnou věc dvakrát více, je dvakrát pomalejší a dvakrát hloupější, stačí že to tak máme s Nutellou.

Nový model GPT-4o přichází s novým tokenizerem o200k_base a jak už asi podle názvu tušíte, má přibližně 2× tak velký slovník, konkrétně 199997 tokenů, včetně právě všech středoevropských písmen a mnoha posloupností znaků objevujících se v českých textech. Jak vypadá srovnání?

Jak můžete vidět, v angličtině se počet tokenů u stejného textu téměř nezměnil, zlepšení tvoří ani ne jedno procento. Jiný příběh je to ale u češtiny, kde novému tokenizeru a tedy GPT-4o stačí pro totožný text o 25 % méně tokenů. Při započítání vyšší efektivity češtiny tak pro stejný text nyní stačí už jen o necelých 58 % více tokenů (vychází to na 3 znaky na token v češtině a 5 v angličtině). Not great, not terrible, každopádně spolu s dalšími optimalizacemi se nyní text generuje násobně rychleji než u původního GPT-4. A podobně to je i u jiných jazyků.

image-646
Srovnání počtu tokenů na stejném textu v různých jazycích GPT-4 vs GPT-4o (Zdroj: OpenAI)

Je GPT-4o lepší než GPT-4?

Jedním z důvodů, proč jsem dlouho odkládal napsání článku o GPT-4o byla kvalita generovaných odpovědí. OpenAI samozřejmě při představení nabídla spousty srovnání a grafů, jak je GPT-4o ve všech možných syntetických testech srovnatelná či dokonce lepší, mé osobní zkušenosti to ale tak úplně nepotvrzovaly.

image-647
Srovnání GPT-4o s GPT-4 Turbo, GPT 4 a modely konkurence na syntetických testech

Jsem myslím zkušený uživatel jazykových chatbotů, takže na rozdíl od většiny uživatelů používám pokročilá zadání, ostatně pokročilý prompt engineering i školím. Zároveň hodně pracuji s kontextem. A zejména v prvních týdnech po uvedení se mi zdálo, že GPT-4o mi vrací méně kvalitní výstupy. Ale nevím, jestli jsem si zvykl, nebo se naučil psát trochu jinak prompty a nebo něco zlepšili, už mě to ani nepřijde.

Z různých zdrojů na internetu, diskusí atd. se dají identifikovat ale asi tyto scénáře, kdy má smysl vyzkoušet i starší model GPT-4:

  1. Pro komplexní úlohy vyžadující pečlivé čtení a přesné plnění instrukcí se GPT-4 jeví jako spolehlivější. Někteří uživatelé uvádějí, že GPT-4o dělá více chyb a generuje někdy i zcela nerelevantní odpovědi.
  2. V úlohách vyžadujících pokročilé uvažování, analýzu a logiku podává GPT-4 často lepší výsledky. GPT-4o sice dokáže být rychlejší a levnější, ale za cenu snížené přesnosti a schopnosti správně odůvodňovat.
  3. Pro kritické podnikové aplikace může být GPT-4 preferován díky své stabilitě, spolehlivosti a rozšířenému používání. Je dobře otestován a mnoha vývojářům již důvěrně známý. Tato stabilita může být důležitější než nejnovější funkce a nejnižší ceny.
  4. GPT-4 se zdá být konzistentnější v dodržování zadaných instrukcí a kontextu konverzace. GPT-4o má tendenci se více „vymykat“ a generovat méně relevantní odpovědi, pokud není prompt precizně formulován.
  5. Pro některé specializované aplikace nebo scénáře, kde jsou klíčové existující integrace, může být GPT-4 vhodnější volbou díky své rozšířenosti a kompatibilitě.

Jak jsem ale psal, ten rozdíl je někdy fakt nepatrný a občas ve prospěch nového modelu. Hlavně ale díky opravdu výrazně vyšší rychlosti generování textů a pro vývojáře i díky výrazně nižší ceně, se někdy vyplatí prostě vylepšit zadání či rozdělit prompt na několik podúkolů, protože prostě výsledek pak bude stejně kvalitní, rychleji a levněji.

Velkou výhodou modelu GPT-4o v ChatGPT je také fakt, že díky mnohem menší náročnosti máte pro jeho využívání 2× větší limity, tj. s placeným tarifem Plus můžete udělat během 3 hodin až 80 dotazů na tento nový model (u tarifu Team je to nejspíš až 160).

GPT-4o mini – ještě rychleji a levněji

Vedle GPT-4o, který měl ambici nahradit GPT-4, přišla OpenAI i se zjednodušeným modelem GPT-4o mini, který v ChatGPT zcela nahradil původní GPT 3.5, tj. je tím modelem, který odpovídá uživatelům bezplatného ChatGPT, nebo platícím uživatelům, kteří překročili limit na počet dotazů v daném časovém okně. Jak se tedy liší a k čemu se hodí?

  1. Omezené multimodální schopnosti: GPT-4o mini v současnosti podporuje pouze text a obraz, zatímco GPT-4o plně podporuje text, obraz, zvuk i video. Pro komplexní multimodální úlohy zahrnující zvuk a video je GPT-4o jasně lepší volbou.
  2. Menší model a datová sada: GPT-4o mini je trénován na menší datové sadě a má menší počet parametrů než GPT-4o. To může vést k méně přesným a podrobným odpovědím, zejména u náročnějších dotazů vyžadujících hlubší porozumění a znalosti.
  3. Horší výkon v pokročilých úlohách: Vzhledem ke své menší velikosti a omezenějšímu tréninku může GPT-4o mini zaostávat za GPT-4o v úlohách vyžadujících pokročilé uvažování, analýzu a logiku. Pro náročné aplikace jako je výzkum, akademické psaní nebo komplexní rozhodování je GPT-4o spolehlivější volbou.
  4. Omezená kreativita a flexibilita: GPT-4o mini může generovat méně kreativní a rozmanité odpovědi ve srovnání s GPT-4o. Pro úlohy vyžadující vysokou míru originality, jako je tvorba obsahu nebo generování nápadů, může být GPT-4o mini příliš omezující.

I přes to všechno je ale výrazně lepší než dnes už opravdu zastaralý model GPT 3.5 (který jak jsem psal v úvodu, je jen dotrénovaným modelem GPT verze 3, představeným už v roce 2020). Rozdíly ukazuje toto srovnání

image-648
Srovnání kvality odpovědí GPT-4o mini s dalšími „fast“ modely, vlastními i od konkurence

Cena GPT-4o a GPT-4o mini pro vývojáře

Pakliže používáte samotný jazykový model GPT, typicky jako vývojář, tak platíte podle počtu spotřebovaných tokenů – jednak na vstupu (tj. typicky prompt + kontext + předchozí konverzace), tak na výstupu (tedy vygenerovaná odpověď). Nové modely jsou výrazně méně datově náročné a tak mohla OpenAI snížit jejich ceny. Připravil jsem pro vás proto srovnání, které je srovnává nejen mezi sebou, ale i vůči konkurenci.

ModelInputOutputPoznámky
GPT-4$30.00$60.008k kontext
-50 % s Batch API
GPT-4-32K$60.00$120.0032k kontext
-50 % s Batch API
GPT-3.5$0.5-$3$1.5-$44k-16k kontext
-50 % s Batch API
GPT-4o$5.00$15.00128k kontext
max. 2K odpověď
-50 % s Batch API
GPT-4o-2024-08-06$2.50$10.00max 16k odpověď
-50 % s Batch API
GPT-4o mini$0.15$0.60-50 % s Batch API
Claude 3 Haiku$0.25$1.25200k kontext,
Claude 3.5 Sonet$3$15200k kontext
Claude 3 Opus$15$75200k kontext
Gemini 1.5 Flash$0.075 / $0.15$0.30 / $0.65Prompty do/nad 128k tokenů, 2000 RPM, 4M TPM
Gemini 1.5 Pro$1.25 / $2.50$5.00 / $10.00Prompty do/nad 128k tokenů, 1000 RPM, 4M TPM
Gemini 1.0 Pro$0.50$1.50360 RPM, 120k TPM, 30k RPD
Cenové srovnání API jazykových modelů OpenAI (GPT), Anthropic (Claude) a Google (Gemini)
Poznámky:
  • input/output ceny: uvedeny v USD za milion tokenů na vstupu resp. výstupu
  • ×k kontext: velikost kontextového okna v 1000 tokenech (16k kontext = 16 000 tokenů)
  • -50 % s Batch API: GPT umožňuje snížit cenu na polovic u dotazů, kde má OpenAI 24 až hodin na vrácení odpovědi (využije se tedy méně vytížený čas)
  • RPM (Request per minute): maximální počet požadavků za minutu
  • TPM (Tokens per minute): maximální počet tokenů za minutu
  • RPD (Request per day): maximální počet požadavků za den
  • Ceny u Gemini 1.5 Pro: uvádím už rovnou nové, výrazně snížené ceny platné od 1. října.
  • Free tier u Google Gemini: je zde i bezplatná úroveň s výraznými omezeními (například 15 RPM, 1M TPM, 1500 RPD u Gemini 1.5 Flash), ale na takové to běžné testování to obvykle úplně stačí.

Pro přehlednost jsem pro vás (resp. můj ChatGPT) připravil i grafické porovnání cen, pro větší přehlednost zvlášť malé / starší modely, zvlášť větší / náročnější modely.

image-649
Ceny API menších / starších jazykových modelů
image-650
Ceny API velkých jazykových modelů

Z obou grafů je hezky vidět, jak GPT-4o resp. GPT-4o mini, mají velmi dobrou cenovou úroveň, konkurence zjevně funguje.

O čem bude 2. část?

Jazykové modely můžete přepínat v záhlaví ChatGPT, dokonce i neplatící uživatelé nyní mohou několik (velmi) málo dotazů položit pomocí lepšího modelu GPT-4o, než je to přehodí na onen výrazně horší GPT-4o mini a znemožní používat pokročilé funkce ChatGPT jako hledání na internetu, asistenty či interpret kódu. Můžete také nechat vygenerovat odpověď na zadání jiným modelem posledním tlačítkem u každé odpovědi ChatGPT.

image-651
Přepínání modelů v ChatGPT

V posledních týdnech jste si tam mohli všimnout nových modelů o1-preview a o1-mini (už ne GPT). A právě o nich si povíme příště, takže jestli jste se ještě nezaregistrovali, tak to udělejte, aby vám nový článek neunikl. A jestli jste předevčírem nečetli článek ChatGPT Advanced Voice – lepší hlasový AI asistent, tak to honem rychle jděte napravit.

Jinak právě dávám dohromady nová AI školení, první budou zřejmě v druhé půli října, tak se neváhejte předběžně registrovat, pošlu vám pak více informací.

Nové články sem přidávám porůznu, tak jestli nechcete, aby vám něco uniklo, přidejte si můj feed do RSS čtečky, sledujte můj Twitter, Facebook a LinkedIn, případně si nechte nové příspěvky posílat mailem (žádný spam!)