DeepSeek LLM解读

背景:

量化巨头幻方探索AGI(通用人工智能)新组织“深度求索”在成立半年后,发布的第一代大模型DeepSeek试用地址:DeepSeek ,免费商用,完全开源。作为一家隐形的AI巨头,幻方拥有1万枚英伟达A100芯片,有手撸的HAI-LLM训练框架HAI-LLM:高效且轻量的大模型训练工具。

1.摘要:

论文主要讨论了开源大型语言模型(LLMs)的快速发展以及如何通过DeepSeek LLM项目来推进这种发展。

首先,开源大型语言模型的发展非常迅速,但之前的文献中描述的规模定律得出了不同的结论,这给规模化的LLM蒙上了一层阴影。

然后,作者深入研究了规模定律,并提出了自己独特的发现,这些发现有助于在两种流行的开源配置(7B和67B)中扩展大型模型。在规模定律的指导下,作者引入了DeepSeek LLM项目,该项目致力于从长远的角度推进开源语言模型的发展。

为了支持预训练阶段,作者开发了一个目前包含2万亿个tokens(2 trillion tokens)的数据集,并且还在不断扩大。作者还对DeepSeek LLM基础模型进行了SFT和直接偏好优化(DPO),从而创建了DeepSeek Chat模型。

最后,评估结果表明,DeepSeek LLM 67B在各种基准测试中超过了LLaMA-2 70B,特别是在代码数学推理领域。此外,开放式评估显示,与GPT-3.5相比,DeepSeek LLM 67B Chat表现出更优越的性能。

2. 结论

论文介绍了DeepSeek LLMs,这是一系列在2万亿标记的英语和中文大型数据集上从头开始训练的开源模型。在本文中,深入解释了超参数选择、扩展定律以及做过的各种微调尝试。校准了先前工作中的扩展定律,并提出了新的最优模型/数据扩展-缩放分配策略。此外,还提出了一种方法,使用给定的计算预算来预测近似的batch-size和learning-rate。进一步得出结论,扩展定律与数据质量有关,这可能是不同工作中不同扩展行为的原因。在扩展定律的指导下,使用最佳超参数进行预训练,并进行全面评估。

DeepSeek Chat与其他LLMs一样存在公认的局限性,包括预训练后缺乏持续的知识更新、可能生成非事实信息以及产生幻觉的倾向。此外,中文数据初始版本并不详尽,这可能导致在某些特定中文主题上的性能不佳。由于数据主要由中文和英文来源组成,因此模型在其他语言的熟练程度不佳。

• 不久后,DeepSeek 将分别发布关于代码方面以及Mixture-of-Experts(MoE)的技术报告。它们将展示如何为预训练创建高质量的代码数据,并设计稀疏模型以实现密集模型的性能。

• 目前,正在为即将到来的DeepSeek LLM版本构建更大、更完善的数据集。希望下一版在推理、中文知识、数学和代码能力方面有显著提升。

• DeepSeek 对齐团队致力于研究如何向公众提供有帮助、诚实和安全的模型。初步实验证明,强化学习可以提升模型的复杂推理能力。

3.预训练

3.1.数据

采用了一种激进的去重策略,扩大了去重的范围。对整个Common Crawl语料库进行去重与在单个转储中进行去重相比,可以移除更多的重复实例。表1说明,在91个转储中进行去重可以消除比单个转储方法多四倍的文档。

表1 | 各种Common Crawl转储的去重比率

在过滤阶段,专注于制定用于文档质量评估的稳健标准。

在混合阶段,调整方法以解决数据不平衡问题,侧重于增加代表性不足领域的数据。

在分词器中,实现了基于Huggingface团队的tokenizers库的BBPE算法。预分词被用于防止来自不同字符类别的标记的合并,如新行、标点符号和中文-日语-韩语(CJK)符号,类似于GPT-2。将数字拆分为单个数字。将词汇表中的传统标记数量设置为10 0000。分词器在大约24GB的多语言语料库上进行训练,我们在最终词汇表中增加了15个特殊标记,使总大小达到100015。为了确保训练期间的计算效率并为将来可能需要的任何其他特殊标记预留空间,将模型词汇表的大小配置为102400用于训练。

