Opłacalność RTX 4090 w PoW, takich jak Kaspa czy Clore, dawno już uderziła w ścianę przez ceny prądu i trudność sieci, dając przy $0.06 za kWh w najlepszym razie $0.40–$0.60 czystego zysku dziennie z karty. Ten sam rig z 8x RTX 4090 podpięty pod Vast.ai, Render Network czy io.net pod inferencję Qwen 2.5 72B lub Llama 3.3 70B w vLLM wyciąga zupełnie inne cyfry, ale też generuje o wiele więcej problemów.
O ile w PoW fleszujesz BIOS, zbijasz Power Limit do 250W, ustawiasz lock memory clock na 810 MHz, kierujesz wiatraki i puszczasz stratum na pull, o tyle pod inferencję taki setup nie pokaże żadnej sensownej utylizacji.
Głównym bólem przy wynajmowaniu grafik pod load AI są opóźnienia szyny i pamięć. Na zdecentralizowanych marketplace'ach klienci biorą węzły pod konkretne zadania: jedni mielą inferencję FP8/INT4, inni potrzebują rdzeni tensorowych pod lekki fine-tuning przez LoRA.
Różnice w sprzęcie i konfiguracji wyglądają następująco:
- Magistrala PCIe: Do PoW (np. odmian Ethash czy HeavyHash) wystarczą risery x1 PCIe 2.0/3.0. Do inferencji potrzebujesz pełnoprawnego, szerokiego pasma. Jeśli karta siedzi na PCIe 3.0 x1, przepychanie wag modelu rzędu 40+ GB z RAM-u do VRAM-u to masakra pod kątem latency. Potrzebujesz płyt głównych z obsługą minimum PCIe 4.0 x8, a najlepiej x16 na slot, albo płyt serwerowych ze switchami Broadcom/PLX.
- Pojemność i prędkość VRAM: W PoW liczy się rozmiar pliku DAG albo szerokość szyny. W inferencji LLM rozmiar VRAM to główny czynnik blokujący. RTX 3090 (24GB) jest wyceniany wyżej niż RTX 4080 (16GB) po prostu dlatego, że w 16 GB nie mieści się nawet skwantowana Llama 3 70B, gdy obsługujesz wielu użytkowników równocześnie przez KV cache.
- Pobór prądu i skoki obciążenia: W kopaniu pobór mocy jest liniowy. Wklepujesz nvidia-smi -pl 280 i wykres zużycia idzie po równiutkiej linii. W inferencji, gdy wpada paczka promptów, karta w ułamku sekundy skacze z 30W w idle do 450W w szczycie execution. Jeśli zasilacz jest budżetowy albo wisi na jednej linii (np. stare chińskie zasilacze 2000W), zabezpieczenia prądowe (OVP/OCP) odcinają prąd od nagłego skoku dI/dt.
- Soft i sterowniki: Koparki chodzą na dowolnym systemie typu HiveOS/RaveOS z podstawowym sterownikiem NVIDIA. Pod AI musisz mieć Linuksa (Ubuntu Server 22.04/24.04), świeży CUDA Toolkit (12.x), Dockera, nvidia-container-toolkit i skonfigurowane daemony autoryzacyjne danej platformy.
Od strony ekonomii: na Vast.ai za RTX 4090 wołają około $0.35–$0.50 za godzinę, ale to przy 100% utylizacji (On-Demand). Realny fill rate węzła bez stałego IP i z pingiem powyżej 50 ms do głównych datacenters rzadko przekracza 50–60%. Kiedy nie ma nikogo na Twój sprzęt, karta po prostu mieli 40–50W w spoczynku i nie przynosi nic.
Podsumowując: jeśli masz infrastrukturę z porządnym chłodzeniem, stabilne łącze przynajmniej 1 Gbps, gigabajty pamięci operacyjnej (minimum 1:1 względem VRAM) i chęć regularnego aktualizowania kontenerów, puszczanie kart pod inferencję daje 2x–3x większy zwrot niż PoW. Jeśli rig jest ulepiony z patyków i taśmy na drewnianym stelażu, z riserami x1 i prockiem Celeron, to jedyne, do czego się nadaje, to smętne kręcenie algorytmów pokroju Pyrin czy NEXA.
System i administracja
System operacyjny i administracja – tutaj właśnie wychodzą na wierzch prawdziwe nakłady pracy, o których milczą promocyjne filmiki marketplace'ów.
Co się dzieje po stronie systemu i softu
W kopaniu cała konfiguracja zamyka się w jednym skrypcie autoryzacyjnym i niestandardowym pliku konfiguracyjnym minera (Gminer, LOLMiner czy Rigel). W przypadku platform pod wynajem dla AI (takich jak Vast.ai, Clore.ai czy RunPod) maszyna hosta staje się pełnoprawnym węzłem wirtualizacji.
Oto podstawowa różnica w architekturze stosu:
[ PoW Mining ] Linux Kernel -> NVIDIA Driver -> Mining Executable -> Stratum Pool [ AI Inference Node ] Ubuntu Server 22.04/24.04 LTS ├── NVIDIA Driver (535/550+ Open Kernel Modules) ├── CUDA Toolkit (12.x) & nvidia-container-toolkit ├── Docker Daemon (z natywną integracją cgroupsv2 do limitowania GPU) ├── Host Daemon platformy (Vast/Clore client: monitorowanie, przekierowanie portów, klucze SSH) └── Container Context (vLLM / Ollama / ComfyUI / PyTorch + HuggingFace Cache)
Jeśli padnie Ci miner, watchdog zrestartuje proces w 3 sekundy. Jeśli w kontenerze najemcy wyłoży się vllm.entrypoints.openai.api_server z powodu Out-Of-Memory (OOM) wynikającego z rozrośniętego KV cache na długim kontekście (np. 32k tokenów na Llama-3), klient po prostu anuluje najem. Tracisz wtedy ranking hosta (Uptime Score) na platformie, a Twój node wylatuje z wyników wyszukiwania na kilka dni.
Przepustowość sieci i I/O dysków
W miningu wolumen ruchu przychodzącego i wychodzącego jest znikomy: udziały (shares) są wysyłane w pakietach po kilka kilobajtów przez protokół Stratum. Wystarczy nawet modem 4G z pingiem 80ms.
Przy wynajmie pod inferencję i fine-tuning sieć to bezpośrednie wąskie gardło (bottleneck):
- Pobieranie wag modeli: Klient wynajmuje kartę i ściąga z HuggingFace model Llama-3-70B w kwantyzacji INT4 (około 40 GB). Na łączu 100 Mb/s ten proces zajmie prawie godzinę. Przez cały ten czas klient płaci za przestój i wystawia negatywną opinię. Łącze musi mieć minimum 1 Gb/s symetrycznego światłowodu (najlepiej 2.5–10 Gb/s).
- Podsystem dyskowy: Zapomnij o tanich dyskach SATA SSD czy starych HDD, które jakoś tam znoszą dysk rozruchowy HiveOS. Kontenery AI bez przerwy zapisują cache i odczytują gigabajtowe tensory. Potrzebujesz nośników NVMe (PCIe 4.0 x4) z kontrolerami posiadającymi pamięć podręczną DRAM (np. Samsung 980 Pro / Kingston KC3000), o pojemności minimum 2 TB na każde 4 karty graficzne. Tanie dyski bez bufora DRAM szybko się przegrzewają, wpadają w throttling IOPS i zawieszają całego demona Dockera.
Bezpieczeństwo i izolacja hosta
Kiedy oddajesz GPU pod zadania obliczeniowe obcym ludziom, faktycznie dajesz im dostęp do wykonywania dowolnego kodu wewnątrz kontenera na swoim sprzęcie.
Jeśli Docker na hoście jest skonfigurowany byle jak lub używasz przestarzałego jądra z niezłatanymi podatnościami typu Container Escape (ucieczka z kontenera), najemca może uzyskać dostęp root do głównego systemu operacyjnego.
Obowiązkowe kroki w celu zabezpieczenia nody:
- Wyłączenie trybu privileged w ustawieniach demona hosta.
- Konfiguracja iptables / ufw do ścisłej izolacji sieci lokalnej (żeby najemca z kontenera nie przeskanował Twojej sieci domowej lub routera).
- Wykorzystanie oddzielnych sieci VLAN dla segmentu minnerskiego i węzłów obliczeniowych.
- Wyłączenie dostępu SSH po hasle na maszynie hosta i przejście wyłącznie na autoryzację kluczami Ed25519.
Ryzyka finansowe i odpłyv płynności
W PoW zarobek leci na pool natywnie: uciułałeś monety -> dostałeś wypłatę na portfel raz na dobę. Relacja Risk/Reward jest przejrzysta.
W usługach AI wypłaty idą w wewnętrznym tokenie platformy lub w krypto (USDT/BTC) z opóźnieniem (Hold Period). Na przykład na Clore.ai czy Render część nagrody wypłacana jest w ich własnych tokenach, których kurs podlega ostrej zmienności. Jeśli token platformy leci w dół o 20% dziennie, Twoja realna rentowność z wynajmu spada poniżej poziomów PoW.
Jeśli nie masz ochoty dyżurować przy terminalu, poprawiać uprawnień nvidia-persistenced, czyszczenia cache Dockera komendą docker system prune -a i dochodzenia, dlaczego PyTorch wywalił się z segfaultem przez konflikt wersji cuDNN – wynajem sprzętu pod AI szybko zamieni się w nierentowny ból głowy.
Krok po kroku: Konfiguracja desktopowego setupu pod compute-sieci
Jeśli masz pod ręką zwykły komputer roboczy albo rig na bazie 2x RTX 4090 / 3090 i chcesz go przerzucić z PoW na inferencję, typowy stack softu wygląda tak:
1. Czysta instalacja Linuksa i środowiska bazowego
Zapomnij o dedykowanych systemach do miningu z pendrive'ów. Potrzebujesz czystej wersji Server na dysku NVMe:
# Aktualizujemy pakiety i wrzucamy podstawowy soft
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential dkms git curl wget htop nvme-cli net-tools ufw2. Instalacja sterowników NVIDIA i CUDA bez zbędnego śmietnika
Nie instaluj sterowników przez standardowe ubuntu-drivers autoinstall – często dociągają one biblioteki desktopowe i sypią tryb Headless. Bierz oficjalną gałąź sterownika (np. 550+):
# Dodajemy repozytorium NVIDIA
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update
sudo apt install -y nvidia-driver-550-server nvidia-utils-550-server
# Włączamosz persistence mode (żeby GPU nie wchodziły w stan uśpienia i nie lagowały przy starcie kontenera)
sudo nvidia-smi -pm 1Po restarcie sprawdzamy stan szyny i limity mocy. Dla stabilności w trybie 24/7 warto delikatnie przyciąć TDP, żeby zbić skoki temperatur VRAM:
# Ograniczamy RTX 4090 do 350-380W zamiast domyślnych 450W
sudo nvidia-smi -pl 3603. Konfiguracja Dockera i NVIDIA Container Toolkit
Bez przekazywania GPU do izolowanych kontenerów żaden marketplace (Vast.ai, Render, RunPod) nie ruszy:
# Instalacja Docker CE
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Dodanie NVIDIA Container Toolkit
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb [^ ]* #&[signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] #' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
# Konfiguracja runtime i restart demona
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart dockerTestujemy, czy karta jest widoczna wewnątrz kontenera:
docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smiZestawienie finansowe dla różnych typów kart graficznych
Żeby ogarnąć realia rynkowe, spójrz na tabelę zwrotów z inwestycji i przydatności popularnego sprzętu:
| Model GPU | VRAM / Szyna | Przydatność do PoW | Przydatność do inferencji AI | Średni czysty zysk na dobę (AI)* | Główne wąskie gardło |
|---|---|---|---|---|---|
| RTX 3060 12GB | 12 GB / 192-bit | Wysoka (niskie TDP) | Niska | $0.15 – $0.30 | Niska przepustowość pamięci (360 GB/s) |
| RTX 3090 24GB | 24 GB / 384-bit | Średnia (grzejące się GDDR6X) | Bardzo wysoka | $0.70 – $1.20 | Wysoki pobór prądu i grzejące się kości pamięci z tyłu PCB |
| RTX 4080 16GB | 16 GB / 256-bit | Wysoka | Średnia | $0.40 – $0.75 | Pojemność VRAM (16 GB to za mało na średnie LLM-y z zapasem na kontekst) |
| RTX 4090 24GB | 24 GB / 384-bit | Średnia (zbyt droga w zakupie) | Ekstremalnie wysoka | $1.50 – $2.80 | Wymagania co do zasilacza i linii PCIe na płycie głównej |
| A100 80GB (PCIe/SXM) | 80 GB / 5120-bit | Zerowa (brak zwrotu) | Standard rynkowy | $4.50 – $8.00 | Koszt zakupu karty i wymóg obudowy serwerowej z mocnym nadmuchem |
* Zarobek uwzględnia średnie utylizacje (50-70%) i odliczenie kosztu prądu po $0.06/kWh.
Scenariusz alternatywny: Hybrydowy mining / inferencja z autowritchem
Dla tych, którzy nie chcą tracić kapitału w momentach przestoju nody na marketplace'ach AI, istnieje schemat dynamicznego przełączania zadań:
- Główny priorytet: Demon Vast.ai / Clore.ai czeka na zapytanie od klienta.
- Proces w tle: Dopóki nikt nie wynajmuje karty (brak aktywnego najmu), skrypt worker odpala lekki koparkę PoW (np. Kaspa lub Zephyr na CPU/GPU).
- Wyzwalacz przełączenia: W momencie, gdy wpada żądanie API na odpalenie kontenera Docker pod AI, skrypt natychmiast wysyła SIGKILL do minera, czyści VRAM i oddaje kartę klientowi.
Można to zrealizować prostym skryptem bash monitorującym stan kontenerów Dockera:
#!/bin/bash
# Prosty worker monitorujący aktywne kontenery AI
MINER_PID=""
while true; do
# Sprawdzamy, czy lecą jakieś kontenery poza systemowymi
ACTIVE_CONTAINERS=$(docker ps -q --filter "label=ai_workload=true" | wc -l)
if [ "$ACTIVE_CONTAINERS" -gt 0 ]; then
if [ ! -z "$MINER_PID" ]; then
echo "[+] Wpadł ruch pod AI. Ubijamy mining w tle..."
kill -9 $MINER_PID
MINER_PID=""
# Przywracamy wentylatory i limity pod AI
nvidia-smi -pl 380
fi
else
if [ -z "$MINER_PID" ]; then
echo "[-] Brak najemców. Odpalamy minera PoW w tle..."
# Przycinamy Power Limit pod mining, żeby oszczędzać prąd
nvidia-smi -pl 250
/opt/miners/rigel --algo kaspa --pool stratum+tcp://... --wallet ... &
MINER_PID=$!
fi
fi
sleep 10
doneTaki setup pozwala wyeliminować główny ból wynajmu pod AI – czyli zerowy dochód podczas czekania na klienta – utrzymując jednocześnie pełną gotowość nody do przyjęcia dobrze płatnego zadania w parę sekund.
Ostateczny wybór sprowadza się wyłącznie do tego, czy chce Ci się dbać o utrzymanie systemu. PoW to klasyczna inwestycja w sprzęt z minimalnym narzutem operacyjnym. Wynajem kart pod AI to pełnoprawny biznes micro-IaaS, w którym stajesz się minidostawcą chmury obliczeniowej.