Tesla sai AI5-piirin valmiiksi

Tässä säikeessä on paljon väärinkäsityksiä, jotka eivät pidä paikkaansa. Käytettävä laskentatarkkuus ei juurikaan vaikuta vaikkapa muistiväylien kokoon: pienemmillä laskentatarkkuuksilla matriisien koko vain vastaavasti kasvaa. Lisäksi useimmiten tensorien muistilayout on blokitettu niin, että aina vedetään tietty määrä muistista, esim. 32 tai 128 tavua. Eli, laskentatarkkuus ja muistiväylien koot ovat pääosin erillisiä asioita.

Lähes kaikki neuroverkon vaatima laskentanopeus ja muistikaistavaatimukset, riippuvat itse verkon arkkitehtuurista, ei niinkään mihin käyttötarkoitukseen verkkoa käytetään. Verkon arkkitehtuuri määrittää optimaalisen datavirran piirin läpi, ei käyttötarkoitus. Lisäksi, eri kuva/videoprosessointiin käytettävät verkkoarkkitehtuurit voivat olla dramaattisesti erilaisia: Esimerkiksi ViT, traditionaalinen konvoluutioverkko, ja ConvNext-tyylinen syyvyysseparoituvaan konvoluutioon perustuva verkko, johtavant varsin erilaisiin datavirtoihin.

Piirin rakentaminen vain yhdelle spesifiselle arkkitehtuurille voi johtaa siihen, että piiri on jo "vanhentunut syntyessään" kun verkon arkkitehtuuria on paranneltu. Näin on käynyt mm. "NPU"-piireille kuten Apple Neural Engine, mitkä olivat suunniteltu perinteisiä konvoverkkoja varten, eivätkä sovi hyvin moderneihin arkkitehtuureihin.

Ja sitten tämä latenssikeskustelu: Pääasia mikä vaikuttaa tähän, on se kuinka suuriin matriiseihin verkko on suunniteltu. Kuitenkin, kuvaverkoissa joissa viive on kymmeniä millisekunteja, on kysymys suhteellisen teoreettinen. Viive tulee ongelmaksi lähinnä hyvin pienen viiveen verkoissa (<< 1 ms), tai erittäin pienen viiveen LLM-inferenssissä, joissa painojen määrä on todella paljon isompi aktivaatioihin nähden. Kumpikaan näistä ei pidä paikkansa kuitenkaan kuvaverkoissa.
 
Kaikki tämä keskustelu on kuitenkin teoreettista, koska AI5-piirin arkkitehtuuria ja speksejä ei ole julkistettu. Muisikaistan suhteen piiri on jossain 1 TB/s luokassa, joka on samaa tasoa RTX 5080 kanssa.
 
Lähes kaikki neuroverkon vaatima laskentanopeus ja muistikaistavaatimukset, riippuvat itse verkon arkkitehtuurista, ei niinkään mihin käyttötarkoitukseen verkkoa käytetään. Verkon arkkitehtuuri määrittää optimaalisen datavirran piirin läpi, ei käyttötarkoitus.
Mutta taas arkkitehtuuri valitaan sen mukaan miten voidaan toteuttaa laskenta valittua käyttötarkoitusta varten. Käyttötarkoitus siis määrää lopulta kaiken.

Sinänsä on kyllä ihan totta että jonkun tietyn arkkitehtuurin verkko tietyssä koossa tietyllä raudalla rullaa yhtä nopeasti läpi oli sen käyttötarkoitus mitä tahansa.
 
Kaikki tämä keskustelu on kuitenkin teoreettista, koska AI5-piirin arkkitehtuuria ja speksejä ei ole julkistettu. Muisikaistan suhteen piiri on jossain 1 TB/s luokassa, joka on samaa tasoa RTX 5080 kanssa.
Tälleen sivusta huutelen sen verta, että nvidian omassakin autoraudassa on erillinen matriisikiihdytin eikä pelkkää gpu:ta. Asioilla on puolensa, yksi koko ei ole kaikkeen paras. Rajoituksia lisäämällä voi saada enempi irti kuin geneerisestä. Nvidiahan käyttää tätä argumenttina miksi heidän gpu voittaa ja valmistajaspesifiset asic:it eivät vie markkinaa. Toisaalta teslan kannalta heidän softapinolle optimoitu rauta on oikein järkevä tapa edetä.
 