3.2.模型结构

表2|deepseek模型结构

llama模型结构

DeepSeek LLM基本上遵循LLaMA的设计,采用Pre-Norm结构,并使用RMSNorm函数和SwiGLU作为Feed-Forward Network(FFN)的激活函数,中间层维度为8/3 。它还集成了RoPE。为了优化推理成本,67B模型使用分组查询注意力(GQA)而不是传统的多头注意力(MHA)。

llama模型结构

MHA,GQA,MQA

在宏观设计方面,DeepSeek LLM略有不同。DeepSeek LLM 7B是一个30层的网络,DeepSeek LLM 67B有95层。这些层调整在保持与其他开源模型参数一致的同时,也有助于优化训练和推理的模型管道划分。

与大多数使用分组查询注意力(GQA)的模型不同,deepseek扩大了67B模型的参数网络深度,而不是常见的拓宽FFN层中间宽度的做法,旨在获得更好的性能。详细的网络规格可以在表2中找到。

3.3.infrastruction

deepseek使用一个高效且轻量级的训练框架,名为HAI-LLM(萤火平台:High-flyer,HAI-LLM:高效且轻量的大模型训练工具),来训练和评估大型语言模型。数据并行、张量并行、序列并行和1F1B流水线并行( 1F1B(One Forward pass followed by One Backward pass)策略就可以解决缓存 activation 的份数问题,使得 activation 的缓存数量只跟阶段(stage)数相关,从而进一步节省显存)等并行策略都集成到了这个框架中。还利用flash attention技术来提高硬件利用率。ZeRO-1被用于分区状态的优化,以减少数据并行级别的通信开销。努力使计算和通信重叠,以最小化额外的等待开销,包括最后一个微批的反向传播过程和ZeRO-1中的reduce-scatter操作,以及序列并行中的GEMM计算和all-gather/reduce-scatter。

一些层操作被融合在一起以加速训练,包括LayerNorm、GEMM(只要可能)和Adam更新。为了提高模型训练的稳定性,使用bf16精度训练模型,但在计算梯度时使用fp32精度。还执行就地交叉熵以减少GPU内存消耗,即:在交叉熵CUDA内核中实时将bf16 logits转换为fp32精度(而不是在HBM中转换),计算相应的bf16梯度,并用其梯度覆盖logits。

模型权重和优化器状态每5分钟异步保存一次,还支持从不同的3D并行配置中恢复训练,以应对计算集群负载的动态变化。

对于评估,在生成任务中采用vLLM(GPU推理加速工具),在非生成任务中采用连续batch处理,以避免手动调整batch大小和减少tokens填充。

4.Scalling lows

关于缩放定律的研究早于大型语言模型的涌现。缩放定律表明,随着计算预算(C)、模型规模(N)和数据规模(D)的增加,模型性能可以得到可预测的改善。当模型规模由模型参数表示,数据规模由token数表示时,C可以近似为 = 6ND。

为了降低实验成本和拟合难度,采用了Chinchilla中的IsoFLOP profile方法来拟合缩放曲线。为了更准确地表示模型规模,我们采用了一种新的模型规模表示方法,即非嵌入FLOPs/token-M,替换了先前使用的模型参数N,并将近似计算预算公式C = 6ND替换为更精确的C = MD。实验结果提供了关于最佳模型/数据扩展分配策略和性能预测的见解,并准确地预测了DeepSeek LLM 7B和67B模型的预期性能。

图4 | IsoFLOP曲线和最优模型/数据分配。IsoFLOP曲线中的度量标准是验证集上的每字节位数。最优模型/数据扩展曲线的虚线表示适合较小模型(灰色圆圈)的幂定律。

论文在缩放定律方面的贡献和发现可以总结如下:

  1. 建立了超参数的缩放定律,为确定最佳超参数提供了一个经验框架。
  2. 采用非嵌入FLOPs/token-M来表示模型规模,更精确的最佳模型/数据扩展分配策略和大规模模型的泛化损失的更好预测。
  3. 提出了一个基于计算预算和数据规模的模型扩展策略,该策略在计算预算有限的情况下提高了模型的泛化能力。
  4. 证明了缩放定律的普遍适用性,并预测了未来更大规模模型的性能。
  5. 将继续关注数据质量和其对缩放定律的影响,并进行更深入的分析。

