Skip to content

kinfer v0.2.4

Choose a tag to compare

@localkin localkin released this 06 Nov 18:16
· 34 commits to main since this release

A mixture of experts read from the SSD generates sooner: DeepSeek-V4.1 on a MacBook Pro 14.5–18.7 tok/s instead of 11.5–16.6, with the same replies.

curl -fsSL https://raw.githubusercontent.com/LocalKinAI/kinfer/main/scripts/install.sh | sh
  • A miss is read straight into its slot. On a Mac the experts' GPU cache is memory the host shares, so a miss is now read from the SSD into it directly, not into host memory and then copied: 5 ms of V4.1's 78 a token on the laptop.
  • The GPU kept busy while a layer's misses are read. A GPU left idle most of a millisecond lets its clock down and runs the next layer slower; V4.1's misses did that forty times a token. A small kernel on the graphs' own queue now fills most of the wait, and the GPU's part of a token went from 37.6 ms to 25.5. LLAMA_MOE_FILL=0 turns it off.
  • LLAMA_MOE_TIMING=1 (with GGML_METAL_GPU_TIME=1) logs where generation's time goes at each cached layer when the model unloads.
DeepSeek-V4.1, four 256-token replies v0.2.3 v0.2.4
MacBook Pro (M5 Max, 40 GiB GPU), every layer's experts on the host 12.0 / 16.6 / 11.5 / 11.5 tok/s 15.0 / 18.7 / 14.8 / 14.5 tok/s
M3 Ultra, 31 layers' experts on the host 15.5 / 17.5 / 15.4 / 14.8 tok/s 16.5 / 18.0 / 15.2 / 15.5 tok/s

Models that fit on the GPU are unchanged (Flash-Next on the M3 Ultra: the same replies, md5 for md5). The patched libraries are now darwin_arm64_b11998k7 (patch 0007). How the time was found and what else was tried: docs/big-models.md. CHANGELOG.md

kinfer-v0.2.4-darwin-arm64.tar.gz sha256 872a7c4e9876edf8fa282461779ce5d0bcefc174f89deb161349ef68d9b9c59c