| # DeepSeek-Coder-7B-Instruct-v1.5 |
|
|
| This model is a fine-tuned version of [DeepSeek-Coder-7B-Instruct-v1.5](https://huggingface.co/deepseek-ai/deepseek-coder-7b-instruct-v1.5) specifically optimized for generating high-quality PyTorch neural network architectures for image classification tasks. |
|
|
| ## Model Details |
|
|
| ### Base Model |
| - **Base Model**: `deepseek-ai/deepseek-coder-7b-instruct-v1.5` |
| - **Architecture**: LLaMA-based (30 layers, 4096 hidden size, 32 attention heads) |
| - **Parameters**: 7 billion |
| - **Context Length**: 4096 tokens |
| - **Vocabulary Size**: 102,400 |
|
|
|
|
| ### LoRA Configuration |
| - **LoRA Rank (r)**: 32 |
| - **LoRA Alpha**: 32 |
| - **LoRA Dropout**: 0.05 |
| - **Target Modules**: |
| - Attention: `q_proj`, `k_proj`, `v_proj`, `o_proj` |
| - MLP: `up_proj`, `down_proj`, `gate_proj` |
| - **Layers**: 0-23 (all 24 layers) |
| - **Task Type**: Causal Language Modeling |
|
|
| ### Training Hyperparameters |
| - **Learning Rate**: 1e-5 |
| - **Batch Size**: 1 per device |
| - **Gradient Accumulation**: 4 steps |
| - **Optimizer**: paged AdamW 8-bit |
| - **Scheduler**: Cosine decay with 20 warmup steps |
| - **Weight Decay**: 0.01 |
| - **Max Gradient Norm**: 1.0 |
| - **Training Epochs**: 5 per cycle |
| - **Precision**: bfloat16 |
|
|
| ## Performance Metrics |
|
|
| ### Generation Performance |
| - **Generation Success Rate**: 59.13% |
| - **Valid Generation Rate**: 59.13% (123 valid out of 208 generated) |
|
|
| ### Model Quality |
| - **Average Accuracy**: 50.99% (95% CI: 50.06% - 51.92%) |
| - **Best Accuracy**: 63.98% |
| - **Median Accuracy**: 51.14% |
| - **Quality Distribution**: |
| - Models ≥ 40% accuracy: 96.81% |
| - Models ≥ 35% accuracy: 100.00% |
| - Models ≥ 30% accuracy: 100.00% |
|
|
|
|
| ## Intended Use |
|
|
| ### Primary Use Case |
| This model is designed to generate PyTorch neural network architectures for image classification tasks, specifically optimized for: |
| - **Dataset**: CIFAR-10 (32×32 RGB images, 10 classes) |
| - **Task**: Image classification |
| - **Framework**: PyTorch |
| - **Optimization Target**: First-epoch accuracy |
|
|
| ### Model Capabilities |
| - Generates complete, compilable PyTorch `nn.Module` classes |
| - Creates architectures with proper method signatures: |
| - `__init__(self, in_shape, out_shape, prm, device)` |
| - `forward(self, x)` |
| - `train_setup(self, prm)` |
| - `learn(self, train_data)` |
| - Produces novel, structurally diverse architectures |
| - Respects parameter constraints and resource limits |
| - Generates architectures optimized for fast convergence |
|
|
| ### Out-of-Scope Use Cases |
| - Not optimized for other datasets (MNIST, ImageNet, etc.) |
| - Not designed for other tasks (object detection, segmentation, etc.) |
| - Not optimized for multi-epoch training (focuses on first-epoch performance) |
|
|
| ## How to Use |
|
|
| ### Installation |
| ```bash |
| pip install torch transformers peft accelerate |
| ``` |
|
|
| ### Basic Usage |
|
|
| ```python |
| from transformers import AutoModelForCausalLM, AutoTokenizer |
| import torch |
| |
| # Load model and tokenizer |
| model = AutoModelForCausalLM.from_pretrained( |
| "out/iterative_cycles_v2/cycle_18/merged_model", |
| torch_dtype=torch.float16, |
| device_map="auto" |
| ) |
| |
| tokenizer = AutoTokenizer.from_pretrained( |
| "out/iterative_cycles_v2/cycle_18/merged_model" |
| ) |
| |
| # Prepare prompt |
| system_prompt = "You are an expert PyTorch architecture designer specializing in creating UNIQUE, high-performing neural networks optimized for first-epoch accuracy." |
| |
| user_prompt = """Task: Design a PyTorch CV model for image classification. |
| Dataset: CIFAR-10 (32×32 RGB, channels-first C×H×W). |
| Resource limits: params ≤ 500000; latency budget: tight (edge-friendly). |
| Constraints: use standard layers only; no pretrained weights. |
| **REQUIRED FORMAT**: |
| - Class name: `Net(nn.Module)` |
| - Constructor: `def __init__(self, in_shape: tuple, out_shape: tuple, prm: dict, device: torch.device) -> None` |
| - Forward: `def forward(self, x: torch.Tensor) -> torch.Tensor` |
| - REQUIRED METHODS: `train_setup(self, prm)` and `learn(self, train_data)` |
| - REQUIRED FUNCTION: `def supported_hyperparameters(): return {'lr', 'momentum'}` |
| - REQUIRED IMPORTS: `import torch` and `import torch.nn as nn` |
| **PRIMARY OBJECTIVE**: Achieve MAXIMUM ACCURACY after FIRST EPOCH of training on CIFAR-10.""" |
| |
| # Format as chat |
| messages = [ |
| {"role": "system", "content": system_prompt}, |
| {"role": "user", "content": user_prompt} |
| ] |
| |
| # Tokenize |
| input_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) |
| inputs = tokenizer(input_text, return_tensors="pt").to(model.device) |
| |
| # Generate |
| with torch.no_grad(): |
| outputs = model.generate( |
| **inputs, |
| max_new_tokens=2048, |
| temperature=0.20, |
| top_k=50, |
| top_p=0.9, |
| do_sample=True, |
| pad_token_id=tokenizer.eos_token_id |
| ) |
| |
| # Decode |
| response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True) |
| print(response) |
| ``` |
|
|
| ### Generation Parameters (Recommended) |
| - **Temperature**: 0.20 (focused, deterministic) |
| - **Top-k**: 50 |
| - **Top-p**: 0.9 |
| - **Max New Tokens**: 2048 |
| - **Do Sample**: True |
|
|
| ## Training Data |
|
|
| ### Initial Training Data |
| - **Source**: Curated from LEMUR database |
| - **Size**: 1,698 examples (after deduplication) |
| - **Format**: Chat format with system/user/assistant messages |
| - **Content**: PyTorch neural network architectures with accuracy scores |
|
|
|
|
| ## Evaluation |
|
|
| ### Evaluation Protocol |
| - **Dataset**: CIFAR-10 |
| - **Training**: 1 epoch only |
| - **Hyperparameters** (fixed): |
| - Learning rate: 0.01 |
| - Momentum: 0.9 |
| - Batch size: 10 |
| - Optimizer: SGD |
| - Data augmentation: Normalization + random horizontal flip |
| - **Metric**: First-epoch accuracy |
|
|
| ### Validation Process |
| 1. **Compilation Check**: Verify Python syntax and PyTorch compatibility |
| 2. **Training**: Train for 1 epoch on CIFAR-10 |
| 3. **Evaluation**: Compute accuracy on test set |
| 4. **Novelty Check**: AST-based structural analysis to ensure uniqueness |
|
|
| ## Limitations |
|
|
| 1. **Dataset Specificity**: Optimized for CIFAR-10; may not generalize to other datasets |
| 2. **Single Epoch Focus**: Optimized for first-epoch performance, not long-term training |
| 3. **Fixed Evaluation Protocol**: Uses fixed hyperparameters; may not reflect best-case performance |
| 4. **Computational Cost**: Requires significant GPU memory (~20-30GB for inference) |
| 5. **Generation Variability**: Success rate is ~59%; some generations may fail validation |
|
|
| ## Citation |
|
|
| If you use this model, please cite: |
|
|
| ```bibtex |
| @article{nn_novelty_generation_2025, |
| title={Emergent Architectural Novelty in Deep Models via LLM–Driven Synthesis}, |
| author={Waleed Khalid, Dr. Dimytro Ignatove and Prof. Dr. Radu Timofte}, |
| journal={Proceedings of ACL 2025}, |
| year={2025} |
| } |
| ``` |
|
|
| ## Model Card Information |
|
|
| - **Model Type**: Causal Language Model (Decoder-only) |
| - **Language**: Python (PyTorch code generation) |
| - **License**: Check base model license (DeepSeek-Coder-7B-Instruct-v1.5) |
| - **Fine-Tuning Date**: 2025 |
| - **Fine-Tuning Method**: Iterative Supervised Fine-Tuning with LoRA |
| - **Base Model**: deepseek-ai/deepseek-coder-7b-instruct-v1.5 |
|
|
| ## Acknowledgments |
|
|
| - Base model: [DeepSeek-Coder-7B-Instruct-v1.5](https://huggingface.co/deepseek-ai/deepseek-coder-7b-instruct-v1.5) |
| - Training framework: HuggingFace Transformers, PEFT (LoRA) |
| - Evaluation: CIFAR-10 dataset |
|
|
| ## Model Details |
| - Developed by: [Waleed Khalid / ABrain] |
| - Finetuned from model: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B |
| - Model type: Causal Language Model (Transformer-based) |
| - Language(s) (NLP): Primarily English (or multilingual, if applicable) |
| - License: MIT |
| ## Model Sources |
| - Repository: ABrain/NNGPT-UniqueArch-Rag |
| --- |
|
|
| **Note**: This model was trained through an iterative fine-tuning process over 22 cycles. Cycle 18 (This) represents the best-performing checkpoint with optimal balance of accuracy, quality, and generation success rate. |
|
|
|
|