Inferensi Llama2 yang cepat dan portabel di edge yang heterogen
(secondstate.io)Tumpukan Rust+Wasm: alternatif kuat untuk Python
- Aplikasi Rust+Wasm berukuran 1/100 dibanding Python, 100 kali lebih cepat, dan dapat dijalankan dengan aman di mana saja tanpa mengubah akselerasi perangkat keras sama sekali.
- Rust adalah bahasa untuk AGI (kecerdasan umum buatan), dan digunakan untuk membuat program Rust sederhana yang menjalankan inferensi model llama2 pada kecepatan aslinya.
- Aplikasi biner yang dikompilasi ke Wasm (2MB) sepenuhnya portabel di perangkat dengan berbagai akselerator perangkat keras.
- Runtime Wasm (WasmEdge) menyediakan lingkungan eksekusi yang aman dan terlindungi di lingkungan cloud.
Instalasi dan menjalankan program Rust
- Step 1. Instal WasmEdge dan plugin GGML: di perangkat Linux atau Mac, lakukan instalasi menggunakan perintah di bawah ini.
- Step 2. Unduh aplikasi Wasm pra-build dan model: unduh model llama2 dalam format GGUF, dan sebagai contoh gunakan versi model chat-tuned llama2 7B yang dikuantisasi ke bobot 5-bit.
- Step 3. Jalankan: gunakan WasmEdge untuk menjalankan aplikasi inferensi wasm, berikan model GGUF, lalu masukkan pertanyaan untuk berbicara dengan model.
Mengatur cara kerja model
- Anda dapat mengatur cara berinteraksi dengan model menggunakan opsi baris perintah.
- Misalnya, Anda dapat menentukan panjang konteks tertentu, menetapkan jumlah maksimum token yang diprediksi pada setiap respons, mencetak statistik, dan melakukan streaming respons model ke
stdout. - Program ini menghasilkan sekitar 25 token per detik pada MacBook M2 kelas bawah.
Agen dan aplikasi LLM
- Dengan Rust dan WasmEdge, dapat dibuat server API yang kompatibel dengan OpenAI.
- Dengan ini, Anda dapat membuat agen dan aplikasi LLM menggunakan alat pengembangan yang kompatibel dengan OpenAI.
Keunggulan Rust+Wasm dibanding Python
- Tumpukan Rust+Wasm adalah alternatif kuat untuk tumpukan Python bagi aplikasi inferensi AI, sekaligus menyediakan infrastruktur komputasi cloud.
- Sangat ringan: aplikasi inferensi hanya berukuran 2MB termasuk semua dependensinya.
- Sangat cepat: memberikan kecepatan native C/Rust di seluruh bagian aplikasi inferensi.
- Portabilitas: aplikasi bytecode Wasm yang sama dapat berjalan di semua platform komputasi utama yang mendukung akselerasi perangkat keras yang heterogen.
- Mudah dipasang, dikembangkan, dan dideploy: tidak ada dependensi yang rumit, dan Anda dapat membangun satu file Wasm dengan alat standar di laptop lalu mendeploy-nya ke mana saja.
- Aman dan siap untuk cloud: runtime Wasm dirancang untuk mengisolasi kode pengguna yang tidak tepercaya, dapat dikelola oleh alat kontainer, dan mudah dideploy ke platform cloud-native.
Program inferensi Rust
- Program inferensi demo ditulis dalam Rust dan dikompilasi ke Wasm.
- Kode sumber Rust sangat sederhana, hanya terdiri dari 40 baris kode.
- Program Rust mengelola input pengguna, melacak riwayat percakapan, mengubah teks ke template chat llama2, dan menjalankan tugas inferensi menggunakan API WASI NN.
Menjalankan di cloud atau edge
- Setelah Anda memiliki file bytecode Wasm, Anda dapat mendeploy-nya ke perangkat apa pun yang mendukung runtime WasmEdge.
- WasmEdge dipasang bersama plugin GGML, dan secara otomatis memanfaatkan berbagai akselerasi perangkat keras untuk menjalankan model llama2.
Langkah berikutnya
- Alat WasmEdge GGML sudah tersedia saat ini dan digunakan oleh pelanggan cloud-native, tetapi masih berada pada tahap awal.
- Jika Anda tertarik berkontribusi pada proyek open source dan membantu membentuk arah infrastruktur inferensi LLM masa depan, ada beberapa tugas level rendah yang bisa Anda kerjakan.
Model AI lainnya
- WasmEdge dan WASI NN dapat membangun aplikasi inferensi yang ringan namun cepat, portabel, dan aman sebagai alternatif Python.
- Sebagai contoh, proyek mediapipe-rs menyediakan API Rust+Wasm untuk model Tensorflow mediapipe milik Google.
Opini GN⁺
Hal terpenting dari tulisan ini adalah bahwa tulisan ini menawarkan alternatif terhadap Python untuk inferensi AI dengan menggunakan Rust dan WebAssembly (Wasm), yang memberikan keunggulan mencolok dalam ukuran, kecepatan, portabilitas, dan keamanan. Tumpukan teknologi ini menawarkan cara untuk mengintegrasikan infrastruktur komputasi cloud guna meningkatkan kinerja di berbagai perangkat dan lingkungan cloud, menyelesaikan masalah dependensi yang kompleks, serta menyederhanakan pengembangan dan deployment. Pendekatan ini berpotensi memberi dampak penting terutama pada masa depan edge computing dan inferensi AI, sehingga menjadi topik yang sangat menarik bagi mereka yang tertarik pada teknologi.
1 komentar
Opini Hacker News