본문 바로가기

AI & Big Data/Image

[AI Image] 메타코드M '생성형 AI 입문 완성강의ㅣ스테이블 디퓨전 프로젝트 실습 + 프롬프트 엔지니어링 Skills' 강의 후기 #1 - 생성 AI 종류, Stable Diffusion 설치 및 실행

728x90
반응형

 

  엔비디아의 주식이 고공행진을 하고 있다. 그 이유는 AI가 좋은 성능을 내기 위해선 고성능의 그래픽카드가 필요한데 이 그래픽카드 시장을 엔비디아가 잡고 있기 때문이다. 이처럼 AI 관련 기술은 점점 발달하고 있고 이에 맞춰 시장도 확대되고 있다. 

  그렇다면 사람들은 AI를 가지고 무엇을 할까. 데이터 분석과 예측은 물론 함부로 넘볼 수 없을 것이라던 예술의 영역까지 진출하고 있다. 생성형 AI중 하나인 미드저니로 그린 그림은 대회에서 대상을 받기도 했고, 웹툰이나 애니메이션, 영화 등에도 활용되고 있는 상황이다. 이러한 변화에 뒤쳐지지 않고자 작년에 Stable Diffusion으로 이미지를 만들어 보기도 했다.

※ 참고1: 2023.02.14 - [AI & Big Data/Image] - [AI 이미지 생성] 인공지능의 그림 실력은? - Stable Diffusion을 활용한 WebUI 체험기

  AI는 점점 더 많은 곳에서 쓰일 것이다. 사진이 초상화의 자리를 메우고, 네비게이션이 자동차 안의 지도를 대체한 것처럼 말이다. 키워드를 입력하기만 하면 사용자가 원하는 것을 해주는 인공지능의 시대가 머지 않았다. 그리고 이 과정에서 필요한 결과를 이끌어낼 수 있도록 키워드를 집어넣는 능력, 즉 '프롬프트 엔지니어링'이 주목받을 것이다. 

  때마침 메타코드M에서 프롬프트 엔지니어링을 배우고 이를 토대로 이미지를 만들 수 있는 강의가 제공되어 이 기회에 전문가에게 Stable Diffusion의 활용법을 배워 부족한 지식을 채우고 제대로 이미지를 만들어보고자 수강하였다다. 총 4개의 챕터로 구성되었고 이론과 실습을 모두 경험할 수 있다. 이번 글에서는 챕터 2까지의 내용을 다룰 것이다. 관심있는 독자는 아래 링크를 클릭해 더 많은 정보를 얻어가길 바란다.

 

메타코드M

빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다.

mcode.co.kr

 

