Stable Diffusion이란 무엇인가요?
Stable Diffusion은 텍스트 및 이미지 프롬프트에서 고유한 실사 이미지를 생성하는 생성형 인공 지능(생성형 AI) 모델입니다. 이는 2022년에 출시되었습니다. 이미지 외에도 모델을 사용하여 비디오 및 애니메이션을 만들 수 있습니다. 이 모델은 확산 기술을 기반으로 하며 잠재 공간을 사용합니다. 따라서 처리 요구 사항이 크게 줄어들며, GPU가 장착된 데스크톱 또는 노트북에서 모델을 실행할 수 있습니다. Stable Diffusion은 전이 학습을 통해 최소 5개의 이미지로 특정 요구 사항을 충족하도록 미세 조정할 수 있습니다.
Stable Diffusion은 허용적 라이선스에 따라 모든 사람이 사용할 수 있습니다. 이 점에서 Stable Diffusion은 이전 모델과 구별됩니다.
Stable Diffusion이 중요한 이유는 무엇인가요?
Stable Diffusion은 접근이 용이하고 사용하기 쉽기 때문에 중요합니다. 소비자 등급 그래픽 카드에서 실행할 수 있습니다. 비로소 누구나 모델을 다운로드하고 이미지를 생성할 수 있습니다. 또한 노이즈 제거 단계 수 및 적용된 노이즈 정도와 같은 주요 하이퍼파라미터를 제어할 수 있습니다.
Stable Diffusion은 사용자에게 친숙하며 이미지를 만드는 데 추가 정보가 필요하지 않습니다. 활발한 커뮤니티가 있으므로, Stable Diffusion에는 충분한 문서와 사용법 자습서가 있습니다. 소프트웨어 릴리스는 Creative ML OpenRAIL-M 라이선스에 따라 수정된 소프트웨어를 사용, 변경 및 재배포할 수 있습니다. 파생 소프트웨어를 릴리스할 경우 동일한 라이선스로 릴리스해야 하며 원본 Stable Diffusion 라이선스 사본을 포함해야 합니다.
Stable Diffusion은 어떻게 작동하나요?
디퓨전 모델인 Stable Diffusion은 다른 많은 이미지 생성 모델과 다릅니다. 원칙적으로 디퓨젼 모델은 가우스 노이즈를 사용하여 이미지를 인코딩합니다. 그런 다음 노이즈 예측기를 역방향 디퓨젼 프로세스와 함께 사용하여 이미지를 재현합니다.
Stable Diffusion은 디퓨젼 모델의 기술적 차이 외에도 이미지의 픽셀 공간을 사용하지 않는다는 점에서 고유합니다. 대신 해상도가 낮은 잠재 공간(latent space)을 사용합니다.
그 이유는 512x512 해상도의 컬러 이미지는 786,432개의 가능한 값을 가지고 있기 때문입니다. 이에 비해 Stable Diffusion은 16,384 값으로 48배 더 작은 압축 이미지를 사용합니다. 이를 통해 처리 요구 사항이 크게 줄어듭니다. 이것이 바로 8GB RAM의 NVIDIA GPU가 장착된 데스크탑에서 Stable Diffusion을 사용할 수 있는 이유입니다. 자연 이미지는 무작위가 아니기 때문에 잠재 공간(latent space)이 작을수록 효과가 있습니다. Stable Diffusion은 디코더의 변이형 오토인코더(VAE) 파일을 사용하여 눈과 같은 미세한 디테일을 그립니다.
Stable Diffusion V1은 LAION이 Common Crawl을 통해 수집한 세 개의 데이터 세트를 사용하여 훈련되었습니다. 여기에는 미적 등급이 6점 이상인 이미지의 LAION-Aesthetics v2.6 데이터 세트가 포함됩니다.
Stable Diffusion은 어떤 아키텍처를 사용하나요?
Stable Diffusion의 주요 아키텍처 구성 요소에는 변이형 오토인코더, 순방향 및 역방향 디퓨전, 노이즈 예측기, 텍스트 컨디셔닝이 포함됩니다.
변이형 오토인코더
변이형 오토인코더는 별도의 인코더와 디코더로 구성됩니다. 인코더는 512x512 픽셀 이미지를 조작하기 쉬운 잠재 공간(latent space)에서 더 작은 64x64 모델로 압축합니다. 디코더는 잠재 공간(latent space)에서 모델을 풀사이즈 512x512 픽셀 이미지로 복원합니다.
순방향 디퓨전
순방향 디퓨전은 이미지에 무작위 노이즈만 남을 때까지 가우스 노이즈를 점진적으로 추가합니다. 노이즈가 있는 최종 이미지에서는 이미지가 무엇인지 식별할 수 없습니다. 훈련 중 모든 이미지가 이 과정을 거칩니다. 순방향 디퓨전은 이미지-이미지 변환을 수행할 때를 제외하고는 더 이상 사용되지 않습니다.
역방향 디퓨전
이 프로세스는 기본적으로 순방향 디퓨전을 반복적으로 취소하는 매개변수화된 프로세스입니다. 예를 들어 고양이와 개와 같이 두 개의 이미지만 사용하여 모델을 훈련시킬 수 있습니다. 만약 그렇게 한다면, 그 반대의 과정은 고양이나 개 쪽으로 흘러갈 것이고 그 사이엔 아무것도 없을 것입니다. 실제로 모델 학습에는 수십억 개의 이미지가 포함되며 프롬프트를 사용하여 고유한 이미지를 생성합니다.
노이즈 예측기(U-Net)
노이즈 예측기는 이미지 노이즈 제거의 핵심입니다. Stable Diffusion은 U-Net 모델을 사용하여 이 작업을 수행합니다. U-Net 모델은 원래 생의학 분야의 이미지 분할을 위해 개발된 컨볼루션 신경망입니다. 특히 Stable Diffusion은 컴퓨터 비전을 위해 개발된 잔차 신경망(ResNet) 모델을 사용합니다.
노이즈 예측기는 잠재 공간의 노이즈 양을 추정하여 이미지에서 이를 뺍니다. 이 프로세스를 지정된 횟수만큼 반복하여 사용자 지정 단계에 따라 노이즈를 줄입니다. 노이즈 예측기는 최종 이미지를 결정하는 데 도움이 되는 컨디셔닝 프롬프트에 민감합니다.
텍스트 컨디셔닝
가장 일반적인 컨디셔닝 형식은 텍스트 프롬프트입니다. CLIP 토크나이저는 텍스트 프롬프트의 각 단어를 분석하고 이 데이터를 768값 벡터에 임베드합니다. 프롬프트에서 최대 75개의 토큰을 사용할 수 있습니다. Stable Diffusion은 텍스트 변환기를 사용하여 텍스트 인코더에서 U-Net 노이즈 예측기로 이러한 프롬프트를 보냅니다. 시드를 난수 생성기로 설정하면 잠재 공간(latent space)에 다양한 이미지를 생성할 수 있습니다.
Stable Diffusion은 무엇을 할 수 있나요?
Stable Diffusion은 텍스트-이미지 모델 생성이 눈에 띄게 향상되었음을 나타냅니다. 광범위하게 사용할 수 있으며 다른 많은 TTS(Text-to-Image) 모델보다 훨씬 적은 처리 능력을 필요로 합니다. 이 기능에는 텍스트-이미지, 이미지-이미지, 그래픽 아트워크, 이미지 편집 및 비디오 제작이 포함됩니다.
텍스트-이미지 제작
이는 사람들이 Stable Diffusion을 사용하는 가장 일반적인 방법입니다. Stable Diffusion은 텍스트 프롬프트를 사용하여 이미지를 생성합니다. 랜덤 생성기의 시드 번호를 조정하거나 다양한 효과에 대한 노이즈 제거 일정을 변경하여 다양한 이미지를 만들 수 있습니다.
이미지-이미지 제작
입력 이미지와 텍스트 프롬프트를 사용하여 입력 이미지를 기반으로 이미지를 만들 수 있습니다. 일반적인 경우는 스케치와 적절한 프롬프트를 사용하는 것입니다.
그래픽, 아트워크, 로고 제작
다양한 프롬프트를 사용하여 다양한 스타일의 아트워크, 그래픽 및 로고를 만들 수 있습니다. 물론, 스케치를 사용하여 로고 제작을 가이드할 수는 있지만 출력을 미리 결정할 수는 없습니다.
이미지 편집 및 수정
Stable Diffusion을 사용하여 사진을 편집하고 수정할 수 있습니다. AI Editor를 사용하여 이미지를 로드하고 지우개 브러시를 사용하여 편집하려는 영역을 마스킹합니다. 그런 다음 원하는 작업을 정의하는 프롬프트를 생성하여 그림을 편집하거나 다시 칠합니다. 예를 들어 오래된 사진을 복구하고, 사진에서 물체를 제거하고, 대상 특징을 변경하고, 그림에 새로운 요소를 추가할 수 있습니다.
비디오 제작
GitHub의 Deforum과 같은 기능을 사용하여 Stable Diffusion을 통해 짧은 비디오 클립과 애니메이션을 만들 수 있습니다. 또 다른 응용 방식은 비디오에 다양한 스타일을 추가하는 것입니다. 흐르는 물처럼 움직이는 느낌을 주어 사진에 생기를 불어넣을 수도 있습니다.
AWS는 Stable Diffusion을 어떻게 지원하나요?
Amazon Bedrock은 파운데이션 모델을 사용하여 생성형 AI 애플리케이션을 구축하고 규모를 조정하는 가장 쉬운 방법입니다. Amazon Bedrock은 API를 통해 Stable Diffusion을 비롯한 주요 파운데이션 모델을 사용할 수 있도록 하는 완전 관리형 서비스입니다. 따라서 다양한 FM 중에서 선택하여 사용 사례에 가장 적합한 모델을 찾을 수 있습니다. Bedrock을 사용하면 인프라를 관리하지 않고도 확장 가능하고 안정적이며 안전한 생성형 AI 애플리케이션의 개발 및 배포를 가속화할 수 있습니다.
모델, 알고리즘 및 솔루션을 제공하는 ML 허브인 Amazon SageMaker JumpStart는 Stable Diffusion과 같은 공개적으로 사용 가능한 최고 성능의 파운데이션 모델을 포함하여 수백 개의 파운데이션 모델에 대한 액세스를 제공합니다. 이미지 생성 모델의 최신 버전인 Stable Diffusion XL 1.0을 비롯한 새로운 파운데이션 모델이 계속 추가되고 있습니다.