Descrição
Resumo:
Procuramos um Arquiteto de Soluções para o Core ML para liderar a engenharia de desempenho de baixo nível de cargas de trabalho de IA, otimizando treinamento e inferência em arquiteturas avançadas de aceleradores.
Pontos principais:
1. Liderar a engenharia de desempenho para cargas de trabalho de IA em TPUs/GPUs
2. Trabalhar com modelos de ML de ponta, cadeias de ferramentas e frameworks
3. Impactar diretamente o desempenho da próxima geração de IA
Estamos procurando um **Arquiteto de Soluções – Núcleos e Desempenho**, Core ML, para se juntar à nossa equipe em Lisboa, Portugal, em regime híbrido. Nesta função, você liderará a engenharia de desempenho de baixo nível de cargas de trabalho de IA, otimizando tanto o treinamento quanto a inferência de modelos em arquiteturas avançadas de aceleradores, como TPU e GPU. Você trabalhará com modelos de ML de ponta, cadeias de ferramentas e frameworks, possibilitando a implantação escalável e eficiente de soluções de IA em produção. Esta posição combina engenharia profunda em nível de sistema com liderança arquitetural, impactando diretamente o desempenho da próxima geração de IA.
**Responsabilidades**
* Projetar e otimizar núcleos de alto desempenho usando linguagens de baixo nível, como Pallas, Mosaic e Triton, para arquiteturas TPU e GPU
* Projetar infraestrutura, como suítes de benchmarking, frameworks de autotuning e ferramentas de análise de desempenho, para apoiar o desenvolvimento e testes de núcleos
* Desenvolver estratégias de testes de regressão e documentação abrangente para manter a qualidade e facilitar a adoção entre comunidades de desenvolvedores
* Colaborar com pesquisadores de ML, desenvolvedores de frameworks (JAX, PyTorch) e engenheiros de compiladores (XLA) para resolver gargalos de desempenho e implementar soluções eficazes
* Acompanhar os avanços nas arquiteturas de hardware, tecnologias de compiladores e modelos de IA para identificar oportunidades de otimização e orientar decisões estratégicas
* Defender as melhores práticas para integrar núcleos otimizados em bibliotecas de código aberto e sistemas de produção
**Requisitos**
* Graduação em Ciência da Computação ou experiência prática equivalente
* 12 anos ou mais de experiência profissional geral em engenharia de software ou áreas afins
* No mínimo 5 anos de experiência em desenvolvimento em C++ ou Python
* Pelo menos 3 anos de experiência em testes, manutenção ou lançamento de produtos de software
* No mínimo 1 ano de experiência em projeto e arquitetura de software
* Experiência comprovada em otimização de desempenho em nível de núcleo para cargas de trabalho de ML
**Desejável**
* Experiência na otimização de código para TPU/GPU usando Pallas, CUDA ou Triton
* Familiaridade com frameworks de ML, como JAX e PyTorch, incluindo componentes avançados, como mecanismos de atenção e Mistura de Especialistas (MoEs)
* Compreensão das características modernas de aceleradores, como movimentação de dados, pipeline e computação heterogênea
* Conhecimento dos princípios de compiladores, geração de código e cadeias de ferramentas, como MLIR e OpenXLA
* Experiência na construção de infraestrutura para desenvolvedores em bibliotecas de código aberto e na criação de APIs de alto desempenho
* Fortes habilidades de resolução de problemas e investigação, com capacidade comprovada de trabalhar em equipes multifuncionais
**Oferecemos**
* Remuneração competitiva, conforme experiência e habilidades
* Variedade de projetos dentro de uma única empresa
* Integração em um projeto que segue padrões de excelência em engenharia
* Trajetória profissional individualizada e oportunidades de crescimento profissional
* Eventos internos e comunidades
* Horário de trabalho flexível