2022년 XNUMX월, 우리는 발표 AWS 고객이 텍스트에서 이미지를 생성할 수 있는 안정적인 확산 ~에있는 모델들 Amazon SageMaker 점프스타트. 오늘 우리는 JumpStart의 Stable Diffusion 모델을 사용하여 이미지를 확대(품질 손실 없이 이미지 크기 조정)할 수 있는 새로운 기능을 발표합니다. 해상도가 낮고 흐릿하며 픽셀화된 이미지를 더 매끄럽고 선명하며 더 자세하게 보이는 고해상도 이미지로 변환할 수 있습니다. 라고 불리는 이 과정은 업 스케일링, 실제 이미지와 생성된 이미지 모두에 적용 가능 텍스트 대 이미지 안정적인 확산 모델. 이것은 전자 상거래 및 부동산과 같은 다양한 산업뿐만 아니라 예술가 및 사진 작가를 위해 이미지 품질을 향상시키는 데 사용할 수 있습니다. 또한 업스케일링은 고해상도 화면에 표시될 때 저해상도 이미지의 시각적 품질을 향상시킬 수 있습니다.
Stable Diffusion은 AI 알고리즘을 사용하여 이미지를 업스케일링하므로 이미지의 간격을 수동으로 채워야 할 수 있는 수동 작업이 필요하지 않습니다. 수백만 개의 이미지에 대해 훈련되었으며 고해상도 이미지를 정확하게 예측할 수 있으므로 기존 이미지 업스케일러에 비해 세부 사항이 크게 증가합니다. 또한 최근접 이웃과 같은 딥 러닝이 아닌 기술과 달리 Stable Diffusion은 텍스트 프롬프트를 사용하여 이미지의 컨텍스트를 고려하여 업스케일링 프로세스를 안내합니다.
이 게시물에서는 두 가지 방법으로 Stable Diffusion upscaler 모델을 사용하여 추론을 배포하고 실행하는 방법에 대한 개요를 제공합니다. 아마존 세이지 메이커 스튜디오, 그리고 프로그래밍 방식으로 점프스타트 API 사용할 수있는 SageMaker Python SDK.
솔루션 개요
다음 이미지는 모델에서 수행한 업스케일링의 예를 보여줍니다. 왼쪽은 모델에서 생성한 이미지 크기에 맞게 확대한 원본 저해상도 이미지입니다. 오른쪽은 모델이 생성한 이미지입니다.
처음 생성된 이미지는 저해상도 고양이 이미지와 프롬프트 "a white cat"의 결과입니다.
두 번째로 생성된 이미지는 저해상도 나비 이미지와 프롬프트 "a butterfly on a green leaf"의 결과입니다.
Stable Diffusion과 같은 대형 모델을 실행하려면 사용자 지정 추론 스크립트가 필요합니다. 스크립트, 모델 및 원하는 인스턴스가 효율적으로 함께 작동하는지 확인하려면 엔드 투 엔드 테스트를 실행해야 합니다. JumpStart는 견고하게 테스트된 즉시 사용 가능한 스크립트를 제공하여 이 프로세스를 단순화합니다. Studio UI를 통해 클릭 한 번으로 스크립트에 액세스하거나 점프스타트 API.
다음 섹션에서는 Studio UI 또는 JumpStart API를 사용하여 모델을 배포하고 추론을 실행하는 방법에 대한 개요를 제공합니다.
이 모델을 사용하면 다음에 동의하는 것입니다. CreativeML Open RAIL++-M 라이선스.
Studio UI를 통해 JumpStart에 액세스
이 섹션에서는 Studio UI를 통해 JumpStart 모델을 교육하고 배포하는 방법을 보여줍니다. 다음 비디오는 사전 학습된 Stable Diffusion 업스케일러 모델을 JumpStart에서 찾아 배포하는 방법을 보여줍니다. 모델 페이지에는 모델 및 사용 방법에 대한 중요한 정보가 포함되어 있습니다. 추론을 위해 우리는 ml.p3.2xlarge 인스턴스 유형을 사용합니다. 이는 저렴한 가격으로 낮은 추론 지연 시간에 필요한 GPU 가속을 제공하기 때문입니다. SageMaker 호스팅 인스턴스를 구성한 후 다음을 선택합니다. 배포. 엔드포인트가 실행되어 추론 요청에 응답할 준비가 될 때까지 5~10분이 소요됩니다.
추론 시간을 단축하기 위해 JumpStart는 새로 생성된 엔드포인트에서 추론을 실행하는 방법을 보여주는 샘플 노트북을 제공합니다. Studio에서 노트북에 액세스하려면 노트북 열기 FBI 증오 범죄 보고서 Studio에서 Endpoint 사용 모델 끝점 페이지의 섹션.
SageMaker SDK와 함께 프로그래밍 방식으로 JumpStart 사용
JumpStart UI를 사용하여 단 몇 번의 클릭만으로 사전 훈련된 모델을 대화식으로 배포할 수 있습니다. 그러나 SageMaker Python SDK에 통합된 API를 사용하여 프로그래밍 방식으로 JumpStart 모델을 사용할 수도 있습니다.
이 섹션에서는 SageMaker Python SDK를 사용하여 JumpStart에서 적절한 사전 훈련된 모델을 선택하고 이 모델을 SageMaker 엔드포인트에 배포하고 배포된 엔드포인트에서 추론을 실행합니다. 다음 예제에는 코드 스니펫이 포함되어 있습니다. 이 데모의 모든 단계가 포함된 전체 코드는 다음을 참조하세요. JumpStart 소개 – 프롬프트에 따라 이미지 품질 향상 예시 노트북.
선행 학습된 모델 배포
SageMaker는 다양한 빌드 및 런타임 작업에 Docker 컨테이너를 활용합니다. JumpStart는 SageMaker 딥 러닝 컨테이너 (DLC)는 프레임워크에 따라 다릅니다. 먼저 추가 패키지와 선택한 작업에 대한 학습 및 추론을 처리하는 스크립트를 가져옵니다. 그런 다음 사전 훈련된 모델 아티팩트를 별도로 가져옵니다. model_uris
, 플랫폼에 유연성을 제공합니다. 이를 통해 여러 사전 훈련된 모델을 단일 추론 스크립트와 함께 사용할 수 있습니다. 다음 코드는 이 프로세스를 보여줍니다.
다음으로 이러한 리소스를 세이지메이커 모델 인스턴스를 만들고 엔드포인트를 배포합니다.
모델이 배포된 후 실시간으로 예측을 얻을 수 있습니다!
입력 형식
엔드포인트는 저해상도 이미지를 원시 RGB 값 또는 base64 인코딩 이미지로 허용합니다. 추론 처리기는 다음을 기반으로 이미지를 디코딩합니다. content_type
:
- 럭셔리
content_type = “application/json”
, 입력 페이로드는 원시 RGB 값, 텍스트 프롬프트 및 기타 선택적 매개변수가 있는 JSON 사전이어야 합니다. - 럭셔리
content_type = “application/json;jpeg”
, 입력 페이로드는 base64로 인코딩된 이미지, 텍스트 프롬프트 및 기타 선택적 매개변수가 있는 JSON 사전이어야 합니다.
출력 형식
다음 코드 예제는 출력이 어떻게 보이는지 보여줍니다. 입력 형식과 유사하게 엔드포인트는 이미지의 원시 RGB 값 또는 base64 인코딩 이미지로 응답할 수 있습니다. 이것은 설정으로 지정할 수 있습니다. accept
다음 두 값 중 하나로:
- 럭셔리
accept = “application/json”
, 끝점은 이미지에 대한 RGB 값이 있는 JSON 사전을 반환합니다. - 럭셔리
accept = “application/json;jpeg”
, 엔드포인트는 JPEG 이미지가 있는 JSON 사전을 base64.b64 인코딩으로 인코딩된 바이트로 반환합니다.
원시 RGB 값으로 페이로드를 보내거나 받으면 입력 페이로드 및 응답 크기에 대한 기본 제한에 도달할 수 있습니다. 따라서 base64로 인코딩된 이미지를 설정하여 사용하는 것을 권장합니다. content_type = “application/json;jpeg”
및 accept = “application/json;jpeg”
.
다음 코드는 추론 요청의 예입니다.
엔드포인트 응답은 생성된 이미지와 프롬프트를 포함하는 JSON 개체입니다.
지원되는 매개변수
안정적인 확산 업스케일링 모델은 이미지 생성을 위한 많은 매개변수를 지원합니다.
- 영상 – 저해상도 이미지.
- 신속한 – 이미지 생성을 안내하는 프롬프트. 문자열 또는 문자열 목록일 수 있습니다.
- num_inference_steps(선택 사항) – 이미지 생성 중 노이즈 제거 단계의 수. 더 많은 단계가 더 높은 품질의 이미지로 이어집니다. 지정된 경우 양의 정수여야 합니다. 추론 단계가 많을수록 응답 시간이 길어집니다.
- guidance_scale(선택사항) – 안내 척도가 높을수록 이미지 품질이 저하되는 대신 프롬프트와 더 밀접하게 관련된 이미지가 생성됩니다. 지정된 경우 부동 소수점이어야 합니다.
guidance_scale<=1
무시됩니다. - negative_prompt(선택 사항) – 이것은 이 프롬프트에 대한 이미지 생성을 안내합니다. 지정된 경우 문자열 또는 문자열 목록이어야 하며 다음과 함께 사용됩니다.
guidance_scale
. 면guidance_scale
비활성화되면 이것도 비활성화됩니다. 또한 프롬프트가 문자열 목록이면 negative_prompt도 문자열 목록이어야 합니다. - 시드(선택사항) – 이것은 재현성을 위해 무작위 상태를 수정합니다. 지정된 경우 정수여야 합니다. 동일한 시드로 동일한 프롬프트를 사용할 때마다 결과 이미지는 항상 동일합니다.
- noise_level(선택 사항) – 업스케일링 전에 잠재 벡터에 노이즈를 추가합니다. 지정된 경우 정수여야 합니다.
더 높은 품질의 이미지를 얻기 위해 끝점을 반복적으로 호출하여 이미지를 재귀적으로 확대할 수 있습니다.
이미지 크기 및 인스턴스 유형
모델에서 생성된 이미지는 원본 저해상도 이미지 크기의 최대 5.2배까지 가능합니다. 또한 모델의 메모리 요구 사항(GPU 메모리)은 생성된 이미지의 크기와 함께 증가합니다. 따라서 이미 고해상도 이미지를 업스케일링하거나 재귀적으로 이미지를 업스케일링하는 경우 GPU 메모리가 큰 인스턴스 유형을 선택하십시오. 예를 들어 ml.g3.2xlarge에는 이전에 사용한 ml.pXNUMXxlarge 인스턴스 유형보다 GPU 메모리가 더 많습니다. 다른 인스턴스 유형에 대한 자세한 내용은 다음을 참조하십시오. Amazon EC2 인스턴스 유형.
이미지를 하나씩 업스케일링
큰 이미지를 업스케일링할 때 메모리 요구 사항을 줄이려면 이미지를 더 작은 섹션으로 나눌 수 있습니다. 타일, 각 타일을 개별적으로 업스케일링합니다. 타일을 확대한 후 함께 혼합하여 최종 이미지를 만들 수 있습니다. 이 방법에서는 모델이 타일의 내용을 이해하고 이상한 이미지가 생성되지 않도록 각 타일에 대한 프롬프트를 조정해야 합니다. 프롬프트의 스타일 부분은 더 쉽게 혼합할 수 있도록 모든 타일에 대해 일관성을 유지해야 합니다. 더 높은 노이즈 제거 설정을 사용하는 경우 모델이 이미지를 더 자유롭게 조정할 수 있으므로 프롬프트에서 더 구체적으로 지정하는 것이 중요합니다. 타일에 배경만 포함되어 있거나 그림의 주요 내용과 직접 관련이 없는 경우 어려울 수 있습니다.
한계와 편향
Stable Diffusion은 업스케일링에서 인상적인 성능을 보여주지만 몇 가지 한계와 편향이 있습니다. 여기에는 다음이 포함되지만 이에 국한되지는 않습니다.
- 교육 데이터에 이러한 기능이 있는 충분한 이미지가 포함되어 있지 않기 때문에 모델이 정확한 얼굴이나 팔다리를 생성하지 못할 수 있습니다.
- 모델은 LAION-5B 데이터 세트, 성인용 콘텐츠가 포함되어 있으며 추가 고려 없이는 제품 사용에 적합하지 않을 수 있습니다.
- 모델이 영어 텍스트에 대해 학습되었기 때문에 모델이 영어가 아닌 언어에서 제대로 작동하지 않을 수 있습니다.
- 모델은 이미지 내에서 좋은 텍스트를 생성할 수 없습니다.
제한 및 편향에 대한 자세한 내용은 다음을 참조하십시오. 안정적인 확산 업스케일러 모델 카드.
정리
노트북 실행을 마친 후에는 청구가 중지되도록 프로세스에서 생성된 모든 리소스를 삭제해야 합니다. 끝점을 정리하는 코드는 연결된 수첩.
결론
이 게시물에서는 JumpStart를 사용하여 사전 훈련된 Stable Diffusion 업스케일러 모델을 배포하는 방법을 보여주었습니다. 이 게시물에서 코드 스니펫을 보여 드렸습니다. 이 데모의 모든 단계가 포함된 전체 코드는 다음에서 사용할 수 있습니다. JumpStart 소개 – 프롬프트에 따라 이미지 품질 향상 예시 노트북. 직접 솔루션을 시도하고 의견을 보내주십시오.
모델 및 작동 방식에 대해 자세히 알아보려면 다음 리소스를 참조하세요.
JumpStart에 대해 자세히 알아보려면 다음 블로그 게시물을 확인하십시오.
저자에 관하여
비벡 마단 박사 Amazon SageMaker JumpStart 팀의 응용 과학자입니다. 그는 일리노이 대학교 어바나 샴페인에서 박사 학위를 받았고 조지아 공대에서 박사후 연구원이었습니다. 그는 기계 학습 및 알고리즘 설계 분야에서 활발한 연구원이며 EMNLP, ICLR, COLT, FOCS 및 SODA 컨퍼런스에 논문을 발표했습니다.
하이코 핫츠 자연어 처리(NLP), 대규모 언어 모델(LLM) 및 생성 AI에 특히 중점을 둔 AI 및 기계 학습을 위한 선임 솔루션 설계자입니다. 이 직책을 맡기 전에는 Amazon EU 고객 서비스의 데이터 과학 책임자였습니다. Heiko는 고객이 AWS에서 AI/ML 여정을 성공적으로 수행할 수 있도록 돕고 보험, 금융 서비스, 미디어 및 엔터테인먼트, 의료, 유틸리티 및 제조를 비롯한 많은 산업 분야의 조직과 협력했습니다. 여가 시간에 Heiko는 가능한 한 많이 여행합니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- 플라토 블록체인. Web3 메타버스 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/upscale-images-with-stable-diffusion-in-amazon-sagemaker-jumpstart/
- 100
- 2022
- 7
- a
- 소개
- 가속
- 수락
- 수락
- ACCESS
- 계정
- 정확한
- 정확히
- 달성
- 활동적인
- 각색하다
- 추가
- 또한
- 추가
- 성인
- 후
- 반대
- AI
- AI 및 머신 러닝
- AI / ML
- 연산
- All
- 수
- 이미
- 항상
- 아마존
- 아마존 세이지 메이커
- Amazon SageMaker 점프스타트
- 및
- 알리다
- API를
- API
- 적용된
- 적당한
- 연예인
- 관련
- 자동적으로
- 가능
- AWS
- 배경
- 기반으로
- 때문에
- 전에
- 존재
- 바이어스
- 청구
- 혼합
- 블로그
- 블로그 게시물
- 흩어져
- 빌드
- 라는
- 얻을 수 있습니다
- CAT
- 도전
- 검사
- 왼쪽 메뉴에서
- 수업
- 더 명확한
- 면밀히
- 암호
- 댓글
- 비교
- 회의
- 일관된
- 컨테이너
- 용기
- 이 포함되어 있습니다
- 함유량
- 문맥
- 변환
- 만들
- 만든
- 만들기
- 관습
- 고객
- 고객 센터
- 고객
- 데이터
- 데이터 과학
- 감소
- 깊은
- 깊은 학습
- 태만
- 보여
- 배포
- 배포
- 디자인
- 세부 묘사
- 상세한
- 다른
- 방송
- 직접
- 사용
- 도커
- 하지 않습니다
- ...동안
- 마다
- 이전
- 쉽게
- 전자 상거래
- 효율적으로
- 중
- 제거
- 끝으로 종료
- 종점
- 영어
- 확인
- 엔터테인먼트
- 항목
- 재산
- EU
- 예
- 예
- 얼굴
- 특색
- 가져옴
- 를
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 최후의
- 금융
- 금융 서비스
- Find
- 먼저,
- 맞게
- 유연성
- 흙손
- 초점
- 수행원
- 체재
- 자유
- 에
- 가득 찬
- 추가
- 게다가
- 생성
- 생성
- 세대
- 생성적인
- 제너레이티브 AI
- 조지아
- 얻을
- 주기
- 일견
- 좋은
- GPU
- 초록색
- 성장
- 안내
- 안내서
- 핸들
- 머리
- 건강 관리
- 신장
- 도움이
- 높은 해상도
- 더 높은
- 히트
- 호스팅
- 방법
- How To
- 그러나
- HTML
- HTTPS
- 일리노이
- 영상
- 형상
- 중대한
- 인상
- 개선
- in
- 포함
- 포함
- 증가
- 개별적으로
- 산업
- 정보
- 입력
- 예
- 보험
- 통합 된
- 인터페이스
- IT
- 여행
- JSON
- 알려진
- 언어
- 언어
- 넓은
- 숨어 있음
- 리드
- 배우다
- 배우기
- 수
- 한계
- 제한된
- 제한
- 라인
- 명부
- 이상
- 보기
- 같이
- 지는
- 낮은
- 기계
- 기계 학습
- 본관
- 확인
- 조작
- 수작업
- 수동으로
- 제조
- .
- 경기
- 미디어
- 메모리
- 방법
- 수백만
- 회의록
- ML
- 모델
- 모델
- 배우기
- 여러
- 자연의
- 자연 언어 처리
- 필요
- 신제품
- nlp
- 노이즈
- 수첩
- 십일월
- 번호
- 대상
- ONE
- 열 수
- 주문
- 조직
- 실물
- 기타
- 개요
- 자신의
- 패키지
- 서류
- 매개 변수
- 부품
- 성능
- .
- 조각
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 포인트 적립
- 긍정적인
- 가능한
- 게시하다
- 게시물
- 권력
- 예측
- 예측
- Predictor
- 제시
- 가격
- 이전에
- 방법
- 처리
- 프로덕트
- 제공
- 제공
- 제공
- 출판
- Python
- 품질
- 무작위
- 살갗이 벗어 진
- 준비
- 현실
- 부동산
- 전수
- 권하다
- 관련
- 남아
- 자꾸
- 의뢰
- 요청
- 필요
- 요구 사항
- 요구조건 니즈
- 필요
- 연구원
- 분해능
- 제품 자료
- 응답
- 응답
- 결과
- 결과
- 결과
- return
- 반품
- RGB
- 직위별
- 달리기
- 달리는
- 현자
- 같은
- 규모
- 과학
- 과학자
- 화면
- 스크립트
- SDK
- 둘째
- 섹션
- 섹션
- 씨
- 선택된
- 전송
- 연장자
- 서비스
- 서비스
- 설정
- 설정
- 몇몇의
- 영상을
- 표시
- 쇼
- 상당한
- 비슷하게
- 단일
- 크기
- 작은
- 더 매끄럽다
- So
- 해결책
- 솔루션
- 특별한
- 구체적인
- 지정
- 안정된
- 주 정부
- 단계
- 정지
- 스튜디오
- 스타일
- 성공한
- 이러한
- 고통
- 충분한
- SUPPORT
- 받아
- 소요
- 태스크
- 작업
- 팀
- 기술
- 기법
- 테스트
- XNUMXD덴탈의
- 그들의
- 따라서
- 을 통하여
- 시간
- 시대
- 에
- 오늘
- 함께
- 전통적인
- Train
- 훈련 된
- 트레이닝
- 여행기
- 유형
- ui
- 이해
- 대학
- us
- 사용
- 사용자
- 시간을 아껴주는 인터페이스
- 유용
- 이용하다
- 가치 있는
- 마케팅은:
- 여러
- 를 통해
- Video
- 방법
- 뭐
- 어느
- 화이트
- 의지
- 이내
- 없이
- 작업
- 협력
- 일
- 일
- 자신의
- 너의
- 제퍼 넷