B&A
Sciforium
Ingeniero/a de Entrenamiento e Inferencia Distribuidos
Sobre la oportunidad
Sciforium es una empresa de infraestructura de IA que desarrolla modelos de IA multimodales de próxima generación y una plataforma de servicio propietaria de alta eficiencia. Respaldado por financiación de varios millones de dólares y patrocinio directo de AMD con soporte práctico de ingenieros de AMD, el equipo está escalando rápidamente para construir la infraestructura full stack que potencia los modelos de IA de vanguardia y las aplicaciones en tiempo real.
Acerca del puesto
Sciforium busca un Ingeniero/a de Entrenamiento e Inferencia Distribuidos altamente cualificado/a para construir, optimizar y mantener la pila de software crítica que potencia nuestras cargas de trabajo de entrenamiento y servicio de IA a gran escala. En este puesto, trabajarás en toda la infraestructura de machine learning desde los tiempos de ejecución de bajo nivel CUDA/ROCm hasta frameworks de alto nivel como JAX y PyTorch para garantizar que nuestros sistemas de entrenamiento distribuidos sean rápidos, escalables, estables y eficientes.
Este puesto es ideal para alguien a quien le guste la ingeniería de sistemas profunda, la depuración de interacciones complejas entre hardware y software, y la optimización del rendimiento en cada capa de la pila de ML. Jugarás un papel fundamental para permitir el entrenamiento y la implementación de modelos de LLMs y IA generativa de próxima generación.
Tus responsabilidades
- Mantenimiento de la Pila de Software: Mantener, actualizar y optimizar bibliotecas y frameworks críticos de ML, incluyendo JAX, PyTorch, CUDA, y ROCm en múltiples entornos y configuraciones de hardware.
- Propiedad de la Pila de Extremo a Extremo: Construir, mantener y mejorar continuamente toda la pila de software de ML, desde los drivers ROCm/CUDA hasta las herramientas de alto nivel JAX/PyTorch.
- Optimización de Sistemas Distribuidos: Asegurar que todas las implementaciones de modelos estén eficientemente fragmentadas, particionadas y configuradas para entrenamiento y servicio distribuidos a gran escala.
- Integración de Sistemas: Integrar y validar continuamente módulos para corrección en tiempo de ejecución, eficiencia de memoria y escalabilidad en clústeres de múltiples nodos con GPU/aceleradores.
- Análisis de Perfilado y Rendimiento: Realizar un perfilado detallado de los grafos de compilación, cargas de trabajo de entrenamiento y ejecución en tiempo de ejecución para optimizar el rendimiento y eliminar cuellos de botella.
- Depuración y Fiabilidad: Solucionar problemas complejos de interacción hardware-software, incluyendo fallos de compilación de vLLM en ROCm, fugas de memoria de CUDA, fallos en el tiempo de ejecución distribuido e inconsistencias a nivel de kernel.
Colaborar con los equipos de investigación, infraestructura e ingeniería de kernels para mejorar el rendimiento del sistema, la estabilidad y la experiencia del desarrollador.
Perfil del candidato ideal
- 5+ años de experiencia industrial en sistemas de ML, entrenamiento distribuido o campos relacionados.
- Grado o Máster en Ciencias de la Computación, Ingeniería Informática, Ingeniería Eléctrica o campos técnicos relacionados.
- Sólida experiencia en programación en Python, C++, y familiaridad con herramientas de ML y sistemas distribuidos.
- Profundo conocimiento de herramientas de perfilado (por ejemplo, Nsight, ROCm Profiler, XLA profiler, herramientas TPU).
- Profunda experiencia con la configuración de particionamiento en frameworks modernos de ML como PyTorch y JAX.
- Experiencia con sistemas de entrenamiento distribuido multi-nodo y frameworks de orquestación (DTensor, GSPMD, etc.).
- Experiencia práctica en el mantenimiento o la construcción de pilas de entrenamiento de ML que involucren CUDA, ROCm, NCCL, XLA o tecnologías similares.
Se valorará
- Amplia experiencia con la pila XLA/JAX, incluyendo internos de compilación y rutas de bajada personalizadas.
- Familiaridad con frameworks de servicio distribuido o inferencia a gran escala (por ejemplo, vLLM, TensorRT, FasterTransformer).
- Experiencia en optimización de kernels de GPU o particionamiento de modelos consciente del acelerador.
- Sólido conocimiento de los bloques de construcción de bajo nivel de C++ utilizados en frameworks de ML (por ejemplo, XLA, kernels de CUDA, ops personalizadas).
Los beneficios incluyen
- Seguro médico, dental y de visión
- Plan 401k
- Almuerzo diario, snacks y bebidas
- Tiempo libre flexible
- Salario y acciones competitivos
Igualdad de oportunidades
Sciforium es un empleador que ofrece igualdad de oportunidades. Todos los solicitantes serán considerados para el empleo sin distinción de raza, color, religión, sexo, orientación sexual, identidad de género, origen nacional, condición de veterano o discapacidad.