Mutta taas arkkitehtuuri valitaan sen mukaan miten voidaan toteuttaa laskenta valittua käyttötarkoitusta varten. Käyttötarkoitus siis määrää lopulta kaiken.

Sinänsä on kyllä ihan totta että jonkun tietyn arkkitehtuurin verkko tietyssä koossa tietyllä raudalla rullaa yhtä nopeasti läpi oli sen käyttötarkoitus mitä tahansa.
Toki, mutta kehitys kehittyy. Se mitä päätit tehdä 5v sitten, ei välttämättä ole enää mitä haluat tänään. Rauta joka on ohjelmoitava, ja soveltuu monille arkkitehtuureille, on paljon hyödyllisempi kuin mikä ei sitä tee.

Tämä asia on kiihdytetyn laskennan perusongelma, miten balanssoida joustavuus, ohjelmoitavuus ja nopeus. Moni firma on lähtenyt soitellen sotaan, ja epäonnistunut markkinoilla.
 
Toki, mutta kehitys kehittyy. Se mitä päätit tehdä 5v sitten, ei välttämättä ole enää mitä haluat tänään. Rauta joka on ohjelmoitava, ja soveltuu monille arkkitehtuureille, on paljon hyödyllisempi kuin mikä ei sitä tee.

Tämä asia on kiihdytetyn laskennan perusongelma, miten balanssoida joustavuus, ohjelmoitavuus ja nopeus. Moni firma on lähtenyt soitellen sotaan, ja epäonnistunut markkinoilla.
Täysin samaa mieltä. Vaikea olis nyt arvata kolmen vuoden päähän että millaset laskentayksiköt kannattais laittaa. Siis vaikka olisi joku toimiva malli jollekkin nykyarkkitehtuurille toteutettuna, jonka haluaisi deployata jollekkin kustom raudalle.

Ala kehittyy valtavaa tahtia ja luulen että kiihtyy vielä.
 
Tälleen sivusta huutelen sen verta, että nvidian omassakin autoraudassa on erillinen matriisikiihdytin eikä pelkkää gpu:ta. Asioilla on puolensa, yksi koko ei ole kaikkeen paras. Rajoituksia lisäämällä voi saada enempi irti kuin geneerisestä. Nvidiahan käyttää tätä argumenttina miksi heidän gpu voittaa ja valmistajaspesifiset asic:it eivät vie markkinaa. Toisaalta teslan kannalta heidän softapinolle optimoitu rauta on oikein järkevä tapa edetä.
Jos katsotaan Nvidian uusinta robotiikkapiiriä, Jetson Thor:ia, niin sen tensorilaskenta tulee pääosin tensoriytimestä (UTCMMA), ei NVDLA:sta.
 
Toki, mutta kehitys kehittyy. Se mitä päätit tehdä 5v sitten, ei välttämättä ole enää mitä haluat tänään. Rauta joka on ohjelmoitava, ja soveltuu monille arkkitehtuureille, on paljon hyödyllisempi kuin mikä ei sitä tee.

Tämä asia on kiihdytetyn laskennan perusongelma, miten balanssoida joustavuus, ohjelmoitavuus ja nopeus. Moni firma on lähtenyt soitellen sotaan, ja epäonnistunut markkinoilla.
Teslalla on jo oma pino joka toimii, juuri hyväksyttiin hollannissakin käyttöön. Tesla tietää hyvin mitä softaa tulevat ajamaan. Reilu 10v tesla jo tuota pinoa yhdessä tai toisessa muodossa vääntänyt kasaan. Todennäköisesti konesaliraudassa on jo ajossa isompaa mallia mikä ei mahdu nykyiseen hw4:een ja ajetaan sitten ai5:ssa. Asia on erilainen jos teet rautaa firmassa X ja yrität myydä sitä sitten firmoille a,b,c,d... Tesla ei ai5:sta aio myydä kenellekkään, menee vain heidän omiin roboihin, konesaleihin ja myöhemmin myös autoihin. Nvidia on juuri tämä taho joka yrittää myydä a,b,c,d firmoille jolloin heidän on pakko tehdä geneerinen ratkaisu toisin kuin teslan.

