This commit is contained in:
Pascal
2026-05-14 16:47:45 +02:00
parent b1e864cb8d
commit e8f1c2a053
40 changed files with 337 additions and 340 deletions
+4 -4
View File
@@ -1,5 +1,5 @@
#pragma once
// code-predictor-forward.h : run the 5-layer Qwen3 code predictor over a
// code-predictor-forward.h: run the 5-layer Qwen3 code predictor over a
// growing context to produce the 15 acoustic codes of one audio frame,
// KV cached.
//
@@ -13,7 +13,7 @@
// frame, ready for decode through
// the codec
//
// The predictor cache is local to a single frame : we reset it at every
// The predictor cache is local to a single frame: we reset it at every
// frame, prefill the first two positions (talker_hidden + embed(c0)),
// then decode 14 single-token steps. Total work drops from
// O(sum_{g=0..14} (g+2)^2) = O(1496 token-steps) to O(16) per frame,
@@ -29,14 +29,14 @@
#include <vector>
struct CodePredictorOutput {
// Sixteen codes : c0 from the talker plus c1..c15 from the predictor.
// Sixteen codes: c0 from the talker plus c1..c15 from the predictor.
std::vector<int32_t> codes;
};
// Run the predictor for one audio frame. Caller passes the talker hidden
// state for the current frame and the already-sampled c0. Sampling
// parameters control greedy (temperature <= 0) vs stochastic. subseq_base
// is the Philox subsequence of the c0 sample for this step ; the 15
// is the Philox subsequence of the c0 sample for this step; the 15
// acoustic samples consume subseq_base + 1 .. subseq_base + 15.
// Returns the full vector of 16 codes. dump_dir may be NULL.
bool code_predictor_step(const TalkerWeights * tw,