# python-gpt模型 **Repository Path**: kaimapj/python-gpt-model ## Basic Information - **Project Name**: python-gpt模型 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-27 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI大模型训练工具 一个简单易用的AI大模型训练工具,支持使用测试数据和数据库数据进行模型训练,适合小数据量场景。 ## 功能特点 - ✅ 支持测试数据训练 - ✅ 支持数据库查询数据训练 - ✅ 支持MySQL和PostgreSQL数据库 - ✅ 自动数据预处理和格式转换 - ✅ 适合小数据量训练(优化了训练参数) - ✅ 基于Transformers库,支持多种预训练模型 ## 安装 1. 安装Python依赖: ```bash pip install -r requirements.txt ``` 2. 如果使用MySQL,需要安装MySQL客户端库(可选,已包含在requirements.txt中) 3. 如果使用PostgreSQL,需要安装PostgreSQL客户端库(可选,已包含在requirements.txt中) ## 使用方法 ### 1. 仅使用测试数据训练 ```bash python train.py --use-test-data ``` ### 2. 使用数据库数据训练 首先编辑 `config.json` 文件,配置数据库信息: ```json { "use_database": true, "database": { "db_type": "mysql", "host": "localhost", "port": 3306, "user": "your_user", "password": "your_password", "database": "your_database", "table_name": "your_table", "limit": 100 } } ``` 然后运行: ```bash python train.py --use-db ``` ### 3. 同时使用测试数据和数据库数据 ```bash python train.py --use-test-data --use-db ``` ### 4. 自定义训练参数 ```bash python train.py \ --use-test-data \ --model-name gpt2 \ --epochs 5 \ --batch-size 8 ``` ## 配置文件说明 编辑 `config.json` 文件可以配置训练参数: - `use_test_data`: 是否使用测试数据(默认: true) - `use_database`: 是否使用数据库数据(默认: false) - `model_name`: 预训练模型名称(默认: "gpt2") - 可选模型: "gpt2", "bert-base-chinese", "chinese-gpt2" 等 - `epochs`: 训练轮数(默认: 3,小数据量建议3-5轮) - `batch_size`: 批次大小(默认: 4,根据显存调整) - `learning_rate`: 学习率(默认: 5e-5) - `output_dir`: 模型输出目录(默认: "./model_output") - `database`: 数据库配置信息 ## 项目结构 ``` . ├── train.py # 主训练脚本 ├── trainer.py # 模型训练器 ├── db_connector.py # 数据库连接器 ├── data_processor.py # 数据处理器 ├── test_data.py # 测试数据生成器 ├── config.json # 配置文件 ├── requirements.txt # 依赖包列表 └── README.md # 说明文档 ``` ## 数据格式 ### 训练数据格式 训练数据应为JSON格式,每条数据包含 `input` 和 `output` 字段: ```json [ { "input": "问题内容", "output": "回答内容" } ] ``` ### 数据库数据格式 数据库查询返回的记录会自动转换为训练数据格式。系统会自动识别以下字段: - ID字段: `id`, `ID`, `Id`, `record_id` - 名称字段: `name`, `title`, `名称`, `标题` - 内容字段: `content`, `description`, `内容`, `描述` - 日期字段: `date`, `time`, `日期`, `时间` ## 注意事项 1. **小数据量训练**: 本工具针对小数据量进行了优化,训练参数已调整 2. **显存要求**: 根据模型大小和batch_size调整,建议使用GPU训练 3. **模型选择**: 对于中文任务,建议使用中文预训练模型 4. **数据质量**: 确保训练数据质量,避免噪声数据影响模型效果 ## 示例 ### 示例1: 使用测试数据训练 ```bash python train.py --use-test-data --epochs 3 ``` ### 示例2: 使用MySQL数据库训练 1. 配置 `config.json` 中的数据库信息 2. 运行: `python train.py --use-db` ### 示例3: 混合训练 ```bash python train.py --use-test-data --use-db --epochs 5 --batch-size 8 ``` ## 输出 训练完成后,模型会保存在 `model_output/final_model/` 目录下,包含: - `pytorch_model.bin`: 模型权重 - `config.json`: 模型配置 - `tokenizer_config.json`: 分词器配置 - `vocab.json`: 词汇表(如适用) ## 故障排除 1. **数据库连接失败**: 检查数据库配置信息是否正确,确保数据库服务正在运行 2. **显存不足**: 减小 `batch_size` 或使用更小的模型 3. **训练数据为空**: 检查数据库查询是否返回数据,或确保测试数据已加载 ## 许可证 MIT License