Les grands modèles linguistiques (LLM) sont une technologie de pointe que j'expérimente. Bien que les services gérés comme OpenAI offrent une utilisation rentable du LLM, il existe des scénarios dans lesquels l'exécution d'un LLM localement devient nécessaire. Cela peut être dû à la gestion de données sensibles ou à la nécessité de produire des résultats de haute qualité dans des langues autres que l'anglais. Les LLM open source correspondent à la qualité d'acteurs majeurs comme OpenAI mais nécessitent souvent des ressources de calcul importantes. Le déploiement de modèles plus petits sur des plateformes comme AWS Lambda peut offrir des alternatives rentables.
Mon objectif avec ce projet est de déployer un LLM open source plus petit, en particulier Microsoft Phi-2, un modèle de 2,7 milliards de paramètres qui rivalise avec les résultats de modèles open source plus grands. J'explorerai les LLM et les lambdas basés sur Docker, évaluerai les performances et les coûts des applications du monde réel.
Assurez-vous que les outils nécessaires sont installés, notamment un compte AWS, AWS CLI, Docker et Python.
lambda_function.py
.requirements.txt
, en commençant par la bibliothèque AWS ( boto3
).Dockerfile
spécifiant la composition de l'image Docker.docker-compose.yml
pour exécuter et créer le conteneur.docker-compose up
.llama-cpp-python
à requirements.txt
. Reconstruisez le conteneur et testez avec une véritable invite en utilisant curl
.
Exécutez le déploiement à l'aide du script fourni ( deploy.sh
). Cela implique la création ou la vérification du référentiel ECR, le rôle IAM, l'authentification Docker-ECR, la construction de l'image Docker, le téléchargement de l'image ECR, l'acquisition de l'ARN du rôle IAM, la vérification, la configuration et le déploiement de la fonction Lambda.
Utilisez l'URL de la fonction Lambda obtenue lors du déploiement pour tester avec une invite.
Connaissance pratique de la programmation, de Docker, d'AWS et de Python.
N'hésitez pas à explorer, modifier et exécuter les scripts fournis pour déployer et tester LLM open source sur AWS Lambda.