Instructions to use jpacifico/Chocolatine-14B-Instruct-4k-DPO with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use jpacifico/Chocolatine-14B-Instruct-4k-DPO with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="jpacifico/Chocolatine-14B-Instruct-4k-DPO", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("jpacifico/Chocolatine-14B-Instruct-4k-DPO", trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained("jpacifico/Chocolatine-14B-Instruct-4k-DPO", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use jpacifico/Chocolatine-14B-Instruct-4k-DPO with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "jpacifico/Chocolatine-14B-Instruct-4k-DPO" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jpacifico/Chocolatine-14B-Instruct-4k-DPO", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/jpacifico/Chocolatine-14B-Instruct-4k-DPO
- SGLang
How to use jpacifico/Chocolatine-14B-Instruct-4k-DPO with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "jpacifico/Chocolatine-14B-Instruct-4k-DPO" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jpacifico/Chocolatine-14B-Instruct-4k-DPO", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
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 "jpacifico/Chocolatine-14B-Instruct-4k-DPO" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jpacifico/Chocolatine-14B-Instruct-4k-DPO", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use jpacifico/Chocolatine-14B-Instruct-4k-DPO with Docker Model Runner:
docker model run hf.co/jpacifico/Chocolatine-14B-Instruct-4k-DPO
Chocolatine-14B-Instruct-4k-DPO
DPO fine-tuned of microsoft/Phi-3-medium-4k-instruct (14B params)
using the jpacifico/french-orca-dpo-pairs-revised rlhf dataset.
Training in French also improves the model in English, surpassing the performances of its base model (MMLU).
Window context = 4k tokens
Benchmarks
Chocolatine-14B is the best-performing < 30B model in terms of MMLU-PRO on the OpenLLM Leaderboard (august 2024)
| Metric | Value |
|---|---|
| Avg. | 29.83 |
| IFEval (0-Shot) | 46.89 |
| BBH (3-Shot) | 48.02 |
| MATH Lvl 5 (4-Shot) | 14.88 |
| GPQA (0-shot) | 12.19 |
| MuSR (0-shot) | 15.15 |
| MMLU-PRO (5-shot) | 41.82 |
MT-Bench-French
Chocolatine-14B-Instruct-4k-DPO is outperforming GPT-3.5-Turbo and Phi-3-medium-4k-instruct on
MT-Bench-French, used with multilingual-mt-bench
########## First turn ##########
score
model turn
Chocolatine-14B-Instruct-4k-DPO 1 8.6375
Phi-3-medium-4k-instruct 1 8.2250
gpt-3.5-turbo 1 8.1375
Chocolatine-3B-Instruct-DPO-Revised 1 7.9875
Daredevil-8B 1 7.8875
Chocolatine-3B-Instruct-DPO-v1.0 1 7.6875
NeuralDaredevil-8B-abliterated 1 7.6250
Phi-3-mini-4k-instruct 1 7.2125
Meta-Llama-3-8B-Instruct 1 7.1625
vigostral-7b-chat 1 6.7875
Mistral-7B-Instruct-v0.3 1 6.7500
Mistral-7B-Instruct-v0.2 1 6.2875
########## Second turn ##########
score
model turn
Chocolatine-3B-Instruct-DPO-Revised 2 7.937500
Phi-3-medium-4k-instruct 2 7.750000
Chocolatine-14B-Instruct-4k-DPO 2 7.737500
gpt-3.5-turbo 2 7.679167
Chocolatine-3B-Instruct-DPO-v1.0 2 7.612500
NeuralDaredevil-8B-abliterated 2 7.125000
Daredevil-8B 2 7.087500
Meta-Llama-3-8B-Instruct 2 6.800000
Mistral-7B-Instruct-v0.2 2 6.512500
Mistral-7B-Instruct-v0.3 2 6.500000
Phi-3-mini-4k-instruct 2 6.487500
vigostral-7b-chat 2 6.162500
########## Average ##########
score
model
Chocolatine-14B-Instruct-4k-DPO 8.187500
Phi-3-medium-4k-instruct 7.987500
Chocolatine-3B-Instruct-DPO-Revised 7.962500
gpt-3.5-turbo 7.908333
Chocolatine-3B-Instruct-DPO-v1.0 7.650000
Daredevil-8B 7.487500
NeuralDaredevil-8B-abliterated 7.375000
Meta-Llama-3-8B-Instruct 6.981250
Phi-3-mini-4k-instruct 6.850000
Mistral-7B-Instruct-v0.3 6.625000
vigostral-7b-chat 6.475000
Mistral-7B-Instruct-v0.2 6.400000
Usage
You can run this model using my Colab notebook
You can also run Chocolatine using the following code:
import transformers
from transformers import AutoTokenizer
# Format prompt
message = [
{"role": "system", "content": "You are a helpful assistant chatbot."},
{"role": "user", "content": "What is a Large Language Model?"}
]
tokenizer = AutoTokenizer.from_pretrained(new_model)
prompt = tokenizer.apply_chat_template(message, add_generation_prompt=True, tokenize=False)
# Create pipeline
pipeline = transformers.pipeline(
"text-generation",
model=new_model,
tokenizer=tokenizer
)
# Generate text
sequences = pipeline(
prompt,
do_sample=True,
temperature=0.7,
top_p=0.9,
num_return_sequences=1,
max_length=200,
)
print(sequences[0]['generated_text'])
Limitations
The Chocolatine model is a quick demonstration that a base model can be easily fine-tuned to achieve compelling performance.
It does not have any moderation mechanism.
- Developed by: Jonathan Pacifico, 2024
- Model type: LLM
- Language(s) (NLP): French, English
- License: MIT
- Downloads last month
- 22
