初始化项目,由ModelHub XC社区提供模型
Model: Xen0pp/SmolLM-ML-Planner-500-V3 Source: Original Platform
This commit is contained in:
35
.gitattributes
vendored
Normal file
35
.gitattributes
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
*.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
|
||||||
115
README.md
Normal file
115
README.md
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
---
|
||||||
|
language:
|
||||||
|
- en
|
||||||
|
license: apache-2.0
|
||||||
|
tags:
|
||||||
|
- smollm
|
||||||
|
- fine-tuned
|
||||||
|
- machine-learning
|
||||||
|
- ml-project-planning
|
||||||
|
- ml-advisor
|
||||||
|
- unsloth
|
||||||
|
library_name: transformers
|
||||||
|
base_model: Xen0pp/Smollm3_720prms
|
||||||
|
metrics:
|
||||||
|
- loss
|
||||||
|
pipeline_tag: text-generation
|
||||||
|
widget:
|
||||||
|
- text: "How do I plan a customer churn prediction project?"
|
||||||
|
example_title: "Project Planning"
|
||||||
|
- text: "I have only 500 labeled examples. What's my strategy?"
|
||||||
|
example_title: "Small Data Strategy"
|
||||||
|
- text: "What's a realistic timeline for an NLP project?"
|
||||||
|
example_title: "Timeline Estimation"
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🤖 SmolLM ML Project Planner V3 (500 Examples)
|
||||||
|
|
||||||
|
**Production-grade ML project planning assistant** - Your expert advisor for designing, scoping, and executing machine learning projects.
|
||||||
|
|
||||||
|
## 🌟 What's New in V3
|
||||||
|
|
||||||
|
**Major Upgrade:** Trained on **500 comprehensive ML project planning examples**
|
||||||
|
|
||||||
|
### Training Results (Excellent!)
|
||||||
|
|
||||||
|
- **Final Training Loss:** 0.0516 ⭐ (extremely low!)
|
||||||
|
- **Validation Loss:** 0.0516
|
||||||
|
- **Training Examples:** 450
|
||||||
|
- **Validation Examples:** 50
|
||||||
|
- **Epochs:** 5
|
||||||
|
- **Training Time:** ~6 minutes (Unsloth)
|
||||||
|
- **GPU Memory:** 1.076 GB peak
|
||||||
|
|
||||||
|
### Capabilities
|
||||||
|
|
||||||
|
✅ Expert-level project initiation & scoping
|
||||||
|
✅ Comprehensive data strategy planning
|
||||||
|
✅ Domain-specific model selection (CV, NLP, RecSys, TS)
|
||||||
|
✅ Detailed & realistic timeline estimation
|
||||||
|
✅ Complete budget breakdowns
|
||||||
|
✅ Production-ready risk assessment
|
||||||
|
✅ Full MLOps & deployment guidance
|
||||||
|
|
||||||
|
## 🚀 Quick Start
|
||||||
|
```python
|
||||||
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||||
|
import torch
|
||||||
|
|
||||||
|
# Load model
|
||||||
|
model = AutoModelForCausalLM.from_pretrained(
|
||||||
|
"Xen0pp/SmolLM-ML-Planner-500-V3",
|
||||||
|
torch_dtype=torch.bfloat16,
|
||||||
|
device_map="auto"
|
||||||
|
)
|
||||||
|
tokenizer = AutoTokenizer.from_pretrained("Xen0pp/SmolLM-ML-Planner-500-V3")
|
||||||
|
|
||||||
|
# Ask for ML project planning advice
|
||||||
|
messages = [
|
||||||
|
{"role": "system", "content": "You are an expert ML project planning advisor."},
|
||||||
|
{"role": "user", "content": "How do I plan a recommendation system project?"}
|
||||||
|
]
|
||||||
|
|
||||||
|
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(model.device)
|
||||||
|
outputs = model.generate(inputs, max_new_tokens=400, temperature=0.7, top_p=0.9)
|
||||||
|
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
||||||
|
print(response)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 💡 Example Outputs
|
||||||
|
|
||||||
|
**Input:** "I have 300 labeled examples. Can I build a production model?"
|
||||||
|
|
||||||
|
**V3 Output:** Complete strategy including transfer learning, data augmentation, active learning, expected accuracy ranges, and cost-benefit analysis.
|
||||||
|
|
||||||
|
**Input:** "What's a realistic timeline for NLP sentiment analysis?"
|
||||||
|
|
||||||
|
**V3 Output:** Phase-by-phase breakdown: PoC (3-4 weeks, $10K-$25K), MVP (8-12 weeks, $50K-$100K), Production (5-7 months, $150K-$300K).
|
||||||
|
|
||||||
|
## 📊 Model Details
|
||||||
|
|
||||||
|
- **Base:** SmolLM2-360M-Instruct
|
||||||
|
- **Parameters:** 370M total, 8.7M trainable (2.34%)
|
||||||
|
- **Context:** 2048 tokens
|
||||||
|
- **Size:** 720MB (BF16)
|
||||||
|
- **Training:** Unsloth LoRA (r=16, alpha=16)
|
||||||
|
|
||||||
|
## 🆚 Version History
|
||||||
|
|
||||||
|
| Version | Examples | Loss | Use Case |
|
||||||
|
|---------|----------|------|----------|
|
||||||
|
| V1 | 6 | - | Demo |
|
||||||
|
| V3 | 500 | 0.0516 | **Production** ⭐ |
|
||||||
|
|
||||||
|
## 📝 License
|
||||||
|
|
||||||
|
Apache 2.0
|
||||||
|
|
||||||
|
## 🔗 Links
|
||||||
|
|
||||||
|
- **Base Model:** [HuggingFaceTB/SmolLM2-360M-Instruct](https://huggingface.co/HuggingFaceTB/SmolLM2-360M-Instruct)
|
||||||
|
- **Training:** [Unsloth](https://github.com/unslothai/unsloth)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Built with ❤️ for the ML community - Helping practitioners plan successful ML projects*
|
||||||
6
chat_template.jinja
Normal file
6
chat_template.jinja
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system
|
||||||
|
You are a helpful AI assistant named SmolLM, trained by Hugging Face<|im_end|>
|
||||||
|
' }}{% endif %}{{'<|im_start|>' + message['role'] + '
|
||||||
|
' + message['content'] + '<|im_end|>' + '
|
||||||
|
'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant
|
||||||
|
' }}{% endif %}
|
||||||
40
config.json
Normal file
40
config.json
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"architectures": [
|
||||||
|
"LlamaForCausalLM"
|
||||||
|
],
|
||||||
|
"attention_bias": false,
|
||||||
|
"attention_dropout": 0.0,
|
||||||
|
"bos_token_id": 1,
|
||||||
|
"torch_dtype": "float16",
|
||||||
|
"eos_token_id": 2,
|
||||||
|
"head_dim": 64,
|
||||||
|
"hidden_act": "silu",
|
||||||
|
"hidden_size": 960,
|
||||||
|
"initializer_range": 0.02,
|
||||||
|
"intermediate_size": 2560,
|
||||||
|
"is_llama_config": true,
|
||||||
|
"max_position_embeddings": 8192,
|
||||||
|
"mlp_bias": false,
|
||||||
|
"model_type": "llama",
|
||||||
|
"num_attention_heads": 15,
|
||||||
|
"num_hidden_layers": 32,
|
||||||
|
"num_key_value_heads": 5,
|
||||||
|
"pad_token_id": 49152,
|
||||||
|
"pretraining_tp": 1,
|
||||||
|
"rms_norm_eps": 1e-05,
|
||||||
|
"rope_interleaved": false,
|
||||||
|
"rope_parameters": {
|
||||||
|
"rope_theta": 100000,
|
||||||
|
"rope_type": "default"
|
||||||
|
},
|
||||||
|
"tie_word_embeddings": true,
|
||||||
|
"transformers.js_config": {
|
||||||
|
"kv_cache_dtype": {
|
||||||
|
"fp16": "float16",
|
||||||
|
"q4f16": "float16"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unsloth_version": "2026.3.15",
|
||||||
|
"use_cache": false,
|
||||||
|
"vocab_size": 49153
|
||||||
|
}
|
||||||
3
model.safetensors
Normal file
3
model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:720eadcec1e358dd6ba74473a8128a95adede0b9d67bf0171bf894fc4d61e7d8
|
||||||
|
size 723676832
|
||||||
244983
tokenizer.json
Normal file
244983
tokenizer.json
Normal file
File diff suppressed because it is too large
Load Diff
17
tokenizer_config.json
Normal file
17
tokenizer_config.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"add_prefix_space": false,
|
||||||
|
"backend": "tokenizers",
|
||||||
|
"bos_token": "<|im_start|>",
|
||||||
|
"clean_up_tokenization_spaces": false,
|
||||||
|
"eos_token": "<|im_end|>",
|
||||||
|
"errors": "replace",
|
||||||
|
"extra_special_tokens": [],
|
||||||
|
"is_local": false,
|
||||||
|
"model_max_length": 8192,
|
||||||
|
"pad_token": "<|PAD_TOKEN|>",
|
||||||
|
"padding_side": "left",
|
||||||
|
"tokenizer_class": "GPT2Tokenizer",
|
||||||
|
"unk_token": "�",
|
||||||
|
"vocab_size": 49152,
|
||||||
|
"chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\nYou are a helpful AI assistant named SmolLM, trained by Hugging Face<|im_end|>\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user