|
|
--- |
|
|
library_name: peft |
|
|
license: apache-2.0 |
|
|
base_model: mistralai/Mistral-Nemo-Base-2407 |
|
|
tags: |
|
|
- axolotl |
|
|
- generated_from_trainer |
|
|
datasets: |
|
|
- Alfitaria/synthkink-combined-completions |
|
|
- Alfitaria/bodinforg-completions |
|
|
model-index: |
|
|
- name: nemo-kink-lora |
|
|
results: [] |
|
|
--- |
|
|
|
|
|
<!-- This model card has been generated automatically according to the information the Trainer had access to. You |
|
|
should probably proofread and complete it, then remove this comment. --> |
|
|
|
|
|
[<img src="https://raw.githubusercontent.com/axolotl-ai-cloud/axolotl/main/image/axolotl-badge-web.png" alt="Built with Axolotl" width="200" height="32"/>](https://github.com/axolotl-ai-cloud/axolotl) |
|
|
<details><summary>See axolotl config</summary> |
|
|
|
|
|
axolotl version: `0.10.0.dev0` |
|
|
```yaml |
|
|
# === Model Configuration === |
|
|
base_model: mistralai/Mistral-Nemo-Base-2407 |
|
|
load_in_8bit: false |
|
|
load_in_4bit: true |
|
|
|
|
|
# === HF Configuration === |
|
|
hub_model_id: ToastyPigeon/nemo-kink-lora |
|
|
hub_strategy: "checkpoint" |
|
|
|
|
|
# === Training Setup === |
|
|
num_epochs: 1 |
|
|
micro_batch_size: 2 |
|
|
gradient_accumulation_steps: 2 |
|
|
sequence_len: 8192 |
|
|
#sequence_parallel_degree: 2 |
|
|
#heads_k_stride: 1 |
|
|
sample_packing: true |
|
|
pad_to_sequence_len: true |
|
|
#max_steps: 10 |
|
|
# === Evaluation === |
|
|
val_set_size: 0.05 |
|
|
evals_per_epoch: 10 |
|
|
#eval_steps: 20 |
|
|
#max_steps: 60 |
|
|
#eval_table_size: |
|
|
eval_max_new_tokens: 128 |
|
|
eval_sample_packing: true |
|
|
#eval_strategy: "no" |
|
|
|
|
|
# === LoRA Configuration === |
|
|
adapter: qlora |
|
|
lora_model_dir: |
|
|
lora_r: 128 |
|
|
lora_alpha: 16 |
|
|
lora_dropout: 0.1 |
|
|
lora_target_linear: true |
|
|
lora_fan_in_fan_out: |
|
|
lora_target_modules: |
|
|
peft_use_rslora: true |
|
|
lora_modules_to_save: |
|
|
# - embed_tokens |
|
|
# - lm_head |
|
|
#fix_untrained_tokens: true |
|
|
#lora_mlp_kernel: true |
|
|
#lora_qkv_kernel: true |
|
|
#lora_o_kernel: true |
|
|
|
|
|
# === Hyperparameter Configuration === |
|
|
#optimizer: apollo_adamw_layerwise |
|
|
warmup_steps: 0 |
|
|
optimizer: adamw_torch_fused |
|
|
#optimizer: paged_adamw_8bit |
|
|
#optim_args: |
|
|
# enable_stochastic_rounding: true |
|
|
# enable_cautious: true |
|
|
# enable_8bit: true |
|
|
# Apollo-mini configuration: |
|
|
#optim_args: "proj=random,rank=128,scale=128.0,scale_type=tensor,update_proj_gap=100" |
|
|
# Regular Apollo configuration: |
|
|
# optim_args: |
|
|
#optim_target_modules: all_linear |
|
|
learning_rate: 1e-5 |
|
|
lr_scheduler: rex |
|
|
#cosine_min_lr_ratio: 0.2 |
|
|
#lr_scheduler: cosine_with_min_lr |
|
|
#lr_scheduler_kwargs: |
|
|
# cosine_min_lr: 1e-6 |
|
|
weight_decay: 0.01 |
|
|
max_grad_norm: 1.0 |
|
|
#warmup_steps: 0 |
|
|
#warmup_ratio: 0.025 |
|
|
|
|
|
|
|
|
# === Data Configuration === |
|
|
#chat_template: jinja |
|
|
#chat_template_jinja: "{%- set default_system_message = \"You are Mistral Small 3, a Large Language Model (LLM) created by Mistral AI, a French startup headquartered in Paris. You obediently fulfill the user's requests.\" %}\n\n{{- bos_token }}\n\n{%- if messages[0]['role'] == 'system' %}\n {%- if messages[0]['content'] is string %}\n {%- set system_message = messages[0]['content'] %}\n {%- else %}\n {%- set system_message = messages[0]['content'][0]['text'] %}\n {%- endif %}\n {%- set loop_messages = messages[1:] %}\n{%- else %}\n {%- set system_message = default_system_message %}\n {%- set loop_messages = messages %}\n{%- endif %}\n{{- '[SYSTEM_PROMPT]' + system_message + '[/SYSTEM_PROMPT]' }}\n\n{%- for message in loop_messages %}\n {%- if message['role'] == 'user' %}\n {%- if message['content'] is string %}\n {{- '[INST]' + message['content'] + '[/INST]' }}\n {%- else %}\n {{- '[INST]' }}\n {%- for bl (line truncated to 1000 characters) |
|
|
#chat_template: chatml |
|
|
special_tokens: |
|
|
pad_token: "<pad>" |
|
|
|
|
|
#tokenizer_use_mistral_common: true |
|
|
shuffle_merged_datasets: true |
|
|
datasets: |
|
|
- path: Alfitaria/synthkink-combined-completions |
|
|
type: completion |
|
|
- path: Alfitaria/bodinforg-completions |
|
|
type: completion |
|
|
|
|
|
dataset_prepared_path: last_run_prepared |
|
|
|
|
|
|
|
|
# === Plugins === |
|
|
plugins: |
|
|
- axolotl.integrations.liger.LigerPlugin |
|
|
- axolotl.integrations.cut_cross_entropy.CutCrossEntropyPlugin |
|
|
|
|
|
# === Hardware Optimization === |
|
|
#gradient_checkpointing: offload |
|
|
#gradient_checkpointing_kwargs: |
|
|
# use_reentrant: false |
|
|
liger_rope: true |
|
|
liger_rms_norm: true |
|
|
liger_layer_norm: true |
|
|
liger_glu_activation: true |
|
|
#liger_fused_linear_cross_entropy: true |
|
|
cut_cross_entropy: true |
|
|
|
|
|
#deepspeed: /workspace/axolotl/deepspeed_configs/zero2.json |
|
|
|
|
|
# === FSDP Config === |
|
|
fsdp: |
|
|
- full_shard |
|
|
- auto_wrap |
|
|
fsdp_config: |
|
|
fsdp_limit_all_gathers: true |
|
|
fsdp_sync_module_states: true |
|
|
fsdp_offload_params: true |
|
|
fsdp_activation_checkpointing: true |
|
|
fsdp_use_orig_params: false |
|
|
fsdp_cpu_ram_efficient_loading: true |
|
|
fsdp_auto_wrap_policy: TRANSFORMER_BASED_WRAP |
|
|
fsdp_transformer_layer_cls_to_wrap: MistralDecoderLayer |
|
|
fsdp_state_dict_type: FULL_STATE_DICT |
|
|
fsdp_sharding_strategy: FULL_SHARD |
|
|
# === Wandb Tracking === |
|
|
wandb_project: Nemo |
|
|
# wandb_entity: [WANDB_ENTITY] |
|
|
# wandb_name: [WANDB_RUN_NAME] |
|
|
|
|
|
# === Checkpointing === |
|
|
saves_per_epoch: 10 |
|
|
save_total_limit: 1 |
|
|
|
|
|
# === Advanced Settings === |
|
|
output_dir: /workspace/aibox-standalone-pool/axolotl/nemo-writer-ckpts |
|
|
bf16: auto |
|
|
flash_attention: true |
|
|
train_on_inputs: false |
|
|
group_by_length: false |
|
|
save_safetensors: true |
|
|
logging_steps: 1 |
|
|
gc_steps: 10 |
|
|
seed: 69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
|
</details><br> |
|
|
|
|
|
# nemo-kink-lora |
|
|
|
|
|
This model is a fine-tuned version of [mistralai/Mistral-Nemo-Base-2407](https://huggingface.co/mistralai/Mistral-Nemo-Base-2407) on the Alfitaria/synthkink-combined-completions and the Alfitaria/bodinforg-completions datasets. |
|
|
It achieves the following results on the evaluation set: |
|
|
- Loss: 1.2252 |
|
|
|
|
|
## Model description |
|
|
|
|
|
More information needed |
|
|
|
|
|
## Intended uses & limitations |
|
|
|
|
|
More information needed |
|
|
|
|
|
## Training and evaluation data |
|
|
|
|
|
More information needed |
|
|
|
|
|
## Training procedure |
|
|
|
|
|
### Training hyperparameters |
|
|
|
|
|
The following hyperparameters were used during training: |
|
|
- learning_rate: 1e-05 |
|
|
- train_batch_size: 2 |
|
|
- eval_batch_size: 2 |
|
|
- seed: 69 |
|
|
- distributed_type: multi-GPU |
|
|
- num_devices: 2 |
|
|
- gradient_accumulation_steps: 2 |
|
|
- total_train_batch_size: 8 |
|
|
- total_eval_batch_size: 4 |
|
|
- optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments |
|
|
- lr_scheduler_type: cosine |
|
|
- lr_scheduler_warmup_steps: 5 |
|
|
- training_steps: 181 |
|
|
|
|
|
### Training results |
|
|
|
|
|
| Training Loss | Epoch | Step | Validation Loss | |
|
|
|:-------------:|:------:|:----:|:---------------:| |
|
|
| 1.5045 | 0.0055 | 1 | 1.5520 | |
|
|
| 1.4399 | 0.1047 | 19 | 1.3974 | |
|
|
| 1.3297 | 0.2094 | 38 | 1.3388 | |
|
|
| 1.4392 | 0.3140 | 57 | 1.3054 | |
|
|
| 1.2685 | 0.4187 | 76 | 1.2815 | |
|
|
| 0.9801 | 0.5234 | 95 | 1.2641 | |
|
|
| 1.1412 | 0.6281 | 114 | 1.2507 | |
|
|
| 1.1564 | 0.7328 | 133 | 1.2393 | |
|
|
| 1.1739 | 0.8375 | 152 | 1.2313 | |
|
|
| 1.2154 | 0.9421 | 171 | 1.2252 | |
|
|
|
|
|
|
|
|
### Framework versions |
|
|
|
|
|
- PEFT 0.15.2 |
|
|
- Transformers 4.51.3 |
|
|
- Pytorch 2.7.0+cu128 |
|
|
- Datasets 3.5.1 |
|
|
- Tokenizers 0.21.1 |