LeroyDyer's picture
Update README.md
7b9cb3b verified
|
raw
history blame
No virus
4.41 kB
metadata
language:
  - en
license: mit
library_name: transformers
tags:
  - mergekit
  - merge
  - unsloth
base_model:
  - LeroyDyer/Mixtral_AI_CyberBrain_2.0
  - ezelikman/quietstar-8-ahead

This project is implemented by simply patching the base Mistral implementation in Huggingface transformers using a new modeling_mistral.py and a new configuration_mistral.py and otherwise applying standard transformers features (e.g. the default Trainer).

IE: First Clone the latest transformers enter the models\mistral folder and upload the modelling_mistral.py then cd transformers and install frot he folder pip install ./transformers

after it can be loaded normally for training;


from unsloth import FastLanguageModel
import torch
max_seq_length = 2048 # Choose any! We auto support RoPE Scaling internally!
dtype = None # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+
load_in_4bit = True # Use 4bit quantization to reduce memory usage. Can be False.

# 4bit pre quantized models we support for 4x faster downloading + no OOMs.
fourbit_models = [
    "unsloth/mistral-7b-bnb-4bit",
    "unsloth/mistral-7b-instruct-v0.2-bnb-4bit",
    "unsloth/llama-2-7b-bnb-4bit",
    "unsloth/llama-2-13b-bnb-4bit",
    "unsloth/codellama-34b-bnb-4bit",
    "unsloth/tinyllama-bnb-4bit",
    "unsloth/gemma-7b-bnb-4bit", # New Google 6 trillion tokens model 2.5x faster!
    "unsloth/gemma-2b-bnb-4bit",
] # More models at https://huggingface.co/unsloth

model = FastLanguageModel.from_pretrained(
    model_name = "LeroyDyer/Mixtral_AI_CyberBrain_3.0", # Choose ANY! eg teknium/OpenHermes-2.5-Mistral-7B
    max_seq_length = 2048,
    dtype = dtype,
    load_in_4bit = load_in_4bit,
#    trust_remote_code = True,
    ignore_mismatched_sizes = True,
    merged_talk_heads=True,
    merged_lm_and_talk_heads=False,
    merged_lm_and_think_heads=True,
    use_concat_talk_head=True,
    use_shallow_think=True,
    use_shallow_talk=False,
    use_complex_think_head=False,
    use_complex_talk_head=True,
    use_weighted_talk_head=True,

    # token = "hf_...", # use one if using gated models like meta-llama/Llama-2-7b-hf
)

tokenizer = AutoTokenizer.from_pretrained(tokenizer_id,truncation=True,padding_side="right")
tokenizer.pad_token_id = tokenizer.eos_token_id



model.tokenizer = tokenizer

model.train

right now the modelling_mistral.py s still havng problems loading remotely hence the hacky way... but after its fixed it will be fine.

merge

This is a merge of pre-trained language models created using mergekit. yes multiple verions of this model was merged in attempts to grab the neccasary tensors ... but some how it did not build as some parameters was not loading. ie it would not load the config file! hopefully this will be rectified soon. so remote loading will be fine ... enabling for enhanced training. the model was trained to perfection so it still works fine! the lora was made so tat later it can be loaded with the model for further training of the effected tensors...

Merge Details

Merge Method

This model was merged using the SLERP merge method.

Models Merged

The following models were included in the merge:

Configuration

The following YAML configuration was used to produce this model:


slices:
  - sources:
      - model: LeroyDyer/Mixtral_AI_CyberBrain_2.0
        layer_range: [0, 32]
      - model: ezelikman/quietstar-8-ahead
        layer_range: [0, 32]
# or, the equivalent models: syntax:
# models:
#   - model: mistralai/Mistral-7B-Instruct-v0.2
# LaRGER MODEL MUST BE BASE  or
#  BASE MODEL MUST BE THE TOKENIZER YOU WISH TO ADOPT 
# so for models with customized processes they must be the base model
# If the base model has remote code then this must be collected and added 
# to the repo after and the config file adusted to allow for automapping to your new repo
#   - model: yanismiraoui/Yarn-Mistral-7b-128k-sharded
merge_method: slerp
base_model: ezelikman/quietstar-8-ahead
parameters:
  t:
    - filter: self_attn
      value: [0.3, 0.6, 0.3786, 0.6, 0.6]
    - filter: mlp
      value: [0.7, 0.4, 0.6, 0.4, 0.7]
    - value: 0.5 # fallback for rest of tensors
dtype: float16