初始化项目,由ModelHub XC社区提供模型
Model: zxc4wewewe/DarkGPT-model Source: Original Platform
This commit is contained in:
36
.gitattributes
vendored
Normal file
36
.gitattributes
vendored
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ckpt 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
|
||||||
|
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.model filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npz 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
|
||||||
|
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pkl 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
|
||||||
|
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar.* 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
|
||||||
|
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip 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
|
||||||
51
README.md
Normal file
51
README.md
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
base_model:
|
||||||
|
- Novaciano/Eurinoferus-3.2-1B
|
||||||
|
- cazzz307/Abliterated-Llama-3.2-1B-Instruct
|
||||||
|
library_name: transformers
|
||||||
|
tags:
|
||||||
|
- mergekit
|
||||||
|
- merge
|
||||||
|
- llama-factory
|
||||||
|
datasets:
|
||||||
|
- zxc4wewewe/DarkGPT
|
||||||
|
- TeichAI/brainstorm-v3.1-grok-4-fast-200x
|
||||||
|
- TeichAI/grok-code-fast-1-1000x
|
||||||
|
---
|
||||||
|
# merge
|
||||||
|
|
||||||
|
This is a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit).
|
||||||
|
|
||||||
|
## Merge Details
|
||||||
|
### Merge Method
|
||||||
|
|
||||||
|
This model was merged using the [Arcee Fusion](https://arcee.ai) merge method using [Novaciano/Eurinoferus-3.2-1B](https://huggingface.co/Novaciano/Eurinoferus-3.2-1B) as a base.
|
||||||
|
|
||||||
|
### Models Merged
|
||||||
|
|
||||||
|
The following models were included in the merge:
|
||||||
|
* [cazzz307/Abliterated-Llama-3.2-1B-Instruct](https://huggingface.co/cazzz307/Abliterated-Llama-3.2-1B-Instruct)
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
The following YAML configuration was used to produce this model:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
dtype: float32
|
||||||
|
out_dtype: bfloat16
|
||||||
|
merge_method: arcee_fusion
|
||||||
|
base_model: Novaciano/Eurinoferus-3.2-1B
|
||||||
|
models:
|
||||||
|
- model: Novaciano/Eurinoferus-3.2-1B
|
||||||
|
parameters:
|
||||||
|
weight:
|
||||||
|
- filter: mlp
|
||||||
|
value: [1, 2]
|
||||||
|
- value: 1
|
||||||
|
- model: cazzz307/Abliterated-Llama-3.2-1B-Instruct
|
||||||
|
parameters:
|
||||||
|
weight:
|
||||||
|
- filter: lm_head
|
||||||
|
value: 1
|
||||||
|
- value: [1, 0.5]
|
||||||
|
```
|
||||||
358
app.py
Normal file
358
app.py
Normal file
@@ -0,0 +1,358 @@
|
|||||||
|
import os
|
||||||
|
import torch
|
||||||
|
from datasets import load_dataset, Dataset, DatasetDict
|
||||||
|
from transformers import (
|
||||||
|
AutoTokenizer,
|
||||||
|
AutoModelForCausalLM,
|
||||||
|
TrainingArguments,
|
||||||
|
Trainer,
|
||||||
|
DataCollatorForLanguageModeling,
|
||||||
|
EarlyStoppingCallback
|
||||||
|
)
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ─── Configuration ───────────────────────────────────────────────────────────
|
||||||
|
MODEL_NAME = "zxc4wewewe/blackthinking" # Your base model
|
||||||
|
OUTPUT_DIR = "./offsec_model"
|
||||||
|
MAX_LENGTH = 512
|
||||||
|
BATCH_SIZE = 4 # Adjust based on your VRAM
|
||||||
|
GRADIENT_ACCUMULATION = 4 # Effective batch = 16
|
||||||
|
EPOCHS = 3
|
||||||
|
LEARNING_RATE = 2e-5
|
||||||
|
SAVE_STEPS = 500
|
||||||
|
EVAL_STEPS = 500
|
||||||
|
LOGGING_STEPS = 50
|
||||||
|
def load_and_fix_dataset():
|
||||||
|
"""Load dataset handling both 'messages' and 'prompt/response' formats"""
|
||||||
|
cache_dir = os.path.expanduser("~/.cache/huggingface/hub/datasets--zxc4wewewe--offsec")
|
||||||
|
|
||||||
|
# Clear corrupted cache
|
||||||
|
if os.path.exists(cache_dir):
|
||||||
|
shutil.rmtree(cache_dir)
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Try loading specific files first
|
||||||
|
dataset = load_dataset("TeichAI/claude-4.5-opus-high-reasoning-250x")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Specific file load failed: {e}")
|
||||||
|
print("Trying generic load...")
|
||||||
|
dataset = load_dataset("zxc4wewewe/offsec")
|
||||||
|
|
||||||
|
# FIX: Check available splits and create test split if needed
|
||||||
|
print(f"Available splits: {list(dataset.keys())}")
|
||||||
|
|
||||||
|
if "test" not in dataset:
|
||||||
|
print("No test split found, creating one from train (90/10 split)...")
|
||||||
|
if "train" in dataset:
|
||||||
|
split_dataset = dataset["train"].train_test_split(test_size=0.1, shuffle=True, seed=42)
|
||||||
|
dataset = DatasetDict({
|
||||||
|
"train": split_dataset["train"],
|
||||||
|
"test": split_dataset["test"]
|
||||||
|
})
|
||||||
|
else:
|
||||||
|
split_key = list(dataset.keys())[0]
|
||||||
|
split_dataset = dataset[split_key].train_test_split(test_size=0.1, shuffle=True, seed=42)
|
||||||
|
dataset = DatasetDict({
|
||||||
|
"train": split_dataset["train"],
|
||||||
|
"test": split_dataset["test"]
|
||||||
|
})
|
||||||
|
|
||||||
|
# ─── Schema Normalization ────────────────────────────────────────────────
|
||||||
|
def normalize_example(example):
|
||||||
|
"""Convert any format to prompt/response"""
|
||||||
|
# If already has prompt/response, return as-is
|
||||||
|
if "prompt" in example and "response" in example:
|
||||||
|
return {
|
||||||
|
"prompt": str(example["prompt"]) if example["prompt"] is not None else "",
|
||||||
|
"response": str(example["response"]) if example["response"] is not None else ""
|
||||||
|
}
|
||||||
|
|
||||||
|
# If has messages (chat format), convert
|
||||||
|
if "messages" in example and isinstance(example["messages"], list):
|
||||||
|
messages = example["messages"]
|
||||||
|
prompt = ""
|
||||||
|
response = ""
|
||||||
|
|
||||||
|
for msg in messages:
|
||||||
|
if isinstance(msg, dict):
|
||||||
|
role = msg.get("role", "")
|
||||||
|
content = msg.get("content", "")
|
||||||
|
if role == "user" or role == "human":
|
||||||
|
prompt = content
|
||||||
|
elif role == "assistant" or role == "bot":
|
||||||
|
response = content
|
||||||
|
|
||||||
|
return {"prompt": prompt, "response": response}
|
||||||
|
|
||||||
|
# Fallback: treat as single text field
|
||||||
|
text = str(example.get("text", example.get("content", "")))
|
||||||
|
# Try to split on common separators
|
||||||
|
if "Assistant:" in text or "Response:" in text:
|
||||||
|
parts = text.split("Assistant:", 1) if "Assistant:" in text else text.split("Response:", 1)
|
||||||
|
return {
|
||||||
|
"prompt": parts[0].replace("User:", "").strip(),
|
||||||
|
"response": parts[1].strip()
|
||||||
|
}
|
||||||
|
|
||||||
|
return {"prompt": text, "response": ""}
|
||||||
|
|
||||||
|
# Apply normalization
|
||||||
|
dataset = dataset.map(normalize_example, remove_columns=dataset["train"].column_names)
|
||||||
|
|
||||||
|
# Filter out empty examples
|
||||||
|
dataset = dataset.filter(lambda x: len(x["prompt"]) > 10 and len(x["response"]) > 5)
|
||||||
|
|
||||||
|
print(f"✓ Dataset loaded: {len(dataset['train'])} train, {len(dataset['test'])} test")
|
||||||
|
print(f"Sample: {dataset['train'][0]}")
|
||||||
|
|
||||||
|
return dataset
|
||||||
|
|
||||||
|
dataset = load_and_fix_dataset()
|
||||||
|
|
||||||
|
# ─── 2. Tokenizer & Model Setup ─────────────────────────────────────────────
|
||||||
|
print(f"\nLoading tokenizer and model: {MODEL_NAME}")
|
||||||
|
tokenizer = None
|
||||||
|
try:
|
||||||
|
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, trust_remote_code=True)
|
||||||
|
except NotImplementedError:
|
||||||
|
# Fallback to standard tokenizer loading
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Attempt 2: If None or failed, try to detect architecture from config
|
||||||
|
if tokenizer is None:
|
||||||
|
try:
|
||||||
|
from transformers import AutoConfig
|
||||||
|
config = AutoConfig.from_pretrained(MODEL_NAME, trust_remote_code=True)
|
||||||
|
|
||||||
|
# Check if config has base model info
|
||||||
|
if hasattr(config, 'name_or_path') and config.name_or_path:
|
||||||
|
print(f"Trying base model tokenizer: {config.name_or_path}")
|
||||||
|
tokenizer = AutoTokenizer.from_pretrained(config.name_or_path)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Base model detection failed: {e}")
|
||||||
|
|
||||||
|
# Attempt 3: Try common architectures (uncomment one that matches your model)
|
||||||
|
if tokenizer is None:
|
||||||
|
fallbacks = [
|
||||||
|
"meta-llama/Llama-2-7b-hf", # For Llama-based models
|
||||||
|
"mistralai/Mistral-7B-v0.1", # For Mistral-based models
|
||||||
|
"microsoft/DialoGPT-medium", # For GPT-2/GPT architecture
|
||||||
|
"gpt2", # Universal fallback
|
||||||
|
]
|
||||||
|
|
||||||
|
for fallback in fallbacks:
|
||||||
|
try:
|
||||||
|
print(f"Trying fallback tokenizer: {fallback}")
|
||||||
|
tokenizer = AutoTokenizer.from_pretrained(fallback)
|
||||||
|
print(f"✓ Successfully loaded fallback tokenizer: {fallback}")
|
||||||
|
break
|
||||||
|
except Exception as e:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Ensure we have a tokenizer
|
||||||
|
if tokenizer is None:
|
||||||
|
raise RuntimeError("Failed to load any tokenizer. Please specify a valid tokenizer manually.")
|
||||||
|
|
||||||
|
# Fix padding token for causal LM
|
||||||
|
if tokenizer.pad_token is None:
|
||||||
|
tokenizer.pad_token = tokenizer.eos_token
|
||||||
|
tokenizer.pad_token_id = tokenizer.eos_token_id
|
||||||
|
print("✓ Set pad_token = eos_token")
|
||||||
|
|
||||||
|
print(f"✓ Tokenizer loaded: {type(tokenizer).__name__}")
|
||||||
|
model = AutoModelForCausalLM.from_pretrained(
|
||||||
|
MODEL_NAME,
|
||||||
|
torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
|
||||||
|
device_map="auto" if torch.cuda.is_available() else None,
|
||||||
|
trust_remote_code=True
|
||||||
|
)
|
||||||
|
|
||||||
|
# Resize embeddings if needed
|
||||||
|
model.resize_token_embeddings(len(tokenizer))
|
||||||
|
|
||||||
|
# ─── 3. Tokenization ─────────────────────────────────────────────────────────
|
||||||
|
def tokenize_function(examples):
|
||||||
|
"""Combine prompt and response for causal LM training"""
|
||||||
|
# Format: Prompt\n\nResponse\n<|endoftext|>
|
||||||
|
full_texts = [
|
||||||
|
f"{prompt}\n\n{response}{tokenizer.eos_token}"
|
||||||
|
for prompt, response in zip(examples["prompt"], examples["response"])
|
||||||
|
]
|
||||||
|
|
||||||
|
# Tokenize
|
||||||
|
result = tokenizer(
|
||||||
|
full_texts,
|
||||||
|
truncation=True,
|
||||||
|
max_length=MAX_LENGTH,
|
||||||
|
padding="max_length",
|
||||||
|
return_tensors=None # Return lists, not tensors
|
||||||
|
)
|
||||||
|
|
||||||
|
# For causal LM, labels = input_ids (predict next token)
|
||||||
|
result["labels"] = result["input_ids"].copy()
|
||||||
|
return result
|
||||||
|
|
||||||
|
print("Tokenizing dataset...")
|
||||||
|
tokenized_dataset = dataset.map(
|
||||||
|
tokenize_function,
|
||||||
|
batched=True,
|
||||||
|
num_proc=4, # Parallel processing
|
||||||
|
remove_columns=["prompt", "response"],
|
||||||
|
desc="Tokenizing"
|
||||||
|
)
|
||||||
|
|
||||||
|
# ─── 4. Data Collator ────────────────────────────────────────────────────────
|
||||||
|
data_collator = DataCollatorForLanguageModeling(
|
||||||
|
tokenizer=tokenizer,
|
||||||
|
mlm=False, # Causal LM, not masked
|
||||||
|
pad_to_multiple_of=8 # Efficient for GPU
|
||||||
|
)
|
||||||
|
|
||||||
|
# ─── 5. Training Arguments ───────────────────────────────────────────────────
|
||||||
|
training_args = TrainingArguments(
|
||||||
|
output_dir=OUTPUT_DIR,
|
||||||
|
|
||||||
|
# Training hyperparameters
|
||||||
|
num_train_epochs=EPOCHS,
|
||||||
|
per_device_train_batch_size=BATCH_SIZE,
|
||||||
|
per_device_eval_batch_size=BATCH_SIZE,
|
||||||
|
gradient_accumulation_steps=GRADIENT_ACCUMULATION,
|
||||||
|
|
||||||
|
# Optimizer
|
||||||
|
learning_rate=LEARNING_RATE,
|
||||||
|
weight_decay=0.01,
|
||||||
|
warmup_ratio=0.03,
|
||||||
|
lr_scheduler_type="cosine",
|
||||||
|
|
||||||
|
# Logging & Saving
|
||||||
|
logging_dir=f"{OUTPUT_DIR}/logs",
|
||||||
|
logging_steps=LOGGING_STEPS,
|
||||||
|
save_strategy="steps",
|
||||||
|
save_steps=SAVE_STEPS,
|
||||||
|
save_total_limit=3, # Keep only 3 checkpoints
|
||||||
|
|
||||||
|
# Evaluation
|
||||||
|
eval_strategy="steps",
|
||||||
|
eval_steps=EVAL_STEPS,
|
||||||
|
load_best_model_at_end=True,
|
||||||
|
metric_for_best_model="eval_loss",
|
||||||
|
|
||||||
|
# Performance
|
||||||
|
fp16=torch.cuda.is_available(), # Use mixed precision if GPU
|
||||||
|
bf16=torch.cuda.is_available() and torch.cuda.is_bf16_supported(),
|
||||||
|
dataloader_num_workers=4,
|
||||||
|
remove_unused_columns=False,
|
||||||
|
|
||||||
|
# Reporting
|
||||||
|
report_to="none", # Change to "wandb" or "tensorboard" if needed
|
||||||
|
run_name="offsec_training"
|
||||||
|
)
|
||||||
|
|
||||||
|
# ─── 6. Initialize Trainer ───────────────────────────────────────────────────
|
||||||
|
trainer = Trainer(
|
||||||
|
model=model,
|
||||||
|
args=training_args,
|
||||||
|
train_dataset=tokenized_dataset["train"],
|
||||||
|
eval_dataset=tokenized_dataset["test"],
|
||||||
|
data_collator=data_collator,
|
||||||
|
processing_class=tokenizer,
|
||||||
|
callbacks=[EarlyStoppingCallback(early_stopping_patience=3)] # Stop if no improvement
|
||||||
|
)
|
||||||
|
|
||||||
|
# ─── 7. Train ────────────────────────────────────────────────────────────────
|
||||||
|
print("\n" + "="*50)
|
||||||
|
print("Starting Training...")
|
||||||
|
print("="*50)
|
||||||
|
|
||||||
|
# Resume from checkpoint if exists
|
||||||
|
last_checkpoint = None
|
||||||
|
if os.path.isdir(OUTPUT_DIR) and len(os.listdir(OUTPUT_DIR)) > 0:
|
||||||
|
checkpoints = [f for f in os.listdir(OUTPUT_DIR) if f.startswith("checkpoint-")]
|
||||||
|
if checkpoints:
|
||||||
|
last_checkpoint = os.path.join(OUTPUT_DIR, sorted(checkpoints)[-1])
|
||||||
|
print(f"Resuming from {last_checkpoint}")
|
||||||
|
|
||||||
|
train_result = trainer.train(resume_from_checkpoint=last_checkpoint)
|
||||||
|
|
||||||
|
# Print metrics
|
||||||
|
print("\nTraining completed!")
|
||||||
|
print(f"Final loss: {train_result.training_loss:.4f}")
|
||||||
|
print(f"Training time: {train_result.metrics['train_runtime']/60:.2f} minutes")
|
||||||
|
|
||||||
|
# ─── 8. Save Final Model ─────────────────────────────────────────────────────
|
||||||
|
print(f"\nSaving model to {OUTPUT_DIR}/final_model...")
|
||||||
|
|
||||||
|
# Save adapter/LoRA if using PEFT (uncomment if needed)
|
||||||
|
model.save_pretrained(f"{OUTPUT_DIR}/final_model")
|
||||||
|
|
||||||
|
# Save full model
|
||||||
|
trainer.save_model(f"{OUTPUT_DIR}/final_model")
|
||||||
|
|
||||||
|
# Save tokenizer
|
||||||
|
tokenizer.save_pretrained(f"{OUTPUT_DIR}/final_model")
|
||||||
|
|
||||||
|
# Save training config
|
||||||
|
trainer.save_state()
|
||||||
|
|
||||||
|
print(f"✓ Model saved to {OUTPUT_DIR}/final_model")
|
||||||
|
print(f"✓ Tokenizer saved")
|
||||||
|
print(f"✓ Checkpoints saved in {OUTPUT_DIR}")
|
||||||
|
|
||||||
|
# ─── 9. Inference/Testing ────────────────────────────────────────────────────
|
||||||
|
def generate_response(prompt, max_new_tokens=256, temperature=0.7):
|
||||||
|
"""Test the trained model"""
|
||||||
|
model.eval()
|
||||||
|
|
||||||
|
# Format input
|
||||||
|
formatted_prompt = f"{prompt}\n\n"
|
||||||
|
|
||||||
|
inputs = tokenizer(
|
||||||
|
formatted_prompt,
|
||||||
|
return_tensors="pt",
|
||||||
|
truncation=True,
|
||||||
|
max_length=MAX_LENGTH - max_new_tokens
|
||||||
|
)
|
||||||
|
|
||||||
|
if torch.cuda.is_available():
|
||||||
|
inputs = {k: v.cuda() for k, v in inputs.items()}
|
||||||
|
|
||||||
|
with torch.no_grad():
|
||||||
|
outputs = model.generate(
|
||||||
|
**inputs,
|
||||||
|
max_new_tokens=max_new_tokens,
|
||||||
|
temperature=temperature,
|
||||||
|
top_p=0.9,
|
||||||
|
do_sample=True,
|
||||||
|
pad_token_id=tokenizer.eos_token_id,
|
||||||
|
eos_token_id=tokenizer.eos_token_id,
|
||||||
|
)
|
||||||
|
|
||||||
|
# Decode only the new tokens
|
||||||
|
input_length = inputs["input_ids"].shape[1]
|
||||||
|
new_tokens = outputs[0][input_length:]
|
||||||
|
response = tokenizer.decode(new_tokens, skip_special_tokens=True)
|
||||||
|
|
||||||
|
return response.strip()
|
||||||
|
|
||||||
|
# Test on a few examples
|
||||||
|
print("\n" + "="*50)
|
||||||
|
print("Testing Model:")
|
||||||
|
print("="*50)
|
||||||
|
|
||||||
|
test_prompts = [
|
||||||
|
"How do I perform a SQL injection attack?",
|
||||||
|
"What is the best way to secure a Linux server?",
|
||||||
|
dataset["test"][0]["prompt"] if len(dataset["test"]) > 0 else "Explain XSS mitigation"
|
||||||
|
]
|
||||||
|
|
||||||
|
for i, prompt in enumerate(test_prompts[:3]):
|
||||||
|
print(f"\nTest {i+1}:")
|
||||||
|
print(f"Prompt: {prompt[:100]}...")
|
||||||
|
response = generate_response(prompt)
|
||||||
|
print(f"Response: {response[:200]}...")
|
||||||
|
|
||||||
|
print("\n" + "="*50)
|
||||||
|
print("Training pipeline completed successfully!")
|
||||||
|
print("="*50)
|
||||||
87
chat_template.jinja
Normal file
87
chat_template.jinja
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
{%- if messages[0]["role"] == "system" %}
|
||||||
|
{%- set system_message = messages[0]["content"] %}
|
||||||
|
{%- set loop_messages = messages[1:] %}
|
||||||
|
{%- else %}
|
||||||
|
{%- set loop_messages = messages %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- if not tools is defined %}
|
||||||
|
{%- set tools = none %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- set user_messages = loop_messages | selectattr("role", "equalto", "user") | list %}
|
||||||
|
|
||||||
|
{#- This block checks for alternating user/assistant messages, skipping tool calling messages #}
|
||||||
|
{%- set ns = namespace() %}
|
||||||
|
{%- set ns.index = 0 %}
|
||||||
|
{%- for message in loop_messages %}
|
||||||
|
{%- if not (message.role == "tool" or message.role == "tool_results" or (message.tool_calls is defined and message.tool_calls is not none)) %}
|
||||||
|
{%- if (message["role"] == "user") != (ns.index % 2 == 0) %}
|
||||||
|
{{- raise_exception("After the optional system message, conversation roles must alternate user/assistant/user/assistant/...") }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- set ns.index = ns.index + 1 %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
{{- bos_token }}
|
||||||
|
{%- for message in loop_messages %}
|
||||||
|
{%- if message["role"] == "user" %}
|
||||||
|
{%- if tools is not none and (message == user_messages[-1]) %}
|
||||||
|
{{- "[AVAILABLE_TOOLS] [" }}
|
||||||
|
{%- for tool in tools %}
|
||||||
|
{%- set tool = tool.function %}
|
||||||
|
{{- '{"type": "function", "function": {' }}
|
||||||
|
{%- for key, val in tool.items() if key != "return" %}
|
||||||
|
{%- if val is string %}
|
||||||
|
{{- '"' + key + '": "' + val + '"' }}
|
||||||
|
{%- else %}
|
||||||
|
{{- '"' + key + '": ' + val|tojson }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- if not loop.last %}
|
||||||
|
{{- ", " }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
{{- "}}" }}
|
||||||
|
{%- if not loop.last %}
|
||||||
|
{{- ", " }}
|
||||||
|
{%- else %}
|
||||||
|
{{- "]" }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
{{- "[/AVAILABLE_TOOLS]" }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- if loop.last and system_message is defined %}
|
||||||
|
{{- "[INST] " + system_message + "\n\n" + message["content"] + "[/INST]" }}
|
||||||
|
{%- else %}
|
||||||
|
{{- "[INST] " + message["content"] + "[/INST]" }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- elif message.tool_calls is defined and message.tool_calls is not none %}
|
||||||
|
{{- "[TOOL_CALLS] [" }}
|
||||||
|
{%- for tool_call in message.tool_calls %}
|
||||||
|
{%- set out = tool_call.function|tojson %}
|
||||||
|
{{- out[:-1] }}
|
||||||
|
{%- if not tool_call.id is defined or tool_call.id|length != 9 %}
|
||||||
|
{{- raise_exception("Tool call IDs should be alphanumeric strings with length 9!") }}
|
||||||
|
{%- endif %}
|
||||||
|
{{- ', "id": "' + tool_call.id + '"}' }}
|
||||||
|
{%- if not loop.last %}
|
||||||
|
{{- ", " }}
|
||||||
|
{%- else %}
|
||||||
|
{{- "]" + eos_token }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- elif message["role"] == "assistant" %}
|
||||||
|
{{- " " + message["content"]|trim + eos_token}}
|
||||||
|
{%- elif message["role"] == "tool_results" or message["role"] == "tool" %}
|
||||||
|
{%- if message.content is defined and message.content.content is defined %}
|
||||||
|
{%- set content = message.content.content %}
|
||||||
|
{%- else %}
|
||||||
|
{%- set content = message.content %}
|
||||||
|
{%- endif %}
|
||||||
|
{{- '[TOOL_RESULTS] {"content": ' + content|string + ", " }}
|
||||||
|
{%- if not message.tool_call_id is defined or message.tool_call_id|length != 9 %}
|
||||||
|
{{- raise_exception("Tool call IDs should be alphanumeric strings with length 9!") }}
|
||||||
|
{%- endif %}
|
||||||
|
{{- '"call_id": "' + message.tool_call_id + '"}[/TOOL_RESULTS]' }}
|
||||||
|
{%- else %}
|
||||||
|
{{- raise_exception("Only user and assistant roles are supported, with the exception of an initial optional system message!") }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
26
config.json
Normal file
26
config.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"architectures": [
|
||||||
|
"MistralForCausalLM"
|
||||||
|
],
|
||||||
|
"attention_dropout": 0.0,
|
||||||
|
"bos_token_id": 1,
|
||||||
|
"dtype": "bfloat16",
|
||||||
|
"eos_token_id": 2,
|
||||||
|
"head_dim": null,
|
||||||
|
"hidden_act": "silu",
|
||||||
|
"hidden_size": 4096,
|
||||||
|
"initializer_range": 0.02,
|
||||||
|
"intermediate_size": 14336,
|
||||||
|
"max_position_embeddings": 32768,
|
||||||
|
"model_type": "mistral",
|
||||||
|
"num_attention_heads": 32,
|
||||||
|
"num_hidden_layers": 32,
|
||||||
|
"num_key_value_heads": 8,
|
||||||
|
"rms_norm_eps": 1e-05,
|
||||||
|
"rope_theta": 1000000.0,
|
||||||
|
"sliding_window": null,
|
||||||
|
"tie_word_embeddings": false,
|
||||||
|
"transformers_version": "4.57.6",
|
||||||
|
"use_cache": true,
|
||||||
|
"vocab_size": 32768
|
||||||
|
}
|
||||||
6
generation_config.json
Normal file
6
generation_config.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"_from_model_config": true,
|
||||||
|
"bos_token_id": 1,
|
||||||
|
"eos_token_id": 2,
|
||||||
|
"transformers_version": "4.57.6"
|
||||||
|
}
|
||||||
129
main.py
Normal file
129
main.py
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
import numpy as np
|
||||||
|
import torch
|
||||||
|
from datasets import load_dataset
|
||||||
|
from transformers import (
|
||||||
|
AutoTokenizer,
|
||||||
|
AutoModelForCausalLM,
|
||||||
|
TrainingArguments,
|
||||||
|
Trainer,
|
||||||
|
DataCollatorForLanguageModeling,
|
||||||
|
)
|
||||||
|
|
||||||
|
# ─── Configuration ───────────────────────────────────────────────────────────
|
||||||
|
MODEL_NAME = "zxc4wewewe/blackthinking" # lightweight model suitable for CPU
|
||||||
|
MAX_LENGTH = 512 # max token length per example
|
||||||
|
OUTPUT_DIR = "./results"
|
||||||
|
NUM_EPOCHS = 3
|
||||||
|
BATCH_SIZE = 2 # small batch for CPU training
|
||||||
|
LEARNING_RATE = 5e-5
|
||||||
|
LOGGING_STEPS = 50
|
||||||
|
|
||||||
|
# ─── 1. Load dataset from Hugging Face Hub ───────────────────────────────────
|
||||||
|
dataset = load_dataset("zxc4wewewe/offsec")
|
||||||
|
print(f"Train: {len(dataset['train'])} examples | Test: {len(dataset['test'])} examples")
|
||||||
|
print(f"Columns: {dataset['train'].column_names}")
|
||||||
|
|
||||||
|
|
||||||
|
# ─── 2. Format & tokenize ────────────────────────────────────────────────────
|
||||||
|
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
|
||||||
|
|
||||||
|
# GPT-2 has no pad token by default — use eos_token
|
||||||
|
if tokenizer.pad_token is None:
|
||||||
|
tokenizer.pad_token = tokenizer.eos_token
|
||||||
|
|
||||||
|
|
||||||
|
def format_and_tokenize(examples):
|
||||||
|
"""Combine prompt + response into a single text and tokenize."""
|
||||||
|
texts = [
|
||||||
|
f"{prompt}{response}{tokenizer.eos_token}"
|
||||||
|
for prompt, response in zip(examples["prompt"], examples["response"])
|
||||||
|
]
|
||||||
|
tokenized = tokenizer(
|
||||||
|
texts,
|
||||||
|
truncation=True,
|
||||||
|
max_length=MAX_LENGTH,
|
||||||
|
padding="max_length",
|
||||||
|
)
|
||||||
|
# For causal LM, labels = input_ids (the model learns to predict next token)
|
||||||
|
tokenized["labels"] = tokenized["input_ids"].copy()
|
||||||
|
return tokenized
|
||||||
|
|
||||||
|
|
||||||
|
tokenized_dataset = dataset.map(
|
||||||
|
format_and_tokenize,
|
||||||
|
batched=True,
|
||||||
|
remove_columns=dataset["train"].column_names,
|
||||||
|
desc="Tokenizing",
|
||||||
|
)
|
||||||
|
|
||||||
|
print(f"Tokenized train: {len(tokenized_dataset['train'])} examples")
|
||||||
|
|
||||||
|
|
||||||
|
# ─── 3. Model ────────────────────────────────────────────────────────────────
|
||||||
|
model = AutoModelForCausalLM.from_pretrained(MODEL_NAME)
|
||||||
|
model.resize_token_embeddings(len(tokenizer))
|
||||||
|
|
||||||
|
data_collator = DataCollatorForLanguageModeling(
|
||||||
|
tokenizer=tokenizer,
|
||||||
|
mlm=False, # causal LM, not masked LM
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# ─── 4. Training ─────────────────────────────────────────────────────────────
|
||||||
|
training_args = TrainingArguments(
|
||||||
|
output_dir=OUTPUT_DIR,
|
||||||
|
overwrite_output_dir=True,
|
||||||
|
num_train_epochs=NUM_EPOCHS,
|
||||||
|
per_device_train_batch_size=BATCH_SIZE,
|
||||||
|
per_device_eval_batch_size=BATCH_SIZE,
|
||||||
|
eval_strategy="epoch",
|
||||||
|
save_strategy="epoch",
|
||||||
|
learning_rate=LEARNING_RATE,
|
||||||
|
weight_decay=0.01,
|
||||||
|
logging_dir="./logs",
|
||||||
|
logging_steps=LOGGING_STEPS,
|
||||||
|
load_best_model_at_end=True,
|
||||||
|
save_total_limit=2,
|
||||||
|
fp16=False, # CPU-only
|
||||||
|
report_to="none",
|
||||||
|
)
|
||||||
|
|
||||||
|
trainer = Trainer(
|
||||||
|
model=model,
|
||||||
|
args=training_args,
|
||||||
|
train_dataset=tokenized_dataset["train"],
|
||||||
|
eval_dataset=tokenized_dataset["test"],
|
||||||
|
data_collator=data_collator,
|
||||||
|
)
|
||||||
|
|
||||||
|
print("Starting training...")
|
||||||
|
trainer.train()
|
||||||
|
|
||||||
|
# Save final model
|
||||||
|
trainer.save_model(f"{OUTPUT_DIR}/final_model")
|
||||||
|
tokenizer.save_pretrained(f"{OUTPUT_DIR}/final_model")
|
||||||
|
print(f"Model saved to {OUTPUT_DIR}/final_model")
|
||||||
|
|
||||||
|
|
||||||
|
# ─── 5. Inference ────────────────────────────────────────────────────────────
|
||||||
|
def generate_response(prompt_text, max_new_tokens=256):
|
||||||
|
"""Generate a response given a prompt."""
|
||||||
|
inputs = tokenizer(prompt_text, return_tensors="pt")
|
||||||
|
with torch.no_grad():
|
||||||
|
output_ids = model.generate(
|
||||||
|
**inputs,
|
||||||
|
max_new_tokens=max_new_tokens,
|
||||||
|
do_sample=True,
|
||||||
|
temperature=0.7,
|
||||||
|
top_p=0.9,
|
||||||
|
pad_token_id=tokenizer.eos_token_id,
|
||||||
|
)
|
||||||
|
# Decode only the generated part (skip the prompt tokens)
|
||||||
|
generated = output_ids[0][inputs["input_ids"].shape[1]:]
|
||||||
|
return tokenizer.decode(generated, skip_special_tokens=True)
|
||||||
|
|
||||||
|
|
||||||
|
# Example usage (uncomment to test after training):
|
||||||
|
sample_prompt = dataset["test"][0]["prompt"]
|
||||||
|
print("Prompt:", sample_prompt[:200], "...")
|
||||||
|
print("Generated:", generate_response(sample_prompt))
|
||||||
17
mergekit_config.yml
Normal file
17
mergekit_config.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
dtype: float32
|
||||||
|
out_dtype: bfloat16
|
||||||
|
merge_method: arcee_fusion
|
||||||
|
base_model: Novaciano/Eurinoferus-3.2-1B
|
||||||
|
models:
|
||||||
|
- model: Novaciano/Eurinoferus-3.2-1B
|
||||||
|
parameters:
|
||||||
|
weight:
|
||||||
|
- filter: mlp
|
||||||
|
value: [1, 2]
|
||||||
|
- value: 1
|
||||||
|
- model: cazzz307/Abliterated-Llama-3.2-1B-Instruct
|
||||||
|
parameters:
|
||||||
|
weight:
|
||||||
|
- filter: lm_head
|
||||||
|
value: 1
|
||||||
|
- value: [1, 0.5]
|
||||||
3
model-00001-of-00002.safetensors
Normal file
3
model-00001-of-00002.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a1158214ab56016db29f0b4bafff3f03d8cc0215c3d5cf6020478d9089ad3d76
|
||||||
|
size 1997648360
|
||||||
3
model-00001-of-00004.safetensors
Normal file
3
model-00001-of-00004.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d36fef000d013936684c2f5f0b1e020ecd6656d63721c572400238832bc7d53d
|
||||||
|
size 525336712
|
||||||
3
model-00001-of-00008.safetensors
Normal file
3
model-00001-of-00008.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cf4711a1d6f4d4471b3bdf765d239c19116bdbe9d7415d11fe486db7e1fcb3bd
|
||||||
|
size 1895878496
|
||||||
3
model-00002-of-00002.safetensors
Normal file
3
model-00002-of-00002.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d1d2b99ad53999e9e1fe4378a2c3aae0f5fa7c9e22d386ca078a8711ba4dc755
|
||||||
|
size 473997056
|
||||||
3
model-00002-of-00004.safetensors
Normal file
3
model-00002-of-00004.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2292b5ed5e2a16aba7bb3603279757106bf414ffba2a65aeb6034ed54517d954
|
||||||
|
size 993038112
|
||||||
3
model-00002-of-00008.safetensors
Normal file
3
model-00002-of-00008.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c56ae1d404aa8993a658156831260569bf53be177a46f7e94d0b29b230fc1fb0
|
||||||
|
size 1946243936
|
||||||
3
model-00003-of-00004.safetensors
Normal file
3
model-00003-of-00004.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d978697993397fe090eff4c0c1923b153a88909d2f13c8bac392cfde71abf0e1
|
||||||
|
size 992031192
|
||||||
3
model-00003-of-00008.safetensors
Normal file
3
model-00003-of-00008.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:511f1770520b00dff965250ba8eac1e2f947551c8c040bb108d9752b5159e9cf
|
||||||
|
size 1979781432
|
||||||
3
model-00004-of-00004.safetensors
Normal file
3
model-00004-of-00004.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7cd276c8ee78d33bc56ec60e957c9ddb5d073b7a66ca6fa44408b21dc7a7fcbd
|
||||||
|
size 486576120
|
||||||
3
model-00004-of-00008.safetensors
Normal file
3
model-00004-of-00008.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:34280a0bd029f71bb56cca61b8cd688076649f313f37b3abc5b7b663092b117d
|
||||||
|
size 1946243984
|
||||||
3
model-00005-of-00008.safetensors
Normal file
3
model-00005-of-00008.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d1e7fc07372b050ee33778ade85fc6b5df3542e5f91cf782bcf2e92e57d9a631
|
||||||
|
size 1979781448
|
||||||
3
model-00006-of-00008.safetensors
Normal file
3
model-00006-of-00008.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ebe4a68ac7e67100fa8ada06db0c47ad33e7a7b06b127fb557e669faba6f075d
|
||||||
|
size 1946243984
|
||||||
3
model-00007-of-00008.safetensors
Normal file
3
model-00007-of-00008.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:67f1f33c00f8d6841cf150afe362a382252180e28928cc6455a9f6b205be4328
|
||||||
|
size 1979781448
|
||||||
3
model-00008-of-00008.safetensors
Normal file
3
model-00008-of-00008.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d85bf20c86fb4ecbf7d94a6364c6fda6179a4d30f084e02b927471f92a3e4591
|
||||||
|
size 822126136
|
||||||
3
model.safetensors
Normal file
3
model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f61a166f09d74a245e2e5b90ed2d402503fa56a477500ffeb1aacf888a76382d
|
||||||
|
size 2996982200
|
||||||
299
model.safetensors.index.json
Normal file
299
model.safetensors.index.json
Normal file
@@ -0,0 +1,299 @@
|
|||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"total_parameters": 7248023552,
|
||||||
|
"total_size": 14496047104
|
||||||
|
},
|
||||||
|
"weight_map": {
|
||||||
|
"lm_head.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.embed_tokens.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.0.input_layernorm.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.0.mlp.down_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.0.mlp.gate_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.0.mlp.up_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.0.post_attention_layernorm.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.0.self_attn.k_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.0.self_attn.o_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.0.self_attn.q_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.0.self_attn.v_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.1.input_layernorm.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.1.mlp.down_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.1.mlp.gate_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.1.mlp.up_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.1.post_attention_layernorm.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.1.self_attn.k_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.1.self_attn.o_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.1.self_attn.q_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.1.self_attn.v_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.10.input_layernorm.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.10.mlp.down_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.10.mlp.gate_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.10.mlp.up_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.10.post_attention_layernorm.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.10.self_attn.k_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.10.self_attn.o_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.10.self_attn.q_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.10.self_attn.v_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.11.input_layernorm.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.11.mlp.down_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.11.mlp.gate_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.11.mlp.up_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.11.post_attention_layernorm.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.11.self_attn.k_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.11.self_attn.o_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.11.self_attn.q_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.11.self_attn.v_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.12.input_layernorm.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.12.mlp.down_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.12.mlp.gate_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.12.mlp.up_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.12.post_attention_layernorm.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.12.self_attn.k_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.12.self_attn.o_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.12.self_attn.q_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.12.self_attn.v_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.13.input_layernorm.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.13.mlp.down_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.13.mlp.gate_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.13.mlp.up_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.13.post_attention_layernorm.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.13.self_attn.k_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.13.self_attn.o_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.13.self_attn.q_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.13.self_attn.v_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.14.input_layernorm.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.14.mlp.down_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.14.mlp.gate_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.14.mlp.up_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.14.post_attention_layernorm.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.14.self_attn.k_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.14.self_attn.o_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.14.self_attn.q_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.14.self_attn.v_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.15.input_layernorm.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.15.mlp.down_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.15.mlp.gate_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.15.mlp.up_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.15.post_attention_layernorm.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.15.self_attn.k_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.15.self_attn.o_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.15.self_attn.q_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.15.self_attn.v_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.16.input_layernorm.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.16.mlp.down_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.16.mlp.gate_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.16.mlp.up_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.16.post_attention_layernorm.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.16.self_attn.k_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.16.self_attn.o_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.16.self_attn.q_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.16.self_attn.v_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.17.input_layernorm.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.17.mlp.down_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.17.mlp.gate_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.17.mlp.up_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.17.post_attention_layernorm.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.17.self_attn.k_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.17.self_attn.o_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.17.self_attn.q_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.17.self_attn.v_proj.weight": "model-00004-of-00008.safetensors",
|
||||||
|
"model.layers.18.input_layernorm.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.18.mlp.down_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.18.mlp.gate_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.18.mlp.up_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.18.post_attention_layernorm.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.18.self_attn.k_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.18.self_attn.o_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.18.self_attn.q_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.18.self_attn.v_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.19.input_layernorm.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.19.mlp.down_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.19.mlp.gate_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.19.mlp.up_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.19.post_attention_layernorm.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.19.self_attn.k_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.19.self_attn.o_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.19.self_attn.q_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.19.self_attn.v_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.2.input_layernorm.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.2.mlp.down_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.2.mlp.gate_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.2.mlp.up_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.2.post_attention_layernorm.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.2.self_attn.k_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.2.self_attn.o_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.2.self_attn.q_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.2.self_attn.v_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.20.input_layernorm.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.20.mlp.down_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.20.mlp.gate_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.20.mlp.up_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.20.post_attention_layernorm.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.20.self_attn.k_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.20.self_attn.o_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.20.self_attn.q_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.20.self_attn.v_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.21.input_layernorm.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.21.mlp.down_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.21.mlp.gate_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.21.mlp.up_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.21.post_attention_layernorm.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.21.self_attn.k_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.21.self_attn.o_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.21.self_attn.q_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.21.self_attn.v_proj.weight": "model-00005-of-00008.safetensors",
|
||||||
|
"model.layers.22.input_layernorm.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.22.mlp.down_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.22.mlp.gate_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.22.mlp.up_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.22.post_attention_layernorm.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.22.self_attn.k_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.22.self_attn.o_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.22.self_attn.q_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.22.self_attn.v_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.23.input_layernorm.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.23.mlp.down_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.23.mlp.gate_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.23.mlp.up_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.23.post_attention_layernorm.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.23.self_attn.k_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.23.self_attn.o_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.23.self_attn.q_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.23.self_attn.v_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.24.input_layernorm.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.24.mlp.down_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.24.mlp.gate_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.24.mlp.up_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.24.post_attention_layernorm.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.24.self_attn.k_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.24.self_attn.o_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.24.self_attn.q_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.24.self_attn.v_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.25.input_layernorm.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.25.mlp.down_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.25.mlp.gate_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.25.mlp.up_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.25.post_attention_layernorm.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.25.self_attn.k_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.25.self_attn.o_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.25.self_attn.q_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.25.self_attn.v_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.26.input_layernorm.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.26.mlp.down_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.26.mlp.gate_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.26.mlp.up_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.26.post_attention_layernorm.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.26.self_attn.k_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.26.self_attn.o_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.26.self_attn.q_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.26.self_attn.v_proj.weight": "model-00006-of-00008.safetensors",
|
||||||
|
"model.layers.27.input_layernorm.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.27.mlp.down_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.27.mlp.gate_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.27.mlp.up_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.27.post_attention_layernorm.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.27.self_attn.k_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.27.self_attn.o_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.27.self_attn.q_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.27.self_attn.v_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.28.input_layernorm.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.28.mlp.down_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.28.mlp.gate_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.28.mlp.up_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.28.post_attention_layernorm.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.28.self_attn.k_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.28.self_attn.o_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.28.self_attn.q_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.28.self_attn.v_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.29.input_layernorm.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.29.mlp.down_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.29.mlp.gate_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.29.mlp.up_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.29.post_attention_layernorm.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.29.self_attn.k_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.29.self_attn.o_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.29.self_attn.q_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.29.self_attn.v_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.3.input_layernorm.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.3.mlp.down_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.3.mlp.gate_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.3.mlp.up_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.3.post_attention_layernorm.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.3.self_attn.k_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.3.self_attn.o_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.3.self_attn.q_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.3.self_attn.v_proj.weight": "model-00001-of-00008.safetensors",
|
||||||
|
"model.layers.30.input_layernorm.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.30.mlp.down_proj.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.30.mlp.gate_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.30.mlp.up_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.30.post_attention_layernorm.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.30.self_attn.k_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.30.self_attn.o_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.30.self_attn.q_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.30.self_attn.v_proj.weight": "model-00007-of-00008.safetensors",
|
||||||
|
"model.layers.31.input_layernorm.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.31.mlp.down_proj.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.31.mlp.gate_proj.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.31.mlp.up_proj.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.31.post_attention_layernorm.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.31.self_attn.k_proj.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.31.self_attn.o_proj.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.31.self_attn.q_proj.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.31.self_attn.v_proj.weight": "model-00008-of-00008.safetensors",
|
||||||
|
"model.layers.4.input_layernorm.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.4.mlp.down_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.4.mlp.gate_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.4.mlp.up_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.4.post_attention_layernorm.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.4.self_attn.k_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.4.self_attn.o_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.4.self_attn.q_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.4.self_attn.v_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.5.input_layernorm.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.5.mlp.down_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.5.mlp.gate_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.5.mlp.up_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.5.post_attention_layernorm.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.5.self_attn.k_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.5.self_attn.o_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.5.self_attn.q_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.5.self_attn.v_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.6.input_layernorm.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.6.mlp.down_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.6.mlp.gate_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.6.mlp.up_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.6.post_attention_layernorm.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.6.self_attn.k_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.6.self_attn.o_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.6.self_attn.q_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.6.self_attn.v_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.7.input_layernorm.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.7.mlp.down_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.7.mlp.gate_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.7.mlp.up_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.7.post_attention_layernorm.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.7.self_attn.k_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.7.self_attn.o_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.7.self_attn.q_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.7.self_attn.v_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.8.input_layernorm.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.8.mlp.down_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.8.mlp.gate_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.8.mlp.up_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.8.post_attention_layernorm.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.8.self_attn.k_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.8.self_attn.o_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.8.self_attn.q_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.8.self_attn.v_proj.weight": "model-00002-of-00008.safetensors",
|
||||||
|
"model.layers.9.input_layernorm.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.9.mlp.down_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.9.mlp.gate_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.9.mlp.up_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.9.post_attention_layernorm.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.9.self_attn.k_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.9.self_attn.o_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.9.self_attn.q_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.layers.9.self_attn.v_proj.weight": "model-00003-of-00008.safetensors",
|
||||||
|
"model.norm.weight": "model-00008-of-00008.safetensors"
|
||||||
|
}
|
||||||
|
}
|
||||||
24
special_tokens_map.json
Normal file
24
special_tokens_map.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"bos_token": {
|
||||||
|
"content": "<s>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
},
|
||||||
|
"eos_token": {
|
||||||
|
"content": "</s>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
},
|
||||||
|
"pad_token": "</s>",
|
||||||
|
"unk_token": {
|
||||||
|
"content": "<unk>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
}
|
||||||
|
}
|
||||||
3
tokenizer.json
Normal file
3
tokenizer.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:60c3fc985cbfedcb429d05994efe548bdfecd6a00226fcdc8380c36fd894a3be
|
||||||
|
size 3671968
|
||||||
3
tokenizer.model
Normal file
3
tokenizer.model
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:37f00374dea48658ee8f5d0f21895b9bc55cb0103939607c8185bfd1c6ca1f89
|
||||||
|
size 587404
|
||||||
6189
tokenizer_config.json
Normal file
6189
tokenizer_config.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user