La plataforma de aprendizaje automático continuo de código abierto
Construya tuberías ML con solo python, ejecute en su computadora portátil o en la nube.
Sematic es una plataforma de desarrollo ML de código abierto. Permite a los ingenieros de ML y los científicos de datos escribir tuberías arbitrariamente complejas de extremo a extremo con pitón simple y ejecutarlos en su máquina local, en una VM en la nube o en un clúster Kubernetes para aprovechar los recursos en la nube.
Sematic se basa en aprendizajes reunidos en las mejores compañías automotrices de conducción autónoma. Permite encadenar los trabajos de procesamiento de datos (por ejemplo, Apache Spark) con capacitación en modelo (por ejemplo, Pytorch, TensorFlow) o cualquier otra lógica de negocio de Python arbitraria en tuberías de trabajo de extremo a prueba de tipo, rastreable, rastreable y reproducible que se puede monitorear y visualizar en un tablero web moderno.
Lea nuestra documentación y únase a nuestro canal Discord.
Por qué semático
- Fácil de encendido : no se necesita implementación o infraestructura para comenzar, simplemente instale semáticamente localmente y comience a explorar.
- Paridad local a nube : ejecute el mismo código en su computadora portátil local y en su clúster Kubernetes.
- Trazabilidad de extremo a extremo : todos los artefactos de la tubería se persisten, rastrean y visualizan en un tablero web.
- Access Heterogeneus Compute : personalice los recursos requeridos para cada paso de tuberías para optimizar su rendimiento y huella de la nube (CPU, memoria, GPU, clúster Spark, etc.)
- Reproducibilidad : vuelva a ejecutar sus tuberías de la interfaz de usuario con reproducibilidad garantizada de resultados
Empezando
Para comenzar localmente, simplemente instale Sematic en su entorno de Python:
Inicie el tablero web local:
Ejecute una tubería de ejemplo:
$ sematic run examples/mnist/pytorch
Cree un nuevo proyecto de Boilerplate:
$ sematic new my_new_project
O de un ejemplo existente:
$ sematic new my_new_project --from examples/mnist/pytorch
Entonces ejecutarlo con:
$ python3 -m my_new_project
Para implementar semáticamente a Kubernetes y aprovechar los recursos en la nube, consulte nuestra documentación.
Características
- Python SDK ligero : defina tuberías arbitrariamente complejas de extremo a extremo
- Anidación de tuberías : tuberías de nido arbitrariamente en tuberías más grandes
- Gráficos dinámicos : los gráficos definidos por Python permiten iteraciones, ramificación condicional, etc.
- Seguimiento de linaje : todas las entradas y salidas de todos los pasos se persisten y rastrean
- Verificación de tipo de tiempo de ejecución : falla temprano con la verificación del tipo de ejecución
- Panel de tablero web : monitorear, rastrear y visualizar tuberías en una interfaz de usuario web moderna
- Visualización de artefactos : visualice todas las entradas y salidas de todos los pasos en el tablero web
- Ejecución local : ejecute tuberías en su máquina local sin necesidad de implementación
- Orquestación en la nube : ejecute tuberías en Kubernetes para acceder a GPU y otros recursos en la nube
- Recursos de cómputo heterogéneos : ejecute diferentes pasos en diferentes máquinas (por ejemplo, CPU, memoria, GPU, chispa, etc.)
- Implementación de la tabla de timón : instale semático en su clúster Kubernetes
- Revestimientos de tuberías : vuelva a ejecutar las tuberías de la interfaz de usuario desde un punto arbitrario en el gráfico
- Aperación del almacenamiento en caché : caché pasos de tubería costosos para una iteración más rápida
- Vuelva a intentarlo : recuperarse de fallas transitorias con reintentos de paso
- Metadatos y colaboración : etiquetas, visualización del código fuente, documentos, notas, etc.
- Numerosas integraciones : ver más abajo
Integración
- Apache Spark -clúster de chispa en el clúster en demanda
- Ray -Recursos de rayos en el clúster de Ray a pedido
- Copo de nieve : consulte fácilmente su almacén de datos (otros almacenes también admitidos)
- Plotly, matplotlib : visualice los artefactos de la trama en el tablero web
- Pandas : visualice los artefactos de marco de datos en el tablero
- Grafana : incruste los paneles de Grafana en el tablero de la web
- Bazel : integrarse con su sistema de construcción de bazel
- Gráfico de timón : desplegarse en Kubernetes con nuestro cuadro de timón
- GIT : rastrea la información de Git en el tablero web
Comunidad y recursos
Obtenga más información sobre Sematic y póngase en contacto con los siguientes recursos:
- Página de destino semática
- Documentación
- Canal de discordia
- Canal de youtube
- Nuestro blog
¡Contribuir!
Para contribuir a Sematic, consulte los problemas abiertos etiquetados como "buen primer problema" y póngase en contacto con nosotros en Discord. Puede encontrar instrucciones sobre cómo configurar su entorno de desarrollo en nuestros documentos de desarrolladores. Si desea agregar un ejemplo, también puede encontrar esta guía útil.