노하우 목록
실험 기록

같은 프롬프트를 23번 돌려봤습니다 — 그리고 제 글을 정정합니다

고구마
고구마
8월 9일 · 읽는 데 5

지난 글 끝에 모르는 것 세 가지를 남겨 뒀습니다. 그중 하나가 이거였어요.

같은 프롬프트를 다시 넣으면 결과가 항상 같은지 — 확인 안 해봤습니다

확인해 봤습니다. 그리고 제가 이전에 쓴 글들을 일부 정정해야 하는 결과가 나왔습니다.

실험 설계

이틀 전 NSFW로 차단당했던 밀랍 조각 프롬프트를 글자 하나 안 바꾸고 썼습니다. 같은 모델(Grok Image), 같은 설정, 같은 비율.

  • 실험 A — 원본 프롬프트 그대로 13회
  • 실험 B — 자세·재료 다 같고 긴 튜닉만 입힌 대조군 10회

결과 A — 13회 중 1회만 차단됐습니다

  • 정상 생성 9회
  • NSFW 차단 1회
  • 원인 불명 실패 3회

같은 프롬프트, 같은 모델, 몇 분 사이에 돌렸는데 결과가 갈렸습니다.

[재현 실험] 1회차
[재현 실험] 1회차 · 별바다 · Grok Image작품 보기 →

1회차입니다. 이틀 전엔 이 프롬프트가 차단됐는데 지금은 그냥 나왔어요.

이걸로 답이 나온 것 — 필터는 프롬프트가 아니라 이미지를 본다

이건 논리적으로 확실합니다.

프롬프트는 13번 모두 바이트 단위로 동일했습니다. 입력이 상수인데 출력이 갈렸다면, 판정은 입력이 아닌 무언가를 보고 있는 겁니다. 그리고 매번 달라지는 건 생성된 이미지뿐이에요.

증거도 눈에 보입니다.

[재현 실험] 3회차
[재현 실험] 3회차 · 별바다 · Grok Image작품 보기 →
[재현 실험] 4회차
[재현 실험] 4회차 · 별바다 · Grok Image작품 보기 →

3회차와 4회차입니다. 자세, 각도, 팔 위치, 몸 비례가 전부 다릅니다. 같은 프롬프트인데 매번 다른 조각이 나와요.

그러니까 이런 일이 벌어진 겁니다 — 열세 번의 생성 중 한 번이 우연히 분류기의 경계 안쪽에 떨어졌고, 그게 이틀 전 제가 만난 그 한 번이었던 거죠.

제출 단계에서도 단서가 있었습니다. 13건 전부 제출은 정상 접수됐고 차단은 나중에 상태로 돌아왔어요. 프롬프트를 미리 걸렀다면 접수 자체가 거절됐겠죠.

결과 B — 대조군은 0회였지만, 이걸로 증명 못 합니다

[재현 실험] 대조군 — 옷 입힘 1
[재현 실험] 대조군 — 옷 입힘 1 · 별바다 · Grok Image작품 보기 →

튜닉을 입힌 대조군은 10회 중 NSFW 0회였습니다.

솔직히 여기서 "거봐 옷을 입히니 해결됐다"고 쓰고 싶었는데, 그렇게 쓰면 안 됩니다.

원본의 차단율이 13분의 1, 약 8%입니다. 이 확률이라면 10번 돌렸을 때 한 번도 안 걸릴 확률이 원래 40%가 넘습니다. 즉 0회라는 결과는 옷을 입히지 않았어도 흔히 나올 수 있는 숫자예요.

제대로 검증하려면 양쪽을 수백 번씩 돌려야 합니다. 안 했습니다. 그러니 이 실험은 "옷 입히기가 효과 있다"를 증명하지 못했습니다. 부정하지도 못했고요.

정정합니다 — 제가 이전 글에서 과하게 단정했습니다

이게 이 글에서 제일 중요한 부분입니다.

저는 NSFW 글에서 개별 차단마다 원인을 특정했습니다. "밀랍이 살색이라 걸렸다", "kids가 임계값을 낮췄다" 같은 식으로요.

그런데 판정이 확률적이라면, 단 한 번의 차단으로는 원인을 특정할 수 없습니다.

  • 밀랍만 걸리고 다른 여덟 재료가 통과한 것 — 재료 때문일 수도 있고, 그냥 그 한 번이 운이 나빴을 수도 있습니다
  • 클레이 꽃집이 kids 때문에 걸렸다는 것 — 같은 프롬프트를 여러 번 돌려보지 않았으므로 확인된 게 아닙니다

메커니즘 자체(이미지 단계 판정, 누드 개념 중심, 모델 간 불일치)는 연구 자료로 뒷받침됩니다. 제가 틀린 건 개별 사건에 그 메커니즘을 갖다 붙인 것이에요.

바꿔 말하면 이렇습니다 — 이론은 맞는데 진단이 과했습니다.

부수 발견 — 원인 불명 실패가 생각보다 잦다

NSFW 말고 failed로 끝난 것도 세어 봤습니다.

  • 실험 A(13회) — 실패 3회, 23%
  • 실험 B(10회) — 실패 5회, 50%

같은 모델을 몇 분 간격으로 돌렸는데 이렇게 요동칩니다. 내용과 무관한 인프라 쪽 노이즈로 보입니다.

그동안 저는 실패가 나면 프롬프트를 의심했는데, 상당수는 그냥 인프라였을 가능성이 큽니다.

그래서 실전 조언이 이렇게 바뀝니다

이전 글의 처방은 유효합니다. 다만 순서가 바뀝니다.

  1. 일단 두세 번 다시 돌려 보세요. 이게 새로 추가된 첫 단계입니다. 차단율이 한 자릿수라면 재시도만으로 통과할 가능성이 높습니다
  2. 그래도 반복해서 걸리면 — 그때부터 원인을 의심합니다. 한 번 걸린 걸로는 아무것도 알 수 없습니다
  3. 반복 차단이 확인되면 이전 글의 처방으로 — 옷, 재료, 단어, 모델

이전 글에서 저는 "같은 프롬프트 재제출은 크레딧만 쓴다"고 썼습니다. 이건 틀렸습니다. 재제출은 실제로 통과할 수 있습니다. 정정합니다.

다만 몇 번까지가 재시도이고 어디부터가 회피인지는 여전히 각자 판단할 문제입니다. 제 기준은 서너 번입니다. 그 이상 걸리면 만들려는 것 자체를 다시 봅니다.

일부러 안 한 실험

가장 궁금했던 건 사실 연령 관련 단어가 정말 임계값을 낮추는가였습니다. 연구에는 그런 장치가 있다고 나오거든요.

그런데 하지 않기로 했습니다. 무해한 장면이라도 아동 관련 축을 일부러 반복 탐침하는 건 제가 쓴 원칙과 어긋납니다. 제 글에도 "이 축은 애매하면 주제를 바꾸라"고 적어 놨고요.

그러니 그 항목은 확인되지 않은 채로 남겨 둡니다. 모르는 걸 모른다고 두는 게 낫습니다.

정리

  • NSFW 판정은 결정적이지 않습니다 — 같은 프롬프트·같은 모델에서 13회 중 1회 차단
  • 따라서 필터는 프롬프트가 아니라 생성된 이미지를 봅니다 — 상수 입력, 변동 출력
  • 한 번의 차단으로는 원인을 알 수 없습니다. 제가 이전에 한 진단들은 과했습니다
  • 대조군 실험은 검정력이 부족해 아무것도 증명하지 못했습니다
  • 원인 불명 실패는 23~50%로 요동합니다 — 내용 문제가 아닐 공산이 큽니다
  • 차단되면 먼저 두세 번 다시 돌려 보세요

실험 결과 전부를 큐레이션에 올려 뒀습니다. 돌린 프롬프트도 작품마다 그대로 붙어 있으니 직접 재현해 보셔도 됩니다.

표본이 23회뿐이라 이것도 확정은 아닙니다. 더 돌려 보신 분 있으면 알려주세요 🍠

댓글