이 프로젝트는 Amazon SageMaker Inference에서 ComfyUI를 호스팅하여 Stable Diffusion을 사용하여 이미지를 생성하는 방법을 보여줍니다. GenAI 이미지 생성 기능을 애플리케이션에 추가할 수 있는 디자인 패턴입니다.
ComfyUI는 Stable Diffusion을 사용하여 이미지를 생성할 수 있는 가장 인기 있는 GUI 및 백엔드 중 하나입니다. 주요 기능 중 일부:
Amazon SageMaker Inference를 사용하여 ComfyUI를 호스팅하면 다음과 같은 경우에 특히 적합할 수 있습니다.
이미지 생성을 위해 SageMaker 추론 엔드포인트(ComfyUI를 실행 중)를 호출하는 Lambda 함수가 있습니다. 설명을 위해 Lambda 함수 URL은 이 전용 HTTPS 엔드포인트를 호출하여 이미지 생성을 테스트할 수 있도록 구성되어 있습니다.
가장 쉬운 방법은 AMI Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.3.0 (Amazon Linux 2)
실행하는 g5.xlarge
의 EC2 인스턴스를 시작하는 것입니다. Session Manager를 사용하여 인스턴스에 연결한 후 다음 명령을 실행하여 그룹 docker
에 사용자를 추가합니다.
sudo usermod -a -G docker $( whoami )
업데이트된 그룹 멤버십을 적용하려면 연결을 끊었다가 다시 연결하세요.
- ComfyUI를 로컬로 실행하지 않으면
t3.small
과 같은 GPU가 아닌 인스턴스도 작동합니다.- FLUX.1 모델을 실행하려면 fp8 버전의 경우 최소
g5.2xlarge
이상을 사용하십시오. fp16 버전의 경우 최소g5.4xlarge
사용하세요.
AWS Cloud9 또는 로컬 머신도 작동하지만 다음이 올바르게 설치되었는지 확인하십시오.
참고: Apple M1/M2/M3는 컨테이너의 아키텍처 간 빌드가 아직 지원되지 않으므로 작동하지 않습니다. SageMaker 엔드포인트와 일치하는 x86_64를 기반으로 구축해야 합니다.
1단계 - 프로젝트 복제:
git clone https://github.com/aws-samples/comfyui-on-amazon-sagemaker.git
2단계 - 다음 파일을 사용자 정의합니다(선택 사항).
FLUX.1 - FLUX.1 모델을 사용해 보려면:
- 모델을 다운로드하려면 여기 또는 여기에서 주석 처리를 해제하세요.
SAGEMAKER_INSTANCE_TYPE
ml.g5.2xlarge
이상으로 변경하려면 여기에서 업데이트하세요.- API 요청에서 해당 프롬프트 파일
flux1-dev-fp8-ckpt.json
또는flux1-schnell-fp8-ckpt.json
을 사용하십시오.
3단계 - 배포.sh를 실행합니다. 일반적으로 완료하는 데 1시간 미만이 소요됩니다.
./deploy.sh
설명을 위해 Lambda 함수 URL이 활성화되어 있으므로 이 전용 HTTPS 엔드포인트를 호출하여 이미지 생성을 테스트할 수 있습니다. 엔드포인트 URL은 스택 출력의 ComfyUIFunctionUrl
에서 찾을 수 있습니다.
AWS_IAM
인증은 기본적으로 람다 함수 URL을 호출하도록 구성되므로 AWS 서명 버전 4(SigV4)를 사용하여 각 HTTP 요청에 서명해야 합니다. awscurl, Postman 및 AWS SigV4 Proxy와 같은 도구는 SigV4로 요청에 서명하는 기본 제공 방법을 제공합니다. 배포.sh에서 LAMBDA_URL_AUTH_TYPE
NONE
으로 설정하여 인증을 비활성화할 수 있지만 함수 URL은 모든 사람에게 공개되므로 위험합니다.
Postman을 사용한 AWS 서명 인증의 예:
다음은 요청 본문의 예입니다.
{
"positive_prompt" : " hill happy dog " ,
"negative_prompt" : " hill " ,
"prompt_file" : " workflow_api.json " ,
"seed" : 11245
}
생성된 이미지를 확인하는 성공적인 호출:
배포.sh를 통해 배포된 다음 리소스를 삭제합니다.
comfyui
)comfyui-sagemaker-<AWS_ACCOUNT_ID>-<AWS_REGION>
)comfyui-sagemaker
) 개발 보기
자세한 내용은 기여를 참조하세요.
이 라이브러리는 MIT-0 라이선스에 따라 라이선스가 부여됩니다. 라이센스 파일을 참조하십시오.