Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

document temperature and system prompt sensitivity #1626

Merged
merged 4 commits into from
Feb 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions contrib/fine-tuning/Modelfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
FROM ./cdx1-gguf-q8_0.gguf

PARAMETER num_ctx 16384
PARAMETER num_ctx 16000
PARAMETER temperature 0.05
PARAMETER top_k 10
PARAMETER top_p 0.5

SYSTEM """You are cdxgen, an expert in CycloneDX and xBOM."""
SYSTEM """You are a helpful assistant."""

LICENSE """
apache-2.0
Expand Down
49 changes: 32 additions & 17 deletions contrib/fine-tuning/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,50 +30,65 @@ bash fine-tune-mlx.sh
cp -rf prabhuat ~/.lmstudio/models/
lms ls
lms server status
lms load CycloneDX/cdx1-mlx --exact --gpu max --identifier cdx1-test --context-length 8192
lms load CycloneDX/cdx1-mlx-8bit --exact --gpu max --identifier cdx1-test --context-length 16000
```

System prompt:

```text
You are cdxgen, an expert in CycloneDX and xBOM.
You are a helpful assistant.
```

### gguf testing with ollama
### Testing with ollama

Use the generated `Modelfile` inside `CycloneDX/cdx1-gguf` to test cdx1 with ollama.
Create a Modelfile as shown:

```text
FROM hf.co/CycloneDX/cdx1-gguf-Q8_0-GGUF

PARAMETER num_ctx 16000
PARAMETER temperature 0.05

SYSTEM """You are a helpful assistant."""
```

```shell
cd CycloneDX/cdx1-gguf
ollama create cdx1-gguf -f ./Modelfile
ollama create cdx1 -f ./Modelfile
```

```text
ollama show cdx1-gguf
Model
ollama show cdx1
Model
architecture llama
parameters 14.7B
context length 16384
embedding length 5120
quantization F16
quantization Q8_0

Parameters
num_ctx 16384
num_ctx 16000
stop "<|im_start|>"
stop "<|im_sep|>"
stop "<|im_end|>"
stop "<|im_start|>"
stop "<|im_sep|>"
stop "<|im_end|>"
stop "<|im_start|>"
stop "<|im_sep|>"
stop "<|im_end|>"
stop "<|im_start|>user<|im_sep|>"
temperature 0.05
top_k 10
top_p 0.5

System
You are cdxgen, an expert in CycloneDX and xBOM.

License
apache-2.0
You are a helpful assistant.
```

```shell
ollama run cdx1-gguf "Tell me about cdxgen"
ollama run cdx1 "Tell me about cdxgen"
```

Use `hf.co/CycloneDX/cdx1-gguf-BF16-GGUF` for higher precision needs.

### Validating jsonlines files

```shell
Expand Down
11 changes: 10 additions & 1 deletion contrib/fine-tuning/convert-gguf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,25 @@ TOOL_BASE_MODEL=cdx1
LLAMA_CPP_PATH=/Volumes/Work/sandbox/llama.cpp
cd $LLAMA_CPP_PATH
CDXGEN_FT_PATH=/Volumes/Work/CycloneDX/cdxgen/contrib/fine-tuning

GGUF_MODEL_Q8_0_NAME=${HF_ORG}/${TOOL_BASE_MODEL}-gguf-Q8_0-GGUF
GGUF_MODEL_Q8_0_PATH=${CDXGEN_FT_PATH}/${HF_ORG}/${TOOL_BASE_MODEL}-gguf-Q8_0-GGUF
FUSED_MODEL=${CDXGEN_FT_PATH}/${HF_ORG}/${TOOL_BASE_MODEL}-${TUNING_TOOL}

rm -rf ${GGUF_MODEL_Q8_0_PATH}
mkdir -p ${GGUF_MODEL_Q8_0_PATH}
python convert_hf_to_gguf.py --outtype q8_0 --outfile ${CDXGEN_FT_PATH}/${HF_ORG}/${TOOL_BASE_MODEL}-gguf-Q8_0-GGUF/${TOOL_BASE_MODEL}-gguf-q8_0.gguf --model-name ${GGUF_MODEL_Q8_0_NAME} ${FUSED_MODEL}

cp ${CDXGEN_FT_PATH}/Modelfile ${GGUF_MODEL_Q8_0_PATH}/
# cp ${FUSED_MODEL}/*.json ${FUSED_MODEL}/merges.txt ${GGUF_MODEL_Q8_0_PATH}/

GGUF_MODEL_BF16_0_NAME=${HF_ORG}/${TOOL_BASE_MODEL}-gguf-BF16-GGUF
GGUF_MODEL_BF16_0_PATH=${CDXGEN_FT_PATH}/${HF_ORG}/${TOOL_BASE_MODEL}-gguf-BF16-GGUF
rm -rf ${GGUF_MODEL_BF16_0_PATH}
mkdir -p ${GGUF_MODEL_BF16_0_PATH}
python convert_hf_to_gguf.py --outtype bf16 --outfile ${CDXGEN_FT_PATH}/${HF_ORG}/${TOOL_BASE_MODEL}-gguf-BF16-GGUF/${TOOL_BASE_MODEL}-gguf-bf16.gguf --model-name ${GGUF_MODEL_BF16_0_NAME} ${FUSED_MODEL}
cp ${CDXGEN_FT_PATH}/Modelfile ${GGUF_MODEL_BF16_0_PATH}/
sed -i '' 's|./cdx1-gguf-q8_0.gguf|./cdx1-gguf-bf16.gguf|g' ${GGUF_MODEL_BF16_0_PATH}/Modelfile

### Testing with ollama
# cd ${GGUF_MODEL_Q8_0_PATH}
# ollama create cdx1-gguf -f Modelfile
Expand All @@ -33,3 +41,4 @@ cp ${CDXGEN_FT_PATH}/Modelfile ${GGUF_MODEL_Q8_0_PATH}/
export HF_HUB_ENABLE_HF_TRANSFER=0
huggingface-cli whoami
huggingface-cli upload --quiet --repo-type model ${GGUF_MODEL_Q8_0_NAME} ${GGUF_MODEL_Q8_0_PATH} .
huggingface-cli upload --quiet --repo-type model ${GGUF_MODEL_BF16_0_NAME} ${GGUF_MODEL_BF16_0_PATH} .
2 changes: 2 additions & 0 deletions contrib/xBOMEval/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Introduction

Loading
Loading