Siemens
Apple
Ingeniero/a de Software de Sistemas de Machine Learning (m/f/d)
DESCRIPCIÓN
En Apple, estamos a la vanguardia de la entrega de experiencias transformadoras a través de la Inteligencia Artificial. ¡Si te apasiona superar los límites de la IA y la optimización de hardware, queremos que te unas a nuestro equipo!
Como Ingeniero/a de Software de Sistemas de Machine Learning en el equipo de Apple Neural Engine (ANE), trabajarás para dar vida a soluciones de IA de alto rendimiento y bajo consumo en productos icónicos de Apple como Vision Pro, iPhone, iPad, Mac y más.
¡Esta es una oportunidad dinámica para trabajar en un entorno creativo y colaborativo mientras desarrollas tecnologías innovadoras que darán forma al futuro de la computación! Buscamos un/a ingeniero/a con profunda experiencia en tecnología de software de sistemas que esté deseoso/a de asumir nuevos desafíos y responsabilidades a medida que evoluciona el puesto. A medida que el puesto progrese, habrá oportunidades para demostrar liderazgo técnico, influir en decisiones clave de diseño, colaborar y apoyar a otros ingenieros, y ayudar a guiar la dirección de las capacidades impulsadas por IA de Apple en todo el ecosistema. ¿Estás listo/a para ayudarnos a lanzar los próximos productos innovadores de Apple?
REQUISITOS MÍNIMOS
- Grado y un mínimo de 10 años de experiencia relevante en la industria
- Experiencia en la definición de interfaces que son utilizadas por otros equipos o desarrolladores externos, con atención al ciclo de vida, manejo de errores y compatibilidad futura
- Profunda experiencia en C y C++ en software de sistemas de producción a gran escala
- Comprensión de los sistemas de tiempo de ejecución: modelos de procesos/hilos, gestión de memoria, IPC/RPC y ciclo de vida de los recursos
- Comprensión de las interfaces de software-hardware: registros, DMA, colas de comandos o patrones de interacción de aceleradores similares
- Experiencia en el lanzamiento de software de sistemas de producción
CALIFICACIONES PREFERIDAS
- Experiencia en la creación o extensión de tiempos de ejecución de ML, motores de inferencia o pilas de controladores de aceleradores (por ejemplo, TensorRT, ONNX Runtime, XLA, Metal, Vulkan compute o similares)
- Familiaridad con Swift/Rust o algún otro lenguaje de sistemas seguro en memoria
- Familiaridad con pipelines de compilación de modelos de ML y cómo los APIs de tiempo de ejecución interactúan con las salidas del compilador (IR del grafo, binarios compilados)
- Experiencia con escenarios de tiempo de ejecución multicliente: arbitraje de acceso a hardware, gestión de prioridad/QoS y manejo del ciclo de vida del cliente (por ejemplo, conexión, desconexión, recuperación de fallos)
- Conocimiento de la inferencia de redes neuronales: ejecución de operadores, diseño de memoria de tensores, pipelining y estrategias de batching
- Sólidas habilidades de comunicación y experiencia trabajando en colaboración entre equipos (equipos de frameworks, equipos de compiladores, equipos de hardware)
