Nunca é um dia entediante - Engenharia de ML na LightMetrics
Para alguém que adora desafios, trabalhar no ML é um novo desafio todos os dias - nenhum dia é igual ao outro.

Para alguém que adora desafios, trabalhar no ML é um novo desafio todos os dias - nenhum dia é igual ao outro.
No início de um novo projeto, há muita empolgação em entender os requisitos e ir para a prancheta, para descobrir o que pode funcionar melhor. A fase de coleta de dados é um pouco desafiadora, às vezes entediante, especialmente se os dados anotados não estiverem disponíveis comercialmente, mas a empolgação com o resultado final nos mantém ativos. Sem mencionar que o desafio de aprender um bom modelo que seja robusto e generalize bem, mesmo com dados limitados, é algo que qualquer bom engenheiro de ML estará ansioso para assumir.
Depois de ter uma abordagem em mente, você faz alguns experimentos rápidos para ver como as coisas funcionam - procure um colega com quem você gosta de discutir e troque anotações. Em seguida, é hora de apresentar as descobertas até o momento para a equipe maior.
Agora começa a fase em que você treina a rede neural para a tarefa escolhida com uma grande quantidade de dados - obtém um resultado de linha de base. Isso dá início à minha fase favorita, em que você está constantemente buscando melhorar o desempenho - ajustar as funções de perda, projetar novas funções de perda é um dos meus truques favoritos, juntamente com o aumento inteligente dos dados.
Depois que a rede neural estiver funcionando bem, a complexidade computacional será o próximo desafio. Haverá um orçamento de MFLOPS, portanto, você tem duas opções: ajustar a arquitetura da rede neural de forma a reduzir a complexidade, mas sem sacrificar muito o desempenho, ou analisar outras técnicas, como quantização e poda.
Às vezes, isso simplesmente funciona, outras vezes, não. Haverá um ciclo que envolve melhorias no treinamento, redução da complexidade e avaliação do desempenho até que a precisão necessária seja alcançada.
O modelo agora é convertido em um formato adequado para IA de ponta, de modo que as GPUs e DSPs na plataforma de destino sejam aproveitadas da melhor maneira possível. Há restrições impostas pelos fornecedores de SOC, o que acrescenta outra dimensão ao conjunto de desafios.
Finalmente, você tem um modelo que atende aos requisitos de precisão e latência na plataforma de destino e está pronto para os testes de campo. Normalmente, haverá problemas nos testes de campo que precisarão ser resolvidos e, agora, finalmente, o modelo está pronto para uma versão beta para os clientes.
Você pode testar o quanto quiser, mas usar um modelo em campo e em escala é uma tarefa diferente. Responder aos problemas do campo e resolvê-los em tempo hábil é uma das características mais marcantes de um engenheiro de ML - uma característica que separa os bons dos ótimos.
Enxágue e repita - essa é a vida de um engenheiro de ML, de acordo com minha experiência, e eu a adoro. Ter uma boa equipe em um ambiente de apoio faz uma grande diferença para que sua mente fique livre para pensar em ML.
O ML na LightMetrics envolve o uso de redes neurais em dados de vídeo e imagem - o vídeo de várias câmeras em um veículo é processado em tempo real, na borda. Se o ML é desafiador, fazê-lo na borda está em outro nível. Trabalhamos em alguns dos tópicos mais avançados: aprendizado com menos dados, aprendizado auto/semi-supervisionado, pesquisa de arquitetura neural com foco em redes eficientes, poda de redes neurais, IA explicável, entre outros. Estamos estabelecendo colaborações sólidas com instituições acadêmicas que pensam da mesma forma.
O ML na LightMetrics é diferente de qualquer outro, pois ajuda você a desenvolver conhecimento e experiência trabalhando em todo o ciclo de vida do ML em uma empresa de produtos de ponta. Isso não tem preço - não há muitas oportunidades que possam se gabar de oferecer isso.
E sim, estamos contratando. Listei os requisitos abaixo:
- Sólida compreensão dos fundamentos de aprendizado de máquina, redes neurais
- É imprescindível ter experiência prévia de trabalho no domínio de imagem/vídeo
- Alto nível de proficiência em escrever código em nível de produção em C++
- Experiência no uso do OpenCV para desenvolver aplicativos de visão computacional
- É necessário ter proficiência no uso de Python - usamos Python para desenvolver algoritmos e C++ na borda
- Experiência com estruturas de aprendizado comuns, como TensorFlow ou PyTorch
- Sólida base em algoritmos e estruturas de dados
- Experiência em otimização de código para memória e desempenho usando ferramentas de criação de perfil é um diferencial
- Preferimos mais de um ano de experiência, mas estamos abertos à contratação de calouros com experiência comprovada em ML por meio de projetos, etc.
Se você é um engenheiro de ML e deseja trabalhar em todo o ciclo de vida de um projeto de ML, experimentar a emoção e a satisfação de ver um modelo que você treinou gerar valor para os clientes, entre em contato com careers@lightmetrics.co com seu currículo e uma carta de apresentação ou um parágrafo sobre o que você acha que o torna uma boa opção para essa função.