Tämän sisällön näkemiseksi tarvitsemme suostumuksesi kolmannen osapuolen evästeiden hyväksymiseen.
Lisätietoja löydät evästesivultamme.

Linkki: https://www.youtube.com/watch?v=vsmQrDqMwcI
 
Tesla tietää hyvin mitä softaa tulevat ajamaan. Reilu 10v tesla jo tuota pinoa yhdessä tai toisessa muodossa vääntänyt kasaan.
Jos tietäisivät mitä tulevat ajamaan tulevaisuudessa, eiväthän he tarvitsisi tehdä 6 rautaversiota. Teslahan lupaili että auto on täysin autonominen, eikä tarvitse kuskia, jo melkein 10v sitten. Ei ole vielä tapahtunut...
 
Kaistavahteja nyt on muiltakin valmistajilta.

Kattellaan sitten kun FSD saadaan markkinoille että mitä on jäljellä nykyisestä pinosta.
Ei se mikään kaistavahti ole edes kärjistäen, ihan turvaa provoilua tuollainen.
 
Tässä säikeessä on paljon väärinkäsityksiä, jotka eivät pidä paikkaansa. Käytettävä laskentatarkkuus ei juurikaan vaikuta vaikkapa muistiväylien kokoon: pienemmillä laskentatarkkuuksilla matriisien koko vain vastaavasti kasvaa. Lisäksi useimmiten tensorien muistilayout on blokitettu niin, että aina vedetään tietty määrä muistista, esim. 32 tai 128 tavua. Eli, laskentatarkkuus ja muistiväylien koot ovat pääosin erillisiä asioita.

Lähes kaikki neuroverkon vaatima laskentanopeus ja muistikaistavaatimukset, riippuvat itse verkon arkkitehtuurista, ei niinkään mihin käyttötarkoitukseen verkkoa käytetään. Verkon arkkitehtuuri määrittää optimaalisen datavirran piirin läpi, ei käyttötarkoitus. Lisäksi, eri kuva/videoprosessointiin käytettävät verkkoarkkitehtuurit voivat olla dramaattisesti erilaisia: Esimerkiksi ViT, traditionaalinen konvoluutioverkko, ja ConvNext-tyylinen syyvyysseparoituvaan konvoluutioon perustuva verkko, johtavant varsin erilaisiin datavirtoihin.

Piirin rakentaminen vain yhdelle spesifiselle arkkitehtuurille voi johtaa siihen, että piiri on jo "vanhentunut syntyessään" kun verkon arkkitehtuuria on paranneltu. Näin on käynyt mm. "NPU"-piireille kuten Apple Neural Engine, mitkä olivat suunniteltu perinteisiä konvoverkkoja varten, eivätkä sovi hyvin moderneihin arkkitehtuureihin.

Ja sitten tämä latenssikeskustelu: Pääasia mikä vaikuttaa tähän, on se kuinka suuriin matriiseihin verkko on suunniteltu. Kuitenkin, kuvaverkoissa joissa viive on kymmeniä millisekunteja, on kysymys suhteellisen teoreettinen. Viive tulee ongelmaksi lähinnä hyvin pienen viiveen verkoissa (<< 1 ms), tai erittäin pienen viiveen LLM-inferenssissä, joissa painojen määrä on todella paljon isompi aktivaatioihin nähden. Kumpikaan näistä ei pidä paikkansa kuitenkaan kuvaverkoissa.

Olet oikeassa siinä että tarkka verkko määrittää lopullisen laskentatarpen ja dataflown mutta siitä ei seuraa että rautaa ei voisi optimoida etukäteen. Käytännössä optimoidaan laskentaluokalle (dense tensor compute, memory/latency -rajoitteet) jonka sisällä eri arkkitehtuurit elävät ja juuri siksi sama rauta pystyy ajamaan CNN, ViT ja ConvNext-tyyppisiä malleja ilman että se on “vanhentunut syntyessään”.
 
