왜 나는 'The Best' 모델을 쫓는 것을 멈추고 대신 예측 가능한 이미지 파이프라인을 구축했는가

발행: (2026년 2월 25일 오전 11:09 GMT+9)
11 분 소요
원문: Dev.to

Source: Dev.to

위에 제공된 소스 링크 외에 번역할 텍스트를 알려주시면 한국어로 번역해 드리겠습니다.

Source:

전환점

짧은 실패 로그: 첫 번째 야간 배치에서 JPG가 깨진 타이포그래피와 이상한 색상 캐스트를 가지고 생성되었습니다. 프리뷰는 렌더 스크립트 67단계에서 다음과 같은 런타임 오류를 발생시켰습니다.

RuntimeError: cuda out of memory while sampling at step 67
Traceback (most recent call last):
  File "render_batch.py", line 142, in 
    samples = sampler.sample(prompt_embeddings)

이 오류는 두 가지 결정을 강요했습니다:

  1. 이미지당 메모리 사용량 감소
  2. 품질과 처리량의 균형을 맞춘 모델로 전환

두 가지를 모두 수행했으며, 그 결과가 파이프라인의 나머지를 형성했습니다.

집중 테스트

세 가지 축을 중심으로 집중 테스트를 진행했습니다:

  • 텍스처 충실도
  • 타이포그래피 처리
  • 속도

텍스처 실행

패브릭과 피부 디테일을 끌어낼 수 있는 open‑diffusion 변형으로 시작했습니다.

타이포그래피 실행

게임 내 배지를 처리하기 위해 생성된 자산에서 깨끗한 텍스트 렌더링으로 알려진 모델을 평가했습니다.

이 비교 과정에서 다음 모델들을 시도했습니다:

  • SD3.5 Large – 구성 단계 중간에 삽입하여 패브릭 입자를 어떻게 보존하면서도 렌더 시간을 허용 가능한 수준으로 유지하는지 확인했습니다.
    결과: 환각적인 이음새가 감소하고, 512 샘플당 이미지에서도 낮은 디노이즈 아티팩트가 나타나 아트 팀이 더 빠르게 반복할 수 있었습니다.

  • DALL·E 3 Standard Ultra – 레이아웃 실험 중간에 삽입하여 로고 배치와 색상 균형에 대한 프롬프트 제약을 얼마나 잘 따르는지 비교했습니다.
    결과: 엄격한 가이드 설정을 언제 사용할지 결정하는 데 도움이 되었습니다.

텔레메트리 하니스

렌더 시간, 메모리, 그리고 지각 품질 점수를 매 실행마다 기록하는 작은 하니스를 자동화했습니다. 아래는 생성 엔드포인트를 호출하고 메트릭을 저장하기 위해 사용한 스니펫입니다.

import requests, time, json

start = time.time()
resp = requests.post(
    "https://crompt.ai/api/generate",
    json={"prompt": "cloth texture, closeup"}
)
metrics = {
    "time_s": time.time() - start,
    "status": resp.status_code
}
with open("run_metrics.json", "w") as f:
    json.dump(metrics, f)
print(metrics)

이 간단한 텔레메트리를 추가함으로써 비교가 주관적이 아닌 객관적이 되었습니다. 일주일 치 렌더를 계측한 뒤 다음을 보여줄 수 있었습니다:

  • 중간 렌더 시간: 작은 스텝‑카운트 모델로 표준화하고 입력을 올바르게 배치한 후 이미지당 12.4 s에서 4.1 s로 감소했습니다.

텍스트를 위한 2단계 흐름

일부 모델은 풍경에는 뛰어나지만 선명한 텍스트에는 형편없었습니다. 이를 해결하기 위해 깨끗한 글리프에 특화된 모델을 사용한 2차 패스를 레이어링했습니다. 실험 중 눈에 띈 모델은 다음과 같습니다:

  • Ideogram V2A – 원본 구성을 유지하면서 이미지 내 텍스트를 손보는 중간 프로세스 편집기로 사용했습니다. 디자이너가 자산을 처음부터 다시 만들 필요가 없었습니다.
# compare before/after perceptual score
# before: LPIPS 0.34, after: LPIPS 0.12

이 전후 비교는 리드 아티스트가 2단계 흐름을 채택하도록 설득했습니다:

  1. 구성용 기본 이미지
  2. 깨끗한 텍스트를 위한 타깃 타이포그래피 패스

