MOSS-Image SFT Destripe LoRA: ComfyUI에서 수직 줄무늬 제거

ComfyUI Wikinews

1.9MB LoRA가 MOSS-Image SFT가 하늘과 단색 배경에 그리는 희미한 수직 색 줄무늬를 제거하며, 기본 ComfyUI LoRA 로더로 불러올 수 있습니다.

MOSS-Image SFT는 하늘, 안개, 민무늬 벽, 스튜디오 배경 같은 매끄러운 영역에 규칙적인 희미한 수직 색 줄무늬 패턴을 그립니다. 10월 18일 nynxz는 1.9MB LoRA인 SFT Destripe를 공개했습니다. 이 LoRA는 SFT 모델의 거의 모든 다른 특성은 그대로 두면서 줄무늬를 제거합니다. 재학습이 아니라 가중치 패치입니다. 커스텀 노드도, 새 체크포인트도 필요 없고, 사이트가 출시 당시 다룬 모델 뒤에 LoraLoaderModelOnly 하나만 붙이면 됩니다.

Destripe LoRA를 적용한 MOSS-Image SFT와 적용하지 않은 버전

위: SFT 출력, 원본과 밝기를 제거하고 색을 5배 강조한 버전. 아래: 동일한 프롬프트와 시드에 Destripe LoRA를 강도 1.5로 적용. 줄무늬는 밝기 변화가 아니라 색 변화이기 때문에 원본 이미지에서도 살아남습니다. 출처: nynxz/MOSS-Image

줄무늬의 정체

이 아티팩트는 평상시 보기에서는 놓치기 쉽지만, 색을 증폭하면 한 번 보면 잊을 수 없습니다. 고정된 주기를 가집니다. 너비 768px에서 약 16px, 너비 1024px에서 21.3px이며, 두 경우 모두 이미지 너비 전체로 48주기가 됩니다. 주기가 너비에 비례하기 때문에 센서 노이즈나 타일링 이음새처럼 보이지 않습니다. 모델이 학습해서 그리는 패턴처럼 동작합니다.

사용자들은 출시 며칠 만에 SFT 저장소에 이를 보고했습니다. 첫 번째 보고 스레드는 10월 16일 샘플 렌더와 함께 올라왔고, 그 안의 추측은 잘못된 VAE부터 증류된 teacher 아티팩트까지 다양했습니다. 어느 것도 확인되지 않았습니다. 스레드는 여전히 열려 있고 OpenMOSS는 설명을 게시하지 않았습니다.

1.9MB LoRA가 줄무늬를 제거하는 방법

이 LoRA는 학습된 것이 아니라 Base와 SFT의 차이에서 추출되었습니다. 개요는 다음과 같습니다.

  1. SFT의 252개 선형 레이어 각각에 대해 Base로부터의 가중치 델타를 구하고 SVD로 rank-1 방향들로 분해합니다. 각 방향은 파인튜닝이 추가한 "입력 패턴에서 출력 패턴으로" 가는 규칙 하나입니다.
  2. 각 방향이 줄무늬에 얼마나 기여하는지로 점수를 매깁니다. 줄무늬는 모델 자체 예측에서 48주기 열 패턴의 에너지로 측정하며, 줄무늬가 형성되는 초기 샘플링 단계에서 측정합니다(파일 헤더에는 25스텝 실행의 4~13스텝, ER-SDE, CFG 2.5, 768px, 시드 2개가 기록되어 있습니다). 역방향 패스 한 번으로 각 방향을 추가했을 때 그 줄무늬 에너지가 얼마나 빨리 증가하는지 알 수 있습니다.
  3. 점수가 가장 높은 64개 방향을 뺍니다. 이들은 레이어 2441에 걸친 25개 행렬에 위치하며, 그중 11개가 MLP ffn_up_gate, 나머지는 ffn_down, q, k, v, o에 있습니다. rank는 17이며, 그래서 파일이 1.9MB입니다. 저장된 숫자는 945,152개입니다. MATLOWAI의 가중치 분석에 따르면 이는 Base로부터 SFT의 전체 변화 에너지의 약 0.09퍼센트입니다.

방향 점수화 덕분에 파일이 작으면서도 둔해지지 않습니다. 이전의 두 가지 수정은 레이어 전체를 Base로 되돌리고 그 대가로 드리프트를 겪습니다. 이번 수정은 해당 레이어 내부에서 줄무늬를 운반하는 방향만 제거합니다. 인과성 검증으로, 같은 방향을 반대 부호로 적용하면 줄무늬가 약 22배 강해집니다.

ComfyUI에서 사용하기

moss_sft_destripe_top64_bf16.safetensors를 ComfyUI/models/loras/에 넣고, MOSS-Image SFT(Comfy-Org/MOSS-Image의 moss_image_sft_bf16 또는 moss_image_sft_int8_convrot)를 로드한 뒤 LoraLoaderModelOnly를 추가하고 너비에 따라 강도를 설정합니다.

  • 768px에서 1.0
  • 1024px에서 1.5

1024px에서 강도 1.0은 테스트 이미지 12장 중 6장에서 줄무늬를 없애고 나머지에는 희미한 흔적을 남깁니다. 강도 1.5는 이를 12장 중 1장으로 줄이고, 2.0은 1.5보다 나을 게 없으면서 SFT에서 더 멀어집니다. 이 LoRA는 SFT 자체의 변화로 만들어졌으므로 Base에서는 유용한 효과가 없습니다. 키는 diffusion_model. 접두사를 사용하며 기본 로더가 이를 그대로 매핑합니다.

같은 저장소에서 나온 로더 관련 주의사항이 하나 있습니다. **Load LoRA (Bypass)**를 사용하면 fused Comfy-Org 체크포인트에서 q/k/v 어댑터가 누락되며, 이 LoRA는 일부 레이어에서 q, k, v를 건드립니다. 일반 패칭은 fused 파일에서도 문제없습니다.

작성자 수치가 보여주는 것

블라인드 테스트는 큰 매끄러운 영역이 있는 네 가지 프롬프트(모래 언덕, 민무늬 벽, 탁 트인 물, 흐린 배경 위 인물 사진)를 각각 세 개 시드로 사용하며, 어느 것도 수정본 제작에 사용되지 않았습니다. 점수는 MATLOWAI의 bandviz 지표이며, 낮을수록 밴딩이 적고 약 16 이하면 깨끗한 것으로 판정됩니다.

모델bandviz, 768px줄무늬가 여전히 최고 피크SFT 대비 SSIM
SFT9.812개 중 9개1.000
SFT + Destripe @ 1.04.212개 중 1개0.995
Base, 참조4.212개 중 5개0.876

1024px에서 일반 SFT는 24.0점이며 12장 중 11장에서 줄무늬가 최고 피크입니다. LoRA를 1.5로 적용하면 5.9점에 12장 중 1장이며, Base는 4.0입니다. 이미지는 SFT가 생성한 것과 99퍼센트 이상 유사하게 유지됩니다.

단색 영역은 아티팩트가 가장 눈에 잘 띄고 제거하기 가장 어려운 곳입니다. 균일한 영역은 줄무늬가 숨을 곳을 주지 않기 때문입니다.

SFT 단색Destripe 단색
단색 베이지 배경, 일반 SFT동일한 프롬프트와 시드, LoRA 1.5

얼굴은 트레이드오프의 반대쪽 끝으로, 과격한 수정이 흔히 부드럽게 만들어 버리는 이미지 영역입니다.

SFT 인물 사진Destripe 인물 사진
인물 사진, 일반 SFT동일한 프롬프트와 시드, LoRA 1.5

