Skip to content

Py interface - #9

Open
stellon-admin wants to merge 11 commits into
mainfrom
py-interface
Open

stellon-admin wants to merge 11 commits into
mainfrom
py-interface

Conversation

@stellon-admin

Copy link
Copy Markdown
Contributor

Overview

Additional information

Requirements

KittenML and others added 11 commits October 5, 2026 20:59
Exempting silence (codec 4299) from the repetition penalty lets the main
checkpoint stall in silence runs. Only speech_end and stop stay exempt,
matching the Python sampler.

Long silence runs could also drive the LM to all-NaN logits, after which
top-p indexed an empty candidate list and segfaulted; skip top-p then so
sample() reports 'no finite sampling candidates'.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Penalise the silence token; guard top-p against non-finite logits
The wheels published as 0.1.0 were built on 5 October, before the silence token
was brought under the repetition penalty and top-p was guarded against
non-finite logits. Generated output changes for a given seed, so this is a minor
bump rather than a patch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
No GPU backend has TQ2_1 kernels. When a TQ2_1 weight is assigned to a
GPU buffer type that supports the op with Q2_0, create it as Q2_0 and
repack it while loading. The repack is lossless: both formats store
2-bit codes with FP16 scales, and each 128-weight TQ2_1 scale is copied
bit-exact onto two 64-weight Q2_0 blocks. CPU buffers are unchanged.
Repacked tensors are not served from the file mapping.

- ggml: ggml_repack_tq2_1_to_q2_0(), which rejects code 3
- llama: llama_model_params.gpu_repack (default true), load log lines
  for the repacked tensors and the repack time
- llama-ext.h staging API: llama_model_n_tensors(),
  llama_model_get_tensor_by_index(), llama_get_graph_splits() and
  llama_get_flash_attn(), so tools can check weight placement, CPU
  fallbacks and the resolved flash attention setting
- ggml-cuda: cache the device's integrated flag at registration instead
  of calling cudaGetDeviceProperties on every get_type call
- tests: repack round trips and invalid codes in test-tq2_1, Q2_0
  mul_mat cases at Qwen3-1.7B shapes in test-backend-ops, and
  test-tq2_1-load, which loads a TQ2_1 GGUF with all layers on the GPU,
  checks that every TQ2_1 weight is on the GPU as Q2_0 and dequantizes
  to the same values as the file, and that with gpu_repack off the
  weights stay on the CPU as TQ2_1
kitten-tts: NVIDIA GPU support and CUDA wheels (kitten-tts-cpp-cu12 / -cu13)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants