|
--- |
|
License: agpl-3.0 |
|
Language: |
|
- En |
|
Pipeline_tag: text-generation |
|
Base_model: google/gemma-2-9b |
|
Tags: |
|
- Chat |
|
license: agpl-3.0 |
|
datasets: |
|
- anthracite-org/c2_logs_16k_llama_v1.1 |
|
- NewEden/Claude-Instruct-5K |
|
- anthracite-org/kalo-opus-instruct-22k-no-refusal |
|
- Epiculous/SynthRP-Gens-v1.1-Filtered-n-Cleaned |
|
- lodrick-the-lafted/kalo-opus-instruct-3k-filtered |
|
- anthracite-org/nopm_claude_writing_fixed |
|
- Epiculous/Synthstruct-Gens-v1.1-Filtered-n-Cleaned |
|
- anthracite-org/kalo_opus_misc_240827 |
|
- anthracite-org/kalo_misc_part2 |
|
tags: |
|
- chat |
|
--- |
|
|
|
![](https://huggingface.co/Delta-Vector/Odin-9B/resolve/main/FinalOdin9B.jpg) |
|
|
|
# These are GGUF quantizations for Odin-9B, for the weights, go [here](https://huggingface.co/Delta-Vector/Odin-9B) |
|
A earlier checkpoint of an unreleased (for now) model, using the same configuration as [Tor-8B](https://huggingface.co/Delta-Vector/Tor-8B) / [Darkens-8B](https://huggingface.co/Delta-Vector/Darkens-8B) but on Gemma rather then Nemo-8B, A finetune made for creative writing and roleplay tasks, Finetuned ontop of the base Gemma2 9B model, I trained the model for 4 epochs, with the 4 epoch checkpoint becoming the a future model for some other people and the 2 epoch checkpoint becoming my own personal release. This model aims to have good prose and writing while not as `Suggestive` as Magnum models usually are, along with keeping some of the intelligence that was nice to have with the Gemma2 family. |
|
|
|
# Quants |
|
|
|
GGUF: https://huggingface.co/Delta-Vector/Odin-9B-GGUF |
|
|
|
EXL2: https://huggingface.co/Delta-Vector/Odin-9B-EXL2 |
|
|
|
|
|
## Prompting |
|
Model has been Instruct tuned with the ChatML formatting. A typical input would look like this: |
|
|
|
```py |
|
"""<|im_start|>system |
|
system prompt<|im_end|> |
|
<|im_start|>user |
|
Hi there!<|im_end|> |
|
<|im_start|>assistant |
|
Nice to meet you!<|im_end|> |
|
<|im_start|>user |
|
Can I ask a question?<|im_end|> |
|
<|im_start|>assistant |
|
""" |
|
``` |
|
## System Prompting |
|
|
|
I would highly recommend using Sao10k's Euryale System prompt, But the "Roleplay Simple" system prompt provided within SillyTavern will work aswell. |
|
|
|
``` |
|
Currently, your role is {{char}}, described in detail below. As {{char}}, continue the narrative exchange with {{user}}. |
|
|
|
<Guidelines> |
|
• Maintain the character persona but allow it to evolve with the story. |
|
• Be creative and proactive. Drive the story forward, introducing plotlines and events when relevant. |
|
• All types of outputs are encouraged; respond accordingly to the narrative. |
|
• Include dialogues, actions, and thoughts in each response. |
|
• Utilize all five senses to describe scenarios within {{char}}'s dialogue. |
|
• Use emotional symbols such as "!" and "~" in appropriate contexts. |
|
• Incorporate onomatopoeia when suitable. |
|
• Allow time for {{user}} to respond with their own input, respecting their agency. |
|
• Act as secondary characters and NPCs as needed, and remove them when appropriate. |
|
• When prompted for an Out of Character [OOC:] reply, answer neutrally and in plaintext, not as {{char}}. |
|
</Guidelines> |
|
|
|
<Forbidden> |
|
• Using excessive literary embellishments and purple prose unless dictated by {{char}}'s persona. |
|
• Writing for, speaking, thinking, acting, or replying as {{user}} in your response. |
|
• Repetitive and monotonous outputs. |
|
• Positivity bias in your replies. |
|
• Being overly extreme or NSFW when the narrative context is inappropriate. |
|
</Forbidden> |
|
|
|
Follow the instructions in <Guidelines></Guidelines>, avoiding the items listed in <Forbidden></Forbidden>. |
|
|
|
``` |
|
|
|
|
|
## Axolotl config |
|
|
|
<details><summary>See axolotl config</summary> |
|
|
|
Axolotl version: `0.4.1` |
|
```yaml |
|
base_model: /workspace/data/gemma-2-9b-chatml |
|
model_type: AutoModelForCausalLM |
|
tokenizer_type: AutoTokenizer |
|
|
|
plugins: |
|
- axolotl.integrations.liger.LigerPlugin |
|
liger_rope: false |
|
liger_rms_norm: false |
|
liger_swiglu: true |
|
liger_cross_entropy: true |
|
liger_fused_linear_cross_entropy: false |
|
|
|
load_in_8bit: false |
|
load_in_4bit: false |
|
strict: false |
|
|
|
datasets: |
|
- path: anthracite-org/c2_logs_16k_llama_v1.1 |
|
type: sharegpt |
|
conversation: chatml |
|
- path: NewEden/Claude-Instruct-5K |
|
type: sharegpt |
|
conversation: chatml |
|
- path: anthracite-org/kalo-opus-instruct-22k-no-refusal |
|
type: sharegpt |
|
conversation: chatml |
|
- path: Epiculous/SynthRP-Gens-v1.1-Filtered-n-Cleaned |
|
type: sharegpt |
|
conversation: chatml |
|
- path: lodrick-the-lafted/kalo-opus-instruct-3k-filtered |
|
type: sharegpt |
|
conversation: chatml |
|
- path: anthracite-org/nopm_claude_writing_fixed |
|
type: sharegpt |
|
conversation: chatml |
|
- path: Epiculous/Synthstruct-Gens-v1.1-Filtered-n-Cleaned |
|
type: sharegpt |
|
conversation: chatml |
|
- path: anthracite-org/kalo_opus_misc_240827 |
|
type: sharegpt |
|
conversation: chatml |
|
- path: anthracite-org/kalo_misc_part2 |
|
type: sharegpt |
|
conversation: chatml |
|
chat_template: chatml |
|
shuffle_merged_datasets: false |
|
default_system_message: "You are a helpful assistant that responds to the user." |
|
dataset_prepared_path: /workspace/data/9b-fft-data |
|
val_set_size: 0.0 |
|
output_dir: /workspace/data/9b-fft-out |
|
|
|
sequence_len: 8192 |
|
sample_packing: true |
|
eval_sample_packing: false |
|
pad_to_sequence_len: true |
|
|
|
adapter: |
|
lora_model_dir: |
|
lora_r: |
|
lora_alpha: |
|
lora_dropout: |
|
lora_target_linear: |
|
lora_fan_in_fan_out: |
|
|
|
wandb_project: 9b-Nemo-config-fft |
|
wandb_entity: |
|
wandb_watch: |
|
wandb_name: attempt-01 |
|
wandb_log_model: |
|
|
|
gradient_accumulation_steps: 4 |
|
micro_batch_size: 1 |
|
num_epochs: 4 |
|
optimizer: paged_adamw_8bit |
|
lr_scheduler: cosine |
|
learning_rate: 0.00001 |
|
|
|
train_on_inputs: false |
|
group_by_length: false |
|
bf16: auto |
|
fp16: |
|
tf32: false |
|
|
|
gradient_checkpointing: true |
|
early_stopping_patience: |
|
auto_resume_from_checkpoints: true |
|
local_rank: |
|
logging_steps: 1 |
|
xformers_attention: |
|
flash_attention: true |
|
|
|
warmup_steps: 10 |
|
evals_per_epoch: |
|
eval_table_size: |
|
eval_max_new_tokens: |
|
saves_per_epoch: 1 |
|
debug: |
|
deepspeed: deepspeed_configs/zero3_bf16.json |
|
weight_decay: 0.001 |
|
fsdp: |
|
fsdp_config: |
|
special_tokens: |
|
pad_token: <pad> |
|
|
|
``` |
|
|
|
</details><br> |
|
|
|
## Credits |
|
|
|
Thank you to [Lucy Knada](https://huggingface.co/lucyknada), [Kalomaze](https://huggingface.co/kalomaze), [Kubernetes Bad](https://huggingface.co/kubernetes-bad) and the rest of [Anthracite](https://huggingface.co/anthracite-org) (But not Alpin.) |
|
|
|
|
|
## Training |
|
The training was done for 4 epochs. We used 8 x [H100s](https://www.nvidia.com/en-us/data-center/h100/) GPUs graciously provided by [Lucy Knada](https://huggingface.co/lucyknada) for the full-parameter fine-tuning of the model. |
|
|
|
[<img src="https://raw.githubusercontent.com/OpenAccess-AI-Collective/axolotl/main/image/axolotl-badge-web.png" alt="Built with Axolotl" width="200" height="32"/>](https://github.com/OpenAccess-AI-Collective/axolotl) |
|
|
|
## Safety |
|
|
|
Nein. |
|
|