Files
markbaseengine/12B_multimodal_correction.md
MarkBase Admin 777626c5a7
CI / build-and-test (push) Has been cancelled
fix: Correct 12B model multimodal capabilities
CRITICAL CORRECTION:
-  Previous reports incorrectly stated 12B as 'pure text model'
-  12B HAS both Audio + Vision capabilities (verified via config.json)
- Audio: 3 tensors (embedding projection, hidden=640)
- Vision: 14 tensors (embedding projection, hidden=3840)
- Audio samples per token: 640, sampling rate: 16000 Hz
- Vision patch size: 16, num soft tokens: 280, image: 224×224

Key difference from E4B:
- E4B: Independent towers (12-layer Audio, 16-layer Vision)
- 12B: Unified projection architecture (lightweight embedding)

Testing status:
- E4B Audio Tower:  Fully tested (0 NaN)
- 12B multimodal: ⚠️ Not tested yet (only text tested)

Corrected classification:
- Both E4B and 12B support Audio+Vision
- E4B for deep feature extraction (tower architecture)
- 12B for lightweight multimodal integration (projection)

Impact: 3 reports need updates (E4B_vs_12B, complete_model, capabilities)
2026-06-23 23:10:17 +08:00

11 KiB
Raw Permalink Blame History

12B 模型多模態能力澄清報告

日期: 2026-06-23
重要修正: 之前的報告錯誤地將 12B 歸類為純文本模型
正確信息: 12B 確實具備 Audio + Vision 多模態能力


一、錯誤報告修正

之前錯誤陳述

在之前的報告中(E4B_vs_12B_comparison_report.md, complete_model_testing_report.md, model_capabilities_comparison.md),我錯誤地陳述:

❌ "12B Model: Pure text model only"
❌ "Audio Tower: 0 layers"
❌ "Vision Tower: 0 layers"  
❌ "Multimodal: Not supported"

正確信息

經過重新檢查 config.json 和 safetensors 文件後確認:

✅ 12B model HAS both Audio and Vision capabilities!
✅ Audio Config: Hidden Size 640, Output Proj Dims 640
✅ Vision Config: MM Embed Dim 3840, Output Proj Dims 3840
✅ Audio Tensors: 3個
✅ Vision Tensors: 14個

二、12B 多模態配置詳情

Audio 配置

config.json 提取:

"audio_config": {
    "audio_embed_dim": 640,
    "hidden_size": 640,
    "output_proj_dims": 640,
    "model_type": "gemma4_unified_audio",
    "audio_samples_per_token": 640
}

Audio 特殊 Token IDs:

  • audio_token_id: 258881
  • boa_token_id: 256000 (Begin of Audio)
  • eoa_token_index: 258883 (End of Audio)

Audio Tensors (3個):

  1. embed_audio.embedding_projection.biases
  2. embed_audio.embedding_projection.scales
  3. embed_audio.embedding_projection.weight

Vision 配置

config.json 提取:

"vision_config": {
    "mm_embed_dim": 3840,
    "output_proj_dims": 3840,
    "model_type": "gemma4_unified_vision",
    "patch_size": 16,
    "num_soft_tokens": 280,
    "mm_posemb_size": 1120,
    "model_patch_size": 48
}

Vision 特殊 Token IDs:

  • image_token_id: 258880
  • boi_token_id: 255999 (Begin of Image)
  • eoi_token_id: 258882 (End of Image)
  • video_token_id: 258884

Vision Tensors (14個):

  1. embed_vision.embedding_projection.biases
  2. embed_vision.embedding_projection.scales
  3. embed_vision.embedding_projection.weight
  4. vision_embedder.patch_dense.bias
  5. vision_embedder.patch_dense.biases
  6. vision_embedder.patch_dense.scales
  7. vision_embedder.patch_dense.weight
  8. vision_embedder.positional_embedding.weight
  9. 其他 vision 相關 tensors

Processor 配置

processor_config.json 提取:

Image Processor:

  • Patch Size: 16
  • Max Soft Tokens: 280
  • Model Patch Size: 48
  • Pooling Kernel Size: 3
  • Image Size: 224×224

Audio Feature Extractor:

  • Sampling Rate: 16000 Hz
  • Num Mel Filters: 128
  • FFT Length: 512
  • Hop Length: 160
  • Chunk Duration: 8.0 seconds
  • Overlap Duration: 1.0 second

三、與 E4B 的真實差異

多模態實現方式對比

