Skip to content

Latest commit

 

History

History
143 lines (92 loc) · 5.82 KB

README.md

File metadata and controls

143 lines (92 loc) · 5.82 KB

Beta9

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.

Iniziare

Beam Cloud (consigliato)

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.

Distribuzione open source (avanzata)

Configurazione del server

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

Configurazione dell'SDK

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

Utilizzo dell'SDK

Dopo aver configurato il server e l'SDK, consulta il file Leggimi dell'SDK qui.

App di esempio

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)

Come funziona

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

gif demo

Contribuire

Diamo il benvenuto ai contributi, grandi o piccoli! Queste sono le cose più utili per noi:

Filosofia

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.

Comunità e supporto

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)

Grazie ai nostri contributori