Abordagem #1: implantando um modelo armazenado na Amazon S3
A implantação de um modelo ML como um arquivo de picles em python em um balde do Amazon S3 e o uso através de uma API da Lambda torna a implantação do modelo simples, escalável e econômica. Configuramos a AWS Lambda para carregar este modelo de S3 quando necessário, permitindo previsões rápidas sem exigir um servidor dedicado. Quando alguém chama a API conectada à função Lambda, o modelo é buscado, executado e retorna previsões com base nos dados de entrada. Essa configuração sem servidor garante alta disponibilidade, escala automaticamente e economiza custos porque você paga apenas quando a API é usada.
Etapa 1. Crie um arquivo zip para a camada lambda
Uma camada Lambda é um arquivo zip que contém bibliotecas, um tempo de execução personalizado e outras dependências. Demonstrarei a criação de uma camada de lambda usando duas bibliotecas Python, Pandas e Scikit-Learn, que são frequentemente usadas nos modelos ML. Abaixo está o código para criar um arquivo zip da camada Lambda, contendo pandas e scikit-learn, usando o docker. Crie um arquivo, nomeie -o createlayer.she copie o código para ele.
if ( "$1" != "" ) || ($# -gt 1); then
echo "Creating layer compatible with python version $1"
docker run -v "$PWD":/var/task "lambci/lambda:build-python$1" /bin/sh -c "pip install -r requirements.txt -t python/lib/python$1/site-packages/; exit"
zip -r sklearn_pandas_layer.zip python > /dev/null
rm -r python
echo "Done creating layer!"
ls -lah sklearn_pandas_layer.zip
else
echo "Enter python version as argument - ./createlayer.sh 3.6"
Agora, no mesmo diretório, crie um arquivo chamado requirements.txt Para armazenar os nomes e versões das bibliotecas na camada. Nesse caso, nosso requirements.txt O arquivo listará os nomes e versões das bibliotecas Pandas e Scikit-Learn que estamos usando.
pandas==0.23.4
scikit-learn==0.20.3
Em seguida, no terminal, navegue até o diretório onde você colocou o createlayer.sh e requirements.txt arquivos e execute o comando abaixo para gerar o arquivo zip da camada Lambda.