特徵 E4B-MarkBase 12B Model
Audio實現 12層完整Audio Tower Audio Embedding Projection
Vision實現 16層完整Vision Tower Vision Embedding + Embedder
Audio Hidden 1024 (獨立塔) 640 (projection)
Vision Hidden 768 (獨立塔) 3840 (與文本相同)
Audio Tensors 513個 (完整塔) 3個 (projection)
Vision Tensors 436個 (完整塔) 14個 (embedding)
實現策略 獨立處理塔 統一embedding projection
測試狀態 已完整測試 Audio Tower ⚠️ 未測試多模態功能

Tensor分布對比

E4B Tensor分布:

  • Audio Tower: 513 tensors (完整獨立塔)
  • Vision Tower: 436 tensors (完整獨立塔)
  • Text Model: ~1130 tensors
  • 總計: Audio+Vision占比 ~37%

12B Tensor分布:

  • Audio Embedding: 3 tensors (0%)
  • Vision Embedding: 14 tensors (1%)
  • Text Model: 1324 tensors (98%)
  • 總計: Audio+Vision占比 ~1%

關鍵差異:

  • E4B使用獨立塔架構 (separate towers)
  • 12B使用統一投影架構 (unified projection)
  • E4B Audio/Vision塔有完整層結構
  • 12B Audio/Vision通過projection直接映射到文本空間

四、架構分析

E4B 多模態架構

Audio Input → Audio Tower (12 layers, 1024 hidden)
                ↓
            Audio Projection
                ↓
            Text Space (2560 hidden)

Vision Input → Vision Tower (16 layers, 768 hidden)
                ↓
            Vision Projection
                ↓
            Text Space (2560 hidden)

特點:

  • 獨立的Audio和Vision處理塔
  • 每個塔有完整的層結構 (attention, MLP, etc.)
  • 可以進行複雜的多模態特征提取
  • Audio Tower測試通過 (NaN=0)

12B 多模態架構

Audio Input → Audio Embedding (640 dim)
                ↓
            Audio Projection (output_proj_dims=640)
                ↓
            Text Space (3840 hidden)

Vision Input → Vision Embedding (patch_size=16)
                ↓
            Vision Projection (output_proj_dims=3840)
                ↓
            Text Space (3840 hidden)

特點:

  • 統一的embedding projection架構
  • Audio/Vision直接映射到文本空間
  • 輕量級多模態處理 (僅17個tensors)
  • ⚠️ 未經完整多模態測試
  • ⚠️ 可能依賴預處理的多模態特征

五、測試狀態澄清

之前的測試範圍

在所有測試中,對於12B模型:

已測試 :

  • 文本模型加載 (48 layers, 3840 hidden)
  • 文本forward pass (0 NaN)
  • 文本生成速度 (~26 tok/s)
  • 滑動窗口注意力 (window=1024)
  • 超長上下文 (max_position=262144)

未測試 ⚠️:

  • Audio embedding projection
  • Vision embedding projection
  • 多模態輸入處理
  • Audio/Vision與文本的整合

為何未測試多模態

原因:

  1. 測試代碼主要使用 E4BModel 進行文本forward pass
  2. 測試時未調用Audio/Vision相關的embedding函數
  3. 測試輸入僅為token ID,未包含Audio/Vision輸入
  4. 測試報告錯誤地假設12B為純文本模型

影響:

  • 12B的多模態能力尚未驗證
  • 需要專門的Audio/Vision測試
  • 不能斷言12B不支持多模態

六、重新分類

正確的模型分類

模型 多模態類型 Audio實現 Vision實現 測試狀態
E4B 完整多模態 獨立塔 (12層) 獨立塔 (16層) 已完整測試
12B 多模態 Projection (3 tensors) Projection (14 tensors) ⚠️ 未測試多模態
31B 純文本 已測試文本
E2B Audio多模態 獨立塔 (12層) 已測試Audio
26B系列 純文本 已測試文本

多模態實現方式分類

  1. 完整塔架構 (E4B, E2B):

    • Audio Tower: 獨立的12層處理塔
    • Vision Tower: 獨立的16層處理塔
    • 特點: 深度特征提取,複雜處理
  2. 統一投影架構 (12B):

    • Audio: Embedding Projection (640→3840)
    • Vision: Embedding Projection (patch→3840)
    • 特點: 輕量級,快速映射
  3. 純文本架構 (31B, 26B):

    • 無Audio/Vision components
    • 純粹的文本處理

七、影響分析

對之前報告的影響

