大模型微调基本概念指北,零基础入门到精通,收藏这一篇就够了

本文主要分享一下大模型微调相关的基本概念,包括大模型(GPT)训练流程、微调(SFT)方法&分类&框架&最佳实践、强化学习(RLHF),最后则是分享了如何训练垂直领域大模型。


本文是参考网上博客、文章后进行总结而成,旨在让刚接触大模型的同学阅读后能对大模型训练的各个阶段有一个大致的概念。大佬可以直接跳过,或者也可以帮忙看下写错没有哈哈~

如果你在阅读过程中发现文中存在错误,请一定留言指正,感谢~

1. 大模型训练流程

ChatGPT 是如何炼成的

ChatGPT 是如何炼成的,或者说如何训练出一个大模型?

GPT 训练流程图如下:

gpt-train-pipeline.png

图源:medium.com[1]

图中的 Reward Modeling 和 Reinforcement Learning 可以看做一步,即 RLHF,因此训练一个大模型一般可以分为三步:

  • 1)预训练(Pre Training,PT):这一阶段是模型训练的基础,利用海量数据、大量算力通过无监督训练得到基座模型

  • 海量数据:一般按 T 计算,最少也是几百 G,数据通常包括从互联网上收集的大规模文本语料库,模型通过学习如何预测下一个词或 token

  • 大量算力:一般是上万块 GPU、时间则是按月计算

  • Llama 2 是在 2 万亿个 token 上训练的,Llama 2 70B 需要 1720320 GPU 小时

  • Llama 3 在 24K GPU 集群上训练,使用了 15T 的数据

  • 预训练后的模型具备强大的语言生成能力,但由于它主要是无监督训练的结果,可能不会直接适应具体的任务(如问答、对话),需要进一步的微调。

  • 2)监督微调(Supervised Fine-Tuning, SFT):这一阶段则是对基座模型进行微调,让模型能够适用特定任务,最终得到一个 SFT 模型

  • 微调的目的是让模型更好地理解特定任务的需求。例如,通过使用对话数据集对模型进行微调,可以让模型在遇到问题时生成更相关的答案,而不是简单地生成与问题相似的文本。

  • 这些问答对话由人类准备的,通常是有标签的,包含了问题和答案对,或者其他特定任务的数据。

  • 3)强化学习(Reinforcement Learning from Human Feedback, RLHF):这一阶段通过引入人类反馈(或者基于人类反馈训练的奖励模型)进一步优化模型的生成质量,使其生成的回答更符合用户的期望和人类的价值观。

  • Helpful:判断模型遵循用户指令以及推断指令的能力。

  • Honest:判断模型产生幻觉( 编造事实)的倾向。

  • Harmless:判断模型的输出是否适当、是否诋毁或包含贬义内容。

  • 一般根据 3H 原则进行打分:

  • 由于直接从人类获取反馈的成本较高,通常会先训练一个奖励模型(Reward Model,RM)来代替人类打分,这样可以在 RL 的框架下进行大规模的自动优化。

预训练由于对算力和数据需求都比较大,因此一般玩家不会涉及到预训练,更多的是基于开源的基础模型(LLama、Baichuan、Qwen、ChatGLM…)做微调、强化学习以满足自身需求。

模型名称各部分的含义

Qwen1.5-14B-Chat-GQPT-Int4 为例,可以分为 5 个部分,具体含义如下图:

model-name-means.png

5 个参数含义如下:

  • 模型系列:一般一个公司、组织的模型都会归属于同一个系列

  • 比如阿里的 Qwen 系列、Meta 的 Llama 系列,智普的 Chatglm 系列

  • 模型版本:一个系列的模型也会有多个版本,一般是有大更新时才会更新

  • 比如 Qwen 系列就存在 Qwen、Qwen1.5、Qwen2 三个系列

  • 参数量:一般为 xx B,B 为单位,表示 10 亿参数

  • 比如 7B 则是有 70 亿参数,72B 则是 720 亿参数

  • 这个只是一个大致范围,比如 68 亿、72 亿参数的模型一般也叫做 7B

  • 微调:开源模型为了能够直接使用,一般会提供经过问答任务微调的版本,即 Chat 模型

  • 量化:为了降低内存占用有的也会提供量化版本,比如大模型一般使用 FP32/FP16 精度,即一个参数占 4 或者 2 字节,而量化则是将权重参数使用更低精度的格式来存放,比如量化为 FP8 则是只需要 1 字节,Int4 则只需要 4 位。

我们需要注意的就是是否经过微调、量化:

  • 基座模型:不带任意后缀,或者 -Base 后缀,就是预训练后未经过微调的原始模型

  • 比如 Qwen1.5、Llama3

  • SFT 模型:带特定领域任务后缀,比如 xxx-chat,就是对基座模型做了问答任务微调。

  • 比如 Qwen1.5-Chat、Baichuan2-Chat

  • 量化模型:它通过将模型中的高精度浮点数参数转换为低精度的整数参数来减少模型的存储和计算需求。这样做可以显著降低模型的内存占用,加快推理速度,并减少能耗。量化可以带来显著的效率提升,但也可能引入一些精度损失

  • GGUF:GGUF(以前称为 GGML)是一种量化方法,允许用户使用 CPU 来运行 LLM,但也可以将其某些层加载到 GPU 以提高速度。

  • GQPT:GPTQ 是一种 4 位量化的训练后量化(PTQ)方法,主要关注 GPU 推理和性能。

  • AWQ:是一种新格式(激活感知权重量化),它是一种类似于 GPTQ 的 量化方法。AWQ 和 GPTQ 作为方法有几个不同之处,但最重要的是 AWQ 假设并非所有权重对 LLM 的性能都同等重要。也就是说在量化过程中会跳过一小部分权重,这有助于减轻量化损失。所以他们的论文提到了与 GPTQ 相比的可以有显著加速,同时保持了相似的,有时甚至更好的性能。

如何选择合适的模型?

  • 如果是直接部署推理,建议选择 Chat 模型,如果资源不够则选择量化版本。

  • 如果要做增量预训练、微调等操作则建议使用基座模型。

2. 微调(SFT)

什么是大模型微调

大模型微调,通常指有监督微调(Supervised Fine-Tuning, SFT),是在预训练模型(一般称为“基座模型”)的基础上进行的训练过程。

预训练模型通常已经掌握了广泛的语言知识和语义表示,但为了让模型在特定任务或领域上表现得更好,我们会在特定任务的数据集上对其进行微调。

为什么需要微调

微调是优化大模型在特定任务或领域表现的关键步骤。通过微调,模型不仅能在通用任务上表现出色,还能在特定应用场景中更好地满足用户的需求。它在任务性能、领域适应性、数据利用效率和计算成本等方面具有显著的优势。

具体为:

  • 任务特定性能提升:预训练模型虽然有广泛的语言理解能力,但在特定任务上(如情感分析、问答系统、机器翻译等)的表现可能不尽如人意。微调通过在任务特定的数据上进一步训练,使模型能够更好地理解和执行该任务。

  • 领域适应性:预训练模型可能在一些通用领域表现良好,但在特定领域(如医学、法律、金融等)中可能难以准确理解专业术语和内容结构。通过微调,可以让模型更好地适应这些领域的语言特点,提高在这些领域中的应用效果。

  • 数据稀缺性:对于一些数据稀缺的任务或领域,获取大量标签数据可能比较困难。微调允许在有限的数据集上进行有效训练,从而在数据稀缺的情况下也能取得较好的性能。

  • 防止过拟合:预训练过程中模型可能会过度拟合于无监督学习的任务(如下一个词预测),而在特定任务中表现不佳。通过微调,可以让模型专注于特定任务的数据,这有助于减少过拟合的风险,提高模型在该任务上的泛化能力。

  • 成本效益:与使用 prompt 来引导模型行为相比,微调通常可以更高效地优化模型的表现。微调后的模型通常可以更直接地执行任务,减少了对复杂提示的依赖。同时,微调可以在更小的模型上实现类似于大型模型的性能,从而降低推理的计算成本和延迟,比如与使用通用的 GPT-3.5 模型相比,经过微调的小型模型(如 LLaMA 7B)在成本效益上可能更具优势,尤其是在特定任务的执行上。

