Ya, Anda dapat menjalankan LLM "AI chatbot" di Raspberry Pi! Cukup ikuti proses langkah demi langkah ini dan kemudian tanyakan apa saja.

Model bahasa besar, yang dikenal secara umum (dan tidak akurat) sebagai AI, telah mengancam untuk menjungkirbalikkan dunia penerbitan, seni, dan hukum selama berbulan-bulan. Satu kelemahannya adalah menggunakan LLM seperti ChatGPT berarti membuat akun dan meminta komputer orang lain melakukan pekerjaan itu. Tapi Anda bisa menjalankan LLM terlatih di Raspberry Pi Anda untuk menulis puisi, menjawab pertanyaan, dan banyak lagi.

Apa itu Model Bahasa Besar?

Model bahasa besar menggunakan algoritme pembelajaran mesin untuk menemukan hubungan dan pola antara kata dan frasa. Terlatih dengan data dalam jumlah besar, mereka mampu memprediksi kata-kata apa yang secara statistik kemungkinan akan muncul berikutnya saat diminta.

Jika Anda bertanya kepada ribuan orang bagaimana perasaan mereka hari ini, jawabannya akan seperti, "Saya baik-baik saja", "Bisa lebih buruk", "Oke, tapi lutut saya sakit". Percakapan kemudian akan berubah ke arah yang berbeda. Mungkin orang tersebut akan bertanya tentang kesehatan Anda sendiri, atau melanjutkan dengan "Maaf, saya harus pergi. aku terlambat kerja".

instagram viewer

Dengan adanya data ini dan permintaan awal, model bahasa yang besar harus dapat menghasilkan jawaban yang meyakinkan dan asli, berdasarkan kemungkinan kata tertentu datang berikutnya secara berurutan, dikombinasikan dengan tingkat keacakan yang telah ditetapkan, hukuman pengulangan, dan lainnya parameter.

Model bahasa besar yang digunakan saat ini tidak dilatih untuk beberapa ribu orang. Sebaliknya, mereka diberi jumlah data yang tak terbayangkan, diambil dari koleksi yang tersedia untuk umum, platform media sosial, halaman web, arsip, dan kumpulan data khusus sesekali.

LLM dilatih oleh peneliti manusia yang akan memperkuat pola tertentu dan memasukkannya kembali ke algoritme. Saat Anda bertanya kepada model bahasa besar "anjing jenis apa yang terbaik?", itu akan dapat memberikan jawaban yang memberi tahu Anda bahwa Jack Russell terrier adalah jenis anjing terbaik, dan memberi Anda alasan mengapa.

Tapi terlepas dari seberapa cerdas atau meyakinkan dan manusiawi jawabannya, baik model maupun mesinnya run on memiliki pikiran, dan mereka tidak mampu memahami pertanyaan atau kata-kata yang membentuknya tanggapan. Itu hanya matematika dan banyak data.

Mengapa Menjalankan Model Bahasa Besar di Raspberry Pi?

Model bahasa besar ada di mana-mana, dan diadopsi oleh perusahaan pencarian besar untuk membantu menjawab pertanyaan.

Meskipun tergoda untuk melemparkan pertanyaan bahasa alami ke kotak hitam perusahaan, terkadang Anda ingin mencari inspirasi atau mengajukan pertanyaan tanpa memasukkan lebih banyak data ke dalam perut kapitalisme pengawasan.

Sebagai papan percobaan untuk mengutak-atik, the Komputer papan tunggal Raspberry Pi secara filosofis, jika tidak secara fisik, cocok untuk usaha tersebut.

Pada bulan Februari 2023, Meta (perusahaan sebelumnya dikenal sebagai Facebook) mengumumkan LLaMA, model bahasa LLM baru dengan parameter antara 7 miliar dan 65 miliar. LLaMA dilatih menggunakan kumpulan data yang tersedia untuk umum,

Kode LLaMA adalah open source, artinya siapa pun dapat menggunakan dan mengadaptasinya, dan 'bobot' atau parameternya diposting sebagai torrent dan link magnet di utas proyek halaman GitHub.

Pada Maret 2023, pengembang Georgi Gerganov dirilis llama.cpp, yang dapat berjalan di berbagai perangkat keras, termasuk Raspberry Pi. Kode berjalan secara lokal, dan tidak ada data yang dikirim ke Meta.

Instal llama.cpp di Raspberry Pi

Tidak ada pedoman perangkat keras yang diterbitkan untuk llama.cpp, tetapi ini sangat membutuhkan prosesor, RAM, dan penyimpanan. Pastikan Anda menjalankannya di Raspberry Pi 4B atau 400 dengan memori sebanyak itu, memori maya, dan ruang SSD tersedia sebanyak mungkin. Kartu SD tidak akan memotongnya, dan kasus dengan pendinginan yang layak Adalah sebuah keharusan.

Kita akan menggunakan model parameter 7 miliar, jadi kunjungi ini Utas LLamA GitHub, dan unduh torrent 7B menggunakan klien seperti qBittorrent atau Aria.

Kloning repositori llama.cpp dan kemudian gunakan CD perintah untuk pindah ke direktori baru:

git klon https://github.com/ggerganov/llama.cpp
CDllama.cpp

Jika Anda belum menginstal kompiler, instal sekarang dengan:

sudo apt-mendapatkan instal g++

Sekarang kompilasi proyek dengan perintah ini:

membuat

Ada kemungkinan llama.cpp gagal dikompilasi, dan Anda akan melihat banyak pesan kesalahan terkait "vdotq_s32". Jika ini terjadi, Anda perlu mengembalikan komit. Pertama, atur pengguna git lokal Anda:

git config nama pengguna "david"

Sekarang Anda dapat mengembalikan komit sebelumnya:

