SD로 생성한 그림에 예쁜 옷을 입히기 위해 LoRA 를 사용하곤하는데, 이렇게 하면 얼굴이 변경되는 문제가 있다. LoRA 를 트레이닝 할 때 사용된 이미지에 얼굴이 있고 이게 이미지 생성시 반영되기 때문이다.
그래서 요즘 나오는 의복용 LoRA 에는 일부러 얼굴을 학습시키지 않는 경우도 있다. CivitAI 에서 봐도 이렇게 트레이닝된 LoRA 들이 꽤 보인다. 이런 LoRA 는 얼굴이 변경되지 않기 때문에 이미지 생성하기 편해진다. 문제는 예전에 작성된 LoRA 다. 이런건 답이 없다.
그래서 생각해낸게,
"540x960 에 Hires. fix 를 사용해 1080x1920 이미지를 생성"
하던걸
1. 540x960, Face Editor 사용 (Face Editor 용 프롬프트는 LoRA 제거한 프롬프트로 넣음) 2. img2img 에서 LoRA 제거한 프롬프트를 넣어 SD upscale.
와 같이 진행한다. 이렇게 하니 만족할만한 결과가 나왔다. 얼굴이 거의 LoRA 사용 전의 모습으로 나오기 때문이다. 아래는 그 예이다. 이 이미지에 사용된 LoRA 와 그 해시값은 아래와 같다.
주황색, 적색 헤어를 가진 캐릭터를 그려 보았다. 요즘 나오는 에니 실사 영화에서 예쁜 적발 캐릭터가 하나 없어진 아쉬움에 그려보았다.
전세계적으로 원래 적발도 꽤 흔한건 아니고, 꽤 많은 차별이 있어왔다고 알고 있다. 아니 있다. 역사적으로 이들도 꽤 많은 차별을 받아왔는데, 어느 에니에서 적발 캐릭터를 바꾼다는게 이해가진 않는다. 적발, 차별 정도로 인터넷 검색해보면 쉽게 검색된다. 적발은 아일랜드계에 많이 있는데 아일랜드와 영국의 역사를 참고하면 쉽게 짐작할 수 있다.
Stable Diffusion 에서는 적발이 묘사가 잘 안되는거 같아 오렌지 색으로도 프롬프트를 주어 작성했다.
펜티엄 CPU와 메모리 4G 포함 당근에서 4만냥에 구매했다. 현재 H270 ATX 마더보드의 중고 가격은 7만원 정도다. CPU와 메모리에는 관심 없었다. 원래는 M-ATX 폼 팩터를 원했지만 마침 괜찮은 매물이 있어 구매했다.
마더보드에 이상 없다. PCIe 도 잘 작동하고 메모리 슬롯 4개도 잘 인식된다. 부랴부랴 윈11 설치해서 잘 쓰고 있다. 오디오 단에 불이 들어오지 않아서 인터넷 검색해보니 원래 불이 들어오지 않는다. PCIe x16 슬롯의 걸쇠 2곳에 불이 들어온다.
- 바이오스를 2018년 6월 1일 출시된 마지막 버전인 2001 으로 업그레이드했다. 몇달전에 샀던 H110-K 보다 CPU 펌웨어 버전(ME버전)이 낮아 조금 아쉽다.
- 처음 살때에는 보드가 전체적으로 약간 휘어져있었지만 (그래서 저렴하게 구매한거기도 하다), 몇달 사용하고 나니 잘 펴졌다. 당근 판매자도 사용하다가 고장나면 연락 달라고 했었는데 결과적으로 연락 안했다. 역시 ASUS라 좋은듯. 펴지면서 마더보드 고장나는 경우도 흔하기 때문에 이경우는 단지 운이 좋았다고 할 수 있다.
- 전원부는 6 페이즈다. i7-7700K 까지 무리없이 구동할 수 있는 스펙이다.
- 나중에 알았지만 이 마더보드는 채굴용으로 꽤 많이 사용했다고 한다. 나름 검증된 제품이라는 듯 하다. PCIe x1 이 4개나 있고, 총 6개의 장비를 끼울 수 있는데다 가격도 저렴했고 말이다. 당시 이 가격대에서 6개의 PCIe 가 있는 경우가 흔하지 않았다고 한다. 이 제품이 15만원에 판매되었는데, 채굴 붐이 일어났을때는 20만원이 넘었던데다 품절이었다고 한다.
요즘에 가장 핫한 AI 알고리즘이 Transformer 라는 알고리즘이다. 대규모 언어 모델을 구현할때 많이 사용한다. xFormers 는 페이스북에서 만든 Transformers 기반의 성능향상 파이썬 모듈이다 nVidia CUDA 에 최적화되어있다. Stable Duffusion 에도 Transformers 가 있기 때문에, 이 부분을 성능향상시켜준다.
Transformer 아키텍처.라고 한다.
몇일전에 xFormers 0.0.20 이 나왔다. 성능이꽤 많이 향상되었다고 해서, 한번 써 봤다.
2023.05.26 현재 Stable Diffusion webUI에서 소스 수정없이 설치되는 xFormers 버전은 0.0.17 이다. 조만간 0.0.20 을 사용하도록 변경할 것으로 생각한다.
필자는 RTX 2060 12G 을 사용하고 있다. nVidia 홈페이지에서 윈도11용 드라이버를 새로 받았고, Stable Diffusion 디렉토리의 venv디렉토리를 지우고, launch.py 를 수정해 xFormers 0.0.20 을 설치했다.
결론부터 말하자면, 꽤 만족할만한 성능 향상이 있었다. xFormers 0.0.17 으로 2:27 걸리던 이미지 생성시간이 XFormers 0.0.20 으로 업그레이드 하니 2:04 이 걸렸다. 20여초나 단축한 셈. 매우 많은 성능향상이다.
윈도 11에서 사진 앱을 실행한 후 종료했지만, Shell Infrastructure 라는 프로세스가 계속 작동하는 현상이 발생했다. 이로 인해 CPU 점유율이 코어 1개를 전부 소비하는 현상이 발생했다. 아무래도 이건 버그인듯 한데, MS 에서는 아직 패치를 발표하진 않았다. 인터넷 살펴보니 최소 작년부터 발생한 버그인거 같다.
우선 증상 확인은 아래와 같이 할 수 있다. 작업관리자에서 Sheel Infrastructure Host 가 CPU 를 많이 점유하고 있다.
해결방법은 1. 앱을 초기화한 후 2. Shell Infrastructure Host 를 강제로 종료하면 된다.
- 앱을 초기화하는 건 아래 사진처럼 설정 - 앱 - 설치된 앱에서, Microsoft 사진을 찾아 들어가면 하단의 초기화 섹션에 "복구", "초기화" 버튼이 있다. 차례대로 눌러준다. 강제종료하는건 작업관리에서 Shell Infrastructure Host 을 선택한 후 상단의 "작업 끝내기" 클릭하면 된다.