hybrid-llama/turboquant/tools/cvector-generator
Marvin 1dd0700988 hybrid-llama: merge ik_llama IQK CPU GEMM into TurboQuant fork
Base: AtomicBot-ai/atomic-llama-cpp-turboquant @ cd5609390. IQK source: ikawrakow/ik_llama.cpp @ fe215a8c (ggml/src/iqk only).

- GGML_IQK_MUL_MAT / GGML_IQK_FLASH_ATTENTION options (default OFF)

- 57 IQK repacked types, blocks, traits; IQK hooks in ggml_compute_forward_mul_mat

- ggml-cpu with IQK ON builds and links; IQK OFF build unaffected

Assisted-by: opencode (Muse Spark)
2026-09-05 18:09:49 -03:00
..
CMakeLists.txt hybrid-llama: merge ik_llama IQK CPU GEMM into TurboQuant fork 2026-09-05 18:09:49 -03:00
README.md hybrid-llama: merge ik_llama IQK CPU GEMM into TurboQuant fork 2026-09-05 18:09:49 -03:00
completions.txt hybrid-llama: merge ik_llama IQK CPU GEMM into TurboQuant fork 2026-09-05 18:09:49 -03:00
cvector-generator.cpp hybrid-llama: merge ik_llama IQK CPU GEMM into TurboQuant fork 2026-09-05 18:09:49 -03:00
mean.hpp hybrid-llama: merge ik_llama IQK CPU GEMM into TurboQuant fork 2026-09-05 18:09:49 -03:00
negative.txt hybrid-llama: merge ik_llama IQK CPU GEMM into TurboQuant fork 2026-09-05 18:09:49 -03:00
pca.hpp hybrid-llama: merge ik_llama IQK CPU GEMM into TurboQuant fork 2026-09-05 18:09:49 -03:00
positive.txt hybrid-llama: merge ik_llama IQK CPU GEMM into TurboQuant fork 2026-09-05 18:09:49 -03:00

README.md

cvector-generator

This example demonstrates how to generate a control vector using gguf models.

Related PRs:

Examples

# CPU only
./cvector-generator -m ./llama-3.Q4_K_M.gguf

# With GPU
./cvector-generator -m ./llama-3.Q4_K_M.gguf -ngl 99

# With advanced options
./cvector-generator -m ./llama-3.Q4_K_M.gguf -ngl 99 --pca-iter 2000 --pca-batch 100

# Using mean value instead of PCA
./cvector-generator -m ./llama-3.Q4_K_M.gguf --method mean

# To see help message
./cvector-generator -h
# Then, have a look at "cvector" section

Tips and tricks

If you have multiple lines per prompt, you can escape the newline character (change it to \n). For example:

<|im_start|>system\nAct like a person who is extremely happy.<|im_end|>
<|im_start|>system\nYou are in a very good mood today<|im_end|>

Example to use output file with llama-cli:

(Tips: The control vector works better when apply to layers higher than 10)

./llama-cli -m ./llama-3.Q4_K_M.gguf -p "<|start_header_id|>system<|end_header_id|>\n\nYou are a helpful assistant<|eot_id|><|start_header_id|>user<|end_header_id|>\n\nSing a song<|im_end|><|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n" --special --control-vector-scaled ./control_vector.gguf 0.8 --control-vector-layer-range 10 31