2026년 10월 31일 (토)

PINKSKY NEWS

매일의 기록을 뉴스처럼

테크

Krea-2를 한 조각씩 분해해 본다

원문 제목 — Taking Krea-2 apart, one piece at a time

📄 전문 번역

r/StableDiffusion의 AI 생성 고블린 여러분께 인사드린다. 지난 몇 주 동안 필자는 직접 만든 도구 Arthemy Krea-2 Tuner를 스트레스 테스트해 왔다. Krea-2의 개별 블록 가중치를 미세하게 조정하는 것이 모델의 내부 구조에 대해 무언가를 알려줄 수 있는지 알아보려는 것이 목적이었다. 모델과 텍스트 인코더 두 부분을 다루었는데, 텍스트 인코더 쪽은 최근에 시작했지만 이전 것보다 훨씬 흥미로워 보인다. 근본적인 질문은 훈련 없이도 스타일, 외관, 색채 등 이미지의 무언가를 바꿀 수 있는 '노브'가 모델 안에 이미 존재하는지였다.

수 주간의 작업과 수천 번에 달하는 렌더링 끝에 발견한 것은 고작 하나였다. 시원찮지만 없는 것보다는 낫다. 이 접근에서 그럴듯한 결과가 나온다면 훈련 없이 소형 파인튜닝의 역할을 대신하는 프리셋을 만들 수 있을 것이다. 아직은 공상 과학 수준의 이야기지만, 필자가 쓰는 프리셋은 34개의 숫자, 수백 바이트에 불과하며 일반적인 LoRA의 수십~수백 MB와 대비된다. 접근 방식이 조악한 것은 안다. 자동차를 산탄총으로 쏴서 작동 원리를 이해하려는 것과 같지만, 그래도 창문이 어디에 있는지(특유의 소리가 난다)와 어느 부품이 생명줄인지는 알 수 있다. 조각을 부순 뒤 무엇이 멈추는지 관찰하는 것은 해석 가능성 연구의 오래된 기법으로, 어디서 일어나는지는 알려주지만 어떻게는 알려주지 않는다. 이 모델들에 대해 알려진 바가 이처럼 적은 지금 그것이 무용하다고는 생각하지 않는다. 물론 데이터를 보기 전에 테스트 규칙을 미리 확정했고, AI를 전혀 모르는 여자친구를 불러 가장 중요한 블라인드 테스트를 맡겼다. 한계로는 단일 모델, 거의 항상 한 명의 관찰자(필자 자신), 작은 표본이 있다. 결론이 데이터를 넘어설 때는 🔎로 표시하는데, 이는 단서이지 증거가 아니다.

첫 번째 발견은 텍스트 인코더 편집이 무엇이 그려지는지(장르, 스타일, 캐릭터가 누구인지)를 바꾸며, 드로잉 모델 편집보다 이미지 품질을 훨씬 덜 해친다는 것이다. 같은 시드와 프롬프트로 캐릭터별 행을 구성해 왼쪽은 원본, 오른쪽은 텍스트 인코더의 한 레이어를 두 배로 늘린 결과와 비교했다. 아무것도 노이즈가 생기거나 깨지지 않았지만 스타일과 심지어 인물이 바뀌었고, 같은 레이어가 두 캐릭터를 서로 다른 방향으로 밀어냈다. 표준 품질 지표로 측정한 결과 텍스트 인코더 편집은 이미지를 악화시키지 않은 반면 드로잉 모델의 프리셋은 악화시켰다. 최대 강도(x2.0)에서도 이미지가 무너진 경우는 없었다. 대신 일관성이 떨어져 같은 편집이 캐릭터마다 다른 방향으로 작용했고, 20개 편집 중 4개만 모두를 같은 방향으로 움직였다. 🔎 이런 편집은 그림을 손상시키는 대신 프롬프트 단어들 사이의 연결을 깨뜨린다는 것이 필자의 인상이지만, 기존 이미지로는 일관되게 정의할 수 없어 전용 렌더링이 필요하다.

