Przejdź do treści
Wróć do bloga
qwen3.8Artykuł

Jak utrzymywać lokalnego Qwena: awarie zamienione w testy

Osiem usterek z domowego eksperymentu z Qwenem i RTX 3090. Pokazujemy kontrole, aktualizacje, przełączenie na poprzednią wersję, testy i szkolenie operatora.

Autor

Syntalith

Opublikowano Zaktualizowano 4 min czytania

Lokalny model wymaga opieki nad całym systemem: klientem, serwerem, pamięcią, narzędziami i repozytorium testowym. W naszym eksperymencie na RTX 3090 każda usterka wskazała inną kontrolę. Zebraliśmy je tutaj, aby następna osoba mogła odtworzyć działający profil i szybko rozpoznać źródło problemu.

To przykłady z eksperymentu po godzinach na domowym komputerze. Nie opisują incydentów produkcyjnych ani historii klienta.

Osiem usterek z jednego eksperymentu

NrObjawŹródłoSkutekKontrola
1zapis narzędzia kończył się około 8k tokenówstałe max_tokens: 8192 wyłączało ponowienie adaptacyjne Qwen Codeedycje pozostawały niepełnetest zapisu dłuższego niż 8k i brak stałego limitu w profilu
2klient otrzymywał 401użyto klucza llama.cpp pod adresem vLLMżądanie nie docierało do modeluosobne nazwy sekretów i test adresu API
3interfejs zatrzymywał się przed kontroląaction_stagnation uznawał różne udane edycje za pętlękod wyjścia 1 mimo postępuwarunek pętli oparty na rzeczywistym braku postępu
4Claude Code kończył się HTTP 400wysłał 131 265 tokenów do profilu 131 072121,64 min bez ukończeniatest skracania historii i przepełnienia dla każdego klienta
5test Pythona zmieniał zakres diffuwykonanie modyfikowało śledzone __pycache__mylący zakres zmianpamięć podręczna poza repozytorium i kontrola git status
6diagnostyka używała złego silnikaskrypt nie obsługiwał pola env i wracał do starego przełącznikawynik nie nadawał się do porównaniajawne zmienne środowiskowe i sprawdzenie modelu oraz kontekstu
7druga tura odrzucała edycję przed odczytemwznowienie resetowało stan odczytu narzędziadodatkowy odczyt i koszttest wznowienia oraz ponowny odczyt przed edycją
8aktualizacja wymagała czegoś więcej niż pip installprofil używał zewnętrznie zmodyfikowanego vLLMryzyko zgodności i łańcucha dostawzamrożony obraz, skrót, źródło poprawki, test i poprzednia wersja

Usterki dotyczyły różnych warstw. Pierwsza należała do konfiguracji klienta, druga i szósta do skryptów uruchamiających, trzecia do programu testującego, czwarta do zarządzania kontekstem, piąta do repozytorium testowego, a ósma do procesu aktualizacji. Sam opis jakości odpowiedzi nie wykryłby żadnej z nich.

Od objawu do powtarzalnego testu

Każdy wpis powinien podawać objaw, sposób odtworzenia, oczekiwane zachowanie, zapis kontroli, właściciela i decyzję o zmianie wersji:

id: QWEN-OPS-004
objaw: żądanie przekracza kontekst serwera i zwraca HTTP 400
odtworzenie: wznów długą sesję do progu kontroli wstępnej
oczekiwany_wynik: klient skraca historię albo odmawia wysłania zbyt dużego żądania
artefakty: strumień zdarzeń, długość żądania, błąd serwera, wersja profilu
właściciel: platforma-agenta
zmiana_wersji: przełącz klienta lub profil; nie zwiększaj limitu bez testu

Test uruchamiaj na warstwie, która zawiodła. Błędny klucz wymaga wywołania /health, /v1/models, odpowiedzi 401 dla złego sekretu i właściwego identyfikatora modelu dla dobrego. Usterka limitu 8k wymaga długiego zapisu narzędziem, ponieważ krótki test podstawowy przejdzie.

Bramka przed aktualizacją

Przed zmianą modelu, obrazu vLLM, Qwen Code albo sterownika przeprowadź trzy poziomy kontroli.

Pięć minut na start i protokół

  • adres API zaczyna odpowiadać;
  • raportuje oczekiwany model i kontekst;
  • zły sekret jest odrzucany;
  • strumień odpowiedzi kończy się poprawnie;
  • mały JSON i wywołanie narzędzia spełniają swoje schematy.

Około trzydziestu minut na klienta i test

  • zapis dłuższy niż 8k nie jest ucinany;
  • wznowiona sesja potrafi ponownie czytać i edytować;
  • klient nie wysyła kontekstu większego niż limit serwera;
  • wykrywanie pętli wymaga dowodu braku postępu;
  • git status nie pokazuje pamięci podręcznej ani obcych plików.

Jedno zadanie procesu do pomiaru jakości i kosztu

Użyj tego samego zwykłego polecenia, świeżej kopii repozytorium, ukrytych kontroli, przeglądu zmian, czasu i metryk systemowych. W zachowanym profilu zadanie obsługi błędów json.Marshal w Go trwało 8:22. W tym jednym przebiegu Codex przyznał zmianie 100/100 według kryteriów Syntalith: poprawność (40 pkt), testy regresji (20), zgodność (15), zakres i utrzymywalność (10), weryfikacja (10) oraz dokumentacja (5). Wersja prowadzona przez klienta Codex wprowadziła niedeterministyczne zachowanie awaryjne i nie przeszła oceny.

Nowy numer wersji nie jest kryterium akceptacji. Nowy profil powinien przejść krytyczne kontrole i pozostać w uzgodnionym budżecie regresji.

Co zapisać przy przekazaniu

wdrozenie/
  profile/
    codzienny.yaml
    zapasowy.yaml
  wykazy/
    model.json
    obraz-serwera.json
    licencje.md
  instrukcje/
    start-stop-status.md
    przekroczenie-kontekstu.md
    brak-pamieci-gpu.md
    rotacja-klucza.md
    poprzednia-wersja.md
  testy/
    podstawowe/
    regresje-klienta/
    przypadki-procesu/
  awarie/
    QWEN-OPS-001.md
    ...
  szkolenie/
    laboratorium-operatora.md
    kryteria-recenzenta.md

Wykaz powinien zawierać wersję modelu, format i skrót pliku, obraz, commit poprawki, sterownik, moduł odczytujący wywołania narzędzi, ustawienia losowania, kontekst i klienta. Etykieta latest nie pozwala odtworzyć środowiska.

Instrukcja operacyjna podaje komendę, oczekiwany wynik i pierwszy punkt diagnostyki. Osoba przejmująca usługę powinna wykonać start, test i przełączenie na poprzednią wersję bez wiedzy autora konfiguracji.

Monitoring dwóch warstw

Warstwa operacyjna mierzy dostępność adresu API, kolejkę, czas do pierwszego tokena, całkowity czas, długość wejścia i wyjścia, kompresje historii, błędy dostawcy i narzędzi, VRAM, użycie GPU, zakończenia procesu oraz wersję profilu.

Warstwa jakości mierzy wynik ukrytych kontroli, akceptację bez poprawek, kategorię korekty człowieka, naruszenia uprawnień lub cytowania, zakres zmian oraz uzasadnione i błędne odmowy.

Panel GPU nie zauważy pustego imienia w imporcie. Opinia „dobra odpowiedź” nie pokaże, że następna tura zaraz przepełni kontekst. Obie warstwy są potrzebne.

Ćwiczenie przełączenia na poprzednią wersję

Na jednym GPU przełączenie powinno być krótkie i znane operatorowi:

  1. wstrzymaj przyjmowanie nowych zadań;
  2. dokończ albo zakończ kolejkę zgodnie z polityką;
  3. wybierz poprzedni obraz i profil z wykazu;
  4. sprawdź identyfikator modelu, kontekst i sekret;
  5. uruchom test startowy oraz jeden krytyczny przypadek;
  6. przywróć ruch i zachowaj zapisy awarii.

W domowym profilu wersja zapasowa przełączała vLLM na llama.cpp z kontekstem 120k. W firmie dochodzą docelowy czas odtworzenia, test uprawnień i informacja dla użytkowników. Wolniejszy wariant jest użyteczny, gdy zespół zna jego zachowanie.

Szkolenie zespołu

Operator powinien umieć uruchomić profil, rozpoznać zły adres, odczytać metryki, zmienić sekret i przełączyć wersję. Recenzent potrzebuje kryteriów i ukrytych przypadków, aby odróżnić płynną odpowiedź od zaakceptowanego wyniku. Właściciel procesu ustala błędy krytyczne, a osoba od bezpieczeństwa sprawdza dane, sieć, narzędzia i retencję.

Najlepsze ćwiczenie używa kopii środowiska. Jedna osoba celowo wprowadza usterkę z rejestru, druga diagnozuje ją na podstawie logów i instrukcji, a potem wykonuje test naprawczy.

Co przekazuje Syntalith

Przy wdrożeniu przekazujemy uzgodnione profile, wykazy i licencje, kod integracji, testy jakości, panel stanu, alerty, przełączanie wersji, rejestr znanych usterek oraz materiały szkoleniowe. Zespół wykonuje start, test i przełączenie przed akceptacją.

Aplikacje AI zaczynają się od 25 000 zł netto. Kursy AI-Native i utrzymanie wyceniamy po rozmowie o repozytorium, krytyczności, integracjach i czasie reakcji. Bezpłatny skan procesu pomaga zdecydować, czy najpierw potrzebny jest pilot, audyt, szkolenie czy naprawa istniejącego wdrożenia.

Bezpłatny skan procesów

Zacznij od bezpłatnego skanu procesów.

  • 30 minut z inżynierem, który może prowadzić Twoje wdrożenie.
  • Przegląd procesów, które kosztują Cię najwięcej czasu i pieniędzy.
  • Pisemne podsumowanie: co zautomatyzować, w jakiej kolejności, z widełkami kosztów.

W 30 minut wybieramy proces do oceny, a w ciągu 2 dni roboczych dostajesz rekomendację, także gdy lepsza będzie prostsza droga.

0 zł

30 minut · pisemne podsumowanie w 2 dni robocze