Views
No views yet
Text/DSdata.txt - 包含大量中文文本语料train_final_optimized.py<END>data.txt - 包含结构化数据,每组数据以<END>结尾sft_train.pyText/hongloumeng.txt - 红楼梦Text/sanguoyanyi.txt - 三国演义Text/shuihuzhuan.txt - 水浒传Text/xiyouji.txt - 西游记train_final_optimized.py(加载预训练权重)own_gpt/
├── model_optimized.py # 内存优化的GPT模型实现
├── train_final_optimized.py # 优化的训练脚本(第一阶段、第三阶段)
├── sft_train.py # 停止标识符训练脚本(第二阶段)
├── test_final_optimized.py # 模型测试脚本
├── deepseek_local_comparison.py # DeepSeek对比评估
├── Tokenizer.py # 分词器训练和测试
├── model_comparison_evaluation.py # 模型比较评估
├── data.txt # 第二阶段训练数据(停止标识符)
├── tokenizer.model # 训练好的分词器模型
├── tokenizer.vocab # 分词器词汇表
├── saved_models/ # 保存的模型权重
│ ├── gpt_model_final_*.pth # 第一阶段训练模型
│ ├── gpt_model_enhanced_*.pth # 第二阶段增强停止模型
│ ├── training_curves_*.png # 训练曲线图
│ └── training_info_*.json # 训练信息
└── Text/ # 原始文本数据
├── DSdata.txt # 第一阶段训练数据(基础语料)
├── hongloumeng.txt # 第三阶段训练数据(红楼梦)
├── sanguoyanyi.txt # 第三阶段训练数据(三国演义)
├── shuihuzhuan.txt # 第三阶段训练数据(水浒传)
└── xiyouji.txt # 第三阶段训练数据(西游记)pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu128pip install sentencepiece matplotlib numpy pandas seaborn rouge-score bert-score nltk openaipython -c "import torch; print(f'PyTorch版本: {torch.__version__}, CUDA可用: {torch.cuda.is_available()}')"1# 使用DSdata.txt进行基础训练
2python train_final_optimized.py1# 使用data.txt进行停止标识符训练
2python sft_train.py1# 加载预训练模型,使用四大名著数据进行继续训练
2python train_final_optimized.py --resume saved_models/gpt_model_enhanced_stop_20251003_200243.pth1# 测试模型生成效果
2python test_final_optimized.py1# 进行模型对比评估
2python deepseek_local_comparison.py




model_optimized.py)train_final_optimized.py)sft_train.py)1d_model = 512 # 模型维度
2h = 8 # 注意力头数
3Nx = 6 # Transformer层数
4batch_size = 16 # 批次大小
5max_seq_len = 2048 # 最大序列长度Tokenizer.py)<END>, 关键词:, 诗词:test_final_optimized.py)deepseek_local_comparison.py)1from model_optimized import MemoryOptimizedBigramLM
2import torch
3import sentencepiece as spm
4
5# 加载模型和分词器
6model = MemoryOptimizedBigramLM(vocab_size=8000)
7model.load_state_dict(torch.load("saved_models/gpt_model_enhanced_stop_20251003_200243.pth"))
8sp = spm.SentencePieceProcessor()
9sp.load("tokenizer.model")
10
11# 生成文本
12prompt = "关键词: 风 雾 寂寞"
13context = torch.tensor([sp.encode(prompt)], dtype=torch.long)
14generated = model.generate(context, max_new_tokens=200)
15output = sp.decode(generated[0].tolist())
16print(output)1# 优化生成参数
2generated = model.generate(
3 context,
4 max_new_tokens=200,
5 temperature=0.8, # 控制随机性
6 top_k=50, # 限制候选词
7 repetition_penalty=1.3 # 减少重复
8)