uutiset

viileä! Vanhat laitteet, kuten puhelin, iPad ja MacBook, muodostavat heterogeenisen klusterin ja voivat käyttää Llama 3:a

2024-07-16

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Koneen sydänraportti

Machine Heart -toimitusosasto

Jos sinulla on varalaitteita, kannattaa kokeilla sitä.

Tällä kertaa kädessäsi olevat laitteistot voivat myös taivuttaa lihaksiaan tekoälyn alalla.

Yhdistämällä iPhonen, iPadin ja Macbookin voit koota "heterogeenisen klusteripäätelmäratkaisun" ja käyttää sitten Llama3-mallia sujuvasti.



On syytä mainita, että tämä heterogeeninen klusteri voi olla Windows-, Linux- tai iOS-järjestelmä, ja Android-tuki on tulossa pian.

Heterogeeninen klusteri on käynnissä.



Projektin kirjoittajan @evilsocket mukaan tähän heterogeeniseen klusteriin kuuluvat iPhone 15 Pro Max, iPad Pro, MacBook Pro (M1 Max), NVIDIA GeForce 3080 ja 2x NVIDIA Titan X Pascal. Kaikki koodi on ladattu GitHubiin.

Tämän nähdessään nettimiehet ilmaisivat, että tämä vanha mies ei todellakaan ole yksinkertainen.



Jotkut verkkokäyttäjät ovat kuitenkin alkaneet olla huolissaan energiankulutuksesta. Tietojen siirtäminen edestakaisin aiheuttaa liikaa menetyksiä.





Projektin esittely

Yllä olevien toimintojen toteutus on erottamaton Rust-kehyksestä nimeltä Cake. Cake voi tehdä hajautettuja päätelmiä suurista malleista (kuten Llama3), ja se on suunniteltu yhdistämään kuluttajatason laitteistot heterogeenisiksi klusteriksi. Kuluttajatason laitteistot käyttävät erilaisia ​​käyttöjärjestelmiä, mukaan lukien: iOS, Android, macOS, Linux ja Windows, jotta tekoäly on helpommin saavutettavissa.



Projektin osoite: https://github.com/evilsocket/cake

Caken pääideana on murskata muuntajan paloja useiden laitteiden välillä, jotta voidaan tehdä johtopäätöksiä malleista, jotka eivät yleensä mahdu yhden laitteen GPU-muistiin. Saman työkierteen peräkkäisten muuntajalohkojen päättely suoritetaan erissä tiedonsiirron aiheuttamien viiveiden minimoimiseksi.

Caken tällä hetkellä tukemat järjestelmät ja laitteet ovat seuraavat:



koota

Kun olet asentanut Rust, suorita seuraava koodi:

lastin rakentaminen -- julkaisu

Jos käyttäjä haluaa luoda iOS-sidoksia sovelluksessa, hän voi tehdä seuraavasti:

tee ios

käyttää

Suorita työntekijäsolmu:

cake-cli --model /path/to/Meta-Llama-3-8B # mallipolku, lue alta kuinka optimoida mallin koko työntekijöille

--mode työntekijä # ajaa työntekijänä

--name työntekijä0 # työntekijän nimi topologiatiedostossa

--topology topology.yml # topologia

--osoite 0.0.0.0:10128 # sitoa osoite

Suorita pääsolmu:

cake-cli --malli /polku/Meta-Llama-3-8B

--topology topology.yml

Niistä topology.yml määrittää, mitä tasoja mitkä työntekijät palvelevat:

linux_server_1:

isäntä: 'linux_server.host:10128'

kuvaus: 'NVIDIA Titan X Pascal (12GB)'

kerrokset:

- "malli.kerrokset.0-5"

linux_server_2:

isäntä: 'linux_server2.host:10128'

kuvaus: 'NVIDIA GeForce 3080 (10GB)'

kerrokset:

- "model.layers.6-16"

iphone:

isäntä: 'iphone.host:10128'

kuvaus: 'iPhone 15 Pro Max'

kerrokset:

- "model.layers.17"

ipad:

isäntä: 'ipad.host:10128'

kuvaus: 'iPad'

kerrokset:

- "malli.kerrokset.18-19"

macbook:

isäntä: 'macbook.host:10128'

kuvaus: "M1 Max"

kerrokset:

- "malli.kerrokset.20-31"

Mitä tulee muistin ja levytilan optimointiin, käyttäjät saattavat haluta tarjota työntekijöille vain mallissa todellisuudessa tarvittavat tiedot koko kansion sijaan, jolloin voidaan käyttää kakku-jaettua mallia. Voit esimerkiksi luoda pienemmän version llama3-turvalukoista käyttämällä seuraavaa koodia:

cake-split-model -- mallin polku polku/to/Meta-Llama-3-8B # jaettava lähdemalli

--topology polku/topology.yml # topologiatiedosto

--ulostulosteen-kansion-nimi

Viitelinkki: https://x.com/tuturetom/status/1812654489972973643