1. Exo (Aktuálně nejlepší volba)
Exo je open-source projekt navržený přesně pro tento účel. Dokáže propojit iPady, Macy a PC s Linuxem/Windows do jednoho clusteru.Jak to funguje: Nainstalujete Exo na všechna zařízení. Ta se automaticky najdou v síti a vytvoří "virtuální GPU".Výhoda: Podporuje dynamické rozdělování modelů podle toho, kolik má který stroj zrovna volné paměti.
2. Petals
Tento projekt funguje jako "BitTorrent pro jazykové modely". Je zaměřený na obrovské modely (jako Llama-3-70B nebo Falcon 180B).Jak to funguje: Můžete si vytvořit soukromý roj (swarm) vašich počítačů.Výhoda: Je to extrémně robustní, ale spíše určené pro Linux a pokročilejší uživatele.3. llama.cpp (RPC řešení)Populární llama.cpp (na kterém běží většina lokálních AI aplikací) má funkci RPC (Remote Procedure Call).Jak to funguje: Jeden PC funguje jako "master" a ostatní jako "nodes". Master jim posílá data k výpočtu.Nevýhoda: Vyžaduje manuální nastavení v příkazové řádce.Srovnání: Co získáte a co ztratíteVlastnostJeden silný PC (např. RTX 4090)Cluster (např. 3x RTX 3060 v různých PC)Kapacita VRAMOmezená na jednu kartu (24 GB)Sčítá se (např. 36 GB)Rychlost (Tokeny/s)Velmi vysokáPomalá (limitováno sítí)CenaVysoká jednorázová investiceVyužijete to, co už máte domaSložitostZapneš a jedešNutná konfigurace sítě a softwaru
Zde je detailní pohled na to, jak si poradí s vašimi dotazy:
- Směs pomalých a rychlých strojů (Heterogenní hardware) Petals je na toto připraven. Funguje na principu pipeline parallelism:
Model (např. Llama-3 70B) se rozdělí na desítky "bloků" (vrstev).
Rychlejší PC si může nabrat např. 20 bloků do své VRAM.
Pomalý notebook s integrovanou grafikou si nabere třeba jen 2 bloky (nebo běží přes CPU).
Výsledek: Systém automaticky vyvažuje zátěž. Celková rychlost (tokeny za sekundu) bude bohužel limitována nejpomalejším článkem v řetězci a latencí sítě, ale model půjde spustit.
- Co se stane, když se jeden PC vypne nebo restartuje? Toto je největší síla Petals oproti jiným řešením. Petals je stavěn na "nespolehlivé dobrovolníky".
Během výpočtu (uprostřed generování textu): Pokud jeden uzel vypadne, zatímco se generuje odpověď:
Detekce: Klient (váš hlavní PC) zjistí, že spojení se serverem "XY" bylo přerušeno.
Rerouting (Změna trasy): Klient se podívá do distribuované tabulky (DHT) a hledá jiný uzel v síti, který má nahrány stejné bloky modelu.
Obnova: Jakmile najde náhradu, pošle mu poslední mezivýsledky a pokračuje se v generování.
Vliv na uživatele: Uvidíte jen krátké pozastavení (lag) v generování textu, ale proces nespadne.
Před zadáním promptu: Pokud uzel vypadne dříve, než začnete:
Systém při inicializaci promptu prostě sestaví "trasu" (chain) jen z těch počítačů, které jsou v danou chvíli online. Pokud jich máte v lokální síti více a jeden chybí, Petals se pokusí chybějící vrstvy nahradit buď jiným vaším PC, nebo se může připojit k veřejnému "swarmy" na internetu (pokud mu to nezakážete).
3. Modely, které se běžně spouštějí
Petals byl stvořen pro modely, které se do běžného herního PC prostě nevejdou. Standardně se v něm setkáte s těmito obry:
Llama-3 (70B): Vyžaduje cca 40–45 GB VRAM pro rozumný běh. S Petals to rozdělíte třeba mezi dva PC s RTX 3090 nebo čtyři PC s RTX 4060 Ti (16GB).
Falcon 180B: Jeden z největších open-source modelů. Vyžaduje přes 100 GB VRAM. To už vyžaduje zapojení malé farmy počítačů (např. 10 a více běžných strojů).
Mixtral-8x22B: Velmi populární díky své efektivitě, ale stále vyžaduje značnou paměť, kterou v Petals snadno poskládáte.