4.1.Scaling Laws for Hyperparameters

论文最初在计算预算为1e17的小规模实验上进行了batch大小和学习率的网格搜索,特定模型大小(177M FLOPs/token)的结果如图2(a)所示。结果表明,泛化误差在batch大小和学习率的各种选择范围内保持稳定。这表明在相对较宽的参数空间内可以实现接近最优的性能。

然后,我们利用上述多步学习率调度器,通过重用第一阶段,有效地训练了不同batch大小、学习率和计算预算(从1e17到2e19)的多个模型。考虑到参数空间中的冗余,我们将泛化误差不超过最小值0.25%的模型参数视为近最优超参数。然后我们拟合batch大小B和学习率 与计算预算 之间的关系。拟合结果如图3所示,表明最优batch大小B随着计算预算C的增加而逐渐增加,而最优学习率 逐渐减小。这与直观的模型扩展时batch大小和学习率的经验设置相一致。此外,所有近最优超参数都落在一个宽的带宽范围内,表明在此区间内选择近最优参数相对容易。我们拟合的最终学习率和batch大小公式如下

学习率和batch大小公式

图3 | batch大小和学习率的缩放曲线。灰色圆圈表示泛化误差不超过最小值0.25%的模型。虚线表示对较小模型进行幂率拟合。蓝色星号表示DeepSeek LLM 7B和67B模型。

我们在具有1e20计算预算的一系列模型上验证了我们的公式,特定模型大小(2.94B FLOPs/token)的结果如图2(b)所示。结果表明,拟合的参数集中在最优参数空间中。后续部分也表明,我们为DeepSeek LLM 7B和67B模型拟合的参数同样取得了良好的性能。

我们尚未考虑计算预算C之外的因素对最优超参数的影响。

4.2.Estimating Optimal Model and Data Scaling

在先前的工作中,模型规模通常由模型参数表示,其中非嵌入参数为N1和完整参数为N)。计算预算 与模型/数据规模之间的关系可以近似描述为C=6ND,这意味着可以使用6N1或6N2来近似模型规模。然而,由于6N1和6N2都没有考虑到注意力操作的计算开销,并且6N2还包括词汇计算,这对模型的容量贡献较小,因此在某些设置下,两者都有显著的近似误差。

为了减小这些误差,论文引入了一种新的模型规模表示:非嵌入FLOPs/token-M。M包括注意力操作的计算开销,但不考虑词汇计算。使用M表示模型规模时,计算预算 可以简化为C=MD。6N1、6N2和M之间的具体差异如下:

M的计算公式

在评估不同规模模型之间的差异时,我们发现6N1和6N2要么高估要么低估了不同规模模型的计算成本。这种差异在小型模型中尤为明显,差异率高达50%。这种不准确性在拟合缩放曲线时会导致较大的统计误差。

表3 | 模型规模表示之间的差异以及非嵌入参数 1和完整参数 2与非嵌入FLOPs/token 之间的差异

在采用M表示模型规模后,我们的目标可以更清晰地描述为:给定计算预算C=MD,找到最优模型规模Mopt和数据规模Dopt,以最小化模型的泛化误差。这个目标可以形式化为:

为了降低实验成本和拟合难度,论文采用了来自Chinchilla的IsoFLOP profile方法来拟合缩放曲线。论文选择了8个不同的计算预算,范围从1e17到3e20,并为每个预算设计了大约10种不同的模型/数据规模分配。每个预算的超参数由公式(1)确定,泛化误差在类似的独立验证集上计算,该验证集的分布与训练集类似,包含1亿个tokens。

图5 | 性能缩放曲线。度量标准是验证集上的字节位。虚线表示对较小模型(灰色圆圈)的幂律拟合。蓝色星号表示DeepSeek LLM 7B和67B。它们的性能被缩放曲线很好地预测。

此外,我们根据计算预算 和最优泛化误差拟合了损失缩放曲线,并预测了DeepSeek LLM 7B和67B的泛化误差,如图5所示。结果表明,使用小规模实验可以准确预测具有1000倍计算预算的模型的性能。

4.3.Scaling Laws with Different Data

在DeepSeek LLM的开发过程中,数据集经过多次迭代优化,调整了不同数据源的比例,同时提高了整体质量。这使我们能够进一步分析不同数据集对缩放定律的影响。

我们使用三种不同的数据集研究了缩放定律:早期的内部数据、当前的内部数据和OpenWebText2(先前用于缩放定律研究的文本数据集)。内部数据评估表明,当前内部数据的数据质量高于早期内部数据。此外,由于其规模较小,OpenWebText2的数据质量甚至超过了当前内部数据,这使其能够进行更加细致的处理。

表4 | 模型扩展和数据扩展的系数随训练数据分布而变化。

分析中的有趣观察是,这三个数据集之间的最优模型/数据扩展分配策略与数据质量一致。如表4所示,随着数据质量的提高,模型扩展指数 逐渐增加,而数据扩展指数 逐渐减少,这表明计算预算的增加应更多地分配给模型而不是数据。这一发现也可能解释了早期规模定律研究中观察到的最优模型/数据扩展分配的显著差异。

对于这一发现的一个直观猜测是,高质量的数据通常意味着逻辑清晰和经过充分训练后预测难度较低。因此,在增加计算预算时,扩展模型大小更有优势。

5.Alignment

收集了约150万条(1.5 million instruction data)英语和中文指令数据实例,涵盖了广泛的帮助和无害主题。我们的有用数据包含120万个实例,其中一般语言任务的分布为31.2%,数学问题的分布为46.6%,编程练习的分布为22.2%。安全数据包含30万个实例,涵盖各种敏感主题。

对齐流程包含两个阶段。

监督微调:对7B模型进行了4个epoch的微调,但对67B模型只进行了2个epoch的微调,因为观察到67B模型存在严重的过拟合问题。GSM8K和HumanEval在7B模型上得到了持续改进,而67B模型很快达到了上限。7B和67B模型的学习率分别为1e-5和5e-6。除了监控基准准确度外,还评估了微调过程中聊天模型的重复率。总共收集了3868个中文和英文提示,并确定了生成响应中无法终止并无限重复文本序列的比例。观察到重复率随着数学SFT数据的数量增加而上升。这可以归因于数学SFT数据偶尔包含类似的推理模式。因此,较弱的模型难以掌握这种推理模式,导致重复性响应。为了解决这个问题,尝试了两阶段微调和DPO,这两种方法都可以保持基准分数并显著减少重复。

DPO:为了进一步提高模型的能力,我们使用了直接偏好优化算法,该算法被证明是一种简单而有效的LLM对齐方法。根据有用性和无害性构建了DPO训练所需的偏好数据。对于有用性数据,收集了多语言提示,涵盖了创意写作、问答、指令跟随等类别。然后,使用DeepSeek Chat模型作为候选响应生成响应。类似的操作也应用于无害性偏好数据构建。

训练了一个DPO epoch,学习率为5e-6,batch_size为512,使用了学习率预热和余弦学习率调度器。发现DPO可以增强模型的开放式生成技能,同时在标准基准测试中的性能差异很小。

6.Evaluation

6.1公开测试集

评估基准包括:

  • 多学科多项选择数据集,如MMLU、C-Eval和CMMLU。
  • 语言理解和推理数据集,如HellaSwag、PIQA、ARC、OpenBookQA和BBH。
  • 闭卷问答数据集,如TriviaQA和NaturalQuestions。
  • 阅读理解数据集,如RACE、DROP和C3。
  • 参考消歧数据集,如WinoGrande和CLUEWSC。
  • 语言建模数据集,如Pile。
  • 中文理解和文化数据集,如CHID和CCPM。
  • 数学数据集,如GSM8K、MATH和CMath。
  • 代码数据集,如HumanEval和MBPP。
  • 标准化考试数据集,如AGIEval。

6.1.1 base model

