abetlen / abetlen/llama-cpp-python

top_p = 1 causes deterministic outputs

Open
#1,797 2 comments 2 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
10.6k
Forks
1.4k
PR merge metrics
PR metrics pending

Description

Setting `top_p = 1` causes outputs to be identical even with a random seed. This was discovered by https://github.com/oobabooga/text-generation-webui/issues/6431#issuecomment-2409089861. See the full issue at https://github.com/oobabooga/text-generation-webui/issues/6431.

### Reproduction

```python
from llama_cpp import Llama

# Load the model
model = Llama(
model_path="models/Meta-Llama-3-8B-Instruct-Q4_K_S-HF/Meta-Llama-3-8B-Instruct-Q4_K_S.gguf",
n_gpu_layers=128,
)

# Define the prompt
prompt = "Once upon a time"

for i in range(5):
# Generate text with temperature = 1
completion = model.create_completion(prompt=prompt, max_tokens=50, temperature=1.0, top_p=1.0, seed=-1)

# Print the generated text
print(completion['choices'][0]['text'])

```

The 5 outputs will be identical.

Verified with **`llama-cpp-python==0.3.1`**.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.