Rumah >pembangunan bahagian belakang >Tutorial Python >Sebarkan Model Wajah Memeluk ke AWS Lambda dalam teps
Pernah mahu menggunakan model Hugging Face ke AWS Lambda tetapi terperangkap dengan binaan bekas, permulaan sejuk dan cache model? Begini cara melakukannya dalam masa kurang daripada 5 minit menggunakan Scaffoldly.
Buat sistem fail EFS bernama .cache dalam AWS:
Buat apl anda daripada cawangan muka peluk python:
npx scaffoldly create app --template python-huggingface
Sebarkannya:
cd my-app && npx scaffoldly deploy
Itu sahaja! Anda akan mendapat model Hugging Face yang dijalankan pada Lambda (menggunakan openai-community/gpt2 sebagai contoh), lengkap dengan caching dan penempatan kontena yang betul.
Petua Pro: Untuk persediaan EFS, anda boleh menyesuaikannya kepada AZ Tunggal dalam mod Burstable untuk lebih penjimatan kos. Scaffoldly akan memadankan Fungsi Lambda dengan VPC, Subnet dan Kumpulan Keselamatan EFS.
✨ Lihat Demo Langsung dan kod contoh!
Menggunakan model ML ke AWS Lambda secara tradisinya melibatkan:
Memang banyak kerja infrastruktur apabila anda hanya mahu melayan model!
Scaffoldly mengendalikan semua kerumitan ini dengan fail konfigurasi yang mudah. Berikut ialah aplikasi lengkap yang menyajikan model Wajah Memeluk (menggunakan openai-community/gpt2 sebagai contoh):
# app.py from flask import Flask from transformers import pipeline app = Flask(__name__) generator = pipeline('text-generation', model='openai-community/gpt2') @app.route("/") def hello_world(): output = generator("Hello, world,") return output[0]['generated_text']
// requirements.txt Flask ~= 3.0 gunicorn ~= 23.0 torch ~= 2.5 numpy ~= 2.1 transformers ~= 4.46 huggingface_hub[cli] ~= 0.26
// scaffoldly.json { "name": "python-huggingface", "runtime": "python:3.12", "handler": "localhost:8000", "files": ["app.py"], "packages": ["pip:requirements.txt"], "resources": ["arn::elasticfilesystem:::file-system/.cache"], "schedules": { "@immediately": "huggingface-cli download openai-community/gpt2" }, "scripts": { "start": "gunicorn app:app" }, "memorySize": 1024 }
Scaffoldly melakukan beberapa perkara bijak di sebalik tabir:
Bangunan Kontena Pintar:
Pengendalian Model yang Cekap:
Persediaan Sedia Lambda:
Berikut ialah output daripada arahan penggunaan perancah npx yang saya jalankan pada contoh ini:
✅ Kos: ~$0.20/hari untuk AWS Lambda, ECR dan EFS
✅ Permulaan Dingin: ~20s untuk permintaan pertama (pemuatan model)
✅ Permintaan Hangat: 5-20s (inferens berasaskan CPU)
Walaupun persediaan ini menggunakan inferens CPU (yang lebih perlahan daripada GPU), ia merupakan cara yang sangat menjimatkan kos untuk bereksperimen dengan model ML atau menyediakan titik akhir trafik rendah.
Ingin menggunakan model yang berbeza? Hanya kemas kini dua fail:
npx scaffoldly create app --template python-huggingface
cd my-app && npx scaffoldly deploy
Scaffoldly menyokong model peribadi dan berpagar melalui pembolehubah persekitaran HF_TOKEN. Anda boleh menambah token Memeluk Wajah anda dalam beberapa cara:
# app.py from flask import Flask from transformers import pipeline app = Flask(__name__) generator = pipeline('text-generation', model='openai-community/gpt2') @app.route("/") def hello_world(): output = generator("Hello, world,") return output[0]['generated_text']
// requirements.txt Flask ~= 3.0 gunicorn ~= 23.0 torch ~= 2.5 numpy ~= 2.1 transformers ~= 4.46 huggingface_hub[cli] ~= 0.26
Token akan digunakan secara automatik untuk memuat turun dan mengakses model peribadi atau berpagar anda.
Scaffoldly malah menjana Tindakan GitHub untuk penggunaan automatik:
// scaffoldly.json { "name": "python-huggingface", "runtime": "python:3.12", "handler": "localhost:8000", "files": ["app.py"], "packages": ["pip:requirements.txt"], "resources": ["arn::elasticfilesystem:::file-system/.cache"], "schedules": { "@immediately": "huggingface-cli download openai-community/gpt2" }, "scripts": { "start": "gunicorn app:app" }, "memorySize": 1024 }
Contoh lengkap tersedia di GitHub:
scaffoldly/scaffoldly-contoh#python-peluk muka
Dan anda boleh membuat salinan anda sendiri bagi contoh ini dengan menjalankan:
generator = pipeline('text-generation', model='your-model-here')
Anda boleh melihatnya berjalan secara langsung (walaupun respons mungkin lambat disebabkan inferens CPU):
Demo Langsung
Scaffoldly ialah Sumber Terbuka dan mengalu-alukan sumbangan daripada komuniti.
Apakah model lain yang anda mahu jalankan dalam AWS Lambda? Beritahu saya dalam ulasan!
Atas ialah kandungan terperinci Sebarkan Model Wajah Memeluk ke AWS Lambda dalam teps. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!