微调方法分类

微调根据更新参数量不同可以分为以下两种:

  • 全量参数更新 Full Fine-tuning(FFT):即对预训练模型的所有参数进行更新,训练速度较慢,消耗机器资源较多。

  • 参数高效微调 Parameter-Efficient Fine-Tuning(PEFT):只对部分参数做调整,训练速度快,消耗机器资源少。

理论上,预训练和微调都可以做全量参数更新和部分参数更新,但是一般实际训练时都是 预训练 + 全量,微调 + 部分参数更新 这样组合的

FFT 的原理,就是用特定的数据,对大模型进行训练,将 W 变成_W_′,_W_′相比 W,最大的优点就是上述特定数据领域的表现会好很多。

但 FFT 也会带来一些问题,影响比较大的问题,主要有以下两个:

  • 一个是训练的成本会比较高,因为全量微调的参数量跟预训练的是一样多的;

  • 一个是叫**灾难性遗忘(Catastrophic Forgetting)**,用特定训练数据去微调可能会把这个领域的表现变好,但也可能会把原来表现好的别的领域的能力变差。

  • 可以理解为:修复一个 bug 的同时又在别的地方引入了一个新的 bug。

另外,随着模型规模变得越来越大,这使得在消费级硬件上进行全量微调变得不可行,这也给参数高效微调技术研究提供了空间。

PEFT 主要想解决的问题,就是 FFT 存在的上述两个问题,PEFT 也是目前比较主流的微调方案。

Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning[2] 论文里系统地概述和比较了参数高效微调方法,涵盖了 2019 年 2 月至 2023 年 2 月之间发表的 40 多篇论文,作者在文中将 PEFT 分为三类:

  • 添加额外参数的 Addition-based(A)

  • 类似适配器的方法(Adapter-like methods)

  • 软提示(Soft prompts)

  • 选取部分参数更新 Selection-based(S)

  • 引入重参数化 Reparametrization-based(R)

peft.png

常见的 PEFT 方法:BitFit、Prompt Tuning、Prefix Tuning、P-Tuning、P-Tuning V2、Adapter Tuning、LoRA、QLoRA、MAM Adapter、UniPELT、 Freeze tuning 等等。

sft-method.png

大致介绍:

  • 1)**《BitFit: BitFit: Simple Parameter-efficient Fine-tuning or Transformer-based Masked Language-models》**训练时只更新 bias 的参数或者部分 bias 参数

  • 2)**《Prefix Tuning: Prefix-Tuning: Optimizing Continuous Prompts for Generation》**在输入 token 之前构造一段任务相关的 virtual tokens 作为 Prefix,然后训练的时候只更新 Prefix 部分的参数,而 PLM 中的其他部分参数固定。

  • 3)《Prompt Tuning: The Power of Scale for Parameter-Efficient Prompt Tuning》 该方法可以看作是 Prefix Tuning 的简化版本,它给每个任务定义了自己的 Prompt,然后拼接到数据上作为输入,但只在输入层加入 prompt tokens,并且不需要加入 MLP 进行调整来解决难训练的问题。

  • 4)《P-Tuning: GPT **Understands, Too 》**该方法将 Prompt 转换为可以学习的 Embedding 层,并用 MLP+LSTM 的方式来对 Prompt Embedding 进行一层处理。相比 Prefix Tuning,P-Tuning 加入的可微的 virtual token,但仅限于输入层,没有在每一层都加;另外,virtual token 的位置也不一定是前缀,插入的位置是可选的。这里的出发点实际是把传统人工设计模版中的真实 token 替换成可微的 virtual token

  • 5)**《P-Tuning v2: P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks》**该方法在每一层都加入了 Prompts tokens 作为输入,而不是仅仅加在输入层

  • 6)《Adapter Tuning :Parameter-Efficient Transfer Learning fo NLP》,该方法设计了 Adapter 结构,并将其嵌入 Transformer 的结构里面,针对每一个 Transformer 层,增加了两个 Adapter 结构(分别是多头注意力的投影之后和第二个 feed-forward 层之后),在训练时,固定住原来预训练模型的参数不变,只对新增的 Adapter 结构和 Layer Norm 层进行微调,从而保证了训练的高效性。

  • 7)《LoRA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS》,该方法的核心思想就是通过低秩分解来模拟参数的改变量,从而以极小的参数量来实现大模型的间接训练.

