Qwen3-VL-32B FXB가 furiosa-llm 2026.4.0b7에서 로드 실패 (unknown variant ShardingContext)

본문

요약: 32B는 furiosa-llm 2026.3.0 + v2026.3 아티팩트로 정상 구동됨을 확인했습니다(우회 완료). 다만 (a) 공개 인덱스의 최신 런타임 2026.4.0b7에서는 공개된 32B 아티팩트가 전부 로드 실패하고, (b) furiosa-llm serve furiosa-ai/Qwen3-VL-32B-Instruct가 기본으로 받는 main(b13) 아티팩트에 맞는 b8–b13 런타임이 공개 인덱스에 없습니다. 이 두 가지를 신고/문의합니다.

환경

  • RNGD ×8 (펌웨어 2026.1.0), Ubuntu 22.04
  • furiosa-llm 2026.4.0b7 (공개 PyPI / pkg.dev 인덱스에서 받을 수 있는 최신 버전)
  • 모델: furiosa-ai/Qwen3-VL-32B-Instruct (HF), 가중치 로컬 캐시

증상

Qwen3-VL-32B는 4카드(32 PE)가 필요해서 npu4–7로 서빙했습니다:

furiosa-llm serve furiosa-ai/Qwen3-VL-32B-Instruct \
  --devices npu:4,npu:5,npu:6,npu:7 -tp 32 \
  --port 8008 --served-model-name qwen3-vl-32b

Device mesh 구성(Device mesh: 1 DP group(s), TP=32)과 가중치 로드까지는 정상인데, 엔진 초기화 중 vision encoder EDF를 로드하다 panic이 납니다:

pyo3_runtime.PanicException: called `Result::unwrap()` on an `Err` value:
loading EDF edfs/vis_last_block_b1_vis256.edf
Caused by:
  Semantic(None, "unknown variant `ShardingContext`, expected one of
   `CompileHistory`, `GraphFunctionName`, `InterChipContext`,
   `LoopAutoPipelineConfig`, `OperatorTacticContext`, `OriginalShape`,
   `PopulateMode`, `ScopeId`, `ScopePatches`, `ScopeTree`,
   `ScratchpadMarker`, `TclMarker`, `UserMetadata`")
Location: .../npu-ir/src/furiosa_ir/mod.rs:1093:12

런타임의 IR enum에는 InterChipContext가 있는데 아티팩트는 ShardingContext를 직렬화하고 있어, 역직렬화가 실패합니다.

HF에 공개된 모든 revision을 시도했는데 b7에서 전부 동일하게 실패합니다:

revision fxb 빌드 해시 2026.4.0b7 결과
main d41b0a59c1-5c18c4e33f :cross_mark: ShardingContext
v2026.4.0b13 d41b0a59c1-5c18c4e33f :cross_mark: ShardingContext
v2026.4 1f95359ba3-aa3ac01a98 :cross_mark: ShardingContext
v2026.3 6317c7f93b-6f1dded303 :cross_mark: ShardingContext

우리가 찾은 동작 조합 (이미 해결, 참고용): 안정 버전 furiosa-llm==2026.3.0 + v2026.3 아티팩트(6317c7f93b) → npu4–7에서 정상 로드·구동 확인. 즉 32B 구동 자체는 됩니다. 문제는 아래 두 가지입니다.

반대 방향 참고 데이터: furiosa-ai/Qwen3-VL-4B-Instructb7(단일 카드)에서는 잘 되지만, 2026.3.0에서는 다른 vision encoder 불일치로 실패합니다:

PanicException: assertion `left == right` failed:
operand layout length (23) != EDF I/O count (24) for kernel 'vis_first_block',
bucket VisionEncoder { batch_size: 1, num_patches: 256 }

참고로 4B repo에는 v2026.3 태그가 없고(태그가 v2026.4부터 시작), 32B repo에는 v2026.3이 있습니다.

질문 (실제 미해결 지점)

  1. furiosa-llm serve furiosa-ai/Qwen3-VL-32B-Instruct(문서의 기본 명령)가 받는 main(b13) 아티팩트에 맞는 b8–b13 런타임을 어디서 받을 수 있나요? 공개 인덱스(PyPI / asia-northeast3-*.pkg.dev)는 2026.4.0b7까지만 노출됩니다. 즉 문서대로 최신 공개 SDK로 따라 하면 로드에 실패합니다.
  2. 최신 공개 런타임 2026.4.0b7에서 공개된 32B 아티팩트가 전부 ShardingContext로 실패하는 건 의도된 것인가요(예: 32B는 2026.3.0에만 대응), 아니면 2026.3.0 → 2026.4 베타 사이 IR 회귀인가요? (b7이 32B를 지원하지 않는 게 맞다면 그렇게 명시되면 좋겠습니다.)
  3. (부차) 4B와 32B를 모두 서빙할 수 있는 단일 SDK 버전이 있나요? 현재는 4B↔2026.4 라인, 32B↔2026.3 으로 서로 배타적으로 보입니다.

안녕하세요? 우선 불편 드려 죄송합니다.

b7 은 베타버전으로 개발 버전을 미리 공개하기 위해 pre-release 하는 버전이 맞습니다. 외부에 공개된 만큼 불편 없이 사용하실 수 있어야 하는게 맞는데요.

다만 베타 버전을 공개하는 것은 이번 2026.4.0 릴리즈부터라서 운영 방법에 아직 부족한 부분이 있어, 우선은 정식 릴리즈 버전을 사용해 주시면 감사하겠습니다.

베타 버전 등 pre-release 관리에 대해서는 프로세스가 정립되는 대로 정식 버전과 베타, RC 등의 활용 방법과 기대하실 수 있는 내용을 forum에 공지하도록 하겠습니다.