From 3d0eda94be742aebae1056292628c69246a86469 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Fri, 11 Sep 2026 15:24:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: Josephgflowers/Tinyllama-1.5B-Cinder-New-Test-1-with-gguf Source: Original Platform --- .gitattributes | 49 ++++++++++++++++++++ README.md | 5 ++ calculate_least_used_layers.py | 61 +++++++++++++++++++++++++ config.json | 29 ++++++++++++ configuration.json | 1 + generation_config.json | 7 +++ model.safetensors | 3 ++ special_tokens_map.json | 30 ++++++++++++ tinyllama-1.5R-dpo-unsloth.F16-001.gguf | 3 ++ tokenizer.json | 3 ++ tokenizer.model | 3 ++ tokenizer_config.json | 50 ++++++++++++++++++++ 12 files changed, 244 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 calculate_least_used_layers.py create mode 100644 config.json create mode 100644 configuration.json create mode 100644 generation_config.json create mode 100644 model.safetensors create mode 100644 special_tokens_map.json create mode 100644 tinyllama-1.5R-dpo-unsloth.F16-001.gguf create mode 100644 tokenizer.json create mode 100644 tokenizer.model create mode 100644 tokenizer_config.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..21b3632 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,49 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bin.* filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.gguf* filter=lfs diff=lfs merge=lfs -text +*.ggml filter=lfs diff=lfs merge=lfs -text +*.llamafile* filter=lfs diff=lfs merge=lfs -text +*.pt2 filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text + +tokenizer.json filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b708284 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +--- +license: mit +--- +This is a depth up scalled model of the 616M cinder model and Cinder 1.3B Test. This model still needs further training. Putting it up for testing. More information coming. Maybe. Lol. Here is a brief desc of the project: Im mixing a lot of techniques I guess that I found interesting and have been testing, HF Cosmo is not great but decent and was fully trained in 4 days using a mix of more fine tuned directed datasets and some synthetic textbook style datasets. So I used pruning and a similar mix as Cosmo on tinyllama (trained on a ton of data for an extended time for its size) to keep the tinyllama model coherent during pruning. Now I am trying to depth up scale it using my pruned model and an original, Then taking a majority of each and combining them to create a larger model. Then it needs more training, then fine tuning. Then theoretically it will be a well performing 1.5B model (that didn't need full scale training). New test, some training, re depth upscalled with cinder reason 1.3B and merged back with 1.5 and slight training. +This version has 32 layers and a new merging method (better interpolation). I used the attached script to help determine the most used layers of each model. \ No newline at end of file diff --git a/calculate_least_used_layers.py b/calculate_least_used_layers.py new file mode 100644 index 0000000..d6b9e80 --- /dev/null +++ b/calculate_least_used_layers.py @@ -0,0 +1,61 @@ +from transformers import AutoModelForCausalLM, AutoTokenizer +import torch +import numpy as np + +def compute_angular_distance(a, b): + """Compute the angular distance between two tensors.""" + a = a.detach().cpu().numpy().flatten() + b = b.detach().cpu().numpy().flatten() + cosine_similarity = np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b)) + angular_distance = np.arccos(np.clip(cosine_similarity, -1.0, 1.0)) / np.pi + return angular_distance + +def get_model_hidden_states(model, tokenizer, input_text): + """Pass input through the model and get hidden states.""" + inputs = tokenizer(input_text, return_tensors="pt") + with torch.no_grad(): + outputs = model(**inputs, output_hidden_states=True) + hidden_states = outputs.hidden_states + return hidden_states + +def calculate_layer_distances(hidden_states): + """Calculate and return angular distances between consecutive hidden states.""" + distances = [] + for i in range(len(hidden_states) - 1): + distance = compute_angular_distance(hidden_states[i], hidden_states[i+1]) + distances.append(distance) + return distances + +def find_optimal_pruning_layer(distances): + """Find the optimal layer to prune based on minimum angular distance.""" + min_distance = min(distances) + optimal_layer = distances.index(min_distance) + return optimal_layer, min_distance + +# Load the model and tokenizer +model_name_or_path = "/home/joe/Downloads/checkpoint-2000-math/checkpoint-2004" # Replace with your model path. +print(model_name_or_path) +model = AutoModelForCausalLM.from_pretrained(model_name_or_path) +tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) + +# Define your sample input text +input_text = "I have a reasoning math problem for you. What is 4+4*7=?" + +# Get model hidden states for the input text +hidden_states = get_model_hidden_states(model, tokenizer, input_text) + +# Calculate angular distances for all consecutive layers +distances = calculate_layer_distances(hidden_states) + +# Display angular distances +for i, distance in enumerate(distances, start=1): + print(f"Layer {i} to {i+1}: Angular Distance = {distance:.4f}") + +# Find the optimal layer for pruning +optimal_layer, min_distance = find_optimal_pruning_layer(distances) + +print(f"\nLayer Pair with Minimal Angular Distance Suggesting Redundancy: {optimal_layer + 1} to {optimal_layer + 2}") +print(f"Minimum Angular Distance (Suggesting Redundancy): {min_distance:.4f}") + + + diff --git a/config.json b/config.json new file mode 100644 index 0000000..86920e0 --- /dev/null +++ b/config.json @@ -0,0 +1,29 @@ +{ + "_name_or_path": "/content/15R-dpo", + "architectures": [ + "LlamaForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 1, + "eos_token_id": 2, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 5632, + "max_position_embeddings": 2048, + "model_type": "llama", + "num_attention_heads": 32, + "num_hidden_layers": 32, + "num_key_value_heads": 4, + "pretraining_tp": 1, + "rms_norm_eps": 1e-05, + "rope_scaling": null, + "rope_theta": 10000.0, + "tie_word_embeddings": false, + "torch_dtype": "bfloat16", + "transformers_version": "4.38.2", + "unsloth_version": "2024.4", + "use_cache": false, + "vocab_size": 32000 +} diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..bbeeda1 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "text-generation", "allow_remote": true} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..81e4802 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,7 @@ +{ + "_from_model_config": true, + "bos_token_id": 1, + "eos_token_id": 2, + "transformers_version": "4.38.2", + "use_cache": false +} diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000..a23367d --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c91df191c493d0f058be9893102aaf8301e8562820eb31f902cc1150c8f53c4d +size 3081016080 diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..492d4b2 --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,30 @@ +{ + "bos_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "unk_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } +} diff --git a/tinyllama-1.5R-dpo-unsloth.F16-001.gguf b/tinyllama-1.5R-dpo-unsloth.F16-001.gguf new file mode 100644 index 0000000..7e65554 --- /dev/null +++ b/tinyllama-1.5R-dpo-unsloth.F16-001.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:161e15e59258b7d15c51fe67318662bc9502fb08e690541e8986126fbea05d6f +size 3081990432 diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..21779d6 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcd04f0eadf90287bd26e1a183ac487d8a141b09b06aecb7725bbdd343640f2e +size 1842767 diff --git a/tokenizer.model b/tokenizer.model new file mode 100644 index 0000000..6c00c74 --- /dev/null +++ b/tokenizer.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e556afd44213b6bd1be2b850ebbbd98f5481437a8021afaf58ee7fb1818d347 +size 499723 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..61dbbe4 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,50 @@ +{ + "add_bos_token": true, + "add_eos_token": false, + "added_tokens_decoder": { + "0": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "1": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "2": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "additional_special_tokens": [], + "bos_token": "", + "chat_template": "{% for message in messages %}\n{% if message['role'] == 'user' %}\n{{ '<|user|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'system' %}\n{{ '<|system|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'assistant' %}\n{{ '<|assistant|>\n' + message['content'] + eos_token }}\n{% endif %}\n{% if loop.last and add_generation_prompt %}\n{{ '<|assistant|>' }}\n{% endif %}\n{% endfor %}", + "clean_up_tokenization_spaces": false, + "cls_token": null, + "eos_token": "", + "mask_token": null, + "model_input_names": [ + "input_ids", + "attention_mask" + ], + "model_max_length": 2048, + "pad_token": "", + "padding_side": "left", + "sep_token": null, + "split_special_tokens": false, + "tokenizer_class": "LlamaTokenizer", + "truncation_side": "right", + "unk_token": "", + "use_default_system_prompt": false +}