各自的特点:

  • BitFit: 只更新模型中的 bias 参数或部分 bias 参数。

  • Prefix Tuning: 在模型输入前添加可训练的前缀向量。

  • Prompt Tuning: 在输入层加入提示词(prompt tokens)进行微调。

  • P-Tuning: 在模型的每层都加入可学习的提示词。

  • Adapter Tuning: 在 Transformer 的每一层插入小型的适配器网络。

  • LoRA (Low-Rank Adaptation): 通过在模型的权重矩阵中引入低秩结构来进行微调。

  • QLoRA(Quantized LoRA**)**:提出了 NormalFloat 数据类型,通过量化降低基座模型的显存占用,使得 65B 模型在单 GPU 上可以完成训练。

这部分微调技术也可以按照 PEFT 进行分类:

  • 1)增加额外参数的 A,如:Prefix Tuning、Prompt Tuning、Adapter Tuning 及其变体。

  • 2)选取一部分参数更新的 S,如:BitFit。

  • 3)引入重参数化的 R,如:LoRA、AdaLoRA、QLoRA。

  • 4)混合高效微调(混合多种微调方法),如:MAM Adapter、UniPELT

现在比较主流的几种 PEFT:Prompt Tuning、Prefix Tuning、LoRA、QLoRA。

训练框架选择

比较主流的几个微调工具:

  • huggingface/transformers[3]:最基础的一个库,提供了丰富的预训练模型和微调工具,支持大多数主流的 NLP 任务(如文本分类、序列标注、生成任务等)。适合进行快速实验和生产部署,有着广泛的社区支持。

  • huggingface/peft[4]:Parameter-Efficient Fine-Tuning,huggingface 开源的微调基础工具

  • modelscope/ms-swift[5]:modelscope 开源的轻量级微调框架

  • 以中文大模型为主,支持各类微调方法

  • 可以通过执行脚本进行微调,也可以在代码环境中一键微调

  • 自带微调数据集和验证数据集,可以一键微调 + 模型验证

  • hiyouga/LLaMA-Factory[6]:全栈微调工具

  • 运行脚本微调

  • 基于 Web 端微调

  • 支持海量模型 + 各种主流微调方法

  • 自带基础训练数据集

  • 除微调外,支持增量预训练和全量微调

  • NVIDIA/Megatron-LM[7]:NVIDIA 开发的大模型训练框架,支持大规模的预训练和微调。适用于需要极高性能和规模的大模型训练和微调。

快速实验选择 Transformers 即可,超大规模的选择 NVIDIA/Megatron-LM,普通规模就选择使用较为简单的 hiyouga/LLaMA-Factory。

3. SFT 最佳实践

  • 数据集的质量对模型微调至关重要,毫不夸张的说,微调后的模型效果 80%取决于 SFT 训练数据,少量高质的数据要比大量低质或者普通的数据要好很多。

  • 超参数调整

  • Epochs:需要根据数据集多少动态调整

  • Learning Rate:根据不同微调方法 LR 也需要调整

  • Global BatchSize:调整 bs 可以加快训练速度,但是也会增加显存占用,需要根据 GPU 资源调整。

数据集准备

数据集的质量对模型微调至关重要,毫不夸张的说,微调后的模型效果 80%取决于 SFT 训练数据,少量高质的数据要比大量低质或者普通的数据要好很多。

  • 数据集格式:SFT 数据一般以问答形式呈现,参考开源数据集:BAAI/COIG[8]

  • Prompt 优化,适当构建 few-shot 及 COT(思维链,Chain-of-Thought)数据加入训练,可以有助于模型的指令理解以及多轮对话能力。

  • 数据规模、多样性:通常 1 万条左右的精标数据即可发挥良好的效果,在扩充数据规模时需要注意数据多样性,多样性的数据可以提高模型性能

  • 数据质量:挑选质量较高的数据,可以有效提高模型的性能。

