잡글) civitAI 랭킹 근황

이미지
 요즘 LoRA 학습에 푹 빠져있는데 LoRA가 잘 만들어졌는지 테스트 하려면 테스트할 프롬프트가 필요하다.  필자는 매번 프롬프트에 아무거나 넣어보다가 잘되면 기록해놓는데 정말 잘 나온 애들은 civitAI에 올려놓는다.  https://civitai.com/images/7622855 요런거 개인적으로 잘나왔다고 본다. 암튼, 그래서 civitAI에 올린 프롬프트와 파라미터를 찾으러 갔는데 우측에 브론즈 딱지가 붙어있는 것을 봤다. civitAI SDXL 크리에이터 93위... 베이스모델 49위... 음.... 100위 안에 랭크인 됬는데 브론즈다. 생각보다 모델 올리는 사람이 없나 보다.  49위한 베이스모델은 정말 초창기에 SD 1.5모델을 올렸던게 인기가 좀 있었던거 같다. 사실 그당시엔 아무거나 올려도 열광할때라 선점효과가 강력했다. 지금은 업로드하는 사람이나 다운받는 사람이나 굇수들만 남아서 어중간한 모델은 인기가 없는 거 같다 ㅠㅠ (AnimagineXL 3.0이 너무 강력해서 그만..) 그리고 SD모델이 점점 커져서 SDXL같은 건 정말 좋은 GPU를 갖고 있는 유저들만 돌릴 수 있고 NAI나 기타 AI 생성 서비스가 좋아져서 굳이 civitAI까지 안 가도 되긴하다. 할부로 긁은 RTX4090이 언제까지 버틸련지... 어제 엔비디아 블랙웰 기사를 보는데 GPU가격은 천정부지에 소비전력과 크기도 만만치 않다... 물론 성능도 중요하지만 쿼드로~지포스급에선 성능보단 메모리 싸움인데, 이번 5000대도 24기가 달고 나오면 굳이 넘어가야하나? 싶다. 물론 엔비디아가 장사를 잘한다면 32GB나 48GB를 달고 나오겠지 어디까지나 희망사항이다. 근데 랭크인하면 이제 뭐함...? 네이버 생성형 AI쪽 취직 좀 시켜줬으면 GPU 개고순디

스테이블 디퓨전으로 고품질 그림을 생성하는 팁 몇 가지(1. 퀄리티 태그)

스테이블 디퓨젼으로 그림을 그리는 것은 누구나 할 수 있지만, 고품질 그림을 생성하는 것은 마음만큼 쉽지 않다. 
퀄리티 태그는 뭐고.. masterpiece는 왜 넣는지... hires.fix는 또 뭔지.. 외에도 여러 파라미터들을 어떻게 맞추는지 고품질 그림을 뽑는 방법에 대해 몇 가지 팁을 공유하고자 한다.
모든 팁들을 한 번에 알려주기엔 오래 걸리니 하나씩 알려주고자 한다.

1. 퀄리티 태그 사용하기

퀄리티 태그란, 흔히 보이는 masterpiece, best quality에 대해서다.
이 팁은 모든 SD(Stable Diffusion)에 적용할 수 있는 아니다. 퀄리티 태그를 학습할 때 이용한 모델 혹은 그 모델을 베이스로 병합(merge)한 모델만 사용할 수 있다.

퀄리티 태그를 사용할 수 있 모델은 대표적으로 다음과 같다.
  • NAI
  • Anything
  • Waifu Diffusion (WD)
  • AnimagineXL
  • 위 모델 기반 기타 병합모델들(무슨무슨 믹스)
사실 애니메이션풍 생성 모델은 모두 저 모델들을 기반으로 하고 있으니, 애니메이션 그림체 모델들은 걱정 없이 바로 masterpiece, best quality 등을 positive 프롬프트창에 넣으면 된다.

그럼 이제 퀄리티 태그의 기준에 대해 알아보자. 
masterpiece, best quality 는 어디서 어떻게 나온 프롬프트 일까? 왜 king god ultra general quality와 같은 태그는 없을까?

퀄리티 태그는 AnimagineXL에서 다음과 같이 정의된다.

Like the previous iteration, this model was trained with some special tags to steer the result toward quality, rating and when the posts was created. The model can still do the job without these special tags, but it’s recommended to use them if we want to make the model easier to handle.

