- # why - 了解大语言模型背后的原理 - # what - ![](https://image.harryrou.wiki/2024-10-24-cFJF3W517064415905z.jpg) - ||预训练 pre-training|后训练 post-training| |--|--|--| |训练时间|很长:十几天-几十天 | 几天时间| |训练成本|很高:几十万-数百万美元|低| |训练方式|端到端:没有人为干预,通过特征学习识别了海量数据中的模式、结果和关系|人类干预| |本质|准确预测下一个 token|预测下一个词的同时回答问题| |结果|获得一份不再更新的参数文件;网页文档模拟器;可以部署;|AI assistant 助理;可以部署| - # how - [[LLM 预训练前的准备]] - 数据收集、处理、 [[tokenization]]、建立[[词汇表]]等[[超参数]] - [[LLM 预训练]] :99% 的训练时间,获得一个海量阅读的 base model - [[Embedding]] - [[Transformer]] - 通过[[Backpropagation 反向传播算法]]优化[[Loss function 损失函数]],来更新[[parameters 参数]] - [[SFT 监督微调]]:在特定领域进行海量的Q&A - [[RM 奖励模型]]:相当于价值观树立,人类偏好 - [[RLHF 基于人类反馈的强化学习]]:通过人类的反馈来优化智能体的行为,使其更符合人类的偏好 - # how good - - # Ref. - [[Intro to LLM]] - [[state of GPT]] - [[Deep Dive into LLMs like ChatGPT]] - [chat w gpt - LLM 训练步骤](https://readwise.io/reader/shared/01jp74c2kjj2ke0a7273d85q2n) - [[LLM Visualization nano-gpt]]:和 3b1b 一起看 - [[《这就是 ChatGPT》]] - [[3Blue1Brown]] - Harry,大语言模型(Large Language Model,简称LLM)的训练通常涉及以下几个主要步骤: - ### 一、数据收集(Data Collection) - **来源:** - 网络数据(如网页、论坛、维基百科) - 图书馆电子书籍 - 公开或私人数据集 - 专业领域文档(例如科学论文、新闻报道) - **特点:** - 数据规模巨大(通常达到几百GB甚至数TB) - 数据多样性(语言风格、主题、表达方式) - ### 二、数据清洗与预处理(Data Cleaning & Preprocessing) - **去除噪音**:删除无关、重复或格式不正确的数据。 - **文本规范化**:包括去除特殊字符、统一大小写、去掉或替换敏感词汇。 - **分词与Tokenization**: - 使用BPE(Byte Pair Encoding)或SentencePiece等算法将文本转为token序列。 - ### 三、构建模型架构(Model Architecture Design) - 典型架构是**Transformer**(如GPT系列)。 - 包括设置层数(Layers)、头数(Heads)、隐藏层维度(Hidden Size)等超参数。 - ### 四、预训练(Pre-training) - **目标**:让模型学习语言的基本模式和上下文关系。 - **方法**:一般使用**自监督学习**: - 常用任务:**下一个单词预测**(Next-word Prediction)或掩码语言建模(Masked Language Modeling)。 - **特点**: - 训练规模大、耗时长(通常需要成百上千个GPU、持续几个月)。 - 一般使用分布式训练(Distributed Training)和混合精度训练(Mixed Precision)。 - ### 五、微调(Fine-tuning) - 在预训练基础上,针对具体任务或数据进一步调整模型。 - 常见任务: - 文本分类(Text Classification) - 问答系统(Question Answering) - 摘要生成(Summarization) - 聊天对话(Chatbot) - 微调数据一般为较小规模、高质量的人工标注数据。 - ### 六、指令微调与人类反馈强化学习(RLHF,Reinforcement Learning from Human Feedback) - 这是ChatGPT等模型重要的一步: - 先进行指令微调(Instruction-tuning),学习如何遵循人类指令输出内容。 - 再引入人类反馈,通过奖励或惩罚机制训练,使模型输出更贴近人类偏好。 - ### 七、评估与迭代(Evaluation & Iteration) - 使用标准数据集评估模型性能: - 标准基准:如GLUE、SuperGLUE、MMLU - 收集用户反馈或专家评价,持续改进: - 不断优化模型结构、训练数据和训练策略。 - ### 八、部署与应用(Deployment & Application) - 模型压缩:如量化(Quantization)、蒸馏(Distillation),提高推理效率。 - 模型部署:通过API、网页接口、应用程序等形式提供服务。 --- 总的来说,大语言模型的训练过程非常耗时、耗资源,但正是这些繁杂的步骤和大量投入,才确保了模型具备强大的语言理解和生成能力。