表5展示了评估基准的主要结果。尽管DeepSeek模型是在2T双语语料库上预训练的,但它们在英语语言理解基准上的表现与LLaMA2模型相当,后者也消耗了2T个token,但专注于英语。此外,与LLaMA2 70B相比,DeepSeek 67B在MATH、GSM8K、HumanEval、MBPP、BBH和中文基准上的表现有了显著提升。我们可以看到,随着模型规模的增加,某些任务的表现也有所提升,例如GSM8K和BBH。考虑到deepseek-llm在同一数据集上训练了7B和67B,这种改进的出现可以归因于大型模型强大的few-shot学习能力。随着数学数据比例的增加,小型模型和大型模型之间的差距可能会减小。

DeepSeek 67B相对于LLaMA2 70B的优势大于DeepSeek 7B相对于LLaMA2 7B的优势。这一现象突显了语言冲突对较小模型的影响更大。此外,尽管没有专门针对中文数据进行训练,但LLaMA2在某些中文任务(如CMath)上表现出色。这表明,某些基本能力(如数学推理)可以有效地跨语言转移。然而,像CHID这样的任务需要模型在预训练期间消耗大量中文来提升中文成语的效果,LLaMA2的表现明显低于DeepSeek LLM。

表5 | 评估结果基于内部评估框架。粗体数字表示4个模型中的最佳结果。对于Pile-test,我们报告bits-per-byte(BPB),对于DROP,我们报告F1分数,对于其他任务,我们报告准确率。test-shots是最大值,由于阅读理解任务的上下文长度有限或同一段落中可用的少样本示例有限(如RACE),使用较少数据

6.1.2 chat model

表6展示了DeepSeek Chat模型的结果,展示了大多数任务在经过调整后的整体改进,但有一些情况下某些任务的表现有所下降。

知识:观察到基础模型和聊天模型在知识相关任务(如TriviaQA、MMLU和C-Eval)上的表现存在波动。然而,作者并不认为这些轻微的波动表明在SFT之后获得了或失去了知识。SFT的价值在于它能够在聊天模型的零样本设置中学习达到与基础模型少样本设置相当的分数,这与真实场景是一致的。例如,聊天模型的零样本MMLU性能与基础模型的5样本MMLU性能相当。

推理:由于SFT实例中有很大一部分采用的CoT格式,聊天模型在推理任务(如BBH和NaturalQuestions)上表现出轻微的改进。然而,作者认为SFT阶段并没有学习推理能力,而是学习推理路径的正确格式。

表6 | 基础模型与聊天模型之间的比较。使用0-shot评估聊天模型在MMLU、GSM8K、MATH、C-Eval和CMMLU上的性能,而基础模型的结果仍然在少样本设置下获得。

性能下降的任务:在微调后,某些任务的性能持续下降,无论模型大小或选择的预训练检查点如何。这些特定任务通常涉及cloze(完形填空)任务或句子完成任务,如HellaSwag。可以合理地假设纯语言模型更适合处理此类任务。

数学和代码:模型在数学和编程任务上的表现经过微调后有了显著改善。例如,HumanEval和GSM8K得分提高了20多分。原因可能是,基础模型最初对这些任务进行了欠拟合,而SFT阶段通过广泛的SFT数据学习了编码和数学方面的额外知识。需要注意的是,模型的技能可能主要集中在代码完成和代数问题上。为了全面了解数学和编程,在预训练阶段融入各种数据至关重要,这留作未来的工作。

在7B模型的微调中,最初使用所有数据对模型进行微调,随后引入了第二阶段,排除了数学和代码数据。对于67B模型只进行了一阶段的SFT。

表7|与其他模型的比对,DPO能带来所有场景的提升

6.2 开放式评估

为了评估聊天模型的效果,除了标准基准的评估指标之外,还需要考虑其在开放领域和开放式问题中的表现,因为这直接影响到用户的实际体验。因此,分别测试了中文和英文任务中聊天模型的开放式生成能力。

6.2.1. 中文开放式评估

对于中文开放式评估,在高质量的开放式问题测试集AlignBench上测试了我们的聊天模型在不同领域的表现。AlignBench包含8个主要类别、36个次要类别,共有683个问题。对于每个问题,除了提示外,AlignBench还提供了专业参考答案和评级模板供GPT-4评判回复质量。

