vLLM
vLLM to szybka i łatwa w użyciu biblioteka do wnioskowania i serwowania LLM.
Wybierz i załaduj model
Wybierz dowolny model, który chcesz serwować. W tym przykładzie użyjemy Llama‑3.2‑3B‑Instruct (~7 GiB).
Utwórz wolumen
Upewnij się, że montujesz wolumen, który jest wystarczająco duży, aby pomieścić wszystkie pliki. Jeśli planujesz utworzyć wolumen repozytorium modeli, przeznacz co najmniej 200 GB miejsca. Możesz później rozszerzyć wolumen w razie potrzeby.
cgc volume create -s 200 models
Użyj repozytorium HuggingFace
Jeśli wybrany model jest dostępny w repozytorium HF, możesz po prostu przekazać jego nazwę podczas uruchamiania nowej instancji vLLM.
Należy pamiętać, że musisz zamontować wcześniej utworzony wolumen, ponieważ istnieją ograniczenia dotyczące efemerycznej pamięci. Ponadto nie chcesz pobierać modelu za każdym razem, gdy tworzysz nową instancję vLLM.
Aby kontynuować, przejdź do sekcji Jak uruchomić.
Umieść model w wolumenie
Najszybszym sposobem jest zrobienie tego ręcznie za pomocą interfejsu GUI filebrowser. Możesz uruchomić:
# Utwórz jeśli nie istnieje
cgc compute filebrowser create
# Zamontuj nowy wolumen
cgc volume mount models -t filebrowser
Aby sprawdzić token aplikacji i adres URL pod którym jest dostępna:
cgc compute list -d
Podczas logowania się do interfejsu webowego filebrowsera użyj nazwy użytkownika admin
i tokenu aplikacji jako hasła.
W filebrowser pobierz wszystkie pliki modelu z Hugging Face i przeciągnij je na wolumen.
Upewnij się, że pobierasz model w oryginalnym formacie PyTorch z Hugging Face, a nie w formacie GGUF.
Jak uruchomić
Model Huggingface
Aby uruchomić model HF, musisz upewnić się, że masz pozwolenie na pobranie modelu.
Będziesz musiał wygenerować nowy HF Token. Niektóre modele są ograniczone, więc musisz przejść na stronę karty modelu i zaakceptować warunki użytkowania.
cgc compute create vllm-openai -n <name> -d hf_token=<HF_TOKEN> -d model=<MODEL_NAME> -g <gpu_count> -gt <gpu_type> -c <cpu_count> -m <ram> -v <volume_name>
Aby uruchomić przykład Bielik: Przed zastosowaniem tego polecenia zmień token HF i przejdź do karty modelu Bielik, aby zaakceptować warunki użytkowania.
cgc compute create vllm-openai -n bielik-26 -d hf_token=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 -d model=speakleash/Bielik-11B-v2.6-Instruct -g 1 -gt a5000 -c 2 -m 24 -v models
CGC automatycznie używa twojego wolumenu do pobrania modelu.
Twój model
cgc compute create -n <name> -c 4 -m 8 -g 1 -gt A5000 -v models vllm-openai -d model=/media/models/Llama-3.2-3B-Instruct
Parametry
-n
- nazwa instancji, która będzie używana w adresach URL-c
- rdzenie CPU, w większości przypadków nie więcej niż 4 są potrzebne-m
- pamięć, w większości przypadków nie więcej niż 8 GiB jest potrzebne-g
,-gt
- liczba i typ GPU. Upewnij się, że vRAM jest wystarczający dla modelu.-v
- wolumen z modelami-d
- flaga do definiowania argumentów
Argumenty
Poniższe argumenty należy przekazywać za pomocą flagi -d
, na przykład -d model=... -d hf_token=...
.
model
: (Wymagane) Ścieżka do folderu z modelem (np./media/models/Llama-3.2-3B-Instruct
) lub ID repozytorium z Hugging Face (np.speakleash/Bielik-11B-v2.6-Instruct
).hf_token
: (Opcjonalnie) Twój token z Hugging Face. Potrzebny, jeśli ściągasz model z ograniczonym dostępem (gated).trust_remote_code
: (Opcjonalnie) Pozwala na uruchamianie zdalnego kodu z repozytorium modelu. Domyślnie opcja jest wyłączona.download_dir
: (Opcjonalnie) Folder, do którego mają być pobierane modele. Domyślnie:/media/models/huggingface
.max_model_len
: (Opcjonalnie) Maksymalna długość sekwencji dla modelu. Domyślnie:4096
.tensor_parallel_size
: (Opcjonalnie) Liczba kart GPU, które mają zostać użyte dotensor parallelism
. Pozwala to na uruchomienie modeli, które są za duże na jedno GPU.max_num_batched_tokens
: (Opcjonalnie) Maksymalna liczba tokenów w jednymbatchu
.vllm_use_modelscope
: (Opcjonalnie) Ustaw natrue
, żeby używać ModelScope do ładowania modelu.vllm_use_precompiled
: (Opcjonalnie) Ustaw natrue
, żeby używać prekompilowanych kerneli, co może przyspieszyć start.vllm_use_v1
: (Opcjonalnie) Określa wersję silnika vLLM.uv_torch_backend
: (Opcjonalnie) Definiujebackend
dla UV Torch.
Używając -d
możesz przekazać wszystkie argumenty dla polecenia vllm serve
. Listę wszystkich możliwych argumentów można znaleźć tutaj.
Użycie API
Twój endpoint znajduje się pod adresem:
https://<name>.<NAMESPACE>.cgc-waw-01.comtegra.cloud/
Pobierz token API:
cgc compute list -d
Przykładowe wywołanie
curl -H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"model": "/media/models/Llama-3.2-3B-Instruct",
"messages": [
{"role":"user","content":"Hello!"}
]
}' \
https://<name>.<NAMESPACE>.cgc-waw-01.comtegra.cloud/v1/chat/completions