1)数据集格式

问答格式可以处理成多种文件格式, 例如 JSONL, Excel File, CSV; 核心是要保持两个独立的字段, 即问题和答案

例如:

[     {       "question": "特种珊瑚是一种海洋动物吗?",       "answer": "特种珊瑚虽然生活在海洋中,但它属于珊瑚软体类的石珊瑚目,是一种动物。而海洋动物是海洋中所有异养型生物的总称,包括鱼类、鲸类、浮游动物和游泳动物等,特种珊瑚只是其中的一种。"     }   ]   

2)Prompt 优化

  • prompt 优化主要在训练阶段,用于增强指令的多样性,让模型更好的理解指令

  • 预测阶段的 prompt 优化主要用于无法进行 finetune 的场景,例如 chatgpt/yiyan.baidu.com 等。

  • 对于特定下游任务,预测阶段建议与训练阶段保持一致或者接近的 prompt,可以暂时忽略预测阶段的 prompt 优化。

  • 适当构建 few shot 及 COT(Chain of Thought) 数据加入训练,可以有助于模型的指令理解以及多轮对话能力。

3)数据规模、数据多样性

在 SFT 上数据规模的重要性低于数据质量, 通常 1 万条左右的精标数据即可发挥良好的效果

在扩充数据规模时需要注意数据多样性,多样性的数据可以提高模型性能

在不扩大提示多样性的情况下扩大数据量时,收益会大大减少,而在优化数据质量时,收益会显著增加。

4)数据质量

挑选质量较高的数据,可以有效提高模型的性能。

数据质量用户需尽量自己把控,避免出现一些错误,或者无意义的内容。虽然平台也可以提供数据质量筛选的能力,但不可避免出现错筛的情况。

数据质量可以通过 ppl、reward model,文本质量分类模型等方式进行初步评估。经过人工进行后续筛选。

SFT 超参数调整

比如 10 万个样本 2-3 个 epoch 内为佳,2 ~ 5 万个样本 一般是 4-5 个 epoch 并且领域增强的 SFT 数据不需要太多,质量一定要把握好,一般的领域总结回复的任务几百条数据即可( 个人经验 ),视情况而定;小数据量可以适当增大 epoch,让模型充分收敛。

  • 例如:EPOCH:100 条数据时, Epoch 为 15,1000 条数据时, Epoch 为 10,10000 条数据时, Epoch 为 2。

一般只需要关注以下 三个超参数的调整

  • Epochs:需要根据数据集多少动态调整,比如 100 条数据时, Epoch 设置为 15,1000 条数据时, Epoch 为 10,10000 条数据时, Epoch 为 2。

  • Learning Rate:根据不同微调方法 LR 也需要调整,对于 LoRA 的 peft 训练方式,同时可以适当增大 LR

  • Global batch_size:调整 bs 可以加快训练速度,但是也会增加显存占用,需要根据 GPU 资源调整。如增加 accumulate step 32 64,当分布式节点增多时可以进一步增加 batch_size,提高吞吐。

4. 什么是强化学习(RLHF)

RLHF 是一种训练方式,并不是类似 Lora 这种的训练方法,RLHF 可以分为三阶段:

  • 1)Language Model,LM:一个预训练语言模型 LM,对基础模型微调得到一个微调后的模型

  • 使用人工标注的数据对预训练模型进行监督微调,以获得初始版本的生成模型。

  • 2)Reward Model,RM:训练一个奖励模型 RM:训练一个奖励模型(Reward Model),用于评估生成模型的输出质量。

  • 收集生成模型输出及其对应的人类反馈。这些反馈可以是评分、选择最佳输出、直接修改等形式。

  • 使用这些反馈数据训练奖励模型,使其能够对生成的输出进行评分。

  • 奖励模型通常是一个监督学习模型,通过最小化预测评分与人类反馈评分之间的差距进行训练。

  • 3)Reinforcement Learning,RL:用强化学习 RL 方式微调 LM :使用强化学习算法(如 PPO(Proximal Policy Optimization))进一步优化第一步中生成的模型,使其输出更符合人类反馈的期望。

  • PPO 是一种强化学习算法,旨在平衡探索和利用,通过限制每次更新的幅度,确保稳定性和效率。

  • 算法优化生成模型的策略,使其输出在奖励模型的评分下不断提升。

  • 使用初始生成模型产生输出,并通过奖励模型评估这些输出的质量

  • 使用 PPO 算法,根据奖励模型的评分更新生成模型的参数。

  • 反复进行生成、评估、优化的循环,逐步提高生成模型的性能。

