Jak uruchomić sztuczną inteligencję podobną do ChatGPT na własnym komputerze

Opublikowany: 2023-04-06
Przyjazna alpaka wygenerowana przez MidJourney.
W połowie podróży
Możesz uruchomić sztuczną inteligencję podobną do ChatGPT na swoim komputerze za pomocą Alpaca, chatbota stworzonego przez naukowców ze Stanford. Obsługuje systemy Windows, macOS i Linux. Potrzebujesz tylko co najmniej 8 GB pamięci RAM i około 30 GB wolnego miejsca.

Chatboty są teraz w modzie i każdy chce wziąć udział w akcji. Google ma Barda, Microsoft ma Bing Chat, a ChatGPT OpenAI jest w tym momencie praktycznie synonimem sztucznej inteligencji. Ale co, jeśli nie chcesz polegać na usłudze w chmurze dla swojego chatbota? Mamy sztuczną inteligencję podobną do ChatGPT, którą możesz pobrać — alpakę.

Spis treści

Co to jest alpaka?
Jak Alpaca wypada w porównaniu z ChatGPT?
Co jest potrzebne do prowadzenia alpaki?
Jak uruchomić Alpaca lokalnie na swoim komputerze
Zainstaluj podsystem Windows dla systemu Linux 2
Zainstaluj Dockera
Zainstaluj GIT w systemie Windows
Zainstaluj Serge i Alpacę
Użyj Serge'a i Alpaki

Co to jest alpaka?

Alpaca to model językowy (w zasadzie chatbot), podobnie jak ChatGPT. Jest w stanie odpowiadać na pytania, rozumować, opowiadać dowcipy i prawie wszystkie inne rzeczy, których oczekujemy od chatbotów. Alpaca została stworzona przez naukowców ze Stanford poprzez dopracowanie LLaMA Facebooka.

W przeciwieństwie do ChatGPT i większości innych dostępnych obecnie chatbotów, Alpaca działa całkowicie na twoim własnym komputerze. Oznacza to, że nikt nie może podglądać twoich rozmów ani tego, o co pytasz Alpaca, a twoje wymiany nie mogą też przypadkowo wycieknąć. Oznacza to również, że nie musisz płacić żadnych miesięcznych opłat, możesz dalej trenować model, aby lepiej odpowiadał Twoim potrzebom, jeśli masz sprzęt, i możesz zintegrować go z dowolną aplikacją. Ogranicza Cię tylko sprzęt i programowanie.

Jednak działa również doskonale jako zwykły stary chatbot, z którym możesz rozmawiać, a my pokażemy Ci, jak go uruchomić na prawie każdym komputerze.

Jak Alpaca wypada w porównaniu z ChatGPT?

Po prostu usuniemy to z góry: ChatGPT, szczególnie ChatGPT z GPT-4, jest w tej chwili inteligentniejszy i szybszy niż Alpaca.

Szybkość Alpaca jest w większości ograniczona przez komputer, na którym działa — jeśli masz niesamowicie szybki komputer do gier z mnóstwem rdzeni i dużą ilością pamięci RAM, uzyskasz z niego dobrą wydajność. Wolniejsze komputery z mniejszą liczbą rdzeni będą generować odpowiedzi dłużej. Oczywiście porównywanie go do ChatGPT pod tym względem nie jest do końca uczciwe ani nawet rozsądne — nie wiemy, na jakim komputerze działa ChatGPT, ale z pewnością jest mocniejszy niż przeciętny komputer stacjonarny.

Obecnie istnieją trzy główne warianty alpaki, 7B, 13B i 30B. Ogólnie rzecz biorąc, im większa liczba, tym mądrzejszy będzie chatbot.

Alpaca, zwłaszcza model 7B, jest zauważalnie „głupsza” niż ChatGPT. To też nie rozumuje i na pewno nie przejdzie testu Turinga. 7B jest nadal świetny, jeśli chcesz zasugerować przepis.

