说明文档
这是重新创建 roneneldan/TinyStories-1M 的第一个版本,但使用的是 Llama 架构。
-
完整的训练过程包含在 notebook train.ipynb 中。重新创建它非常简单,只需下载 TinyStoriesV2-GPT4-train.txt 和 TinyStoriesV2-GPT4-valid.txt,放在与 notebook 相同的文件夹中,然后运行单元格即可。验证内容不会被脚本使用,所以你可以放任何东西在
-
Backup 目录中有一个脚本 do_backup,我用它来将权重从远程机器复制到本地。权重生成得非常快,以至于脚本复制完权重 N+1 时
-
这是一个非常 PoC 的版本。训练会截断长于上下文大小的故事,并且不使用任何滑动窗口来从头开始训练故事
-
训练在 40GB A100 上大约用了 9 小时(每个 epoch 3 小时)。使用了约 30GB VRAM
-
我使用 open_llama_3b 的分词器。然而我在本地使用时遇到了问题 (https://github.com/openlm-research/open_llama/issues/69)。在预装了库的云机器上没有这个问题。
-
Demo 脚本是 demo.py
-
验证脚本提供如下:valid.py。使用方法为
python valid.py path/to/TinyStoriesV2-GPT4-valid.txt [optional-model-id-or-path]:训练后我认为没有必要将验证集分块处理 -
此版本使用了一个非常愚蠢的缓存机制来打乱故事进行训练:它保留 N 个最近加载的块的缓存,所以如果随机打乱请求一个故事,它可能会使用缓存或加载块。训练数据集太小,所以在下一个版本中我会去掉它。
from transformers import AutoModelForCausalLM, AutoTokenizer
Maykeye/TinyLLama-v0
作者 Maykeye
创建时间: 2023-07-08 04:50:15+00:00
更新时间: 2025-03-05 12:38:35+00:00
在 Hugging Face 上查看