相比于 RLHF 现在好像 DPO 比较火

5. 如何训练垂直领域大模型?

1)选择 Base 模型还是 Chat 模型?

对模型进行微调,都有可能触发灾难性遗忘。

在进行领域任务的 SFT 时,模型会重新调整对话任务相关的参数,而这些调整可能会干扰或破坏模型原先在通用对话任务上所学到的知识。这种现象就是灾难性遗忘。

即:灾难性遗忘 会导致模型通用能力降低。

因为 Chat 模型就是在 Base 模型基础上做了微调以适应对话任务,掌握了生成对话内容的能力的 SFT 模型,因此再对 Chat 模型做 SFT 触发 灾难性遗忘 风险就比较高,相比之下 Base 因为没经过微调,因为触发 灾难性遗忘 的风险会比较低。

因此选择哪种模型取决于我们的场景:

  • 选 Base 模型:当您希望领域任务效果提升,同时不希望牺牲通用能力时,选择 Base 模型作为基座模型更为合适。

  • 选 Chat 模型:如果您的领域任务与通用任务相关性不大,并且只追求领域任务的效果,可以选择 Chat 模型。

2)是否需要继续预训练(Continue PreTraining)?

  • 必要性:如果领域任务的数据集与预训练时的数据集差异较大,例如您的数据源自公司内部,而预训练数据无法覆盖这些领域,建议进行继续预训练。这样可以让模型更好地适应领域特定任务。

  • 数据量考虑:当领域任务的数据量较大(例如 1B 以上的 token),增量预训练是必要的。

因此,一般有两种选择

  • 1)青春版:Chat 模型 + SFT

  • 资源消耗少、模型通用能力有所降低

  • 2)完整版:Base 模型 + 增量预训练(Continue PreTraining) + SFT

  • 资源消耗大、模型通用能力完整保留

在此基础上,还可以通过强化学习进一步提升模型效果。

那么,最终一个完整的训练垂直领域大模型可以分为以下三步

  • 1)Continue PreTraining(增量预训练): 一般垂直大模型是基于通用基座大模型进行二次的训练,为了给模型注入领域知识,就需要用领域内的语料进行继续预训练。

  • 2)SFT( Supervised Finetuning,有监督微调): 通过 SFT 可以激发大模型理解领域内的各种问题并进行回答的能力(在有召回知识的基础上)

  • 3)强化学习:一般是二选一

  • RLHF(奖励建模、强化学习训练): 通过 RLHF 可以让大模型的回答对齐人们的偏好,比如行文的风格。

  • DPO(直接偏好优化)

6. 小结

1)大模型训练流程

  • 1)预训练(Pre Training,PT

  • 2)监督微调(Supervised Fine-Tuning, SFT

  • 3)强化学习(Reinforcement Learning from Human Feedback, RLHF

2)微调

  • 微调根据参数分类:

  • 全量参数更新 Full Fine-tuning(FFT):,即对预训练模型的所有参数进行更新,训练速度较慢,消耗机器资源较多。

  • 参数高效微调 Parameter-Efficient Fine-Tuning(PEFT) :只对部分参数做调整,一般指的就是 PEFT。

  • 主流的微调方法:Prompt Tuning、Prefix Tuning、LoRA、QLoRA。

  • 微调框架:peft、ms-swift、LLaMAFactory

