Předpovídání pomocí LLM

Pár zkušeností s předpovídáním s využitím jazykových modelů:

1) Gemini: i když mám zkušební přístup k Ultra verzi, Gemini se neosvědčilo, protože dává pokaždé jiné předpovědi. Zřejmě by pomohlo nastavit temperature na nižší hodnotu, ale v Česku není Gemini API, takže můžu využívat jenom webovou aplikaci. Dá se zde zadat něco kolem 31000 znaků, což je dost, ale nestačí to na spoustu dat. To se dá obejít zadáním dodatečných dat do dalších zpráv. Výhoda samozřejmě je, že toto vše je úplně zdarma a ani se mi nepodařilo narazit na žádný limit, jako je třeba u ChatGPT+. Mega jsem ale excited ohledně přicházející generace 1.5, která by schopnosti přepovídání mohla opět posunout. Navíc do obřího kontextu by se mohlo vejít opravdu hodně informací. Budu ale preferovat API.

2) GPT-4 Turbo: zde už je k dispozici API, takže to je zajímavější. Zkoušel jsem se ptát na různé věci, vítěze utkání, počty gólů atd. Kvalita argumentace byla mnohdy pro mě překvapivá. AI uvažování jistě patří budoucnost.

3) Zásady pro LLM předpovídání:
Pokusil jsem se identifikovat pár zásad, kterými se řídit, pokud chceme po LLM (nevím jestli přesnou, ale určitě dobře odůvodněnou) predikci.
3.1: spousta dat
3.2: data z různých zdrojů
3.3: různá data (statistiky i názory expertů atd)
3.4: klasifikace, ne regrese (pokud chceme po LLM určit pravděpodobnost vítězství týmu nebo přesný počet gólů, předpověď bude méně přesná než když budeme chtít vědět jen méně/více než. (Pozor, když jde o sázení, vždy se ptejme na pravděpodobnost hranice s kurzem 2, ne to co nabízejí sázkové společnosti ani „rovinu“ např. 1,84, což pořád nestačí k našemu zisku).
3.5: chtějte napřed napsat dlouhou analýzu, nechte AI ať se zamyslí, pak ať odpoví podle té analýzy
3.6: temperature nastavit asi na 0 nebo nízkou hodnotu
3.7: nejdůležitější zásada: nemyslet si, že dnešní jazykové modely dokážou překonat bookmakery, pořád to jen zkoumáme a nemáme ani dost dobré modely ani dost dobrá data
3.8: co už dnes AI ale dokáže, je být při sázení užitečná: shrne argumenty pro a proti vítězství nějakého týmu nebo najde, na čem se experti shodují a v čem se rozcházejí, proto pokud hledáte pomocníka pro sázení (ale nejde jen o sázení, klidně pro jiné předpovědi), vidím v tomto velkou pomoc

Napadnou Vás další zásady?

4) Problém: jako neexpert nemůžu posoudit kvalitu AI argumentů (je tu někdo, kdo se fakt vyzná v basketbalu, hokeji či fotbalu a chtěl by to zkusit?), takže mi asi zbývá jen vygenerovat spoustu predikcí a srovnávat je například s kurzy bookmakerů. To samozřejmě není možné, už protože sběr dat je velmi pracný a posbírat data pro tisíce zápasů by mohlo trvat roky.

---- Odbočka: jak usnadnit sběr dat? ------

Navrhl jsem tento způsob získání dat pro AI: skupina fanoušků, expertů, sázkařů atd by chvíli chatovala o nějaké sázkové příležitosti, řekněme třeba o tom, kolik padne gólů ve fotbalovém zápase. Představili by své argumenty, byla by to velmi věcná konverzace. Takhle by mohli probrat i větší množství sázkových příležitostí. Historii konverzace by bylo možné stáhnout a dala by se AI, která by ji použila jako data pro předpověď.

Proč by to mohlo fungovat:
1️⃣ moudrost davu: v datech by byla zahrnuta spousta názorů a jak známo, i bookmakeři využívají týmy expertů, kurzy pohybuje masa sázkařů, spousta trochu chytrých lidí je prostě chytřejší než skupinka hodně chytrých.
2️⃣ variabilita názorů a argumentů: každý z nás by přinesl něco svého, takže AI by měla s čím pracovat
3️⃣ v datech budou takto zahrnuta různá data, každý má svoje oblíbené zdroje a podle toho bude argumentovat
4️⃣ ale i subjektivní kontext těch dat a jejich interpretace, které jim dodají účastníci projektu, což je pro předpovídání také cenné, protože nejen čísly je člověk živ

Samozřejmě by nebylo lehké najít dost znalců např. fotbalu. Jistě, podíleli by se na zajímavém projektu, data a předpovědi by byly dostupné všem, ale stačilo by to? Napadlo mě, že pro motivaci k účasti a chytrému argumentování by se mohli odměňovat účastníci, které AI označí jako nejpřínosnější pro svoji predikci. Bohužel toto je pro mě nemožné zorganizovat, tak to sem dávám jenom jako nápad, jak ty naše brzy skoro dokonalé AI modely snadno krmit daty.

---- Konec odbočky -------

5) Řešení: využívat snadno dostupná data. Spousta dat např. o významných sportovních ligách je k dispozici přes API nebo ve formě datasetů např. na Kaggle. Bohužel tato data jsou velmi omezená.
Což ale nemusí vždy vadit? Například pro odhad zbývajícího počtu bodů v basketu bookmakeři využívají svoji předzápasovou předpověď. Mohlo by být snadné tuto překonat?

6) Embeddings: Stáhl jsem tedy spoustu popisů zápasů v NBA (tzv. play by play). Toto jsem převedl na embeddings vektory. Ty jsou například zde ve skupině myslím podceňované. Neumí odpovídat na otázky, ale slouží nejen jako skvělý převod mezi textem a číselnými proměnnými, ale například i pro zjištění podobnosti významů textů atd. A jsou levné. Zpět k předpovídání. Já jsem využil small embeddings model od OpenAI, který nepatří k nejlepším, ale je levný a snadno použitelný. Dá se zde nastavit i počet dimenzí, který jsem nastavil na 250. Se snížením počtu se ztrácí trochu významu, ale má to i výhodu menšího overfittingu při machine learningu, stačí tedy méně vzorků. S přibližně 3500 vzorky play by play z prvních poločasů NBA jsem se pokusil vytvořit model pro předpověď počtu bodů ve druhém. Zdá se, že to něco předpovídá: pokud bychom vždycky uvažovali průměr, byly by průměrná a mediánová absolutní chyba o dost větší. Jak si můj model vede ve srovnání s bookmakery? Zdá se, že je srovnatelně dobrý, což se dá považovat za úspěch při úplně jiném přístupu. 
Později bylo otestováno, že by tento model mohl být při sázení úspěšný. 

Příspěvek zakončím tímto shrnutím:
1) LLM předpovídání ještě není dokonalé, ale zlepšuje se
2) Velkým problémem je dostupnost dat a ověřitelnost kvality predikcí
3) Oboje částečně řeší využití dostupných datasetů a embeddings modelů.

Je to tedy AI převádění přirozeného jazyka do čísel, v čem je současnost? A budoucnost v samostatném LLM uvažování? Do té doby, spolu se zlepšováním modelů, bude třeba vytvořit efektivní a nejspíš automatizované postupy sběru dat.

Komentáře