hyperfusion LoRA 550k images

세부 정보

모델 설명

이 LoRA는 정상에서 초대형 애니메이션 캐릭터까지 총 55만 장의 이미지로 훈련되었습니다. 주로 가슴/엉덩이/배/허벅지에 초점을 맞추고 있으며, 이제 더 일반적인 태그 주제를 다루는 것도 가능해졌습니다.

**v8 LoRA가 어디 있는지 궁금하시다면, 다음 ChangeLog 기사 를 읽어보세요.**

이 모델들을 위한 백업 HuggingFace 링크

HyperFusion에서 사용된 약 140만 개의 커스텀 태그를 여기서 다운로드 할 수 있습니다. 귀하의 데이터셋에 통합하는 데 사용 가능합니다.

추천 설정:
음성 태그 (베이스 모델에 따라 다름, 본인에게 효과적인 것을 사용하세요): lowres, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, (worst quality, low quality), normal quality, jpeg artifacts, signature, watermark, username, blurry, monochrome, [3d], comic, (sketch), transparent background, artist name
cfg: 9-12
해상도: 768~1024, 하지만 768에 가까운 것이 더 선호됨
clip skip: 2

샘플러: v7 이상에서는 Karras 샘플러를 피하는 것이 좋습니다. --zero_terninal_snr로 훈련하면 Karras 샘플러가 문제를 일으키지만, 여전히 어느 정도는 작동합니다.

ChangeLog 기사 링크

태그 정보 (태그 문서는 꼭 읽어보시는 것이 좋습니다. : 훈련 데이터)

HyperFusion은 다양하고 복합적인 태그 체계를 통합한 모델이므로, 훈련 데이터 다운로드 섹션에 태그 가이드를 포함했습니다. 각 태그의 작동 방식(다른 보루 사이트의 태그와 유사), 모델이 가장 잘 아는 태그, 그리고 제가 자체 레이블링한 모든 커스텀 태그에 대해 설명합니다.
대부분의 경우 Danbooru, Gelbooru, r-34, e621에서 제공하는 가슴/엉덩이/배/허벅지/젖니와 관련된 태그들을 대부분 사용할 수 있습니다.

태그 탐색에 가장 효과적인 방법은 위의 보루 사이트 중 하나에서 마음에 드는 이미지의 태그를 복사하여, 기본으로 사용하는 것입니다. 이 모델에 훈련된 태그 수가 너무 많기 때문에 모든 태그를 테스트할 수 없습니다.

  • 특정 태그를 사용했을 때 원하는 결과가 나오지 않으면, 비슷한 태그를 찾아 함께 사용해보세요. 이 모델은 한 태그에 대한 지식을 관련된 다른 태그로 퍼뜨리는 경향이 있습니다. 따라서 더 많은 태그를 포함하면 원하는 결과를 얻을 확률이 높아집니다.

  • "3d"라는 음성 태그를 사용하면 이미지가 너무 렌더링된 모델 스타일로 치우쳤을 때 애니메이션 스타일로 더 자연스럽게 만드는 데 효과적입니다.

  • 엉덩이 관련 태그는 뒷모습을 선호합니다. 이로 인해 불편하다면 낮은 강도의 ControlNet 포즈를 사용해 보든지, 다음 태그들을 음성 태그에 포함해 보세요: "ass focus, from behind, looking back". 새롭게 추가된 "앞에서 엉덩이 보이는" 태그도 도움이 될 수 있습니다.

  • ...자세한 팁은 태그 문서 참조

추가

이 모델은 수개월 간의 실패와 심각한 교훈을 거쳐나온 결과물입니다 (바로 v7의 이유죠!). 앞으로는 특정 태그 개선을 위해 몇 가지 이미지 분류기를 추가로 훈련시키고 싶지만, 지금은 모두 잠시 보류하고 있어요.

일반적으로 제 모델들은 어떤 형태로든 수익화하려는 의도가 없습니다. 두꺼움을 마음껏 즐기세요!


훈련 과정에서 겪은 난관

-태깅-

대규모 데이터셋의 태깅의 핵심은 모든 과정을 자동화하는 것입니다. 저는 처음에 wd-tagger (또는 유사한 Danbooru 태거)로 원본 태그 위에 공통 태그를 추가했습니다. 이후 e621 태거도 추가했지만, 일반적으로 전체 태그 목록을 사용하는 대신 제한된 태그 목록만 사용했고, 정확도가 부족한 태그는 제외했습니다. 그런 후 가슴 크기, 가슴 형태, 안면/외면 복부, 방향성, 움직임선, 총 20가지 이상의 이미지 분류기를 훈련시켜 자동으로 태깅하도록 했습니다. 이 분류기들은 기존 태그를 개선하는 것뿐만 아니라, 새로운 개념까지도 데이터셋에 추가합니다. 마지막으로, 태그 문서에 설명한 대로 유사한 태그를 하나의 태그로 통합했습니다 (지금은 이 작업을 중단했습니다. 300만 장의 이미지 기준으로는 큰 영향을 거의 주지 않음).

일반적으로 특정한 것을 프롬프팅하기 어렵다고 느낄 때마다 새로운 분류기를 만듭니다. 현재까지 잘 작동하지 않는 분류기는 이미지의 작은 세부 사항(예: 서명)을 분류하는 것입니다.

v9부터는 태그와 함께 약 5%의 캡션을 포함할 예정입니다. 이러한 캡션은 CogVLM을 사용해 생성됩니다.

저는 이미지 분류기를 훈련하기 위해 이 곳을 사용했습니다
https://github.com/huggingface/transformers/tree/main/examples/pytorch/image-classification

이상적으로는 Danbooru 태거처럼 이미지당 다중 클래스 분류기로 훈련해야 하지만, 현재는 이미지당 단일 클래스 분류기가 충분히 효과적으로 작동합니다.

-저품질 결과-

오랫동안 저품질 결과에 시달렸습니다. 혹시 데이터 품질이 떨어져서 그런가 싶었지만, 결국 문제는 잘못된 태깅에 있었습니다. r-34와 같은 사이트는 같은 이미지에 "큰 가슴, 엄청난 가슴, 초대형 가슴" 등 너무 많은 태그를 묶어 쓰는 경우가 많습니다. 하지만 이 모델에서는 특정 크기를 원할 경우 이런 피드백은 오히려 방해가 됩니다. 위에서 언급한 분류기를 사용해 각 신체 부위별로 하나의 크기 태그만 각각 허용하도록 제한했더니 결과는 그야말로 천차만별이 되었습니다.

2023/08/13 태깅 및 훈련에 더 많은 경험을 하며 다시 돌아와서도 위의 말에 동의합니다. 저는 더 많은 이미지를 태깅할수록 모델은 프롬프트에 더 민감하고 신뢰할 수 있게 됩니다. 최근에 추가된 'bottomheavy', 'topheavy', 'bellyheavy' 태그를 보면 이러한 점이 명확합니다. 특정 신체 유형 생성이 쉬워지고, 프롬프트에서 원하는 바를 모델이 더 잘 이해하게 되었습니다. 추가적인 이미지를 추가하지 않아도 태깅 품질을 개선함으로써 이 태그들이 효과적으로 작동하도록 만들었습니다.

-태그 누출-

태그 누출의 예로는 "거대한 가슴" 태그를 사용했지만, 결과적으로 가슴뿐만 아니라 엉덩이, 허벅지까지도 모두 거대해지는 것이 있습니다. 이 현상은 매우 민망하고 빈번한 문제였습니다.

2024/03/15 더 큰 모델을 훈련시킨 후로는 누출 문제가 덜 심각해졌다는 걸 확인했습니다. 답은 더 많은 데이터라는 것입니다.

-테스트-

새 모델이 이전 모델보다 나은지 판단하려면, 비교 가능한 표준 프롬프트가 필요합니다. x/y 플롯은 이 작업에 매우 효과적입니다. 다만 주의할 점은 서로 다른 모델 간 시드가 완전히 다를 것이며, 단순히 1:1 비교보다는 수십 개씩 동시에 비교해야 한다는 점입니다.

또한, 새 모델이 베이스 모델 출력 결과에 비해 전반적으로 긍정적인 효과를 내는지 확인하는 것도 중요합니다(분명한 듯하지만 자주 간과되는 점).

2023/08/13 테스트에서 가장 어려운 문제는 텍스트 인코더를 과도하게 훈련했는지 판단하는 것 입니다. 어느 시점에서 텍스트 인코더를 너무 높은 학습률로 훈련하면 프롬프트 해석 능력이 저하되기 시작합니다. 소규모 및 대규모 모델 모두에서 이 현상을 목격했습니다. 불행히도, 여전히 이를 확인할 좋은 방법이 없습니다. 오래된 모델과 비교할 수밖에 없습니다. 텍스트 인코더 없이 훈련하려는 시도는 여러 번 있었지만, 결과는 항상 좋지 않았거나 훈련이 너무 느렸습니다. 기존 베이스 모델과는 전혀 다른 개념에 대해서는 TE를 사용해 훈련하는 것이 훨씬 나은 이해를 가능하게 합니다.

-소프트웨어/하드웨어-

전체 훈련은 Ubuntu 시스템의 3090에서 수행되었습니다. 사용된 소프트웨어는 현재 가장 다양한 옵션을 제공하는 Kohya의 트레이너입니다.

이 모델로 만든 이미지

이미지를 찾을 수 없습니다.