스테이블 디퓨전 학습 5가지

요즘 ai그림 학습에 관한 이야기가 많아졌습니다. 학습에 관한 이야기에 앞서 각 ai 그림 서비스에 대해 언급하자면, 미드저니나 달리같은 인공지능 그림Ai는 특정 기업에서 개발을 하고 서비스를 하고 있습니다. 그런데 스테이블 디퓨전은 조금 특이합니다. 오픈 소스로 풀려서 개인들이 여러 기능을 추가하고 개발하고 있습니다.

그리고 이 스테이블 디퓨젼이 이제 XL 버전까지 발표가 되었습니다. 그리고 그걸 계기로 기존의 자료를 새롭게 정리했습니다. 그간 발표된 학습법을 정리하면 크게 카테고리를 5개로 나눌 수 있어 보입니다. 다만 이 기준으로 각 프로그램을 분류를 하니 중복된 경우가 많아서, 학습법 소개와 프로그램 소개 하는 부분을 분리했습니다.


관련 자료는 여기서 계속 업데이트 할 계획입니다.

수정내역

  • 2023년 3월 16일 / LoCon 에 대한 내용 정리 중.
  • 2023년 3월 17일 / thelastben 잘못된 설명 수정.
  • 2023년 3월 18일 / LoRA 링크 추가
  • 2023년 6월 2일 / EveryDream Trainer 2.0 추가
  • 2023년 7월 16일 / LoRA에 SDXL 0.9 버전추가 (runpod에서 실행)
  • 2023년 7월 18일 / oneTrainer 추가 (SDXL도 지원)
  • 2023년 8월 6일 / 전체 문서 재정리

스테이블 디퓨전 학습 5가지

전체적으로 학습법을 구분하자면 아래와 같이 크게 5가지로 분류 할 수 있어 보입니다.

  1. 텍스트 인버전 / Textual Inversion
    • 사용자가 제공한 객체나 스타일과 같은 개념에 대해 3-5개의 이미지만을 사용하여, 해당 개념을 새로운 “단어”로 표현하는 방법을 학습. 이러한 “단어”들은 자연어 문장으로 구성됨.
    • 관련 페이지 링크
    • LoRA가 나오기 전엔 많이 쓰였지만 지금은 거의 쓰여지지 않습니다. 임베딩이란 단어로 지칭 되기도 합니다.
  2. 하이퍼네트워크 / Hypernetwork
    • Novel AI라는 사람이 개발한 미세조절 기술.
    • 관련 페이지 링크
    • 용량이 적지만 텍스트 인버젼보다는 훨씬 큰 용량을 차지합니다.
  3. 로라 / LoRA
    • Low-Rank Adaptation of Large Language Models 의 약자가 LoRA 입니다
    • LoRA는 모델의 학습하면서 더 적은 메모리를 사용하는 학습 방법입니다. 이 방법은 기존 가중치에 랭크 분해 가중치 행렬 쌍을 추가하고, 새로 추가된 가중치만을 학습합니다.
    • 드림부스가 나오고 난뒤에 퍼진 기술입니다. 하지만 사실상 현재 가장 많이 학습시키는 방법으로 생각됩니다. 드림부스에 비견될 학습결과를 보여주지만 용량은 하나의 체크포인트 파일이 나오는 드림부스보다는 월등이 작은 용량을 가집니다.
  4. 드림부스
    • 구글이 발표한 기술
    • 몇 장(3-5장)의 이미지로 텍스트-이미지 모델을 개인화하는 방법. 서로 다른 장면, 자세 및 시각에서 주제에 맞는 이미지를 생성할 수 있음.
    • 관련 페이지 링크
  5. 기타 FineTuning
    • 드림부스가 아닌 파인튜닝을 하는 방식들을 말합니다. 각각의 프로그램마다 다르다고 봐야겠지요. 개인적으론 드림부스보다 조금 더 학습이 잘된다고 생각하고 있습니다.

학습법의 결과물은 “텍스트 인버젼 < 하이퍼네트워크 << 로라 < 드림부스 < 기타 방식”으로 잘 나오는 것으로 보입니다.

