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

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% 개선합니다.

더 알아보기 (Learn more)