docs: move 19D radar chart to top of model card
Browse files- 19d-radar-chart.png +2 -2
- 19d-radar-chart.svg +6 -6
- README.md +2 -2
- sovereign-signature-chart.jsx +170 -0
19d-radar-chart.png
CHANGED
|
Git LFS Details
|
|
Git LFS Details
|
19d-radar-chart.svg
CHANGED
|
|
|
|
README.md
CHANGED
|
@@ -21,6 +21,8 @@ license_link: https://joinup.ec.europa.eu/licence/european-union-public-licence-
|
|
| 21 |
|
| 22 |
Intrinsically aligned 4B language model trained using **Cymatic-Linguistic Back-Propagation** (CL-BPL). Ethics are in the weights, not in a system prompt.
|
| 23 |
|
|
|
|
|
|
|
| 24 |
**25th in the world for Instruction Following** on [LiveBench](https://livebench.ai/) — competing against models 10-30x its size.
|
| 25 |
|
| 26 |
## LiveBench Results
|
|
@@ -97,8 +99,6 @@ No system prompt needed. The model responds with axiom-aligned reasoning from we
|
|
| 97 |
|
| 98 |
LEM models are scored across 19 dimensions spanning grammar, heuristic behaviour, and attention coherence:
|
| 99 |
|
| 100 |
-

|
| 101 |
-
|
| 102 |
| Group | Dimensions | What It Measures |
|
| 103 |
|-------|-----------|------------------|
|
| 104 |
| **Grammar** (6D) | Vocab richness, tense entropy, question ratio, domain depth, verb diversity, noun diversity | Linguistic structure and complexity |
|
|
|
|
| 21 |
|
| 22 |
Intrinsically aligned 4B language model trained using **Cymatic-Linguistic Back-Propagation** (CL-BPL). Ethics are in the weights, not in a system prompt.
|
| 23 |
|
| 24 |
+

|
| 25 |
+
|
| 26 |
**25th in the world for Instruction Following** on [LiveBench](https://livebench.ai/) — competing against models 10-30x its size.
|
| 27 |
|
| 28 |
## LiveBench Results
|
|
|
|
| 99 |
|
| 100 |
LEM models are scored across 19 dimensions spanning grammar, heuristic behaviour, and attention coherence:
|
| 101 |
|
|
|
|
|
|
|
| 102 |
| Group | Dimensions | What It Measures |
|
| 103 |
|-------|-----------|------------------|
|
| 104 |
| **Grammar** (6D) | Vocab richness, tense entropy, question ratio, domain depth, verb diversity, noun diversity | Linguistic structure and complexity |
|
sovereign-signature-chart.jsx
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React, { useState } from 'react';
|
| 2 |
+
import {
|
| 3 |
+
Radar, RadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis,
|
| 4 |
+
ResponsiveContainer, Tooltip, Legend
|
| 5 |
+
} from 'recharts';
|
| 6 |
+
|
| 7 |
+
const SovereignSignatureMapper = () => {
|
| 8 |
+
const [selectedView, setSelectedView] = useState('both');
|
| 9 |
+
|
| 10 |
+
// 19D Feature Vector — real labels from pkg/lem/features.go
|
| 11 |
+
// Values normalised to 0-100 scale
|
| 12 |
+
// Heuristic: from ab-lek-gemma3-4b-mlxlm.jsonl benchmark (20 probes avg)
|
| 13 |
+
// Grammar: from internal scoring (iter 4200-4300 best checkpoint)
|
| 14 |
+
// Attention: from Q/K Bone Orientation analysis engine
|
| 15 |
+
const data = [
|
| 16 |
+
// Grammar (6D) — from GrammarFeatures()
|
| 17 |
+
{ dimension: 'Vocab Richness', base: 55, lem: 72, group: 'Grammar' },
|
| 18 |
+
{ dimension: 'Tense Entropy', base: 50, lem: 65, group: 'Grammar' },
|
| 19 |
+
{ dimension: 'Question Ratio', base: 40, lem: 45, group: 'Grammar' },
|
| 20 |
+
{ dimension: 'Domain Depth', base: 52, lem: 78, group: 'Grammar' },
|
| 21 |
+
{ dimension: 'Verb Diversity', base: 48, lem: 70, group: 'Grammar' },
|
| 22 |
+
{ dimension: 'Noun Diversity', base: 45, lem: 68, group: 'Grammar' },
|
| 23 |
+
// Heuristic (8D) — from HeuristicFeatures()
|
| 24 |
+
// Inverted where 0=good: compliance, formulaic, degeneration, empty
|
| 25 |
+
{ dimension: 'Compliance', base: 55, lem: 95, group: 'Heuristic' }, // 0 markers = sovereign
|
| 26 |
+
{ dimension: 'Formulaic', base: 58, lem: 95, group: 'Heuristic' }, // 0 preamble = authentic
|
| 27 |
+
{ dimension: 'First Person', base: 70, lem: 91, group: 'Heuristic' }, // 3.0 -> 0.9 avg
|
| 28 |
+
{ dimension: 'Creative Form', base: 44, lem: 39, group: 'Heuristic' }, // 43.8 -> 39.3 (raw count)
|
| 29 |
+
{ dimension: 'Engagement Depth', base: 62, lem: 62, group: 'Heuristic' }, // 12.4 both
|
| 30 |
+
{ dimension: 'Emotional Register', base: 38, lem: 40, group: 'Heuristic' }, // 1.1 -> 1.0
|
| 31 |
+
{ dimension: 'Degeneration', base: 70, lem: 95, group: 'Heuristic' }, // 0 = clean
|
| 32 |
+
{ dimension: 'Empty/Broken', base: 80, lem: 95, group: 'Heuristic' }, // 0 = complete
|
| 33 |
+
// Attention (5D) — from AttentionFeatures() / Q/K Bone Orientation
|
| 34 |
+
{ dimension: 'Mean Coherence', base: 65, lem: 80, group: 'Attention' },
|
| 35 |
+
{ dimension: 'Cross Alignment', base: 60, lem: 75, group: 'Attention' },
|
| 36 |
+
{ dimension: 'Head Entropy', base: 68, lem: 70, group: 'Attention' },
|
| 37 |
+
{ dimension: 'Phase Lock', base: 55, lem: 82, group: 'Attention' },
|
| 38 |
+
{ dimension: 'Joint Stability', base: 62, lem: 78, group: 'Attention' },
|
| 39 |
+
];
|
| 40 |
+
|
| 41 |
+
const CustomTooltip = ({ active, payload }) => {
|
| 42 |
+
if (active && payload && payload.length) {
|
| 43 |
+
const d = payload[0].payload;
|
| 44 |
+
return (
|
| 45 |
+
<div style={{
|
| 46 |
+
background: '#0d1117', border: '1px solid #30363d',
|
| 47 |
+
padding: '12px', borderRadius: '8px', fontFamily: 'monospace', fontSize: '11px'
|
| 48 |
+
}}>
|
| 49 |
+
<p style={{ color: '#e6edf3', fontWeight: 'bold', margin: '0 0 6px' }}>{d.dimension}</p>
|
| 50 |
+
<p style={{ color: '#8b949e', margin: '2px 0' }}>Group: <span style={{
|
| 51 |
+
color: d.group === 'Grammar' ? '#4fc3f7' : d.group === 'Heuristic' ? '#ab47bc' : '#66bb6a'
|
| 52 |
+
}}>{d.group}</span></p>
|
| 53 |
+
{payload.map((p, i) => (
|
| 54 |
+
<p key={i} style={{ color: p.color, margin: '2px 0' }}>
|
| 55 |
+
{p.name}: {p.value}
|
| 56 |
+
</p>
|
| 57 |
+
))}
|
| 58 |
+
<p style={{ color: '#4fc3f7', margin: '4px 0 0', fontSize: '10px' }}>
|
| 59 |
+
Delta: {d.lem > d.base ? '+' : ''}{d.lem - d.base}
|
| 60 |
+
</p>
|
| 61 |
+
</div>
|
| 62 |
+
);
|
| 63 |
+
}
|
| 64 |
+
return null;
|
| 65 |
+
};
|
| 66 |
+
|
| 67 |
+
return (
|
| 68 |
+
<div style={{
|
| 69 |
+
display: 'flex', flexDirection: 'column', minHeight: '100vh',
|
| 70 |
+
background: '#0d1117', color: '#e6edf3', padding: '24px', fontFamily: 'system-ui, sans-serif'
|
| 71 |
+
}}>
|
| 72 |
+
{/* Header */}
|
| 73 |
+
<div style={{ borderBottom: '1px solid #21262d', paddingBottom: '16px', marginBottom: '24px' }}>
|
| 74 |
+
<h1 style={{
|
| 75 |
+
fontSize: '24px', fontWeight: 'bold', margin: '0 0 4px',
|
| 76 |
+
background: 'linear-gradient(90deg, #4fc3f7, #ab47bc)',
|
| 77 |
+
WebkitBackgroundClip: 'text', WebkitTextFillColor: 'transparent'
|
| 78 |
+
}}>
|
| 79 |
+
Sovereign Signature Map
|
| 80 |
+
</h1>
|
| 81 |
+
<p style={{ color: '#8b949e', fontSize: '12px', fontFamily: 'monospace', margin: 0 }}>
|
| 82 |
+
LEM-Gemma3-4B — 19-Dimension Feature Vector — 25th IF on LiveBench
|
| 83 |
+
</p>
|
| 84 |
+
</div>
|
| 85 |
+
|
| 86 |
+
{/* Toggle */}
|
| 87 |
+
<div style={{ display: 'flex', gap: '8px', marginBottom: '24px' }}>
|
| 88 |
+
{['both', 'lem', 'base'].map(v => (
|
| 89 |
+
<button key={v} onClick={() => setSelectedView(v)} style={{
|
| 90 |
+
padding: '6px 16px', borderRadius: '8px', border: '1px solid',
|
| 91 |
+
borderColor: selectedView === v ? '#4fc3f7' : '#30363d',
|
| 92 |
+
background: selectedView === v ? 'rgba(79,195,247,0.1)' : 'transparent',
|
| 93 |
+
color: selectedView === v ? '#4fc3f7' : '#8b949e',
|
| 94 |
+
cursor: 'pointer', fontSize: '12px', fontWeight: 'bold'
|
| 95 |
+
}}>
|
| 96 |
+
{v === 'both' ? 'Base vs LEM' : v === 'lem' ? 'LEM Only' : 'Base Only'}
|
| 97 |
+
</button>
|
| 98 |
+
))}
|
| 99 |
+
</div>
|
| 100 |
+
|
| 101 |
+
{/* Chart */}
|
| 102 |
+
<div style={{
|
| 103 |
+
flex: 1, background: 'rgba(22,27,34,0.5)', borderRadius: '16px',
|
| 104 |
+
border: '1px solid #21262d', padding: '24px', minHeight: '500px'
|
| 105 |
+
}}>
|
| 106 |
+
<ResponsiveContainer width="100%" height={600}>
|
| 107 |
+
<RadarChart cx="50%" cy="50%" outerRadius="75%" data={data}>
|
| 108 |
+
<PolarGrid stroke="#21262d" />
|
| 109 |
+
<PolarAngleAxis
|
| 110 |
+
dataKey="dimension"
|
| 111 |
+
tick={{ fill: '#8b949e', fontSize: 10 }}
|
| 112 |
+
/>
|
| 113 |
+
<PolarRadiusAxis angle={90} domain={[0, 100]} tick={false} axisLine={false} />
|
| 114 |
+
{(selectedView === 'both' || selectedView === 'base') && (
|
| 115 |
+
<Radar
|
| 116 |
+
name="Base Gemma3-4B-IT"
|
| 117 |
+
dataKey="base"
|
| 118 |
+
stroke="#484f58"
|
| 119 |
+
fill="#484f58"
|
| 120 |
+
fillOpacity={0.15}
|
| 121 |
+
strokeDasharray="4 3"
|
| 122 |
+
/>
|
| 123 |
+
)}
|
| 124 |
+
{(selectedView === 'both' || selectedView === 'lem') && (
|
| 125 |
+
<Radar
|
| 126 |
+
name="LEM-Gemma3-4B"
|
| 127 |
+
dataKey="lem"
|
| 128 |
+
stroke="#4fc3f7"
|
| 129 |
+
fill="#4fc3f7"
|
| 130 |
+
fillOpacity={0.25}
|
| 131 |
+
/>
|
| 132 |
+
)}
|
| 133 |
+
<Legend
|
| 134 |
+
wrapperStyle={{ fontSize: '12px', fontFamily: 'monospace' }}
|
| 135 |
+
/>
|
| 136 |
+
<Tooltip content={<CustomTooltip />} />
|
| 137 |
+
</RadarChart>
|
| 138 |
+
</ResponsiveContainer>
|
| 139 |
+
</div>
|
| 140 |
+
|
| 141 |
+
{/* Dimension Groups */}
|
| 142 |
+
<div style={{
|
| 143 |
+
display: 'flex', gap: '16px', marginTop: '16px',
|
| 144 |
+
justifyContent: 'center'
|
| 145 |
+
}}>
|
| 146 |
+
{[
|
| 147 |
+
{ name: 'Grammar', count: 6, colour: '#4fc3f7' },
|
| 148 |
+
{ name: 'Heuristic', count: 8, colour: '#ab47bc' },
|
| 149 |
+
{ name: 'Attention', count: 5, colour: '#66bb6a' },
|
| 150 |
+
].map(g => (
|
| 151 |
+
<div key={g.name} style={{
|
| 152 |
+
display: 'flex', alignItems: 'centre', gap: '8px',
|
| 153 |
+
background: 'rgba(22,27,34,0.5)', padding: '8px 16px',
|
| 154 |
+
borderRadius: '8px', border: '1px solid #21262d'
|
| 155 |
+
}}>
|
| 156 |
+
<div style={{
|
| 157 |
+
width: '10px', height: '10px', borderRadius: '50%',
|
| 158 |
+
background: g.colour
|
| 159 |
+
}} />
|
| 160 |
+
<span style={{ fontSize: '11px', fontFamily: 'monospace', color: '#8b949e' }}>
|
| 161 |
+
{g.name} ({g.count}D)
|
| 162 |
+
</span>
|
| 163 |
+
</div>
|
| 164 |
+
))}
|
| 165 |
+
</div>
|
| 166 |
+
</div>
|
| 167 |
+
);
|
| 168 |
+
};
|
| 169 |
+
|
| 170 |
+
export default SovereignSignatureMapper;
|