Large Language Models (LLMs) são tecnologias de ponta que estou experimentando. Embora serviços gerenciados como OpenAI ofereçam uso econômico de LLM, há cenários em que a execução de um LLM localmente se torna necessária. Isso pode ser devido ao manuseio de dados confidenciais ou à necessidade de resultados de alta qualidade em outros idiomas além do inglês. Os LLMs de código aberto correspondem à qualidade de grandes players como OpenAI, mas geralmente exigem recursos computacionais significativos. A implantação de modelos menores em plataformas como AWS Lambda pode oferecer alternativas econômicas.
Meu objetivo com este projeto é implantar um LLM de código aberto menor, especificamente o Microsoft Phi-2, um modelo de 2,7 bilhões de parâmetros que rivaliza com os resultados de modelos maiores de código aberto. Explorarei LLMs e lambdas baseados em docker, avaliarei o desempenho e avaliarei os custos para aplicativos do mundo real.
Certifique-se de que as ferramentas necessárias estejam instaladas, incluindo uma conta AWS, AWS CLI, Docker e Python.
lambda_function.py
.requirements.txt
, começando com a biblioteca AWS ( boto3
).Dockerfile
especificando a composição da imagem Docker.docker-compose.yml
para executar e construir o contêiner.docker-compose up
.llama-cpp-python
a requirements.txt
. Recrie o contêiner e teste com um prompt real usando curl
.
Execute a implantação usando o script fornecido ( deploy.sh
). Isso envolve a criação ou verificação do repositório ECR, função IAM, autenticação Docker-ECR, construção de imagem Docker, upload de imagem ECR, aquisição de ARN de função IAM, verificação, configuração e implantação de função Lambda.
Use o URL da função Lambda obtido durante a implantação para testar com um prompt.
Conhecimento prático de programação, Docker, AWS e Python.
Sinta-se à vontade para explorar, modificar e executar os scripts fornecidos para implantar e testar o LLM de código aberto no AWS Lambda.