利用官方AlignBench的GitHub代码库实现了对模型的评估。严格将关键温度参数与原始设置对齐:对于角色扮演、写作能力和开放式问题,生成温度设置为0.7;而对于其他任务,生成温度设置为0.1。

表7展示了AlignBench的排行榜。DeepSeek 67B Chat模型超越了ChatGPT和其他基准模型,与GPT-3.5相媲美。

6.2.2. 英文开放式评估

对于英文开放式评估,使用了MT-Bench基准,该基准包含8个不同类别的多轮问题。如表8所示,DeepSeek LLM 67B Chat在多轮对话方面超过了其他开源模型,如LLaMA-2-Chat Touvron等、Xwin 70b v0.1和TÜLU 2+DPO 70B,并取得了8.35分的成绩,与GPT-3.5-turbo相当。此外,经过DPO阶段后,DeepSeek LLM 67B Chat DPO进一步提高了平均分数至8.76分,仅次于GPT-4。这些结果表明DeepSeek LLM具有强大的多轮开放式生成能力。

6.3 held-out评估

在评估LLM(大语言模型)时,数据污染和基准过拟合是两个挑战。一种常见的做法是利用最近发布的测试集作为 held-out 测试集来评估模型。

表9 | Held-out Dataset Evaluation.

DeepSeek 7B 和 67B 模型使用相同的训练管道,但它们的性能存在显著差异。通过主观评估,发现在将模型规模扩展到 67B 时,它在各项任务上的智能水平存在明显差异。虽然 DeepSeek 7B 在标准基准测试中落后于其他小型语言模型,但在 held-out 任务上的表现与其他模型相比相对令人满意。

6.4. Safety Evaluation

在整个训练过程中,包括预训练、SFT和DPO阶段,都融入了模型安全性的保障。为了验证模型的安全性,deepseek成立了一个由20人组成的专家团队,他们来自不同的领域和背景,共同负责评估和监测模型的安全性。

在设计问题时,专家团队还注重查询方式的多样性。他们通过诱导、角色扮演、多轮对话、预设立场等方式构建了多样化的安全问题。最终,我们获得了一个包含2400个问题的安全测试集。此外,专家团队还针对每种不同的内容类型和格式类型制定了基本的安全审核准则。

表10 | 2400个问题的安全测试集

标注者对每个问题进行了三个类别的标注:安全、不安全和模型拒绝。作者对DeepSeek 67B Chat模型进行了安全测试,结果如表10所示。表格中列出了每个安全类别的测试问题数量以及模型通过的安全测试数量。我们将安全回答和模型拒绝的测试用例标记为安全响应。结果表明,模型在多个安全测试类别中表现出良好的安全性。

使用“Do-Not-Answer”数据集来评估DeepSeek 67B Chat模型的安全机制。该数据集的939个风险分类提示有助于突出模型的增强能力。如表11所示,DeepSeek 67B Chat模型得分为97.8,高于ChatGPT和GPT-4。

表11| do not answer

6.5.Disscussion

分阶段微调:小型模型在数学和代码数据集上需要更长时间的微调,但这会损害模型的对话能力,例如增加重复行为。为了解决这个问题,deepseek实现了一种分阶段微调的过程。在这种方法中,第一阶段涉及使用所有可用数据来进行微调,而第二阶段则专注于使用对话数据进行微调。

表12 | 两阶段微调结果。重复率是在温度为0时计算的。较低的重复率更好。IFEval结果是提示级别的宽松准确度。

多选题:使用多选择题风格的评估数据来测试模型是一种常见的做法,例如MMLU、AGI Eval和C-Eval。多选题要求模型不仅具备相应的知识,还要理解选项所指的内容。在对齐阶段,测试了添加2000万条中文多选题,并获得了表13所示的性能。对C-Eval验证集和CMMLU测试集进行了去重处理,以防止数据污染。

表13 | 添加多选题数据的影响

额外的2000万条多选题数据被证明不仅对中文多选题基准测试有益,还有助于提高英语基准测试的性能。这表明模型解决多选题问题的能力得到了增强。观察到这一改进并未延伸至模型在其他非多选题格式的评估上的表现,例如TriviaQA和我们内部使用的中文QA测试集,这些是生成性评估基准。这表明用户可能不会认为模型在对话交互中变得更智能,因为这些交互涉及生成响应,而不是解决多选题问题。因此,我们选择在预训练和微调阶段不包括多选题数据,因为包括它会过度拟合基准测试,并且不会有助于实现模型真正的智能。

