Skip to content

Commit 67a7336

Browse files
authored
Merge branch 'ggml-org:master' into power-law-sampler
2 parents 1879fc6 + c00ff92 commit 67a7336

File tree

23 files changed

+762
-40
lines changed

23 files changed

+762
-40
lines changed

common/arg.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ static bool common_params_parse_ex(int argc, char ** argv, common_params_context
504504

505505
// model is required (except for server)
506506
// TODO @ngxson : maybe show a list of available models in CLI in this case
507-
if (params.model.path.empty() && ctx_arg.ex != LLAMA_EXAMPLE_SERVER && !params.usage) {
507+
if (params.model.path.empty() && ctx_arg.ex != LLAMA_EXAMPLE_SERVER && !params.usage && !params.completion) {
508508
throw std::invalid_argument("error: --model is required\n");
509509
}
510510

@@ -639,6 +639,7 @@ static void common_params_print_completion(common_params_context & ctx_arg) {
639639
"llama-batched-bench",
640640
"llama-bench",
641641
"llama-cli",
642+
"llama-completion",
642643
"llama-convert-llama2c-to-ggml",
643644
"llama-cvector-generator",
644645
"llama-embedding",
@@ -723,7 +724,7 @@ static void add_rpc_devices(const std::string & servers) {
723724
}
724725
}
725726

726-
bool common_params_parse(int argc, char ** argv, llama_example ex, std::map<common_arg, std::string> & out_map) {
727+
bool common_params_to_map(int argc, char ** argv, llama_example ex, std::map<common_arg, std::string> & out_map) {
727728
common_params dummy_params;
728729
common_params_context ctx_arg = common_params_parser_init(dummy_params, ex, nullptr);
729730

@@ -732,6 +733,9 @@ bool common_params_parse(int argc, char ** argv, llama_example ex, std::map<comm
732733
for (const auto & arg : opt.args) {
733734
arg_to_options[arg] = &opt;
734735
}
736+
for (const auto & arg : opt.args_neg) {
737+
arg_to_options[arg] = &opt;
738+
}
735739
}
736740

737741
// TODO @ngxson : find a way to deduplicate this code

common/arg.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ bool common_params_parse(int argc, char ** argv, common_params & params, llama_e
115115

116116
// parse input arguments from CLI into a map
117117
// TODO: support repeated args in the future
118-
bool common_params_parse(int argc, char ** argv, llama_example ex, std::map<common_arg, std::string> & out_map);
118+
bool common_params_to_map(int argc, char ** argv, llama_example ex, std::map<common_arg, std::string> & out_map);
119119

120120
// initialize argument parser context - used by test-arg-parser and preset
121121
common_params_context common_params_parser_init(common_params & params, llama_example ex, void(*print_usage)(int, char **) = nullptr);

examples/model-conversion/scripts/causal/compare-logits.py

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
#!/usr/bin/env python3
22

3-
import numpy as np
43
import sys
5-
import os
4+
import numpy as np
65
from pathlib import Path
76

7+
# Add utils directory to path for direct script execution
8+
sys.path.insert(0, str(Path(__file__).parent.parent / "utils"))
9+
from common import get_model_name_from_env_path # type: ignore[import-not-found]
10+
811
def quick_logits_check(pytorch_file, llamacpp_file):
912
"""Lightweight sanity check before NMSE"""
1013

@@ -35,20 +38,13 @@ def quick_logits_check(pytorch_file, llamacpp_file):
3538
return True
3639

3740
def main():
38-
model_path = os.getenv('MODEL_PATH')
39-
if not model_path:
40-
print("Error: MODEL_PATH environment variable not set")
41-
sys.exit(1)
42-
43-
if not os.path.exists(model_path):
44-
print(f"Error: Model file not found: {model_path}")
45-
sys.exit(1)
46-
47-
model_name = os.path.basename(model_path)
41+
model_name = get_model_name_from_env_path('MODEL_PATH')
4842
data_dir = Path("data")
49-
5043
pytorch_file = data_dir / f"pytorch-{model_name}.bin"
51-
llamacpp_file = data_dir / f"llamacpp-{model_name}.bin"
44+
45+
llamacpp_model_name = get_model_name_from_env_path('CONVERTED_MODEL')
46+
print(f"Using converted model: {llamacpp_model_name}")
47+
llamacpp_file = data_dir / f"llamacpp-{llamacpp_model_name}.bin"
5248

5349
if not pytorch_file.exists():
5450
print(f"Error: PyTorch logits file not found: {pytorch_file}")

examples/model-conversion/scripts/utils/__init__.py

Whitespace-only changes.

examples/model-conversion/scripts/utils/check-nmse.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import os
66
import argparse
77
from pathlib import Path
8+
from common import get_model_name_from_env_path # type: ignore[import-not-found]
89

910
def calculate_nmse(reference, test):
1011
mse = np.mean((test - reference) ** 2)
@@ -67,11 +68,13 @@ def main():
6768
parser.add_argument('-m', '--model-path', required=True, help='Path to the model directory')
6869
args = parser.parse_args()
6970

70-
model_name = os.path.basename(args.model_path)
71+
model_name = get_model_name_from_env_path('MODEL_PATH')
7172
data_dir = Path("data")
7273

7374
pytorch_file = data_dir / f"pytorch-{model_name}.bin"
74-
llamacpp_file = data_dir / f"llamacpp-{model_name}.bin"
75+
76+
llamacpp_model_name = get_model_name_from_env_path('CONVERTED_MODEL')
77+
llamacpp_file = data_dir / f"llamacpp-{llamacpp_model_name}.bin"
7578

7679
print(f"Model name: {model_name}")
7780
print(f"PyTorch logits file: {pytorch_file}")
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env python3
2+
3+
import os
4+
import sys
5+
6+
def get_model_name_from_env_path(env_path_name):
7+
model_path = os.getenv(env_path_name)
8+
if not model_path:
9+
print(f"Error: {env_path_name} environment variable not set")
10+
sys.exit(1)
11+
12+
if not os.path.exists(model_path):
13+
print(f"Error: Model file not found: {model_path}")
14+
sys.exit(1)
15+
16+
name = os.path.basename(os.path.normpath(model_path))
17+
if name.endswith(".gguf"):
18+
name = name[:-5]
19+
20+
return name

examples/speculative-simple/speculative-simple.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,8 @@ int main(int argc, char ** argv) {
255255
LOG_INF("target:\n\n");
256256
common_perf_print(ctx_tgt, smpl);
257257

258+
llama_batch_free(batch_tgt);
259+
258260
common_sampler_free(smpl);
259261
common_speculative_free(spec);
260262

0 commit comments

Comments
 (0)