Jak uruchomić LLM lokalnie

Obraz wygenerowany przy pomocy Midjourney oraz edytowany w Photoshopie przy pomoocy funkcji Generate AI.

Uruchamianie modeli LLM lokalnie za pomocą biblioteki Dalai

Czy kiedykolwiek zastanawiałeś się nad uruchomieniem zaawansowanych modeli językowych, takich jak ChatGPT, na swoim własnym komputerze? Nie jesteś w tej przygodzie sam! W tym przewodniku krok po kroku dowiemy się, jak to zrobić za pomocą modeli LLaMA i Alpaca, korzystając z biblioteki Dalai. Bądź gotowy na szczegółową, krok po kroku i interesującą podróż do świata AI!

Czym jest biblioteka Dalai?

Dalai to narzędzie opracowane przez Meta AI w celu umożliwienia użytkownikom korzystania z modeli językowych LLM na swoich własnych komputerach. Dzięki tej bibliotece, możemy wykorzystać modele LLM, takie jak LLaMA i Alpaca, w środowisku offline, co eliminuje konieczność korzystania z centralnych i często komercyjnych rozwiązań oferowanych przez duże firmy.

Dostępność jako biblioteka Node.js

Dalai został stworzony jako biblioteka dla środowiska Node.js, co umożliwia łatwe i elastyczne wykorzystanie modeli LLM w aplikacjach opartych na tym środowisku. Jest to szczególnie korzystne dla programistów pracujących w języku JavaScript.

Dylemat lokalnej sztucznej inteligencji: Nasza własna prywatna ostoja

Mierzymy się z wieloma możliwościami, jakie model generatywnej sztucznej inteligencji nam przynosi. Jednak wraz z wielką mocą przychodzi wielka odpowiedzialność (dzięki, Wujek Ben). Jednym z największych obaw, które mamy, jest prywatność danych. Centralizowane modele oferowane przez OpenAI i Microsoft są fantastyczne, ale czy naprawdę chcemy oddać nasze dane na srebrnej tacy?

Wyobraź sobie, że Batman musiałby podzielić się lokalizacją Batjaskini ze wszystkimi. Nie byłoby to zbyt fajne, prawda? Tutaj wchodzi w grę uruchomienie modelu AI na swoim lokalnym komputerze. To jak posiadanie swojej własnej Batjaskini (bez fajnych gadżetów i pojazdów w stylu nietoperza, oczywiście).

Plusy uruchamiania LLM na maszynach lokalnych:

  • Prywatność danych: Jest to jedna z największych zalet uruchamiania modeli LLM na maszynach lokalnych. Korzystając z własnej infrastruktury, użytkownik ma większą kontrolę nad swoimi danymi i unika przekazywania ich do zewnętrznych serwerów lub chmur. Dla osób lub organizacji, które szczególnie dbają o prywatność danych, jest to kluczowe.
  • Szybkość działania: Uruchamianie modeli LLM na lokalnych maszynach może być szybsze niż korzystanie z modeli działających w chmurze. Dzięki temu można uzyskać wyniki generowania tekstu błyskawicznie, bez opóźnień związanych z przesyłaniem danych do zdalnych serwerów.
  • Brak opłat za korzystanie: Często korzystanie z modeli LLM w chmurze może być powiązane z opłatami, które rosną w miarę zwiększania ilości generowanego tekstu. Uruchamianie modeli lokalnie może pozwolić uniknąć tych kosztów i oszczędzić na długoterminowej współpracy.
  • Modyfikowalność i dostosowywanie: Korzystając z maszyn lokalnych, użytkownik ma pełną kontrolę nad konfiguracją i dostosowaniem modeli LLM. Można zmieniać parametry, testować różne warianty modeli i dostosowywać je do swoich potrzeb.

Minusy uruchamiania LLM na maszynach lokalnych:

  • Wymagania sprzętowe: Niektóre modele LLM, zwłaszcza te zaawansowane, mogą wymagać znacznych zasobów sprzętowych, takich jak duża ilość pamięci RAM czy mocny procesor. Uruchomienie ich na komputerze osobistym może być utrudnione lub niemożliwe ze względu na ograniczenia sprzętowe.
  • Kompleksowość instalacji: Instalacja i konfiguracja modeli LLM na lokalnych maszynach może być skomplikowana, szczególnie dla osób bez doświadczenia w programowaniu czy obszarze sztucznej inteligencji. Wymaga to znalezienia odpowiednich wersji bibliotek, narzędzi i zależności, co może być czasochłonne i frustrujące.
  • Brak skalowalności: Uruchomienie modelu LLM na maszynie lokalnej ogranicza skalowalność generowania tekstu. Jeśli potrzebujemy dużej ilości generowanego tekstu lub jednoczesnego dostępu wielu użytkowników, lokalne środowisko może nie być wystarczające.
  • Ograniczona aktualizacja modeli: W porównaniu do korzystania z modeli LLM w chmurze, aktualizacje modeli mogą być trudniejsze do przeprowadzenia na maszynach lokalnych. Wymaga to ręcznej aktualizacji i utrzymania modelu, co może być problematyczne, gdy pojawią się nowe i ulepszone wersje modeli.
Diagram z artykułu opublikowanego w magazynie Research on Foundation Models (CRFM) w Stanford. Źródło: CRFM

LLaMA: Kompaktowy potwór stworzony przez Meta AI