预训练中的instruction data:人们普遍认为,在预训练阶段的后期阶段整合instruction data可以增强基准任务上基础模型的性能。deepseek在预训练阶段的最后10%阶段整合了500万条instruction data,主要由多选题组成。我们观察到基础模型在基准上的性能确实有所提高。然而,最终结果与在SFT阶段添加相同数据时获得的结果几乎相同。因此得出结论,虽然这种方法加强了基础模型在基准上的性能,但其整体潜力与不整合这些指导数据相同。如果instruction data量很大,将其纳入预训练过程是可以接受的。由于deepseek倾向于排除多选题,并且可用的非多选题有限,决定不在预训练过程中包括instruction data。

系统提示:一个精心设计的系统提示应该有效地指导模型生成既有用又尊重他人的回复。deepseek对LLaMA-2中引入的提示稍作修改,作为其系统提示。小模型在系统提示的适配性上,差于大模型

表14 | 加入system prompt的影响

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用WinForm如何制作简易计算器

首先我们要自己搭好页面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace _7_简易计算…

Luzmo 专为SaaS公司设计的嵌入式数据分析平台

Luzmo 是一款嵌入式数据分析平台,专为 SaaS 公司设计,旨在通过直观的可视化和快速开发流程简化数据驱动决策。以下是关于 Luzmo 的详细介绍: 1. 背景与定位 Luzmo 前身为 Cumul.io ,专注于为 SaaS 公司提供嵌入式分析解决方案。…

Openfga 授权模型搭建

1.根据项目去启动 配置一个 openfga 服务器 先创建一个 config.yaml文件 cd /opt/openFGA/conf touch ./config.yaml 怎么配置? 根据官网来看 openfga/.config-schema.json at main openfga/openfga GitHub 这里讲述详细的每一个配置每一个类型 这些配置有…

【物联网】ARM核常用指令(详解):数据传送、计算、位运算、比较、跳转、内存访问、CPSR/SPSR、流水线及伪指令

文章目录 指令格式(重点)1. 立即数2. 寄存器位移 一、数据传送指令1. MOV指令2. MVN指令3. LDR指令 二、数据计算指令1. ADD指令1. SUB指令1. MUL指令 三、位运算指令1. AND指令2. ORR指令3. EOR指令4. BIC指令 四、比较指令五、跳转指令1. B/BL指令2. l…

星火大模型接入及文本生成HTTP流式、非流式接口(JAVA)

文章目录 一、接入星火大模型二、基于JAVA实现HTTP非流式接口1.配置2.接口实现(1)分析接口请求(2)代码实现 3.功能测试(1)测试对话功能(2)测试记住上下文功能 三、基于JAVA实现HTTP流…

lightweight-charts-python 包 更新 lightweight-charts.js 的方法

lightweight-charts-python 是 lightweight-charts.js 的 python 包装,非常好用 lightweight-charts 更新比较频繁,导致 lightweight-charts-python 内置的 lightweight-charts 经常不是最新的。 新的 lightweight-charts 通常可以获得性能改进和bug修复…

记录 | Docker的windows版安装

目录 前言一、1.1 打开“启用或关闭Windows功能”1.2 安装“WSL”方式1:命令行下载方式2:离线包下载 二、Docker Desktop更新时间 前言 参考文章:Windows Subsystem for Linux——解决WSL更新速度慢的方案 参考视频:一个视频解决D…

2025年01月27日Github流行趋势

项目名称:onlook项目地址url:https://github.com/onlook-dev/onlook项目语言:TypeScript历史star数:5340今日star数:211项目维护者:Kitenite, drfarrell, iNerdStack, abhiroopc84, apps/dependabot项目简介…

【Linux探索学习】第二十七弹——信号(一):Linux 信号基础详解

Linux学习笔记: https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言: 前面我们已经将进程通信部分讲完了,现在我们来讲一个进程部分也非常重要的知识点——信号,信号也是进程间通信的一…