3)SFT 最佳实践

  • 数据集准备:10000 条左右高质量数据集

  • 超参调整

  • Epochs

  • Learning Rate

  • Global batch_size

4)强化学习 RLHF

  • Reward Model,RM:训练一个奖励模型 RM:训练一个奖励模型(Reward Model),用于评估生成模型的输出质量。

  • Reinforcement Learning,RL:用强化学习 RL 方式微调 LM :使用强化学习算法(如 PPO(Proximal Policy Optimization))进一步优化第一步中生成的模型,使其输出更符合人类反馈的期望。

5)如何训练垂直领域大模型

  • 1)Continue PreTraining(增量预训练): 一般垂直大模型是基于通用基座大模型进行二次的训练,为了给模型注入领域知识,就需要用领域内的语料进行继续预训练。

  • 2)SFT( Supervised Finetuning,有监督微调): 通过 SFT 可以激发大模型理解领域内的各种问题并进行回答的能力(在有召回知识的基础上)

  • 3)强化学习:一般是二选一

  • RLHF(奖励建模、强化学习训练): 通过 RLHF 可以让大模型的回答对齐人们的偏好,比如行文的风格。

  • DPO(直接偏好优化)

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

四、AI大模型商业化落地方案

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1537849.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

03-Mac系统PyCharm主题设置

目录 1. 打开PyCharm窗口 2. Mac左上角点击PyCharm,点击Settings 3. 点击第一项Appearance& Behavior 4. 点击Appearance 5. 找到Theme进行设置 1. 打开PyCharm窗口 2. Mac左上角点击PyCharm,点击Settings 3. 点击第一项Appearance& Behavi…

软考高级:嵌入式系统:片级初始化、板级初始化、系统级初始化 AI 解读

生活化例子 想象一下你要启动一辆车,这个过程就可以类比成嵌入式系统的初始化过程。 片级初始化:相当于启动汽车引擎,确保发动机、变速箱这些核心部件能够正常工作。板级初始化:就像检查车子的电子系统、灯光、车窗是否正常&am…

整流电路的有源逆变工作状态

目录 1. 逆变的概念 2. 有源逆变的条件 3. 电流电路的概念 4. 产生逆变的条件 5. 三相桥式全控整流电路的有源逆变工作状态 6. 逆变角的概念 7. 逆变失败的原因 8. 最小逆变角的限制 整流电路的有源逆变状态是指通过控制整流器,使其将直流电源的能量反向送回…

如何写出军工级的代码?

编写军工级代码意味着要达到极高的可靠性、安全性、可维护性和效率,这通常涉及到严格的标准和流程。以下是一些关键点,帮助你编写军工级的代码: 1. 遵循严格的开发流程 军工项目通常需要遵循特定的软件开发标准,例如:…

农产品自主供销小程序--论文源码调试讲解

第二章 开发技术介绍 此次管理系统的关键技术和架构由B/S结构、java和mysql数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。 2.1 系统开发平台 在该在线农产品自主供销小程序中&a…

WebMagic:强大的Java网络爬虫框架

上班苦上班累,上班就想打瞌睡。 在当今信息爆炸的时代,数据的获取和处理变得越来越重要。网络爬虫作为获取网络数据的重要工具,已经成为许多开发者和数据科学家的必备技能。今天,我们将介绍一个广受欢迎的Java网络爬虫框架——We…

为什么Python有了列表list、元组tuple、字典dict这样的容器后,还要弄个集合set?

因为set是数学意义上的集合,拥有唯一和无序的特性,即用来存放没有顺序且无重复的数据,并且元素是不可变的。 这和list、tuple完全不同,这两个能存放相同的元素,且支持索引,有顺序。 set可以很方便的进行并…

激光模组多少钱一套?具体费用的决定因素

激光模组作为现代科技领域的重要组件,然而,对于许多潜在买家而言,激光模组的价格往往是一个令人困惑的问题。本文将跟大家一起探讨激光模组的价格范围及其具体费用的决定因素。 激光模组的价格范围 激光模组的价格因多种因素而异,…

【2025深圳春季全球高端食品展览会展位开始预订】