이 글은 기본적으로 webui를 로컬이든 코랩이나 구름 또는 런포드에서 돌려본 적이 있으신 분들을 전제로 글이 작성되었습니다. ai그림 작업을 처음 하시는 분들에게는 부적합한 글이 될 수 있습니다. 또한 저는 전공자나 관련 업종 종사자가 아니기 때문에 용어 사용에서 부정확 하거나 틀린 점이 있습니다.


이러한 학습법을 사용할 수 있는 프로그램들을 정리하겠습니다.

학습 프로그램

  1. Automatic1111 WebUI
    • 지원 기능
      • 텍스트 인버전
      • 하이퍼네트워크
    • 확장프로그램으로 (링크) SD1.5 버전의 드림부스와 LoRA 학습을 사용할 수 있습니다. 드림부스는  ShivamShiaro를 기반으로 합니다. LoRA는 cloneofsimo를 기반으로 하는것으로 보입니다.
  2. thelastben
    • 링크
    • 지원 기능 코랩 프로
      • 드림부스: SD1.5, SD2.1 512, SD2.1 768
    • 지원 기능 런포드 / Paperspace
      • 드림부스: SD1.5, SD2.1 512, SD2.1 768
      • 로라: SDXL
    • 틈만나면 버그를 잡는걸로 보입니다. 버그 때문에 문제날 일은 적지 않을까 싶습니다.
  3. kohya-ss
    • 링크
    • 위의 버전의 GUI버전 bmaltais 링크
      • 설치가이드 영상 링크
    • 위의 버전을 코랩에서 돌릴 수 있도록 한 버전 Linaqruf 링크
    • 위의 버전을 구름에서 로라만 돌리게 한 버전 HuaInZu 링크
    • 지원기능
      • 텍스트 인버전: SD1.5, SD2.1 512, SD2.1 768
      • 로라: SD1.5, SD2.1 512, SD2.1 768, SDXL
      • 드림부스: SD1.5, SD2.1 512, SD2.1 768
      • 파인튜닝: SD1.5, SD2.1 512, SD2.1 768, SDXL
    • 국내에서 가장 많이 언급되는 학습 프로그램입니다.
    • SDXL이 기본버전으로 합쳐져 있진 않습니다. 따로 지원버전을 선택해야 합니다. 아니면 여기 링크를 누르시면 됩니다.
  4. EveryDream Trainer 2.0
    • 링크
    • 지원기능
      • 파인튜닝: SD1.5, SD2.0 512, SD 2.0 768 SD2.1 512, SD2.1 768
      • 코랩, 런포드, vast.ai을 지원합니다.
  5. One Trainer
    • 링크
    • 지원기능
      • 임베딩(텍스트 인버전 으로 보입니다): SD1.5, SD2.0, SD2.1, SDXL
      • LoRA: SD1.5, SD2.0, SD2.1, SDXL
      • 파인튜닝: SD1.5, SD2.0, SD2.1, SDXL
    • 아래의 Stable Tuner 로부터 영감을 받았다고 합니다. 아래 프로그램 대신 쓰면 되지 않을까 싶습니다.
    • 설치 경로에 한글이 있으면 오류가 날 수 있습니다.
  6. StableTuner
    • 링크
    • 지원 기능
      • 드림부스: SD1.4 ,SD1.5, SD2 512, SD2 768, SD2.1 512, SD2.1 768
      • 파인튜닝: SD1.4 ,SD1.5, SD2 512, SD2 768, SD2.1 512, SD2.1 768
      • 로컬 컴퓨터에서 돌리는 기능이 기본이나 런포트나 코랩에서 돌릴 수 있는 설정이 있습니다.
    • 제가 주력으로 쓰던 프로그램인데 지원이 끊겼습니다. 앞으로 제대로 작동 안할 가능성이 있습니다. 윈도우만 지원합니다.
  7. JoePenna
    • 링크
    • 지원기능
      • 드림부스: SD1.5
      • 코랩, 윈도우, 우분투, vast.ai을 지원합니다.
    • 초기에 발표 된 프로그램입니다. 지금은 Stability AI에서 일하시는 것 같습니다.
  8. ShivamShrirao
    • 링크
    • 지원기능
      • 드림부스: SD1.5
    • 위와 함께 완전 초기에 발표 된 프로그램 중 하나지만 Stable Tuner 보다 업데이트가 된지 오래됬습니다.

