Spaces:
Sleeping
Sleeping
Fix submission tags to achievement:* scheme; add field notes; refresh demo media
Browse files
README.md
CHANGED
|
@@ -9,13 +9,13 @@ pinned: true
|
|
| 9 |
license: apache-2.0
|
| 10 |
short_description: Watch & hear a sentence gradually become another language.
|
| 11 |
tags:
|
| 12 |
-
- track:
|
| 13 |
-
- badge:off-brand
|
| 14 |
-
- badge:tiny-titan
|
| 15 |
-
- badge:best-demo
|
| 16 |
-
- badge:bonus-quest-champion
|
| 17 |
- sponsor:openbmb
|
| 18 |
- sponsor:modal
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
- minicpm
|
| 20 |
- small-models
|
| 21 |
- translation
|
|
@@ -52,13 +52,22 @@ English · Spanish · French · Italian · Portuguese · German · Russian · Ja
|
|
| 52 |
## 🏆 What we're entered for
|
| 53 |
|
| 54 |
- **Track — Thousand Token Wood** (a delightful, AI-native language toy).
|
| 55 |
-
- 🎨 **Off Brand** — a fully custom Three.js UI, far past the default Gradio look, mounted via `gr.mount_gradio_app`.
|
| 56 |
-
-
|
|
|
|
|
|
|
| 57 |
- 🎬 **Best Demo** — app + demo video + social post.
|
| 58 |
- 🏅 **Bonus Quest Champion** — multiple bonus criteria met.
|
| 59 |
- **OpenBMB · Best MiniCPM Build** — speech by **VoxCPM2 (MiniCPM-4 backbone)**.
|
| 60 |
- **Modal · Best Use of Modal** — Qwen3-4B + VoxCPM2 run on Modal (L4, scale-to-zero); see Architecture.
|
| 61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
## 🏗️ Architecture
|
| 63 |
|
| 64 |
A thin **Gradio Space (free CPU)** serves the custom UI and **proxies model calls to a Modal L4 GPU** that runs Qwen3-4B (llama.cpp) + VoxCPM2. The Space stays light and the GPU scales to zero. The 🎲 *Surprise me* examples are pre-rendered (layers **and** VoxCPM2 audio baked in), so the demo is instant even on a cold backend.
|
|
|
|
| 9 |
license: apache-2.0
|
| 10 |
short_description: Watch & hear a sentence gradually become another language.
|
| 11 |
tags:
|
| 12 |
+
- track:wood
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
- sponsor:openbmb
|
| 14 |
- sponsor:modal
|
| 15 |
+
- achievement:offbrand
|
| 16 |
+
- achievement:llama
|
| 17 |
+
- achievement:tinytitan
|
| 18 |
+
- achievement:fieldnotes
|
| 19 |
- minicpm
|
| 20 |
- small-models
|
| 21 |
- translation
|
|
|
|
| 52 |
## 🏆 What we're entered for
|
| 53 |
|
| 54 |
- **Track — Thousand Token Wood** (a delightful, AI-native language toy).
|
| 55 |
+
- 🎨 **Off Brand** (`achievement:offbrand`) — a fully custom Three.js UI, far past the default Gradio look, mounted via `gr.mount_gradio_app`.
|
| 56 |
+
- 🦙 **Llama Champion** (`achievement:llama`) — the text model (Qwen3-4B) runs through the **llama.cpp** runtime.
|
| 57 |
+
- 🐜 **Tiny Titan** (`achievement:tinytitan`) — every model is ≤4B (Qwen3-4B + VoxCPM2 2B).
|
| 58 |
+
- 📓 **Field Notes** (`achievement:fieldnotes`) — see *What I learned* below.
|
| 59 |
- 🎬 **Best Demo** — app + demo video + social post.
|
| 60 |
- 🏅 **Bonus Quest Champion** — multiple bonus criteria met.
|
| 61 |
- **OpenBMB · Best MiniCPM Build** — speech by **VoxCPM2 (MiniCPM-4 backbone)**.
|
| 62 |
- **Modal · Best Use of Modal** — Qwen3-4B + VoxCPM2 run on Modal (L4, scale-to-zero); see Architecture.
|
| 63 |
|
| 64 |
+
## 📓 What I learned (field notes)
|
| 65 |
+
|
| 66 |
+
- **Push structure into Python, not the prompt.** Asking the LLM for the full 7-layer graph produced broken links. Asking for *one* thing — aligned phrase units `{source, target, type, order_target}` — and building the layers deterministically in Python made **every link valid by construction**. The model does the part only a model can; code does the rest.
|
| 67 |
+
- **Small genuinely won on latency.** Qwen3-4B nailed the decomposition across all 10 languages. I tried NVIDIA's Nemotron-9B-v2 for a sponsor prize, but its hybrid-Mamba decode took >120s for a single interactive translation — unusable for a *toy*. The 4B model was both good enough and fast enough.
|
| 68 |
+
- **VoxCPM2 reads mixed-language text directly.** No language tag needed, which is exactly what the hybrid intermediate layers (half source, half target) require — a per-language TTS would have choked on them. Reusing one anchor clip kept the narrator voice consistent across layers.
|
| 69 |
+
- **Thin Space + Modal GPU is the right split.** A free CPU Space serving the custom UI and proxying model calls to a scale-to-zero Modal L4 keeps the Space light and the GPU cheap, while pre-rendering the demo examples (layers **and** audio) makes the toy feel instant even on a cold backend.
|
| 70 |
+
|
| 71 |
## 🏗️ Architecture
|
| 72 |
|
| 73 |
A thin **Gradio Space (free CPU)** serves the custom UI and **proxies model calls to a Modal L4 GPU** that runs Qwen3-4B (llama.cpp) + VoxCPM2. The Space stays light and the GPU scales to zero. The 🎲 *Surprise me* examples are pre-rendered (layers **and** VoxCPM2 audio baked in), so the demo is instant even on a cold backend.
|