MATLOWAI 벤치마크의 서드파티 렌더로, ArcFace로 동일성을 측정했습니다. 표준 프리셋 설정에서 0.94, LoRA 자체 샘플러 설정에서 0.96입니다. 출처: MOSS-Image-SFT-DeBand

서드파티 검증

가장 강력한 외부 증거는 MATLOWAI에서 나옵니다. 이들은 이 LoRA가 존재하기 전에 이미 같은 줄무늬에 대한 조사와 레이어 되돌리기 수정 세트를 공개했습니다. 해당 벤치마크는 이제 Destripe LoRA를 대안들과 정면으로 비교하며, 이를 범위의 온건한 쪽 끝으로 평가합니다.

수정단색, 중앙값 dB최악의 경우얼굴 유사도
Destripe @ 1.0−3.2−1.90.94
Destripe @ 1.5−3.9−1.80.94
Destripe @ 1.5, 자체 샘플러 설정−4.6−3.00.96
Base 모델, 참조−16.6−10.40.45

같은 글은 트레이드오프를 분명히 밝힙니다. 이 LoRA는 단색 영역을 약 −4dB 정도만 부분적으로 정리하므로 줄무늬가 희미해지지만 색을 강조한 보기에서는 여전히 보일 수 있습니다. 반면 레이어 되돌리기 수정은 이미지 전체를 변화시키는 대가로 더 멀리까지 도달합니다. 해당 README는 이제 가능한 한 작은 변화를 원하는 사람은 이 LoRA로, 가장 깨끗한 단색 배경이 필요한 사람은 더 무거운 수정으로 안내합니다.

한계

  • 측정은 768 및 1024px, ER-SDE, 25스텝, CFG 2.5를 대상으로 합니다. 다른 샘플러, 스텝 수, 해상도는 테스트되지 않았으며 밴딩은 시드마다 크게 달라집니다.
  • 이 수정은 설계상 부분적입니다. 64개 방향을 한 해상도에서 1차 근사로 점수화했습니다. 더 넓은 이미지(1536px 이상)는 이 LoRA가 점수화되지 않은 다른, 더 물결치는 줄무늬를 그립니다.
  • OpenMOSS의 공식 입장은 없습니다. 작성자가 10월 19일에 SFT 저장소에 올린 설명 글은 SFT 데이터 파이프라인이 위치 스케일링, 버킷팅 또는 크기 조정된 이미지를 사용했는지 묻고 방향별 점수를 제공하며, 작성 시점까지 답변이 없습니다.

저장소의 다른 항목

같은 저장소는 두 MOSS-Image 체크포인트의 q/k/v 분리 버전도 제공합니다. 각 어텐션 레이어의 q, k, v가 하나의 fused qkv 대신 별도 텐서로 저장됩니다. 가중치는 동일한 숫자를 다른 레이아웃으로 담은 것으로, 379개 대신 463개 텐서입니다. 이는 어댑터 작업을 위한 것입니다. AI Toolkit 같은 트레이너는 q, k, v 레이어를 따로 작성하는데, fused 파일에서는 이런 어댑터를 슬라이스에 매핑해야 합니다. Comfy-Org 파일 대신 Load Diffusion Model로 로드합니다.

이용 가능성

두 아티팩트 모두 Hugging Face에 있습니다. 텍스트 인코더와 VAE는 변경되지 않았으며 Comfy-Org/MOSS-Image에서 가져옵니다. 밴딩 분석과 점수 산정의 기반이 되는 bandviz 지표는 MATLOWAI의 것으로 MOSS-Image-SFT-DeBand에 있으며, 동일한 프롬프트와 시드에 대한 모든 수정의 대화형 비교도 함께 제공됩니다.

댓글

GitHub로 로그인하고 토론에 참여하세요.

댓글을 불러오는 중…
MOSS-Image SFT Destripe LoRA: ComfyUI에서 수직 줄무늬 제거 | ComfyUI Wiki