Citat:
Ursprungligen postat av
guru1966
Att representera orddelar (tokens) istället för enskilda bokstäver numeriskt underlättar att den kan avgöra vilka ord som är synonymer. Under träningen lär sig modellen numeriska vektorrepresentationer (embeddings) där ord, fraser och hela meningar som används i liknande sammanhang hamnar nära varandra i en högdimensionell vektorrymd. Synonyma meningar hamnar nära varandra och motsatsord ofta längre ifrån varandra. En form av "förståelse" som går djupare än ren ordboksförståelse men ändå är ganska ytlig (men när jag säger att AI kan förstå syftar jag på djupare förståelse som den uppvisar när den har tränats att resonera logiskt och tillämpa kunskap på helt nya problem).
Jag har aldrig märkt problem med att avgöra vad som är jämna och udda tal. När ChatGPT var nytt fick jag till exempel förklara att näst sista siffran i svenska personnummer anger juridiskt kön (jämn för kvinnor, udda för män), och då kunde modellen använda regeln korrekt. Dagens modeller klarar det utan att jag behöver förklara.
I början hade ChatGPT problem med att beräkna divisioner exakt – den gissade ungefär rätt utifrån andra liknande divisioner den kände till. Man fick be den "gör en divisionsuppställning steg för steg" – då blev det exakt rätt. Numera kompletteras många LLM med externa verktyg. ChatGPT kan till exempel generera Python-kod och köra den för att utföra exakta beräkningar.
På samma sätt som att en människa inte bara använder språksinnet (vår motsvarighet till LLM) när hon tänker, utan även andra center i hjärnan (vår motsvarighet till verktyg).
Som jag skrev, det faller ihop som ett korthus om man inte använder grovapproximering av orden.
Precis på samma sätt som en markovkedja inte genererar något förståeligt om du indexerar på bokstavsnivå i stället för ord nivå, embeddings är inget den lär sig, det är något som formas av SGD... att det är högdimensionellt beror inte på något annat än formen på transformerlagret, dvs varje "neuron" bildar en egen axel.
Det har inget med förståelse att göra utan ett samband som extraheras ur träningsdatan eftersom människor använt just de sekvenserna i just det sammanhanget. det är också varför modellerna är så bra på att översätta- som transformers skapades för.
Jag skrev FFN nätverk, inte en transformer eller en språk model. Det ÄR omöjligt att lära ett FNN skilja på udda och jämt utan att lägga till ytterligare mekanismer eller koda input på något sätt, skulle du träna på skalärer så kommer det lära sig för träningssettet men det misslyckas totalt på ett nytt tal. Anledningen är att neurala nätverk egentligen lär sig genom curve fitting och approximering, just udda/jämt är ett högfrekvent sågtandsmönster som du inte kan approximera.
Hur mänskliga hjärnan fungerar låter jag vara osagt, eftersom ingen vet detta i detalj. Att kalla "språkcentrat" motsvarighet till LLM kanske är rimligt, även om det inte finns en chans att det mänskliga språkcentrat opererar utifrån principen att förutsäga nästa "delstavelse" eller förutsäga något överhuvudtaget...
Dvs därför är liknelsen språkcentra och LLM, lika meningsfull som att jämföra en häst och en motorcykel.