트레이드‑오프: 타이포그래피에 특화된 모델을 사용하면 이미지당 약 1.2 s의 오버헤드가 추가되지만, 가독성 향상으로 인해 후속 수작업 수정이 크게 줄어듭니다. “빠르지만 지저분함” vs. “조금 느리지만 최종 준비 완료”에 대해 팀과 논쟁할 때 메트릭이 큰 도움이 됩니다.

베이스라인 변형

기존 베이스라인을 유지하는 비용/이점을 확인하기 위해 오래된 변형도 평가했습니다. 빠른 프로토타이핑 루프에서 다음을 사용한 실험 결과:

  • Ideogram V1 – 썸네일에는 눈부시게 빠르지만 고대비 가장자리 케이스에서는 어려움을 겪었습니다.
    결과: 플레이스홀더 용도로만 보관했습니다.

오케스트레이션 레이어

왜 오케스트레이션 레이어를 도입해야 할까요? 무작위로 모델을 전환하면 결합도가 높아지고 예측 불가능해지기 때문입니다. 우리는 파이프라인에 간단한 라우팅 레이어를 구축했습니다:

  1. 프롬프트 의도 감지 (텍스처, 얼굴, 타이포그래피)
  2. 가장 적합한 모델로 라우팅
  3. 결과 후처리

의사결정 매트릭스

의도모델 (A)비고
텍스처‑중점, 고‑디테일고충실도 모델미세 입자 보존
빠른 썸네일빠른 모델 (B)품질보다 속도 우선
이미지 내 텍스트타이포그래피‑전문 모델후에 샤프닝 후처리 적용

실제 예시로 교차‑어텐션‑기반 프롬프트 분할을 구현했습니다: 파이프라인은 “객체” 토큰을 “스타일” 토큰과 분리하여 각각 다른 모델에 전달한 뒤, 간단한 알파 합성으로 출력을 병합합니다. 그 결과 전체 에셋을 다시 추적하지 않아도 일관된 객체 배치와 통합된 스타일을 얻을 수 있었습니다.

교훈 및 시사점

  • Instrument 매 실행을 측정하세요 (시간, 메모리, 지각 점수).
  • Route 프롬프트를 명확한 의사결정 매트릭스를 통해 올바른 모델로 라우팅하세요.
  • Standardize 후처리 단계를 표준화하세요.

테스트를 진행하면서 특정 문제를 해결한 모델들을 즐겨찾기하고, 빠르게 실패하고 반복한 뒤 반복 작업에 사용할 짧은 옵션 리스트를 유지했습니다. 예를 들어, 이미지 내 특수 수정을 필요로 할 때는 안정적인 텍스트 렌더링과 레이아웃에 초점을 맞춘 모델을 참고했으며, 이는 타이포그래피 중심 생성기가 실제 프로젝트에서 텍스트를 깔끔하게 렌더링하는 방식을 정확히 보여주는 도구로 이어졌고, 그 결과 수정을 아주 간단하게 할 수 있었습니다.

Result:

  • 우리 아티스트들의 재작업이 절반으로 감소했습니다.
  • 대량 실행 시 평균 렌더링 시간이 3분의 2 감소했습니다.
  • 디자이너가 신뢰할 수 있는 예측 가능한 출력.

최종 팁

자산 파이프라인을 관리한다면, 모델을 무작위로 교체하기 전에 텔레메트리와 라우팅 레이어를 추가하세요. 이는 수많은 시간을 절약하고 팀을 일관되게 유지하며, 혼란스러운 실험을 반복 가능하고 신뢰할 수 있는 워크플로우로 전환시켜 줍니다.

다른 모델. 제 경우에는, 기본 아트를 위한 고해상도 생성기와 타이포그래피를 인식하는 레터링 단계의 조합이 수일 간의 수정 작업과 머리카락을 뽑게 만드는 작업을 절감시켰습니다.

0 조회
Back to Blog

관련 글

더 보기 »

AI 기반 클래스 제안으로 상표 생성 혁신

개요: 맞춤형 대형 언어 모델(LLM)을 수백만 건의 USPTO 상표 기록이 포함된 방대한 데이터베이스에 파인튜닝함으로써, 우리는 우리가 믿는 바에 따라 개발했습니다 i...