Sobre o projeto
O Cog é uma ferramenta de código aberto que empacota modelos de machine learning em contêineres Docker padrão e prontos para produção. Ela aborda a dificuldade comum de enviar modelos de ML para produção, eliminando a necessidade de escrever Dockerfiles manualmente e gerenciar a compatibilidade de dependências.
Principais capacidades descritas no README:
- Geração de imagens Docker a partir de um arquivo de configuração simples cog.yaml, aplicando melhores práticas como imagens base Nvidia, cache eficiente de dependências, instalação de versões específicas do Python e padrões sensatos de variáveis de ambiente.
- Tratamento automático da compatibilidade de CUDA, cuDNN, PyTorch, TensorFlow e versões do Python, evitando o gerenciamento manual de matrizes de versões.
- Definição de entradas e saídas do modelo usando tipos Python padrão por meio da interface BaseRunner (métodos setup e run), com o Cog gerando um esquema OpenAPI e validando entradas e saídas.
- Servidor de inferência HTTP automático: os tipos do modelo geram dinamicamente uma API RESTful HTTP servida por um servidor Rust/Axum de alto desempenho.
- Comandos CLI: cog run (executa um modelo com entradas), cog build (constrói uma imagem Docker implantável) e cog serve (combina build e serve em uma porta local).
- Flexibilidade de implantação: as imagens Docker construídas podem ser executadas em qualquer lugar onde imagens Docker sejam executadas, incluindo infraestrutura auto-hospedada ou Replicate.
- Suporte de plataformas: macOS, Linux e Windows 11 via WSL 2. Requer Docker (e Buildx ao usar o Docker Engine em vez do Docker Desktop).
- Instalação via Homebrew, script de instalação, download manual do binário ou dentro de uma imagem Docker.
A ferramenta é posicionada como uma forma de pesquisadores enviarem modelos para produção sem conhecimento profundo de Docker ou engenharia de infraestrutura, e é criada pela equipe por trás do Replicate.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.