Propostas para selecção dos alunos

DEI - FCTUC
Gerado a 2024-05-19 17:28:57 (Europe/Lisbon).
Voltar

Titulo Estágio

QA & Machine Learning Testing

Local do Estágio

Instituto Pedro Nunes, Edifício D, Sala 2.22 - Rua Pedro Nunes, 3030-199 Coimbra/Remote

Enquadramento

A Stratio Automotive opera na indústria automóvel e dispõe de mecanismos de aquisição, monitorização e análise de dados provenientes de diversos sensores existentes em veículos de diversas frotas e fabricantes automóveis a nível mundial. A Stratio possui ferramentas capazes de detectar e prever anomalias e falhas em veículos automóveis recorrendo para isso a algoritmos de machine learning capazes de analisar dados provenientes de centenas de sensores do veículo e detetar comportamentos anómalos ou situações de risco que ponham em causa o normal funcionamento do veículo, permitindo assim otimizar custos na sua manutenção ou gestão de operações.

O fluxo de dados compreende ainda três etapas, cada uma com uma responsabilidade distinta na gestão e tratamento de dados. Inicialmente a aquisição de dados é feita com um dispositivo proprietário, DataBox®, que é instalado no veículo onde recolhe e envia em tempo real milhões de leituras de sensores por dia de diferentes componentes como bateria, motor, transmissão, travões, suspensão etc. De seguida estes dados são analisados e persistidos para que posteriormente sejam usados e analisados pelos modelos de machine learning proprietários, Cortex®, da Stratio. Estes resultados são depois visualizados em uma plataforma cliente e são também acionados alertas e notificações sobre todas as ocorrências identificadas.

A Stratio possui uma equipa de data scientists responsáveis pela criação destes modelos que analisam e treinam diariamente novos algoritmos que após várias fases de treino e validação necessitam de ser produzidos de forma a serem utilizados numa maior escala e propagados para todos os veículos existentes. Além disso, as fases de aquisição de dados para treino, validação e produção são diferentes uma vez que a Stratio processa dados em tempo real, necessitando assim que estes modelos sejam adequados a essa realidade. Os próprios outputs gerados necessitam também de ser tratados de forma a poderem serem mais tarde visualizados nas respectivas aplicações clientes.

Objetivo

Com este estágio pretende-se a criação de uma plataforma de testes para modelos de Machine Learning. É necessário para isso encontrar soluções eficientes, escaláveis e que permitam a realização de vários tipos de testes sobre modelos de Machine Learning durante toda a sua fase de desenvolvimento. Pretende-se criar uma solução que inclua mecanismos de testes unitários, integração e sistema sobre estes modelos, usando para isso conjuntos de dados pré-definidos (datasets). É esperado ainda que sejam gerados reports sobre os resultados destes testes de forma a dar visibilidade sobre alterações e falhas no código produzido.

Objetivos genéricos:

- Investigar, desenhar e implementar uma solução completa e autónoma para testes de modelos de Machine Learning;
- Criar uma framework para abstrair os conceitos base de testes de modelos de Machine Learning;
- Criar testes unitários, de integração e sistema para modelos de Machine Learning;
- Criar procedimentos automáticos para escolher, pré-processar e guardar datasets pré-determinados a serem usados para testes;
- Automatizar testes usando mecanismos de Continuous Integration (CI) e Continuous Delivery (CD);
- Gerar relatórios sobre métricas recolhidas sobre os testes realizados;
- Gerar alertas caso os testes falhem, de forma a alertar os Data Scientists e Data Engineers para possíveis erros.

Plano de Trabalhos - Semestre 1

- T1. Análise do estado da arte - Análise do respetivo estado de arte que compreende investigação de tecnologias usadas, ferramentas, workflows e padrões de desenho a usar;

- T2. Análise de requisitos - Levantamento de requisitos funcionais e não funcionais aos quais a solução deve corresponder.

Plano de Trabalhos - Semestre 2

- T3. Desenho da arquitetura - Desenho da arquitetura, respetivos componentes, tecnologias e ferramentas a usar e a forma como estes se interligam;

- T4. Implementação - Implementação da solução encontrada;

- T5. Validação - Validação, testes e recolha de métricas em função dos requisitos identificados;

- T6. Documentação - Escrita da documentação de todo o trabalho realizado.

Condições

- Ao Estágio está associado um Subsídio de Alimentação, correspondente a 6.83€/dia efetivamente trabalhado.

- Horário: 9h00 - 18h00, flexível.

- Estágio com possibilidade de ser realizado em regime full remote

Observações

Tecnologias utilizadas:

- .NET Core 3.0
- Python 3.7
- C#
- Pytest
- Docker
- Kubernetes
- Jenkins
- DVC

Orientador

Tiago Brito
tiagobrito@stratioautomotive.com 📩