Files
markbaseengine/M5MAX48_DEPLOYMENT_GUIDE.md
T
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

7.5 KiB

M5Max48 Deployment Guide for momentry_core

Quick Start - Production Ready Models

Device: M5Max with 48GB RAM
Status: Tested and Validated
Last Updated: 2026-06-20


🚀 Quick Recommendation

USE THIS: Gemma-4-26B-Standard 4-bit

Speed: 40 tok/s
Memory: 17GB
Load Time: 5.3s
Status: ✅ Production Ready

Step-by-Step Deployment

1. Model Selection

Model: gemma-4-26b-standard-4bit

Pros:

  • Fastest (40 tok/s)
  • Lowest memory (17GB)
  • Quick load (5.3s)
  • Proven stable

Best for:

  • Real-time applications
  • Production deployment
  • Memory-constrained scenarios

Command:

# Model location
/Users/accusys/MarkBase12B/models/gemma-4-26b-standard-4bit/

Option B: Maximum Capacity

Model: gemma-4-31b-it-4bit

Pros:

  • Largest model (31B)
  • Deepest network (60 layers)
  • Works immediately

Cons:

  • ⚠️ Slower (11.7 tok/s)
  • ⚠️ Longer load (64s)
  • ⚠️ More memory (20GB)

Best for:

  • Maximum model capacity
  • Deep reasoning tasks
  • Non-speed-critical applications

Command:

# Model location
/Users/accusys/MarkBase12B/models/gemma-4-31b-it-4bit/

2. Memory Requirements

Model Min RAM Recommended M5Max48 Fit
26B 4-bit 20GB 24GB Perfect
31B 4-bit 24GB 32GB Good
26B 8-bit* 32GB 36GB OK

*Not yet tested, estimated

M5Max48 (48GB) can run:

  • 26B 4-bit with 31GB to spare
  • 31B 4-bit with 28GB to spare
  • Both models with plenty of headroom for other apps

3. Performance Tuning

For 26B-Standard:

let config = ModelConfig(
    modelPath: "/Users/accusys/MarkBase12B/models/gemma-4-26b-standard-4bit",
    temperature: 0.7,        // Balanced creativity
    maxTokens: 100,          // Reasonable output
    topK: 40,               // Standard sampling
    topP: 0.9               // Nucleus sampling
)

For 31B-IT:

let config = ModelConfig(
    modelPath: "/Users/accusys/MarkBase12B/models/gemma-4-31b-it-4bit",
    temperature: 0.7,
    maxTokens: 50,           // Lower due to slower speed
    topK: 40,
    topP: 0.9
)

Temperature Guide

temperature: 0.0  → Greedy (deterministic, may repeat)
temperature: 0.3  → Conservative (factual tasks)
temperature: 0.7  → Balanced (recommended)
temperature: 1.0  → Creative (diverse outputs)

4. Code Integration

Basic Usage

import G12B

// Load model
let model = try await ModelLoader.load(
    path: "/Users/accusys/MarkBase12B/models/gemma-4-26b-standard-4bit"
)

// Generate text
let result = try await model.generate(
    prompt: "Explain quantum computing",
    config: ModelConfig(
        temperature: 0.7,
        maxTokens: 100
    )
)

print(result.text)

Performance Benchmark

import G12BServer

// Run benchmark
let benchmark = PerformanceBenchmark(model: model)
let results = try await benchmark.runFullBenchmark()

print("Speed: \(results.tokensPerSecond) tok/s")
print("Memory: \(results.memoryUsed) GB")

5. Troubleshooting

Issue: Slow First Load

Cause: Model compilation on first run

Solution:

  • First load takes ~5-10s for 26B
  • Subsequent loads are fast (~1s)
  • Normal behavior

Issue: Temperature 0.0 Repeats

Cause: Greedy sampling (expected behavior)

Solution:

  • Use temperature > 0.0 for variety
  • Recommended: temperature: 0.7

Issue: Mixed Language Output

Cause: Normal Gemma-4 behavior (multilingual model)

Solution:

  • This is expected
  • Model was trained on multiple languages
  • Quality is not affected

Issue: Out of Memory

Check:

# Check available memory
vm_stat | head -10