학습에 필요한 공통적인 준비물

학습시킬 이미지와 토큰. 추가로 정규화 이미지(드림부스나 LoRa, StableTuner사용 시 선택)

  1. 학습 시킬 이미지
    • 여러분이 학습시킬 이미지입니다. 예를 들면 좋아하는 캐릭터의 이미지가 될 수도 있고 어떠한 작가의 그림체가 될 수도 있습니다.
  2. 토큰
    • 일종의 태그라고 생각하고 있습니다. 태그와 완전 같지는 않지만 비슷하게 생각하면 될것 같습니다. 토큰이라고 적었는데 거창한건 아니고 파일명이 같거나(thelastben), 아니면 같은 파일명으로 된 txt파일 안에 태그나 설명이 들어가 있으면 됩니다.
    • Webui에 토큰을 편집하는 확장기능이 있습니다. 그리고 트레이닝 탭에 자동으로 토큰을 달아주는 기능이 있습니다. 파일명을 토큰으로 사용할 경우 윈도우에서 바꿀 그림파일들을 선택한뒤 F2를 누르면 일괄변경이 가능합니다.
  3. 정규화 이미지(선택)
    • 드림부스나 LoRa, StableTuner등의 학습에서 필요한 이미지. 제가 추측하기로는 과도한 학습을 하지 않게 도와주는 이미지라고 볼 수 있습니다. 저는 학습시키지 않을 일반적인 사진 또는 그림이라고 생각하고 있습니다.

하이퍼네트워크와 드림부스 비교

참고로 드림부스와 StableTuner, LoRa 이렇게 셋은 그렇게 까지 많은 스타일의 차이는 없는 것으로 생각됩니다. 아래는 img2img기능을 사용했을 때 나온 차이 입니다.

인스타 계정에(짭홍도 https://www.instagram.com/jjabhongdo/) 주로 img2img 또는 deforum을 이용한 이미지를 정리해서 올려 놓았는데, 중간에 있는 자판기기를 포함해서 이전에는 하이퍼넷트워크, 자판기 이후부터 파리까지 드림부스, 최근 이미지는 파인튜닝입니다.

학습에 관한 기타 의견

  • 드림부스(LoRA, Stable Tuner포함)를 과도하게 학습시키지 마세요. 일반적으로 이미지 개수가 많지 않은 이상 하이퍼네크워크보단 시간이 적게 걸립니다.
  • 어떤 학습법이든 처음부터 완벽하게 하기보다는 기본설정을 놔두거나 값을 낮춘 뒤 사용법을 익히는 것을 추천합니다.
  • Webui의 확장기능을 이용할 시 다른 곳에서는 되도 코랩에서는 안될 수도있습니다. 저의 경우 Deforum같은 확장기능이 되지 않고 있습니다.
  • 하이퍼네트워크와 드림부스는 동시에 사용도 가능했던것 같습니다. 꼭 한가지만 고집해야하는 것은 아닌것 같습니다.
  • 제가 링크를 남긴 곳을 통해 학습 방법을 익힐 수도 있지만 구글에서 학습에 대한 검색을 하면 한글로 된 자료를 많이 볼 수 있습니다. 가입해야만 볼 수 있는 곳도 있겠지만 그냥 볼 수 있는 페이지로도 충분하다고 생각합니다.
  • 학습 프로그램 중 짙게 칠한 두 프로그램이 사실상 가장 많이 쓰이고 유지보수가 되는 프로그램으로 보입니다.

코멘트

“스테이블 디퓨전 학습 5가지” 에 하나의 답글

  1. xn88 com

    Về chứng nhận hợp pháp, 188v vom là một trong số ít những địa chỉ cá cược có giấy phép hoạt động từ BMM Compliance, Ủy ban giám sát cờ bạc trực tuyến. Bên cạnh đó, nhà cái còn được các Tổ chức giám sát đầu ngành khác trực tiếp quản lý, ví dụ như GLI, BMM,…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다