Yapabileceğinizi daha önce göstermiştik ChatGPT’yi Raspberry Pi’de çalıştırın, ancak işin püf noktası, Pi’nin yalnızca istemci tarafı sağlaması ve ardından tüm istemlerinizi başka birinin buluttaki güçlü sunucusuna göndermesidir. Ancak, 8GB Raspberry Pi üzerinde yerel olarak çalışan ve Facebook ve diğer hizmetlerde yapay zekayı destekleyen aynı türden LLaMA dil modellerini kullanan benzer bir yapay zeka sohbet robotu deneyimi oluşturmak mümkündür.
Bu projenin kalbi Georgi Gerganov’un llama.cpp’si. Bir gecede yazılan bu C/C++ modeli, genel kullanım için yeterince hızlıdır ve kurulumu kolaydır. Mac ve Linux makinelerde çalışır ve bu nasıl yapılır, Gerganov’un kurulum sürecini ince ayar yapacağım, böylece modeller bir bilgisayarda çalıştırılabilir. Ahududu Pi 4. Daha hızlı bir chatbot istiyorsanız ve RTX 3000 serisi veya daha hızlı GPU’ya sahip bir bilgisayarınız varsa, şu makalemize göz atın: PC’nizde ChatGPT benzeri bir bot nasıl çalıştırılır.
Beklentileri Yönetmek
Bu projeye başlamadan önce, beklentilerinizi yönetmem gerekiyor. Raspberry Pi 4’teki LLaMA yavaş. Bir sohbet isteminin yüklenmesi dakikalar alabilir ve soruların yanıtlanması da bir o kadar uzun sürebilir. Arzu ettiğiniz hızsa, bir Linux masaüstü/dizüstü bilgisayar kullanın. Bu, görev açısından kritik bir kullanım durumundan çok eğlenceli bir projedir.
Bu Proje İçin İhtiyacınız Olacak
- Ahududu Pi 4 8GB
- Linux çalıştıran 16 GB RAM’e sahip PC
- NTFS olarak biçimlendirilmiş 16 GB veya daha büyük USB sürücü
Bir Linux PC Kullanarak LLaMA 7B Modellerini Kurma
Sürecin ilk bölümü, llama.cpp’yi bir Linux PC’de kurmak, LLaMA 7B modellerini indirmek, dönüştürmek ve ardından bir USB sürücüsüne kopyalamaktır. Bir Raspberry Pi’deki 8GB RAM yeterli olmadığından, modeli dönüştürmek için Linux PC’nin ekstra gücüne ihtiyacımız var.
1. Linux PC’nizde bir terminal açın ve git’in kurulu olduğundan emin olun.
sudo apt update && sudo apt install git
2. Depoyu klonlamak için git’i kullanın.
git clone https://github.com/ggerganov/llama.cpp
3. Bir dizi Python modülü kurun. Bu modüller, bir sohbet botu oluşturmak için modelle birlikte çalışacaktır.
python3 -m pip install torch numpy sentencepiece
4. G++ ve build essential’ın kurulu olduğundan emin olun. Bunlar, C uygulamaları oluşturmak için gereklidir.
sudo apt install g++ build-essential
5. Terminalde dizini llama.cpp olarak değiştirin.
cd llama.cpp
6. Proje dosyalarını oluşturun. Çalıştırmak için Enter’a basın.
make
7. Bu bağlantıyı kullanarak Llama 7B torrentini indirin. Modeli indirmek için qBittorrent kullandım.
magnet:?xt=urn:btih:ZXXDAUWYLRUXXBHUYEMS6Q5CE5WA3LVA&dn=LLaMA
8. Yalnızca 7B ve tokenizer dosyaları indirilecek şekilde indirmeyi hassaslaştırın. Diğer klasörler, yüzlerce gigabayt boyutunda olan daha büyük modeller içerir.
9. 7B’yi ve belirteç oluşturucu dosyalarını /llama.cpp/models/ konumuna kopyalayın.
10. Bir terminal açın ve llama.cpp klasörüne gidin. Bu, ana dizininizde olmalıdır.
cd llama.cpp
11. 7B modelini ggml FP16 formatına dönüştürün. Bilgisayarınıza bağlı olarak bu işlem biraz zaman alabilir. Bu adım tek başına neden 16GB RAM’e ihtiyacımız var. 13GB models/7B/consolidated.00.pth dosyasının tamamını bir pytorch modeli olarak RAM’e yükler. Bu adımı 8GB Raspberry Pi 4’te denemek geçersiz talimat hatasına neden olur.
python3 convert-pth-to-ggml.py models/7B/ 1
12. Modeli 4 bit olarak niceleyin. Bu, modelin boyutunu azaltacaktır.
python3 quantize.py 7B
13. /models/ içeriğini USB sürücüsüne kopyalayın.
Raspberry Pi 4’te LLaMA Çalıştırma
Bu son bölümde, Raspberry Pi 4’te llama.cpp kurulumunu tekrarlıyorum, ardından modelleri bir USB sürücüsü kullanarak kopyalıyorum. Sonra etkileşimli bir sohbet oturumu yüklüyorum ve “Bob” a bir dizi soru soruyorum. Sadece herhangi bir Python kodu yazmasını istemeyin. Bu süreçteki 9. Adım, Raspberry Pi 4 veya Linux PC üzerinde çalıştırılabilir.
1. Raspberry Pi 4’ünüzü başlatın masaüstüne.
2. Bir terminal açın ve git’in kurulu olduğundan emin olun.
sudo apt update && sudo apt install git
3. Depoyu klonlamak için git’i kullanın.
git clone https://github.com/ggerganov/llama.cpp
4. Bir dizi Python modülü kurun. Bu modüller, bir sohbet botu oluşturmak için modelle birlikte çalışacaktır.
python3 -m pip install torch numpy sentencepiece
5. G++ ve build essential’ın kurulu olduğundan emin olun. Bunlar, C uygulamaları oluşturmak için gereklidir.
sudo apt install g++ build-essential
6. Terminalde, dizini llama.cpp olarak değiştirin.
cd llama.cpp
7. Proje dosyalarını oluşturun. Çalıştırmak için Enter’a basın.
make
8. USB sürücüsünü takın ve dosyaları /modeller/ dizinine kopyalayın Bu, modeller dizinindeki tüm dosyaların üzerine yazacaktır.
9. “Bob” ile etkileşimli bir sohbet oturumu başlatın. İşte burada biraz sabır gerekiyor. 7B modeli diğer modellere göre daha hafif olsa da Raspberry Pi’nin sindirmesi için oldukça ağır bir model. Modelin yüklenmesi birkaç dakika sürebilir.
./chat.sh
10. Bob’a bir soru sorun ve Enter’a basın. Ondan bana Star Trek: The Next Generation’dan Jean-Luc Picard’ı anlatmasını istedim. Çıkmak için CTRL + C tuşlarına basın.