1. Krótka odpowiedź
RunPod to wynajem kart graficznych NVIDIA na godziny. Płacisz z przedpłaconego salda tylko za czas, w którym karta pracuje, a całość obsługujesz z przeglądarki. Na start musisz zrozumieć trzy rzeczy: czym jest Pod, czym jest Serverless i na którym dysku leżą Twoje dane.
| | Pod | Serverless |
| --- | --- | --- |
| Co to jest | Twoja maszyna z GPU, włączasz ją i wyłączasz ręcznie | Endpoint API, który sam uruchamia GPU na czas zapytania |
| Za co płacisz | Za każdą minutę włączenia, także gdy nic nie robisz | Za czas przetwarzania zapytań (plus krótki czas bezczynności) |
| Do czego | ComfyUI, Jupyter, trening LoRA, fine-tuning, eksperymenty | Produkcyjna aplikacja, bot, API dla klientów |
| Trudność | Niska, szablon 1-click i gotowe | Średnia, trzeba przygotować obraz Dockera i handler |
Jeśli dopiero zaczynasz albo chcesz po prostu popracować w ComfyUI czy Jupyterze, wybierz Poda z Network Volume na modele. Do Serverless wrócisz, gdy będziesz mieć aplikację, która ma odpowiadać na zapytania bez Twojego udziału.
Największe ryzyko na RunPod to nie cena godziny, tylko zapomniany pod. Karta za kilkadziesiąt centów na godzinę zostawiona na weekend kosztuje więcej niż miesiąc rozsądnej pracy. Sekcja 10 opisuje nawyki, które tego pilnują.
2. Jak testowaliśmy RunPod
W Brodatech Lab korzystamy z RunPod przy projektach, na które nie opłaca się kupować własnej karty: generowanie grafik w ComfyUI z modelem Flux, fine-tuning modeli Llama i Qwen przez Unsloth oraz testy dużych modeli językowych, które nie mieszczą się w 24 GB VRAM. Opisaliśmy to w osobnych poradnikach: ComfyUI i Flux na RunPod oraz fine-tuning Llama 3 i Qwen z Unsloth.
Ten poradnik zbiera to, co powtarza się we wszystkich tych projektach: jak założyć konto, który typ instancji wybrać, gdzie trzymać pliki i jak pilnować kosztów. Ceny podajemy orientacyjnie, według stanu na listopad 2026. RunPod zmienia stawki dość często, więc przed większym projektem sprawdź aktualny cennik w panelu.
3. Kiedy RunPod ma sens, a kiedy nie
RunPod ma sens, gdy:
- potrzebujesz mocnej karty (24-80 GB VRAM) na kilka lub kilkanaście godzin w tygodniu, a nie przez całą dobę,
- chcesz przetestować model albo workflow, zanim wydasz kilka tysięcy złotych na własne GPU,
- trenujesz LoRA albo robisz fine-tuning i potrzebujesz A100 lub H100 tylko na czas treningu,
- budujesz aplikację AI i chcesz płacić za zapytania, a nie za stale włączony serwer (Serverless).
RunPod nie ma sensu, gdy:
- karta ma pracować 24 godziny na dobę przez wiele miesięcy. Wtedy po roku czy dwóch własne GPU albo dedykowany serwer zwykle wychodzą taniej,
- uruchamiasz małe modele, które działają na Twoim komputerze. Model 7-8B w kwantyzacji odpalisz lokalnie, na przykład przez Ollamę na Windows,
- potrzebujesz zwykłego serwera bez GPU, na przykład pod n8n. Do tego wystarczy tani VPS.
Wybór karty i ilość VRAM pod konkretne modele opisujemy w wiki: jak wybrać GPU do AI i ile VRAM potrzebują modele LLM.
4. Konto i doładowanie salda
- Wejdź na RunPod przez nasz link polecający i załóż konto (e-mail, Google albo GitHub).
- Włącz uwierzytelnianie dwuskładnikowe w ustawieniach konta. Na koncie jest Twoja karta płatnicza i klucze API, więc warto.
- W zakładce Billing doładuj saldo. RunPod działa na przedpłacie: najpierw wpłacasz kredyty, potem z nich schodzą opłaty za pody i dyski. Na pierwsze testy wystarczy 10-25 dolarów.
- Nie włączaj od razu automatycznego doładowania (Auto-Pay). Dopóki nie znasz swoich kosztów, stałe saldo działa jak twardy limit wydatków.
Link polecający jest linkiem afiliacyjnym: jeśli założysz z niego konto, wspierasz Brodatech, a Ciebie to nic nie kosztuje. RunPod co jakiś czas daje kontom z polecenia jednorazowy bonus w kredytach po pierwszym doładowaniu. Aktualne warunki zobaczysz na stronie rejestracji.
Pamiętaj, co się dzieje przy zerowym saldzie: RunPod zatrzymuje działające pody, a dane, za których przechowywanie nie ma czym zapłacić, mogą zostać po pewnym czasie usunięte. Jeśli trzymasz ważne modele na dyskach RunPod, pilnuj, żeby saldo nie spadło do zera.
5. Pod krok po kroku
Secure Cloud czy Community Cloud
Przy tworzeniu poda wybierasz, gdzie ma działać:
- Secure Cloud to serwery w certyfikowanych centrach danych. Są droższe, ale stabilniejsze i tylko tam dostępne są Network Volumes.
- Community Cloud to maszyny od zweryfikowanych dostawców zewnętrznych. Są tańsze, ale dostępność i jakość łącza bywają różne.
Do nauki i jednorazowych testów Community Cloud wystarczy. Do regularnej pracy z modelami trzymanymi na Network Volume wybierz Secure Cloud.
On-Demand czy Spot
- On-Demand: karta jest Twoja, dopóki sam jej nie wyłączysz.
- Spot (interruptible): wyraźnie taniej, ale RunPod może zatrzymać poda w każdej chwili, prawie bez ostrzeżenia, gdy ktoś inny zapłaci pełną stawkę.
Spot nadaje się do zadań, które można przerwać i wznowić: trening z regularnymi checkpointami zapisywanymi na trwały dysk, wsadowe generowanie obrazów. Do pracy interaktywnej w ComfyUI wybierz On-Demand, bo przerwanie w połowie sesji jest frustrujące.
Wybór karty
| Karta | VRAM | Orientacyjna cena | Do czego |
| --- | --- | --- | --- |
| RTX 4090 | 24 GB | ok. 0,35-0,70 USD/h | ComfyUI z Flux, SDXL, LoRA, LLM do ok. 30B w kwantyzacji |
| L40S / RTX 6000 Ada | 48 GB | ok. 0,80-1,00 USD/h | Większe modele obrazu i wideo, LLM 70B w mocnej kwantyzacji |
| A100 | 80 GB | ok. 1,20-1,90 USD/h | Fine-tuning, LLM 70B, długi kontekst |
| H100 | 80 GB | ok. 2,00-3,00 USD/h | Szybki trening i duże modele, gdy liczy się czas |
Dolna granica dotyczy zwykle Community Cloud, górna Secure Cloud. Na start w zupełności wystarczy RTX 4090.
Tworzenie poda
- W panelu wybierz Pods, a potem Deploy.
- Wybierz kartę i region. Jeśli masz Network Volume, region musi być ten sam co wolumen (więcej w sekcji 6).
- Wybierz szablon, na przykład RunPod PyTorch albo gotowy szablon ComfyUI (sekcja 7).
- W Edit Template sprawdź rozmiar dysków i otwarte porty.
- Kliknij Deploy On-Demand (albo Spot) i poczekaj, aż status zmieni się na Running. Zwykle trwa to od kilkudziesięciu sekund do kilku minut, zależnie od tego, jak duży jest obraz szablonu.
6. Dyski: gdzie Twoje dane przetrwają
To najważniejsza sekcja tego poradnika. Większość nieprzyjemnych niespodzianek na RunPod bierze się z tego, że ktoś zapisał modele na dysku, który znika razem z podem.
| Dysk | Gdzie w podzie | Co się dzieje przy Stop | Co się dzieje przy Terminate | Orientacyjna cena |
| --- | --- | --- | --- | --- |
| Container Disk | system, / poza /workspace | Dane znikają | Dane znikają | ok. 0,10 USD/GB/mies., tylko gdy pod działa |
| Volume Disk | /workspace | Dane zostają | Dane znikają | ok. 0,10 USD/GB/mies. w trakcie pracy, ok. 0,20 USD po zatrzymaniu |
| Network Volume | /workspace (w Serverless /runpod-volume) | Dane zostają | Dane zostają | ok. 0,07 USD/GB/mies. niezależnie od podów |
W praktyce:
- Container Disk traktuj jak brudnopis. Instalacje pakietów, pliki tymczasowe, cache. Po wyłączeniu poda tego nie ma.
- Volume Disk przetrwa zatrzymanie poda, ale płacisz za niego cały czas, a po zatrzymaniu stawka jest wyższa. Do tego jest przypięty do konkretnej maszyny: jeśli karta na niej będzie zajęta, nie wznowisz poda, dopóki się nie zwolni.
- Network Volume to osobny dysk sieciowy, który istnieje niezależnie od podów. Możesz usunąć poda, a jutro podpiąć ten sam wolumen do nowego poda z inną kartą. Na nim trzymaj modele, LoRA, datasety i wyniki.
Jak założyć Network Volume:
- W panelu wybierz Storage, a potem New Network Volume.
- Wybierz centrum danych. Patrz na dostępność kart, z których chcesz korzystać, bo wolumen jest przypięty do jednego centrum danych i pody z nim podłączonym uruchomisz tylko tam.
- Ustaw rozmiar. Na ComfyUI z Flux i kilkoma LoRA wystarczy 50-100 GB. Rozmiar można później zwiększyć, ale nie da się go zmniejszyć.
- Przy tworzeniu poda wybierz ten wolumen. Zostanie podłączony w miejsce
/workspace.
Jedna rzecz zaskakuje na początku: pod z podpiętym Network Volume zwykle nie ma przycisku Stop, tylko Terminate. To nie jest problem, bo wszystko, co ważne, leży na wolumenie. Terminate kończy naliczanie za GPU, a wolumen zostaje.
7. Szablony (Templates)
Szablon to gotowa konfiguracja poda: obraz Dockera, rozmiar dysków, porty i zmienne środowiskowe. Dzięki niemu nie instalujesz sterowników CUDA ani PyTorcha ręcznie.
- Szablony oficjalne RunPod, na przykład RunPod PyTorch. Dobry punkt wyjścia do Jupytera, treningu i własnych skryptów.
- Szablony społeczności i gotowe obrazy aplikacji, na przykład ComfyUI. Sprawdź datę aktualizacji i liczbę użyć. Porzucony szablon potrafi mieć stare wersje bibliotek.
- Własny szablon. Gdy wiesz już, czego potrzebujesz, zapisz konfigurację w zakładce Templates. Najważniejsze pola:
| Pole | Przykład | Po co |
| --- | --- | --- |
| Container Image | runpod/pytorch:<tag> | Obraz Dockera, z którego startuje pod |
| Container Disk | 20 GB | Miejsce na system i pakiety |
| Volume Disk | 0 GB, gdy używasz Network Volume | Trwały dysk przypięty do maszyny |
| Expose HTTP Ports | 8888, 8188 | Jupyter, ComfyUI i inne interfejsy w przeglądarce |
| Expose TCP Ports | 22 | Bezpośredni dostęp przez SSH |
| Environment Variables | HF_TOKEN | Tokeny i ustawienia aplikacji |
Tokenów i haseł nie wpisuj na sztywno w publicznym szablonie. W RunPod możesz je zapisać jako Secrets i odwołać się do nich w zmiennych środowiskowych.
8. Dostęp do poda i przesyłanie plików
Przeglądarka
Po kliknięciu Connect zobaczysz listę otwartych portów HTTP. Każdy z nich ma adres w postaci:
https://<ID_PODA>-<PORT>.proxy.runpod.netPort 8888 to zwykle Jupyter, a 8188 to ComfyUI. Działa to bez konfiguracji sieci i bez SSH.
SSH
Dodaj swój klucz publiczny w ustawieniach konta (SSH Public Keys), a w szablonie otwórz port TCP 22. W oknie Connect dostaniesz gotowe polecenie z adresem IP i portem, na przykład:
ssh root@<ADRES_IP> -p <PORT> -i ~/.ssh/id_ed25519Po SSH możesz używać scp albo rsync do kopiowania plików i podpiąć poda w VS Code przez Remote SSH.
runpodctl
W podach jest zainstalowane narzędzie runpodctl. Najprostsze przesłanie pliku między komputerem a podem (narzędzie trzeba też zainstalować u siebie):
runpodctl send model.safetensorsPolecenie wypisze jednorazowy kod. Po drugiej stronie wpisujesz:
runpodctl receive <KOD>Duże modele najszybciej pobierzesz prosto na poda z Hugging Face, bo centra danych mają dużo szybsze łącze niż domowy internet:
cd /workspace
huggingface-cli download <autor>/<model> --local-dir models/<model>9. Serverless: kiedy i jak
Serverless zamienia GPU w endpoint API. Wysyłasz zapytanie, RunPod uruchamia workera z Twoim obrazem Dockera, przetwarza zadanie i oddaje wynik. Gdy nie ma ruchu, liczba workerów spada do zera i nie płacisz za GPU.
Flex i Active workers
- Flex workers startują na żądanie i wyłączają się po krótkim czasie bezczynności. Płacisz tylko za pracę, ale pierwsze zapytanie po przerwie czeka na zimny start (cold start).
- Active workers działają cały czas, więc nie ma zimnego startu. Płacisz za nie stale, z rabatem względem Flex.
Na start ustaw zero Active workers i kilka Flex. Active dodasz, gdy ruch będzie na tyle stały, że czas odpowiedzi zacznie mieć znaczenie.
Minimalny handler
Worker to obraz Dockera z funkcją, która przyjmuje zadanie i zwraca wynik:
import runpod
def handler(job):
prompt = job["input"].get("prompt", "")
# tu uruchamiasz model, np. pipeline z diffusers albo vLLM
return {"output": f"Otrzymano: {prompt}"}
runpod.serverless.start({"handler": handler})Wywołanie gotowego endpointu:
curl -X POST https://api.runpod.ai/v2/<ID_ENDPOINTU>/runsync \
-H "Authorization: Bearer $RUNPOD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input": {"prompt": "test"}}'/runsync czeka na wynik. Przy dłuższych zadaniach użyj /run, który od razu zwraca ID zadania, i sprawdzaj wynik przez /status/<ID_ZADANIA>.
Jak skrócić zimny start
- Trzymaj obraz Dockera możliwie mały i nie pobieraj modeli przy każdym starcie.
- Wagi modeli umieść w obrazie albo na Network Volume. W Serverless wolumen jest dostępny pod
/runpod-volume. - Ładuj model poza funkcją
handler, raz przy starcie workera, a nie przy każdym zapytaniu. - Włącz FlashBoot w ustawieniach endpointu. Przy regularnym ruchu wyraźnie skraca kolejne starty.
Dla wielu popularnych zastosowań (vLLM, ComfyUI, Stable Diffusion) RunPod ma gotowe workery w zakładce Serverless, więc nie zawsze musisz budować obraz od zera.
10. Jak nie przepalić budżetu na GPU
Ile to realnie kosztuje
Przykład: ComfyUI na RTX 4090 w Secure Cloud za ok. 0,60 USD/h i Network Volume 100 GB.
| Scenariusz | Wyliczenie | Koszt |
| --- | --- | --- |
| 3 godziny pracy tygodniowo | 12 h × 0,60 USD | ok. 7,20 USD/mies. |
| Network Volume 100 GB | 100 GB × 0,07 USD | ok. 7,00 USD/mies. |
| Razem przy rozsądnym użyciu | | ok. 14 USD/mies. |
| Pod zapomniany na weekend | 60 h × 0,60 USD | ok. 36 USD jednorazowo |
| Pod zapomniany na miesiąc | 720 h × 0,60 USD | ok. 430 USD |
Widać tu cały problem: jedno zapomnienie kosztuje więcej niż kilka miesięcy normalnej pracy.
Nawyki, które chronią portfel
- Kończ sesję przyciskiem Terminate albo Stop, nie zamknięciem karty przeglądarki. Zamknięcie ComfyUI czy Jupytera nie wyłącza GPU.
- Trzymaj modele na Network Volume i usuwaj pody bez wahania. Nowego poda postawisz w minutę, a modeli nie trzeba pobierać od nowa.
- Ustaw automatyczne wyłączenie przy długich zadaniach. W podzie są gotowe
runpodctli zmiennaRUNPOD_POD_ID, więc wystarczy na starcie sesji:
nohup bash -c 'sleep 7200; runpodctl stop pod $RUNPOD_POD_ID' > /dev/null 2>&1 &Pod zatrzyma się po 2 godzinach (7200 sekund). Przy treningu dopisz to samo polecenie na końcu skryptu, żeby pod wyłączył się zaraz po zakończeniu pracy. Jeśli pod ma Network Volume i nie da się go zatrzymać, zamień stop na remove.
- Sprawdzaj zakładkę Storage raz w tygodniu. Zatrzymane pody z dużym Volume Disk i stare Network Volumes kosztują codziennie, nawet gdy nic nie liczą.
- Nie trzymaj dużego salda na start. Przedpłata to naturalny limit. Auto-Pay włącz dopiero wtedy, gdy znasz swoje miesięczne zużycie.
- Dobieraj kartę do zadania. ComfyUI z Flux nie potrzebuje H100. Większa karta skraca czas, ale nie zawsze proporcjonalnie do ceny.
- Używaj Spot do zadań, które da się wznowić, i zapisuj checkpointy na Network Volume.
- W Serverless ustaw maksymalną liczbę workerów. Bez limitu nagły skok ruchu (albo pętla w Twojej aplikacji) uruchomi wiele kart naraz.
11. Najczęstsze problemy
Nie mogę uruchomić poda z Network Volume, bo nie ma wolnych kart. Wolumen jest przypięty do jednego centrum danych. Poczekaj, wybierz inną kartę dostępną w tym centrum albo załóż nowy wolumen tam, gdzie jest dostępność, i przenieś na niego modele.
Po ponownym uruchomieniu zniknęły modele i węzły ComfyUI. Zostały zapisane na Container Disk zamiast w /workspace. Instaluj modele i własne węzły w katalogu na wolumenie.
Pod z Volume Disk nie chce się wznowić. Volume Disk jest przypięty do konkretnej maszyny, a karta na niej jest teraz zajęta. Dlatego do regularnej pracy lepszy jest Network Volume.
Interfejs pod adresem proxy nie odpowiada. Sprawdź, czy port jest dodany w Expose HTTP Ports i czy aplikacja w podzie nasłuchuje na 0.0.0.0, a nie tylko na 127.0.0.1. Daj też podowi chwilę po starcie, bo duże aplikacje uruchamiają się dłużej niż sam kontener.
CUDA out of memory. Model nie mieści się w VRAM. Wybierz mniejszą wersję modelu (np. kwantyzację FP8 albo GGUF), zmniejsz rozdzielczość lub batch albo przejdź na kartę z większą pamięcią.
Saldo spada, choć nic nie robię. Szukaj zatrzymanych podów z Volume Disk i Network Volumes w zakładce Storage. Za przechowywanie płacisz także wtedy, gdy GPU jest wyłączone.
12. Co dalej
- Generowanie grafik: ComfyUI i Flux na RunPod krok po kroku.
- Trenowanie własnego modelu: fine-tuning Llama 3 i Qwen z Unsloth na RunPod.
- Alternatywa z rynkiem kart od osób prywatnych: Vast.ai z RTX 4090 i przesyłanie plików.
- Automatyzacja generowania obrazów: ComfyUI przez API z n8n.
Jeśli chcesz zacząć od razu, załóż konto RunPod, doładuj kilkanaście dolarów, utwórz Network Volume i uruchom pierwszego poda z RTX 4090.