# Check model size
ls -lh /Users/accusys/MarkBase12B/models/*/model.weights

Solution:

  • Close other apps
  • Use 26B instead of 31B
  • Ensure no other large processes running

6. Validation

Verify Model Works

Run this test:

cd /Users/accusys/MarkBase12B
swift run G12BServer --model 26b-standard --test

Expected output:

✓ Model loaded successfully
✓ Forward pass: No NaN
✓ Token generation: 40 tok/s
✓ Memory usage: 17GB

7. Production Checklist

Before deploying:

  • Model loaded successfully
  • Forward pass tested (no NaN)
  • Token generation working
  • Memory within limits (< 30GB)
  • Temperature set correctly (> 0.0)
  • Max tokens reasonable (< 500)
  • Error handling implemented
  • Logging configured

Performance Comparison

Real-World Speed

26B-Standard:

Prompt: "Write a haiku about AI"
Time: ~0.5s for 20 tokens
Speed: 40 tok/s
Memory: 17GB peak

31B-IT:

Prompt: "Write a haiku about AI"
Time: ~1.7s for 20 tokens
Speed: 11.7 tok/s
Memory: 20GB peak

Use Case Recommendations

Use Case Model Reason
Real-time chat 26B 4-bit Fast, responsive
Content generation 26B 4-bit Good balance
Deep reasoning 31B 4-bit More capacity
Code assistance 26B 4-bit Quick responses
Analysis tasks 31B 4-bit Better understanding

Future Upgrades

High Priority: 26B 8-bit

When: Precision becomes critical

Expected:

  • Better quality outputs
  • ~30-35 tok/s (still fast)
  • ~30GB memory (still fits)

Action: Test when model is available


Low Priority: MoE Models

Models: 26B-A4B, other MoE variants

Status: Requires MoE implementation (3-5 days)

Recommendation: Skip unless absolutely needed


File Locations

Models:
  /Users/accusys/MarkBase12B/models/
    ├── gemma-4-26b-standard-4bit/
    └── gemma-4-31b-it-4bit/

Reports:
  /Users/accusys/MarkBase12B/
    ├── MODEL_COMPARISON_REPORT.md
    ├── M5MAX48_DEPLOYMENT_GUIDE.md
    ├── 26B_STANDARD_VALIDATION_SUCCESS.md
    └── 31B_TEST_SUCCESS_REPORT.md

Code:
  /Users/accusys/MarkBase12B/Sources/
    ├── G12B/Model.swift
    ├── G12B/Sampling/Sampler.swift
    └── G12BServer/PerformanceBenchmark.swift

Quick Decision Tree

START
  │
  ├─ Need FAST response? (chat, interactive)
  │   └─ YES → Use 26B 4-bit ⭐⭐⭐⭐⭐
  │
  ├─ Need MAX capacity? (analysis, reasoning)
  │   └─ YES → Use 31B 4-bit ⭐⭐⭐⭐
  │
  ├─ Need HIGH precision? (future)
  │   └─ YES → Use 26B 8-bit ⭐⭐⭐⭐⭐
  │
  └─ Limited memory? (< 30GB)
      └─ YES → Use 26B 4-bit ⭐⭐⭐⭐⭐

Support & Monitoring

Logs to Monitor

# Model load time
tail -f /var/log/g12b/load.log

# Inference errors
tail -f /var/log/g12b/inference.log

# Memory usage
top -pid $(pgrep G12BServer)

Health Check

# Quick test
swift run G12BServer --health-check

# Expected
✓ Model loaded
✓ Forward pass OK
✓ Memory OK
✓ Speed: 40 tok/s

Summary

For M5Max48 (48GB RAM):

Primary Choice: 26B-Standard 4-bit

  • Speed: 40 tok/s
  • Memory: 17GB
  • Proven stable

Alternative: 31B-IT 4-bit

  • Capacity: 31B params
  • Speed: 11.7 tok/s
  • Memory: 20GB

Future: 26B 8-bit

  • Higher precision
  • Test when available

Skip: 26B-A4B MoE

  • Requires implementation
  • Not worth effort

Status: Ready for Production
Recommended: 26B-Standard 4-bit
Performance: 40 tok/s, 17GB memory
Device: M5Max48 (48GB RAM)