Skip to content

Commit 260862b

Browse files
authored
arg: fix double mtp downloads (ggml-org#24128)
1 parent 42b2d60 commit 260862b

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

common/arg.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,12 @@ bool common_params_handle_models(common_params & params, llama_example curr_ex)
446446
opts.download_mtp = spec_type_draft_mtp;
447447
opts.download_mmproj = !params.no_mmproj;
448448

449+
// sub-models (draft, mmproj, vocoder) are explicitly specified by the user,
450+
// so we should not auto-discover mtp/mmproj siblings for them
451+
common_download_opts sub_opts = opts;
452+
sub_opts.download_mtp = false;
453+
sub_opts.download_mmproj = false;
454+
449455
try {
450456
auto res = common_params_handle_model(params.model, opts);
451457
if (params.no_mmproj) {
@@ -457,7 +463,7 @@ bool common_params_handle_models(common_params & params, llama_example curr_ex)
457463
// only download mmproj if the current example is using it
458464
for (const auto & ex : mmproj_examples) {
459465
if (curr_ex == ex) {
460-
common_params_handle_model(params.mmproj, opts);
466+
common_params_handle_model(params.mmproj, sub_opts);
461467
break;
462468
}
463469
}
@@ -470,8 +476,8 @@ bool common_params_handle_models(common_params & params, llama_example curr_ex)
470476
params.speculative.draft.mparams.url.empty()) {
471477
params.speculative.draft.mparams.path = res.mtp.path;
472478
}
473-
common_params_handle_model(params.speculative.draft.mparams, opts);
474-
common_params_handle_model(params.vocoder.model, opts);
479+
common_params_handle_model(params.speculative.draft.mparams, sub_opts);
480+
common_params_handle_model(params.vocoder.model, sub_opts);
475481
return true;
476482
} catch (const common_skip_download_exception &) {
477483
return false;

0 commit comments

Comments
 (0)