?
Flyte é um orquestrador de código aberto que facilita a construção de dados de nível de produção e pipelines de ML. Ele foi desenvolvido para oferecer escalabilidade e reprodutibilidade, aproveitando o Kubernetes como plataforma subjacente. Com Flyte, as equipes de usuários podem construir pipelines usando o Python SDK e implantá-los perfeitamente em ambientes locais e na nuvem, permitindo processamento distribuído e utilização eficiente de recursos.
Escreva código em Python ou qualquer outra linguagem e aproveite um mecanismo de tipo robusto.
Localmente ou em um cluster remoto, execute seus modelos com facilidade.
pip install flytekit
pyflyte run hello_world.py hello_world_wf
Pronto para experimentar um cluster Flyte?
flytectl demo start
pyflyte run --remote hello_world.py hello_world_wf
Quer ver mais, mas não quer instalar nada?
Acesse https://sandbox.union.ai/. Ele permite que você experimente os recursos do Flyte em um notebook Jupyter hospedado.
Pronto para produzir?
Acesse o guia de implantação para obter instruções sobre como instalar o Flyte em diferentes ambientes
Interfaces fortemente tipadas : valide seus dados em cada etapa do fluxo de trabalho, definindo proteções de dados usando tipos Flyte.
Qualquer linguagem : escreva código em qualquer linguagem usando contêineres brutos ou escolha SDKs Python, Java, Scala ou JavaScript para desenvolver seus fluxos de trabalho Flyte.
Imutabilidade : execuções imutáveis ajudam a garantir a reprodutibilidade, evitando quaisquer alterações no estado de uma execução.
? Linhagem de dados : rastreie a movimentação e a transformação de dados ao longo do ciclo de vida de seus dados e fluxos de trabalho de ML.
Tarefas de mapa : obtenha execução paralela de código com configuração mínima usando tarefas de mapa.
? Multilocação : Vários usuários podem compartilhar a mesma plataforma enquanto mantêm seus próprios dados e configurações distintos.
? Fluxos de trabalho dinâmicos : crie fluxos de trabalho flexíveis e adaptáveis que podem mudar e evoluir conforme necessário, facilitando a resposta às mudanças nos requisitos.
⏯️ Aguarde entradas externas antes de prosseguir com a execução.
? Ramificação : execute ramificações seletivamente do seu fluxo de trabalho com base em dados estáticos ou dinâmicos produzidos por outras tarefas ou dados de entrada.
? Visualização de dados : visualize dados, monitore modelos e visualize o histórico de treinamento por meio de gráficos.
FlyteFile e FlyteDirectory : Transfira arquivos e diretórios entre armazenamento local e em nuvem.
?️ Conjunto de dados estruturado : converta dataframes entre tipos e aplique a verificação de tipo em nível de coluna usando a representação 2D abstrata fornecida pelo Conjunto de dados estruturados.
?️ Recuperar de falhas : recupere apenas as tarefas com falha.
? Execute novamente uma única tarefa : execute novamente fluxos de trabalho no nível mais granular sem modificar o estado anterior de um fluxo de trabalho de dados/ML.
? Saídas de cache : armazene em cache as saídas da tarefa passando cache=True
para o decorador da tarefa.
Ponto de verificação intra-tarefa : progresso do ponto de verificação na execução de uma tarefa.
⏰ Timeout : Defina um período de tempo limite, após o qual a tarefa será marcada como falha.
? Dev para prod : tão simples quanto mudar seu domínio de desenvolvimento ou preparação para produção.
? Instâncias pontuais ou preemptivas : programe seus fluxos de trabalho em instâncias pontuais definindo interruptible
como True
no decorador de tarefas.
☁️ Implantação nativa da nuvem : implante o Flyte no AWS, GCP, Azure e outros serviços em nuvem.
? Agendamento : programe seus dados e fluxos de trabalho de ML para serem executados em um horário específico.
? Notificações : mantenha-se informado sobre alterações no estado do seu fluxo de trabalho configurando notificações por meio do Slack, PagerDuty ou e-mail.
⌛️ Visualização da linha do tempo : avalie a duração de cada uma de suas tarefas Flyte e identifique possíveis gargalos.
? Aceleração de GPU : habilite e controle as demandas de GPU de suas tarefas solicitando recursos no decorador de tarefas.
? Isolamento de dependências por meio de contêineres : mantenha conjuntos separados de dependências para suas tarefas para que não surjam conflitos de dependência.
? Paralelismo : as tarefas Flyte são inerentemente paralelas para otimizar o consumo de recursos e melhorar o desempenho.
? Aloque recursos dinamicamente no nível da tarefa.
Junte-se a empresas como LinkedIn, Spotify, Freenome, Pachama, Warner Bros. e muitas outras na adoção do Flyte para casos de uso de missão crítica. Para obter uma lista completa de adotantes e informações sobre como adicionar sua organização ou projeto, visite nossa página ADOPTADORES.
Sincronização mensal da comunidade: Acontece na primeira terça-feira de cada mês, é aqui que a equipe Flyte fornece atualizações sobre o projeto e os membros da comunidade podem compartilhar seu progresso e fazer perguntas.
Slack: Junte-se à comunidade Flyte no Slack para conversar com outros usuários, fazer perguntas e obter ajuda.
? Youtube: assista a painéis de discussão, histórias de sucesso de clientes, atualizações da comunidade e análises aprofundadas de recursos.
? Blog: Aqui você pode encontrar tutoriais e aprofundamentos para ajudá-lo a aprender mais sobre o Flyte.
RFCs: RFCs são usados para propor novas ideias e recursos para melhorar o Flyte. Você pode consultá-los para se manter atualizado sobre os últimos desenvolvimentos e contribuir para o crescimento da plataforma.
Há muitas maneiras de se envolver no Flyte, incluindo:
help wanted
ou good-first-issue
e seguir o guia CONTRIBUTING para enviar alterações à base de código.Flyte está disponível sob a licença Apache 2.0. Use-o com sabedoria.