Model Stock: All we need is just a few fine-tuned models
Paper β’ 2403.19522 β’ Published β’ 15
How to use mlabonne/Zebrafish-7B with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="mlabonne/Zebrafish-7B") # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("mlabonne/Zebrafish-7B")
model = AutoModelForCausalLM.from_pretrained("mlabonne/Zebrafish-7B")How to use mlabonne/Zebrafish-7B with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "mlabonne/Zebrafish-7B"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "mlabonne/Zebrafish-7B",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'docker model run hf.co/mlabonne/Zebrafish-7B
How to use mlabonne/Zebrafish-7B with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "mlabonne/Zebrafish-7B" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "mlabonne/Zebrafish-7B",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'docker run --gpus all \
--shm-size 32g \
-p 30000:30000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HF_TOKEN=<secret>" \
--ipc=host \
lmsysorg/sglang:latest \
python3 -m sglang.launch_server \
--model-path "mlabonne/Zebrafish-7B" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "mlabonne/Zebrafish-7B",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'How to use mlabonne/Zebrafish-7B with Docker Model Runner:
docker model run hf.co/mlabonne/Zebrafish-7B
Zebrafish-7B is my first model using the new merge method called Model Stock.
Zebrafish-7B is a merge of the following models using LazyMergekit:
Special thanks to Charles Goddard for the quick implementation!
| Model | Average | AGIEval | GPT4All | TruthfulQA | Bigbench |
|---|---|---|---|---|---|
| mlabonne/AlphaMonarch-7B π | 62.74 | 45.37 | 77.01 | 78.39 | 50.2 |
| mlabonne/Zebrafish-7B π | 62.41 | 44.92 | 77.18 | 78.25 | 49.28 |
| mlabonne/Beyonder-4x7B-v3 π | 61.91 | 45.85 | 76.67 | 74.98 | 50.12 |
| mlabonne/NeuralBeagle14-7B π | 60.25 | 46.06 | 76.77 | 70.32 | 47.86 |
| mistralai/Mistral-7B-Instruct-v0.2 π | 54.81 | 38.5 | 71.64 | 66.82 | 42.29 |
models:
- model: mistralai/Mistral-7B-v0.1
- model: liminerity/M7-7b
- model: rwitz/experiment26-truthy-iter-0
merge_method: model_stock
base_model: mistralai/Mistral-7B-v0.1
dtype: bfloat16
!pip install -qU transformers accelerate
from transformers import AutoTokenizer
import transformers
import torch
model = "mlabonne/Zebrafish-7B"
messages = [{"role": "user", "content": "What is a large language model?"}]
tokenizer = AutoTokenizer.from_pretrained(model)
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
pipeline = transformers.pipeline(
"text-generation",
model=model,
torch_dtype=torch.float16,
device_map="auto",
)
outputs = pipeline(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
print(outputs[0]["generated_text"])