ERNIE-Image

ERNIE-Image

ERNIE-Image는 바이두(Baidu)의 텍스트-이미지(text-to-image) 모델 제품군으로, 품질 중심의 표준(standard) 체크포인트와 저지연용 Turbo 체크포인트를 따로 제공해요. 두 모델 모두 SGLang의 네이티브 ErnieImagePipeline을 통해 로드되며, 단일 GPU에서 간단하게 텍스트-이미지 생성 서빙을 할 수 있게 해줘요. 표준 모델은 품질 우선, Turbo는 응답 속도 우선 경로예요.

이 통합은 현재 이미지 편집이나 reference conditioning보다는 텍스트 기반 이미지 생성 하나를 목표로 해요. 소스 이미지 구조를 보존해야 하는 작업이라면 전용 편집 모델을 쓰는 게 맞아요.

출처: 문서

본문

1. 모델 소개

ERNIE-Image는 바이두의 텍스트-이미지 제품군으로, 표준과 Turbo 두 체크포인트가 분리되어 있어요. 표준 모델은 품질 지향 경로이고, Turbo는 더 낮은 지연 시간을 원할 때의 선택이에요. 둘 다 SGLang의 네이티브 ErnieImagePipeline으로 로드돼요.

이 통합은 현재 이미지 편집이나 reference conditioning보다는 텍스트 기반 이미지 생성 하나를 목표로 해요. 단일 GPU T2I 배포를 위한 직관적인 선택이며, 소스 이미지 구조를 보존해야 하는 작업이라면 전용 편집 모델을 사용하세요.

모델 Hugging Face model ID 참고
ERNIE-Image baidu/ERNIE-Image 일반 텍스트-이미지 체크포인트
ERNIE-Image-Turbo baidu/ERNIE-Image-Turbo Turbo 텍스트-이미지 체크포인트

2. 설치

diffusion 의존성을 포함해 SGLang을 설치하세요:

pip install -e "python[diffusion]"

전체 설치 옵션은 SGLang Diffusion 설치 가이드를 참고하세요.

3. 모델 서빙

아래 명령은 지원되는 NVIDIA CUDA 또는 AMD ROCm GPU 하나를 대상으로 해요. --performance-mode auto로 시작하고, 전체 파이프라인이 선택한 GPU에 여유롭게 들어갈 때만 speed를, 낮은 최대 GPU 메모리가 필요할 때는 memory를 사용하세요.

ERNIE-Image 서빙:

sglang serve \
  --model-path baidu/ERNIE-Image \
  --num-gpus 1 \
  --performance-mode auto \
  --port 30010

ERNIE-Image-Turbo 서빙:

sglang serve \
  --model-path baidu/ERNIE-Image-Turbo \
  --num-gpus 1 \
  --performance-mode auto \
  --port 30010

4. 이미지 생성

서버가 뜬 뒤 OpenAI 호환 이미지 생성 API를 사용하세요:

from openai import OpenAI

client = OpenAI(api_key="EMPTY", base_url="http://127.0.0.1:30010/v1")

response = client.images.generate(
    model="baidu/ERNIE-Image-Turbo",
    prompt="A cinematic photo of a quiet lakeside cabin at sunrise",
    n=1,
    response_format="b64_json",
)

image_bytes = base64.b64decode(response.data[0].b64_json)
with open("ernie_image.png", "wb") as f:
    f.write(image_bytes)

5. 구성 팁

  • ERNIE-Image는 텍스트-이미지 파이프라인이므로 --image-path를 전달하지 마세요.
  • --performance-mode auto는 보수적인 기본값을 유지하면서 명시적 사용자 플래그를 보존해요.
  • 체크포인트에 PE 컴포넌트가 포함되어 있으면 SGLang이 네이티브 Ministral3 런타임으로 자동 로드해요. 로컬 PE 디코더가 지연 시간을 낮은 GPU 메모리 사용과 맞바꿀 필요가 있을 때 --layerwise-offload-components pe를 사용하세요.
  • FSDP, SP/Ulysses/Ring, TP는 명시적 벤치마크 노브로 취급하세요. 타겟 해상도, 스텝 수, GPU 종류를 측정한 뒤 프로덕션 기본값으로 삼으세요.

6. ComfyUI에서 실행

더 알아보기 (Learn more)