Skip to content

Commit 8f8c28e

Browse files
committed
convert : auto-determine model name based on dir + scripts update
1 parent 7694add commit 8f8c28e

File tree

6 files changed

+95
-135
lines changed

6 files changed

+95
-135
lines changed

convert.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ class Params:
106106

107107
ftype: Optional[GGMLFileType] = None
108108

109+
# path to the directory containing the model files
110+
path_model: Optional['Path'] = None
111+
109112
@staticmethod
110113
def find_n_mult(n_ff: int, n_embd: int) -> int:
111114
# hardcoded magic range
@@ -231,6 +234,8 @@ def load(model_plus: 'ModelPlus') -> 'Params':
231234
else:
232235
params = Params.guessed(model_plus.model)
233236

237+
params.path_model = model_plus.paths[0].parent
238+
234239
return params
235240

236241

@@ -733,11 +738,13 @@ def __init__(self, fname_out: Path) -> None:
733738
self.gguf = gguf.GGUFWriter(fname_out, gguf.MODEL_ARCH_NAMES[ARCH])
734739

735740
def add_meta_arch(self, params: Params) -> None:
736-
ver = None
741+
name = "LLaMA"
737742
if (params.n_ctx == 4096):
738-
ver = "v2"
743+
name = "LLaMA v2"
744+
if params.path_model:
745+
name = str(params.path_model.parent).split('/')[-1]
739746

740-
self.gguf.add_name ("LLaMA" if ver == None else "LLaMA " + ver)
747+
self.gguf.add_name (name)
741748
self.gguf.add_context_length (params.n_ctx)
742749
self.gguf.add_embedding_length (params.n_embd)
743750
self.gguf.add_block_count (params.n_layer)

scripts/perf-run-all.sh

Lines changed: 0 additions & 93 deletions
This file was deleted.

scripts/ppl-run-all.sh

Lines changed: 0 additions & 39 deletions
This file was deleted.

scripts/qnt-all.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/bin/bash
2+
3+
qnt=(q8_0 q6_k q5_k q5_1 q5_0 q4_k q4_1 q4_0 q3_k q2_k)
4+
args=""
5+
6+
if [ -z "$1" ]; then
7+
echo "usage: $0 <model> [qnt] [args]"
8+
echo "default: $0 <model> \"${qnt[@]}\" \"${args}\""
9+
exit 1
10+
fi
11+
12+
if [ ! -z "$2" ]; then
13+
qnt=($2)
14+
fi
15+
16+
if [ ! -z "$3" ]; then
17+
args="$3"
18+
fi
19+
20+
model="$1"
21+
out="../tmp/results-${model}"
22+
23+
mkdir -p ${out}
24+
25+
for q in ${qnt[@]}; do
26+
time ./bin/quantize ../models/${model}/ggml-model-f16.gguf ../models/${model}/ggml-model-${q}.gguf ${q} 2>&1 ${args} | tee ${out}/qnt-${q}.txt
27+
done

scripts/run-all-perf.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/bash
2+
3+
qnt=(f16 q8_0 q6_k q5_k q5_1 q5_0 q4_k q4_1 q4_0 q3_k q2_k)
4+
args="-ngl 999 -n 64 -p 512"
5+
6+
if [ -z "$1" ]; then
7+
echo "usage: $0 <model> [qnt] [args]"
8+
echo "default: $0 <model> \"${qnt[@]}\" \"${args}\""
9+
exit 1
10+
fi
11+
12+
if [ ! -z "$2" ]; then
13+
qnt=($2)
14+
fi
15+
16+
if [ ! -z "$3" ]; then
17+
args="$3"
18+
fi
19+
20+
model="$1"
21+
out="../tmp/results-${model}"
22+
23+
mkdir -p ${out}
24+
25+
mstr=""
26+
27+
for q in ${qnt[@]}; do
28+
mstr="${mstr} -m ../models/${model}/ggml-model-${q}.gguf"
29+
done
30+
31+
./bin/llama-bench ${mstr} ${args} 2> /dev/null

scripts/run-all-ppl.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/bin/bash
2+
3+
qnt=(f16 q8_0 q6_k q5_k q5_1 q5_0 q4_k q4_1 q4_0 q3_k q2_k)
4+
args="--no-mmap -ngl 999 -t 8"
5+
6+
if [ -z "$1" ]; then
7+
echo "usage: $0 <model> [qnt] [args]"
8+
echo "default: $0 <model> \"${qnt[@]}\" \"${args}\""
9+
exit 1
10+
fi
11+
12+
if [ ! -z "$2" ]; then
13+
qnt=($2)
14+
fi
15+
16+
if [ ! -z "$3" ]; then
17+
args="$3"
18+
fi
19+
20+
model="$1"
21+
out="../tmp/results-${model}"
22+
23+
mkdir -p ${out}
24+
25+
for q in ${qnt[@]}; do
26+
time ./bin/perplexity -m ../models/${model}/ggml-model-f16.gguf -f ./wiki.test.raw ${args} 2>&1 | tee ${out}/ppl-${q}.txt
27+
done

0 commit comments

Comments
 (0)