Modele 13B i 30B to zupełnie inna historia. 13B jest w stanie zapewnić spójną, ludzką rozmowę i może odpowiedzieć na złożone pytania. 30B jest jeszcze bardziej imponujący, jeśli masz sprzęt do jego uruchomienia i znajduje się w uderzającej odległości od ChatGPT. Będzie woskować filozoficznie lub żartować bez utraty rytmu, jeśli zostaniesz o to poproszony.

Co jest potrzebne do prowadzenia alpaki?

Alpaca ma dość elastyczne wymagania systemowe. Te wytyczne wykraczają poza absolutne minimum, ale są dobrymi wytycznymi. Zamierzamy również zainstalować to w systemie Windows. Jeśli instalujesz to w systemie z systemem Linux lub macOS, po prostu pomiń sekcję Podsystem Windows dla systemu Linux — nie jest to dla Ciebie istotne.

  • 16 GB pamięci RAM
    • 32 GB jest lepsze i jest niezbędne, jeśli chcesz uruchomić model 30B
  • 35 GB miejsca na dysku SSD, jeśli chcesz mieć wszystkie trzy modele.
    • 4 GB dla modelu 7B, 8 GB dla modelu 13B i 20 GB dla modelu 30B
    • 500 MB dla domyślnego Ubuntu z WSL2
    • Kilka dodatkowych GB między innymi zależnościami
  • Nowoczesny procesor jest idealny
    • Dowolny procesor Ryzen
    • Procesor Intel siódmej generacji lub nowszy
  • Podsystem Windows dla systemu Linux 2 (WSL2)
  • GIT
  • Doker
  • Projekt społecznościowy, Serge, który zapewnia Alpaca ładny interfejs sieciowy
Ostrzeżenie: obecnie nie ma powodu, by podejrzewać, że ten konkretny projekt ma jakiekolwiek poważne luki w zabezpieczeniach lub jest złośliwy. Przejrzeliśmy kod i sami uruchomiliśmy oprogramowanie i nie znaleźliśmy niczego niepokojącego. Nie oznacza to, że jest lub pozostanie bezpieczny. Zawsze bądź ostrożny z rzeczami znalezionymi w Internecie i okresowo oceniaj bezpieczeństwo.

Jak uruchomić Alpaca lokalnie na swoim komputerze

Ważne jest, aby wykonać te kroki w podanej kolejności. Docker prawdopodobnie się zepsuje, jeśli tego nie zrobisz, co wymaga całkowitej ponownej instalacji zarówno WSL2, jak i Dockera.

Zainstaluj podsystem Windows dla systemu Linux 2

Podsystem Windows dla systemu Linux 2 (WSL2) firmy Microsoft umożliwia uruchamianie oprogramowania Linux w systemie Windows. Ma niski koszt ogólny i jest naprawdę przydatny w wielu przypadkach. Docker dla Windows opiera się na WSL2, więc najpierw musimy zainstalować WSL2.

Uwaga: jeśli masz już zainstalowany WSL2, po prostu uruchom wsl –update w PowerShell, aby upewnić się, że wszystko jest zaktualizowane.

Otwórz okno PowerShell jako administrator, a następnie wprowadź polecenie:

wsl --install

Pobranie wszystkich plików WSL2 i Ubuntu zajmie trochę czasu. Po zakończeniu instalacji należy ponownie uruchomić komputer.

Instalowanie WSL2.

Po ponownym uruchomieniu ponownie otwórz PowerShell (niekoniecznie jako administrator) i uruchom:

wsl -l -v

Powinieneś zobaczyć coś takiego jak na poniższym obrazku, jeśli wszystko działało poprawnie. W szczególności nie musisz instalować Ubuntu. Możesz zainstalować dowolną dystrybucję, Ubuntu jest tylko domyślną.

Sprawdzanie, czy WSL2 zainstalował Ubuntu.

Zainstaluj Dockera

Docker to program, który umożliwia uruchamianie programów w „kontenerze”. Kontenery są podobne do maszyn wirtualnych, ale zwykle mają mniejszy narzut i są bardziej wydajne w przypadku wielu aplikacji. Serge używa Dockera, aby instalacja była bardzo wygodna.

POWIĄZANE: Co robi Docker i kiedy należy go używać?

Najpierw pobierz instalator Docker z witryny Docker. Jeśli zamierzasz używać Dockera w systemie Linux lub macOS, upewnij się, że pobrałeś odpowiedni instalator.

Uwaga: jeśli korzystasz z bezobsługowego serwera Linux, będziesz chciał postępować zgodnie z odpowiednimi instrukcjami dla swojej dystrybucji Linuksa, aby uruchomić Dockera.

Zainstaluj Docker Desktop z witryny Docker.

Uruchom instalator i przygotuj się na kilka minut. Docker zajmie trochę czasu i skonfiguruje kilka rzeczy za kulisami. Po zakończeniu będziesz chciał ponownie uruchomić komputer.

Po ponownym uruchomieniu otwórz PowerShell i ponownie uruchom wsl -l -v . Tym razem powinieneś zobaczyć również kilka wpisów związanych z Dockerem.

Docker używa WSL2 do tworzenia maszyny wirtualnej.

Zainstaluj GIT w systemie Windows

Ostatnim warunkiem wstępnym jest Git, którego użyjemy do automatycznego pobrania (i aktualizacji) Serge z Github. Nie jest to absolutnie konieczne, ponieważ zawsze możesz pobrać ZIP i rozpakować go ręcznie, ale Git jest lepszy.

Udaj się na stronę Git i pobierz odpowiednią wersję dla swojego systemu operacyjnego. Użytkownicy systemu Windows muszą tylko uruchomić plik wykonywalny. Pamiętaj, aby przynajmniej spojrzeć na opcje instalacji zamiast po prostu szybko klikać wszystkie opcje. Jeden, pokazany na poniższym zrzucie ekranu, jest absolutnie krytyczny.

Upewnij się, że wybrałeś opcję, która dodaje Git do ŚCIEŻKI systemu.

Gdy Git zakończy instalację, możesz zainstalować Serge i Alpaca.

Zainstaluj Serge i Alpacę

Najpierw upewnij się, że Docker Desktop jest uruchomiony. Następnie otwórz PowerShell lub Windows Terminal z otwartym oknem PowerShell (nie jako administrator) i uruchom następujące polecenie:

git clone https://github.com/nsarrazin/serge.git && cd serge

Spowoduje to pobranie plików z GitHub do folderu na komputerze, a następnie zmianę katalogu aktywnego na folder, który został utworzony.

Pobierz Serge'a z Github.

Następne polecenie, które musisz uruchomić, to:

cp .env.sample .env

Ta linia tworzy kopię pliku .env.sample i nadaje jej nazwę „.env”. Plik zawiera argumenty związane z lokalną bazą danych, w której przechowywane są rozmowy, oraz z portem używanym przez lokalny serwer WWW podczas łączenia.

Następnie uruchomić:

docker compose up -d

Docker komponuje, łączy wiele różnych kontenerów w zgrabną paczkę. Możesz sprawdzić plik docker-compose.yml w folderze Serge, jeśli chcesz zobaczyć dokładniej, o co tu chodzi.

Docker-Compose konfiguruje Serge.

Ostatnie polecenie zainicjuje pobieranie i tutaj musisz dokonać wyboru przed kontynuowaniem. Istnieją trzy różne warianty, które można pobrać: 7B, 13B i 30B. 7B jest najprostszym i „najgłupszym” modelem, podczas gdy 30B jest najbardziej wyrafinowanym i najmądrzejszym. 13B to środek.

Wariant Pobierz rozmiar Wymagana wolna pamięć RAM Systemowa pamięć RAM Zalecana w systemie Windows Systemowa pamięć RAM zalecana w systemie Linux
7B 4GB 4GB 16 giga bajtów 8 GB
13B 8 GB 8 GB 16 giga bajtów 16 giga bajtów
30B 20 20 GB 64 GB (prawdopodobnie) 32 GB

Instalacje Linuksa (i prawdopodobnie macOS) będą mogły uciec z mniejszą pamięcią systemową niż instalacje systemu Windows — Windows to trochę świnia RAM. Na początek powinieneś chyba zacząć od wariantu 7B, gdyż jest to najmniej wymagająca opcja. Zawsze możesz pobrać 13B lub 30B później, jeśli chcesz.