2025深圳春季全球高端食品展览会 时间:2025年2月23-25日 地点:深圳国际会展中心(宝安) 随着全球食品行业的蓬勃发展,中国作为世界第二大经济体,其食品市场规模持续扩大,展现出巨大的发展潜力…

.NET 一款免杀的白名单工具可执行系统命令

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

优化内容个性化:无限住宅代理如何做到的

数字化时代,个性化内容是提升用户体验和增加用户粘性的关键因素。企业通过个性化内容来满足用户的独特需求和兴趣,从而提高用户满意度和转化率。然而,个性化内容的实现需要准确的用户数据和行为分析,这就要求企业能够有效地收集和…

陶哲轩对OpenAI o1模型使用体验的观察

🦉 AI新闻 🚀 陶哲轩对OpenAI o1模型使用体验的观察 摘要:陶哲轩在8月份使用OpenAI最新模型o1,发现其在解决数学问题方面有所进步,能成功识别克莱姆定理,但仍存在错误。虽然o1比之前的模型表现更好&#…

腾讯百度阿里华为常见算法面试题TOP100(5):子串、堆

之前总结过字节跳动TOP50算法面试题&#xff1a; 字节跳动常见算法面试题top50整理_沉迷单车的追风少年-CSDN博客_字节算法面试题 子串 560.和为K的子数组 class Solution { public:int subarraySum(vector<int>& nums, int k) {// 寻找在区间[i, j]的和为k的值// 用…

自托管的网站应用防攻击防火墙SafeLine

背景介绍 在当今数字化时代&#xff0c;网络安全面临着前所未有的挑战。随着网络攻击技术的不断进步&#xff0c;从 SQL 注入、XSS 攻击到更为复杂的 RCE 和 SSRF 攻击&#xff0c;网站和 web 应用程序的安全防护变得越来越困难。这些攻击不仅威胁到个人和企业的敏感数据&…

基于51单片机的锅炉控制系统PID调节proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1zsACHTP2EpYVyqC-ht0HMg 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectro…

Python元组详解

​ 在上一篇笔记中介绍了列表。 公众号端&#xff1a; 列表https://mp.weixin.qq.com/s?__bizMzkwMjc0MTE3Mw&mid2247483924&idx1&snf8b36af8953e8fa9c26ebbf6081edd48&chksmc0a1afcef7d626d8bd7feedae04c8717d90f9a94266a4e6c10068d6cfaebc73ca988b39147cf#…

MySQL用户管理(DCL)

先看一下我原本的mysql当中的user里面的数据库 基本语法 1.查询用户 use mysql; select * from user; 2.创建用户 create user 用户名主机名 identified by 密码;例1&#xff1a;创建用户 itcast&#xff0c; 只能够在当前主机localhost访问&#xff0c; 密码123456; cr…

鸿蒙开发之ArkUI 界面篇 七 综合案例

一个登录界面&#xff0c;如图&#xff1a; 首先分析&#xff0c;垂直方向出现了5排&#xff0c;分别是顶部的图片组件&#xff0c;两个输入框&#xff0c;一个登录按钮&#xff0c;一排“前往注册“和”忘记密码“组件&#xff0c;他们水平对齐&#xff0c;用row容器&#xff…

中秋期间互联网产品故障事件(晋江、115盘、阿里云盘)盘点

24年中秋期间&#xff0c;除了肆掠的“贝碧嘉”台风外&#xff0c;互联网故障bug事件也不少&#xff0c;趁着有空盘点下&#xff0c;可作为员工信息安全培训案例。 一&#xff1a;晋江文学城访问异常&#xff08;基础环境故障类&#xff09; 9月14日&#xff0c;“晋江崩了”冲…

Python面试宝典第49题:字符串压缩

题目 给你一个字符数组chars &#xff0c;请使用下述算法进行压缩。 1、从一个空字符串s开始&#xff0c;对于chars中的每组连续重复字符 &#xff1a; &#xff08;1&#xff09;如果这一组长度为1 &#xff0c;则将字符追加到s中。 &#xff08;2&#xff09;否则&#xff0c…