이전 버전과 마찬가지로 이 모델은 결과물을 품질, 평가 및 게시물 작성 시간으로 이끄는 몇 가지 특별한 태그로 훈련되었습니다. 이 모델은 여전히 이러한 특별한 태그 없이 작업을 수행할 수 있지만, 모델을 더 쉽게 다루고자 한다면 이러한 태그를 사용하는 것이 권장됩니다. -ChatGPT 번역-


일반적으로 생성형 AI에서는 그림+텍스트(문장)를 이용하여 학습을 수행한다. 이때, 이미지를 품질에 따라서 분류하고 분류된 품질을 텍스트에 추가하여 학습한 것이다. AnimagineXL의 퀄리티 태그(Qulaity Modifier)는 다음과 같다.


총 7개 퀄리티로 나뉘며, masterpiece, best quality, high quality, medium quality, normal quality, low quality, worst quality 순으로 뒤로 갈수록 이미지 품질이 낮아진다.

각 태그는 스코어가 기준이 되는데 이 스코어는 모델 제작자가 언급하진 않았지만, Danbooru의 스코어에 따른 것이라 추측할 수 있다. Danbooru는 전 세계 그림 공유 사이트로 유저들이 업로드된 이미지에 대해 직접 좋아요를 줄 수 있다.
대충, 유튜브 좋아요라 생각하자. 따라서, 위 분류체계에 따르면 masterpiece는 단부루(?)에서 좋아요 150개가 넘는 이미지이다.

그러니까 즉 퀄리티 태그는 학습 이미지의 좋아요 수를 기반으로 7개로 분류된 것이다.
이러한 이유로 우리가 postive 프롬프트창에 masterpiece를 넣으면 좋아요 150개가 넘는 이미지에 근접한 이미지, 즉, 명작(masterpiece) 이미지가 생성되는 것이다.
비슷한 원리로 negative 프롬프트창에 worst quality를 넣으면 좋아요가 낮은 이미지와 반대되는 이미지가 생성되는 것이다.

하지만, 여기엔 함정이 있다. 오래된 이미지일수록 좋아요가 축적되고 새로운 이미지일수록 좋아요가 낮다. 따라서 오래된 이미지가 생성될 가능성이 매우 높은 것이다. 그러면 퀄리티 태그를 이용하면 새로운 이미지들은 일반적으로 low quality~normal quality로 분류될 것이다.

AnimagineXL3.0에선 Year modifier를 이용하여 위 문제를 해결하였다.
(아님? 그냥 넣었을 수도 있다)
부르기 쉽게 연도 태그라고 부르겠다. 단순히 이미지의 연도(아마 danbooru에 업로드된 시점) 이용하여 newst, late, mid, early, oldest로 분류하여 학습했다고 한다.


이 연도 태그는 아쉽게도 AnimagineXL3.0 이전에는 이용되지 않았다.(필자의 지식으론 AnimagineXL3.0 이전에 쓰였다고 본 적이 없다.)
그러니까 현시점 1월 14일엔 AnimaginXL3.0과 기반 병합모델들만 이용가능하다.
자신의 주력 모델이 AnimagineXL3.0이 아니라면 쓰진 말고 그냥 알아만 두자. 써봤자 유의미한 효과 없다.

여담으로 nsfw도 임의로 넣은 태그다. 자세히 알고 싶다면 관련문서를 볼것.
AnimagineXL3.0에선 nsfw를 4단계로 분류하고 있다.(4단계 분류도 Danbooru 기준이므로 어디서 데이터셋을 긁어왔는지 안 밝혀도 알 것 같다.)


본 글을 3줄로 요약하면 다음과 같다.

애니그림체 SD모델의 학습 이미지는 좋아요를 기준으로 masterpiece, best quality,...,low quality, worst quality로 분류 되고 학습되었으니, 적절히 프롬프트에 넣어 사용하자. 오리지널 SD나 chatGPT, bing생성기는 퀄리티 태그 써봤자 무용지물이다. (Journey류는 될지도?)

궁금한 점이나 질문을 댓글로 달아주면 글 쓸거리가 생기니 많은 댓글 부탁드립니다.


관련 문서

댓글

이 블로그의 인기 게시물

Merged model ReMaster+ recipes(리마스터+ 레시피)

잡글) civitAI 랭킹 근황

야 너도 ComfyUI 쓸 수 있어. 스테이블 디퓨전 고수들만 쓰는 ComfyUI 기본 세팅하기 1