berita

Dingin! Perangkat lama seperti Ponsel, iPad, dan MacBook membentuk cluster heterogen dan dapat menjalankan Llama 3

2024-07-16

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

Laporan Jantung Mesin

Departemen Editorial Jantung Mesin

Jika Anda memiliki peralatan cadangan, Anda mungkin ingin mencobanya.

Kali ini, perangkat keras yang ada di tangan Anda juga bisa menunjukkan bakatnya di bidang AI.

Dengan menggabungkan iPhone, iPad, dan Macbook, Anda dapat menyusun "solusi inferensi cluster heterogen" dan kemudian menjalankan model Llama3 dengan lancar.



Perlu disebutkan bahwa cluster heterogen ini dapat berupa sistem Windows, Linux, atau sistem iOS, dan dukungan untuk Android akan segera hadir.

Cluster heterogen sedang berjalan.



Menurut penulis proyek @evilsocket, cluster heterogen ini mencakup iPhone 15 Pro Max, iPad Pro, MacBook Pro (M1 Max), NVIDIA GeForce 3080, dan 2x NVIDIA Titan X Pascal. Semua kode telah diunggah ke GitHub.

Melihat hal tersebut, netizen mengutarakan bahwa lelaki tua tersebut memang tidak sederhana.



Namun, beberapa netizen mulai khawatir dengan konsumsi energi, terlepas dari kecepatannya, mereka tidak mampu membayar tagihan listrik. Memindahkan data bolak-balik menyebabkan terlalu banyak kerugian.





Pengenalan Proyek

Implementasi fungsi-fungsi di atas tidak terlepas dari framework Rust yang bernama Cake. Cake dapat menyelesaikan inferensi terdistribusi pada model besar (seperti Llama3) dan dirancang untuk menggabungkan perangkat keras tingkat konsumen ke dalam kelompok yang heterogen. Perangkat keras tingkat konsumen menggunakan berbagai sistem operasi, termasuk: iOS, Android, macOS, Linux dan Windows, sehingga AI lebih mudah diakses.



Alamat proyek: https://github.com/evilsocket/cake

Ide utama Cake adalah untuk membagi potongan transformator ke beberapa perangkat agar dapat menjalankan inferensi pada model yang biasanya tidak sesuai dengan memori GPU pada satu perangkat. Inferensi pada blok trafo yang berurutan pada thread pekerja yang sama dilakukan secara batch untuk meminimalkan penundaan yang disebabkan oleh transfer data.

Sistem dan perangkat yang saat ini didukung oleh Cake adalah sebagai berikut:



menyusun

Setelah menginstal Rust, jalankan kode berikut:

membangun kargo --lepaskan

Jika pengguna ingin membuat pengikatan iOS di aplikasi, mereka dapat melakukan hal berikut:

membuat ios

menggunakan

Jalankan simpul pekerja:

cake-cli --model /path/to/Meta-Llama-3-8B # jalur model, baca di bawah tentang cara mengoptimalkan ukuran model untuk pekerja

--mode pekerja # jalankan sebagai pekerja

--name worker0 # nama pekerja dalam file topologi

--topologi topologi.yml # topologi

--alamat 0.0.0.0:10128 # alamat bind

Jalankan simpul utama:

kue-cli --model /jalur/ke/Meta-Llama-3-8B

--topologi topologi.yml

Diantaranya, topology.yml menentukan lapisan mana yang dilayani oleh pekerja mana:

server_linux_1:

tuan rumah: 'linux_server.host:10128'

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

lapisan:

- 'model.lapisan.0-5'

server_linux_2:

tuan rumah: 'linux_server2.host:10128'

deskripsi: 'NVIDIA GeForce 3080 (10GB)'

lapisan:

- 'model.lapisan.6-16'

Bahasa Indonesia:

tuan rumah: 'iphone.host:10128'

deskripsi: 'iPhone 15 Pro Max'

lapisan:

- 'model.lapisan.17'

perangkat ipad:

tuan rumah: 'ipad.host:10128'

deskripsi: 'iPad'

lapisan:

- 'model.lapisan.18-19'

komputer macbook:

tuan rumah: 'macbook.host:10128'

deskripsi: 'M1 Max'

lapisan:

- 'model.lapisan.20-31'

Mengenai masalah optimasi memori dan ruang disk, pengguna mungkin ingin memberikan pekerja hanya data yang benar-benar dibutuhkan dalam model, bukan seluruh folder, dalam hal ini model cake-split dapat digunakan. Misalnya, untuk membuat safetensor llama3 versi lebih kecil, Anda dapat menggunakan kode berikut:

cake-split-model --model-path path/to/Meta-Llama-3-8B # model sumber yang akan dipisah

--jalur topologi/ke/topologi.yml # berkas topologi

--output nama-folder-keluaran

Tautan referensi: https://x.com/tuturetom/status/1812654489972973643