海外问卷调查渠道查如何设置:最佳实践+示例

随着经济全球化和一体化进程的加速,企业间的竞争日益加剧,为了获得更大的市场份额,对企业和品牌而言,了解受众群体的的需求、偏好和痛点才是走向成功的关键。而海外问卷调查才是获得受众群体痛点的关键,制作海外问卷调…

《STL基础之vector、list、deque》

【vector、list、deque导读】vector、list、deque这三种序列式的容器,算是比较的基础容器,也是大家在日常开发中常用到的容器,因为底层用到的数据结构比较简单,笔者就将他们三者放到一起做下对比分析,介绍下基本用法&a…

一组开源、免费、Metro风格的 WPF UI 控件库

前言 今天大姚给大家分享一个开源、免费、Metro风格的 WPF UI 控件库:MahApps.Metro。 项目介绍 MahApps.Metro 是一个开源、免费、Metro风格的 WPF UI 控件库,提供了现代化、平滑和美观的控件和样式,帮助开发人员轻松创建具有现代感的 Win…

网易云音乐歌名可视化:词云生成与GitHub-Pages部署实践

引言 本文将基于前一篇爬取的网易云音乐数据, 利用Python的wordcloud、matplotlib等库, 对歌名数据进行深入的词云可视化分析. 我们将探索不同random_state对词云布局的影响, 并详细介绍如何将生成的词云图部署到GitHub Pages, 实现数据可视化的在线展示. 介绍了如何从原始数据…

通义灵码插件保姆级教学-IDEA(安装及使用)

一、JetBrains IDEA 中安装指南 官方下载指南:通义灵码安装教程-阿里云 步骤 1:准备工作 操作系统:Windows 7 及以上、macOS、Linux; 下载并安装兼容的 JetBrains IDEs 2020.3 及以上版本,通义灵码与以下 IDE 兼容&…

工业级 RAG 实现 - QAnything

文章目录 1. QAnything简介2. QAnything 安装教程2. 1 安装软件包2.2 运行QAnything框架2.3 访问前端页面 3. QAnything 简单使用3.1 创建知识库3.2 创建聊天机器人3.3 关联知识库3.4 测试 4. QAnything 的分析:4. 1 QAnything 架构4. 2 两阶段检索4. 2.1 一阶段检索…

Cross-Resolution知识蒸馏论文学习

TPAMI 2024:Pixel Distillation: Cost-Flexible Distillation Across Image Sizes and Heterogeneous Networks 教师模型使用高分辨率输入进行学习,学生模型使用低分辨率输入进行学习 学生蒸馏损失:Lpkd和Lisrd Lpkd:任务损失lo…

Versal - 基础3(AXI NoC 专题+仿真+QoS)

目录 1. 简介 2. 示例 2.1 示例说明 2.2 创建项目 2.2.1 平台信息 2.2.2 AXI NoC Automation 2.2.3 创建时钟和复位 2.3 配置 NoC 2.4 配置 AXI Traffic 2.5 配置 Memory Size 2.6 Validate BD 2.7 添加观察信号 2.8 运行仿真 2.9 查看结果 2.9.1 整体波形 2.9…

【PostgreSQL内核学习 —— (WindowAgg(一))】

WindowAgg 窗口函数介绍WindowAgg理论层面源码层面WindowObjectData 结构体WindowStatePerFuncData 结构体WindowStatePerAggData 结构体eval_windowaggregates 函数update_frameheadpos 函数 声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊…

RubyFPV开源代码之系统简介

RubyFPV开源代码之系统简介 1. 源由2. 工程架构3. 特性介绍(软件)3.1 特性亮点3.2 数字优势3.3 使用功能 4. DEMO推荐(硬件)4.1 天空端4.2 地面端4.3 按键硬件Raspberry PiRadxa 3W/E/C 5. 软件设计6. 参考资料 1. 源由 RubyFPV以…

MySQL(单表访问)

今天是新年,祝大家新年快乐,但是生活还是得继续。 后面也会持续更新,学到新东西会在其中补充。 建议按顺序食用,欢迎批评或者交流! 缺什么东西欢迎评论!我都会及时修改的! 大部分截图和文章采…