git kembalikan 84d9015

Pesan git commit akan terbuka di editor teks nano. Tekan Ctrl + O untuk menyimpan, lalu Ctrl + X untuk keluar nano. llama.cpp sekarang harus dikompilasi tanpa kesalahan saat Anda memasukkan:

membuat

Anda harus membuat direktori untuk model berbobot yang ingin Anda gunakan:

model mkdir

Sekarang transfer model berbobot dari LLaMa direktori:

mv ~/Downloads/LLaMA/* ~/llama.cpp/models/

Pastikan Anda telah menginstal Python 3 di Pi Anda, dan instal dependensi llama.cpp:

python3 -m pip Install kalimat obor numpy

Versi NumPy dapat menyebabkan masalah. Tingkatkan:

pip Install numpy --meningkatkan

Sekarang ubah model 7B ke format ggml FP16:

python3 konversi-pth-ke-ggml.py model/7B/ 1

Langkah sebelumnya sangat intensif memori dan, menurut perhitungan kami, menggunakan setidaknya 16GB RAM. Ini juga sangat lambat dan cenderung gagal.

Anda akan mendapatkan hasil yang lebih baik dengan mengikuti petunjuk ini secara paralel di PC desktop, lalu menyalin file /models/7B/ggml-model-q4_0.bin ke lokasi yang sama di Raspberry Pi Anda.

Hitung model menjadi 4 bit:

./quantize.sh 7B

Itu dia. LLaMA LLM sekarang terinstal di Raspberry Pi Anda, dan siap digunakan!

Menggunakan llama.cpp di Raspberry Pi

Untuk memulai dengan llama.cpp, pastikan Anda berada di direktori proyek dan masukkan perintah berikut:

./main -m ./model/7B/ggml-model-q4_0.bin -t 4 -N 128 -P "Apa itu Kernel Linux?"

Itu -M opsinya adalah mengarahkan llama.cpp ke model yang ingin Anda gunakan; -T menunjukkan jumlah utas yang ingin Anda gunakan; -N adalah jumlah token yang akan diprediksi; -P adalah prompt Anda. Anda dapat menyesuaikan salah satu dan semua variabel ini.

Bersiaplah untuk menunggu lama, karena meskipun Raspberry Pi sangat bagus dalam fungsinya, itu tidak dirancang untuk aktivitas CPU semacam ini. Dalam prompt contoh kami, llama memecah teks menjadi delapan token individu, sebelum memberikan respons berikut:

Kernel Linux, singkatnya, selalu disebut sebagai sistem operasi. Namun itu tidak benar-benar dianggap satu karena untuk semua tujuan praktis sebagian besar fungsinya diekspos melalui API dan utilitas yang dapat digunakan oleh OS lain mana pun yang ingin (atau membutuhkan) mengaksesnya Lebah). Sejauh menyangkut Kernel Linux sendiri, tidak banyak yang bisa dilakukan dengan kernel yang sebenarnya. Ini baru saja dimulai, menerima parameter konfigurasi dari bootloader/initrd pilihan Anda kemudian menjalankannya di beberapa perangkat keras dan Anda menjalankan bisnis apa pun yang diperlukan pada saat ini

Meskipun ini adalah jawaban yang cukup koheren, upaya kedua menghasilkan sesuatu yang menyerupai salad kata yang dicincang kasar:

Sebagian besar dari Anda mungkin pernah mendengarnya tetapi tidak benar-benar tahu apa yang mereka bicarakan. Kami akan membahas ini secara mendetail karena memahaminya sepenuhnya membantu kami untuk lebih sering menggunakan komputer efisien dan juga membuat keputusan yang lebih baik saat membeli perangkat keras atau perangkat lunak baru untuk PC Anda di rumah, kantor dll.. Kernel Linux adalah tulang punggung sebagian besar sistem operasi yang berjalan pada sistem komputer seperti android yang merupakan Sistem Operasi open source yang sebagian berbasis dari kernel ini. Tapi apa sebenarnya yang mereka maksud dengan mengatakan linux kernal?

Linus Torvalds telah menuliskan pemikirannya (Pengetahuan)

Perlu disebutkan pada titik ini bahwa masing-masing respons ini membutuhkan waktu hampir dua jam untuk diproduksi, dan keempat inti CPU bekerja 100% secara keseluruhan. Namun, pengerjaan proyek berjalan cepat, dan Anda dapat mengharapkan pengoptimalan ARM yang akan datang untuk mempersingkat waktu.

Anda juga dapat mensimulasikan seluruh percakapan dengan LLM Anda alih-alih memberi makan permintaannya satu per satu. Menambahkan -Saya opsi akan memulai llama dalam mode interaktif, sementara --interaktif-mulai akan meminta Anda untuk masukan di awal. Untuk daftar lengkap opsi yang tersedia, jalankan:

utama -h

Ketahuilah bahwa LlaMA tidak memiliki aturan yang membatasi. Kadang-kadang, itu akan menjadi seksis, rasis, homofobia, dan sangat salah.

Model Bahasa Besar Bukan Pengganti Pengetahuan Nyata

Menjalankan LLaMA Meta di Raspberry Pi sangat keren, dan Anda mungkin tergoda untuk beralih ke guru virtual Anda untuk pertanyaan teknis, nasihat hidup, persahabatan, atau sebagai sumber pengetahuan yang nyata. Jangan tertipu. Model bahasa besar tidak tahu apa-apa, tidak merasakan apa-apa, dan tidak mengerti apa-apa. Jika Anda memerlukan bantuan untuk sesuatu, lebih baik berbicara dengan manusia atau membaca sesuatu yang ditulis oleh manusia.

Jika Anda kekurangan waktu, Anda dapat membacanya dengan cepat di terminal Linux Anda!