KR102681076B1 - 개인화 디바이스에서 최적의 조건으로 구동될 생성 모델을 구성하기 위한 방법 및 시스템 - Google Patents
개인화 디바이스에서 최적의 조건으로 구동될 생성 모델을 구성하기 위한 방법 및 시스템 Download PDFInfo
- Publication number
- KR102681076B1 KR102681076B1 KR1020230134257A KR20230134257A KR102681076B1 KR 102681076 B1 KR102681076 B1 KR 102681076B1 KR 1020230134257 A KR1020230134257 A KR 1020230134257A KR 20230134257 A KR20230134257 A KR 20230134257A KR 102681076 B1 KR102681076 B1 KR 102681076B1
- Authority
- KR
- South Korea
- Prior art keywords
- model
- size
- sub
- stable diffusion
- diffusion model
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000009792 diffusion process Methods 0.000 claims abstract description 107
- 238000005070 sampling Methods 0.000 claims abstract description 92
- 238000010276 construction Methods 0.000 claims description 20
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 5
- 238000004821 distillation Methods 0.000 claims description 3
- 239000013585 weight reducing agent Substances 0.000 claims description 3
- 230000007423 decrease Effects 0.000 claims 2
- 230000003247 decreasing effect Effects 0.000 claims 2
- 238000012545 processing Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Processing (AREA)
Abstract
메모리 바운드(memory bounds)와 컴퓨트 바운드(compute bounds)간의 트레이드 오프(trade-off)를 조절하여 개인화 디바이스에서 최적의 조건으로 구동될 모델을 구성하기 위한 방법 및 시스템을 개시한다. 일실시예에 따른 모델 구성 방법은 스테이블 디퓨전 모델(Stable Diffusion Model, SDM)이 구동될 하드웨어 장치의 메모리 크기를 수신하는 단계, 상기 수신된 메모리 크기에 기반하여 상기 스테이블 디퓨전 모델의 샘플링 스텝의 크기를 결정하는 단계, 상기 샘플링 스텝의 크기에 따라 상기 샘플링 스텝의 수를 결정하는 단계 및 상기 샘플링 스텝의 크기 및 수에 따라 상기 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 구성하는 단계를 포함할 수 있다.
Description
본 발명의 실시예들은 메모리 바운드(memory bounds)와 컴퓨트 바운드(compute bounds)간의 트레이드 오프(trade-off)를 조절하여 개인화 디바이스에서 최적의 조건으로 구동될 모델을 구성하기 위한 방법 및 시스템에 관한 것이다.
텍스트-이미지(text-to-image) 모델은 입력된 자연어 설명을 가져와 해당 설명에 맞는 이미지를 생성하는 기계 학습 모델이다. 텍스트-이미지 모델의 하나인 스테이블 디퓨전 모델(Stable Diffusion Model, SDM)은 크게 CLIP(Contrastive Language-Image Pre-training) 모델, 유넷(u-net), VAE(Variational Auto Encoder)의 세 가지 인공신경망으로 이루어져 있다. 사용자가 텍스트를 입력하면, 텍스트 인코더로서의 CLIP가 사용자의 텍스트를 토큰(Token)이라는 유넷이 알아들을 수 있는 언어로 변환하고, 유넷은 토큰을 기반으로 무작위로 생성된 노이즈를 디노이징할 수 있다. 디노이징을 반복하다 보면 제대로 된 이미지가 생성되며, 이 이미지를 픽셀로 변환하는 것이 VAE의 역할이다.
[선행문헌번호]
한국등록특허 제10-2518471호
스테이블 디퓨전 모델(Stable Diffusion Model, SDM)에 대한 바운드(memory bounds)와 컴퓨트 바운드(compute bounds)간의 트레이드-오프(trade-off)를 통해 개인화 디바이스에서 최적의 조건으로 구동 가능한 모델을 구성하는 모델 구성 방법 및 시스템을 제공할 수 있다.
적어도 하나의 프로세서를 포함하는 컴퓨터 장치가 수행하는 모델 구성 방법에 있어서, 상기 적어도 하나의 프로세서에 의해, 스테이블 디퓨전 모델(Stable Diffusion Model, SDM)이 구동될 하드웨어 장치의 메모리 크기를 수신하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 수신된 메모리 크기에 기반하여 상기 스테이블 디퓨전 모델의 샘플링 스텝의 크기를 결정하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 샘플링 스텝의 크기에 따라 상기 샘플링 스텝의 수를 결정하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 샘플링 스텝의 크기 및 수에 따라 상기 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 구성하는 단계를 포함하는 모델 구성 방법을 제공한다.
일측에 따르면, 상기 샘플링 스텝의 수를 결정하는 단계는, 상기 하드웨어 장치의 메모리 바운드(memory bounds)와 컴퓨트 바운드(compute bounds)간 트레이드 오프(trade-off)를 위해 상기 샘플링 스텝의 크기가 커질수록 상기 샘플링 스텝의 수를 상대적으로 작게 결정하는 것을 특징으로 할 수 있다.
다른 측면에 따르면, 상기 샘플링 스텝의 크기를 결정하는 단계는, 상기 수신된 메모리 크기에 기반하여 상기 샘플링 스텝을 반복적으로 수행하는 상기 스테이블 디퓨전 모델의 서브 모델의 크기를 상기 샘플링 스텝의 크기로서 결정하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 샘플링 스텝의 크기를 결정하는 단계는, 상기 스테이블 디퓨전 모델을 이용한 추론 시의 가중치의 크기, 특징맵의 크기, 및 상기 스테이블 디퓨전 모델의 학습에 요구되는 파라미터의 크기를 고려하여 상기 수신된 메모리 크기를 벗어나지 않도록 상기 샘플링 스텝을 반복적으로 수행하는 상기 스테이블 디퓨전 모델의 서브 모델의 크기를 역산하고, 상기 역산된 서브 모델의 크기를 상기 샘플링 스텝의 크기로서 결정하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 스테이블 디퓨전 모델을 구성하는 단계는, 상기 샘플링 스텝의 크기 및 수에 따라 원본 스테이블 디퓨전 모델을 경량화 또는 중량화하여 상기 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 생성하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 스테이블 디퓨전 모델을 구성하는 단계는, 상기 샘플링 스텝의 크기 및 수에 따라 상기 샘플링 스텝을 반복적으로 수행하는 원본 스테이블 디퓨전 모델의 서브 모델의 블록 또는 상기 블록에 포함된 레이어의 적어도 일부를 제거하여 상기 원본 스테이블 디퓨전 모델을 경량화하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 경량화하는 단계는, 교사 네트워크로서의 상기 서브 모델의 잔여(residual) 블록 및 주의(attention) 블록을 제거하여 학생 네트워크를 생성한 후, 상기 교사 네트워크의 특징 및 출력에 대한 증류(distillation)을 통해 상기 학생 네트워크를 훈련시켜 상기 학생 네트워크를 상기 서브 모델로서 포함하도록 상기 원본 스테이블 디퓨전 모델을 경량화하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 스테이블 디퓨전 모델을 구성하는 단계는, 상기 샘플링 스텝의 크기 및 수에 따라 상기 샘플링 스텝을 반복적으로 수행하는 원본 스테이블 디퓨전 모델의 서브 모델에 포함된 블록에 레이어를 추가하거나, 또는 상기 서브 모델에 새로운 블록을 추가하여 상기 원본 스테이블 디퓨전 모델을 중량화하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 샘플링 스텝은 상기 스테이블 디퓨전 모델이 포함하는 유넷(u-net)이 반복적으로 수행하는 샘플링 스텝을 포함하고, 상기 샘플링 스텝의 크기는 상기 유넷의 크기에 대응하는 것을 특징으로 할 수 있다.
컴퓨터 장치와 결합되어 상기 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.
상기 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체를 제공한다.
컴퓨터 장치에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 스테이블 디퓨전 모델(Stable Diffusion Model, SDM)이 구동될 하드웨어 장치의 메모리 크기를 수신하고, 상기 수신된 메모리 크기에 기반하여 상기 스테이블 디퓨전 모델의 샘플링 스텝의 크기를 결정하고, 상기 샘플링 스텝의 크기에 따라 상기 샘플링 스텝의 수를 결정하고, 상기 샘플링 스텝의 크기 및 수에 따라 상기 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 구성하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
스테이블 디퓨전 모델(Stable Diffusion Model, SDM)에 대한 바운드(memory bounds)와 컴퓨트 바운드(compute bounds)간의 트레이드-오프(trade-off)를 통해 개인화 디바이스에서 최적의 조건으로 구동 가능한 모델을 구성할 수 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다.
도 2는 본 발명의 일실시예에 따른 모델 구성 시스템의 개괄적인 모습의 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 모델 구성 방법의 예를 도시한 흐름도이다.
도 4는 본 발명의 일실시예에 있어서, 샘플링 스텝의 크기와 수간의 관계의 예를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 하드웨어 장치의 메모리의 크기와 스테이블 디퓨전 모델간의 관계를 설명하기 위한 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 모델 구성 시스템의 개괄적인 모습의 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 모델 구성 방법의 예를 도시한 흐름도이다.
도 4는 본 발명의 일실시예에 있어서, 샘플링 스텝의 크기와 수간의 관계의 예를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 하드웨어 장치의 메모리의 크기와 스테이블 디퓨전 모델간의 관계를 설명하기 위한 예를 도시한 도면이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 실시예들에 따른 모델 구성 시스템은 적어도 하나의 컴퓨터 장치에 의해 구현될 수 있으며, 본 발명의 실시예들에 따른 모델 구성 방법은 경량화 시스템에 포함되는 적어도 하나의 컴퓨터 장치를 통해 수행될 수 있다. 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 모델 구성 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 모델 구성 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 컴퓨터 장치(Computer device, 100)는 도 1에 도시된 바와 같이, 메모리(Memory, 110), 프로세서(Processor, 120), 통신 인터페이스(Communication interface, 130) 그리고 입출력 인터페이스(I/O interface, 140)를 포함할 수 있다. 메모리(110)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(110)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(100)에 포함될 수도 있다. 또한, 메모리(110)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(110)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(110)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 인터페이스(130)를 통해 메모리(110)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(Network, 160)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(100)의 메모리(110)에 로딩될 수 있다.
프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(110) 또는 통신 인터페이스(130)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어 프로세서(120)는 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(130)는 네트워크(160)를 통해 컴퓨터 장치(100)가 다른 장치와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(100)의 프로세서(120)가 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(130)의 제어에 따라 네트워크(160)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(160)를 거쳐 컴퓨터 장치(100)의 통신 인터페이스(130)를 통해 컴퓨터 장치(100)로 수신될 수 있다. 통신 인터페이스(130)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(120)나 메모리(110)로 전달될 수 있고, 파일 등은 컴퓨터 장치(100)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(140)는 입출력 장치(I/O device, 150)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(140)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(150)는 컴퓨터 장치(100)와 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 장치(100)는 도 1의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(100)는 상술한 입출력 장치(150) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
도 2는 본 발명의 일실시예에 따른 모델 구성 시스템의 개괄적인 모습의 예를 도시한 도면이다. 도 2는 서버(210)와 복수의 하드웨어 장치(220)를 나타내고 있다. 이때, 서버(210)와 복수의 하드웨어 장치(220) 각각은 앞서 도 1을 통해 설명한 컴퓨터 장치(100)에 의해 구현될 수 있다. 실시예에 따라 서버(210)는 둘 이상의 컴퓨터 장치들에 의해 구현될 수도 있다.
서버(210)는 복수의 하드웨어 장치(220) 중 적어도 하나의 하드웨어 장치로부터의 요청에 따라 해당 하드웨어 장치에 알맞은 스테이블 디퓨전 모델(Stable Diffusion Model, SDM)을 구성하여 제공할 수 있다. 예를 들어, 서버(210)는 하드웨어 장치 1(221)로부터의 요청에 따라 먼저 하드웨어 장치 1(221)의 메모리 크기를 수신할 수 있으며, 수신된 메모리 크기에 기반하여 하드웨어 장치 1(221)에 알맞은 스테이블 디퓨전 모델을 구성 및 제공할 수 있다.
보다 구체적인 예로, 스테이블 디퓨전 모델을 이용한 추론이 진행될 때, 스테이블 디퓨전 모델의 가중치, 스테이블 디퓨전 모델의 추론 시에 생성되는 피처 맵, 스테이블 디퓨전 모델의 학습을 위한 파라미터 등이 하드웨어 장치 1(221)의 메모리에 저장될 수 있다. 이때, 저장되는 데이터의 크기가 하드웨어 장치 1(221)의 메모리의 크기를 넘어서면 메모리 부족(아웃 오브 메모리(out of memory))와 같은 오류가 발생할 수 있다. 따라서, 서버(210)는 하드웨어 장치 1(221)의 메모리 바운드(memory bounds)와 컴퓨트 바운드(compute bounds)간 트레이드 오프(trade-off)를 고려하여 하드웨어 장치 1(221)에 알맞은 스테이블 디퓨전 모델을 동적으로 구성 및 제공할 수 있다.
도 3은 본 발명의 일실시예에 따른 모델 구성 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 모델 구성 방법은 도 2를 통해 설명한 서버(210)를 구현하는 컴퓨터 장치(100)에 의해 수행될 수 있다. 이때, 컴퓨터 장치(100)의 프로세서(120)는 메모리(110)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(120)는 컴퓨터 장치(100)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(100)가 도 3의 방법이 포함하는 단계들(310 내지 340)을 수행하도록 컴퓨터 장치(100)를 제어할 수 있다.
단계(310)에서 컴퓨터 장치(100)는 스테이블 디퓨전 모델이 구동될 하드웨어 장치의 메모리 크기를 수신할 수 있다. 여기서, 하드웨어 장치는 앞서 도 2를 통해 설명한 복수의 하드웨어 장치(220) 중 어느 하나일 수 있다. 일례로, 하드웨어 장치에는 서버(210)가 제공하는 서비스와 연계된 애플리케이션이 설치 및 구동될 수 있으며, 하드웨어 장치는 애플리케이션의 제어에 따라 서버(210)에 접근하여 스테이블 디퓨전 모델을 요청할 수 있다. 이때, 하드웨어 장치는 자신의 메모리 크기에 대한 정보를 포함하는 요청을 서버(210)로 전송할 수 있으며, 이에 따라 서버(210)를 구현하는 컴퓨터 장치(100)가 하드웨어 장치의 메모리 크기를 수신할 수 있다. 실시예에 따라 메모리 크기는 스테이블 디퓨전 모델에 대한 요청과는 별도의 프로세스를 통해 서버(210)로 전달될 수도 있다.
단계(320)에서 컴퓨터 장치(100)는 수신된 메모리 크기에 기반하여 스테이블 디퓨전 모델의 샘플링 스텝의 크기를 결정할 수 있다. 일례로, 컴퓨터 장치(100)는 수신된 메모리 크기에 기반하여 샘플링 스텝을 반복적으로 수행하는 스테이블 디퓨전 모델의 서브 모델의 크기를 샘플링 스텝의 크기로서 결정할 수 있다. 일례로, 샘플링 스텝은 스테이블 디퓨전 모델이 포함하는 서브 모델로서의 유넷(u-net)이 반복적으로 수행하는 샘플링 스텝을 포함할 수 있다. 이미 설명한 바와 같이, 텍스트-이미지(text-to-image) 모델의 하나인 스테이블 디퓨전 모델은 크게 텍스트 인코더로서의 CLIP(Contrastive Language-Image Pre-training) 모델, 유넷, 및 VAE(Variational Auto Encoder)의 세 가지 인공신경망으로 이루어질 수 있다. 하드웨어 장치에서 스테이블 디퓨전 모델이 구동된다고 가정할 때, 하드웨어 장치의 사용자가 텍스트를 입력하면, 텍스트 인코더로서의 CLIP가 사용자의 텍스트를 토큰(Token)이라는 유넷이 알아들을 수 있는 언어로 변환하고, 유넷은 토큰을 기반으로 무작위로 생성된 노이즈를 디노이징할 수 있다. 디노이징을 반복하다 보면 제대로 된 이미지가 생성되며, 이 이미지를 픽셀로 변환하는 것이 VAE의 역할이다. 이때, 유넷이 반복 처리하는 디노이징의 과정이 샘플링 스텝에 대응할 수 있다. 이 경우, 샘플링 스텝의 크기는 유넷의 크기에 대응할 수 있다.
보다 구체적인 실시예로, 컴퓨터 장치(100)는 단계(320)에서 스테이블 디퓨전 모델을 이용한 추론 시의 가중치의 크기, 특징맵의 크기, 및 스테이블 디퓨전 모델의 학습에 요구되는 파라미터의 크기를 고려하여 수신된 메모리 크기를 벗어나지 않도록 샘플링 스텝을 반복적으로 수행하는 스테이블 디퓨전 모델의 서브 모델의 크기를 역산할 수 있다. 이후, 컴퓨터 장치(100)는 역산된 서브 모델의 크기를 샘플링 스텝의 크기로서 결정할 수 있다. 일례로, 컴퓨터 장치(100)는 스테이블 디퓨전 모델을 요청하는 하드웨어 장치의 메모리 크기를 벗어나지 않는 조건에서 스테이블 디퓨전 모델의 서브 모델(일례로, 유넷)의 크기인 샘플링 스텝의 크기를 결정할 수 있다.
단계(330)에서 컴퓨터 장치(100)는 샘플링 스텝의 크기에 따라 샘플링 스텝의 수를 결정할 수 있다. 여기서, 샘플링 스텝의 수는 스테이블 디퓨전 모델이 포함하는 서브 모델이 샘플링 스텝을 반복하여 수행하는 횟수를 의미할 수 있다. 일례로, 컴퓨터 장치(100)는 하드웨어 장치의 메모리 바운드(memory bounds)와 컴퓨트 바운드(compute bounds)간 트레이드 오프(trade-off)를 위해 샘플링 스텝의 크기가 커질수록 샘플링 스텝의 수를 상대적으로 작게 결정할 수 있다. 샘플링 스텝의 크기가 커진다는 것은 메모리 바운드가 증가한다는 것을 의미할 수 있고, 샘플링 스텝의 수가 많아진다는 것은 컴퓨트 바운드가 증가한다는 것을 의미할 수 있다. 따라서, 컴퓨터 장치(100)는 먼저 샘플링 스텝의 크기가 하드웨어 장치의 메모리 크기에 기반하여 결정되고 나면, 메모리 바운드와 컴퓨트 바운드간의 트레이드 오프를 고려하여 샘플링 스텝의 수를 결정할 수 있다. 보다 구체적인 예로, 컴퓨터 장치(100)는 샘플링 스탭의 크기가 줄어드는 경우, 샘플링 스탭의 수를 증가시켜, 서브 모델의 크기를 줄였음에도 스테이블 디퓨전 모델의 성능이 일정하게 유지되도록 할 수 있다. 역으로, 컴퓨터 장치(100)는 샘플링 스탭의 크기를 증가시킨 경우에는 샘플링 스탭의 수를 감소시켜 스테이블 디퓨전 모델의 성능이 일정하게 유지되도록 할 수 있다.
단계(340)에서 컴퓨터 장치(100)는 샘플링 스텝의 크기 및 수에 따라 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 구성할 수 있다. 일례로, 컴퓨터 장치(100)는 결정된 샘플링 스텝의 크기에 대응하는 서브 모델을 포함하는 스테이블 디퓨전 모델을 구성할 수 있으며, 서브 모델이 샘플링 스텝을 반복하는 횟수가 샘플링 스텝의 수에 따라 설정될 수 있다. 이 경우, 컴퓨터 장치(100)는 샘플링 스텝의 크기 및 수에 따라 원본 스테이블 디퓨전 모델을 경량화 또는 중량화하여 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 동적으로 생성할 수 있다. 보다 구체적인 예로, 컴퓨터 장치(100)는 샘플링 스텝의 크기 및 수에 따라 샘플링 스텝을 반복적으로 수행하는 원본 스테이블 디퓨전 모델의 서브 모델(일례로, 유넷)의 블록 또는 상기 블록에 포함된 레이어의 적어도 일부를 제거하여 원본 스테이블 디퓨전 모델을 경량화함으로써, 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 동적으로 구성할 수 있다.
다른 예로, 컴퓨터 장치(100)는 교사 네트워크로서의 서브 모델의 잔여(residual) 블록 및 주의(attention) 블록을 제거하여 학생 네트워크를 생성한 후, 교사 네트워크의 특징 및 출력에 대한 증류(distillation)을 통해 학생 네트워크를 훈련시켜 학생 네트워크를 서브 모델로서 포함하도록 원본 스테이블 디퓨전 모델을 경량화함으로써, 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 동적으로 구성할 수 있다. 원본 유넷에서는 공통된 공간 크기를 갖는 각 스테이지가 여러 블록으로 구성될 수 있으며, 대부분의 스테이지에는 잔여 블록과 주의 블록의 쌍이 포함될 수 있다. 이 경우, 컴퓨터 장치(100)는 잔여 블록 (R)과 주의 블록 (A)의 불필요한 쌍(R-A)이 존재한다고 가정하고, 이를 제거하여 학생 네트워크를 생성할 수 있다. 보다 구체적인 예로, 원본 유넷의 하위 스테이지(입력에 가까운 스테이지)에서는 첫 번째 쌍이 변경된 공간 정보를 처리하고 두 번째 쌍보다 더 중요하기 때문에 첫 번째 쌍을 유지하면서 두 번째 쌍을 제거할 수 있다. 이러한 제거 방식은 원래의 유넷의 차원성에 해를 끼치지 않기 때문에 초기화를 위해 사전 훈련된 가중치를 사용할 수 있다. 원본 유넷의 상위 스테이지(출력에 가까운 스테이지)에서는 앞서 언급한 방식을 준수하면서 세 번째 쌍을 유지할 수 있다. 이를 통해 각 하위 스테이지 끝의 출력 특징맵과 하위 스테이지 및 상위 스테이지 사이의 스킵 커넥션을 활용할 수 있다. R 블록만 포함하는 가장 안쪽의 하위 스테이지 및 상위 스테이지에도 동일한 프로세스가 적용될 수 있다.
또 다른 예로, 컴퓨터 장치(100)는 샘플링 스텝의 크기 및 수에 따라 샘플링 스텝을 반복적으로 수행하는 원본 스테이블 디퓨전 모델의 서브 모델에 포함된 블록에 레이어를 추가하거나, 또는 서브 모델에 새로운 블록을 추가하여 원본 스테이블 디퓨전 모델을 중량화함으로써, 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 동적으로 구성할 수 있다.
여기서, 스테이블 디퓨전 모델의 경량화는 앞서 설명한 바와 같이 서브 모델의 블록이나 레이어를 제거함으로써, 서브 모델이 반복 수행할 샘플링 스텝의 크기를 줄여 서브 모델을 경량화하는 것에 대응할 수 있다. 또한, 스테이블 디퓨전 모델의 중량화는 서브 모델에 블록이나 레이어를 추가함으로써, 서브 모델이 반복 수행할 샘플링 스텝의 크기를 증가시켜 서브 모델을 중량화하는 것에 대응할 수 있다. 이러한 서브 모델의 경량화 또는 중량화에 따라 하드웨어 장치에서의 스테이블 디퓨전 모델이 요구하는 메모리 바운드가 조절될 수 있다. 또한, 설정되는 샘플링 스텝의 수를 통해 하드웨어 장치에서의 스테이블 디퓨전 모델이 요구하는 컴퓨트 바운드가 조절될 수 있다.
이처럼, 샘플링 스텝의 크기 및 수에 따라 동적으로 구성되는 스테이블 디퓨전 모델은 하드웨어 장치의 요청에 대한 응답으로 해당 하드웨어 장치로 제공될 수 있다. 이 경우, 하드웨어 장치에서는 제공된 스테이블 디퓨전 모델을 이용하여 텍스트-이미지 생성을 위한 추론을 수행할 수 있다.
도 4는 본 발명의 일실시예에 있어서, 샘플링 스텝의 크기와 수간의 관계의 예를 도시한 도면이다. 도 4는 복수의 샘플링 스텝들(410)이 반복 수행되는 예를 설명한다. 이때, 스테이블 디퓨전 모델, 보다 자세하게는 샘플링 스텝을 반복 수행하는 스테이블 디퓨전 모델의 서브 모델의 성능이 샘플링 스텝의 크기와 샘플링 스텝의 수(반복 횟수)의 곱으로 결정된다고 가정한다. 이때, 도 4는 샘플링 스텝의 크기를 10에서 5로 줄이는 경우, 샘플링 스텝의 수를 10에서 20으로 증가시킴으로써, 서브 모델의 성능을 유지할 수 있음을 나타내고 있다. 다시 말해, 스테이블 디퓨전 모델이 구동되는 하드웨어 장치의 메모리 바운드에 따라 샘플링 스텝의 크기를 줄이는 경우, 샘플링 스텝의 수를 조절하여 컴퓨터 바운드를 증가시킴으로써 서브 모델의 성능이 유지될 수 있다. 한편, 도 4의 실시예에서는 서브 모델의 성능을 100으로 유지시키는 예를 설명하고 있으나, 실시예에 따라 서브 모델의 성능과 이전 성능간의 차이가 임계값 이내에 포함되도록 샘플링 스텝의 수가 조절될 수도 있다.
도 5는 본 발명의 일실시예에 있어서, 하드웨어 장치의 메모리의 크기와 스테이블 디퓨전 모델간의 관계를 설명하기 위한 예를 도시한 도면이다. 도 5는 스테이블 디퓨전 모델의 구성요소로서 인코더(510), 유넷(520) 및 디코더(520)를 나타내고 있다. 이때, 유넷(520)이 샘플링 스텝을 반복하면서 요구되는 가중치의 크기가 1GB, 특징맵이 1GB이고, 스테이블 디퓨전 모델이 구동될 하드웨어 장치의 메모리 크기가 1.5GB라 가정한다. 이 경우, 하드웨어 장치에서 유넷(520)을 포함하는 스테이블 디퓨전 모델을 이용한 추론 시 아웃 오브 메모리와 같은 오류가 발생할 수 있다. 앞서 설명한 서버(210)는 하드웨어 장치의 메모리 크기를 수신한 후, 메모리 크기에 알맞게 유넷(520)의 크기를 조절(경량화 또는 중량화)하여 유넷(540)을 구성할 수 있다. 도 5의 실시예에서는 요구되는 모델 메모리가 하드웨어 장치의 메모리 크기를 넘어서기 때문에 서버(210)는 유넷(520)을 경량화하여 유넷(540)을 동적으로 구성할 수 있다. 이때, 도 5의 실시예에서는 유넷(540)이 샘플링 스텝을 반복하면서 요구되는 가중치의 크기가 0.75GB, 특징맵이 0.75GB라 가정한다. 또한, 서버(210)는 샘플링 스텝의 크기를 줄여 메모리 바운드를 줄이는 대신, 유넷(540)의 성능과 유넷(520)의 성능간의 차이가 임계값 이내가 되도록 컴퓨터 바운드(샘플링 스텝의 수)를 증가시킬 수 있다. 도 5의 실시예에서는 가중치의 크기와 특징맵의 크기만을 고려한 예를 설명하였으나, 이미 설명한 바와 같이 학습을 위한 파라미터의 크기 등 다른 요소들이 더 고려될 수도 있다.
이미 설명한 바와 같이, 하드웨어 장치의 메모리 크기가 충분히 큰 경우에는 유넷(520)의 크기(샘플링 스텝의 크기)를 증가시키고, 샘플링 스텝의 수를 감소시켜 메모리 바운드와 컴퓨트 바운드간의 트레이드 오프를 달성할 수 있다.
이와 같이, 본 발명의 실시예들에 따르면, 스테이블 디퓨전 모델에 대한 바운드와 컴퓨트 바운드간의 트레이드-오프를 통해 개인화 디바이스에서 최적의 조건으로 구동 가능한 모델을 구성할 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
Claims (15)
- 적어도 하나의 프로세서를 포함하는 컴퓨터 장치가 수행하는 모델 구성 방법에 있어서,
상기 적어도 하나의 프로세서에 의해, 스테이블 디퓨전 모델(Stable Diffusion Model, SDM)이 구동될 하드웨어 장치의 메모리 크기를 수신하는 단계;
상기 적어도 하나의 프로세서에 의해, 상기 수신된 메모리 크기에 기반하여, 상기 스테이블 디퓨전 모델에 포함되어 샘플링 스텝을 반복 수행하는 서브 모델의 크기를 결정하는 단계;
상기 적어도 하나의 프로세서에 의해, 상기 서브 모델의 크기에 따라 상기 서브 모델이 상기 샘플링 스텝을 반복 수행하는 횟수를 결정하는 단계; 및
상기 적어도 하나의 프로세서에 의해, 상기 서브 모델의 크기 및 상기 반복 수행하는 횟수에 따라 상기 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 구성하는 단계
를 포함하고,
상기 반복 수행하는 횟수를 결정하는 단계는,
상기 서브 모델의 크기에 따라 요구되는 모델 메모리가 감소할수록 컴퓨트 바운드가 증가하도록 상기 반복 수행하는 횟수를 조절하는 것
을 특징으로 하는 모델 구성 방법. - 제1항에 있어서,
상기 반복 수행하는 횟수를 결정하는 단계는,
상기 결정된 서브 모델의 크기에 따라 원본 스테이블 디퓨전 모델이 포함하는 서브 모델의 크기를 줄이는 경우에 상기 반복 수행하는 횟수를 증가시키고, 상기 결정된 서브 모델의 크기에 따라 원본 스테이블 디퓨전 모델이 포함하는 서브 모델의 크기를 증가시키는 경우에 상기 반복 수행하는 횟수를 감소시켜, 상기 반복 수행하는 횟수를 결정하는 것을 특징으로 하는 모델 구성 방법. - 삭제
- 제1항에 있어서,
상기 샘플링 스텝의 크기를 결정하는 단계는,
상기 스테이블 디퓨전 모델을 이용한 추론 시의 가중치의 데이터의 크기, 특징맵의 크기, 및 상기 스테이블 디퓨전 모델의 학습에 요구되는 파라미터의 데이터의 크기를 고려하여 상기 수신된 메모리 크기를 벗어나지 않도록 상기 서브 모델의 크기를 결정하는 것을 특징으로 하는 모델 구성 방법. - 제1항에 있어서,
상기 스테이블 디퓨전 모델을 구성하는 단계는,
상기 서브 모델의 크기 및 상기 반복 수행하는 횟수에 따라 원본 스테이블 디퓨전 모델을 경량화 또는 중량화하여 상기 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 생성하는 것을 특징으로 하는 모델 구성 방법. - 제1항에 있어서,
상기 스테이블 디퓨전 모델을 구성하는 단계는,
상기 서브 모델의 크기 및 상기 반복 수행하는 횟수에 따라 상기 샘플링 스텝을 반복적으로 수행하는 원본 스테이블 디퓨전 모델의 서브 모델의 블록 또는 상기 블록에 포함된 레이어의 적어도 일부를 제거하여 상기 원본 스테이블 디퓨전 모델을 경량화하는 단계
를 포함하는 것을 특징으로 하는 모델 구성 방법. - 제6항에 있어서,
상기 경량화하는 단계는,
교사 네트워크로서의 상기 원본 스테이블 디퓨전 모델의 서브 모델의 잔여(residual) 블록 및 주의(attention) 블록을 제거하여 학생 네트워크를 생성한 후, 상기 교사 네트워크의 특징 및 출력에 대한 증류(distillation)을 통해 상기 학생 네트워크를 훈련시켜 상기 학생 네트워크를 상기 원본 스테이블 디퓨전 모델의 서브 모델로서 포함하도록 상기 원본 스테이블 디퓨전 모델을 경량화하는 것을 특징으로 하는 모델 구성 방법. - 제1항에 있어서,
상기 스테이블 디퓨전 모델을 구성하는 단계는,
상기 서브 모델의 크기 및 반복 수행하는 횟수에 따라 원본 스테이블 디퓨전 모델의 서브 모델에 포함된 블록에 레이어를 추가하거나, 또는 상기 서브 모델에 새로운 블록을 추가하여 상기 원본 스테이블 디퓨전 모델을 중량화하는 단계
를 포함하는 것을 특징으로 하는 모델 구성 방법. - 제1항에 있어서,
상기 샘플링 스텝은 상기 스테이블 디퓨전 모델이 포함하는 유넷(u-net)이 반복적으로 수행하는 샘플링 스텝을 포함하고,
상기 서브 모델의 크기는 상기 유넷의 크기에 대응하는 것
을 특징으로 하는 모델 구성 방법. - 제1항, 제2항, 제4항 내지 제9항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체.
- 컴퓨터 장치에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서에 의해,
스테이블 디퓨전 모델(Stable Diffusion Model, SDM)이 구동될 하드웨어 장치의 메모리 크기를 수신하고,
상기 수신된 메모리 크기에 기반하여, 상기 스테이블 디퓨전 모델에 포함되어 샘플링 스텝을 반복 수행하는 서브 모델의 크기를 결정하고,
상기 서브 모델의 크기에 따라 상기 서브 모델이 상기 샘플링 스텝을 반복 수행하는 횟수를 결정하고,
상기 서브 모델의 크기 및 상기 반복 수행하는 횟수에 따라 상기 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 구성하고,
상기 반복 수행하는 횟수를 결정하기 위해, 상기 적어도 하나의 프로세서에 의해,
상기 서브 모델의 크기에 따라 요구되는 모델 메모리가 감소할수록 컴퓨트 바운드가 증가하도록 상기 반복 수행하는 횟수를 조절하는 것
을 특징으로 하는 컴퓨터 장치. - 제11항에 있어서,
상기 반복 수행하는 횟수를 결정하기 위해, 상기 적어도 하나의 프로세서에 의해,
상기 결정된 서브 모델의 크기에 따라 원본 스테이블 디퓨전 모델이 포함하는 서브 모델의 크기를 줄이는 경우에 상기 반복 수행하는 횟수를 증가시키고, 상기 결정된 서브 모델의 크기에 따라 원본 스테이블 디퓨전 모델이 포함하는 서브 모델의 크기를 증가시키는 경우에 상기 반복 수행하는 횟수를 감소시켜, 상기 반복 수행하는 횟수를 결정하는 것
을 특징으로 하는 컴퓨터 장치. - 삭제
- 제11항에 있어서,
상기 샘플링 스텝의 크기를 결정하기 위해, 상기 적어도 하나의 프로세서에 의해,
상기 스테이블 디퓨전 모델을 이용한 추론 시의 가중치의 데이터의 크기, 특징맵의 크기, 및 상기 스테이블 디퓨전 모델의 학습에 요구되는 파라미터의 데이터의 크기를 고려하여 상기 수신된 메모리 크기를 벗어나지 않도록 상기 서브 모델의 크기를 결정하는 것
을 특징으로 하는 컴퓨터 장치. - 제11항에 있어서,
상기 스테이블 디퓨전 모델을 구성하기 위해, 상기 적어도 하나의 프로세서에 의해,
상기 서브 모델의 크기 및 상기 반복 수행하는 횟수에 따라 원본 스테이블 디퓨전 모델을 경량화 또는 중량화하여 상기 하드웨어 장치로 제공할 스테이블 디퓨전 모델을 생성하는 것
을 특징으로 하는 컴퓨터 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230134257A KR102681076B1 (ko) | 2023-10-10 | 2023-10-10 | 개인화 디바이스에서 최적의 조건으로 구동될 생성 모델을 구성하기 위한 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230134257A KR102681076B1 (ko) | 2023-10-10 | 2023-10-10 | 개인화 디바이스에서 최적의 조건으로 구동될 생성 모델을 구성하기 위한 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102681076B1 true KR102681076B1 (ko) | 2024-07-04 |
Family
ID=91912824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230134257A KR102681076B1 (ko) | 2023-10-10 | 2023-10-10 | 개인화 디바이스에서 최적의 조건으로 구동될 생성 모델을 구성하기 위한 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102681076B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210045845A (ko) * | 2019-10-17 | 2021-04-27 | 삼성전자주식회사 | 전자 장치 및 그 동작방법 |
-
2023
- 2023-10-10 KR KR1020230134257A patent/KR102681076B1/ko active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210045845A (ko) * | 2019-10-17 | 2021-04-27 | 삼성전자주식회사 | 전자 장치 및 그 동작방법 |
Non-Patent Citations (2)
Title |
---|
hollowstrawberry. "stable-diffusion-guide". Hugging Face* * |
R. Rombach 등. "High-Resolution Image Synthesis with Latent Diffusion Models"* * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102184278B1 (ko) | 메타학습에 기반한 임의의 목표 데이터셋과 모델 구조로의 전이학습 방법 및 시스템 | |
Pointer | Programming pytorch for deep learning: Creating and deploying deep learning applications | |
KR20190117713A (ko) | 신경망 아키텍처 최적화 | |
CN110738324A (zh) | 深度学习***和用于深度学习***的处理数据的方法 | |
KR102190103B1 (ko) | 인공 신경망의 상용화 서비스 제공 방법 | |
US20200134471A1 (en) | Method for Generating Neural Network and Electronic Device | |
AU2021236965B2 (en) | Automatically generating diverse text | |
CN108460458A (zh) | 在图形处理单元上执行计算图 | |
CN111133458A (zh) | 增强神经网络 | |
CN114492765A (zh) | 一种模型优化方法、装置、设备及存储介质、程序产品 | |
KR102681076B1 (ko) | 개인화 디바이스에서 최적의 조건으로 구동될 생성 모델을 구성하기 위한 방법 및 시스템 | |
EP3931762A1 (en) | Systems and methods for producing an architecture of a pyramid layer | |
KR102597182B1 (ko) | 입력 해상도 변경에 따른 특징맵 해상도 변경 방법 및 시스템 | |
TW202338668A (zh) | 用於神經網路訓練的稀疏性掩蔽方法 | |
US20230214453A1 (en) | Training an environment generator of a generative adversarial network (gan) to generate realistic environments that incorporate reinforcement learning (rl) algorithm feedback | |
KR20220109826A (ko) | 인공지능 추론모델을 경량화하는 방법 및 시스템 | |
WO2021111245A1 (en) | Initialization of memory networks | |
WO2020054402A1 (ja) | ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法 | |
KR102641628B1 (ko) | 분할된 딥러닝 모델을 이용한 서비스 제공 방법 및 시스템 | |
KR20240081554A (ko) | 복원 정규화기를 이용한 비대조적 자기지도 학습 방법 및 장치 | |
JP7371188B2 (ja) | ディープラーニングモデルのチューニング方法およびシステム | |
JP7525126B2 (ja) | コンパイラで生成された量子化モデルを修正して正確度を修復する方法、コンピュータプログラム、およびコンピュータ装置 | |
US12050976B2 (en) | Convolution operations utilizing nonzero padding data copied from input channel data | |
JP7454888B1 (ja) | ハードウェア特性を利用してニューラルネットワークモデルを軽量化する方法及び装置 | |
US20240160924A1 (en) | Automated surrogate training performance by incorporating simulator information |