CRITICAL CORRECTION #2: - ❌ Previous reports incorrectly stated E2B as 'Audio only, no Vision' - ✅ E2B HAS complete Vision Tower (verified via config.json + safetensors) - Vision Tower: 661 tensors (16 layers, 768 hidden, 12 heads) - Audio Tower: 754 tensors (12 layers, 1024 hidden, 8 heads) - Total multimodal: 1415 tensors (52% of model) ← LARGEST! Key findings: - E2B is LARGEST multimodal model (1415 tensors, 52%) - E4B is second largest (949 tensors, 37%) - 12B is lightweight (17 tensors, 1%) Vision details: - 16 layers, 768 hidden, 12 attention heads, 12 KV heads - Patch size 16, output 280 soft tokens - Position embedding 10240, pooling kernel 3 Audio details: - 12 layers, 1024 hidden, 8 attention heads - Subsampling conv [128, 32], chunk size 12 - Output proj dims 1536 Corrected classification: - Complete towers: E2B (largest), E4B (medium) - Lightweight projection: 12B (smallest) - Pure text: 31B, 26B series Testing status: - E2B Audio: ✅ Tested - E2B Vision: ⚠️ NOT tested ← needs testing! - 12B multimodal: ⚠️ NOT tested ← needs testing! Impact: All 4 reports need updates (capabilities, complete, comparison, 12B correction)
12 KiB
E2B 模型 Vision 能力澄清報告
日期: 2026-06-23
第二次重大修正: E2B 也具備完整的 Vision Tower
影響: 所有關於 E2B 的多模態描述都需要修正
一、錯誤報告再次修正
之前的錯誤陳述 ❌
在之前的報告中(包括剛修正的 12B_multimodal_correction.md),我再次錯誤地陳述:
❌ "E2B: Audio only, no Vision"
❌ "E2B: Audio專用 (無Vision)"
❌ "Vision Tower: 0 layers (E2B)"
❌ "E2B只有Audio能力"
正確信息 ✅
經過檢查 E2B 的 config.json 和 safetensors 文件後確認:
✅ E2B model HAS complete Vision Tower!
✅ Vision Config: 16 layers, 768 hidden, 12 attention heads
✅ Vision Tensors: 661個 (完整塔,占比24%)
✅ Audio Tensors: 754個 (完整塔,占比28%)
✅ Total Multimodal: 1415 tensors (52% of model)
二、E2B Vision 配置詳情
Vision Config (from config.json)
"vision_config": {
"hidden_size": 768,
"num_hidden_layers": 16,
"num_attention_heads": 12,
"num_key_value_heads": 12,
"patch_size": 16,
"intermediate_size": 3072,
"max_position_embeddings": 131072,
"pooling_kernel_size": 3,
"position_embedding_size": 10240,
"default_output_length": 280,
"model_type": "gemma4_vision"
}
Vision Token IDs
image_token_id: 258880boi_token_id: 255999 (Begin of Image)eoi_token_id: 258882 (End of Image)video_token_id: 258884vision_soft_tokens_per_image: 280
Vision Tensors (661個)
完整Vision Tower結構:
embed_vision.embedding_projection.*(3 tensors)vision_tower.encoder.layers.0-15.*(16層完整處理)- input_layernorm
- mlp (down_proj, gate_proj, up_proj)
- self_attn (q_proj, k_proj, v_proj, o_proj)
- post_attention_layernorm
與 E4B Vision Tower 對比:
- E4B: 436 tensors (16層)
- E2B: 661 tensors (16層) ← 多出225 tensors!
三、E2B Audio 配置詳情
Audio Config (from config.json)
"audio_config": {
"hidden_size": 1024,
"num_hidden_layers": 12,
"num_attention_heads": 8,
"attention_chunk_size": 12,
"conv_kernel_size": 5,
"subsampling_conv_channels": [128, 32],
"output_proj_dims": 1536,
"model_type": "gemma4_audio"
}
Audio Tensors (754個)
完整Audio Tower結構:
audio_tower.layers.0-11.*(12層完整處理)- feed_forward1, feed_forward2
- attention layers
- subsampling convolutions
與 E4B Audio Tower 對比:
- E4B: 513 tensors (12層)
- E2B: 754 tensors (12層) ← 多出241 tensors!
四、E2B vs E4B vs 12B 完整對比
多模態 Tensor 分布
| 模型 | Audio Tensors | Vision Tensors | Audio+Vision總計 | 占比 | 實現方式 |
|---|---|---|---|---|---|
| E2B | 754 (28%) | 661 (24%) | 1415 | 52% | 完整塔 |
| E4B | 513 (28%) | 436 (23%) | 949 | 37% | 完整塔 |
| 12B | 3 (0%) | 14 (1%) | 17 | 1% | 輕量投影 |
關鍵發現:
- 🥇 E2B 是多模態部分最大的模型 (1415 tensors, 52%)
- 🥈 E4B 第二大 (949 tensors, 37%)
- 🥉 12B 最輕量 (17 tensors, 1%)
Vision Tower 對比
| 特徵 | E2B | E4B | 12B |
|---|---|---|---|
| 層數 | 16層 | 16層 | 無塔 |
| Hidden Size | 768 | 768 | 3840 (projection) |
| Attention Heads | 12 | ? | 無 |
| KV Heads | 12 (full) | ? | 無 |
| Patch Size | 16 | ? | 16 |
| Tensors | 661 | 436 | 14 |
| 實現方式 | 完整塔 | 完整塔 | 投影 |
E2B Vision 比 E4B 更大:
- E2B: 661 tensors
- E4B: 436 tensors
- 差異: 225 tensors (+52%)
Audio Tower 對比
| 特徵 | E2B | E4B | 12B |
|---|---|---|---|
| 層數 | 12層 | 12層 | 無塔 |
| Hidden Size | 1024 | 1024 | 640 (projection) |
| Attention Heads | 8 | ? | 無 |
| Tensors | 754 | 513 | 3 |
| 實現方式 | 完整塔 | 完整塔 | 投影 |
E2B Audio 比 E4B 更大:
- E2B: 754 tensors
- E4B: 513 tensors
- 差異: 241 tensors (+47%)
五、E2B 獨特之處
Per-Layer Input Architecture
E2B 獨有的 per-layer input 架構:
Config:
"text_config": {
"hidden_size_per_layer_input": 256,
"vocab_size_per_layer_input": 262144,
"num_kv_shared_layers": 20
}
Tensors:
language_model.model.embed_tokens_per_layer.*- 獨特的per-layer embedding
- 與Audio/Vision的整合可能更深
Double-Wide MLP
E2B 使用 "double-wide" MLP:
"use_double_wide_mlp": true
這可能解釋了為何E2B的Audio/Vision tensors比E4B多。
Sliding Window + Full Attention
E2B 混合使用 sliding window 和 full attention:
"sliding_window": 512,
"layer_types": [
"sliding_attention", // layers 0-3
"full_attention", // layer 4
"sliding_attention", // layers 5-8
"full_attention", // layer 9
...
]
六、完全修正的多模態分類
正確的多模態模型分類
| 模型 | Audio | Vision | Audio Tower | Vision Tower | 多模態占比 |
|---|---|---|---|---|---|
| E2B | ✅ | ✅ | 754 tensors (完整) | 661 tensors (完整) | 52% |
| E4B | ✅ | ✅ | 513 tensors (完整) | 436 tensors (完整) | 37% |
| 12B | ✅ | ✅ | 3 tensors (projection) | 14 tensors (projection) | 1% |
| 31B | ❌ | ❌ | 0 | 0 | 0% |
| 26B-Standard | ❌ | ❌ | 0 | 0 | 0% |
| 26B-A4B | ❌ | ❌ | 0 | 0 | 0% |
三種實現方式
-
完整塔架構 (E2B, E4B):
- Audio Tower: 獨立的12層處理塔
- Vision Tower: 獨立的16層處理塔
- 特點: 深度特征提取,複雜處理
- 測試: E2B Audio已測試,Vision未測試
-
輕量投影架構 (12B):
- Audio/Vision: Embedding projection
- 特點: 輕量級,快速映射
- 測試: 未測試多模態
-
純文本架構 (31B, 26B):
- 無Audio/Vision components
- 純粹的文本處理
七、測試狀態澄清
E2B 測試範圍
已測試 ✅:
- Audio Tower加載 (12層, 1024 hidden)
- Audio forward pass (NaN=0)
- Audio tensors count (751個)
- 文本模型基本功能
未測試 ⚠️:
- Vision Tower (16層, 768 hidden) ← 完全未測試!
- Vision forward pass
- Audio+Vision整合
- 多模態輸入處理
為何之前錯誤判斷
原因:
- 測試代碼主要檢查 Audio Tower
- 測試報告中計數為 "Audio Tower: 751 tensors"
- 沒有檢查 Vision Tensors (應為661個)
- config.json 已有 vision_config,但被忽略
- 主觀假設 "E2B 是 Audio專用"
八、應用推薦重新評估
多模態應用選擇
之前錯誤推薦:
❌ "Audio專用 → E2B"
❌ "Vision → E4B"
❌ "Audio+Vision → E4B (唯一選擇)"
正確推薦 ✅:
✅ Audio+Vision → E2B 或 E4B (兩者都支持)
✅ 最大多模態 → E2B (1415 tensors, 52%占比)
✅ 高效多模態 → E4B (949 tensors, 37%占比)
✅ 輕量多模態 → 12B (17 tensors, 1%占比)
模型大小與能力對比
| 模型 | Text Hidden | Audio+Vision占比 | 多模態能力 | 推理速度 | 最佳場景 |
|---|---|---|---|---|---|
| E2B | 1536 | 52% | Audio+Vision (最大) | ~26 tok/s | 深度多模態處理 |
| E4B | 2560 | 37% | Audio+Vision (中等) | 42.8 tok/s | 快速多模態推理 |
| 12B | 3840 | 1% | Audio+Vision (輕量) | ~26 tok/s | 長文本 + 輕量多模態 |
| 31B | 5376 | 0% | 純文本 | 未測 | 大規模文本處理 |
| 26B | 2816 | 0% | 純文本 | 未測 | MoE文本處理 |
九、數據分析
Tensor分布詳細對比
E2B (2649 tensors total):
- Audio: 754 (28%)
- Vision: 661 (24%)
- Text: 1234 (46%)
- 其他: 0
E4B (~2500 tensors estimated):
- Audio: 513 (28%)
- Vision: 436 (23%)
- Text: ~1130 (46%)
- 其他: 0
12B (1341 tensors total):
- Audio: 3 (0%)
- Vision: 14 (1%)
- Text: 1324 (98%)
- 其他: 0
Vision Tower詳細結構
E2B Vision Tower (16層):
每層包含:
- input_layernorm
- self_attn (q_proj, k_proj, v_proj, o_proj)
- mlp (down_proj, gate_proj, up_proj)
- post_attention_layernorm
加上:
- embed_vision.embedding_projection
- position_embedding (10240)
- pooling (kernel=3)
E4B Vision Tower (16層):
類似結構,但:
- tensors數量較少 (436 vs 661)
- 可能缺少某些projection或embedding
12B Vision:
僅有:
- embed_vision.embedding_projection (3 tensors)
- vision_embedder.patch_dense等 (11 tensors)
無完整Tower結構
十、修正影響總結
需要修正的報告
- ✅
12B_multimodal_correction.md(已創建) - ⏳
model_capabilities_comparison.md(需要再次更新) - ⏳
complete_model_testing_report.md(需要再次更新) - ⏳
E4B_vs_12B_comparison_report.md(需要再次更新) - ✅ 此報告
E2B_vision_correction.md(已創建)
錯誤陳述修正表
| 錯誤陳述 | 正確陳述 | 影響模型 |
|---|---|---|
| ❌ "12B純文本" | ✅ "12B具備Audio+Vision (輕量)" | 12B |
| ❌ "E2B Audio only" | ✅ "E2B具備Audio+Vision (最大)" | E2B |
| ❌ "E4B唯一多模態" | ✅ "E4B、E2B、12B都具備多模態" | 所有 |
完全正確的多模態分類
具備完整Audio+Vision Tower (深度處理):
- 🥇 E2B: 1415 tensors (52%) ← 最大
- 🥈 E4B: 949 tensors (37%)
具備輕量Audio+Vision Projection (快速映射):
- 🥉 12B: 17 tensors (1%)
純文本模型 (無多模態):
- ❌ 31B, 26B系列: 0 tensors
十一、技術細節補充
E2B Vision處理流程
Image Input (224×224)
↓
Patch Extraction (patch_size=16)
↓
Vision Tower (16 layers, 768 hidden)
- 12 attention heads
- Full attention (12 KV heads)
- Position embedding (10240)
↓
Pooling (kernel_size=3)
↓
Soft Tokens Output (280 tokens)
↓
Embedding Projection
↓
Text Space (1536 hidden)
E2B Audio處理流程
Audio Input (16000 Hz)
↓
Subsampling Conv ([128, 32] channels)
- Conv kernel size: 5
↓
Audio Tower (12 layers, 1024 hidden)
- 8 attention heads
- Chunk size: 12
↓
Feed Forward Layers
↓
Output Projection (1536 dims)
↓
Text Space (1536 hidden)
Per-Layer Integration
E2B 獨特的 per-layer input 可能用於:
- Audio/Vision tokens按層整合
- 不同層接收不同的多模態輸入
- 更細粒度的多模態特征注入
十二、下一步建議
需要補充的測試
E2B Vision測試:
// 測試Vision Tower
let visionModel = loadVisionTower(model)
let imageInput = loadImageFile("test.jpg")
let visionTokens = visionModel.process(imageInput)
print("Vision output tokens: \(visionTokens.count)")
print("Vision forward NaN: \(checkNaN(visionTokens))")
E2B Audio+Vision整合測試:
// 測試Audio+Vision整合
let audioTokens = audioTower.process(audioInput)
let visionTokens = visionTower.process(imageInput)
let textTokens = tokenize("Describe this")
let combined = audioTokens + visionTokens + textTokens
let logits = model.forward(combined)
需要更新的文件
- ✅ E2B Vision測試代碼
- ⏳ Vision Tower加載邏輯
- ⏳ 多模態整合測試
- ⏳ 所有報告修正
十三、最終結論
最終結論
✅✅ E2B 和 E4B 都具備完整的 Audio + Vision 能力
不是"Audio專用"!
也不是"E4B唯一多模態"!
三個模型都支持多模態
- 🥇 E2B: 最大多模態 (1415 tensors, 52%)
- 🥈 E4B: 中等多模態 (949 tensors, 37%)
- 🥉 12B: 輕量多模態 (17 tensors, 1%)
正確的應用推薦
深度多模態處理:
- 🥇 E2B (最大Audio+Vision Tower)
- 🥈 E4B (中等Audio+Vision Tower)
輕量多模態 + 長文本:
- 🥉 12B (輕量projection + 262K context)
純文本處理:
- 31B, 26B系列
修正摘要
第一個錯誤: ❌ "12B純文本" → ✅ "12B輕量多模態"
第二個錯誤: ❌ "E2B Audio only" → ✅ "E2B最大多模態"
根本錯誤: ❌ "E4B唯一多模態" → ✅ "三個模型都支持多模態"
正確分類:
- 完整塔: E2B (最大), E4B (中等)
- 輕量投影: 12B (最小)
- 純文本: 31B, 26B
測試狀態:
- E4B Audio: ✅ 已測試
- E2B Audio: ✅ 已測試
- E2B Vision: ⚠️ 未測試 ← 需要補充
- 12B 多模態: ⚠️ 未測試 ← 需要補充
報告生成: 2026-06-23
修正原因: E2B config.json + safetensors 重新檢查
影響範圍: 4份報告需要更新
新發現: E2B是最大多模態模型 (1415 tensors)
下一步: 測試E2B Vision Tower,修正所有報告