Go to file
Richard Loyer 2809b54943 CH chraac-llama : -18% RTF (2.43 -> 2.04) via swap ggml source
Découverte historique remise au jour : la mémoire 'TTS RTF<1 atteint via
chraac-llama' (projet d'origine /opt/Kazeia, 02/05) documente que le
décodeur TTS atteint RTF 0.96 avec ggml-cpu de chraac-llama (dev-refactoring
commit 897501a) vs 1.47 avec llama-upstream (= notre ql/ggml actuel).

Notre Kazeia-Engine builde contre ql/ggml = github.com/qualcomm/llama.cpp
fork = essentiellement llama-upstream + hexagon backend. NEON heads optim
sortie cette session a déjà compensé une partie mais pas tout.

Validation reproductibilité :
  Bench historique decoder seul (T=56) sur Pad3 chargée : RTF 0.935
  (legèrement mieux que 0.961 historique, batterie pleine + device froid).

Build chraac variant :
  - libs runtime : copies de /opt/Kazeia/chraac-llama/build-android-kazeia/bin
    poussées dans /data/local/tmp/kz-engine/bin-chraac
  - libqwen3tts-decoder.a : rebuild fresh contre chraac/ggml dans
    /opt/Kazeia/kazeia-tts-decoder-ggml/build-android-chraac-fresh
    (code actuel avec load_with_backends + snake_consts)
  - tts_pipeline_chraac : linké contre ces libs, headers
    /opt/Kazeia/chraac-llama/include + ggml/include

Mesure A/B Pad3 (KZTTS_THREADS=6 GGML_NUM_THREADS=8 seed=42) :

  Phrase 'Bonsoir, comment tu te sens ce soir ?' :
    Baseline ql/ggml  : N=41 RTF 2.43  talker=31.5  cp=70.2  decoder/frame=98.1 ms
    chraac-llama      : N=64 RTF 2.04  talker=31.2  cp=57.5  decoder/frame=76.9 ms
    Delta per-frame   :       -16%      -1%      -18%      -22%

  Phrase 'Bonjour Kazeia' :
    Baseline : N=33 RTF 2.47 / Chraac : N=64 RTF 2.02
    (Différence N = trajectoire diverge — précision f32 différente entre
    stacks fait que le sampler talker produit des codes différents et
    génère une phrase plus longue avant EOS)

Gains :
  - Decoder -22% confirmé (cohérent avec ratio chraac 0.96 / llama-upstream 1.47)
  - CP -18 à -21%  (ggml_graph_compute repack/sgemm ARM optimisé chraac)
  - Talker -1% (déjà au plafond NEON via llama.cpp)
  - RTF total -16 à -18%

Bug découvert (à traiter plus tard) :
  Phrase historique 56 codes 'Bonjour, je m'appelle Kazeia, je suis encore en phase de développement' (= ~60 frames) crash ggml_sin chraac (GGML_ABORT 'unsupported types' probable). Phrases moyennes (<= 50 frames)
  passent OK. Sans doute incompat de types entre snake_consts (ctx_const dans
  Decoder) et le path ggml_sin de chraac (qui n'a peut-être pas la même
  variante f16/f32 que les ops récentes).

Path actuel ql/ggml RESTE le défaut. Le chraac est build séparé tts_pipeline_chraac
opt-in pour A/B. Libs chraac dans dist/lib-chraac/ (gitignored).

À faire next :
  - Investiger crash ggml_sin chraac sur T>= ~50 frames
  - Décider : swap définitif Kazeia-Engine sur chraac (avec lib-chraac
    comme runtime principal) OU rester sur ql/ggml et patch chraac repack
    optims dedans

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-30 12:38:47 +02:00
.claude Rapport R&D complet: synthese session, perf, cascade, #277, briques, reste a faire 2026-05-25 22:27:34 +02:00
dist CH chraac-llama : -18% RTF (2.43 -> 2.04) via swap ggml source 2026-05-30 12:38:47 +02:00
docs GDN chunkwise P1.2: VTCM state prefill=neutre, prouve compute-bound 3S2/tok -> gain=WY matmul (palier dur). oracle 28/28, pp98 2026-05-26 16:30:08 +02:00
eval eval: verdict (assisté, à valider) -> ship Qwen3.5-lmq4 2026-05-26 23:23:00 +02:00
ql@6e0edba837 ql: bump pour qwen3 dense IMROPE (ql:6e0edba) 2026-05-28 13:54:27 +02:00
.gitignore CH chraac-llama : -18% RTF (2.43 -> 2.04) via swap ggml source 2026-05-30 12:38:47 +02:00
CHANTIER_HMX_DENSE.md chantier dense-HMX #4: 0x2e décodé = AEE_ECONNRESET (reset watchdog CDSP), pas une corruption de valeurs 2026-05-27 19:20:28 +02:00
CLAUDE.md R&D: battre pte=lm_head HMX INT4+spec decode+ctx binary; mur=lm_head CPU 2026-05-25 18:46:28 +02:00
RAPPORT_RD.md RAPPORT §7: piste kernel GDN fermee — GDN-compute != goulot prefill (fork ql) 2026-05-26 21:46:05 +02:00
c4.sh Dist Kazeia-Engine: libs arm64+headers+JNI bridge+INTEGRATION/TTS doc; STT reste ORT 2026-05-24 21:55:01 +02:00
casc.sh Dist Kazeia-Engine: libs arm64+headers+JNI bridge+INTEGRATION/TTS doc; STT reste ORT 2026-05-24 21:55:01 +02:00
casc2.sh Dist Kazeia-Engine: libs arm64+headers+JNI bridge+INTEGRATION/TTS doc; STT reste ORT 2026-05-24 21:55:01 +02:00
casc3.sh Dist Kazeia-Engine: libs arm64+headers+JNI bridge+INTEGRATION/TTS doc; STT reste ORT 2026-05-24 21:55:01 +02:00
cascade_test.sh Dist Kazeia-Engine: libs arm64+headers+JNI bridge+INTEGRATION/TTS doc; STT reste ORT 2026-05-24 21:55:01 +02:00
cf.sh Dist Kazeia-Engine: libs arm64+headers+JNI bridge+INTEGRATION/TTS doc; STT reste ORT 2026-05-24 21:55:01 +02:00
qcmp.sh Dist Kazeia-Engine: libs arm64+headers+JNI bridge+INTEGRATION/TTS doc; STT reste ORT 2026-05-24 21:55:01 +02:00
spk.sh Dist Kazeia-Engine: libs arm64+headers+JNI bridge+INTEGRATION/TTS doc; STT reste ORT 2026-05-24 21:55:01 +02:00