784 lines
16 KiB
Markdown
784 lines
16 KiB
Markdown
---
|
||
license: apache-2.0
|
||
datasets:
|
||
- bigcode/the-stack
|
||
- OpceanAI/Yuuki-dataset
|
||
language:
|
||
- en
|
||
- es
|
||
base_model:
|
||
- openai-community/gpt2
|
||
pipeline_tag: text-generation
|
||
library_name: pytorch
|
||
tags:
|
||
- code
|
||
- transformers
|
||
metrics:
|
||
- perplexity
|
||
- code_eval
|
||
new_version: OpceanAI/Yuuki-v0.1
|
||
inference: true
|
||
widget:
|
||
- text: "def fibonacci(n):"
|
||
example_title: "Python Function"
|
||
- text: "module Main where"
|
||
example_title: "Agda Module"
|
||
- text: "int main() {"
|
||
example_title: "C Program"
|
||
|
||
---
|
||
<div align="center">
|
||
|
||
<br>
|
||
|
||
<img src="https://img.shields.io/badge/%E2%9C%A6-YUUKI--BEST-000000?style=for-the-badge&labelColor=000000" alt="Yuuki Best" height="50">
|
||
|
||
<br><br>
|
||
|
||
# The Best Checkpoint of the $0 Phone-Trained LLM
|
||
|
||
**Strongest initial model trained entirely on a smartphone.**<br>
|
||
**GPT-2 architecture. Checkpoint 2000. 146% improvement over checkpoint 1400.**
|
||
|
||
<br>
|
||
|
||
<a href="#features"><img src="https://img.shields.io/badge/FEATURES-000000?style=for-the-badge" alt="Features"></a>
|
||
|
||
<a href="https://huggingface.co/spaces/OpceanAI/Yuuki"><img src="https://img.shields.io/badge/LIVE_DEMO-000000?style=for-the-badge" alt="Demo"></a>
|
||
|
||
<a href="https://github.com/sponsors/aguitauwu"><img src="https://img.shields.io/badge/SPONSOR-000000?style=for-the-badge" alt="Sponsor"></a>
|
||
|
||
<br><br>
|
||
|
||
[](LICENSE)
|
||
|
||
[](https://huggingface.co/openai-community/gpt2)
|
||
|
||
[](https://huggingface.co/datasets/bigcode/the-stack)
|
||
|
||
[](https://pytorch.org/)
|
||
|
||
[](https://huggingface.co/docs/transformers)
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
</div>
|
||
|
||
## ⚠️ Important Disclaimer
|
||
|
||
**Yuuki-best** is the **strongest checkpoint** of the Yuuki project at checkpoint 2000 (5.3% training progress). This is an **early-stage research snapshot**, not a production-ready model.
|
||
|
||
- 🔬 **Research project** - Exploring mobile-based LLM training
|
||
- 📱 **Single-person effort** - Trained entirely on a smartphone
|
||
- 📄 **Research paper coming** - Full methodology and findings
|
||
- 🚧 **Early development** - Performance will improve significantly in v0.1
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## What is Yuuki-best?
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
**Yuuki-best** represents the **best checkpoint** (step 2000) of the Yuuki code generation model — a multilingual LLM trained entirely on a **Redmi 12 smartphone** with **zero cloud budget**. This checkpoint demonstrates major qualitative improvements over earlier versions, with a **146% average score increase** and clear evidence of real language learning.
|
||
|
||
The model is based on **GPT-2 architecture** (82M parameters) and has been trained on **The Stack** dataset with 75,000 code examples. This checkpoint shows:
|
||
|
||
- ✅ **Functional training pipeline** - Proven to work on mobile CPU
|
||
- ✅ **Real language learning** - Generates actual Agda imports and structures
|
||
- ✅ **Structured code outputs** - Syntactic scaffolding emerging
|
||
- ✅ **Measurable progress** - 146% improvement in just 1.6% more training
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Features
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
<table>
|
||
<tr>
|
||
<td width="50%" valign="top">
|
||
|
||
**Best Initial Checkpoint**
|
||
|
||
Checkpoint 2000 represents the strongest model snapshot so far, with clear improvements in code structure, language awareness, and quality scores compared to earlier checkpoints.
|
||
|
||
<br>
|
||
|
||
**Real Language Learning**
|
||
|
||
Generates genuine Agda imports (Cubical, Data.Nat, Function) and shows early understanding of language-specific tokens and patterns across multiple programming languages.
|
||
|
||
<br>
|
||
|
||
**Transparent Evaluation**
|
||
|
||
Unfiltered generation samples showing both successes and limitations. Honest assessment of current capabilities at ~5% training progress with clear quality metrics.
|
||
|
||
<br>
|
||
|
||
**146% Quality Improvement**
|
||
|
||
Average evaluation score increased from 10/100 (checkpoint 1400) to 24.6/100 (checkpoint 2000) despite only 1.6% additional training — demonstrating rapid early learning.
|
||
|
||
</td>
|
||
<td width="50%" valign="top">
|
||
|
||
**Zero-Budget Training**
|
||
|
||
Trained on a $150 Android phone with no cloud compute, no GPU acceleration, and no data center infrastructure. Proof that AI training is accessible to everyone.
|
||
|
||
<br>
|
||
|
||
**Multiple Quantized Formats**
|
||
|
||
Available in GGUF format with multiple quantization levels (Q4_0, Q4_K_M, Q5_K_M, Q8_0, F32) for efficient CPU and mobile inference.
|
||
|
||
<br>
|
||
|
||
**Early Language Specialization**
|
||
|
||
Due to alphabetical dataset ordering, shows strongest performance in Agda (55/100), with C, Assembly, and other languages progressively learning.
|
||
|
||
<br>
|
||
|
||
**Part of Complete Ecosystem**
|
||
|
||
Integrated with CLI tools (yuy, yuy-chat), web interfaces (Yuuki-chat, Yuuki-web), and comprehensive documentation for easy deployment.
|
||
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Checkpoint Comparison
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
### Performance Metrics
|
||
|
||
| Metric | Checkpoint 1400 | Checkpoint 2000 | Improvement |
|
||
|:-------|:----------------|:----------------|:------------|
|
||
| **Training Progress** | 1,400 / 37,500 (3.7%) | 2,000 / 37,500 (5.3%) | +1.6% |
|
||
| **Average Loss** | 1.70 – 2.23 | 1.69 – 2.31 | Similar |
|
||
| **Training Speed** | ~100 sec/step | ~86 sec/step | **14% faster** |
|
||
| **Model Size** | 988 MB | 988 MB | Same |
|
||
| **Evaluated Languages** | 5 languages | 5 languages | Same |
|
||
|
||
<br>
|
||
|
||
### Language Evaluation Scores
|
||
|
||
<table>
|
||
<tr>
|
||
<td width="50%" valign="top">
|
||
|
||
**Checkpoint 1400**
|
||
|
||
| Language | Score |
|
||
|:---------|:------|
|
||
| Agda | 20 / 100 |
|
||
| C | 8 / 100 |
|
||
| Assembly | 2 / 100 |
|
||
| **Average** | **10 / 100** |
|
||
|
||
</td>
|
||
<td width="50%" valign="top">
|
||
|
||
**Checkpoint 2000 (Yuuki-best)**
|
||
|
||
| Language | Score |
|
||
|:---------|:------|
|
||
| Agda | 55 / 100 |
|
||
| C | 20 / 100 |
|
||
| Assembly | 15 / 100 |
|
||
| **Average** | **24.6 / 100** |
|
||
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<br>
|
||
|
||
**📈 +146% average improvement** despite minimal additional training (≈1.6% more steps).
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Code Quality Evolution
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
### 🔻 Checkpoint 1400 — Early, Noisy, Unstable
|
||
|
||
<table>
|
||
<tr>
|
||
<td width="50%" valign="top">
|
||
|
||
**Agda Test**
|
||
|
||
```agda
|
||
BLAS : Bad memory unallocation! : 50 0x72ec90a000
|
||
module Main where
|
||
|
||
open import Data.PropositionalEquality using (PropositionalEquality;
|
||
open import Data.Nat
|
||
|
||
data import Data.PropositionalEquality using (Propos;
|
||
open-Equality -PropositionalEquality) using (Prop-} (Prop-Prop-ElAdvertisements)
|
||
```
|
||
|
||
❌ Severe corruption, mixed tokens, runtime noise
|
||
|
||
</td>
|
||
<td width="50%" valign="top">
|
||
|
||
**C Test**
|
||
|
||
```c
|
||
int main() {
|
||
prostitution of '/*' (prostitution of '*'
|
||
prost = $0)
|
||
```
|
||
|
||
❌ No syntactic coherence, random token associations
|
||
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="50%" valign="top">
|
||
|
||
**Assembly Test**
|
||
|
||
```asm
|
||
mov eax,
|
||
|
||
the International Press S.
|
||
```
|
||
|
||
❌ No instruction continuation
|
||
|
||
</td>
|
||
<td width="50%" valign="top">
|
||
|
||
**Python Test**
|
||
|
||
```python
|
||
def hello():
|
||
|
||
open program
|
||
open import HUnit.H.P.B.P.P-E
|
||
```
|
||
|
||
❌ Python not learned, heavy cross-language contamination
|
||
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<br>
|
||
|
||
### 🔺 Checkpoint 2000 — Structured, Language-Aware (Best)
|
||
|
||
<table>
|
||
<tr>
|
||
<td width="50%" valign="top">
|
||
|
||
**Agda Test** ✅
|
||
|
||
```agda
|
||
module Main where
|
||
|
||
open import Function
|
||
--
|
||
open import Data.Nat
|
||
open import Function
|
||
|
||
open import Data.Nat
|
||
open import Data.Unit
|
||
open import Data.Nat
|
||
open import Data.Nat.Dec
|
||
open import Data.Properties.Nat
|
||
-- Dec
|
||
open import Data.Nat
|
||
open import Data.Properties
|
||
open import Data.Base
|
||
open import Data.Nat.Properties
|
||
open import Data.Unary
|
||
|
||
open import data
|
||
```
|
||
|
||
**Strong familiarity with real Agda modules and imports**
|
||
|
||
</td>
|
||
<td width="50%" valign="top">
|
||
|
||
**C Test** ⚠️
|
||
|
||
```c
|
||
int main() {
|
||
no-print "no"
|
||
no-print "no"
|
||
print "no-print "
|
||
print "no"
|
||
print "no"
|
||
print "no"
|
||
fault-print "no"
|
||
}
|
||
run run
|
||
```
|
||
|
||
**Syntax unstable, but structure and intent present**
|
||
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width="50%" valign="top">
|
||
|
||
**Assembly Test** 🌱
|
||
|
||
```asm
|
||
mov eax, "v2.2"
|
||
ov eax, "v1"
|
||
ov eax, "v2.2"
|
||
ov eax, "v2._v1"
|
||
ov eax, "v3"
|
||
```
|
||
|
||
**Token-level familiarity with assembly-like patterns**
|
||
|
||
</td>
|
||
<td width="50%" valign="top">
|
||
|
||
**JavaScript Test** ⚠️
|
||
|
||
```javascript
|
||
function test() {
|
||
for (i=0;i=0; i++, 1) {
|
||
(a=0; i++) {
|
||
.-1 . A
|
||
```
|
||
|
||
**Logic broken, but syntactic scaffolding emerging**
|
||
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Interpretation
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
These outputs confirm that Yuuki at checkpoint 2000:
|
||
|
||
<table>
|
||
<tr>
|
||
<td width="50%" valign="top">
|
||
|
||
**What It Learned**
|
||
|
||
- 📚 **Real libraries** - Actual Agda modules (Data.Nat, Cubical, Function)
|
||
- 🏗️ **Early structure** - Syntactic scaffolding before correctness
|
||
- 🎯 **Language tokens** - Recognizes language-specific patterns
|
||
- 📈 **Gradual improvement** - Natural learning progression
|
||
|
||
</td>
|
||
<td width="50%" valign="top">
|
||
|
||
**What It Shows**
|
||
|
||
- ✅ **Dataset ordering effects** - Early languages learned first
|
||
- ✅ **Real progress** - 146% quality improvement
|
||
- ✅ **Functional pipeline** - Training works on mobile CPU
|
||
- ✅ **Healthy behavior** - Expected at ~5% training progress
|
||
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<br>
|
||
|
||
**This behavior is expected and healthy at ~5% total training.**
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Key Takeaway
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
Between **3.7% → 5.3%** training progress, Yuuki shows:
|
||
|
||
- ✅ **Major qualitative gains** - 146% improvement in evaluation scores
|
||
- ✅ **Clear specialization trends** - Strong Agda performance emerging
|
||
- ✅ **Rapid early learning** - Despite CPU-only constraints
|
||
|
||
This validates the project's core claim:
|
||
|
||
> **Progress is real, measurable, and reproducible — even at $0 cost.**
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Available Formats
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
### GGUF Quantized Models
|
||
|
||
Optimized for CPU inference with llama.cpp and Ollama.
|
||
|
||
| Format | Size | Use Case | Quality |
|
||
|:-------|:-----|:---------|:--------|
|
||
| **yuuki-best-f32.gguf** | ~328 MB | Full precision baseline | Best |
|
||
| **yuuki-best-q8_0.gguf** | ~87 MB | High quality, smaller size | Excellent |
|
||
| **yuuki-best-q5_k_m.gguf** | ~56 MB | Balanced quality/size | Very Good |
|
||
| **yuuki-best-q4_k_m.gguf** | ~47 MB | Good quality, efficient | Good |
|
||
| **yuuki-best-q4_0.gguf** | ~46 MB | Most efficient, fast | Good |
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Usage
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
### With Transformers (PyTorch)
|
||
|
||
```python
|
||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||
|
||
# Load model
|
||
model = AutoModelForCausalLM.from_pretrained("OpceanAI/Yuuki-best")
|
||
tokenizer = AutoTokenizer.from_pretrained("OpceanAI/Yuuki-best")
|
||
|
||
# Generate code
|
||
prompt = "module Main where"
|
||
inputs = tokenizer(prompt, return_tensors="pt")
|
||
outputs = model.generate(**inputs, max_length=100, temperature=0.7)
|
||
code = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
||
print(code)
|
||
```
|
||
|
||
<br>
|
||
|
||
### With llama.cpp (GGUF)
|
||
|
||
```bash
|
||
# Run inference with quantized model
|
||
./llama.cpp/main -m yuuki-best-q4_k_m.gguf \
|
||
-p "module Main where" \
|
||
-n 50 \
|
||
-t 4 \
|
||
--temp 0.7
|
||
```
|
||
|
||
<br>
|
||
|
||
### With Ollama
|
||
|
||
```bash
|
||
# Create Modelfile
|
||
cat > Modelfile << EOF
|
||
FROM ./yuuki-best-q4_k_m.gguf
|
||
|
||
TEMPLATE """{{ .Prompt }}"""
|
||
|
||
PARAMETER temperature 0.7
|
||
PARAMETER top_p 0.9
|
||
EOF
|
||
|
||
# Import and run
|
||
ollama create yuuki-best -f Modelfile
|
||
ollama run yuuki-best "module Main where"
|
||
```
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Training Configuration
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
<table>
|
||
<tr>
|
||
<td width="50%" valign="top">
|
||
|
||
**Hardware**
|
||
|
||
| Component | Specification |
|
||
|:----------|:--------------|
|
||
| Device | Redmi 12 (Android phone) |
|
||
| CPU | Snapdragon 685 (8-core ARM) |
|
||
| RAM | 6 GB |
|
||
| Storage | 128 GB |
|
||
| Training Mode | CPU only |
|
||
| Cost | **$0.00** |
|
||
|
||
</td>
|
||
<td width="50%" valign="top">
|
||
|
||
**Model Parameters**
|
||
|
||
| Parameter | Value |
|
||
|:----------|:------|
|
||
| Base Model | GPT-2 (82M parameters) |
|
||
| Dataset | The Stack + Yuuki-dataset |
|
||
| Checkpoint | 2000 / 37,500 steps |
|
||
| Progress | 5.3% |
|
||
| Training Speed | ~86 sec/step |
|
||
| Loss Range | 1.69 – 2.31 |
|
||
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Philosophy
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
> **"Progress is real, measurable, and reproducible — even at $0 cost."**
|
||
|
||
This checkpoint proves:
|
||
|
||
- ✅ **LLM training works on mobile** - Real learning on consumer hardware
|
||
- ✅ **Quality improves rapidly** - 146% gain with minimal training
|
||
- ✅ **$0 budget is viable** - No cloud compute needed
|
||
- ✅ **Anyone can contribute** - Breaking barriers to AI development
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Related Projects
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
| Project | Description |
|
||
|:--------|:------------|
|
||
| [Yuuki-v0.1](https://huggingface.co/OpceanAI/Yuuki-v0.1) | Latest release version (coming soon) |
|
||
| [Yuuki-3.7](https://huggingface.co/OpceanAI/Yuuki-3.7) | Intermediate checkpoint model |
|
||
| [yuy](https://github.com/YuuKi-OS/yuy) | CLI for downloading, managing, and running Yuuki models |
|
||
| [yuy-chat](https://github.com/YuuKi-OS/yuy-chat) | TUI chat interface for local AI conversations |
|
||
| [Yuuki-chat](https://github.com/YuuKi-OS/Yuuki-chat) | Web-based chat interface with research modes |
|
||
| [Yuuki-web](https://github.com/YuuKi-OS/Yuuki-web) | Official landing page and project showcase |
|
||
| [yuuki-training](https://github.com/YuuKi-OS/yuuki-training) | Training code and scripts |
|
||
| [Yuuki Space](https://huggingface.co/spaces/OpceanAI/Yuuki) | Web-based interactive demo |
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Links
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
[](https://huggingface.co/OpceanAI/Yuuki-best)
|
||
|
||
[](https://huggingface.co/spaces/OpceanAI/Yuuki)
|
||
|
||
[](https://github.com/YuuKi-OS/yuuki-training)
|
||
|
||
<br>
|
||
|
||
[](https://github.com/YuuKi-OS/yuy)
|
||
|
||
[](https://github.com/YuuKi-OS/yuy-chat)
|
||
|
||
[](https://github.com/sponsors/aguitauwu)
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Community
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
Join the Yuuki community:
|
||
|
||
- 💬 [Discord Server](https://discord.gg/j8zV2u8k) - Chat with other users and contributors
|
||
- 🐦 [Twitter Updates](https://twitter.com/aguitauwu) - Follow development progress
|
||
- 📺 [GitHub](https://github.com/aguitauwu) - Star repos and contribute
|
||
- 💖 [GitHub Sponsors](https://github.com/sponsors/aguitauwu) - Support the project
|
||
- 🦙 .[ollama](https://ollama.com/aguitachan3/yuuki-best)
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## Acknowledgments
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
- **HuggingFace** - Infrastructure and transformers library
|
||
- **BigCode** - The Stack dataset
|
||
- **The ML community** - For inspiration and support
|
||
- **Everyone following along** - Your interest makes this worthwhile
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
## License
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
```
|
||
Apache License 2.0
|
||
|
||
Copyright (c) 2026 Yuuki Project
|
||
|
||
Licensed under the Apache License, Version 2.0 (the "License");
|
||
you may not use this file except in compliance with the License.
|
||
You may obtain a copy of the License at
|
||
|
||
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
||
Unless required by applicable law or agreed to in writing, software
|
||
distributed under the License is distributed on an "AS IS" BASIS,
|
||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
See the License for the specific language governing permissions and
|
||
limitations under the License.
|
||
```
|
||
|
||
**You can use Yuuki commercially, modify it, distribute it. Just give credit.** ✅
|
||
|
||
<br>
|
||
|
||
---
|
||
|
||
<br>
|
||
|
||
<div align="center">
|
||
|
||
**Built with patience, a phone, and zero budget.**
|
||
|
||
<br>
|
||
|
||
[](https://huggingface.co/OpceanAI)
|
||
|
||
<br>
|
||
|
||
*The best checkpoint so far. More improvements coming soon.* 🌸
|
||
|
||
</div>
|