Petals rozděluje provoz velkých jazykových modelů mezi více počítačů
Petals umožňuje provozovat část velkého jazykového modelu na vlastní GPU a při generování využívat distribuovanou síť dalších účastníků.
Petals je výzkumný projekt pro distribuovaný provoz velkých jazykových modelů. Uživatel nemusí načíst celý model na jediném domácím počítači. Provozuje pouze jeho část a při generování využívá síť dalších účastníků, kteří obsluhují zbývající vrstvy.
Projekt tento princip přirovnává k BitTorrentu. Neznamená to ale, že by pro běh modelu přímo používal protokol BitTorrent. Podobnost spočívá v rozdělení zátěže mezi více uzlů.
Jak distribuovaný běh funguje
Velký model je rozdělený mezi více serverů. Požadavek během generování postupně prochází přes uzly, které provozují jednotlivé části modelu.
Lokální zařízení proto nemusí mít paměť pro celý model. Provoz je ale závislý na dostupnosti vzdálených uzlů, latenci sítě a na tom, zda jsou potřebné vrstvy právě dostupné.
Petals uvádí podporu například pro:
- Llama 3.1 až do velikosti 405B,
- Mixtral 8×22B,
- Falcon 40B a větší varianty,
- BLOOM 176B.
Deklarovaný výkon
Autoři uvádějí rychlost až 6 tokenů za sekundu pro Llama 2 70B a až 4 tokeny za sekundu pro Falcon 180B při jednorázovém generování.
Jde o deklarovaná maxima projektu. Skutečný výkon závisí na síťové latenci, dostupnosti uzlů a vytížení distribuované sítě. Proto se může mezi jednotlivými relacemi lišit.
Větší kontrola než u běžného API
Petals není jen rozhraní pro generování textu. Projekt spolupracuje s PyTorch a knihovnou Transformers a nabízí hlubší přístup k modelu než běžné hostované API.
Uživatelé mohou pracovat s vlastními metodami vzorkování, přistupovat ke skrytým stavům nebo provádět vybrané metody jemného doladění nad distribuovaným modelem. Lokální zařízení přitom stále drží pouze část modelu.
Projekt lze používat se spotřebitelskou GPU nebo prostřednictvím prostředí jako Google Colab. To ale neznamená, že jedna běžná GPU samostatně provozuje nebo plně dolaďuje celý model.
Omezení distribuované sítě
Hlavní výhodou Petals je možnost pracovat s velmi velkým modelem bez vlastního serveru s dostatečnou pamětí. Tento přístup má ale i praktická omezení.
Požadavek prochází uzly provozovanými dalšími účastníky. U citlivých vstupů je proto potřeba posoudit soukromí a důvěrnost dat. Dále je nutné počítat s proměnlivou dostupností jednotlivých částí modelu a s vyšší síťovou latencí než u lokálního běhu na jednom stroji.
Petals je součástí výzkumného ekosystému BigScience. Je zajímavý hlavně jako experiment s tím, jak sdílet výpočetní kapacitu pro provoz velkých modelů. Nejde o náhradu lokálního provozu v situacích, kde je nutná stabilní latence, úplná kontrola nad infrastrukturou nebo důvěrnost vstupních dat.