Morget-01 / config.py
MGFeng's picture
Update config.py
0b6c1f8 verified
Raw
History Blame Contribute Delete
1.99 kB
import os
from typing import Dict, Any, List
MASTER_SECRET = os.getenv("MASTER_SECRET", "nightglow-secret-key-2024")
REPO_ID = "MGFeng/Nightglow-AI" # 训练数据仓库
BUCKET_ID = "MGFeng/Nightglow-AI-storage" # 模型存储桶
HEARTBEAT_TIMEOUT = 90
DATA_SOURCES = [
"nvidia/OpenCodeInstruct",
"Fsoft-AIC/the-vault-function",
"MGFeng/Nightglow-AI",
]
MODEL_PRESETS: Dict[str, Dict[str, Any]] = {
"3B": {
"hidden_size": 3200,
"num_layers": 18,
"num_heads": 20,
"num_experts": 8,
"num_kv_heads": 20,
"intermediate_size": 12800,
"vocab_size": 49152,
"max_position_embeddings": 8192,
"dropout": 0.1,
"tasks": 1000,
},
}
TRAINING_CONFIG = {
"batch_size": 2,
"max_seq_length": 512,
"learning_rate": 1e-4,
"gradient_clip": 1.0,
"weight_decay": 0.01,
"warmup_steps": 100,
"lr_scheduler": "cosine",
"use_fp16": True,
}
SORTED_SIZES = list(MODEL_PRESETS.keys())
class ConfigManager:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
cls._instance._initialized = False
return cls._instance
def __init__(self):
if self._initialized:
return
self._config = {
"target_size": "3B",
"data_source": DATA_SOURCES[0],
"language": "python",
"total_steps": 1000,
"steps_per_task": 100,
**TRAINING_CONFIG,
}
self._initialized = True
print("✅ ConfigManager initialized")
def get(self, key: str, default=None):
return self._config.get(key, default)
def set(self, key: str, value: Any) -> bool:
if key not in self._config:
return False
self._config[key] = value
return True
def get_all(self) -> Dict[str, Any]:
return self._config.copy()
config = ConfigManager()