需要修正的報告:

  1. E4B_vs_12B_comparison_report.md (已修正)
  2. complete_model_testing_report.md (需要更新)
  3. model_capabilities_comparison.md (需要更新)

需要修正的陳述:

錯誤陳述 正確陳述
"12B: Pure text model only" "12B: Multimodal model (Audio+Vision via projection)"
"Audio Tower: 0 layers" "Audio Embedding: 3 tensors (projection-based)"
"Vision Tower: 0 layers" "Vision Embedding: 14 tensors (projection-based)"
"Multimodal: Not supported" "Multimodal: Supported (embedding projection)"
"Use E4B for multimodal only" "Both E4B and 12B support multimodal (different architectures)"

對應用推薦的影響

之前的推薦:

❌ "多模態應用 → E4B-MarkBase (唯一選擇)"

修正後的推薦:

✅ "多模態應用 → E4B (完整塔) 或 12B (輕量投影)"
✅ E4B: 需要深度Audio/Vision處理時使用
✅ 12B: 需要輕量多模態整合時使用

八、技術細節補充

Audio處理對比

E4B Audio Tower:

  • 12層獨立處理
  • Hidden: 1024
  • 可以處理複雜Audio特征
  • Audio samples per token: 未明確

12B Audio Embedding:

  • Embedding projection (輕量)
  • Hidden: 640
  • Audio samples per token: 640
  • Chunk duration: 8.0s, overlap: 1.0s
  • Sampling rate: 16000 Hz

差異: E4B有完整處理塔,12B直接embedding projection

Vision處理對比

E4B Vision Tower:

  • 16層獨立處理
  • Hidden: 768
  • 可以處理複雜Vision特征
  • Patch size: 未明確

12B Vision Embedding:

  • Patch size: 16
  • Model patch size: 48
  • Num soft tokens: 280
  • Image size: 224×224
  • Pooling kernel: 3

差異: E4B有完整處理塔,12B使用patch embedding + projection

Token Space映射

E4B:

Audio (1024) → Audio Tower → Projection → Text (2560)
Vision (768) → Vision Tower → Projection → Text (2560)

12B:

Audio (640) → Embedding → Projection → Text (3840)
Vision (patch) → Embedding → Projection → Text (3840)

共同點: 都映射到文本空間進行統一處理


九、建議的下一步

需要補充的測試

為完整驗證12B的多模態能力,需要:

  1. Audio測試:

    // 測試Audio embedding
    let audioInput = loadAudioFile("test.wav")
    let audioTokens = embedAudio(audioInput)
    let logits = model.forward(audioTokens)
    
  2. Vision測試:

    // 測試Vision embedding
    let imageInput = loadImageFile("test.jpg")
    let visionTokens = embedVision(imageInput)
    let logits = model.forward(visionTokens)
    
  3. 多模態整合測試:

    // 測試Audio+Vision+Text整合
    let combined = audioTokens + visionTokens + textTokens
    let logits = model.forward(combined)
    

需要更新的報告

  1. 建立此澄清報告 (12B_multimodal_correction.md)
  2. 更新 model_capabilities_comparison.md
  3. 更新 complete_model_testing_report.md
  4. 更新 E4B_vs_12B_comparison_report.md

十、結論

最終結論

12B 模型確實具備 Audio + Vision 多模態能力

不是純文本模型

多模態實現方式

  • E4B: 完整獨立塔架構 (12層Audio, 16層Vision)
  • 12B: 統一投影架構 (Audio/Vision embedding projection)
  • 兩者都支持多模態,但實現方式不同

測試狀態

  • E4B: 已完整測試Audio Tower (0 NaN)
  • ⚠️ 12B: 尚未測試多模態功能
  • 需要: 12B Audio/Vision測試

正確的應用推薦

多模態應用選擇:

  • 🥇 E4B: 需要深度Audio/Vision特征提取
  • 🥈 12B: 需要輕量多模態整合,長上下文支持
  • 🥉 E2B: Audio專用 (無Vision)

不是"唯一選擇"


修正摘要

之前錯誤: "12B為純文本模型,無多模態能力"
現在正確: "12B具備Audio+Vision多模態能力(projection實現)"
關鍵差異: ⚠️ E4B用完整塔,12B用輕量投影
測試狀態: 12B多模態功能尚未測試,需要補充測試


報告生成: 2026-06-23
修正原因: config.json + safetensors 文件重新檢查
影響範圍: 3份報告需要更新
下一步: 訜明修正,補充12B多模態測試