返回模型
说明文档
🧠 训练配置
该模型使用以下模型架构进行训练:
⚙️ 模型架构
| 参数 | 值 | 描述 |
|---|---|---|
d_model |
768 | 隐藏层维度大小 |
n_layers |
12 | Transformer 解码器层数 |
n_heads |
12 | 每层注意力头数量 |
max_len |
256 | 最大 token 序列长度 |
dropout |
0.1 | Dropout 比率 |
use_rope |
True | 启用旋转位置编码 |
tie_weights |
True | 输出层与嵌入层权重共享 |
| 总参数量 | ≈ 1.36 亿 | (与 GPT-Neo-125M 相当) |
🧾 优化器与训练
| 参数 | 值 | 描述 |
|---|---|---|
optimizer |
AdamW | Transformer 标准优化器 |
lr |
3e-4 | 学习率 |
weight_decay |
0.01 | L2 正则化 |
betas |
(0.9, 0.95) | 动量系数 |
grad_clip |
1.0 | 梯度裁剪阈值 |
epochs |
15 | 训练轮数 |
scheduler |
Cosine | 学习率调度器 |
warmup_steps |
auto | 自动计算预热步数 |
mixed_precision |
True | FP16 混合精度训练 |
grad_accum_steps |
1 | 梯度累积步数 |
📚 数据集
| 来源 | 描述 |
|---|---|
| RecipeNLG CSV | 一个经过清洗和结构化的食谱数据集,包含食材、标题和分步说明。 |
| 处理的 Token 数 | ~200 万 |
| 预处理 | 小写化、食材数量标准化、Unicode 清理、去除重复项以及 BPE 分词(词表 ≈ 8k)。 |
🔢 分词器
- 类型: Byte-Pair Encoding (BPE)
- 路径:
tokenizer/bpe.json - 词表大小: 与训练分词器一致
- 特殊标记:
<bos>、<eos>在生成时显式处理
🧮 计算环境
| 设置 | 值 |
|---|---|
| 平台 | Google Colab Pro+ |
| GPU | NVIDIA A100 (80 GB) |
| 运行时 | PyTorch 2.x |
| 训练时间 | ~18-22 小时 |
| 混合精度 | 已启用 (AMP) |
🧮 硬件与可复现性
- 随机种子: 42
- 设备: 自动 (如有 GPU 则使用 GPU)
- 混合精度: 已启用 (FP16)
- 在 Colab Pro+ 上使用 T4/A100 GPU 训练了 3 个 epoch。
🧩 概述
Scraps-LLM 是一个 1.38 亿参数的纯解码器 Transformer,训练用于根据输入的食材列表生成完整的烹饪食谱。
该模型通过在 RecipeNLG 数据上进行**因果语言建模(下一个 token 预测)**来学习,生成包含标题和编号步骤的结构化、可读性强的食谱。
随后被导出为 ONNX 格式以实现轻量级 CPU 推理,并集成到 Hugging Face Space 演示中。
📈 评估 (验证集)
| 指标 | 值 |
|---|---|
| 验证集困惑度 | ~7.1 |
| BLEU-1 | 37.1 |
| ROUGE-L | 6.7 |
🧰 包含文件
| 文件 | 描述 |
|---|---|
export/scraps.onnx |
ONNX 优化推理图 |
tokenizer/bpe.json |
用于编码/解码的 BPE 词表 |
best_model.pt |
PyTorch 检查点 (~1.38 亿参数) |
donribbs/scraps-llm-model
作者 donribbs
text-generation
pytorch
↓ 0
♥ 0
创建时间: 2025-10-30 17:57:09+00:00
更新时间: 2025-11-11 14:25:52+00:00
在 Hugging Face 上查看文件 (6)
.gitattributes
.gitignore
README.md
best_model.pt
export/scraps.onnx
ONNX
tokenizer/bpe.json