Beta9 è una piattaforma open source per l'esecuzione di contenitori remoti direttamente da Python. Supporta l'accelerazione GPU/CUDA, consente di scalare il codice Python arbitrario su centinaia di macchine, distribuire facilmente funzioni e code di attività e distribuire carichi di lavoro tra vari provider cloud (inclusi i provider bare metal).
Caratteristiche:
- Scalabilità dei carichi di lavoro su centinaia di macchine (con supporto GPU!)
- Esegui istantaneamente contenitori remoti, direttamente dal tuo interprete Python
- Distribuire i carichi di lavoro tra più provider cloud
- Distribuisci facilmente code e funzioni di attività utilizzando semplici astrazioni Python
Utilizziamo beta9 internamente a Beam per eseguire applicazioni IA per gli utenti su larga scala.
Il modo più rapido e affidabile per iniziare con Beam è registrarsi gratuitamente a Beam Cloud. Le prime 10 ore di utilizzo sono gratuite, successivamente pagherai in base all'utilizzo.
k3d è utilizzato per lo sviluppo locale. Avrai bisogno di Docker e Make per iniziare.
Per utilizzare la nostra configurazione completamente automatizzata, esegui il make target setup
.
Note
Ciò sovrascriverà alcuni degli strumenti che potresti aver già installato. Rivedi setup.sh per saperne di più.
make setup
L'SDK è scritto in Python. Avrai bisogno di Python 3.8 o versione successiva. Utilizza il target make setup-sdk
per iniziare.
Note
Questo installerà il gestore pacchetti Poetry.
make setup-sdk
Dopo aver configurato il server e l'SDK, consulta il file Leggimi dell'SDK qui.
from beta9 import function
@function(cpu=8)
def square(i: int):
return i**2
def main():
numbers = list(range(10))
squared = []
# Esegui un contenitore remoto per ogni elemento nell'elenco
for result in square.map(numbers):
squared.append(result)
Beta9 è progettata per avviare molto rapidamente contenitori serverless remoti. Ci sono alcune cose che lo rendono possibile:
- Un formato immagine personalizzato a caricamento lento (CLIP) supportato da S3/FUSE
- Un motore di pianificazione dei contenitori veloce e basato su Redis
- Archiviazione indirizzata al contenuto per la memorizzazione nella cache di immagini e file
- Un runtime del contenitore con esecuzione personalizzata
Diamo il benvenuto ai contributi, grandi o piccoli! Queste sono le cose più utili per noi:
- Classifica le funzionalità nella nostra tabella di marcia
- Apri un PR
- Invia una richiesta di funzionalità
La nostra missione è semplificare la complessità del cloud. Per fare ciò, abbiamo creato un'astrazione basata su Python per il lancio di contenitori serverless su GPU.
A nostro avviso, i fornitori di servizi cloud esistenti forniscono strumenti troppo voluminosi e complicati perché gli sviluppatori possano iterarli rapidamente.
Beam è l'alternativa alla configurazione di un cluster Kubernetes o all'avvio di una VM cloud.
Beam ti offre tutti gli strumenti necessari per eseguire codice su GPU cloud, esporre il codice dietro un'API ed eseguire rapidamente l'iterazione sulla tua app.
Se hai bisogno di supporto, puoi contattarci attraverso uno di questi canali:
- Slack (Chatta dal vivo con il nostro team di ingegneri)
- Problemi di GitHub (Segnalazioni di bug, richieste di funzionalità e qualsiasi cosa relativa alla roadmap)
- Twitter (Aggiornamenti sulle versioni)