Olet oikeassa siinä että tarkka verkko määrittää lopullisen laskentatarpen ja dataflown mutta siitä ei seuraa että rautaa ei voisi optimoida etukäteen. Käytännössä optimoidaan laskentaluokalle (dense tensor compute, memory/latency -rajoitteet) jonka sisällä eri arkkitehtuurit elävät ja juuri siksi sama rauta pystyy ajamaan CNN, ViT ja ConvNext-tyyppisiä malleja ilman että se on “vanhentunut syntyessään”.
Jos teet hyperspesifisen raudan jollekin tietylle arkkitehtuurille, niin voit poistaa kaiken "ylimääräisen", säästäen kustannuksia. Mutta silloin et enää pysty ajamaan erilaisia verkkoja raudalla nopeasti. Mitä geneerisempi rauta on, sitä vaikeammaksi tulee tehdä rauta sellaiseksi että sillä voi ajaa erilaisia arkkitehtuureja nopeasti.

Eli se, että "tehdään rauta täsmälleen siihen tarpeeseen mitä nyt on", on fundamentaalisesti ristiriidassa sen kanssa, että "rakennetaan rauta jolla voi ajaa erilaisia verkkoja".

Toki ei pystytä sanomaan mihin tämä piiri edes sijoittuu tässä, kun arkkitehtuuri ei ole julkinen.
 
Jos teet hyperspesifisen raudan jollekin tietylle arkkitehtuurille, niin voit poistaa kaiken "ylimääräisen", säästäen kustannuksia. Mutta silloin et enää pysty ajamaan erilaisia verkkoja raudalla nopeasti. Mitä geneerisempi rauta on, sitä vaikeammaksi tulee tehdä rauta sellaiseksi että sillä voi ajaa erilaisia arkkitehtuureja nopeasti.

Eli se, että "tehdään rauta täsmälleen siihen tarpeeseen mitä nyt on", on fundamentaalisesti ristiriidassa sen kanssa, että "rakennetaan rauta jolla voi ajaa erilaisia verkkoja".

Toki ei pystytä sanomaan mihin tämä piiri edes sijoittuu tässä, kun arkkitehtuuri ei ole julkinen.
Olet oikeassa tradeoffista mutta se ei ole binäärinen ristiriita koska käytänössä optimoidaan laskentaluokalle (tensor compute, memory/latency-profiili) jonka sisällä eri arkitehtuurit elävät. Kysymys ei ole “yhdelle verkolle vs kaikille” vaan siitä mihin kohtaan tätä spektriä arkkitehtuuri sijoittuu.
 
Olet oikeassa tradeoffista mutta se ei ole binäärinen ristiriita koska käytänössä optimoidaan laskentaluokalle (tensor compute, memory/latency-profiili) jonka sisällä eri arkitehtuurit elävät. Kysymys ei ole “yhdelle verkolle vs kaikille” vaan siitä mihin kohtaan tätä spektriä arkkitehtuuri sijoittuu.
Taas vedät näitä grok vastauksia tänne. Mitä laskentaluokka edes tarkoittaa?
 
Olet oikeassa tradeoffista mutta se ei ole binäärinen ristiriita koska käytänössä optimoidaan laskentaluokalle (tensor compute, memory/latency-profiili) jonka sisällä eri arkitehtuurit elävät. Kysymys ei ole “yhdelle verkolle vs kaikille” vaan siitä mihin kohtaan tätä spektriä arkkitehtuuri sijoittuu.
Kun rakennat piirin jolla ajetaan neuroverkkoja "yleisesti" eri arkkitehtuureille, niin pääset lopputulokseen joka vastaa yleiskäyttöisyydeltä enemmän GPU:ta kuin erikoispiiriä. Tämä on nähty mm. Googlen TPU:ssa: ensimmäiset piirit olivat hyvin rajoitettuja, kun taas piiri on mennyt yleiskäyttöisempään suuntaan. Toki tarkoittaen sitten sitä, ettei piiri oikeasti ole (energia-, hinta-)tehokkaampi kuin se GPU.
 
