Tags: SKaiNET-developers/SKaiNET-examples
Tags
AndroidNeonLlmDemo: on-device LLM with ARM NEON vs scalar A/B compari… …son, with Logcat perf instrumentation and split-screen race screenshot
SKaiNET-examples 0.40.1 Samples updated to their latest matching SKaiNET release: - SKaiNET 0.40.1 (core-only samples: SinusApproximator, MNISTDemo, GloVeEmbeddings, TinyTransformer, MnistJavaDemo, skainet-ui) - SKaiNET/skainet-transformers 0.39.1 (KllamaDemo -- transformers hasn't released against the 0.40.x core line yet) - Kotlin 2.4.10 across all Kotlin Multiplatform samples New sample: KernelRace, a Kotlin Multiplatform conversion of the Android-only AndroidNeonLlmDemo (on-device LLM chat with a NEON-vs-scalar kernel race on Android; now also runs on Desktop and Wasm). Samples page generator now supports non-web samples (CLI, Android-only) with platform chips, alongside a "How to run" fallback where there's no live demo.
SKaiNET-examples 0.34.0 — SKaiNET 0.34.0 + TinyTransformer (KI-ENNA) New sample: TinyTransformer --------------------------- A Kotlin Multiplatform port of the German educational page 'KI-ENNA: (E)in (N)euronales (N)etz zum (A)usprobieren' (https://statistical-thinking.de/ki-enna-transformer.html) that trains a tiny decoder-only transformer live in the app on Android, iOS, Desktop, JS and Wasm — on-device training with the core SKaiNET NN DSL only, no sk.ainet.transformers dependency: * word-level tokenizer: <pad>/<unk>/<eos> specials, frequency-capped vocabulary, sliding next-token windows * custom Module: token + positional embeddings via differentiable indexSelect; single-head causal self-attention softmax(X*Xt/sqrt(d) + mask) hand-rolled from matmul/transpose/softmax so the attention matrix can be visualized live; dense output projection * training { model / loss / optimizer } DSL with CrossEntropyLoss (one-hot soft targets, pad rows zeroed) and SGD on a Phase.TRAIN graph context with gradient tape * live attention heatmap + cross-entropy loss curve, learned-embeddings table, top-5 next-word prediction, English/German language toggle * unit tests green on JVM, JS and Wasm; verified end-to-end in headless Chrome (120 epochs: loss 2.91 -> 0.58; 'Der Fisch' -> schwimmt 0.24, knabbert 0.19) * attribution to the original KI-ENNA project on the web page, the samples gallery card and inside the app Version updates --------------- * SinusApproximator, MNISTDemo, GloVeEmbeddings, MnistJavaDemo: SKaiNET 0.26.0 -> 0.34.0 * KllamaDemo: core 0.25.0 -> 0.34.0; sk.ainet.transformers artifacts on a separate version ref at 0.34.1 * skainet-ui: Kotlin 2.3.10 -> 2.3.21 (matches the compiler SKaiNET's klibs are built with); module version aligned to 0.34.0 Fixes ----- * SinusApproximator: Compose Multiplatform 1.10.0 -> 1.10.1 to match :skainet-ui — a mismatch puts two Skiko versions on the desktop classpath and crashes with UnsatisfiedLinkError (getAdapterMaxTextureSize) at first render on macOS/Metal All samples compile-verified against Maven Central artifacts (JVM + Wasm; MnistJavaDemo full build).
SKaiNET examples 0.26.0
Core examples on SKaiNET 0.26.0 from Maven Central: SinusApproximator, MNISTDemo
(BuildInfo synced), MnistJavaDemo, GloVeEmbeddings.
Includes:
- Merge of develop (KllamaDemo Qwen3 playground); KllamaDemo kept in-repo but
out of the published sample suite, pinned to transformers 0.25.0.
- Restored MnistJavaDemo gradle-wrapper.jar.
- Yarn-lock mismatch made non-fatal for BOTH the JS and WASM yarn roots
(WARNING + auto-replace) so the GitHub Pages deploy no longer dies at
:kotlinWasmStoreYarnLock on CI. Verified locally against a forced mismatch.
- Maven-Central-only resolution preserved.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PreviousNext