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 종류를 측정한 뒤 프로덕션 기본값으로 삼으세요.