Tason kaksi laite siinä missä kaistavahditkin.
Kaistavahti on tason yksi laite. Kaistallapitoavustin/kaistan keskitysavustin voi olla tasoa kaksi mutta tuo Teslan FSD Supervised on paljon kehittyneempi kuin ne kaksi, riitti se seuraavaan tasoon tai ei.
 
Taas vedät näitä grok vastauksia tänne. Mitä laskentaluokka edes tarkoittaa?
Sitä että millaista laskentaa tehdään (operaatiot, data ja rajoitteet) ei yhtä tiettyä mallia. Esim. CNN, ViT ja ConvNext ovat eri arkkitehtuureja mutta kuuluvat samaan laskentaluokkaan koska ne koostuvat pääosin samantyyppisestä tensorilaskenasta.
 
Kun rakennat piirin jolla ajetaan neuroverkkoja "yleisesti" eri arkkitehtuureille, niin pääset lopputulokseen joka vastaa yleiskäyttöisyydeltä enemmän GPU:ta kuin erikoispiiriä. Tämä on nähty mm. Googlen TPU:ssa: ensimmäiset piirit olivat hyvin rajoitettuja, kun taas piiri on mennyt yleiskäyttöisempään suuntaan. Toki tarkoittaen sitten sitä, ettei piiri oikeasti ole (energia-, hinta-)tehokkaampi kuin se GPU.

Ymmärrän pointin mutta tuo ei mene suoraan “yleinen on yhtäkuin GPU”. Käytännössä modernit AI-kiihdytimet rajaavat laskennan tensorioperatioihin mikä antaa tehokkuuden mutta jättävät tarpeeksi joustoa eri arkkitehtuureille eli ne eivät ole GPU:ita vaan välimuoto joka on edellen tehokkaampi tälle workloadille.
 
Kaistavahti on tason yksi laite. Kaistallapitoavustin/kaistan keskitysavustin voi olla tasoa kaksi mutta tuo Teslan FSD Supervised on paljon kehittyneempi kuin ne kaksi, riitti se seuraavaan tasoon tai ei.
Kaistavahti joka esim. samalla toimii vakionopeudensäätimenä on tason 2 laite. Näitä on maailma pullollaan.

Teslan kaistavahti toki kuvittelee osaavansa tehdä enemmänkin, mutta voi jatkuvasti tehdä virheitä ja ei ole yhtään luotettavampi laitteena.

Tasoon 3 on pitkä tie, muista puhumattakaan.

Sitä että millaista laskentaa tehdään (operaatiot, data ja rajoitteet) ei yhtä tiettyä mallia. Esim. CNN, ViT ja ConvNext ovat eri arkkitehtuureja mutta kuuluvat samaan laskentaluokkaan koska ne koostuvat pääosin samantyyppisestä tensorilaskenasta.
Voisitko lopettaa tämän ai geneeoidun paskan suoltamisen tänne?

Jos mikä vaan ai laskenta on samaa laskentaluokkaa, niin miten se mukamas ajaa jotain piirikehitystä mihinkään suuntaan. Tässä sinun välittämässä grok-hölynpölyssä ei ole mitään tolkkua.
 
Ymmärrän pointin mutta tuo ei mene suoraan “yleinen on yhtäkuin GPU”. Käytännössä modernit AI-kiihdytimet rajaavat laskennan tensorioperatioihin mikä antaa tehokkuuden mutta jättävät tarpeeksi joustoa eri arkkitehtuureille eli ne eivät ole GPU:ita vaan välimuoto joka on edellen tehokkaampi tälle workloadille.
Ensinnäkin, mikään moderni AI-kiihdytin ei rajaa operaatioita pelkästään matriisikertolaskuihin, vaan sulla pitää olla aktivaatio, esi/jälkiprosessointi yms. operaatioita myös. Jos näitä ei olisi, olisi kiihdytin erittäin hidas. Esimerkiksi, Googlen TPU sisältää erilliset matriisi, tensori, skaalaari ja sparse-yksiköt jotka tekevät eri asioita. Tämä generaalisuus vaatii piiriltä alaa. Nvidialla lähes kaikki FLOP:t ovat myös tensoriytimessä, ja SM hoitaa vektori, skalaari ja kontrollioperaatiot.

