[text]
이 지침에서는 Stable Diffusion 모델을 보정하고 배포하여 간단한 텍스트 프롬프트로 개인화된 아바타를 생성하는 방법을 보여줍니다. Stable Diffusion은 기계 학습의 최신 기술을 활용하는 일종의 인공 지능(AI)으로 생성된, 텍스트-이미지 변환 모델입니다. 여기서는 Amazon SageMaker로 모델을 빌드하고 DreamBooth 접근 방식으로 보정했습니다. DreamBooth 접근 방식은 사용자의 10~15개 이미지를 사용하여 피사체의 정확한 세부 정보를 캡처합니다. 이 모델은 소셜 미디어, 게임, 가상 이벤트를 비롯한 다양한 애플리케이션에서 사용할 수 있는 개인화된 아바타를 생성합니다. 이 지침에는 사용자가 특정 텍스트 입력을 기반으로 아바타를 생성할 수 있는 텍스트 프롬프트 기능도 포함되어 있습니다. 이 기능은 애플리케이션의 기능을 확장하고 미디어 및 엔터테인먼트 조직에 소비자 맞춤형 콘텐츠를 개발할 수 있는 더 많은 방법을 제공합니다.
이 지침은 미디어 및 엔터테인먼트 조직이 규모에 맞게 개인화된 맞춤형 콘텐츠를 개발하는 데 도움이 되는 AI 기반 접근 방식을 제공합니다. 그러나 이 지침의 사용자는 이러한 AI 기능이 남용되거나 조작되지 않도록 예방 조치를 취해야 합니다. 적절한 조정 메커니즘을 통한 콘텐츠 보호에 대한 자세한 내용은 Safe image generation and diffusion models with Amazon AI content moderation services를 참조하세요.
참고: [고지 사항]
아키텍처 다이어그램
[text]
1단계
AWS Identity and Access Management(IAM) 인증을 통해 Amazon API Gateway RESTful API 엔드포인트를 호출하여 훈련을 시작합니다.
2단계
AWS Lambda 함수가 사용자 이미지와 훈련 구성 파일을 패키징하여 Amazon Simple Storage Service(S3) 버킷에 업로드합니다. 그런 다음 훈련 작업을 호출합니다.
3단계
Amazon SageMaker 비동기 추론이 훈련 프로세스를 관리합니다. 훈련 작업이 자동으로 대기열에 추가된 후 이미지 준비, 보정 및 후처리 단계를 거칩니다.
4단계
SageMaker가 Amazon Simple Notification Service(SNS) 주제를 통해 작업 상태를 게시합니다.
5단계
훈련 작업이 완료되면 업데이트를 위해 사용자 애플리케이션이 Amazon Simple Queue Service(Amazon SQS)를 구독합니다.
6단계
모델 아티팩트가 Amazon S3 모델 호스팅 버킷에 업로드됩니다.
7단계
IAM 인증을 통해 API Gateway RESTful API 엔드포인트를 호출하여 추론을 시작합니다.
8단계
Lambda 함수가 모델 엔드포인트를 호출합니다.
9단계
SageMaker 다중 모델 엔드포인트(MME)가 각 모델에 대한 트래픽 패턴을 기반으로 Amazon S3 모델 호스팅 버킷에서 동적으로 로드되고 캐시된 개인화된 모델로부터 추론을 제공합니다.
Well-Architected 원칙
AWS Well-Architected Framework는 클라우드에서 시스템을 구축하는 동안 사용자가 내리는 의사 결정의 장단점을 이해하는 데 도움이 됩니다. 이 프레임워크의 6가지 원칙을 통해 안정적이고 안전하며 효과적이고 비용 효율적이며 지속 가능한 시스템을 설계 및 운영하기 위한 아키텍처 모범 사례를 배울 수 있습니다. AWS Management Console에서 추가 요금 없이 사용할 수 있는 AWS Well-Architected Tool을 사용하면 각 원칙에 대한 여러 질문에 답하여 이러한 모범 사례와 비교하며 워크로드를 검토할 수 있습니다.
위의 아키텍처 다이어그램은 Well-Architected 모범 사례를 고려하여 생성된 솔루션의 예시입니다. Well-Architected를 완전히 충족하려면 가능한 많은 Well-Architected 모범 사례를 따라야 합니다.
-
운영 우수성
SageMaker 다중 모델 엔드포인트와 Amazon CloudWatch는 운영 우수성을 향상시키도록 설계되었으며 이 지침 전반에 걸쳐 활용됩니다. 첫째, SageMaker 다중 모델 엔드포인트를 사용하면 단일 엔드포인트 뒤에 여러 모델을 배포하므로 관리가 필요한 엔드포인트의 수를 줄일 수 있습니다. SageMaker는 트래픽 패턴을 기반으로 로드 및 캐싱 모델을 관리합니다. 엔드포인트를 재배포하지 않고도 모델을 추가하거나 업데이트할 수 있습니다. SageMaker에서 관리하는 Amazon S3 위치에 모델을 업로드하기만 하면 됩니다. 또한 SageMaker는 CloudWatch와 자동으로 통합되므로 모델의 지표, 이벤트 및 로그 파일을 추적하고 모델의 성능에 대한 이해를 높일 수 있습니다. 또한 고객 경험에 영향을 미치기 전에 경보를 설정하고 문제를 사전에 모니터링할 수 있습니다.
-
보안
API Gateway는 API 요청을 인증 및 승인하는 내장 메커니즘을 제공하여 서비스 거부 공격이나 백엔드 리소스에 과부하를 줄 수 있는 기타 유형의 남용을 방지합니다. 또한 Amazon Cognito 사용자 풀, OAuth 2.0 또는 IAM 역할을 사용하여 API에 대한 액세스를 제어할 수 있습니다. 그리고 데이터를 보호하기 위해 API Gateway는 엔드포인트로 들어오는 데이터를 SSL/TLS로 암호화합니다. API 제한을 지원하여 과도한 트래픽이나 남용으로부터 API를 보호하기도 합니다. 또한 웹 기반 공격 및 익스플로잇으로부터 애플리케이션을 보호하기 위해 API Gateway 앞에 웹 애플리케이션 방화벽인 AWS WAF를 추가하는 것도 좋습니다. 마지막으로, DDoS(분산 서비스 거부) 공격으로부터 워크로드를 보호하기 위해 AWS Shield를 고려해 볼 수 있습니다.
-
신뢰성
워크로드의 신뢰성을 향상시키기 위해 이 지침 전반에 걸쳐 API Gateway, Lambda, SageMaker가 배포됩니다. 먼저, API Gateway는 내결함성과 자동 규모 조정 기능을 기본으로 제공하여 트래픽 급증을 처리합니다. 또한 Lambda 및 SageMaker와 통합되므로 확장 가능한 서버리스 API를 쉽게 구축할 수 있습니다. 게다가 SageMaker는 기계 학습 워크로드 실행 및 기계 학습 모델 제공에 높은 신뢰성과 가용성을 제공하도록 설계되었습니다. 관리형 자동 규모 조정, 내결함성, 상태 확인, 모니터링 및 진단을 제공합니다. 여러 가용 영역 전역에 퍼진 분산 인프라에서 실행되므로 고가용성이 보장됩니다. 이를 통해 모델 훈련과 추론의 신뢰성이 보장됩니다.
-
성능 효율성
여기서는 SageMaker를 사용하여 기계 학습 모델을 호스팅하는 데 사용할 수 있는 지연 시간이 짧은 고성능 추론 서비스를 제공하여 성능 효율성을 개선합니다. 인스턴스 유형, 개수 및 기타 배포 구성을 쉽게 구성하여 추론 워크로드의 크기를 적절하게 조정하고 지연 시간, 처리량, 비용을 최적화할 수 있습니다.
-
비용 최적화
SageMaker 다중 모델 엔드포인트에서는 많은 수의 모델을 배포하는 확장 가능하고 비용 효율적인 방법을 제공합니다. 이러한 엔드포인트는 동일한 컨테이너를 사용하여 모든 모델을 호스팅하므로 개별 엔드포인트를 관리하는 오버헤드를 줄일 수 있습니다. 일부 모델의 활용도가 낮은 상황에서는 별도의 엔드포인트 사용보다 리소스 공유로 인프라 활용도를 극대화하고 비용을 절감할 수 있습니다.
-
지속 가능성
SageMaker 비동기 추론은 수신 요청을 대기열에 넣고 비동기식으로 처리하는 기능입니다. 즉, SageMaker는 사용하지 않을 때 인스턴스를 0개로 자동 축소하여 유휴 상태일 때 컴퓨팅 리소스를 절약하고 클라우드 워크로드 실행으로 인한 환경적 영향을 최소화합니다.
구현 리소스
샘플 코드를 시작점으로 사용할 수 있습니다. 이 샘플 코드는 업계에서 검증되었고 권장되는 것이지만 최종적인 것은 아니며, 시작하는 데 도움을 줄 것입니다.
관련 콘텐츠
Safe image generation and diffusion models with Amazon AI content moderation services
고지 사항
샘플 코드, 소프트웨어 라이브러리, 명령줄 도구, 개념 증명, 템플릿 또는 기타 관련 기술(AWS 직원을 통해 제공되는 상기 항목 포함)은 AWS 이용계약 또는 귀하와 AWS 간의 서면 계약(적용되는 것)에 따라 AWS 콘텐츠로 제공됩니다. 이 AWS 콘텐츠를 프로덕션 계정, 프로덕션 또는 기타 중요한 데이터에 사용해서는 안 됩니다. 귀하는 특정 품질 제어 방식 및 표준에 따라 프로덕션급 사용에 적절하게 샘플 코드와 같은 AWS 콘텐츠를 테스트, 보호 및 최적화할 책임이 있습니다. AWS 콘텐츠를 배포하면 Amazon EC2 인스턴스를 실행하거나 Amazon S3 스토리지를 사용할 때와 같이 요금이 부과되는 AWS 리소스를 생성하거나 사용하는 것에 대한 AWS 요금이 발생할 수 있습니다.
본 지침에 서드 파티 서비스 또는 조직이 언급되어 있다고 해서 Amazon 또는 AWS와 서드 파티 간의 보증, 후원 또는 제휴를 의미하지는 않습니다. AWS의 지침을 기술적 시작점으로 사용할 수 있으며 아키텍처를 배포할 때 서드 파티 서비스와의 통합을 사용자 지정할 수 있습니다.