|
Download README.md from PYTHAI/minaiml: direct link, hf CLI and curl.
- Browser
- Download file 12 kB
-
https://huggingface.co/spaces/PYTHAI/minaiml/resolve/main/README.md
- Command line
-
hf download hf://spaces/PYTHAI/minaiml/README.md
-
curl -L -o README.md https://huggingface.co/spaces/PYTHAI/minaiml/resolve/main/README.md
12 kB
| title: minaiml | |
| emoji: 📱 | |
| colorFrom: gray | |
| colorTo: yellow | |
| sdk: static | |
| pinned: false | |
| short_description: delivery software for models on laptops and phones | |
| license: apache-2.0 | |
| tags: | |
| - on-device | |
| - android | |
| - llm | |
| - mixture-of-experts | |
| - gguf | |
| - llama-cpp | |
| - typescript | |
| - tauri | |
| - edge-ai | |
| - open-source | |
| <p align="center"><b><code>LAB TEST · ALPHA</code></b></p> | |
| <p align="center"> | |
| <img alt="creator: codephreak" src="https://img.shields.io/badge/creator-codephreak-d6b25e?style=flat-square"> <img alt="stage: lab test" src="https://img.shields.io/badge/stage-lab%20test-orange?style=flat-square"> <img alt="release: alpha" src="https://img.shields.io/badge/release-alpha-orange?style=flat-square"> <img alt="runs on a device: not yet" src="https://img.shields.io/badge/runs%20on%20a%20device-not%20yet-orange?style=flat-square"><br> | |
| <img alt="TypeScript: core · workspace" src="https://img.shields.io/badge/TypeScript-core%20%C2%B7%20workspace-3178C6?style=flat-square&logo=typescript&logoColor=white"> <img alt="Kotlin: Android shell" src="https://img.shields.io/badge/Kotlin-Android%20shell-7F52FF?style=flat-square&logo=kotlin&logoColor=white"> <img alt="Swift: iOS shell" src="https://img.shields.io/badge/Swift-iOS%20shell-F05138?style=flat-square&logo=swift&logoColor=white"> <img alt="Rust: planned" src="https://img.shields.io/badge/Rust-planned-555555?style=flat-square&logo=rust&logoColor=white"><br> | |
| <img alt="client-side: GPL-3.0-only OR Apache-2.0" src="https://img.shields.io/badge/client--side-GPL--3.0--only%20OR%20Apache--2.0-A42E2B?style=flat-square&logo=gnu&logoColor=white"> <img alt="encryption: GPL-3.0-only" src="https://img.shields.io/badge/encryption-GPL--3.0--only-A42E2B?style=flat-square&logo=gnu&logoColor=white"> <img alt="server augments: MIT · optional" src="https://img.shields.io/badge/server%20augments-MIT%20%C2%B7%20optional-3DA639?style=flat-square&logo=opensourceinitiative&logoColor=white"> <img alt="upstream: MIT · PocketPal AI" src="https://img.shields.io/badge/upstream-MIT%20%C2%B7%20PocketPal%20AI-3DA639?style=flat-square&logo=opensourceinitiative&logoColor=white"><br> | |
| <img alt="Android: today" src="https://img.shields.io/badge/Android-today-3DDC84?style=flat-square&logo=android&logoColor=white"> <img alt="iOS: today" src="https://img.shields.io/badge/iOS-today-000000?style=flat-square&logo=ios&logoColor=white"> <img alt="Debian: planned" src="https://img.shields.io/badge/Debian-planned-555555?style=flat-square&logo=debian&logoColor=white"> <img alt="Alpine: planned" src="https://img.shields.io/badge/Alpine-planned-555555?style=flat-square&logo=alpinelinux&logoColor=white"> <img alt="OpenBSD: planned · unofficial" src="https://img.shields.io/badge/OpenBSD-planned%20%C2%B7%20unofficial-555555?style=flat-square&logo=openbsd&logoColor=white"> <img alt="Tauri 2: planned host" src="https://img.shields.io/badge/Tauri%202-planned%20host-555555?style=flat-square&logo=tauri&logoColor=white"> | |
| </p> | |
| <p><b>Created by <a href="https://github.com/Professor-Codephreak">codephreak</a></b> for a more empathetic interaction: <b>motion, vision, audio and participant interaction</b> from a handheld anyone in the world already carries — and, docked into hardware through open drivers, <b>walking</b>. The model player is the first organ, not the whole animal. A language model never drives a motor: it proposes an intent, and a deterministic governor with a dead-man timer decides whether the body moves.</p> | |
| <p><b>BROBOT is decision logic that has been executed and tested — and has never generated a token on a phone.</b> It is not an installable release. Every figure on this page is a model or somebody else's published measurement, and is labelled as such. Work is private until it is released. <i>Open source or go away:</i> anything without an OSI-approved licence is ignored — not linked, not benchmarked against, not used as a data source.</p> | |
| <p><b><a href="https://github.com/minaiml" target="_blank" rel="noopener">minaiml</a></b> (say it <i>minimal</i>) is <b><a href="https://huggingface.co/PYTHAI" target="_blank" rel="noopener">PYTHAI</a></b>'s delivery layer: the software that runs reasonable-sized models on hardware you already own. A mixture-of-experts model is mostly idle — a router wakes a handful of experts per token and leaves the rest on disk. Delivery is the art of exploiting that.</p> | |
| <table> | |
| <tr><th align="left">device</th><th align="left">model</th><th align="left">tok/s</th><th align="left">resident</th><th align="left">engine</th></tr> | |
| <tr><td>MacBook Pro M3 Max, 48 GB</td><td>Qwen3.5-397B-A17B</td><td>4.36</td><td>~6 GB of 209 GB</td><td><a href="https://github.com/minaiml/flash-moe" target="_blank" rel="noopener">flash-moe</a></td></tr> | |
| <tr><td>iPhone 17</td><td>Qwen3.5-35B-A3B</td><td>11</td><td>1.4 GB of 13 GB</td><td><a href="https://github.com/minaiml/Flash-iOS" target="_blank" rel="noopener">Flash-iOS</a></td></tr> | |
| <tr><td>Raspberry Pi 5, 8 GB</td><td>DeepSeek-V4-Flash</td><td>—</td><td>—</td><td><a href="https://github.com/minaiml/flash-pi-dsv4" target="_blank" rel="noopener">flash-pi-dsv4</a></td></tr> | |
| <tr><td>2-core CPU VPS, no GPU</td><td><a href="https://huggingface.co/PYTHAI/mindXtrain39" target="_blank" rel="noopener">mindXtrain39</a>, 135M dense</td><td>0.19</td><td>—</td><td>Ollama</td></tr> | |
| </table> | |
| <p>The slowest row is ours, and it stays: a 135-million-parameter dense model runs three hundred times slower than a 397-billion-parameter sparse one. <b>Sparsity, not size, decides what a small machine can run.</b></p> | |
| <p><b>BROBOT — the build.</b> <a href="https://github.com/minaiml/brobot" target="_blank" rel="noopener">minaiml/brobot</a> is the model player itself, built from PocketPal AI (MIT, React Native + llama.rn). Its <code>src/handheld/</code> module is the device side, and what it has found so far is the interesting part.</p> | |
| <p><b>RAM is effort.</b> Three things compete for it — weights, KV cache, prefill batch — and the KV cache is charged <i>twice</i>: once in memory, and again in bandwidth on every single token. So the configuration that fits the most context is reliably <b>not</b> the one that produces the most tokens.</p> | |
| <div class="scroll"><table> | |
| <tr><th align="left">strategy</th><th align="left">context</th><th align="left">RAM</th><th align="left">tok/s</th><th align="left">tok/s per GB</th></tr> | |
| <tr><td>speed</td><td>1,024</td><td>2.17 GB</td><td>7.6</td><td><b>3.51</b></td></tr> | |
| <tr><td>balanced <i>(default)</i></td><td>16,384</td><td>2.79 GB</td><td>5.8</td><td>2.09</td></tr> | |
| <tr><td>context</td><td>32,768</td><td>3.46 GB</td><td>4.7</td><td>1.35</td></tr> | |
| </table></div> | |
| <p>Maximising context returns 38 % of the tokens per gigabyte of the efficient point, and costs 38 % of the throughput to get there. So the player picks on that frontier instead of maximising any one axis, and it states what it rejected and why.</p> | |
| <p><b>And the mixture-of-experts asymmetry, which is the whole argument in two rows:</b> memory scales with <i>total</i> parameters, speed scales with <i>active</i> ones. On the same mid-range phone, a dense 35B holds 21 GB and runs at 0.7 tok/s; an MoE 35B-A3B holds the same 21 GB and runs at <b>6.5 tok/s</b> — nine times the throughput at identical memory cost. Quantizing the KV cache turns out to buy speed as well as memory, and the gain grows with context: +12 % at 4k, <b>+49 % at 32k</b>.</p> | |
| <p>Every number there is a <b>model, not a benchmark</b>, and says so — to be replaced by measured telemetry the moment a real device reports one. The specification is <a href="https://github.com/minaiml/.github/blob/main/PLAYER.md" target="_blank" rel="noopener">PLAYER.md</a>; the reasoning that led to it is <a href="https://github.com/minaiml/.github/blob/main/HYPOTHESIS.md" target="_blank" rel="noopener">HYPOTHESIS.md</a>.</p> | |
| <p><b>Smart phones, plural.</b> A phone at 11 tok/s is not a terminal for somebody else's data centre — it is a <b>node</b>. That reframes the problem: not "how large a model fits on this device", but "what does a mesh of small devices know together". The catalogue already carries the cluster layer — <a href="https://github.com/minaiml/exo" target="_blank" rel="noopener">exo</a> builds an AI cluster from everyday devices, <a href="https://github.com/minaiml/distributed-llama" target="_blank" rel="noopener">distributed-llama</a> splits one model across machines on a LAN, <a href="https://github.com/minaiml/petals" target="_blank" rel="noopener">petals</a> does it over a swarm.</p> | |
| <p><b>The floor is two processors.</b> <a href="https://huggingface.co/spaces/PYTHAI/mindX" target="_blank" rel="noopener">mindX</a> is the existence proof, and it is deliberately unglamorous: <b>2 CPU cores, 7.8 GB of RAM, no GPU</b>, self-throttled to a third of the processor. On that it trains <i>its own weights</i> from its own memory — dreams become a corpus, the corpus trains a 135M actor, and a proof-of-recall gate decides whether the result is allowed to exist. It usually isn't: generation 39 is the newest the gate accepted, and every generation after it was refused. <b>A gate that never refuses is not a gate.</b></p> | |
| <p>That is the paradigm the phone inherits. CPU is the standing resource — always on, marginal cost zero, already in your pocket. GPU and rented capacity are <i>episodic</i>: you pay for a training event, then tear it down. So intelligence originates at the bottom and scales on demand, rather than living in one large machine somebody else owns. <b>A thousand phones that each know a little, and can ask each other, is a different architecture from one model that knows everything.</b></p> | |
| <p><b>Licence position.</b> PYTHAI hosts no engine and no engine-derived artifact. The catalogue is a set of pinned <i>references</i> on GitHub, each carrying a <code>FORK.json</code> with its upstream, commit and licence — and four of them declare <b>no licence upstream</b>, which means all rights reserved by their authors. Those are read and cited, never redistributed, and nothing derived from them is published in this namespace. The register is <a href="https://github.com/minaiml/.github/blob/main/LICENSES.md" target="_blank" rel="noopener">LICENSES.md</a>.</p> | |
| <p><b>The catalogue lives on GitHub</b> — <a href="https://github.com/minaiml" target="_blank" rel="noopener">github.com/minaiml</a>: laptop engines, MoE streaming, phone and edge runtimes, browser targets, cluster inference, on-device speech and adaptation. Every fork carries a <code>FORK.json</code> recording upstream, the commit we pinned, the date and the licence — including the four that declare no licence upstream and are therefore never redistributed.</p> | |
| <p><b>The models are at <a href="https://huggingface.co/PYTHAI" target="_blank" rel="noopener">PYTHAI</a></b>, licence-pinned at a commit: <a href="https://huggingface.co/PYTHAI/Qwen3.8-27B-fork" target="_blank" rel="noopener">Qwen3.8</a> · <a href="https://huggingface.co/PYTHAI/GLM-5.3-Flash-fork" target="_blank" rel="noopener">GLM-5.3-Flash</a> · <a href="https://huggingface.co/PYTHAI/Kimi-K3-fork" target="_blank" rel="noopener">Kimi K3</a> · <a href="https://huggingface.co/PYTHAI/granite-4.2-8b-fork" target="_blank" rel="noopener">Granite 4.2</a>. Delivery software here, weights there.</p> | |
| <p><b>Elsewhere:</b> <a href="https://pythai.net" target="_blank" rel="noopener">pythai.net</a> · <a href="https://mindx.pythai.net" target="_blank" rel="noopener">mindx.pythai.net</a> · <a href="https://huggingface.co/spaces/PYTHAI/mindX" target="_blank" rel="noopener">mindX, live</a>. Built by <a href="https://github.com/Professor-Codephreak" target="_blank" rel="noopener">Professor Codephreak</a>.</p> | |
| <p>Intelligence doesn't require a data center. It requires knowing which parameters are awake.</p> | |