SenseNova-U1.5-8B-MoT
SenseNova-U1.5-8B-MoT
SenseNova-U1.5-8B-MoT는 SenseNova-U1 팔리트의 텍스트-투-이미지 모델입니다. 고해상도 포스터, 인포그래픽, 엔터프라이즈 시각 생성 워크로드에 유용하며, 프롬프트 준수·레이아웃 구조·중국어 텍스트 렌더링이 중요한 사용 사례에 적합합니다.
출처: 문서
본문
<DiffusionModelTags tags={["image", "text-to-image", "Chinese typography", "poster layouts", "native pipeline"]} />
1. 모델 소개 (Model Introduction)
SenseNova-U1.5-8B-MoT는 SenseNova-U1 팔리트의 텍스트-투-이미지 모델입니다. 프롬프트 준수, 레이아웃 구조, 중국어 텍스트 렌더링이 중요한 고해상도 포스터·인포그래픽·엔터프라이즈 시각 생성 워크로드에 유용합니다.
NEO-Unify를 기반으로, 이 릴리스는 네이티브 고해상도 생성을 위해 구성(composition)·색 조화·재질 렌더링·로컬 시각 세부를 개선합니다. 또한 더 선명한 중국어·영어 텍스트 렌더링, 더 강한 인포그래픽 레이아웃 구조, 객체 수·공간 관계·스타일·여러 제약이 있는 복잡한 프롬프트의 더 신뢰할 수 있는 실행에 초점을 둡니다.
2. SGLang-diffusion 설치 (SGLang-diffusion Installation)
SGLang-diffusion은 여러 설치 방법을 제공합니다. 하드웨어 플랫폼과 요구사항에 따라 가장 적합한 설치 방법을 선택할 수 있습니다.
설치 지침은 official SGLang-diffusion installation guide를 참고하세요.
3. 모델 배포 (Model Deployment)
3.1 오프라인 이미지 생성 (Offline Image Generation)
SenseNova-U1.5-8B-MoT는 텍스트-투-이미지 모델입니다. sglang generate로 단일 오프라인 생성 작업을 실행할 수 있습니다:
sglang generate \
--model-path sensenova/SenseNova-U1.5-8B-MoT \
--prompt "A cinematic mountain lake at sunrise, realistic photography." \
--width 2048 \
--height 2048 \
--guidance-scale 4.0 \
--num-inference-steps 50 \
--seed 42 \
--output-file-path output_sensenova_u15.png
3.2 권장 해상도 (Recommended Resolutions)
SenseNova-U1은 2K 픽셀 해상도 계층 주변에서 훈련되었습니다. SGLang 파이프라인은 32로 나누어 떨어지는 양수 --width·--height 값만 지원하며, 훈련되지 않은 크기 조합에서는 생성 품질이 저하될 수 있습니다.
권장 해상도 계층:
| Aspect ratio | Resolution |
|---|---|
| 1:1 | 2048 x 2048 |
| 16:9 / 9:16 | 2720 x 1536 / 1536 x 2720 |
| 3:2 / 2:3 | 2496 x 1664 / 1664 x 2496 |
| 4:3 / 3:4 | 2368 x 1760 / 1760 x 2368 |
| 2:1 / 1:2 | 2880 x 1440 / 1440 x 2880 |
| 3:1 / 1:3 | 3456 x 1152 / 1152 x 3456 |
| 9:16 4K | 2304 x 4096 |
4. API 사용법 (API Usage)
전체 API 문서는 official API usage guide를 참고하세요.
4.1 이미지 생성 (Generate an Image)
import base64
from openai import OpenAI
client = OpenAI(api_key="EMPTY", base_url="http://localhost:30000/v1")
response = client.images.generate(
model="sensenova/SenseNova-U1.5-8B-MoT",
prompt="A clean technology poster with structured layout and clear typography.",
n=1,
response_format="b64_json",
)
image_bytes = base64.b64decode(response.data[0].b64_json)
with open("output_sensenova_u15.png", "wb") as f:
f.write(image_bytes)
5. 고급 사용법 (Advanced usage)
5.1 동적 요청 배칭 (Dynamic request batching)
동적 배칭을 활성화한 채로 서버를 시작합니다:
sglang serve \
--model-path sensenova/SenseNova-U1.5-8B-MoT \
--port 30000 \
--batching-max-size 2 \
--batching-delay-ms 100
요청을 동시에 제출해 배칭 지연 안에 도착하게 하세요. 한 배치의 요청은 같은 해상도·추론 스텝·가이던스 설정·출력 옵션을 사용해야 합니다. 여러 출력 또는 think_mode=true가 있는 요청은 순차적으로 실행됩니다.
5.2 Ascend NPU 최적화 (Ascend NPU optimizations)
Ascend NPU에서 SenseNova-U1은 지원되는 입력에 대해 fused inference attention, RMSNorm, SwiGLU MLP 연산자를 자동으로 사용합니다. FIA와 SwiGLU는 요구사항이 충족되지 않으면 폴백합니다. fused MLP는 첫 사용에 gate·up projection 가중치를 패킹하므로, 벤치마킹 전에 완전한 워밍업 요청을 한 번 실행하세요.
6. 벤치마크 (Benchmark)
6.1 속도 향상 벤치마크 (Speedup benchmark)
6.1.1 단일 실행 프로파일 (Single-run profile)
NVIDIA A800 (Tabs의 NVIDIA A800 탭):
이것은 공식 벤치마크가 아니라 스모크 검증용 단일 실행 프로파일입니다. 환경: NVIDIA A800. 워크로드: vbench text-to-image, 프롬프트 1개, 동시성 1, 프롬프트당 출력 1개. 워밍업 없음, 반복 1회, 분산 보고 안 함, 베이스라인 없음. 출력 검증: 요청이 완료되어 하나의 이미지를 반환.
서버 명령 (Server Command):
sglang serve \
--model-path sensenova/SenseNova-U1.5-8B-MoT \
--port 30000
벤치마크 명령 (Benchmark Command):
python3 -m sglang.multimodal_gen.benchmarks.bench_serving \
--dataset vbench \
--task text-to-image \
--num-prompts 1 \
--max-concurrency 1 \
--port 30000
결과 (Result):
================= Serving Benchmark Result =================
Task: text-to-image
Model: /workspace/models/ModelScope/SenseNova/SenseNova-U1.5-8B-MoT
Dataset: vbench
--------------------------------------------------
Benchmark duration (s): 13.10
Request rate: inf
Max request concurrency: 1
Successful requests: 1/1
Completed outputs: 1
Outputs per prompt: 1
--------------------------------------------------
Request throughput (req/s): 0.08
Output throughput (outputs/s): 0.08
Latency Mean (s): 13.10
Latency Median (s): 13.10
Latency P90 (s): 13.10
Latency P95 (s): 13.10
Latency P99 (s): 13.10
--------------------------------------------------
Peak Memory Max (MB): 34326.00
Peak Memory Mean (MB): 34326.00
Peak Memory Median (MB): 34326.00
------------------------------------------------------------
Ascend 910C (Tabs의 Ascend 910C 탭):
환경: Ascend 910C 하나. 워크로드: 네 개의 동시 2048 x 2048 텍스트-투-이미지 요청, 디노이징 스텝 50개, CFG 4, BF16.
| Batch size | NPU operators | Duration (s) | Throughput (images/s) | Mean latency (s) | Peak reserved memory (MB) |
|---|---|---|---|---|---|
| 1 | Disabled | 234.28 | 0.01707 | 146.47 | 35698 |
| 2 | Disabled | 234.83 | 0.01703 | 176.06 | 37870 |
| 1 | FIA + RMSNorm + SwiGLU | 205.94 | 0.01942 | 128.80 | 35718 |
| 2 | FIA + RMSNorm + SwiGLU | 195.02 | 0.02051 | 146.33 | 37850 |
최적화된 B1은 비최적화 B1보다 처리량을 13.76% 개선합니다. 최적화된 B2는 비최적화 B2보다 20.42%, 최적화된 B1보다 5.60% 개선합니다.