Large Language Models (LLMs) sind Spitzentechnologien, mit denen ich experimentiere. Während verwaltete Dienste wie OpenAI eine kostengünstige LLM-Nutzung bieten, gibt es Szenarien, in denen die lokale Ausführung eines LLM erforderlich ist. Dies kann daran liegen, dass vertrauliche Daten verarbeitet werden oder qualitativ hochwertige Ausgaben in anderen Sprachen als Englisch erforderlich sind. Open-Source-LLMs erreichen die Qualität großer Anbieter wie OpenAI, erfordern jedoch oft erhebliche Rechenressourcen. Die Bereitstellung kleinerer Modelle auf Plattformen wie AWS Lambda kann kostengünstige Alternativen bieten.
Mein Ziel bei diesem Projekt ist es, ein kleineres Open-Source-LLM bereitzustellen, insbesondere Microsoft Phi-2, ein 2,7-Milliarden-Parameter-Modell, das mit den Ergebnissen größerer Open-Source-Modelle mithalten kann. Ich werde LLMs und Docker-basierte Lambdas untersuchen, die Leistung bewerten und die Kosten für reale Anwendungen abschätzen.
Stellen Sie sicher, dass die erforderlichen Tools installiert sind, einschließlich eines AWS-Kontos, AWS CLI, Docker und Python.
lambda_function.py
.requirements.txt
, beginnend mit der AWS-Bibliothek ( boto3
).Dockerfile
die die Zusammensetzung des Docker-Images angibt.docker-compose.yml
zum Ausführen und Erstellen des Containers ein.docker-compose up
.llama-cpp-python
zu requirements.txt
hinzu. Erstellen Sie den Container neu und testen Sie ihn mit einer echten Eingabeaufforderung mithilfe von curl
.
Führen Sie die Bereitstellung mit dem bereitgestellten Skript ( deploy.sh
) aus. Dies umfasst das Erstellen oder Überprüfen des ECR-Repositorys, der IAM-Rolle, der Docker-ECR-Authentifizierung, der Docker-Image-Erstellung, des ECR-Image-Uploads, der IAM-Rollen-ARN-Erfassung, der Lambda-Funktionsüberprüfung, der Konfiguration und der Bereitstellung.
Verwenden Sie die während der Bereitstellung erhaltene Lambda-Funktions-URL zum Testen mit einer Eingabeaufforderung.
Kenntnisse in Programmierung, Docker, AWS und Python.
Fühlen Sie sich frei, die bereitgestellten Skripte zu erkunden, zu ändern und auszuführen, um Open-Source-LLM auf AWS Lambda bereitzustellen und zu testen.