|
|
|
|
|
|
|
|
|
|
|
|
|
|
from datasets import load_dataset |
|
|
from peft import LoraConfig |
|
|
from trl import SFTTrainer, SFTConfig |
|
|
import trackio |
|
|
|
|
|
print("π Starting Creative AI Assistant Training (v2 - Expanded)") |
|
|
print("=" * 60) |
|
|
|
|
|
|
|
|
dataset = load_dataset("lokegud/creative-ai-knowledge-base", split="train") |
|
|
print(f"π Dataset loaded: {len(dataset)} examples") |
|
|
|
|
|
|
|
|
dataset_split = dataset.train_test_split(test_size=0.15, seed=42) |
|
|
train_dataset = dataset_split["train"] |
|
|
eval_dataset = dataset_split["test"] |
|
|
|
|
|
print(f"π Train: {len(train_dataset)} | Eval: {len(eval_dataset)}") |
|
|
|
|
|
|
|
|
peft_config = LoraConfig( |
|
|
r=32, |
|
|
lora_alpha=64, |
|
|
lora_dropout=0.05, |
|
|
target_modules=["q_proj", "v_proj", "k_proj", "o_proj", "gate_proj", "up_proj", "down_proj"], |
|
|
task_type="CAUSAL_LM" |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
training_args = SFTConfig( |
|
|
output_dir="creative-ai-assistant-v2", |
|
|
num_train_epochs=3, |
|
|
per_device_train_batch_size=2, |
|
|
per_device_eval_batch_size=2, |
|
|
gradient_accumulation_steps=8, |
|
|
learning_rate=2e-4, |
|
|
warmup_ratio=0.1, |
|
|
logging_steps=5, |
|
|
eval_strategy="epoch", |
|
|
save_strategy="epoch", |
|
|
save_total_limit=3, |
|
|
load_best_model_at_end=True, |
|
|
metric_for_best_model="eval_loss", |
|
|
greater_is_better=False, |
|
|
push_to_hub=True, |
|
|
hub_model_id="lokegud/creative-ai-assistant-v2", |
|
|
hub_strategy="end", |
|
|
hub_private_repo=False, |
|
|
report_to="trackio", |
|
|
project="creative-ai-assistant", |
|
|
run_name="v2-expanded-1177examples", |
|
|
gradient_checkpointing=True, |
|
|
bf16=True, |
|
|
max_length=2048, |
|
|
dataset_text_field="messages", |
|
|
) |
|
|
|
|
|
print("π§ Initializing trainer with Qwen2.5-1.5B-Instruct...") |
|
|
|
|
|
|
|
|
trainer = SFTTrainer( |
|
|
model="Qwen/Qwen2.5-1.5B-Instruct", |
|
|
train_dataset=train_dataset, |
|
|
eval_dataset=eval_dataset, |
|
|
peft_config=peft_config, |
|
|
args=training_args, |
|
|
) |
|
|
|
|
|
print("ποΈ Training Creative AI Assistant v2...") |
|
|
trainer.train() |
|
|
|
|
|
print("π€ Pushing final model to Hub...") |
|
|
trainer.push_to_hub() |
|
|
|
|
|
print("β
Training complete!") |
|
|
print(f"π¦ Model: lokegud/creative-ai-assistant-v2") |
|
|
print(f"π Trackio: https://lokegud-trackio.hf.space/") |
|
|
print(f"π Dataset: https://huggingface.co/datasets/lokegud/creative-ai-knowledge-base") |
|
|
print(f"") |
|
|
print(f"π― v2 Capabilities:") |
|
|
print(f" - ComfyUI workflows & troubleshooting") |
|
|
print(f" - 3D graphics (Blender, USD)") |
|
|
print(f" - XR/VR/AR development") |
|
|
print(f" - Image generation (SD, SDXL, Flux)") |
|
|
print(f" - LLM training & fine-tuning") |
|
|
print(f" - Audio synthesis & production") |
|
|
print(f" - Anatomy & character design") |
|
|
print(f" - Cinematography & camera work") |
|
|
print(f" - Scriptwriting & story structure") |
|
|
print(f" - Game engine development") |
|
|
print(f" - Machine learning fundamentals") |
|
|
|