Llamafile - Deploy dan Jalankan LLM dalam Satu File
(github.com/Mozilla-Ocho)Ringkasan proyek llamafile
- Mengembangkan framework yang menggabungkan
llama.cppdan Cosmopolitan Libc untuk mewujudkan impian para pengembang AI agar bisa membangun dan menjalankan di mana saja llamafiledapat berjalan di berbagai mikroarsitektur CPU dan arsitektur CPU, serta mendukung eksekusi kode dengan satu build di berbagai sistem operasi- Bobot LLM dapat disertakan di dalam
llamafilesehingga bisa dijalankan cepat melalui pemetaan memori langsung
Cara menggunakan biner
- Menyediakan contoh biner dari berbagai model yang dapat diunduh melalui Hugging Face
- Biner command line dijalankan seperti memanggil fungsi "main" dari
llama.cppsecara manual - Biner server menjalankan web server lokal untuk menyediakan chatbot berbasis web
Hal yang perlu diperhatikan
- Saat menggunakan Apple Silicon di macOS, Xcode harus diinstal
- Di Windows, nama file harus diubah menjadi
llamafile.exeagar bisa dijalankan - Jika muncul masalah eksekusi di zsh, Python
subprocess, Fish, dan lainnya, disarankan menggunakan perintah alternatif - Jika terjadi masalah
binfmt_miscdi Linux, tersedia cara penyelesaiannya
Dukungan GPU
- Di Apple Silicon, fitur ini otomatis berfungsi jika Xcode diinstal
- Di Linux, perlu memasang compiler dan mengatur flag untuk dukungan GPU Nvidia cuBLAS
- Di Windows, setelah dijalankan pertama kali melalui MSVC x64 Native Command Prompt, path CUDA perlu diatur
Cara build source code
- Menjelaskan cara membangun source code
llamafilemenggunakan toolchaincosmocc - Menyediakan contoh pembuatan kode fungsi
libcdan menjalankan HTTP server
Dokumen zipalign
- Menjelaskan cara menggunakan alat
zipalignuntuk menambahkan file tidak terkompresi yang disejajarkan ke dalam arsip PKZIP - Menawarkan eksekusi yang lebih cepat dibanding alat arsip ZIP lama serta memenuhi kebutuhan penyelarasan memori
Detail teknis
llamafilememanfaatkan fungsimmap()yang menggabungkan shell script dan bobot agar dapat dieksekusi dengan cepat- Menyajikan solusi teknis untuk penyertaan bobot ZIP, portabilitas mikroarsitektur dan arsitektur, serta dukungan GPU
Lisensi
- Proyek
llamafilemenggunakan lisensi Apache 2.0, dan perubahan padallama.cppmengikuti lisensi MIT
Masalah yang diketahui
- Di Windows 64-bit, ada batas ukuran file 4GB sehingga bobot harus digunakan sebagai file terpisah
Pendapat GN⁺
Hal terpenting dalam tulisan ini adalah pendekatan inovatif proyek llamafile untuk memudahkan pengembang AI membangun dan menjalankan LLM di mana saja. Proyek ini menawarkan kompatibilitas lintas platform dan arsitektur, serta sangat meningkatkan kemudahan penggunaan dengan distribusi dalam satu file yang sudah mencakup bobot. Kemajuan teknis seperti ini berpotensi semakin mempercepat riset dan pengembangan AI, sehingga sangat menarik bagi siapa pun yang menaruh minat pada bidang ini.
1 komentar
Komentar Hacker News
Cara menggunakan model LLaVA
llamafile-server-0.1-llava-v1.5-7b-q4berukuran 4.26GB dari Hugging Facehttp://127.0.0.1:8080/di browser untuk mengunggah gambar dan mulai berinteraksi dengan modelBerbagi pengalaman mengembangkan aplikasi macOS
Rekomendasi posting terkait dari Simon Willison
Berbagi tautan terkait
Usulan nama Llaminate
Kekaguman terhadap dukungan CUDA menggunakan Cosmopolitan
Penyebutan batas ukuran executable di Windows
Berbagi cara bereksperimen dengan berbagai model di llama.cpp
Menunjukkan keterbatasan binary yang hanya bekerja dengan satu model dan satu set bobot
Menyebut kecepatan Justine dalam menciptakan proyek-proyek luar biasa