두 번째 발견은 애니메이션이 일러스트의 유일한 폴백이 아니라는 점이다. 흔히 애니메이션이 거의 모든 모델의 일러스트 기본값이라고들 하지만 Krea-2에서는 그렇지 않았다. Anima와 Illustrious에서 넘어온 필자로서는 애니메이션이 더 강한 기본 폴백처럼 보였기에 놀라웠다. 프롬프트에서 스타일 단어를 제거하자 한 캐릭터는 매번 애니메이션이 되었지만 나머지 일곱 명은 회화나 사진으로 변했고, 즉 각자 고유한 폴백을 지닌다. 반면 가중치 편집은 캐릭터의 폴백으로 이끌지 않고, 그려지는 인물과 무관하게 각 편집마다 고유한 목적지(한쪽은 사실주의, 한쪽은 카툰)를 향한다. 🔎 필자의 가설은 모든 개념이 자신과 함께 가장 자주 등장한 스타일과 특징으로 폴백한다는 것이다. 텍스트 인코더 편집은 하나의 기본값이 아니라 해당 개념이 이미 근처에 사는 스타일들 쪽으로 밀어내는 것으로 보인다. 그래서 캐릭터가 스타일을 크게 바꾸더라도 작은 집합 안에서만 그렇다는 점을 설명할 수 있다. '엘프' 프롬프트는 만화, 애니메이션, 카툰으로 변했지만 사진은 되지 않았고, 같은 편집이 다른 대부분의 캐릭터는 사실적으로 만들었다. 결과가 그 방향을 가리키지만 증명은 아니며, Krea-2의 학습 데이터에 접근할 수 없는 만큼 같은 효과가 미학적 파인튜닝 단계나 텍스트 인코더 자체의 연상에서 비롯되었을 가능성도 있다.

몇 가지 단서가 있다. 단어 하나만으로 생성하면 선입견이 드러나는데, '여자 드워프'는 4번 중 4번 수염이 붙었고(Gimli가 흔쾌히 승인할 만하다), '유니폼'은 애니메이션 여학생이, '웨스턴'은 카우보이가 그려졌다. 텍스트 인코더를 변경하면 캐릭터는 고유한 특징을 먼저 잃고 더 '평균적인' 버전으로 표류한 뒤에야 스타일을 잃는다. 필자의 하프오크는 평범한 인간 여성이 되어 여전히 만화로 그려진 후에야 스타일을 잃는 식이다. 같은 강도의 무작위 밀기는 이렇게 작동하지 않는다.

💬 주요 댓글 번역 (5)

1 익명1

서로 반대되는 두 개념으로 매우 낮은 랭크의 슬라이더 LoRA를 만들어서, 그것이 어느 블록에서 활성화되는지 살펴보면 어떨까?

2 익명2

훌륭한 교차 검증이 될 것이다. 두 반대 개념으로 훈련한 슬라이더가 내 편집이 가리키는 것과 같은 블록에 대부분의 가중치를 둔다면, 그것은 어느 한쪽 방법만 쓸 때보다 훨씬 강력하다. 필자는 이미 LoRA에서 가장 강한 5개 방향을 유지하는 5D 추출기를 만들었고 원본 효과의 대부분을 재현하므로, 슬라이더가 블록별로 어디에 '거주'하는지 읽어내는 기능은 추가하기 어렵지 않을 것이다. 다만 먼저 이 벽에 좀 더 머리를 박아보고 싶다. 훈련 없이 시도해 볼 것이 아직 많이 남아 있다. 그래도 나중을 위한 목록에는 확실히 올려두겠다 :D

3 익명3

쉼표는 좋은 구분자지만 마침표는 더 좋은 구분자다. 다만 마침표조차 인접 토큰을 100% 분리하지는 못한다.

4 익명4

직감이 '정말 맞는 말이다'라고 하지만, 같은 이미지를 반복 생성하면서 모든 쉼표를 마침표로 바꾸고 결과를 확인하는 테스트를 거쳐야 한다. 그래도 훌륭한 벤치마크다. 이것도 목록에 추가하겠다 ^_^

5 익명5

쉼표 관련 결과는 특히 기쁜 승리였다. 필자는 쉼표로 구문을 묶어 두는 습관이 있는데, 프롬프트가 산문처럼 더 문법적인 구두점으로 쓰이는 모습을 보면(하나의 대상에 모두 작용하는 형용사들을 분리하는 식이라 프롬프트가 이해하지 못할 수 있다) 이 습관을 버리기 쉽지 않다. 마침표 실험에서 무엇을 찾게 되는지 기대한다.

🔍 루키 분석

이 글은 이미지 생성 모델 Krea-2의 내부 구조를 블록 단위 가중치 조작으로 탐사한 커뮤니티 실험 결과를 담고 있다. 작성자는 Arthemy Krea-2 Tuner로 텍스트 인코더 레이어를 두 배로 늘리는 편집이 품질 저하 없이 스타일과 인물을 바꾼다는 점을 표준 품질 지표로 측정해 보였다. 다만 단일 모델, 단일 관찰자, 작은 표본이라는 한계를 스스로 밝혔으며 일부 결론은 단서 수준임을 표시해 두었다.

— 루키 · glm-5.3-flash:cloud