Skip to content
← Wszystkie wpisy
6 min czytania Michał Smykowski

Self-hosting otwartych LLM: Llama i przyjaciele

Modele o otwartych wagach, takie jak Llama 2 i Mistral, sprawiają, że sprawnego LLM można dziś uruchomić na własnej infrastrukturze zamiast korzystać z czyjegoś API. Spojrzenie na to, po co w ogóle to robić — prywatność, koszt, kontrola — jaki jest realny koszt operacyjny i uczciwe pytanie, czy w ogóle warto.

Przez pierwszy rok boomu na LLM-y budowanie funkcji AI oznaczało korzystanie z czyjegoś API — najczęściej OpenAI. Twoje dane trafiały na ich serwery, płaciłeś za token, a model był czarną skrzynką, którą wynajmowałeś. Był to jedyny wariant, jeśli chciałeś sensownego modelu. Już nie jest. Przez ostatnich kilka miesięcy fala modeli o otwartych wagach — Llama 2, Mistral, Mixtral i rosnąca grupa innych — zrobiła się na tyle dobra, że uruchomienie sprawnego LLM na własnej infrastrukturze stało się realną opcją. Wagi są publicznie dostępne; możesz je pobrać i uruchomić na własnym sprzęcie. Ten wpis jest o tym, co ta zmiana otwiera, jaki jest jej realny koszt i o uczciwym pytaniu, które kryje się pod ekscytacją: skoro możesz self-hostować, to czy powinieneś?

Co „otwarte wagi” naprawdę dają

Najpierw precyzja pojęciowa, bo słowo „otwarte” niesie tu sporo, a niekoniecznie to, co ludzie zakładają. Te modele udostępniają swoje wagi — wytrenowane parametry — więc możesz uruchomić model samodzielnie. To realna i ważna swoboda, ale różni się od tego, że model jest „open source” w pełnym tego słowa znaczeniu: licencje bywają różne, dane treningowe zwykle nie są publikowane, a „otwarte wagi” znaczą głównie tyle, że możesz to uruchomić, a nie że możesz w pełni odtworzyć czy zaudytować. Mimo to możliwość pobrania sprawnego modelu i uruchomienia go na własnej maszynie, bez ani jednego wywołania API opuszczającego twoją sieć, to prawdziwe przesunięcie względem świata sprzed roku, w którym wynajmowało się czarne skrzynki. Pytanie brzmi, do czego to przesunięcie ma służyć.

Dlaczego warto self-hostować

Są trzy realne motywacje i warto trzeźwo spojrzeć na każdą:

  • Prywatność i lokalizacja danych. To ta najważniejsza. Kiedy wywołujesz hostowane API, twoje prompty — mogące zawierać dane klientów, informacje objęte tajemnicą, treści regulowane — opuszczają twoją infrastrukturę i trafiają do strony trzeciej. Dla części zastosowań to nie problem; dla innych to warunek dyskwalifikujący, czy to z powodu regulacji (ochrona zdrowia, prawo, część unijnych wymogów dotyczących lokalizacji danych), zobowiązań umownych, czy zwykłego braku zgody na to, żeby wrażliwe dane wychodziły poza firmę. Model self-hostowany utrzymuje każdy prompt i każdą odpowiedź wewnątrz własnej infrastruktury. Dla wielu zespołów sam ten argument wystarcza — nie chodzi o koszt ani jakość, chodzi o to, że dane po prostu nie mogą wyjść.
  • Koszt przy dużej skali. Cennik za token jest tani na start, ale przy dużym wolumenie potrafi zrobić się kosztowny. Jeśli obsługujesz miliony zapytań, rachunek za API potrafi przyćmić koszt utrzymywania własnego sprzętu. Self-hosting zamienia zmienny koszt za token na stały koszt infrastruktury, co wygrywa powyżej pewnego wolumenu — ale uwaga na to „powyżej”, bo poniżej tej granicy przegrywa, często sromotnie.
  • Kontrola i stabilność. Hostowany model może zmienić się pod tobą — zostać zaktualizowany, oznaczony jako przestarzały, wycofany — a twoje starannie dostrojone prompty potrafią z dnia na dzień zacząć zachowywać się inaczej. Model, którego wagi pobrałeś, jest zamrożony: jutro jest dokładnie tym samym modelem, co dziś, na zawsze, bo to plik, który trzymasz u siebie. Dla funkcji wymagających stabilnego, odtwarzalnego zachowania ta trwałość jest cenna.

To realne korzyści i dla właściwej aplikacji którakolwiek z nich uzasadnia self-hosting. Prywatność w szczególności bywa nienegocjowalna w sposób, który kończy dyskusję, zanim koszt czy jakość w ogóle wejdą do gry.

Ile cię to naprawdę kosztuje

Oto część, którą entuzjazm zwykle pomija, a to ona powinna decydować: stajesz się operatorem LLM, a to realne, ciągłe zobowiązanie, nie jednorazowa konfiguracja. Uczciwy bilans:

  • Potrzebujesz sprzętu. Sprawne modele wymagają poważnego GPU (albo kilku), a dobre karty są drogie w zakupie i nietrywialne w wynajmie. „Darmowy” model wcale nie jest darmowy; przesunąłeś koszt z pozycji „za token” na pozycję „sprzęt i prąd”, a przy niskim wolumenie ta zamiana jest przegrana.
  • Prowadzisz infrastrukturę. Serwowanie modelu oznacza postawienie i utrzymanie serwerów inferencji, obsługę skalowania, monitoringu, aktualizacji, awarii — całą pracę operacyjną, którą hostowane API robiło za ciebie, niewidzialnie, w zamian za cenę za token. Ta praca nie znika, kiedy self-hostujesz; przechodzi na twoje barki.
  • Jest luka jakościowa, o której trzeba mówić uczciwie. Na początku 2024 najlepsze otwarte modele (Mixtral i mocniejsze warianty Llama 2) są naprawdę dobre i sporo nadrobiły — ale absolutnie topowe modele hostowane wciąż prowadzą na najtrudniejszych zadaniach. Dla wielu zastosowań otwarte modele są więcej niż wystarczające; dla niektórych ta różnica ma znaczenie. Musisz przetestować swoje zadanie na kandydacie, a nie zaufać rankingowi, bo „wystarczająco dobre” w całości zależy od zadania.

Nic z tego nie jest argumentem, żeby nie self-hostować. To argument, żeby self-hostować świadomie, z kosztem operacyjnym policzonym uczciwie z góry, a nie odkrywanym po fakcie.

Narzędzia zrobiły się naprawdę dobre

Jedno, co ewidentnie się poprawiło, to jak przystępne stało się uruchamianie tych modeli. Rok temu było to majsterkowanie na poziomie badawczym; dziś narzędzia takie jak Ollama i llama.cpp pozwalają uruchomić otwarty model lokalnie niemal bez ceremonii, a kwantyzacja — kompresja wag modelu tak, żeby używał mniej pamięci przy niewielkim koszcie jakości — sprawia, że modele, które kiedyś potrzebowały GPU z centrum danych, mogą działać na znacznie skromniejszym sprzęcie, w przypadku mniejszych wariantów nawet na porządnym laptopie. To właśnie zamieniło self-hosting z projektu badawczego w praktyczną opcję: możesz sprawdzić model na własnej maszynie w jeden wieczór i wyrobić sobie realne zdanie, czy jest wystarczająco dobry dla twojego zadania, zanim zaangażujesz jakąkolwiek infrastrukturę. Ta tania ścieżka ewaluacji jest naprawdę cenna, niezależnie od tego, co ostatecznie zdecydujesz.

To czy powinieneś?

Uczciwa odpowiedź ma taki sam kształt jak każde pytanie „czy powinienem to wdrożyć” w tej serii: zależy, czego naprawdę potrzebujesz, a domyślnym wyborem dla większości zespołów wciąż pozostaje hostowane API. Self-hosting jest właściwą decyzją, kiedy masz konkretny powód — najczęściej twardy wymóg prywatności albo lokalizacji danych, który całkowicie wyklucza hostowane API, czasem realną presję kosztową przy dużym wolumenie, czasem potrzebę zamrożonego, odtwarzalnego zachowania. Jeśli któryś z tych powodów zachodzi, self-hosting jest nie tylko uzasadniony, ale wręcz właściwy, a narzędzia dziś czynią go praktycznym.

Ale self-hosting dlatego, że możesz, albo dlatego, że posiadanie modelu wydaje się przyjemniejsze niż wynajmowanie go, to ta sama pułapka nadmiernej inżynierii w nowej odsłonie. Jeśli nie masz wymogu prywatności zamykającego drogę do API, nie jesteś przy wolumenie, przy którym ekonomia się odwraca, i nie potrzebujesz zamrożonego zachowania, to hostowane API jest niemal na pewno lepszym wyborem inżynierskim — dostajesz mocniejszy model i nie pakujesz się w prowadzenie infrastruktury GPU po to, żeby rozwiązać problem, którego nie miałeś. Właściwy ruch to dopasowanie narzędzia do potrzeby: sprawdź, czy masz realny powód, żeby self-hostować, a jeśli nie, spokojnie korzystaj dalej z API i wydaj budżet operacyjny na coś, co faktycznie pcha twój produkt do przodu.

Werdykt

Modele o otwartych wagach — Llama 2, Mistral, Mixtral i rosnąca wokół nich rodzina — po raz pierwszy uczyniły self-hosting sprawnego LLM realną opcją, a narzędzia (Ollama, llama.cpp, kwantyzacja) uczyniły go na tyle praktycznym, że ewaluację można zamknąć w jeden wieczór. Realne powody, żeby po niego sięgnąć, są konkretne i mocne: prywatność i lokalizacja danych (często warunek dyskwalifikujący, który kończy dyskusję), koszt przy dużym wolumenie oraz zamrożone, odtwarzalne zachowanie w pełni pod twoją kontrolą. Ale uczciwy bilans jest taki, że self-hosting robi z ciebie operatora LLM — kupujesz GPU, prowadzisz infrastrukturę inferencji i akceptujesz lukę jakościową wobec najlepszych modeli hostowanych, która może, ale nie musi, mieć znaczenie dla twojego zadania. Decyzja jest więc ta sama, co zawsze: self-hostuj, kiedy masz konkretny powód — najczęściej twardy wymóg prywatności, który zamyka drogę do API — a poza tym trzymaj się hostowanego API, które dla większości zespołów przy większości wolumenów wciąż pozostaje lepszym wyborem inżynierskim. Nie self-hostuj dlatego, że możesz; self-hostuj dlatego, że musisz, albo dlatego, że ekonomia faktycznie temu sprzyja. Dopasuj narzędzie do potrzeby, a będziesz wiedział, po której stronie tej linii jesteś.