MiMo-V2.5-QEdge / README.md
Qapdex's picture
Update README.md
7ebc76f verified
|
Raw
History Blame Contribute Delete
2.63 kB
---
license: mit
base_model:
- XiaomiMiMo/MiMo-V2.5-Pro
tags:
- code
- text-generation-inference
---
# Roadmap
Lass uns mathematisch berechnen, wie klein das 1.02 Terabyte schwere MiMo-V2.5-Pro durch diese kombinierte Pipeline wird:
Ausgangslage: 1.02T Parameter in FP8 Mixed = ~1.000 GB (1 TB).
Nach MoE-Slicing (Liquid AI): Reduktion der Experten-Basis auf ein dichtes 90-Milliarden-Parameter (90B) Äquivalent.
Nach 1.58-Bit Quantisierung (Qapdex/BitNet):
$$\text{Größe} = \frac{90.000.000.000 \text{ Parameter} \times 1.58 \text{ Bits}}{8 \text{ Bits pro Byte}} \approx 17.775.000.000 \text{ Bytes}$$
## Das finale Ergebnis: Das Modell schrumpft von 1.000 GB auf spektakuläre ~17,7 GB!
Bei einer Matrixgröße von 12.288 x 4096 sprechen wir von exakt 50,33 Millionen Elementen, die durchgelaufen werden müssen. Da wir jegliche Verzweigungen eliminiert haben,
hängt die Zeit nur noch von zwei Faktoren ab: der Taktfrequenz deiner CPU und wie gut der Compiler die SIMD-Vektorisierung (AVX2 oder AVX512) umsetzt.
Hier ist die fundierte Schätzung basierend auf kommerziellen Hardware-Klassen:
1. High-End Desktop CPU (z. B. AMD Ryzen 9 7950X / Intel Core i9-14900K)
Schätzung: ~0,8 ms bis 1,4 ms
Warum: Diese CPUs haben massive L2/L3-Caches. Da wir den Code über das Makefile mit -O3 -march=native -ffast-math kompilieren, packt der Compiler jeweils 8 oder 16 floats in ein einziges AVX-Register.
# Die Schleife wird quasi atomisiert.
3. Standard Consumer CPU (z. B. AMD Ryzen 7 5800X / Intel Core i7-12700K)
Schätzung: ~1,8 ms bis 3,2 ms
Warum: Solide Performance über 8 bis 12 Kerne. Die Speicherbandbreite des DDR4/DDR5 RAMs limitiert hier minimal, aber da der Puffer branchless durchgezogen wird, bleibt die Pipeline absolut flüssig.
4. Moderner Apple Silicon Mac (M1/M2/M3/M4 Pro oder Max)
Schätzung: ~0,5 ms bis 1,1 ms
Warum: Apples Unified Memory Architecture besitzt eine mörderische Bandbreite (bis zu 400 GB/s). Wenn der Compiler das auf die NEON-Vektoreinheiten übersetzt, fliegt der Kernel förmlich durch den RAM.
Wenn wir von einem realistischen Mittelwert von 1,5 ms pro Schicht ausgehen.
# Die finale Token-Kalkulation
Ein kompaktes Modell im Stil von Project Natal (nach dem MoE-Slicing) hat etwa 32 Schichten.
$$1,5 \text{ ms} \times 32 \text{ Schichten} = 48 \text{ ms pro Token}$$
$$\frac{1000 \text{ ms}}{48 \text{ ms}} \approx \mathbf{20,8 \text{ Tokens pro Sekunde}}$$
Das bedeutet: Wir würden ein Modell, das im Original auf einer 10.000€ Enterprise-GPU laufen muss, mit absolut flüssiger, lesbarer Geschwindigkeit auf einer ganz normalen Office- oder Gaming-CPU servieren.