Index

     

    1강. 오리엔테이션

    딥러닝 기초 및 생성 AI 소개

    출처: 인텔리즈

      OT에서는 딥러닝의 개념과 기본적 이론을 소개하는 것으로 시작한다. 이미지 분류를 위해 적용되는 Convoltion, Activation Function, Pooling 등을 설명한다. 이에 대해서는 과거에 작성한 '빅데이터 모델링' 중 CNN에서 찾아볼 수 있다.

    ※ 참고2: 2022.08.17 - [Cerificate/빅데이터분석기사] - [빅데이터분석기사 필기] 3과목 - 빅데이터 모델링 (4/5)

     여러 장의 사진을 학습하고 새로운 이미지가 들어오면 그 형태를 점점 구체적으로 인식하며 최종 분류를 할 수 있을 때까지 거듭하는 것이 대략적인 프로세스라 보면 된다.

    생성 AI의 종류

      익숙한 생성 AI로는 달리, 미드저니, 스테이블 디퓨전이 있다. 본 강의에 따르면 다음과 같은 차이가 있다고 한다. 

    • DALL-E: 프롬프트 이해력 높음 / 사실적 이미지 / 생성시간 - 10초 / 요금 - 15$에 115회 / 비공개 소스 활용 / 한정된 편집 방법 (인페인팅, 아웃페인팅)
    • Stable Diffusion: 초기 프롬프트 작성 어려움 (수정 필요) / 사실적 이미지 / 생성시간 - 약 30초 / 요금 - 15$에 115회 (로컬 컴퓨터로는 무료) / 공개 소스 활용 / 다양한 편집 방법
    • Midjourney: 초기 프롬프트 작성 어려움 (수정 필요) / 예술적 이미지 / 생성시간 - 1분 / 요금 - 30$에 무제한 / 비공개 소스 활용 / 한정된 편집 방법 (인페인팅, 아웃페인팅)

      편집 방법 중 아웃페인팅은 이미지의 바깥에서부터 이미지를 생성해 채워나가는 방법을 말한다. 언급된 3개의 생성형 AI 모두 각기 다른 장단점을 지니는데 강사님은 스테이블 디퓨전의 자유로운 편집 방법에 주목하여 이것을 선택한 것으로 보인다. 컴퓨터에 설치하여 무료로 이미지를 생성할 수 있다는 점도 크게 작용했을 것이다. 기업에서 비용 절감은 더없이 중요하기 때문이다.

      이미지 생성시간을 적어두긴 했으나 독자의 컴퓨터 사양이 천차만별이라 저 수치대로 나오지 않을 수 있다. 필자 또한 GTX1060을 쓰는데 제시된 시간보다 더 소요됐다. 참고로, 강사님이 3070, 3090의 그래픽카드를 보유하고 계신다고 하니 둘 중 하나로 강의가 진행됐을 것이다. 이미지 생성을 위해 3080을 권장한다고 한다.  

    2강. 이론 및 기능 활용 

    생성 AI 종류 및 활용 사례

      위에서 정리한 생성형 AI에 대해 보다 상세히 설명한다. 먼저, 미드저니는 디스코드 서버에서 운영하고 있고, 출력 이미지가 일러스트와 같이 예술적인 느낌이 강하다. 또 서비스되는 모델이라 튜닝이 안되는 것을 특징으로 꼽았다.

      달리는 웹에서 운영되고 있으며 미드저니처럼 기업에 의해 제공되는 모델이라 튜닝이 되지 않는다. 아웃페인팅이 가능하다. 

      스테이블 디퓨전은 로컬로 사용하는 경우, 일정 수준의 사양이 필요하다. 오픈소스라 접근성이 높고 튜닝이 용이하다는 것이 강점이다. 광고, 디자인, 웹툰, 애니메이션 등 다양한 분야에서 스테이블 디퓨전을 활용하고 있다.

    Stable Diffusion 설치

      Stable Diffusion에 사용된 이론을 개괄적으로 알려준다. 입력 이미지에 필터를 넣어 노이즈를 확산시켜가며 학습하고 그 다음, 거꾸로 선명해지는 과정을 거치며 이미지를 학습한다고 한다. 여기서 노이즈가 확산 (Diffusion)되며 흐릿해지는 것에서 Diffusion이라는 이름이 붙었다고 한다.  

    Stable Diffusion 원리 (출처: 메타코드M ppt)

    Stable Diffusion 로컬 설치 및 실행

    Stable Diffusion을 로컬에 설치하는 방법은 아래와 같다.

    Stable Diffusion 설치1
    Stable Diffusion 설치2 (git 설치)
    Stable Diffusion 설치3 (git에서 파일 복제)
    Stable Diffusion 설치4 (경로 이동)
    Stable Diffusion 설치5 (webui-use.bat 입력)

    1. 아나콘다 설치.
    2. 아나콘다 프롬프트에 conda create –n diffusion python=3.10.6 입력. (python 3.10.6 버전을 사용한 diffusion이라는 이름의 가상공간을 만들겠다는 뜻.) (*conda env list: 생성한 가상환경 목록 확인.)
    3. conda activate diffusion 입력. (diffusion이라는 가상공간 활성화.)
    4. git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 입력. (git이 설치되지 않았다면, conda install git pip로 git을 먼저 설치해야 함.)
    5. cd stable~~ 입력. stable 치고 tab키를 누르면 해당 폴더의 이름이 나오는데 그걸 쓰면 됨. 해당 폴더로 경로를 바꾸고 다시 webui-user.bat 입력 후 실행. 정상적으로 처리된다면, 프롬프트에 로컬 URL 주소가 나옴. 

    xformers 모듈 설치 (생성속도 빨라지는 효과): webui-user.bat 파일 편집. 우클릭 후 [편집]. 'ARGS=' 뒤에 --xformers 입력.

    Stable Diffusion 설치6 (webui-user.bat 편집)
    Stable Diffusion 설치7 (webui-user.bat 편집)

     

      스테이블 디퓨전 실행화면에서 조정 가능한 주요 항목을 정리하겠다. 상세한 내용은 강의에서 확인할 수 있다. 

    스테이블 디퓨전 실행화면 (Script)

    • Sampling Method: 노이즈 제거 방법.
    • Sampling Steps: 샘플링 단계. 수가 클수록 선명하고 상세한 이미지 생성.
    • Hires.fix: 초해상도 적용. (Denoising Strength: 출력 이미지 변화도 - 높을수록 세밀해지나 프롬프트와 다른 그림이 나올 수 있음.)
    • Refiner: 기본 모델과 프롬프트 이해도가 높은 모델 병용 (Switch at: Refiner 모델 적용 비율)
    • Batch Count: 반복 시행 수
    • Batch Size: 한 번에 추출할 이미지 수
    • CFG Scale: 프롬프트 적용도 (높을수록 프롬프트에 가까운 이미지 생성되나 품질 하락 우려.)
    • Script: prompt matrix - 단어 사이에 '|'를 넣어 이미지 조합 가능,  x/y/z plot - 여러 조합을 적용해 확인 가능.

    Stable Diffusion Google Colab 설치 및 실행

      저사양 PC를 사용하고 있다면, Google Colab을 활용하는 것도 고려하자. Colab 무료 사용 시, 제한조치가 있으나 설치버전을 직접 실행하는 것은 가능하다고 한다. (링크

    스테이블 디퓨전 Colab 1
    스테이블 디퓨전 Colab 2

    1. 상기 링크에서 필요한 모델에 따라 설치버전 클릭.
    2. 코드를 실행하여 설치가 끝났다면, run_direct.ipynb 파일이 생김. 이 파일을 colab과 연결.
    3. run_direct.ipynb를 열어 코드 실행. 위와 같은 실행화면이 열림.

      이 방법은 7GB 정도의 구글 드라이브 용량을 차지하니 미리 자리를 확보하고 진행해야 한다. 


      원래 2편으로 마무리하고자 했으나 최소 3편 이상의 분량이 나올 듯하다. 이번 시간에는 메타코드M '생성형 AI 입문 완성강의ㅣ스테이블 디퓨전 프로젝트 실습 + 프롬프트 엔지니어링 Skills 생성형' 강의 중에서 생성AI의 종류와 Stable Diffusion의 설치 및 실행 방법을 정리하였다. 다음에는 스테이블 디퓨전의 기능에 대해 살펴볼 것이다. 

    728x90
    반응형