mmota287 / beer_mlops

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


MLOps Beer

Sumário
  1. Sobre o projeto
  2. Pré Requisítos
  3. Estrutura do Prejeto
  4. Gerenciamento dos recursos com Terraform
  5. Referências

Sobre o projeto

O propósito desse projeto é criar uma arquitetura utilizando os recursos da AWS que possibilite realizar a ingestão dos dados oferecidos pela Punk API e posteriormente com os dados coletados treine um modelo para prevê o IBU (International Bitter Unit), que representa uma escala, de 0 a 100, que mede o potencial de amargor conferido pelos lúpulos à cerveja.

Dataset

Os dados estão disponível na API https://api.punkapi.com/v2/beers/random e será consolidado no S3, para que posteriormente seja possível treinar o modelo.

Arquitetura



A cada 5 minutos o CloudWatch irá acionar uma função Lambda `fn_extraction`, que alimentará o Kinesis Stream.

Existirá dois Kinesis Firehose, um será responsável por salvar os dados brutos em um bucket no S3 com nome raw. O outro firehouse irá aplicar uma transformação que selecionar as features que serão utilizadas e salvar no bucket no S3 com nome de cleaned.

Depois iremos organizar os dados no bucket cleaned com o Glue Data Catalog e posteriormente realizar consultas utilizando o serviço Athena.

Para crição do modelo é utilizado o SageMaker para gerenciar todo o processo da contrução do modelo, desde a etapa do preprocessamento até o registro do modelo.

Pré Requisítos

Para rodar este projeto é necessário que tenha as seguintes requisítos:

  • Terraform CLI
  • AWS CLI configurado com a conta AWS

Estrutura do Projeto

  1. architecture: Arquitetura do projeto utilizando terraform
  2. notebooks: Notebooks utilizados no Notebook Instance AWS
  3. src: Código fonte do projeto
    • lambda Funções lambdas utilizadas na ingestão de dados
    • pipelines Códigos utilizados nos pipelines de Machine Learning

Gerenciamento dos recursos com Terraform

make project-install

Instala todas as dependências do projeto

make project-test

Executa todos os testes no projeto

make arch-init

Este comando deve ser executado no inicio do projeto, para que faça o download de todas as depêndencias do terraform

make arch-plan

Mostrará as atualizações que serão realizadas pelo Terraform

make arch-apply

Aplicará as atualizações mostradas no comando make terraform-plan que serão realizadas pelo Terraform.

Obs: Este comando utliza a opção -auto-approve, por isso tome cuidado ao executar este comando.

make arch-destroy

Excluirá todos recursos gerenciados pelo Terraform.


Referências

About


Languages

Language:Jupyter Notebook 75.8%Language:Python 12.6%Language:HCL 11.5%Language:Makefile 0.2%