Komputery

Twój własny AI Chatbot serwer na Raspberry Pi? LLaMA Ci w tym pomoże!

przeczytasz w 3 min.

Społeczność Raspberry po raz kolejny udowadnia nam, że na tym SBC można zrobić praktycznie wszystko. Tym razem podjęli próbę stworzenia à la serwera ChatGPT na własny użytek! Przedstawiany wymagania i niezbędną procedurę do wykonania.

Wielokrotnie na łamach naszego serwisu pisaliśmy o możliwościach Raspberry Pi. Stworzenie retro konsoli? Żaden problem! Instalacja systemu Windows? Jak najbardziej! Odblokowanie funkcji konsoli GameCube? „Potrzymaj mi piwo!”. Możliwe jest również stworzenie „własnego” chatbota AI, który uruchomiony lokalnie (na Raspberry Pi 4 w wersji 8GB) wykorzystuje ten sam rodzaj modeli językowych (LLaMA), które napędzają sztuczną inteligencję chociażby na platformie Facebook.

LLaMA C++

Sercem tego projektu jest plik autorstwa Georgija Gerganowa – llama.cpp. Model ten napisany w C/C++ należy do otwartych i wydajnych modeli języka podstawowego. Jest wystarczająco szybki do ogólnego użytku i bardzo prosty w instalacji. Model i jego oprogramowanie działa na komputerach z systemem MacOS i GNU/Linux, a w tym przypadku został dostosowany tak, aby działać na Raspberry Pi 4. Ważna uwaga – przedstawiony tutaj projekt należy bardziej traktować jako ciekawostkę, gdyż LLaMA na Raspberry Pi 4 działa wolno. Załadowanie monitu czatu może trwać nawet kilka minut, a odpowiedzi na pytania mogą zająć porównywalny czas. Jeśli zależy Ci na szybkości, użyj komputera stacjonarnego/laptopa z systemem Linux. Jeżeli natomiast chcesz bardzo szybszego chatbota, czy AI z funkcjami generowania obrazów, to nie zapomnij wyposażyć się w komputer z GPU z serii GeFoce RTX 3000/4000.

ChatGPT - najpopularniejszy AI ChatBot

LLaMA na Raspberry Pi 4 8GB – instalacja i konfiguracja

W pierwszej kolejności należy skonfigurować llama.cpp na komputerze klasy PC z systemem Linux, wyposażonego w minium 16GB pamięci RAM. Oznacza to kolejno – pobranie modeli LLaMA 7B, przekonwertowanie ich, a następnie skopiowanie na dysk USB (NTFS, min. 16GB).

Na komputerze PC z systemem Linux:

  1. Upewnij się, że git jest zainstalowany.

               sudo apt update && sudo apt install git

  1. Użyj git, aby sklonować repozytorium.

               git clone https://github.com/ggerganov/llama.cpp

  1. Zainstaluj moduły Pythona. Będą one współpracować z modelem w celu utworzenia czat bota.

               python3 -m pip install torch numpy sentencepiece

  1. Upewnij się, że masz zainstalowane oprogramowanie g++ i build essential. Są one niezbędne do tworzenia aplikacji w języku C.

               sudo apt install g++ build-essential

  1. W terminalu przejdź do katalogu llama.cpp.

               cd llama.cpp

  1. Zbuduj pliki projektu. Naciśnij Enter, aby uruchomić.

               make

  1. Pobierz torrent Lamy 7B, korzystając z tego łącza. Do pobrania modelu wykorzystano qBittorrent.

               magnet:?xt=urn:btih:ZXXDAUWYLRUXXBHUYEMS6Q5CE5WA3LVA&dn=LLaMA

  1. Dostosuj pobieranie tak, aby pobierane były tylko pliki 7B i tokenizer. Pozostałe foldery zawierają większe modele, które ważą setki gigabajtów.

qBittorrent

  1. Skopiuj folder 7B i pliki tokenizera do /llama.cpp/models/.
  2. Zweryfikuj, czy nadal jesteś w katalogu llama.cpp.

               cd llama.cpp

  1. Przekonwertuj model 7B do formatu ggml FP16. W zależności od komputera może to chwilę potrwać.

               python3 convert-pth-to-ggml.py models/7B/ 1

To właśnie ten krok jest powodem, dla którego potrzebujemy 16 GB pamięci RAM w PC. Cały plik models/7B/consolidated.00.pth (13GB) ładowany jest do pamięci RAM jako model pytorch. Wykonanie tego zadania na Raspberry Pi 4 spowoduje błąd niedozwolonej instrukcji.

  1. Skwantyzuj model do 4 bitów. Zmniejszy to rozmiar modelu.

               python3 quantize.py 7B

  1. Skopiuj zawartość /models/ na dysk USB.

LLaMA na Raspberry Pi 4 8GB – test działania chat bota

W tej sekcji należy powtórzyć konfigurację llama.cpp na Raspberry Pi 4, a następnie skopiować gotowe modele z nośnika USB. Następnie wystarczy załadować interaktywną sesję czatu, by móc zadać „Bobowi” serię pytań. Proszę go tylko nie prosić o napisanie kodu w Pythonie :).

  1. Uruchom Rasberry OS na Raspberry Pi.
  1. Powtarzamy kroki od 2 do 6.
  1. Włóż dysk USB i skopiuj pliki do /models/. Spowoduje to nadpisanie wszystkich plików w katalogu modeli.
  1. Rozpocznij interaktywną sesję czatu z „Bobem”. Pamiętajcie tylko, że wymagana jest odrobina cierpliwości – mimo, że model 7B jest lżejszy niż inne modele, nadal jest on dość ciężki do strawienia dla Raspberry Pi.

               ./chat.sh

  1. Zadaj Bobowi pytanie i naciśnij Enter. Oczekuj z niecierpliwością odpowiedzi Twojego nowego chat bota!

Bob

Na jakie pytanie chcielibyście, by „Bob” Wam odpowiedział? Jak oceniacie tego typu projekt?

Źródło: Tom's HARDWARE, GitHub, Cornell University - arXiv.org

Komentarze

3
Zaloguj się, aby skomentować
avatar
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.
  • avatar
    Vento87
    1
    Ooo, proszę o więcej tym podobnych art. Podoba mi się :) Przypomniał mi się stary PCWorld/komputerŚwiat z poradami odnośnie: oprogramowania, aplikacji etc..
    • avatar
      Przem0l
      -1
      Wlasnie, ze nie potrzeba kompa z linuxem. Mozna postawic na windzie tak samo jak Stable Diffusion i mase innego softu smiagajacego radosnie na CUDA: https://aituts.com/llama/