Kielimallit ja Amiga

Saku-foorumi » Classic Amiga » Yleinen keskustelu » Kielimallit ja Amiga « Edellinen Seuraava »

Kirjoittaja Viesti
 

Jani Kuituniemi
Käyttäjätunnus: janik

Rekisteröity: 10-2009
Keskiviikkona, 27. toukokuuta, 2026 - klo 9.50:   
Sattuipa olemaan muutama tunti vapaata aika tuossa ja kun kielimallien (LLM) ajaminen, erityisesti lokaalisti, on uusin villitys niin mielessä kyti ajatus; mahtaisiko tuollainen temppu onnistua myös wanhalla Amigalla? Löysin sattumalta Andrej Karpathyn projektin 'llama2.c' joka näytti sopivalta kohteelta porttausta ajatellen. Aika pienellä työlllä tuon loppujen lopuksi sai sellaiseen muotoon, joka kääntyy myös Amigalla iki-vihreällä GCC 2.95.x versiolla. Lisäsin siihen myös endian-hallinnan, koska nuo kielimallithan on oletuksena nykyään little-endian muodossa, joten latauksen yhteydessä ne pitää kääntää 680x0:lle sopivaan big-endian muotoon.

Lopputuloksena tälläinen tuotos:

https://github.com/jkuituni/Schnecke_LLM

Mitään järkeähän tässä ei ollut, mutta toisaalta, miksipä ei? :-)

 

itix
Käyttäjätunnus: itix

Rekisteröity: 6-2009
Maanantaina, 1. kesäkuuta, 2026 - klo 23.57:   
Siitä ei saa millään nopeata. Nopeammaksi kyllä, mutta on ihan hyvät syyt miksi noita ajetaan näytönohjaimilla...

 

Jani Kuituniemi
Käyttäjätunnus: janik

Rekisteröity: 10-2009
Tiistaina, 2. kesäkuuta, 2026 - klo 8.51:   
Juu, ilman muuta. Optimoinnin varaa tuolla koodissa kyllä on ihan kohtuullisesti, erityisesti jos haluaisi esimerkiksi rajoittautua Q8 kielimalleihin. Voisi vaikkapa osan laskennasta tehdä integereinä ja vielä niin, että saisi GCC:n generoimaan koodin niin, että voisi hyödyntää molempia 060:n ALU:ja rinnakkain, mutta ei siitä saa ikinä mitenkään käytettävän nopeaa edes noilla minimalistisen kokoisilla kielimalleilla. Ja tuossa sitten menetettäisiin äkkiä portattavuutta ja yhteensopivuutta eri kielimallien kanssa, joten en lähtenyt siihen. Toisaalta, ei kai kukaan odottanutkaan, että tämä pyörisi salamannopeasti.. Tämä oli/on puhtaasti oppimis-projekti siitä, miten kielimallien ajaminen oikeastaan toimii pellin alla ja sellainen "just because" PoC aiheesta.

Projektin nimikin on juuri siksi tuollainen kuin se on :-)

 

itix
Käyttäjätunnus: itix

Rekisteröity: 6-2009
Tiistaina, 2. kesäkuuta, 2026 - klo 12.55:   
Tuota lähdekoodia tuli katsottua aiemmin mielenkiinnosta ja vähän työn puoilesta. Tuolla on esimerkiksi matmul() joka näyttäisi olevan n*m ja pelkkää kertolaskua, ja 060 CPU:ssa on vain yksi kertolaskuyksikkö. Isompi rajoite lienee kuitenkin muistikaista. Vaikka CPU:ssa riittäisi potku niin muistiväylä on kapea.

Ehkä mitä yrittäisin niin koittaa muokata algoritmeja niin että ne käyttävät L1 cachea mahdollisimman tarkkaan. Se miten sen tekee onkin vaikeampi juttu... :-)

Lisää viestisi tähän
Viestisi:
Käyttäjätunnus: Postitus informaatiota:
Tämä on yksityinen keskustelupalsta. Vain rekisteröidyt käyttäjät ja moderaattorit voivat postittaa tänne.
Salasana:
valinnat: Aktivoi URL:t automaattisesti tässä viestissä
Toimenpide: