Zalecana konfiguracja środowiska uruchomieniowego vLLM

Użyj zalecanych parametrów uruchamiania vLLM podczas wdrażania obsługiwanych modeli bazowych dla IBM Bob self-hosted.

Użyj zalecanych parametrów uruchamiania vLLM podczas wdrażania obsługiwanych modeli bazowych dla IBM Bob self-hosted.

Zalecane konfiguracje skupiają się na:

  • Spekulatywnym dekodowaniu w celu zmniejszenia opóźnień.
  • Buforowaniu prefiksu i przetwarzaniu fragmentarycznym (chunked prefill) w celu poprawy wydajności dla długiego kontekstu.
  • Specyficznych dla modelu backendach akceleracji dla optymalnej przepustowości.
  • Efektywnym wykorzystaniu pamięci do obsługi dużych okien kontekstowych i wyższej współbieżności.
Uwaga:

Argumenty uruchamiania vLLM w tej sekcji są oparte na wewnętrznych testach walidacyjnych przeprowadzonych z procesorami graficznymi NVIDIA H200 i są udostępniane jako zalecane wartości konfiguracyjne. Te ustawienia nie są wymaganiami zakodowanymi na stałe i mogą nie być odpowiednie dla wszystkich scenariuszy wdrożeniowych. Przed wdrożeniem na produkcji oceń i dostosuj wartości konfiguracyjne do konkretnej platformy sprzętowej, wariantu modelu, celów wydajnościowych i charakterystyki obciążenia swojego środowiska.

Ważne:

Modele wymienione na tej stronie obsługują wyłącznie dane wejściowe tekstowe i nie obsługują przetwarzania obrazów ani multimodalnej analizy obrazów. Nie przesyłaj zrzutów ekranu, diagramów architektury, diagramów aplikacji, zeskanowanych dokumentów ani innych treści opartych na obrazach jako danych wejściowych modelu. Jeśli informacje są zawarte w obrazie, przed przesłaniem do modelu przekonwertuj je na tekst.

Nvidia Nemotron 3 Ultra (FP8, NV-FP4)

Nemotron 3 Ultra 550B to hybrydowy model oparty na architekturze state-space model (SSM) i mechanizmie uwagi. Warianty FP8 i NV-FP4 używają tej samej konfiguracji vLLM. Między wariantami różni się jedynie lokalizacja modelu i nazwa serwowanego modelu.

Aby uzyskać optymalną wydajność, włącz spekulatywne dekodowanie i optymalizacje specyficzne dla Mamba.

Konfiguracja FP8

args:
  - --tensor-parallel-size=8
  - --enable-expert-parallel
  - --max-model-len=262144
  - --max-num-seqs=32
  - --max-num-batched-tokens=32768
  - --gpu-memory-utilization=0.90
  - --enable-chunked-prefill
  - --enable-prefix-caching
  - --mamba-cache-mode=align
  - --mamba-ssm-cache-dtype=float16
  - --mamba-backend=flashinfer
  - --enable-mamba-cache-stochastic-rounding
  - --mamba-cache-philox-rounds=5
  - '--speculative-config={"method": "nemotron_h_mtp", "num_speculative_tokens": 5}'
  - '--model-loader-extra-config={"enable_multithread_load": true, "num_threads": 64}'
  - --reasoning-parser=nemotron_v3
  - --tool-call-parser=qwen3_coder
  - --enable-auto-tool-choice
  - --enable-prompt-tokens-details
  - --trust-remote-code

Konfiguracja NV-FP4

args:
  - --tensor-parallel-size=8
  - --enable-expert-parallel
  - --max-model-len=262144
  - --max-num-seqs=32
  - --max-num-batched-tokens=32768
  - --gpu-memory-utilization=0.90
  - --enable-chunked-prefill
  - --enable-prefix-caching
  - --mamba-cache-mode=align
  - --mamba-ssm-cache-dtype=float16
  - --mamba-backend=flashinfer
  - --enable-mamba-cache-stochastic-rounding
  - --mamba-cache-philox-rounds=5
  - '--speculative-config={"method": "nemotron_h_mtp", "num_speculative_tokens": 5}'
  - '--model-loader-extra-config={"enable_multithread_load": true, "num_threads": 64}'
  - --reasoning-parser=nemotron_v3
  - --tool-call-parser=qwen3_coder
  - --enable-auto-tool-choice
  - --enable-prompt-tokens-details
  - --trust-remote-code

Dlaczego te ustawienia są używane

  • Spekulatywne dekodowanie: Metoda spekulatywnego dekodowania nemotron_h_mtp generuje tokeny szkicu i weryfikuje je w jednym przebiegu. Ta konfiguracja może poprawić opóźnienie odpowiedzi i zmniejszyć czas do pierwszego tokenu (TTFT) przy współbieżnych obciążeniach.
  • Backend Mamba: Backend flashinfer jest zalecany dla hybrydowych warstw SSM Nemotron. W połączeniu z zaokrąglaniem stochastycznym pomaga zapewnić stabilną przepustowość i przewidywalne zużycie pamięci.
  • Chunked prefill i buforowanie prefiksu: Chunked prefill przetwarza duże prompt-y w mniejszych segmentach, podczas gdy buforowanie prefiksu ponownie wykorzystuje wcześniej obliczone prefiksy prompt-ów. Te opcje pomagają poprawić wydajność dla obciążeń z długim kontekstem.
  • Wielowątkowe ładowanie modelu: Użycie 64 wątków ładowania może skrócić czas uruchamiania modelu, gdy wagi modelu są przechowywane na trwałej pamięci masowej. To ustawienie nie wpływa na wydajność wnioskowania po załadowaniu modelu.

Laguna S 2.1 (FP8)

Laguna S 2.1 to model mixture-of-experts (MoE), który używa spekulatywnego dekodowania dFlash. Poniższa konfiguracja została zwalidowana z wagami skwantyzowanymi do FP8 na ośmiu procesorach graficznych.

Konfiguracja

args:
  - --trust-remote-code
  - --tensor-parallel-size=8
  - --tool-call-parser=poolside_v1
  - --enable-auto-tool-choice
  - --reasoning-parser=poolside_v1
  - --enable-prompt-tokens-details
  - --max-num-batched-tokens=16384
  - --enable-prefix-caching
  - '--default-chat-template-kwargs={"preserve_thinking": true, "enable_thinking": true}'
  - '--speculative-config={"num_speculative_tokens": 7, "method": "dflash", "model": "/mnt/models/dflash-fp8"}'
  - --moe-backend=triton

Dlaczego te ustawienia są używane

  • Spekulatywne dekodowanie dFlash: Model szkicu dFlash generuje siedem spekulatywnych tokenów dla każdego kroku dekodowania. Model główny weryfikuje te tokeny w jednym przebiegu, zmniejszając opóźnienie i poprawiając przepustowość.
  • Backend Triton MoE: Backend triton jest zoptymalizowany pod kątem obciążeń mixture-of-experts i może zapewniać bardziej stabilną wydajność przy współbieżnym obciążeniu.
  • Buforowanie prefiksu: Buforowanie prefiksu zmniejsza nadmiarowe obliczenia przez ponowne wykorzystanie wspólnych prefiksów prompt-ów w wielu żądaniach.

Mistral Medium 3.5 (FP8)

Mistral Medium 3.5 to model gęsty (dense model), który używa spekulatywnego dekodowania Eagle.

Konfiguracja

args:
  - --tensor-parallel-size=8
  - --tool-call-parser=mistral
  - --enable-auto-tool-choice
  - --reasoning-parser=mistral
  - --max-num-batched-tokens=32768
  - --max-num-seqs=32
  - --kv-cache-dtype=fp8
  - --max-model-len=234800
  - --gpu-memory-utilization=0.92
  - '--speculative-config={"model": "/mnt/models/eagle", "num_speculative_tokens": 3, "method": "eagle"}'

Dlaczego te ustawienia są używane

  • Kompresja KV-cache FP8: Ustawienie --kv-cache-dtype=fp8 zmniejsza wymagania pamięciowe KV-cache, umożliwiając obsługę dużych okien kontekstowych bez modyfikowania wag modelu.
  • Spekulatywne dekodowanie Eagle: Model szkicu Eagle przewiduje trzy tokeny przed modelem głównym. Model główny weryfikuje wygenerowane tokeny w jednym przebiegu, pomagając zmniejszyć czas do pierwszego tokenu i opóźnienie odpowiedzi.
  • Wykorzystanie pamięci GPU: Docelowe wykorzystanie pamięci GPU na poziomie 92% maksymalizuje dostępne zasoby GPU przy zachowaniu stabilnego działania dla testowanego obciążenia.

Dostrajanie wydajności

Może być konieczne dostosowanie następujących parametrów, aby spełnić wymagania dotyczące wydajności i pojemności:

ParametrOpis
--tensor-parallel-sizeSkaluje wnioskowanie na wielu procesorach graficznych.
--max-model-lenKontroluje maksymalną obsługiwaną długość kontekstu.
--max-num-seqsZwiększa lub zmniejsza pojemność współbieżnych żądań.
--max-num-batched-tokensKontroluje zachowanie przetwarzania wsadowego.
--gpu-memory-utilizationRównoważy zużycie pamięci i stabilność.
--speculative-configOptymalizuje opóźnienie i przepustowość.
--enable-prefix-cachingPoprawia wydajność dla powtarzających się prompt-ów.
--enable-chunked-prefillPoprawia przetwarzanie dużych prompt-ów.

Po wdrożeniu monitoruj opóźnienie, przepustowość, wykorzystanie GPU i zużycie pamięci, a następnie w razie potrzeby dostosuj wartości konfiguracyjne do swojego obciążenia.

Jak oceniasz ten temat?