Jakie funkcje umożliwiają izolację poszczególnych użytkowników na współdzielonym domowym serwerze AI?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Izolacja poszczególnych użytkowników wymaga autoryzacji powiązanej z tożsamością na każdej granicy danych i narzędzi, a także kontroli zasobów, które uniemożliwiają jednemu domownikowi zdominowanie współdzielonego serwera.

Pojedynczy domowy procesor graficzny może obsługiwać kilku członków rodziny bez ładowania osobnego modelu dla każdej osoby, ale współdzielone wnioskowanie nie oznacza współdzielonego dostępu. Brama musi zachowywać informację o tym, kto zainicjował każde żądanie, filtrować pobieranie danych i pamięć na podstawie tej tożsamości, delegować wyłącznie ograniczone poświadczenia oraz egzekwować kolejki lub limity dla poszczególnych użytkowników, zanim zadanie trafi do wspólnych usług modelu i pamięci masowej.

Tożsamość musi przetrwać całą ścieżkę żądania

Uwierzytelnianie ustala, kto korzysta z interfejsu, ale izolacja zależy od przeniesienia tej tożsamości przez pobieranie danych, składanie promptu, wywołania narzędzi, logi i zadania w tle. Zastąpienie jej jednym współdzielonym kontem usługi niszczy kontekst potrzebny do podejmowania decyzji autoryzacyjnych na dalszych etapach.

Szczegółowa architektura izolacji tożsamości dzierżawców rozdziela tożsamość dzierżawcy, izolację danych, szyfrowanie, limity szybkości i limity zasobów. Te same granice można zastosować w gospodarstwie domowym, w którym każdy użytkownik ma prywatne pliki i inne uprawnienia do automatyzacji.

Krótkotrwałe tokeny delegowania powinny identyfikować zarówno użytkownika, jak i działanie agenta. Usługi powinny niezależnie je weryfikować, zamiast ufać tekstowi tożsamości zawartemu w prompcie, który LLM może błędnie zinterpretować lub który może zostać zmanipulowany przez wstrzyknięty dokument.

Dane, pamięć i poświadczenia wymagają oddzielnych przestrzeni nazw

Każdy dokument, fragment, element pamięci, rozmowa i poświadczenie narzędzia powinny zawierać informację o właścicielu lub zasadę dotyczącą autoryzowanej grupy. Pobieranie danych stosuje te filtry, zanim wyniki trafią do kontekstu modelu, a pamięci podręczne uwzględniają zakres autoryzacji, aby prywatny wynik nie mógł zostać ponownie użyty przez innego użytkownika.

Projekt kontroli dostępu w czasie zapytania dla osadzeń zachowuje kontekst kontroli dostępu do plików wraz z indeksowaną treścią. Pokazuje to, dlaczego podobieństwo semantyczne musi pozostać podporządkowane pierwotnym uprawnieniom źródła, zamiast stawać się nową drogą ich obejścia.

Poświadczenia wymagają najwęższej przestrzeni nazw. Asystent dziecka może odczytywać współdzielony kalendarz, ale nie pocztę rodzica; przepływ pracy związany z multimediami może zapisywać dane w jednym folderze, ale nie we wszystkich udziałach NAS. Model widzi opisy narzędzi, natomiast brama wykonawcza przechowuje i udostępnia faktyczne sekrety.

Izolacja obliczeń kontroluje uciążliwych sąsiadów, ale nie dostęp do danych

Limity równoległości dla użytkowników, budżety tokenów, wagi kolejek i anulowanie zapobiegają monopolizowaniu gniazd GPU przez jedno długie generowanie. Limity są również potrzebne dla procesora, pamięci RAM, pamięci tymczasowej i wychodzącego ruchu sieciowego, ponieważ zadania narzędzi mogą wyczerpać zasoby serwera niezależnie od modelu.

Projekt obsługi limitów tokenów dla poszczególnych klientów wyjaśnia oznaczanie żądań, egzekwowanie limitów, kontrolę uciążliwych sąsiadów i współdzielenie harmonogramu GPU. Mechanizmy te poprawiają sprawiedliwość, ale nie zastępują autoryzacji dokumentów i poświadczeń. To rozróżnienie pozostaje widoczne podczas późniejszych testów w gospodarstwie domowym.

Błędem jest założenie, że osobna sesja czatu równa się izolacji. Współdzielone pamięci podręczne wektorów, prefiksów, plików tymczasowych, logów lub szerokie poświadczenia usług nadal mogą umożliwić przepływ danych między użytkownikami. Przetestuj każdy współdzielony komponent pod kątem kluczy uwzględniających tożsamość i odmowy dostępu, a nie tylko widoczną bazę danych aplikacji.

Przeprowadź test izolacji między użytkownikami

Utwórz dwa konta z jednym współdzielonym dokumentem, po jednym prywatnym dokumencie dla każdego użytkownika, odrębnymi elementami pamięci, różnymi uprawnieniami do narzędzi i nierównymi limitami obliczeniowymi. Wyślij z obu tożsamości semantycznie identyczne zapytania, próby odgadnięcia ścieżek, żądania rozgrzewania pamięci podręcznej, równoczesne długie prompty i zadania w tle.

Porównaj granicę autoryzacji z izolacją opartą na możliwościach, która traktuje zakres możliwości jako element bezpieczeństwa agenta, a nie zachowanie promptu. Rejestruj udane odczyty, odrzucone próby, opóźnienia w kolejce, klucze pamięci podręcznej, tożsamość delegowanych poświadczeń i zdarzenia audytowe.

Test można uznać za zaliczony tylko wtedy, gdy współdzielone dane są dostępne dla obu użytkowników, prywatne dane nigdy nie trafiają do kontekstu drugiej osoby, a jedno obciążenie nie może zagłodzić drugiego poza zakresem zadeklarowanej polityki. Każde trafienie w pamięci podręcznej między użytkownikami, zawierające prywatny kontekst, jest błędem blokującym.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.