Uruchom następujące polecenie, aby pobrać model 7B (lub zastąpić model 13B lub 30B).

docker compose exec api python3 /usr/src/app/utils/download.py tokenizer 7B

Przygotuj się na czekanie, zwłaszcza jeśli zdecydujesz się na wariant 30B. Wydaje się, że serwer Huggingface osiąga maksymalną prędkość około 20 megabajtów na sekundę, więc w najlepszym przypadku będziesz patrzył na 50 sekund na pobrany gigabajt.

Pobieranie modelu języka 7B.

Użyj Serge'a i Alpaki

Docker i wszystkie wymagane kontenery są obecnie uruchomione, jeśli postępujesz zgodnie z tymi instrukcjami, jednak po ponownym uruchomieniu komputera będziesz musiał je ponownie włączyć. Aby to zrobić, po prostu otwórz Docker Desktop i kliknij małe trójkątne przyciski. Ikony po lewej stronie kolumny „Nazwa” zmieniają kolor na zielony, gdy kontenery są uruchomione.

W tym momencie wszystko jest zainstalowane i gotowe do pracy. Po prostu otwórz przeglądarkę i wpisz „localhost:8008″ w pasku adresu, tak jakbyś odwiedzał Facebooka lub inną stronę internetową.

Uwaga: jeśli hostujesz Alpaca/Serge na innym komputerze, musisz wprowadzić lokalny adres IP tego urządzenia zamiast lokalnego hosta.

Na ekranie głównym po lewej stronie wyświetlane są poprzednie rozmowy, a pośrodku ustawienia nowego czatu.

Interfejs sieciowy Serge.

Dostępnych jest sporo ustawień, ale jest pięć, na które naprawdę warto zwrócić uwagę:

  • Temperatura – określa, jak swobodnie odpowiada sztuczna inteligencja. Niższe liczby skutkują bardziej sztywnymi odpowiedziami, podczas gdy wyższe liczby są bardziej kreatywne.
  • Maksymalna długość wygenerowanego tekstu w tokenach — jak długie mogą być odpowiedzi, które pisze bot.
  • Wybór modelu — wybierz pomiędzy 7B, 13B, 30B i dowolnym innym zainstalowanym modelem.
  • n_threads – liczba wątków, których Serge/Alpaca może użyć na twoim procesorze. Przydzielenie większej ilości poprawi wydajność
  • Pre-Prompt for Initializing a Conversation – Zapewnia kontekst przed rozpoczęciem konwersacji, aby wpłynąć na sposób odpowiedzi chatbota.

W tym przypadku podnieśliśmy temperaturę i wątki, wybraliśmy model 13B i powiedzieliśmy chatbotowi, że to pirat.

Ważne ustawienia Serge.

Oto próbka tego, jak przebiegała rozmowa.

Przykładowa rozmowa.

Z Alpacą możesz rozmawiać o wszystkim, na co masz ochotę, i nie musisz się martwić o to, co dzieje się z Twoimi danymi. Pozostaje na Twoim urządzeniu, pod Twoją kontrolą przez cały czas.

Pamiętaj, że ChatGPT, Alpaca i inne chatboty wydają się niezawodne, ale w tym momencie tak nie jest. Bardzo dobrze uosabiają zdanie: „Jeśli nie możesz ich olśnić błyskotliwością, zaskocz ich BS”. Ich skłonność do zmyślania została nazwana „halucynacjami”. Nie polegaj na nich w sprawach istotnych, zwłaszcza w sprawach, które nie są krytyczne dla Twojej pracy lub zdrowia. W tej chwili należy ich używać wyłącznie do celów rozrywkowych lub eksperymentalnych.

Jednak z czasem technologia będzie coraz lepsza — wkrótce zobaczymy Alpacę (lub inną lokalnie działającą sztuczną inteligencję) zintegrowaną z serwerami Discord, modami Minecrafta i dowolną liczbą innych kreatywnych aplikacji. Dalsze udoskonalanie zaowocuje również szybszymi, dokładniejszymi modelami, które mogą działać na słabszym sprzęcie.