Downloads · 30 days
114
0% of all-time downloads
SakanaAI/DiscoPOP-zephyr-7b-gemma
DiscoPOP-zephyr-7b-gemma is a text generation model from SakanaAI. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as gemma.
This model is a fine-tuned version of HuggingFaceH4/zephyr-7b-gemma-sft-v0.1 on the argilla/dpo-mix-7k dataset.
Downloads · 30 days
114
0% of all-time downloads
All-time downloads
49.7K
Public
Parameters
8.5B
17.1 GB on disk
Likes
37
Public
Click a slice to open those files.
.safetensors17.1 GB · 100%
From the Hugging Face model README
This model is a fine-tuned version of HuggingFaceH4/zephyr-7b-gemma-sft-v0.1 on the argilla/dpo-mix-7k dataset.
This model is from the paper "Discovering Preference Optimization Algorithms with and for Large Language Models"
Read the blog post on it here!
See the codebase to generate it here: https://github.com/SakanaAI/DiscoPOP
This model is identical in training to HuggingFaceH4/zephyr-7b-gemma-v0.1, except instead of using Direct Preference Optimization (DPO), it uses DiscoPOP.
DiscoPOP is our Discovered Preference Optimization algorithm, which is defined as follows:
def log_ratio_modulated_loss(
self,
policy_chosen_logps: torch.FloatTensor,
policy_rejected_logps: torch.FloatTensor,
reference_chosen_logps: torch.FloatTensor,
reference_rejected_logps: torch.FloatTensor,
) -> torch.FloatTensor:
pi_logratios = policy_chosen_logps - policy_rejected_logps
ref_logratios = reference_chosen_logps - reference_rejected_logps
logits = pi_logratios - ref_logratios
# Modulate the mixing coefficient based on the log ratio magnitudes
log_ratio_modulation = torch.sigmoid(logits)
logistic_component = -F.logsigmoid(self.beta * logits)
exp_component = torch.exp(-self.beta * logits)
# Blend between logistic and exponential component based on log ratio modulation
losses = logistic_component * (1 - log_ratio_modulation) + exp_component * log_ratio_modulation
return losses
The following hyperparameters were used during training: