Skip to content

Commit 98dc141

Browse files
authored
spec : fix vocab compat checks (ggml-org#22358)
1 parent 9725a31 commit 98dc141

1 file changed

Lines changed: 17 additions & 9 deletions

File tree

common/speculative.cpp

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,26 @@ static bool common_speculative_are_compatible(
6161
LOG_DBG("%s: vocab_type dft: %d\n", __func__, vocab_type_dft);
6262

6363
if (vocab_type_tgt != vocab_type_dft) {
64-
LOG_DBG("%s: draft model vocab type must match target model to use speculation but ", __func__);
65-
LOG_DBG("vocab_type_dft = %d while vocab_type_tgt = %d\n", vocab_type_dft, vocab_type_tgt);
64+
LOG_WRN("%s: draft model vocab type must match target model to use speculation but "
65+
"vocab_type_dft = %d while vocab_type_tgt = %d\n", __func__, vocab_type_dft, vocab_type_tgt);
6666
return false;
6767
}
6868

69-
if (
70-
llama_vocab_get_add_bos(vocab_tgt) != llama_vocab_get_add_bos(vocab_dft) ||
71-
llama_vocab_get_add_eos(vocab_tgt) != llama_vocab_get_add_eos(vocab_dft) ||
72-
llama_vocab_bos(vocab_tgt) != llama_vocab_bos(vocab_dft) ||
73-
llama_vocab_eos(vocab_tgt) != llama_vocab_eos(vocab_dft)
74-
) {
75-
LOG_DBG("%s: draft model special tokens must match target model to use speculation\n", __func__);
69+
if (llama_vocab_get_add_bos(vocab_tgt) != llama_vocab_get_add_bos(vocab_dft) ||
70+
(llama_vocab_get_add_bos(vocab_tgt) && llama_vocab_bos(vocab_tgt) != llama_vocab_bos(vocab_dft))) {
71+
LOG_WRN("%s: draft model bos tokens must match target model to use speculation. add: %d - %d, id: %d - %d)\n",
72+
__func__,
73+
llama_vocab_get_add_bos(vocab_tgt), llama_vocab_get_add_bos(vocab_dft),
74+
llama_vocab_bos(vocab_tgt), llama_vocab_bos(vocab_dft));
75+
return false;
76+
}
77+
78+
if (llama_vocab_get_add_eos(vocab_tgt) != llama_vocab_get_add_eos(vocab_dft) ||
79+
(llama_vocab_get_add_eos(vocab_tgt) && llama_vocab_eos(vocab_tgt) != llama_vocab_eos(vocab_dft))) {
80+
LOG_WRN("%s: draft model eos tokens must match target model to use speculation. add: %d - %d, id: %d - %d)\n",
81+
__func__,
82+
llama_vocab_get_add_eos(vocab_tgt), llama_vocab_get_add_eos(vocab_dft),
83+
llama_vocab_eos(vocab_tgt), llama_vocab_eos(vocab_dft));
7684
return false;
7785
}
7886

0 commit comments

Comments
 (0)