Add GLM 5.3 Flash support
This commit is contained in:
@@ -14,12 +14,16 @@ impl App {
|
||||
.on_toggle_maybe(dspark_toggle),
|
||||
"Speculative decoding with the managed DSpark draft artifact: a small model proposes tokens that the main model verifies in one pass. Usually a large speedup; the target model may also stream routed experts from SSD.",
|
||||
);
|
||||
let glm_mtp_toggle: Option<fn(bool) -> Message> =
|
||||
(self.preference_draft.acceleration_model == ModelChoice::Glm52)
|
||||
.then_some(Message::PreferenceGlmMtpChanged);
|
||||
let glm_mtp_timing_toggle: Option<fn(bool) -> Message> =
|
||||
(self.preference_draft.acceleration_model == ModelChoice::Glm52)
|
||||
.then_some(Message::PreferenceGlmMtpTimingChanged);
|
||||
let glm_mtp_toggle: Option<fn(bool) -> Message> = self
|
||||
.preference_draft
|
||||
.acceleration_model
|
||||
.supports_glm_mtp()
|
||||
.then_some(Message::PreferenceGlmMtpChanged);
|
||||
let glm_mtp_timing_toggle: Option<fn(bool) -> Message> = self
|
||||
.preference_draft
|
||||
.acceleration_model
|
||||
.supports_glm_mtp()
|
||||
.then_some(Message::PreferenceGlmMtpTimingChanged);
|
||||
let dspark_strict_toggle: Option<fn(bool) -> Message> = self
|
||||
.preference_draft
|
||||
.acceleration_model
|
||||
@@ -71,14 +75,16 @@ impl App {
|
||||
"0.8 (DeepSeek V4 Flash default)",
|
||||
&self.preference_draft.dspark_confidence_threshold,
|
||||
);
|
||||
if self.preference_draft.model != ModelChoice::Glm52 {
|
||||
if !self.preference_draft.model.is_glm() {
|
||||
power = power.on_input(Message::PreferencePowerChanged);
|
||||
prefill = prefill.on_input(Message::PreferencePrefillChunkChanged);
|
||||
}
|
||||
if self.preference_draft.model != ModelChoice::Glm52 {
|
||||
steering_file = steering_file.on_input(Message::PreferenceSteeringFileChanged);
|
||||
steering_ffn = steering_ffn.on_input(Message::PreferenceSteeringFfnChanged);
|
||||
steering_attn = steering_attn.on_input(Message::PreferenceSteeringAttnChanged);
|
||||
}
|
||||
if self.preference_draft.acceleration_model == ModelChoice::Glm52 {
|
||||
if self.preference_draft.acceleration_model.is_glm() {
|
||||
ssd_full_layers = ssd_full_layers.on_input(Message::PreferenceSsdFullLayersChanged);
|
||||
}
|
||||
if self.preference_draft.acceleration_model.supports_dspark() {
|
||||
@@ -467,6 +473,12 @@ impl App {
|
||||
text_input("32768", &self.preference_draft.context_tokens)
|
||||
.on_input(Message::PreferenceContextChanged),
|
||||
),
|
||||
text(if self.preference_draft.generation_model == ModelChoice::Glm53Flash {
|
||||
"GLM 5.3 Flash: 32768 is the recommended default on this 128 GB machine; 50000 is the validated extended-session target."
|
||||
} else {
|
||||
""
|
||||
})
|
||||
.size(12),
|
||||
preference_input_row(
|
||||
"Maximum generated tokens",
|
||||
"Hard stop for a single reply, counted from the first generated token. It bounds runaway answers and reasoning loops; it does not reserve memory.",
|
||||
@@ -550,8 +562,8 @@ impl App {
|
||||
.on_toggle(Message::PreferenceWarmWeightsChanged),
|
||||
"Reads every mapped weight page once at load, so the first reply is not interrupted by page faults from disk. Loading takes longer and memory pressure rises immediately.",
|
||||
),
|
||||
text(if self.preference_draft.model == ModelChoice::Glm52 {
|
||||
"GLM 5.2 uses full GPU power and selects prefill chunks automatically."
|
||||
text(if self.preference_draft.model.is_glm() {
|
||||
"GLM uses full GPU power and selects prefill chunks automatically."
|
||||
} else {
|
||||
"Blank numeric values preserve DS4's automatic engine behavior."
|
||||
})
|
||||
@@ -595,7 +607,7 @@ impl App {
|
||||
toggle(self.preference_draft.glm_mtp)
|
||||
.label("Enable integrated GLM MTP")
|
||||
.on_toggle_maybe(glm_mtp_toggle),
|
||||
"Uses the prediction head built into GLM 5.2 for speculative decoding, so no separate draft model is loaded. Available for GLM 5.2 only.",
|
||||
"Uses the prediction head built into GLM for speculative decoding, so no separate draft model is loaded.",
|
||||
),
|
||||
hint(
|
||||
toggle(self.preference_draft.glm_mtp_timing)
|
||||
@@ -623,7 +635,7 @@ impl App {
|
||||
),
|
||||
text(if self.preference_draft.acceleration_model.supports_dspark() {
|
||||
"DeepSeek V4 Flash 0731 uses its managed DSpark support artifact."
|
||||
} else if self.preference_draft.acceleration_model == ModelChoice::Glm52 {
|
||||
} else if self.preference_draft.acceleration_model.supports_glm_mtp() {
|
||||
"GLM MTP is integrated; DSpark is unavailable for this model."
|
||||
} else {
|
||||
"No speculative-decoding support is available for this model."
|
||||
|
||||
Reference in New Issue
Block a user