LLM 训练 - 数据准备
Reading time: 6 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
这些是我从非常推荐的书籍中做的笔记 https://www.manning.com/books/build-a-large-language-model-from-scratch 以及一些额外的信息。
基本信息
您应该先阅读这篇文章,以了解一些您应该知道的基本概念:
1. 分词
tip
这个初始阶段的目标非常简单:以某种有意义的方式将输入划分为标记(id)。
2. 数据采样
tip
这个第二阶段的目标非常简单:对输入数据进行采样,并为训练阶段准备,通常通过将数据集分隔为特定长度的句子,并生成预期的响应。
3. 标记嵌入
tip
这个第三阶段的目标非常简单:为词汇表中的每个标记分配一个所需维度的向量以训练模型。 词汇表中的每个单词将在 X 维空间中占据一个点。
请注意,最初每个单词在空间中的位置是“随机”初始化的,这些位置是可训练的参数(在训练过程中会得到改善)。
此外,在标记嵌入过程中创建了另一层嵌入,它表示(在这种情况下)单词在训练句子中的绝对位置。这样,句子中不同位置的单词将具有不同的表示(含义)。
4. 注意机制
tip
这个第四阶段的目标非常简单:应用一些注意机制。这些将是许多重复的层,将捕捉词汇表中单词与当前用于训练 LLM 的句子中其邻居的关系。
为此使用了许多层,因此将有许多可训练的参数捕捉这些信息。
5. LLM 架构
tip
这个第五阶段的目标非常简单:开发完整 LLM 的架构。将所有内容组合在一起,应用所有层并创建所有生成文本或将文本转换为 ID 及其反向的函数。
该架构将用于训练和预测文本。
6. 预训练与加载模型
tip
这个第六阶段的目标非常简单:从头开始训练模型。为此,将使用之前的 LLM 架构,通过对数据集进行循环,使用定义的损失函数和优化器来训练模型的所有参数。
6. Pre-training & Loading models
7.0. LoRA 在微调中的改进
tip
使用LoRA 大大减少了微调已训练模型所需的计算。
7.0. LoRA Improvements in fine-tuning
7.1. 分类的微调
tip
本节的目标是展示如何微调一个已经预训练的模型,以便 LLM 不再生成新文本,而是给出给定文本被分类到每个给定类别的概率(例如,文本是否为垃圾邮件)。
7.1. Fine-Tuning for Classification
7.2. 按照指令进行微调
tip
本节的目标是展示如何微调一个已经预训练的模型以遵循指令,而不仅仅是生成文本,例如,作为聊天机器人响应任务。
7.2. Fine-Tuning to follow instructions
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。