Files
MarkBase Admin ac75faa0cc
CI / build-and-test (push) Has been cancelled
Initial commit: E4B-MarkBase model integration with passing tests
- E4B-MarkBase model (42 layers, 4.4GB) loaded successfully
- All Phase 1-6 tests passed (model loading, forward pass, vision/audio towers, token generation, performance)
- All stress tests passed (5/5 in 127.6s)
  - Concurrent inference
  - Memory stress (67.5 tok/s, 0 NaN)
  - Continuous generation
  - Batch processing
  - Long-running stability
- Swift Metal inference engine with multimodal support
2026-06-23 18:12:35 +08:00

112 lines
2.6 KiB
Markdown

# MarkBase-12B Swift Metal Inference Engine
## 快速开始
### 构建
```bash
cd /Users/accusys/MarkBase12B
swift build
```
### 测试
```bash
swift test
swift test --filter E4BSimpleInferenceTest.testTokenizerEncoding # Tokenizer测试
swift test --filter E4BSimpleInferenceTest.testMultimodalVisionInference # Multimodal测试
```
### 运行服务器(开发中)
```bash
swift run G12BServer /path/to/model 8080 markbase-e4b
```
## API Endpoints
### 文本生成
```
POST /v1/chat/completions
{
"model": "markbase-e4b",
"messages": [{"role": "user", "content": "Hello"}],
"max_tokens": 100
}
```
### 多模态生成
```
POST /v1/multimodal/chat/completions
{
"model": "markbase-e4b",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Describe this image"},
{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}}
]
}],
"max_tokens": 100
}
```
## 性能指标
| Metric | Value |
|--------|-------|
| RDMA带宽 | 5761 MB/s (Thunderbolt 5) |
| POC吞吐 | 658 tokens/s (分布式) |
| Embedding验证 | Swift = Python精确匹配 |
## 架构
```
Swift Metal Engine
├── MarkBaseEngine (Metal kernels)
├── E4BModel (42 layers)
├── BPETokenizer (sentencepiece)
├── MultimodalModel
│ ├── VisionTower (16 layers)
│ ├── AudioTower (12 layers)
│ ├── Vision preprocessing
│ ├── Pooling (196→1)
│ └── Normalization
└── MarkBaseServer (API handlers)
```
## 文件结构
```
Sources/
├── G12B/ # 核心库
│ ├── Metal/ # Metal kernels
│ ├── Tokenizer/ # Tokenizer
│ ├── Sampling/ # Sampling strategies
│ ├── Vision/ # Vision tower
│ ├── Audio/ # Audio tower
│ ├── Generator/ # Streaming generator
│ └── Model.swift # Main model
├── G12BServer/ # API服务器
│ ├── MarkBaseServer.swift # Main server
│ ├── MultimodalAPI.swift # Multimodal types
│ ├── ModelsAPI.swift # API models
│ └── Errors.swift # Error handling
└── Tests/
└── E4BSimpleInferenceTest.swift # 测试
```
## 限制说明
**E4B-MarkBase 是 Gemma4ForConditionalGeneration (multimodal)**
- 纯文本生成产生随机输出
- 需要 vision/audio conditioning
- 这是模型架构特性,不是bug
## 下一步
1. HTTP服务器集成 (Hummingbird)
2. Python参考验证
3. Audio预处理
4. 性能优化