Se, kuinka paljon näitä yksiköitä pitää olla, taas riippuu verkosta, ei pelkästään arkkitehtuurista vaan myös koosta. Jos kanavien määrä on isompi, tarvitaan enemmän MMA-throughputia kuin vaikkapa aktivaatioiden vaatimaa SFU-throughputia. Joten tässä tulee taas se ongelma, että joko teet "turhaa" yhdelle mallille, tai hidastat kaikkia muita kuin sitä yhtä mallia.
 
Jos mikä vaan ai laskenta on samaa laskentaluokkaa, niin miten se mukamas ajaa jotain piirikehitystä mihinkään suuntaan. Tässä sinun välittämässä grok-hölynpölyssä ei ole mitään tolkkua.

Sama "laskentaluokka” ei tarkoita että kaikki on samaa vaan että tiedetän riittävästi kuormasta tensorilaskenta, memory/latency-profiili, rinnakkaisuus jotta voidaan tehdä arkkitehtuuripäätöksiä ja se e ohjaa rautaa compute/memory-suhteeseen, muistihierarkiaan, rinnakaisuuteen ja datapathiin vaikka yksittäinen malli ei ole tiedossa.
 
Ensinnäkin, mikään moderni AI-kiihdytin ei rajaa operaatioita pelkästään matriisikertolaskuihin, vaan sulla pitää olla aktivaatio, esi/jälkiprosessointi yms. operaatioita myös. Jos näitä ei olisi, olisi kiihdytin erittäin hidas. Esimerkiksi, Googlen TPU sisältää erilliset matriisi, tensori, skaalaari ja sparse-yksiköt jotka tekevät eri asioita. Tämä generaalisuus vaatii piiriltä alaa. Nvidialla lähes kaikki FLOP:t ovat myös tensoriytimessä, ja SM hoitaa vektori, skalaari ja kontrollioperaatiot.

Se, kuinka paljon näitä yksiköitä pitää olla, taas riippuu verkosta, ei pelkästään arkkitehtuurista vaan myös koosta. Jos kanavien määrä on isompi, tarvitaan enemmän MMA-throughputia kuin vaikkapa aktivaatioiden vaatimaa SFU-throughputia. Joten tässä tulee taas se ongelma, että joko teet "turhaa" yhdelle mallille, tai hidastat kaikkia muita kuin sitä yhtä mallia.

Olet oikeassa siinä että eri verkot muuttavat yksiköiden optimaalista suhdetta mutta siitä ei seuraa että mitän ei voisi mitoittaa ilman yhtä mallia koska käytännössä tiedetään jo etukäteen että tensorilaskenta dominoi ja muu on tukikuormaa ja tämän perusteella arkkitehturi voidaan mitoittaa riittävän oikein useille malleille. Tämä ei ole optimaalinen yhdelle mutta ei myöskään huono kaikille muille vaan kompromissi joka toimii koko laskentaluokassa.
 
@Kaotik onko tää grok copy-paste kama mitä tänne jatkuvasti suolletaan foorumin sääntöjen mukaista toimintaa?

Sama "laskentaluokka” ei tarkoita että kaikki on samaa vaan että tiedetän riittävästi kuormasta tensorilaskenta, memory/latency-profiili, rinnakkaisuus jotta voidaan tehdä arkkitehtuuripäätöksiä ja se e ohjaa rautaa compute/memory-suhteeseen, muistihierarkiaan, rinnakaisuuteen ja datapathiin vaikka yksittäinen malli ei ole tiedossa.
Piirrä vaikka joku diagrammi seuraavaksi, jos vaikka lopulta ymmärrettäisiin jotain näistä grokin hallusinaatioista.
 

Statistiikka

Viestiketjuista
305 487
Viestejä
5 175 387
Jäsenet
82 679
Uusin jäsen
Kempp

Hinta.fi

Back
Ylös Bottom