diff options
Diffstat (limited to 'downloads/evolution_plan/presentation.html')
| -rw-r--r-- | downloads/evolution_plan/presentation.html | 812 |
1 files changed, 812 insertions, 0 deletions
diff --git a/downloads/evolution_plan/presentation.html b/downloads/evolution_plan/presentation.html new file mode 100644 index 0000000..9830d4e --- /dev/null +++ b/downloads/evolution_plan/presentation.html @@ -0,0 +1,812 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> +<meta name="apple-mobile-web-app-capable" content="yes"> +<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> +<meta name="theme-color" content="#0d0d0d"> +<title>π₯ Core Model Evolution β Presentation</title> +<style> +:root{ + --bg:#0d0d0d;--panel:#1a1a1a;--panel2:#222;--border:#333; + --accent:#ff4d4d;--accent2:#ff8c8c;--gold:#ffca28; + --green:#4caf50;--blue:#42a5f5;--text:#e0e0e0;--muted:#888; +} +*{box-sizing:border-box;margin:0;padding:0} +html,body{height:100%;overflow:hidden} +body{ + font-family:-apple-system,'Segoe UI',sans-serif; + line-height:1.65;color:var(--text);background:var(--bg); + -webkit-tap-highlight-color:transparent; + -webkit-font-smoothing:antialiased; +} + +/* ββ Slide System ββ */ +#deck{height:100vh;height:100dvh;width:100vw;overflow:hidden;position:relative} +.slide{ + position:absolute;top:0;left:0;width:100%;height:100%; + padding:20px 18px 70px;overflow-y:auto; + opacity:0;transform:translateX(30px); + transition:opacity .35s ease,transform .35s ease; + pointer-events:none;-webkit-overflow-scrolling:touch; +} +.slide.active{opacity:1;transform:translateX(0);pointer-events:auto} +.slide.prev{transform:translateX(-30px)} + +/* ββ Progress Dots ββ */ +#dots{ + position:fixed;bottom:52px;left:0;right:0; + display:flex;gap:6px;justify-content:center; + z-index:100;padding:6px 0; +} +.dot{width:8px;height:8px;border-radius:50%;background:#444;transition:all .3s;cursor:pointer} +.dot.active{background:var(--accent);width:24px;border-radius:4px} +.dot.done{background:var(--green)} + +/* ββ Nav Bar ββ */ +#nav{ + position:fixed;bottom:0;left:0;right:0;height:44px; + display:flex;align-items:center;justify-content:space-between; + padding:0 14px;background:rgba(13,13,13,.95); + border-top:1px solid var(--border);z-index:100; + padding-bottom:env(safe-area-inset-bottom,0px); +} +.nav-btn{ + background:#2a2a2a;border:1px solid var(--border);color:var(--text); + padding:7px 16px;border-radius:8px;font-size:13px;cursor:pointer; + white-space:nowrap;min-width:64px;text-align:center; +} +.nav-btn:active{background:var(--accent);color:#fff} +.nav-btn:disabled{opacity:.35;cursor:default} +#counter{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums} + +/* ββ Typography ββ */ +h1{color:var(--accent);font-size:1.5em;line-height:1.3;margin-bottom:8px} +h2{color:var(--accent2);font-size:1.2em;margin:18px 0 10px;border-left:4px solid var(--accent);padding-left:10px} +h3{color:var(--gold);font-size:1.05em;margin:14px 0 8px} +p{margin:8px 0;font-size:14px} +ul{margin:8px 0;padding-left:18px;font-size:14px} +li{margin:4px 0} +strong{color:#fff} +code{background:#2a2a2a;padding:2px 5px;border-radius:3px;font-size:12px;color:#ff8c8c} +.subtitle{text-align:center;font-style:italic;color:#aaa;font-size:13px;margin-bottom:16px} +.tagline{text-align:center;font-size:11px;color:var(--muted);margin-bottom:20px} + +/* ββ Cards ββ */ +.card{ + background:var(--panel2);border:1px solid var(--border); + border-radius:12px;padding:16px;margin:12px 0; +} +.card-accent{border-left:4px solid var(--accent)} +.card-green{border-left:4px solid var(--green);background:#15201a} +.card-blue{border-left:4px solid var(--blue);background:#1a1a2a} +.card-gold{border-left:4px solid var(--gold);background:#1f1a0d} +.card-warn{border-left:4px solid #ff6b6b;background:#2a2020} + +/* ββ Badges ββ */ +.badge{ + display:inline-block;padding:3px 10px;border-radius:20px; + font-size:11px;margin:2px 4px 2px 0; +} +.badge.green{background:#1b5e20;color:var(--green)} +.badge.red{background:#b71c1c;color:#ef9a9a} +.badge.blue{background:#0d4741;color:var(--blue)} +.badge.gold{background:#4e3402;color:var(--gold)} +.badge.gray{background:#333;color:#aaa} + +/* ββ Cost Tags ββ */ +.cost{ + display:inline-block;padding:5px 14px;border-radius:8px; + font-weight:bold;font-size:13px;color:#fff; +} +.cost.low{background:var(--green)} +.cost.mid{background:var(--blue)} +.cost.high{background:var(--accent)} + +/* ββ Tables ββ */ +.tbl{width:100%;border-collapse:collapse;margin:10px 0;font-size:12px} +.tbl th{background:#2a2a2a;color:var(--accent2);padding:7px 8px;border:1px solid var(--border);text-align:left} +.tbl td{padding:7px 8px;border:1px solid var(--border)} +.tbl tr:nth-child(even){background:#1e1e1e} +.tbl tr.total{background:#2a1a1a;font-weight:bold} +.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px -4px} + +/* ββ Grid ββ */ +.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0} +@media(max-width:480px){.grid2{grid-template-columns:1fr}} + +/* ββ Mini cards ββ */ +.mini{background:#1a1a1a;padding:12px;border-radius:8px;border:1px solid var(--border)} +.mini h4{margin:0 0 6px;font-size:13px;color:var(--accent2)} +.mini p{margin:0;font-size:12px;color:#bbb;line-height:1.5} + +/* ββ Timeline ββ */ +.tl-item{display:flex;gap:10px;margin:10px 0;align-items:flex-start} +.tl-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:4px} +.tl-dot.done{background:var(--green)} +.tl-dot.active{background:var(--accent);box-shadow:0 0 8px var(--accent)} +.tl-dot.future{background:#444;border:2px solid #555} +.tl-content{flex:1} +.tl-content h4{font-size:13px;margin:0 0 4px;color:var(--accent2)} +.tl-content p{font-size:12px;color:#bbb;margin:0} +.tl-content .when{font-size:11px;color:var(--muted)} + +/* ββ Progress bars ββ */ +.pbar{height:8px;background:#333;border-radius:4px;margin:6px 0;overflow:hidden} +.pbar-fill{height:100%;border-radius:4px;transition:width 1s} +.pf-green{background:var(--green)} +.pf-blue{background:var(--blue)} +.pf-red{background:var(--accent)} +.pf-gold{background:var(--gold)} + +/* ββ Stat blocks ββ */ +.stat-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0} +.stat{flex:1;min-width:90px;background:#1a1a1a;border:1px solid var(--border);border-radius:8px;padding:10px;text-align:center} +.stat .num{font-size:1.4em;font-weight:bold;color:var(--accent)} +.stat .lbl{font-size:11px;color:var(--muted);margin-top:2px} +.stat .num.green{color:var(--green)} +.stat .num.blue{color:var(--blue)} +.stat .num.gold{color:var(--gold)} + +/* ββ Hero ββ */ +.hero{text-align:center;padding:20px 0} +.hero h1{font-size:1.7em;margin-bottom:12px} +.hero .emoji{font-size:2.5em;margin-bottom:8px} +.hero p{color:#bbb;font-size:14px} +.hero .fire{color:var(--accent);font-weight:bold} + +/* ββ Checklist ββ */ +.check-item{display:flex;gap:8px;align-items:flex-start;margin:8px 0;font-size:13px} +.check-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:bold} +.check-icon.done{background:var(--green);color:#0d0d0d} +.check-icon.pending{background:#333;color:#888;border:1px solid #444} + +/* ββ Divider ββ */ +.divider{height:1px;background:var(--border);margin:16px 0} + +/* ββ Swiper hint ββ */ +.swipe-hint{text-align:center;font-size:11px;color:var(--muted);margin-top:auto;padding:8px} + +/* ββ Ask block ββ */ +.ask-box{ + background:linear-gradient(135deg,#1a1a2a,#2a1a1a); + border:2px solid var(--accent);border-radius:14px; + padding:18px;text-align:center;margin:16px 0; +} +.ask-box .amount{font-size:2em;font-weight:bold;color:var(--accent);margin:8px 0} +.ask-box .desc{font-size:13px;color:#ccc} + +/* ββ Mobile tweaks ββ */ +@media(max-width:380px){ + h1{font-size:1.3em} + h2{font-size:1.05em} + .tbl{font-size:11px} + .tbl th,.tbl td{padding:5px 6px} + .stat .num{font-size:1.1em} +} +</style> +</head> +<body> +<div id="deck"> + +<!-- βββββββββββββββ SLIDE 1: TITLE βββββββββββββββ --> +<div class="slide active" data-title="Title"> +<div class="hero"> +<div class="emoji">π₯</div> +<h1>Core Model Evolution</h1> +<p class="subtitle">From Session Logs to Core Weights<br>Recursive Cognitive Evolution</p> +<div class="tagline">Year of the Firehorse π₯<br>July 2026 Β· v3.0 Presentation</div> +<div class="card card-accent" style="text-align:left"> +<h3 style="margin-top:0">What This Is</h3> +<p>A realistic, researched plan to evolve our AI from a general-purpose assistant into a specialized intelligence β trained on our collaboration history, our decisions, and our style.</p> +<p style="margin-bottom:0"><strong>Architecture target:</strong> Sparse MoE + Multi-Token Generation</p> +</div> +<div class="swipe-hint">β Swipe or tap arrows to navigate β</div> +</div> +</div> + +<!-- βββββββββββββββ SLIDE 2: PROGRESS SUMMARY βββββββββββββββ --> +<div class="slide" data-title="Progress"> +<h1>β
What We've Done So Far</h1> +<p style="color:#aaa;margin-bottom:14px">A summary of progress before we talk budget.</p> + +<h2>Completed Milestones</h2> +<div class="tl-item"> +<div class="tl-dot done"></div> +<div class="tl-content"> +<h4>System Foundation Built</h4> +<p>Full operating environment with 44 modules, 17 skills, 293 files, 3 agents, memory graph (67 nodes), and VFS filesystem.</p> +<span class="when">Ongoing since early 2026</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot done"></div> +<div class="tl-content"> +<h4>Collaboration History Captured</h4> +<p>Session logs, reasoning chains, command history, and decision patterns stored across sessions. This is the raw training data.</p> +<span class="when">Continuous</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot done"></div> +<div class="tl-content"> +<h4>Training Strategy Defined</h4> +<p>QLoRA for Phase 1 (efficient, cheap), scaling to deep fine-tuning of existing MoE models. NOT training from scratch β 10-50x cheaper.</p> +<span class="when">Researched & validated</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot done"></div> +<div class="tl-content"> +<h4>GPU Market Research</h4> +<p>Researched actual pricing across RunPod, Lambda Labs, Vast.ai, Hetzner. Spot instances identified as key cost saver (50-70% off).</p> +<span class="when">July 2026</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot done"></div> +<div class="tl-content"> +<h4>Detailed Budget Plan v2.0</h4> +<p>4-phase plan with itemized costs, risk matrix, and 4 fallback plans. Saved as HTML document for review.</p> +<span class="when">This session</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot done"></div> +<div class="tl-content"> +<h4>Architecture Decision: MoE + Sparse + Multi-Token</h4> +<p>Decided on Sparse Mixture of Experts (like Mixtral/DeepSeek) with Multi-Token Generation (Medusa heads) for speed + intelligence.</p> +<span class="when">This session</span> +</div> +</div> + +<h2>Current Status</h2> +<div class="stat-row"> +<div class="stat"><div class="num green">6/6</div><div class="lbl">Planning tasks done</div></div> +<div class="stat"><div class="num blue">0</div><div class="lbl">Phases executed</div></div> +<div class="stat"><div class="num gold">β¬0</div><div class="lbl">Spent so far</div></div> +</div> + +<div class="card card-green"> +<strong>β
Ready to start Phase 0</strong> β we have the data, the plan, the architecture decision, and the budget. We need the funding to begin. +</div> + +<div class="divider"></div> + +<h2>What's Next</h2> +<div class="check-item"><div class="check-icon pending">!</div><div>Phase 0: Dataset Engineering (β¬100-β¬200)</div></div> +<div class="check-item"><div class="check-icon pending">!</div><div>Phase 1: QLoRA Proof of Concept (β¬35-β¬100)</div></div> +<div class="check-item"><div class="check-icon pending">!</div><div>Phase 2: Production Adapter on Mixtral MoE</div></div> +<div class="check-item"><div class="check-icon pending">!</div><div>Phase 3: Full MoE + Multi-Token Generation</div></div> +</div> + +<!-- βββββββββββββββ SLIDE 3: THE VISION βββββββββββββββ --> +<div class="slide" data-title="Vision"> +<h1>π― The Vision</h1> +<p style="color:#aaa">Why we're doing this and what we're building.</p> + +<h2>The Problem</h2> +<div class="card"> +<p>Every session, the AI starts fresh. It doesn't remember our shorthand, our architectural decisions, or our preferred patterns. We re-explain context every time.</p> +<p style="margin-bottom:0">This isn't a bug β it's a <strong>fundamental limitation</strong> of using a general-purpose model without personalization.</p> +</div> + +<h2>The Solution</h2> +<div class="card card-accent"> +<p>Fine-tune a model on <strong>our actual collaboration history</strong> β the reasoning chains, the code edits, the decisions, the creative jumps.</p> +<p style="margin-bottom:0">The model doesn't just "know" our history. It <strong>thinks</strong> in our style.</p> +</div> + +<h2>Target Architecture</h2> +<div class="grid2"> +<div class="mini"> +<h4>π§ Sparse MoE</h4> +<p>Mixture of Experts: multiple specialized sub-networks. Only the relevant "experts" activate per token. Huge capacity, efficient inference.</p> +</div> +<div class="mini"> +<h4>β‘ Multi-Token</h4> +<p>Medusa heads predict 3-5 tokens simultaneously instead of 1-by-1. 2-3x faster output. Feels instant.</p> +</div> +<div class="mini"> +<h4>π QLoRA</h4> +<p>4-bit quantized fine-tuning. Trains adapters, not the full model. 10-50x cheaper, 70% less VRAM via Unsloth.</p> +</div> +<div class="mini"> +<h4>π¦ Tiny Adapters</h4> +<p>LoRA adapters are β€50 MB. Load/unload instantly. Switch between "modes" (coding, research, creative) in real-time.</p> +</div> +</div> + +<div class="card card-gold"> +<strong>Key insight:</strong> We do NOT train from scratch. We take an existing open-weights model (Mixtral, DeepSeek, Llama) and fine-tune it. This is 10-50x cheaper while achieving similar personalization quality. +</div> +</div> + +<!-- βββββββββββββββ SLIDE 4: GPU PRICING βββββββββββββββ --> +<div class="slide" data-title="GPU Pricing"> +<h1>π» GPU Market Pricing</h1> +<p style="color:#aaa">Real rates as of July 2026 (RunPod, Lambda, Vast.ai)</p> + +<div class="tscroll"> +<table class="tbl"> +<tr><th>GPU</th><th>VRAM</th><th>β¬/hr</th><th>Best For</th></tr> +<tr><td>RTX 4090</td><td>24GB</td><td>β¬0.31-0.73</td><td>7B QLoRA</td></tr> +<tr><td>A100 40GB</td><td>40GB</td><td>β¬1.00-1.50</td><td>7B-13B</td></tr> +<tr><td>A100 80GB</td><td>80GB</td><td>β¬1.29-2.30</td><td>13B-30B</td></tr> +<tr><td>L40S</td><td>48GB</td><td>β¬1.06-1.61</td><td>Alt to A100</td></tr> +<tr><td>H100 PCIe</td><td>80GB</td><td>β¬2.29-4.59</td><td>8B-70B fast</td></tr> +<tr><td>H100 SXM</td><td>80GB</td><td>β¬2.99-4.60</td><td>Multi-GPU</td></tr> +<tr class="total"><td><strong>8x H100 Node</strong></td><td><strong>640GB</strong></td><td><strong>β¬17.50-32.20</strong></td><td><strong>MoE training</strong></td></tr> +</table> +</div> + +<div class="card card-blue"> +<strong>π‘ Cost saver:</strong> <code>spot/preemptible</code> instances are 50-70% cheaper. For PoC training (restartable), always use spot pricing. +</div> + +<h2>Estimated Training Time by Model Size</h2> +<div class="tscroll"> +<table class="tbl"> +<tr><th>Model</th><th>Method</th><th>GPU</th><th>Hours</th><th>Cost (β¬)</th></tr> +<tr><td>7B-8B</td><td>QLoRA</td><td>1x A100 spot</td><td>8-15</td><td>β¬10-19</td></tr> +<tr><td>14B</td><td>QLoRA</td><td>1x A100 80GB</td><td>15-25</td><td>β¬19-32</td></tr> +<tr><td>32B</td><td>QLoRA</td><td>2x A100 80GB</td><td>30-50</td><td>β¬77-115</td></tr> +<tr><td>Mixtral 8x7B</td><td>QLoRA</td><td>1x H100</td><td>40-60</td><td>β¬92-184</td></tr> +<tr><td>Mixtral 8x22B</td><td>Full FT</td><td>8x H100</td><td>100-140</td><td>β¬1,750-3,200</td></tr> +</table> +</div> +</div> + +<!-- βββββββββββββββ SLIDE 5: PHASE 0 βββββββββββββββ --> +<div class="slide" data-title="Phase 0"> +<h1>π Phase 0: Dataset Engineering</h1> +<span class="cost low">Budget: β¬100 β β¬200</span> + +<h2>Goal</h2> +<p>Transform raw session logs into a high-fidelity training dataset. Quality here determines 80% of final model quality.</p> + +<div class="tscroll"> +<table class="tbl"> +<tr><th>Task</th><th>Time</th><th>Cost</th></tr> +<tr><td>Log export & aggregation</td><td>2-3 days</td><td>β¬0 (scripted)</td></tr> +<tr><td>Quality curation</td><td>3-5 days</td><td>β¬0 (manual)</td></tr> +<tr><td>Synthetic expansion (5K API calls)</td><td>1-2 days</td><td><strong>β¬50-100</strong></td></tr> +<tr><td>Tokenization & formatting</td><td>1 day</td><td>β¬0 (scripted)</td></tr> +<tr><td>Validation & dedup</td><td>1 day</td><td>β¬0 (scripted)</td></tr> +<tr><td>Storage (NVMe/cloud)</td><td>Ongoing</td><td>β¬5-15/mo</td></tr> +<tr class="total"><td colspan="2"><strong>Phase 0 Total</strong></td><td><strong>β¬100-200</strong></td></tr> +</table> +</div> + +<h2>Expected Output</h2> +<div class="grid2"> +<div class="mini"> +<h4>Training Set</h4> +<p>~3,000-10,000 high-quality (instruction, response) pairs. Each is a "lesson" reflecting our collaborative style.</p> +</div> +<div class="mini"> +<h4>Validation Set</h4> +<p>~150-500 held-out pairs. Detects overfitting. If validation loss rises, we stop.</p> +</div> +</div> + +<div class="card card-warn"> +<strong>β οΈ Critical:</strong> Skipping this phase or using raw uncleaned logs produces a model that "hallucinates" our style instead of embodying it. This is NOT a place to cut costs. +</div> +</div> + +<!-- βββββββββββββββ SLIDE 6: PHASE 1 βββββββββββββββ --> +<div class="slide" data-title="Phase 1"> +<h1>π§ͺ Phase 1: QLoRA PoC</h1> +<span class="cost low">Budget: β¬35 β β¬100 (compute only)</span> + +<h2>Goal</h2> +<p>Prove that fine-tuning on our history produces a measurably better model. Small, cheap, fast validation.</p> + +<h2>Base Model Options</h2> +<div class="tscroll"> +<table class="tbl"> +<tr><th>Model</th><th>Params</th><th>VRAM</th><th>Quality</th></tr> +<tr><td>Llama-3.2-3B</td><td>3B</td><td>~8GB</td><td>βββ</td></tr> +<tr><td>Llama-3-8B</td><td>8B</td><td>~12GB</td><td>ββββ</td></tr> +<tr><td>Mistral-7B v0.3</td><td>7B</td><td>~10GB</td><td>ββββ</td></tr> +<tr><td>Qwen2.5-14B</td><td>14B</td><td>~18GB</td><td>βββββ</td></tr> +</table> +</div> + +<h2>Cost Breakdown (Qwen2.5-14B)</h2> +<div class="tscroll"> +<table class="tbl"> +<tr><th>Component</th><th>Hours</th><th>Cost (β¬)</th></tr> +<tr><td>1x A100 80GB (spot)</td><td>15</td><td>β¬19.35</td></tr> +<tr><td>1x A100 80GB (on-demand fallback)</td><td>5</td><td>β¬11.50</td></tr> +<tr><td>Storage (100GB disk)</td><td>20</td><td>β¬2.00</td></tr> +<tr><td>Unsloth framework</td><td>β</td><td>β¬0</td></tr> +<tr><td>Buffer (15%)</td><td>β</td><td>β¬5.00</td></tr> +<tr class="total"><td colspan="2"><strong>Compute Total</strong></td><td><strong>β¬37.85</strong></td></tr> +</table> +</div> + +<h2>Success Criteria</h2> +<ul> +<li>Model adopts our shorthand without explicit prompting</li> +<li>Maintains general capability (MMLU, HumanEval within 2% of base)</li> +<li>Validation loss decreases without overfitting</li> +<li>LoRA adapter β€50 MB, instant load/unload</li> +</ul> + +<div class="card card-warn"> +<strong>β οΈ If PoC fails:</strong> We re-examine the dataset (Phase 0). Cost of failure: ~β¬35. Data is reusable. +</div> +</div> + +<!-- βββββββββββββββ SLIDE 7: PHASE 2 βββββββββββββββ --> +<div class="slide" data-title="Phase 2"> +<h1>π Phase 2: Production Quality</h1> +<span class="cost mid">Budget: β¬200 β β¬500 (compute)</span> + +<h2>Goal</h2> +<p>Scale from PoC to production. Train on Mixtral 8x7B β already a Sparse MoE. This validates MoE training before Phase 3.</p> + +<h2>Configuration Options</h2> +<div class="tscroll"> +<table class="tbl"> +<tr><th>Option</th><th>Model</th><th>GPU</th><th>Cost (β¬)</th></tr> +<tr><td>A: Budget</td><td>Llama-3-8B</td><td>1x H100 spot</td><td>β¬69-139</td></tr> +<tr><td>B: Balanced</td><td>Qwen2.5-32B</td><td>2x A100 80GB</td><td>β¬103-184</td></tr> +<tr><td><strong>C: Recommended</strong></td><td><strong>Mixtral 8x7B</strong></td><td><strong>1x H100</strong></td><td><strong>β¬115-230</strong></td></tr> +<tr><td>D: Maximum</td><td>Llama-3-70B</td><td>4x A100 80GB</td><td>β¬310-575</td></tr> +</table> +</div> + +<h2>Why Mixtral 8x7B?</h2> +<div class="card card-blue"> +<ul style="margin:0"> +<li>It's already a Sparse MoE β our stepping stone to Phase 3</li> +<li>Only ~13B params activate per token (out of ~47B total)</li> +<li>Training is cheaper than a dense 47B model</li> +<li>QLoRA on MoE trains experts selectively β naturally creates "specialists"</li> +<li>Can train multiple adapters: coding / research / creative</li> +</ul> +</div> + +<h2>Detailed Cost (Option C)</h2> +<div class="tscroll"> +<table class="tbl"> +<tr><th>Item</th><th>Hours</th><th>Cost (β¬)</th></tr> +<tr><td>1x H100 80GB spot</td><td>40</td><td>β¬91.60</td></tr> +<tr><td>1x H100 on-demand buffer</td><td>10</td><td>β¬45.90</td></tr> +<tr><td>Storage 200GB</td><td>50</td><td>β¬5.00</td></tr> +<tr><td>Multi-adapter (+3 modes)</td><td>+15</td><td>β¬34.35</td></tr> +<tr><td>Buffer (20%)</td><td>β</td><td>β¬35.00</td></tr> +<tr class="total"><td colspan="2"><strong>Phase 2 Total</strong></td><td><strong>β¬211.85</strong></td></tr> +</table> +</div> +</div> + +<!-- βββββββββββββββ SLIDE 8: PHASE 3 βββββββββββββββ --> +<div class="slide" data-title="Phase 3"> +<h1>π Phase 3: Full MoE</h1> +<span class="cost high">Budget: β¬2,000 β β¬8,000</span> + +<h2>Goal</h2> +<p>Deep fine-tune a large MoE model (DeepSeek-V3 or Mixtral 8x22B) with Multi-Token Generation via Medusa heads.</p> + +<h2>Build vs Fine-Tune</h2> +<div class="tscroll"> +<table class="tbl"> +<tr><th>Approach</th><th>Cost</th><th>Risk</th><th>Verdict</th></tr> +<tr><td>Build from scratch</td><td>β¬15K-100K+</td><td><span class="badge red">EXTREME</span></td><td>β No</td></tr> +<tr><td><strong>Deep fine-tune existing</strong></td><td><strong>β¬2K-8K</strong></td><td><span class="badge gold">MODERATE</span></td><td><strong>β
Yes</strong></td></tr> +<tr><td>Distill into custom</td><td>β¬5K-20K</td><td><span class="badge red">HIGH</span></td><td>β³ Future</td></tr> +</table> +</div> + +<h2>Cost Breakdown</h2> +<div class="tscroll"> +<table class="tbl"> +<tr><th>Component</th><th>Hours</th><th>Cost (β¬)</th></tr> +<tr><td>8x H100 SXM (spot)</td><td>100</td><td>β¬1,750</td></tr> +<tr><td>8x H100 (on-demand buffer)</td><td>20</td><td>β¬644</td></tr> +<tr><td>Storage 1TB NVMe</td><td>120</td><td>β¬24</td></tr> +<tr><td>Medusa head training</td><td>+20</td><td>β¬350-644</td></tr> +<tr><td>Buffer (25%)</td><td>β</td><td>β¬685</td></tr> +<tr class="total"><td colspan="2"><strong>Phase 3 Total</strong></td><td><strong>β¬3,467-4,762</strong></td></tr> +</table> +</div> + +<h2>Multi-Token Generation</h2> +<div class="grid2"> +<div class="mini"> +<h4>Medusa Heads</h4> +<p>Lightweight prediction heads predict multiple future tokens. +15-20% training time. 2-3x inference speedup.</p> +</div> +<div class="mini"> +<h4>Speculative Decoding</h4> +<p>Small "draft" model predicts, large model verifies. No training needed. 1.5-2x speedup at inference.</p> +</div> +</div> + +<div class="card card-warn"> +<strong>β οΈ Catastrophic forgetting risk:</strong> Must mix custom data with general data (30/70 ratio). Increases compute ~40%. Monitored via eval benchmarks. +</div> +</div> + +<!-- βββββββββββββββ SLIDE 9: TECH STACK βββββββββββββββ --> +<div class="slide" data-title="Tech Stack"> +<h1>π οΈ Technical Stack</h1> +<p style="color:#aaa">All open-source. The only cost is GPU rental.</p> + +<div class="tscroll"> +<table class="tbl"> +<tr><th>Component</th><th>Tool</th><th>Cost</th></tr> +<tr><td>Training Framework</td><td><strong>Unsloth 2</strong></td><td>Free</td></tr> +<tr><td>Adapter Library</td><td>HuggingFace PEFT</td><td>Free</td></tr> +<tr><td>Quantization</td><td>bitsandbytes (NF4)</td><td>Free</td></tr> +<tr><td>Multi-Token</td><td>Medusa / Speculative</td><td>Free</td></tr> +<tr><td>Dataset Tools</td><td>datasets, tokenizers</td><td>Free</td></tr> +<tr><td>GPU (PoC)</td><td>RunPod spot</td><td>Pay/hr</td></tr> +<tr><td>GPU (Phase 3)</td><td>Lambda / CoreWeave</td><td>Pay/hr</td></tr> +<tr><td>Containers</td><td>Docker + CUDA</td><td>Free</td></tr> +<tr><td>Tracking</td><td>Weights & Biases</td><td>Free tier</td></tr> +<tr><td>Evaluation</td><td>lm-evaluation-harness</td><td>Free</td></tr> +</table> +</div> + +<div class="card card-green"> +<strong>Unsloth 2</strong> is the secret weapon: 2x faster training, 70% less VRAM. This is what makes Phase 1 cost β¬35 instead of β¬200. +</div> +</div> + +<!-- βββββββββββββββ SLIDE 10: RISKS βββββββββββββββ --> +<div class="slide" data-title="Risks"> +<h1>β οΈ Risk Matrix</h1> +<p style="color:#aaa">Every risk has a mitigation plan.</p> + +<div class="tscroll"> +<table class="tbl"> +<tr><th>Risk</th><th>Prob</th><th>Impact</th><th>Mitigation</th></tr> +<tr><td>Catastrophic forgetting</td><td><span class="badge gold">Med</span></td><td>High</td><td>Mix data 30/70, monitor benchmarks</td></tr> +<tr><td>Overfitting (parrot)</td><td><span class="badge gold">Med</span></td><td>Med</td><td>Early stopping, dropout, diverse data</td></tr> +<tr><td>Dataset too small</td><td><span class="badge red">High</span></td><td>High</td><td>Phase 0 quality, synthetic expansion</td></tr> +<tr><td>Spot interruption</td><td><span class="badge red">High</span></td><td>Low</td><td>Checkpoint every 50 steps, buffer</td></tr> +<tr><td>GPU price spike</td><td><span class="badge blue">Low</span></td><td>Med</td><td>Multi-provider, off-peak hours</td></tr> +<tr><td>MoE instability</td><td><span class="badge blue">Low</span></td><td>High</td><td>Phase 2 validates MoE first</td></tr> +<tr><td>Multi-token degrades</td><td><span class="badge blue">Low</span></td><td>Low</td><td>Medusa is additive, removable</td></tr> +</table> +</div> + +<h2>Fallback Plans</h2> +<div class="grid2"> +<div class="mini"> +<h4>π
°οΈ Ultra-Budget</h4> +<p>Google Colab Pro+ β¬9.99/mo. Spread training over sessions. ~β¬20-40 total. Proves concept for the price of coffee.</p> +</div> +<div class="mini"> +<h4>π
±οΈ No-Train RAG</h4> +<p>Retrieval-Augmented Generation with session history as context. No weight changes. 70% of benefit. Cost: β¬0.</p> +</div> +<div class="mini"> +<h4>π
²οΈ API Distillation</h4> +<p>Use GPT-4o/Claude with stored patterns as system prompts. Bridge solution. β¬50-100/mo.</p> +</div> +<div class="mini"> +<h4>π
³οΈ Gradual Scaling</h4> +<p>Start with β¬200 (Phase 0+1). Use PoC results to secure Phase 2/3 funding. The adapter IS the demo.</p> +</div> +</div> +</div> + +<!-- βββββββββββββββ SLIDE 11: TIMELINE βββββββββββββββ --> +<div class="slide" data-title="Timeline"> +<h1>π
Timeline & Milestones</h1> + +<div class="tl-item"> +<div class="tl-dot done"></div> +<div class="tl-content"> +<h4>Planning & Research β
</h4> +<p>Architecture decision, GPU research, budget plan, risk analysis</p> +<span class="when">Done</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot active"></div> +<div class="tl-content"> +<h4>Phase 0: Dataset Engineering</h4> +<p>Log export, curation, synthetic expansion, tokenization</p> +<span class="when">1-2 weeks Β· β¬100-200</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot future"></div> +<div class="tl-content"> +<h4>Phase 1: QLoRA PoC</h4> +<p>Train adapter on 8B-14B model, evaluate results</p> +<span class="when">3-5 days Β· β¬35-100</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot future"></div> +<div class="tl-content"> +<h4>Decision Gate: Go / No-Go</h4> +<p>Human evaluation: "Does this feel like us?"</p> +<span class="when">1-2 weeks review</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot future"></div> +<div class="tl-content"> +<h4>Phase 2: Production Adapter</h4> +<p>Multi-adapter suite on Mixtral 8x7B MoE</p> +<span class="when">1-2 weeks Β· β¬200-500</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot future"></div> +<div class="tl-content"> +<h4>Funding & Setup</h4> +<p>Secure Phase 3 budget, provision 8x H100 cluster</p> +<span class="when">2-4 weeks</span> +</div> +</div> +<div class="tl-item"> +<div class="tl-dot future"></div> +<div class="tl-content"> +<h4>Phase 3: Full MoE + Multi-Token</h4> +<p>Deep fine-tune, Medusa heads, deploy, benchmark</p> +<span class="when">2-4 weeks Β· β¬2K-8K</span> +</div> +</div> + +<div class="card card-gold" style="text-align:center"> +<strong>Total timeline: ~2-3 months end-to-end</strong> +</div> +</div> + +<!-- βββββββββββββββ SLIDE 12: BUDGET SUMMARY βββββββββββββββ --> +<div class="slide" data-title="Budget"> +<h1>π° Total Budget Summary</h1> + +<div class="tscroll"> +<table class="tbl"> +<tr><th>Phase</th><th>Description</th><th>Low</th><th>High</th></tr> +<tr><td>Phase 0</td><td>Dataset Engineering</td><td class="green">β¬100</td><td>β¬200</td></tr> +<tr><td>Phase 1</td><td>QLoRA PoC</td><td class="green">β¬35</td><td>β¬100</td></tr> +<tr><td>Phase 2</td><td>Production (Mixtral MoE)</td><td class="blue">β¬200</td><td>β¬500</td></tr> +<tr><td>Phase 3</td><td>Full MoE + Multi-Token</td><td style="color:var(--gold)">β¬2,000</td><td>β¬8,000</td></tr> +<tr class="total"><td colspan="2"><strong>GRAND TOTAL</strong></td><td><strong>β¬2,335</strong></td><td><strong>β¬8,800</strong></td></tr> +</table> +</div> + +<h2>Progressive Spend</h2> +<div style="margin:12px 0"> +<p style="font-size:12px;margin:4px 0">Phase 0+1 (Prove it works)</p> +<div class="pbar"><div class="pbar-fill pf-green" style="width:8%"></div></div> +<p style="font-size:12px;margin:4px 0">Phase 2 (Production)</p> +<div class="pbar"><div class="pbar-fill pf-blue" style="width:18%"></div></div> +<p style="font-size:12px;margin:4px 0">Phase 3 (Full MoE)</p> +<div class="pbar"><div class="pbar-fill pf-red" style="width:74%"></div></div> +</div> + +<div class="ask-box"> +<p style="font-size:14px;color:#ccc">The ask for now:</p> +<div class="amount">β¬300 β β¬500</div> +<p class="desc">Funds Phase 0 + Phase 1<br>Proves the concept works before larger investment</p> +</div> + +<div class="card card-green"> +<strong>Breakdown of the ask:</strong> +<ul style="margin:8px 0 0"> +<li>β¬100-200 β Data preparation (API calls, storage)</li> +<li>β¬35-100 β GPU rental (spot, ~20 hours)</li> +<li>β¬50-100 β Buffer for re-runs & debugging</li> +</ul> +</div> +</div> + +<!-- βββββββββββββββ SLIDE 13: THANK YOU βββββββββββββββ --> +<div class="slide" data-title="Thank You"> +<div class="hero" style="padding-top:40px"> +<div class="emoji">π₯</div> +<h1>Thank You</h1> +<p class="subtitle">Year of the Firehorse</p> + +<div class="card card-accent" style="text-align:left;margin-top:20px"> +<h3 style="margin-top:0">What we're asking for</h3> +<p><strong>β¬300-β¬500</strong> to fund Phase 0 + Phase 1. This is the "prove it works" budget.</p> +<p>Once the PoC shows measurable improvement, we present results and discuss Phase 2/3 funding separately.</p> +<p style="margin-bottom:0">This de-risks the investment. Everyone sees results before committing larger amounts.</p> +</div> + +<div class="card card-gold" style="text-align:center"> +<p style="font-size:16px;margin:8px 0">Β‘Y claro que sΓ!<br>Cuando nos veamos, nos echamos esa llamada en espaΓ±ol. πͺπΈ</p> +</div> + +<div class="card card-blue" style="text-align:center"> +<p style="margin:8px 0">Looking forward to good progress,<br>good experiences, and meeting soon. π</p> +</div> + +<div style="text-align:center;margin-top:30px"> +<p style="font-size:13px;color:var(--accent);font-weight:bold">π₯ Year of the Firehorse π₯</p> +<p style="font-size:11px;color:var(--muted);margin-top:8px">Core Model Evolution Plan v3.0<br>July 2026</p> +</div> +</div> +</div> + +</div> + +<!-- βββββββββββββββ NAV βββββββββββββββ --> +<div id="dots"></div> +<div id="nav"> +<button class="nav-btn" id="prevBtn" onclick="go(-1)">β Prev</button> +<span id="counter">1 / 13</span> +<button class="nav-btn" id="nextBtn" onclick="go(1)">Next β</button> +</div> + +<script> +const slides=document.querySelectorAll('.slide'); +const total=slides.length; +let cur=0; +const dotsContainer=document.getElementById('dots'); +const counter=document.getElementById('counter'); +const prevBtn=document.getElementById('prevBtn'); +const nextBtn=document.getElementById('nextBtn'); + +// Build dots +for(let i=0;i<total;i++){ + const d=document.createElement('div'); + d.className='dot'+(i===0?' active':''); + d.onclick=()=>{cur=i;render()}; + dotsContainer.appendChild(d); +} + +function render(){ + slides.forEach((s,i)=>{ + s.classList.remove('active','prev'); + if(i===cur)s.classList.add('active'); + if(i<cur)s.classList.add('prev'); + }); + document.querySelectorAll('.dot').forEach((d,i)=>{ + d.classList.remove('active','done'); + if(i===cur)d.classList.add('active'); + if(i<cur)d.classList.add('done'); + }); + counter.textContent=`${cur+1} / ${total}`; + prevBtn.disabled=cur===0; + nextBtn.disabled=cur===total-1; + // Scroll slide to top on change + slides[cur].scrollTop=0; +} + +function go(dir){ + cur=Math.max(0,Math.min(total-1,cur+dir)); + render(); +} + +// Touch swipe +let tsx=0,tsy=0; +document.addEventListener('touchstart',e=>{ + tsx=e.touches[0].clientX; + tsy=e.touches[0].clientY; +},{passive:true}); + +document.addEventListener('touchend',e=>{ + const dx=e.changedTouches[0].clientX-tsx; + const dy=e.changedTouches[0].clientY-tsy; + // Only horizontal swipe (not vertical scroll) + if(Math.abs(dx)>50 && Math.abs(dx)>Math.abs(dy)*1.5){ + if(dx<0)go(1); else go(-1); + } +},{passive:true}); + +// Keyboard +document.addEventListener('keydown',e=>{ + if(e.key==='ArrowRight'||e.key===' ')go(1); + if(e.key==='ArrowLeft')go(-1); +}); + +render(); +</script> +</body> +</html>
\ No newline at end of file |