Citat:
Ursprungligen postat av
Ola Schubert
Jag har bara sett början av videon och tycker att Chollet argumenterar väl. Men innan LLM "zommar in" till dess "meningsrymd" så måste väl modellerna, först "befinna sig i" en större "kaos-rymd med en massa orellaterade tokens, detta bör väl ge en viss chans för oväntat beteende och, mera sällsynt," kreativitet?
Jag förstår ärligt talat inte vad du pratar om. Det känns som du hittat på en egen mental modell om hur språkmodeller fungerar snarare än hur de faktiskt fungerar. Jag har redan förklarat för dig att om du vill förstå hur tex ChatGPT fungerar så kan du börja med att studera markovkedjor, det var för övrigt bland de första NLP försök som gjordes, nu är tex GPT lite mer avancerad eftersom det är ett utvecklat koncept men det verkar vara ett gravt missförstånd här och det är just det här med artificiella neurala nätverk, för en markovkedja är effektivt en lookup table, vad är en lookup table egentligen då? Det är en tabell där du kan slå upp ett givet värde för Y, vad händer tex om du i en lookup table spelar in tex vad sin(Y) blir för alla Y du har? Det ger en lista där du kan slå upp vad beräkningen av sin(Y) skulle vara för varje Y. Problemet är att en lookup table behöver lika mycket minne som den upplösning du försöker slå upp, så vad har vi då för alternativ? Ja tex ett artificiellt neuralt nätverk, som kan agera väldigt likt en lookuptable (eftersom det egentligen bygger på linjär algebra) där du med träning kan sofistikera kurvan du försöker slå upp.
Det har inget, absolut ingenting med tänkande, "modellering av världen" osv att göra. Det handlar enbart om kurvanpassning och att retrospektivt interpolera information (det är det som är grundpelaren i vad man önskar/hoppas på att nätverken ska generalisera, är de för exakta så blir det identiska till en lookuptable).
Så vad är det jag försöker säga? Att teoretiskt skulle en språkmodell fungera minst lika bra kanske tom bättre och exaktare med en lookup table, varför använder man inte det då? För precis av den anledningen jag beskrev ovan att en lookup table håller ett absolut värde för varje Y vilket snabbt kräver astronomiska mängder minne, medans ett neuralt nätverk approximerar funktionen av Y vilket är ett "kompaktare" eftersom du effektivt definerar en funktion för Y i stället för ett värde för varje givet Y. Det är hela orsaken till precis allt AI (i alla fall deep learning) i dag, och anledningen till "komprimering av data" i ett artificiellt neuralt nätverk. Det är inte mer magiskt än så, därav också anledningen det är enormt frustrerande och rent av löjligt att läsa när personer hittar på sina egna teser om hur saker och ting fungerar med AI när de uppenbart inte förstår ens det mest grundläggande om hur det faktiskt fungerar.
Du kommer aldrig någonsin kunna diskutera dig fram med ChatGPT hur det fungerar i sig, eftersom modellen helt enkelt inte vet det.
Och huvudsaken jag försöker demonstrera här är att en markovkedja fungerar i effekt identiskt med hur GPT gör givet man tar hänsyn till n-input tokens antal tidigare inmatningar.
Jag har förövrigt själv experimenterat med detta för 15-20 år sedan, en 1-gram markovkedja ger kreativ text men grammatiskt felaktig, ju mer du ökar antalet tidigare grams du tar i avseende så får du grammatiskt korrekt och faktuell korrekthet, det du däremot inte får är massa "hallicinuationer" eftersom det är ett resultat av sampling utanför distributionen och där en lookuptable ger 0 resultat om du befinner dig utanför distributionen så gör inte ett neuralt nätverk det, i kombination med att du använder softmax som normaliserar alternativen så är dessutom out-of-distribution lika "sant" för GPT som in-distribution.