Skip to content

Latest commit

 

History

History
143 lines (92 loc) · 5.84 KB

README.md

File metadata and controls

143 lines (92 loc) · 5.84 KB

Logo


✨ Tempo de execução de GPU sem servidor ultrarrápido ✨

Documentation Join Slack Twitter Tests Passing


English | 简体中文 | 繁體中文 | Türkçe | हिंदी | Português (Brasil) | Italiano | Español | 한국어


Beta9

Beta9 é uma plataforma de código aberto para executar contêineres remotos diretamente do Python. Ele oferece suporte à aceleração GPU/CUDA, permite dimensionar código Python arbitrário para centenas de máquinas, implantar facilmente funções e filas de tarefas e distribuir cargas de trabalho entre vários provedores de nuvem (incluindo provedores bare metal).

Características:

  • Expanda cargas de trabalho para centenas de máquinas (com suporte de GPU!)
  • Execute contêineres remotos instantaneamente, diretamente do seu interpretador Python
  • Distribua cargas de trabalho entre vários provedores de nuvem
  • Implante facilmente filas de tarefas e funções usando abstrações simples de Python

Usamos o beta9 internamente no Beam para executar aplicativos de IA para usuários em grande escala.

Iniciar

Beam Cloud (recomendado)

A maneira mais rápida e confiável de começar a usar o Beam é inscrevendo-se gratuitamente no Beam Cloud. Suas primeiras 10 horas de uso são gratuitas e depois você paga com base no uso.

Implantação de código aberto (avançado)

Configurando o servidor

k3d é usado para desenvolvimento local. Você precisará do Docker e do Make para começar.

Para usar nossa configuração totalmente automatizada, execute o make target setup.

Note

Isso substituirá algumas das ferramentas que você já pode ter instaladas. Revise o setup.sh para saber mais.

make setup

Configurando o SDK

O SDK é escrito em Python. Você precisará do Python 3.8 ou superior. Use o alvo setup-sdk para começar.

Note

Isso instalará o gerenciador de pacotes Poetry.

make setup-sdk

Usando o SDK

Depois de configurar o servidor e o SDK, confira o leia-me do SDK aqui.

Exemplo de aplicativo

from beta9 import function


@function(cpu=8)
def square(i: int):
    return i**2


def main():
    numbers = list(range(10))
    squared = []

    # Executa um container remoto para cada item da lista
    for result in square.map(numbers):
        squared.append(result)

Como funciona

Beta9 foi projetado para lançar contêineres remotos sem servidor muito rapidamente. Existem algumas coisas que tornam isso possível:

  • Um formato de imagem de carregamento lento (CLIP) personalizado, apoiado por S3/FUSE
  • Um mecanismo rápido de agendamento de contêineres baseado em redis
  • Armazenamento endereçado a conteúdo para armazenar imagens e arquivos em cache
  • Um tempo de execução de contêiner runc personalizado

gif de demonstração

Contribuindo

Aceitamos contribuições, grandes ou pequenas! Estas são as coisas mais úteis para nós:

Filosofia

Nossa missão é simplificar a complexidade da nuvem. Para fazer isso, construímos uma abstração baseada em Python para lançar contêineres sem servidor em GPUs.

Em nossa opinião, os provedores de nuvem existentes fornecem ferramentas que são muito inchadas e complicadas para que os desenvolvedores possam iterar rapidamente.

O Beam é a alternativa para configurar um cluster Kubernetes ou ativar uma VM na nuvem.

O Beam oferece todas as ferramentas necessárias para executar código em GPUs em nuvem, expor esse código por trás de uma API e iterar rapidamente em seu aplicativo.

Suporte da comunidade

Se precisar de suporte, você pode entrar em contato por meio de qualquer um destes canais:

  • Slack (Converse ao vivo com nossa equipe de engenharia)
  • Problemas do GitHub (Relatórios de bugs, solicitações de recursos e qualquer coisa relacionada ao roteiro)
  • Twitter (Atualizações sobre lançamentos)

Obrigado aos nossos colaboradores