Instructions to use void0x14/echo with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use void0x14/echo with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf void0x14/echo:Q4_K_M # Run inference directly in the terminal: llama cli -hf void0x14/echo:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf void0x14/echo:Q4_K_M # Run inference directly in the terminal: llama cli -hf void0x14/echo:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf void0x14/echo:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf void0x14/echo:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf void0x14/echo:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf void0x14/echo:Q4_K_M
Use Docker
docker model run hf.co/void0x14/echo:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use void0x14/echo with Ollama:
ollama run hf.co/void0x14/echo:Q4_K_M
- Unsloth Desktop
- Pi
How to use void0x14/echo with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf void0x14/echo:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "void0x14/echo:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use void0x14/echo with Docker Model Runner:
docker model run hf.co/void0x14/echo:Q4_K_M
- Lemonade
How to use void0x14/echo with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull void0x14/echo:Q4_K_M
Run and chat with the model
lemonade run user.echo-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use void0x14/echo with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf void0x14/echo:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default void0x14/echo:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use void0x14/echo with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf void0x14/echo:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "void0x14/echo:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
void0x14 commited on
docs: PIVOT — budama terk edildi, Q4_K_M quantize onaylandi (kayipsiz) + ROADMAP gelecek opsiyonlari
Browse files- Budama (24->4 katman) kod/reasoning olduruyor olculdu; F2LLM-v2 embedding-ozgu
- Orijinal 0.8B Q4_K_M kayipsiz: kod+vision+reasoning korunuyor (RX460 85 t/s)
- ROADMAP: ileride bit/parametre/ikisi birden dusurulebilir (buyuk harflerle not)
- MVP/PROGRESS.md +71 -0
- README.md +60 -0
MVP/PROGRESS.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# PROGRESS — Qwen3.5 Multimodal Prune + KD + RX460 Teslim
|
| 2 |
+
|
| 3 |
+
Güncelleme: her adımda, ölçülen değerle. Tahmin yok, kaynak hep var.
|
| 4 |
+
|
| 5 |
+
## ⚠️ PIVOT (19 Ağu) — Budama TERK EDİLDİ, Quantize yaklaşımı ONAYLANDI
|
| 6 |
+
|
| 7 |
+
**Neden (derin literatür + kullanıcının RX460 benchmark'ları):**
|
| 8 |
+
-- 24→4 katman budama (%83 derinlik kaybı) kod/reasoning yeteneğini ÖLDÜRÜYOR (güvenli bölge %15-25).
|
| 9 |
+
-- F2LLM-v2 'ilk N blok' tarifi EMBEDDING modellerine özgü; generative/kod modeline taşınmaz.
|
| 10 |
+
-- %0 kod verisiyle distill → catastrophic forgetting; kod yeteneği silindi (ölçüldü: ORIG kod yazıyor, pruned yazamıyor).
|
| 11 |
+
-- Qwen3.5-0.8B Q4_K_M (497 MiB) zaten RX460 2GB'a SIĞIYOR ve hızlı (GPU 85 t/s).
|
| 12 |
+
|
| 13 |
+
**Yeni doğru yol:** Orijinal Qwen3.5-0.8B'yi OLDUĞU GİBİ Q4_K_M'e quantize et. Budama YOK, eğitim YOK.
|
| 14 |
+
-- Yetenek KAYIPSIZ korunur (kod + vision + reasoning).
|
| 15 |
+
|
| 16 |
+
**DOĞRULANDI (ölçüldü):**
|
| 17 |
+
-- GGUF çifti: MVP/artifacts/gguf-vision/qwen35-text-Q4_K_M.gguf (block_count=24, orijinal) + mmproj-F32.gguf
|
| 18 |
+
-- CPU (ngl=0) VE GPU Vulkan (ngl=99) multimodal test: çizilen test sahnesini kusursuz tanımladı
|
| 19 |
+
(kahverengi ev + kırmızı çatı + yeşil alan + sarı güneş + mavi gökyüzü); chain-of-thought reasoning çalışıyor.
|
| 20 |
+
-- Benchmark: Q4_K_M GPU ngl=99 tg128 = 85 t/s (Q8_0'ın 78 t/s'inden HIZLI), boyut 497 MiB.
|
| 21 |
+
-- Default context 4k (hız/gecikme tatlı noktası), gerekirse max 16k'ya genişletilebilir. Model+KVcache GPU'da.
|
| 22 |
+
|
| 23 |
+
## ⚠️⚠️ ROADMAP — GELECEK OPSİYONLARI (UNUTMA!) ⚠️⚠️
|
| 24 |
+
**İLERİDE HIZLAR YETMEZSE GEREKEBİLİR — ŞU ÜÇ YÖNDEN BİRİNE GİDİLEBİLİR:**
|
| 25 |
+
**1) BİTİ DÜŞÜRMEK (Q4_K_M → Q3/IQ3 — DİKKAT: kodlama quant'a en hassas görev, 3-bit uçurum kenarı, 2-bit çöküş), VEYA**
|
| 26 |
+
**2) MODEL PARAMETRESİNİ DÜŞÜRMEK (dikkatli/az budama + MUTLAKA kod verili distill), VEYA**
|
| 27 |
+
**3) MODEL PARAMETRESİ + BİTİ BİRLİKTE DÜŞÜRMEK.**
|
| 28 |
+
**GEREKİRSE BU YOLLARA BAŞVURULACAK. ŞU AN Q4_K_M + ORİJİNAL 0.8B YETERLİ VE KAYIPSIZ.**
|
| 29 |
+
|
| 30 |
+
|
| 31 |
+
## [x] 1. Base modeli indir ve doğrula (Qwen/Qwen3.5-0.8B-Base)
|
| 32 |
+
- Multimodal: Qwen3_5ForConditionalGeneration, ~873M (text ~773M + vision ~100.6M)
|
| 33 |
+
- text_config: hidden 1024, inter 3584, 24 blok hybrid [linear×3+full]×6, head_dim 256,
|
| 34 |
+
vocab 248,320 TIED; vision_config: 12 blok, hidden 768, inter 3072, patch 16,
|
| 35 |
+
pos_embed 2304, merger fc1 3072→3072 + fc2 3072→1024 + norm
|
| 36 |
+
- Kaynak: /tmp/opencode/qwen35-base-src/ (12 dosya indirildi)
|
| 37 |
+
|
| 38 |
+
## [x] 2. F2LLM-v2 kuralı: ilk N blok (activation-norm seçimi YOK)
|
| 39 |
+
- text bloklar [0..3], vision bloklar [0..5], mtp atıldı → TEK model
|
| 40 |
+
- **395,365,088 param = text 337,299,424 + vision 58,065,664** (330–450M aralığı ✓)
|
| 41 |
+
- Çıktı: MVP/artifacts/qwen35-multimodal-n4v6/ (model.safetensors TEK dosya, 55+81 tensor)
|
| 42 |
+
- Doğrulama: MVP/test_multimodal_forward.py — forward OK, MISSING 0
|
| 43 |
+
|
| 44 |
+
## [ ] 3. Multimodal KD (FP32, CPU — RX460 FP16/BF16 desteklemiyor)
|
| 45 |
+
- teacher = base (tam, text+vision BİRLİKTE, frozen, eval)
|
| 46 |
+
- student = qwen35-multimodal-n4v6 (tüm parametreler trainable)
|
| 47 |
+
- loss = CE (teacher probs) + MSE (son hidden state); AdamW cosine+warmup
|
| 48 |
+
- çıktı: MVP/artifacts/qwen35-multimodal-n4v6/distilled/ (model.safetensors)
|
| 49 |
+
|
| 50 |
+
## [ ] 4. KD sonrası doğrulama
|
| 51 |
+
- Parametre: 395,365,088 sabit mi (değişmemeli — sadece ağırlık güncellendi)
|
| 52 |
+
- forward OK, MISSING 0
|
| 53 |
+
|
| 54 |
+
## [ ] 5. GGUF üretimi — FP32 zorunlu (BF16/FP16 YASAK, kart desteklemiyor)
|
| 55 |
+
- text: --outfile qwen35-multimodal-n4v6-f32.gguf --outtype f32 --no-mtp
|
| 56 |
+
- mmproj: --mmproj --outtype f32 (82 tensor, v.*)
|
| 57 |
+
- quantize: llama-quantize her ikisini Q8_0 → teslim GGUF'lar
|
| 58 |
+
- Dosyalar: MVP/artifacts/gguf-multimodal-fp32-or-q8/
|
| 59 |
+
|
| 60 |
+
## [ ] 6. RX460 + Vulkan çalıştırma kanıtı
|
| 61 |
+
- GPU: AMD Radeon RX 460 (Polaris — FP16 yok)
|
| 62 |
+
- llama-cli --device Vulkan0 --image red.png → anlamlı cevap (KD sonrası)
|
| 63 |
+
- kanıt logları: MVP/evidence/
|
| 64 |
+
|
| 65 |
+
## [ ] 7. Teslim belgeleri + commit
|
| 66 |
+
- ANLASILAN.md güncelle, PROGRESS.md güncel, atomic commit
|
| 67 |
+
|
| 68 |
+
## Kimler geçersiz (kullanma)
|
| 69 |
+
- MVP/artifacts/gguf-multimodal/qwen35-n4v6.gguf → BF16 üretildi, RX460'ta ÇALIŞMAZ — FP32'den yeni üretilecek
|
| 70 |
+
- MVP/artifacts/qwen35-distilled-n4/ (text-only ürün — ayrı, iptal)
|
| 71 |
+
- MVP/qwen35_prune.py + validate_checkpoint.py (text-only hattı — multimodal hat kullanılır)
|
README.md
CHANGED
|
@@ -1,3 +1,63 @@
|
|
| 1 |
---
|
| 2 |
license: agpl-3.0
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
license: agpl-3.0
|
| 3 |
---
|
| 4 |
+
|
| 5 |
+
# echo — Qwen3.5-0.8B Multimodal (Q4_K_M)
|
| 6 |
+
|
| 7 |
+
Hafif, hızlı, **kayıpsız** multimodal model. AMD RX460 2GB VRAM / Ryzen 5 3600 CPU için optimize.
|
| 8 |
+
Gated DeltaNet hybrid attention sayesinde KV cache klasik modelin ~4'te 1'i; uzun kontekst düşük donanımda pratik.
|
| 9 |
+
|
| 10 |
+
## Yaklaşım: Quantize ET — Budama YAPMA
|
| 11 |
+
|
| 12 |
+
Orijinal `Qwen/Qwen3.5-0.8B-Base` (native early-fusion multimodal) **olduğu gibi** Q4_K_M'e quantize edildi.
|
| 13 |
+
**Budama YOK, yeniden eğitim YOK** — kod + vision + reasoning yeteneği kayıpsız korunur.
|
| 14 |
+
|
| 15 |
+
### Neden budama değil? (derin literatür + ölçüm)
|
| 16 |
+
- 24→4 katman budama = %83 derinlik kaybı. Literatür (Gromov ICLR'25, ShortGPT, Minitron): generative
|
| 17 |
+
modellerde güvenli bölge %15-25 derinlik kaybı; %30 üstünde kod/reasoning ÇÖKER.
|
| 18 |
+
- F2LLM-v2 "ilk N blok" tarifi **embedding** modellerine özgüdür; generative/kod üreten modele taşınmaz.
|
| 19 |
+
- Ölçüldü: %0 kod verisiyle distill → catastrophic forgetting; budanmış model kod yazamadı,
|
| 20 |
+
orijinal Q4_K_M kod+vision+reasoning hepsini koruyor.
|
| 21 |
+
- Qwen3.5-0.8B Q4_K_M (497 MiB) zaten RX460 2GB'a SIĞIYOR ve hızlı → budamak gereksiz.
|
| 22 |
+
|
| 23 |
+
## Dosyalar
|
| 24 |
+
| Dosya | Açıklama | Boyut |
|
| 25 |
+
|-------|----------|-------|
|
| 26 |
+
| `MVP/artifacts/gguf-vision/qwen35-text-Q4_K_M.gguf` | Text backbone (24 katman, orijinal) | 497 MiB |
|
| 27 |
+
| `MVP/artifacts/gguf-vision/mmproj-F32.gguf` | Vision projector (mmproj) | 402 MiB |
|
| 28 |
+
|
| 29 |
+
## Benchmark (RX460, Vulkan, n_batch=512, fa=1)
|
| 30 |
+
| Model | size | backend | ngl | test | t/s |
|
| 31 |
+
|-------|------|---------|-----|------|-----|
|
| 32 |
+
| qwen35 0.8B Q8_0 | 763.78 MiB | Vulkan | 99 | tg128 | 78.34 |
|
| 33 |
+
| **qwen35 0.8B Q4_K_M** | **497.39 MiB** | Vulkan | 99 | **tg128** | **85.10** |
|
| 34 |
+
| qwen35 0.8B Q4_K_M | 497.39 MiB | Vulkan | 99 | pp4096 | 684.35 |
|
| 35 |
+
| qwen35 0.8B Q4_K_M | 497.39 MiB | Vulkan | 0 (CPU) | tg128 | 47.83 |
|
| 36 |
+
|
| 37 |
+
- **Q4_K_M, Q8_0'dan HIZLI** (85 vs 78 t/s) ve daha küçük.
|
| 38 |
+
- **Konfigürasyon: default context 4k** (hız/gecikme tatlı noktası); gerekirse **max 16k**'ya genişletilebilir.
|
| 39 |
+
- Model + KV cache GPU'da (ngl=99).
|
| 40 |
+
- Gated DeltaNet: tg128, pp2048→pp16384 arası sabit ~85 t/s (KV cache şişmez).
|
| 41 |
+
|
| 42 |
+
## Doğrulama (ölçüldü)
|
| 43 |
+
- `llama-mtmd-cli` ile CPU (ngl=0) VE GPU Vulkan (ngl=99) multimodal test:
|
| 44 |
+
çizilen test sahnesini kusursuz tanımladı — *"A minimalist landscape features a brown house with a
|
| 45 |
+
red roof, a green field, and a yellow sun in a blue sky."* (kahverengi ev + kırmızı çatı + yeşil
|
| 46 |
+
alan + sarı güneş + mavi gökyüzü). Chain-of-thought reasoning çalışıyor.
|
| 47 |
+
- block_count=24 doğrulandı (orijinal, budanmamış).
|
| 48 |
+
|
| 49 |
+
## Kullanım
|
| 50 |
+
```bash
|
| 51 |
+
llama-mtmd-cli \
|
| 52 |
+
-m MVP/artifacts/gguf-vision/qwen35-text-Q4_K_M.gguf \
|
| 53 |
+
--mmproj MVP/artifacts/gguf-vision/mmproj-F32.gguf \
|
| 54 |
+
--image FOTO.jpg -p "Describe this image." \
|
| 55 |
+
-c 4096 -ngl 99 --image-min-tokens 1024
|
| 56 |
+
```
|
| 57 |
+
|
| 58 |
+
## ⚠️⚠️ ROADMAP — GELECEK OPSİYONLARI (UNUTMA!) ⚠️⚠️
|
| 59 |
+
**İLERİDE HIZLAR YETMEZSE GEREKEBİLİR — ŞU ÜÇ YÖNDEN BİRİNE GİDİLEBİLİR:**
|
| 60 |
+
**1) BİTİ DÜŞÜRMEK (Q4_K_M → Q3/IQ3 — DİKKAT: kodlama quant'a EN hassas görev, 3-bit uçurum kenarı, 2-bit çöküş), VEYA**
|
| 61 |
+
**2) MODEL PARAMETRESİNİ DÜŞÜRMEK (dikkatli/az budama + MUTLAKA kod verili distill), VEYA**
|
| 62 |
+
**3) MODEL PARAMETRESİ + BİTİ BİRLİKTE DÜŞÜRMEK.**
|
| 63 |
+
**GEREKİRSE BU YOLLARA BAŞVURULACAK. ŞU AN Q4_K_M + ORİJİNAL 0.8B YETERLİ VE KAYIPSIZ.**
|