Evet, Raspberry Pi'de LLM "AI chatbot" çalıştırabilirsiniz! Sadece bu adım adım süreci takip edin ve ardından ona her şeyi sorun.
Genel olarak (ve yanlış bir şekilde) yapay zeka olarak bilinen büyük dil modelleri, aylardır yayıncılık, sanat ve hukuk dünyasını alt üst etmekle tehdit ediyor. Bir dezavantajı, ChatGPT gibi LLM'leri kullanmanın, bir hesap oluşturmak ve işi başka birinin bilgisayarına yaptırmak anlamına gelmesidir. Ancak Raspberry Pi'nizde şiir yazmak, soruları yanıtlamak ve daha fazlası için eğitimli bir LLM çalıştırabilirsiniz.
Büyük Dil Modeli Nedir?
Büyük dil modelleri, kelimeler ve ifadeler arasındaki ilişkileri ve kalıpları bulmak için makine öğrenimi algoritmalarını kullanır. Muazzam miktarda veriyle eğitilen bu kişiler, bir istem verildiğinde istatistiksel olarak bir sonraki sözcüğün gelme olasılığının ne olduğunu tahmin edebiliyorlar.
Binlerce kişiye bugün nasıl hissettiklerini sorsaydınız, yanıtlar "İyiyim", "Daha kötü olabilirdi", "Tamam ama dizlerim ağrıyor" şeklinde olurdu. Konuşma daha sonra farklı bir yöne dönecekti. Belki de kişi kendi sağlığınızı sorar veya "Üzgünüm, koşmam gerekiyor. İşe geç kaldım".
Bu veriler ve ilk komut istemi göz önüne alındığında, büyük bir dil modeli, belirli bir kelimenin önceden belirlenmiş bir rastgelelik derecesi, tekrarlama cezaları ve diğerleriyle birlikte bir dizide bir sonraki gelme olasılığı parametreler.
Bugün kullanımda olan büyük dil modelleri, birkaç bin kişilik bir vox pop üzerinde eğitilmemiştir. Bunun yerine, herkese açık koleksiyonlardan, sosyal medya platformlarından, web sayfalarından, arşivlerden ve ara sıra özel veri kümelerinden kazınmış, hayal edilemeyecek miktarda veri verilir.
LLM'ler, belirli kalıpları güçlendirecek ve onları algoritmaya geri besleyecek olan insan araştırmacılar tarafından eğitilir. Büyük bir dil modeline "en iyi köpek türü nedir?"
Ancak cevap ne kadar zekice, inandırıcı ve insanca aptalca olursa olsun, ne model ne de makine onu yanıtlıyor. Aklı vardır ve ne soruyu ne de soruyu oluşturan kelimeleri anlamaktan acizdirler. cevap. Bu sadece matematik ve bir sürü veri.
Raspberry Pi'de Neden Büyük Bir Dil Modeli Çalıştırmalısınız?
Büyük dil modelleri her yerdedir ve sorguları yanıtlamaya yardımcı olmak için büyük arama şirketleri tarafından benimsenmektedir.
Kurumsal bir kara kutuya doğal dille ilgili bir soru sormak cazip gelse de, bazen ilham aramak veya bir soru sormak istersiniz. gözetim kapitalizmi.
Tamirciler için deneysel bir tahta olarak, Raspberry Pi tek kartlı bilgisayar fiziksel olarak olmasa da felsefi olarak çabaya uygundur.
Şubat 2023'te Meta (eski adıyla Facebook şirketi), 7 milyar ile 65 milyar parametre arasında dil modellerine sahip yeni bir LLM olan LLaMA'yı duyurdu. LLaMA, halka açık veri kümeleri kullanılarak eğitildi,
LLaMA kodu açık kaynaktır, yani herkes onu kullanabilir ve uyarlayabilir ve 'ağırlıklar' veya parametreler şu şekilde yayınlanmıştır: sel ve mıknatıs bağlantıları projenin bir iş parçacığında GitHub sayfası.
Mart 2023'te geliştirici Georgi Gerganov, lama.cpp, Raspberry Pi de dahil olmak üzere çok çeşitli donanımlarda çalışabilir. Kod yerel olarak çalışır ve Meta'ya hiçbir veri gönderilmez.
Raspberry Pi'ye llama.cpp yükleyin
llama.cpp için yayınlanmış bir donanım yönergesi yoktur, ancak aşırı derecede işlemci, RAM ve depolama açısından aç durumdadır. Bir Raspberry Pi 4B veya 400'de çalıştırdığınızdan emin olun. sanal bellekve mümkün olduğunca kullanılabilir SSD alanı. Bir SD kart onu kesmeyecek ve iyi soğutmaya sahip bir kasa olmalı.
7 milyar parametre modelini kullanacağız, bu yüzden burayı ziyaret edin LLamA GitHub iş parçacığıqBittorrent veya Aria gibi bir istemci kullanarak 7B torrent'i indirin.
llama.cpp deposunu kopyalayın ve ardından CD yeni dizine geçmek için komut:
git klon https://github.com/ggerganov/llama.cpp
CDlama.cpp
Yüklü bir derleyiciniz yoksa, şimdi bir tane kurun:
sudo apt-elde etmek g++ yükle
Şimdi projeyi şu komutla derleyin:
yapmak
Llama.cpp'nin derlenememe olasılığı vardır ve "vdotq_s32" ile ilgili bir sürü hata mesajı görürsünüz. Bu olursa, bir taahhüdü geri almanız gerekir. İlk olarak, yerel git kullanıcınızı ayarlayın:
git yapılandırma kullanıcı.adı "david"
Artık önceki bir taahhüdü geri alabilirsiniz:
git 84d9015'i geri al
Nano metin düzenleyicide bir git taahhüt mesajı açılacaktır. Basmak Ctrl + O kaydetmek için, o zaman Ctrl + X nano'dan çıkmak için. llama.cpp şimdi şunu girdiğinizde hatasız derlenmelidir:
yapmak
Kullanmayı düşündüğünüz ağırlıklı modeller için bir dizin oluşturmanız gerekecek:
mkdir modelleri
Şimdi ağırlıklı modelleri LLaMa dizin:
mv ~/Downloads/LLaMA/* ~/llama.cpp/modeller/
Pi'nizde Python 3'ün kurulu olduğundan emin olun ve llama.cpp bağımlılıklarını kurun:
python3 -m pip düzenlemek meşale uyuşuk cümle parçası
NumPy sürümü sorunlara neden olabilir. Yükselt:
bip düzenlemek dizi --güncelleme
Şimdi 7B modelini ggml FP16 formatına dönüştürün:
python3 convert-pth-to-ggml.py models/7B/ 1
Önceki adım aşırı derecede bellek yoğun ve bizim hesaplarımıza göre en az 16 GB RAM kullanıyor. Aynı zamanda süper yavaştır ve başarısızlığa eğilimlidir.
Bu yönergeleri bir masaüstü bilgisayarda paralel olarak uygulayarak ve ardından dosyayı kopyalayarak daha iyi sonuçlar elde edeceksiniz. /models/7B/ggml-model-q4_0.bin Raspberry Pi'nizde aynı konuma.
Modeli 4 bite niceleme:
./quantize.sh 7B
Bu kadar. LLaMA LLM artık Raspberry Pi'nize kuruldu ve kullanıma hazır!
Raspberry Pi'de llama.cpp kullanma
llama.cpp ile çalışmaya başlamak için proje dizininde olduğunuzdan emin olun ve aşağıdaki komutu girin:
./main -m ./modeller/7B/ggml-model-q4_0.bin -t 4 -N 128 -P "Linux Çekirdeği nedir?"
bu -M seçenek, llama.cpp'yi kullanmasını istediğiniz modele yönlendirmektir; -T kullanmasını istediğiniz iş parçacığı sayısını gösterir; -N tahmin edilecek jeton sayısıdır; -P isteminizdir. Bu değişkenlerin herhangi birini ve tümünü özelleştirebilirsiniz.
Uzun süre bekleyin, çünkü Raspberry Pi yaptığı işte mükemmel olsa da, bu tür bir CPU etkinliği için tasarlanmamıştır. Örnek istemimizde, lama aşağıdaki yanıtı vermeden önce metni sekiz ayrı simgeye ayırdı:
Linux Çekirdeği, kısaca, her zaman bir işletim sistemi olarak anılmıştır. Bununla birlikte, tüm pratik amaçlar için işlevlerinin çoğu olduğundan, gerçekten bir olarak kabul edilmez. Bunlara erişmek isteyen (veya ihtiyaç duyan) herhangi bir diğer işletim sistemi tarafından kullanılabilen API'ler ve yardımcı programlar aracılığıyla açığa çıkar. API(ler). Linux Çekirdeğinin kendisi söz konusu olduğunda, gerçek çekirdekle yapacak pek bir şey yoktur. Hemen başlayacak, seçtiğiniz önyükleyici/initrd'den yapılandırma parametrelerini alacak, ardından onu bazı donanımlarda çalıştıracak ve siz bu noktada hangi işi gerektiriyorsa onu yapacaksınız.
Bu oldukça tutarlı bir cevap olsa da, ikinci bir girişim, kabaca doğranmış kelime salatasına benzeyen bir şeyle sonuçlandı:
Birçoğunuz muhtemelen bunu duymuşsunuzdur, ancak ne hakkında konuştuklarını tam olarak bilmiyorsunuzdur. Bunu ayrıntılı olarak tartışacağız çünkü bunları tam olarak anlamak, bilgisayarlarımızı daha fazla kullanmamıza yardımcı olur. verimli ve aynı zamanda evdeki, ofislerdeki PC'leriniz için yeni donanım veya yazılım satın alırken daha iyi kararlar verin vesaire.. Linux Çekirdeği, kısmen bu çekirdeğe dayanan açık kaynaklı bir İşletim Sistemi olan android gibi bir bilgisayar sisteminde çalışan çoğu işletim sisteminin bel kemiğidir. Ama linux çekirdeği derken tam olarak neyi kastediyorlar?
Linus Torvalds düşüncelerini yazdı (Bilgi)
Bu noktada, bu yanıtların her birinin üretilmesinin yaklaşık iki saat sürdüğünü ve dört CPU çekirdeğinin tamamının baştan sona %100 çalıştığını belirtmekte fayda var. Ancak proje üzerindeki çalışmalar hızlı ilerliyor ve yaklaşan ARM optimizasyonlarının zamanı azaltmasını bekleyebilirsiniz.
Ayrıca, her seferinde bir istemi beslemek yerine LLM'nizle tüm konuşmaları simüle edebilirsiniz. ekleme -Ben seçeneği, etkileşimli modda lamayı başlatırken, --interactive-start başlangıçta sizden girdi isteyecektir. Mevcut seçeneklerin tam listesi için şunu çalıştırın:
ana -h
LlaMA'nın kısıtlayıcı kuralları olmadığını unutmayın. Zaman zaman cinsiyetçi, ırkçı, homofobik ve çok yanlış olacaktır.
Büyük Bir Dil Modeli Gerçek Bilginin Yerine Geçemez
Raspberry Pi'de Meta'nın LLaMA'sını çalıştırmak delice havalı ve teknik sorular, yaşam tavsiyesi, arkadaşlık veya gerçek bir bilgi kaynağı olarak sanal gurunuza başvurmak isteyebilirsiniz. Kanmayın. Büyük dil modelleri hiçbir şey bilmez, hiçbir şey hissetmez ve hiçbir şey anlamaz. Bir konuda yardıma ihtiyacınız varsa, bir insanla konuşmak veya bir insan tarafından yazılmış bir şeyi okumak daha iyidir.
Zamanınız kısıtlıysa, onu Linux terminalinizde hızlı okuyabilirsiniz!