LLaMA to podstawowy model językowy, który osiągnął coś niesamowitego. Mimo że jest 13 razy mniejszy od kolosalnego GPT-3, przewyższa ten ostatni na większości benchmarków! Ten kompaktowy potwór może być uruchamiany na lokalnych maszynach - jedna odważna jednostka nawet zdołała go uruchomić na Raspberry Pi!

Teraz, dzięki pewnym nieprzewidzianym okolicznościom, LLaMA jest dostępny do użytku niekomercyjnego. Został stworzony przez utalentowany zespół w Meta AI, a LLaMA oraz jego “rodzeństwo” - Alpaca - sprawiają, że lokalne wykorzystanie sztucznej inteligencji staje się bardziej dostępne niż kiedykolwiek wcześniej. Więc, bez zbędnych zwłok, zaczynajmy tę wspaniałą podróż!

Pierwszym z brzegu pomysłem na skorzystaniu z wymiarów Raspberry PI byłoby stworzenie stworzenie salonu, gdzie każde urządzenie polegałoby na osobnym modelu i użytkownicy mogliby się z nimi komunikować, jednocześnie tworząc wirtualną historie. Byłoby to o tyle ciekawe, że spędzenie pewnego czasu w tym lokalu, posunięcie historii dalej i pozostawienie jej w tym samym miejscu dla kolejnych klientów lokalu. W ten sposób każdy mógłby wnieść swój wkład w historię, a jednocześnie cieszyć się z tego, co stworzyli inni.

Instalacja i uruchamianie LLaMA

Sklonuj repozytorium i zainstaluj niezbędne wymagania z https://gichub.com/cockroiJpeanuVdolai.

Aby rozpocząć, uruchom polecenie:

npx dalaî install 7B

Zanim przejdziesz dalej, upewnij się, że LLaMA-7B potrzebuje około 31 GB pamięci. Sprawdź, czy na twoim komputerze jest wystarczająco dużo miejsca na tego małego, ale potężnego gościa. Sam miałem z tym sporo problemów!

Aby uruchomić LLaMA, wystarczy wpisać:

npx dalai serves

I to wszystko! Masz teraz duży model językowy działający lokalnie. Gratulacje! Dlaczego? Ponieważ musiałem przejść przez wiele trudności, aby to uruchomić, takie jak dopasowywanie określonych wersji Pythona i Node. Szczegóły możesz znaleźć w pliku Readme na stronie https://github.com/cocktailpeaonut/dalai.

Jednak kiedy to uruchomiłem, otrzymałem mnóstwo bezsensownych ciągów liter w odpowiedzi na proste pytanie “Mam ochotę coś zjeść, ponieważ…”. Po dokładniejszym zbadaniu wygląda na to, że jest to znany problem. Ktoś w kanale dyskusji sugerował: “Sprawdź model Alpaca”, więc to zrobiłem.

Alpaca: Cudo, które podąża za instrukcjami

Alpaca to wersja fine-tuningowana LLaMA, zaprojektowana tak, aby podążała za instrukcjami, podobnie jak ChatGPT. Niesamowite jest to, że cały proces dopasowania kosztował mniej niż 600 dolarów! Porównując to z ogromną ceną 5 milionów dolarów za GPT-3.5, to prawdziwa okazja!

Jak to osiągnięto? Model tekstu OpenAI - davinci-003 - nieświadomie pomógł, przekształcając 175 zadań samouczka w aż 52 000 przykładów podążających za instrukcjami do nadzorowanego dopasowania. Mówię o inteligentnym rozwiązaniu! Autorami tego niesamowitego modelu są Rohan Taori i inni. To takie kreatywne - praktycznie użyli da-vinci-03 jako nauczyciela dla LLaMA, aby stworzyć Alpacę! Całą pracę można znaleźć w artykule na stronie htps://crfm.stanford.edu/2023/03/13/alpaco.html

Instalacja i uruchamianie Alpaca

Aby zainstalować Alpacę, wystarczy uruchomić:

npx dalai alpaca install 78

Alpaca to lekki model, który wymaga tylko 4 GB pamięci, więc nie zajmie wiele miejsca na twoim komputerze. Aby uruchomić Alpacę, po prostu powtórz polecenie:

npx dalai alpaca serves

I gotowe! Masz teraz własny model ChatGPT, gotowy do działania!

Wszechstronne API Dalai

To nie koniec zabawy - biblioteka Dalai oferuje również interfejs API, który umożliwia integrację zarówno LLaMA, jak i Alpaki w twoje własne aplikacje. Otwiera to świat możliwości dla innowacyjnych projektów i eksperymentów na twoim lokalnym komputerze.

Pomyśl o stworzeniu swojego własnego chatbota opartego na sztucznej inteligencji, budowaniu inteligentnego asystenta do pisania czy nawet opracowaniu nauczyciela AI dla twojego ulubionego przedmiotu! Teraz, kiedy nie jesteś ograniczony do 32 tysięcy słów, możesz karmić modele wszystkimi klasykami napisanymi przez swojego ulubionego autora (który już nie żyje, aby dać nam więcej magicznych dzieł).

Baw się dobrze z lokalnymi modelami LLM i ciesz się wspaniałymi możliwościami, jakie oferują. Sztuczna inteligencja staje się coraz bardziej dostępna, co pozwala nam na bardziej kreatywną i interesującą pracę z modelami językowymi na naszych własnych komputerach.