포옹하는 얼굴 모델을 AWS Lambda에 몇 단계로 배포
Hugging Face 모델을 AWS Lambda에 배포하고 싶었지만 컨테이너 빌드, 콜드 스타트 및 모델 캐싱으로 인해 막힌 적이 있으십니까? Scaffoldly를 사용하여 5분 안에 완료하는 방법은 다음과 같습니다.
TL;DR
-
AWS에서 .cache라는 EFS 파일 시스템을 생성합니다.
- AWS EFS 콘솔로 이동
- "파일 시스템 생성"을 클릭하세요
- 이름을 .cache로 지정하세요.
- VPC를 선택하세요(나머지는 스캐폴드에서 처리합니다!)
-
python-huggingface 분기에서 앱을 만듭니다.
npx scaffoldly create app --template python-huggingface
로그인 후 복사로그인 후 복사 -
배포:
cd my-app && npx scaffoldly deploy
로그인 후 복사로그인 후 복사
그렇습니다! 적절한 캐싱 및 컨테이너 배포가 완료되어 Lambda에서 실행되는 Hugging Face 모델(예: openai-community/gpt2 사용)을 얻게 됩니다.
전문가 팁: EFS 설정의 경우 버스트 가능 모드에서 단일 AZ로 맞춤 설정하여 더 많은 비용을 절감할 수 있습니다. Scaffoldly는 Lambda 함수를 EFS의 VPC, 서브넷 및 보안 그룹과 일치시킵니다.
✨ 라이브 데모와 예제 코드를 확인해보세요!
문제
ML 모델을 AWS Lambda에 배포하는 작업에는 일반적으로 다음이 포함됩니다.
- Docker 컨테이너 구축 및 관리
- 모델 캐싱 및 저장 방법
- Lambda의 크기 제한 처리
- 콜드 스타트 관리
- API 엔드포인트 설정
단순히 모델을 서빙하고 싶을 때 인프라 작업이 많이 필요합니다!
해결책
Scaffoldly는 간단한 구성 파일로 이러한 모든 복잡성을 처리합니다. 다음은 Hugging Face 모델을 제공하는 완전한 애플리케이션입니다(예: openai-community/gpt2 사용).
# 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는 뒤에서 몇 가지 영리한 작업을 수행합니다.
-
스마트 컨테이너 빌딩:
- Lambda에 최적화된 Docker 컨테이너 자동 생성
- PyTorch를 포함한 모든 Python 종속성을 처리합니다
- Docker 명령을 작성하지 않고도 ECR에 푸시
-
효율적인 모델 처리:
- Amazon EFS를 사용하여 모델 파일을 캐시합니다
- 더 빠른 콜드 스타트를 위해 배포 후 모델을 사전 다운로드합니다
- Lambda에 캐시를 자동으로 마운트합니다
-
Lambda 지원 설정:
- 적절한 WSGI 서버 구축(gunicorn)
- 공개 Lambda 함수 URL 생성
- gunicorn에 대한 프록시 함수 URL 요청
- IAM 역할 및 권한 관리
배포 모습
이 예에서 실행한 npx scaffoldly Deploy 명령의 출력은 다음과 같습니다.
실제 성능 및 비용
✅ 비용: AWS Lambda, ECR 및 EFS의 경우 ~$0.20/일
✅ 콜드 스타트: 첫 번째 요청에 최대 20초(모델 로딩)
✅ 따뜻한 요청: 5~20초(CPU 기반 추론)
이 설정은 CPU 추론(GPU보다 느림)을 사용하지만 ML 모델을 실험하거나 트래픽이 적은 엔드포인트를 제공하는 데 매우 비용 효율적인 방법입니다.
다른 모델에 대한 사용자 정의
다른 모델을 사용하고 싶으신가요? 두 개의 파일을 업데이트하세요:
- app.py에서 모델을 변경합니다.
npx scaffoldly create app --template python-huggingface
- scaffoldly.json에서 다운로드를 업데이트합니다.
cd my-app && npx scaffoldly deploy
비공개 또는 제한 모델 사용
Scaffoldly는 HF_TOKEN 환경 변수를 통해 비공개 및 게이트 모델을 지원합니다. 다양한 방법으로 Hugging Face 토큰을 추가할 수 있습니다:
- 로컬 개발: 셸 프로필(.bashrc, .zprofile 등)에 추가하세요.
# 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']
- CI/CD: GitHub Actions 비밀로 추가:
// requirements.txt Flask ~= 3.0 gunicorn ~= 23.0 torch ~= 2.5 numpy ~= 2.1 transformers ~= 4.46 huggingface_hub[cli] ~= 0.26
토큰은 비공개 또는 제한 모델을 다운로드하고 액세스하는 데 자동으로 사용됩니다.
CI/CD 보너스
Scaffoldly는 자동화된 배포를 위한 GitHub Action도 생성합니다.
// 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 }
직접 시도해 보세요
전체 예제는 GitHub에서 확인할 수 있습니다.
scaffoldly/scaffoldly-examples#python-huggingface
그리고 다음을 실행하여 이 예제의 복사본을 만들 수 있습니다.
generator = pipeline('text-generation', model='your-model-here')
실시간으로 실행되는 것을 볼 수 있습니다(CPU 추론으로 인해 응답이 느릴 수 있음).
라이브 데모
다음은 무엇입니까?
- 다양한 포옹 얼굴 모델을 배포해 보세요
- Discord에서 Scaffoldly 커뮤니티에 가입하세요
- 다른 사례를 확인해보세요
- 이 정보가 유용했다면 저장소에 별표를 표시해 주세요!
- 스캐폴드 툴체인
- Scaffoldly 예제 저장소
라이센스
Scaffoldly는 오픈 소스이며 커뮤니티의 기여를 환영합니다.
- 예제는 Apache-2.0 라이선스로 라이선스가 부여됩니다.
- Scaffoldly 툴체인은 FSL-1.1-Apache-2.0 라이선스로 라이선스가 부여됩니다.
AWS Lambda에서 실행하고 싶은 다른 모델은 무엇입니까? 댓글로 알려주세요!
위 내용은 포옹하는 얼굴 모델을 AWS Lambda에 몇 단계로 배포의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Linux 터미널에서 Python 사용 ...

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Pythonasyncio에 대해 ...

Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.

Python 3.6에 피클 파일 로딩 3.6 환경 오류 : ModulenotFounderRor : nomodulename ...

SCAPY 크롤러를 사용할 때 파이프 라인 파일을 작성할 수없는 이유에 대한 논의 지속적인 데이터 저장을 위해 SCAPY 크롤러를 사용할 때 파이프 라인 파일이 발생할 수 있습니다 ...
