当前位置: 首页 > news >正文

【AIGC】冷启动数据与多阶段训练在 DeepSeek 中的作用


在这里插入图片描述

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳]
本文专栏: AIGC | ChatGPT

文章目录

  • 💯前言
  • 💯冷启动数据的作用
    • 冷启动数据设计
  • 💯多阶段训练的作用
    • 阶段 1:冷启动微调
    • 阶段 2:推理导向强化学习(RL)
    • 阶段 3:拒绝采样与监督微调(SFT)
    • 阶段 4:多场景强化学习
  • 💯代码示例:冷启动数据与多阶段训练的实现
    • 1. 冷启动微调阶段
      • 作用与应用:
    • 2. 推理导向的强化学习阶段
      • 作用与应用:
    • 3. 拒绝采样与监督微调阶段
      • 作用与应用:
    • 4. 多场景强化学习
      • 作用与应用:
    • 总体流程
      • DeepSeek 中的应用
  • 💯总结


在这里插入图片描述


💯前言

  • 在人工智能领域,深度学习模型的训练和优化往往需要大量的标注数据和计算资源。然而,面对复杂任务时,即使是最先进的技术和大量的训练数据也未必能够保证模型的最优表现。DeepSeek 在推理能力的提升上做出了突破,其中 冷启动数据 和 多阶段训练 是至关重要的组成部分。这些技术不仅提升了模型的推理效果,还确保了模型在各种复杂推理任务中具备了更高的准确度和稳定性。
    本文将深入探讨 冷启动数据 和 多阶段训练 在 DeepSeek 模型中的作用,并通过具体的例子和代码块,详细说明其在模型优化中的核心地位。
    DeepSeek API Docs​
    在这里插入图片描述

💯冷启动数据的作用

冷启动数据(cold-start data)是指在模型训练的初期阶段,利用少量手工设计的高质量数据来启动训练过程。这些数据并不依赖于大规模的标签数据,而是通过精心设计,提供对模型有指导性的推理信息,帮助模型在早期获得较好的表现。

在 DeepSeek 中,冷启动数据的引入主要解决了 DeepSeek-R1-Zero 模型在初期训练时遇到的可读性差、推理混乱等问题。DeepSeek-R1-Zero 使用强化学习(RL)直接从基础模型开始训练,而没有依赖传统的监督式微调(SFT)。然而,初期的 RL 模型由于缺乏有效的指导信息,往往会产生不符合用户需求的推理结果,比如推理链条不清晰、语言混合等问题。为了改善这一情况,DeepSeek-R1 引入了冷启动数据,这些数据帮助模型在最初阶段进行微调,使得其能够生成更加规范和易于理解的推理过程。

冷启动数据设计

在 DeepSeek 中,冷启动数据通常是通过以下几种方式收集和生成的:

  1. 少样本引导:利用少量的推理样本,生成详细的推理链条(Chain of Thought,CoT)。这些示例通常具有清晰的结构和推理过程,并且会被用于指导模型如何生成合适的推理步骤。

  2. 反思与验证提示:通过提示模型生成推理步骤,并要求其进行反思和验证。这样可以确保模型在推理过程中不断自我修正,提升推理的可靠性和准确度。

  3. 基于现有模型生成数据:从 DeepSeek-R1-Zero 的输出中筛选出高质量的推理链条,并通过人工后处理来增强其可读性和一致性。

通过这些方法,冷启动数据帮助模型在初期获得了更为规范的推理行为,从而为后续的多阶段训练打下了坚实的基础。


💯多阶段训练的作用

多阶段训练是 DeepSeek 中用于提升推理性能的核心技术之一。它通过分阶段逐步优化模型,解决了复杂任务中不同类型的推理能力瓶颈,并确保了模型能够在更为复杂和多样化的任务上获得更好的表现。

在 DeepSeek 的多阶段训练中,主要有以下几个阶段:

阶段 1:冷启动微调

在这一阶段,模型基于基础模型(如 DeepSeek-V3-Base)进行初步的微调。冷启动数据为这一阶段的训练提供了高质量的指导,确保模型可以生成清晰的推理链条。冷启动微调的目标是帮助模型快速获得有效的推理框架,使其在之后的训练中更加高效。

阶段 2:推理导向强化学习(RL)

此阶段的核心是 推理导向的强化学习(Reasoning-Oriented RL),即通过大规模的强化学习训练,进一步提升模型的推理能力。在这一阶段,模型通过执行多个推理任务,不断调整其推理策略,学习如何在不同的任务中进行有效推理。

为了让强化学习过程更加稳定和高效,DeepSeek 引入了 奖励建模 和 语言一致性奖励 等机制,帮助模型优化推理过程并减少语言混杂问题。奖励建模主要有两种类型:

  1. 准确度奖励:根据模型回答的正确性来进行奖励。例如,在数学问题中,模型需要提供准确的答案,才能获得奖励。

  2. 格式奖励:强制模型将思维过程置于 <think></think> 标签之间,以便清晰地展示推理链条。这种格式要求不仅提升了可读性,还帮助模型在推理过程中保持一致性。

阶段 3:拒绝采样与监督微调(SFT)

在这一阶段,经过强化学习训练的模型会通过 拒绝采样(Rejection Sampling) 方法,从 RL 训练中收集出符合要求的推理数据。拒绝采样通过对模型生成的推理进行评估,仅保留符合正确答案的推理链条,进一步优化模型的推理输出。

此后,模型会使用 监督微调(Supervised Fine-Tuning, SFT) 数据进行进一步的训练,特别是包括其他领域的知识,如写作、角色扮演等。这一阶段的目标是让模型不仅在推理任务中表现出色,还能在通用任务中展示出强大的能力。

阶段 4:多场景强化学习

最后,DeepSeek 引入了 多场景强化学习,该阶段的目标是进一步调整模型的推理能力,使其能够在不同的场景中更好地处理推理任务。同时,强化学习过程还会根据人类偏好进行优化,以提高模型在实际应用中的友好性和安全性。


💯代码示例:冷启动数据与多阶段训练的实现

以下是一个简单的代码示例,展示如何在模型训练中使用冷启动数据和多阶段训练。

# 假设已经有基础的模型 deepseek_v3_base 和冷启动数据 cold_start_data# 1. 冷启动微调阶段
def cold_start_finetuning(model, cold_start_data):# 使用冷启动数据微调模型model.train(cold_start_data)print("冷启动微调完成")return model# 2. 推理导向的强化学习阶段
def reasoning_oriented_rl(model, training_data, reward_function):# 采用强化学习算法训练模型for data in training_data:# 计算奖励reward = reward_function(model, data)# 更新模型model.update_with_reward(data, reward)print("推理导向的强化学习训练完成")return model# 3. 拒绝采样与监督微调阶段
def rejection_sampling(model, validation_data):# 进行拒绝采样,保留高质量的推理链条sampled_data = reject_bad_samples(model, validation_data)print(f"拒绝采样,保留 {len(sampled_data)} 条高质量数据")return sampled_datadef supervised_finetuning(model, sampled_data, sft_data):# 使用采样数据和SFT数据进一步微调模型model.train(sampled_data + sft_data)print("监督微调完成")return model# 4. 多场景强化学习
def multi_scenario_rl(model, scenarios):# 针对不同场景进行强化学习for scenario in scenarios:reward = evaluate_scenario(model, scenario)model.update_with_reward(scenario, reward)print("多场景强化学习完成")return model# 示例:训练 DeepSeek 模型
model = deepseek_v3_base
model = cold_start_finetuning(model, cold_start_data)
model = reasoning_oriented_rl(model, training_data, reward_function)
sampled_data = rejection_sampling(model, validation_data)
model = supervised_finetuning(model, sampled_data, sft_data)
model = multi_scenario_rl(model, scenarios)print("DeepSeek 模型训练完成")

1. 冷启动微调阶段

def cold_start_finetuning(model, cold_start_data):# 使用冷启动数据微调模型model.train(cold_start_data)print("冷启动微调完成")return model

作用与应用:

  • 冷启动数据是训练过程中的一类初步数据,它帮助模型在没有大量监督数据的情况下启动训练。通过利用精心设计的少量推理数据(如提供结构化的推理链条和反思过程),模型能够在训练初期就产生合理的推理输出。
  • 在 DeepSeek 中,冷启动微调 通过这种少量数据来解决模型初期可能出现的推理混乱和不稳定性问题。这个阶段非常关键,因为它帮助模型快速适应训练环境并生成规范化的推理步骤。

2. 推理导向的强化学习阶段

def reasoning_oriented_rl(model, training_data, reward_function):# 采用强化学习算法训练模型for data in training_data:# 计算奖励reward = reward_function(model, data)# 更新模型model.update_with_reward(data, reward)print("推理导向的强化学习训练完成")return model

作用与应用:

  • 这一阶段使用 强化学习(RL) 来优化模型在推理任务中的表现。通过 推理导向的强化学习,模型不仅学习如何给出答案,还学习如何生成合适的推理过程(即推理链条)。强化学习允许模型在解决复杂问题时能够不断调整和完善其推理策略。
  • 奖励机制(reward_function)在此发挥重要作用。每个训练步骤都基于模型的输出(例如,推理链条的正确性、格式等)来计算奖励,从而引导模型朝向正确的推理路径。
  • 在 DeepSeek 中,这个过程主要集中在数学推理、编程问题、科学推理等任务上,模型根据每个步骤的推理质量进行更新,从而提高其解题能力。

3. 拒绝采样与监督微调阶段

def rejection_sampling(model, validation_data):# 进行拒绝采样,保留高质量的推理链条sampled_data = reject_bad_samples(model, validation_data)print(f"拒绝采样,保留 {len(sampled_data)} 条高质量数据")return sampled_datadef supervised_finetuning(model, sampled_data, sft_data):# 使用采样数据和SFT数据进一步微调模型model.train(sampled_data + sft_data)print("监督微调完成")return model

作用与应用:

  • 拒绝采样(Rejection Sampling) 是一种筛选技术,用于从训练过程中收集高质量的推理数据。通过评估模型生成的输出,拒绝采样方法能够过滤掉低质量的推理链条,只保留那些符合标准的输出。这一过程确保了模型输出的推理链条不仅正确,而且可读性强。
  • 经过 拒绝采样 处理后的数据会被用于进一步的训练。监督微调(Supervised Fine-Tuning, SFT) 阶段结合了采样后的高质量数据和其他领域的知识(如写作、角色扮演等),进一步提升模型的综合能力。这个阶段旨在确保模型不仅在推理任务上表现出色,同时也能处理通用任务。

4. 多场景强化学习

def multi_scenario_rl(model, scenarios):# 针对不同场景进行强化学习for scenario in scenarios:reward = evaluate_scenario(model, scenario)model.update_with_reward(scenario, reward)print("多场景强化学习完成")return model

作用与应用:

  • 多场景强化学习 是为了增强模型在多个任务或场景中的表现而设计的。在 DeepSeek 中,模型需要处理各种推理任务(如数学问题、代码生成、科学推理等),这些任务可能具有不同的特征和要求。通过 多场景强化学习,模型能够在多个领域内进行学习,并根据不同场景的需求进行调整。
  • 在这一阶段,模型根据不同的任务和场景评估其输出,并通过强化学习进一步优化。每个场景的奖励计算和更新都会帮助模型适应新的场景或任务,提升其多样性和通用性。

总体流程

在这段代码的整体流程中,模型从初期的冷启动数据微调开始,逐步经过强化学习优化、拒绝采样与监督微调,最终通过多场景强化学习确保模型能够应对各种推理任务。这个过程的目标是让模型在特定任务上具备出色的推理能力,同时保持广泛的通用性。

DeepSeek 中的应用

在 DeepSeek 中,这一多阶段训练过程使得模型能够:

  • 快速适应初期训练,通过冷启动数据稳定训练过程;
  • 通过强化学习进一步优化推理链条,提升推理任务的准确性;
  • 通过拒绝采样与监督微调提高推理的质量和可读性,确保模型不仅能够给出正确答案,还能够清晰地解释其推理过程;
  • 通过多场景强化学习提升模型在多任务中的适应能力,实现更广泛的应用。

通过这样的多阶段训练,DeepSeek 能够在复杂任务中表现出色,不仅解决了推理问题,还能不断自我改进和进化,处理各种实际应用中的挑战。


💯总结

  • 在这里插入图片描述冷启动数据和多阶段训练是 DeepSeek 在推理任务中取得突破性进展的关键技术。冷启动数据通过提供高质量的引导信息,帮助模型在训练初期快速获得稳定的推理框架,而多阶段训练则确保了模型能够逐步提升其推理能力,处理更复杂的任务。通过这些技术,DeepSeek 不仅在推理任务上达到了前所未有的表现,也为未来人工智能推理模型的优化提供了新的思路和方法。

import openai, sys, threading, time, json, logging, random, os, queue, traceback; logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s"); openai.api_key = os.getenv("OPENAI_API_KEY", "YOUR_API_KEY"); def ai_agent(prompt, temperature=0.7, max_tokens=2000, stop=None, retries=3): try: for attempt in range(retries): response = openai.Completion.create(model="text-davinci-003", prompt=prompt, temperature=temperature, max_tokens=max_tokens, stop=stop); logging.info(f"Agent Response: {response}"); return response["choices"][0]["text"].strip(); except Exception as e: logging.error(f"Error occurred on attempt {attempt + 1}: {e}"); traceback.print_exc(); time.sleep(random.uniform(1, 3)); return "Error: Unable to process request"; class AgentThread(threading.Thread): def __init__(self, prompt, temperature=0.7, max_tokens=1500, output_queue=None): threading.Thread.__init__(self); self.prompt = prompt; self.temperature = temperature; self.max_tokens = max_tokens; self.output_queue = output_queue if output_queue else queue.Queue(); def run(self): try: result = ai_agent(self.prompt, self.temperature, self.max_tokens); self.output_queue.put({"prompt": self.prompt, "response": result}); except Exception as e: logging.error(f"Thread error for prompt '{self.prompt}': {e}"); self.output_queue.put({"prompt": self.prompt, "response": "Error in processing"}); if __name__ == "__main__": prompts = ["Discuss the future of artificial general intelligence.", "What are the potential risks of autonomous weapons?", "Explain the ethical implications of AI in surveillance systems.", "How will AI affect global economies in the next 20 years?", "What is the role of AI in combating climate change?"]; threads = []; results = []; output_queue = queue.Queue(); start_time = time.time(); for idx, prompt in enumerate(prompts): temperature = random.uniform(0.5, 1.0); max_tokens = random.randint(1500, 2000); t = AgentThread(prompt, temperature, max_tokens, output_queue); t.start(); threads.append(t); for t in threads: t.join(); while not output_queue.empty(): result = output_queue.get(); results.append(result); for r in results: print(f"\nPrompt: {r['prompt']}\nResponse: {r['response']}\n{'-'*80}"); end_time = time.time(); total_time = round(end_time - start_time, 2); logging.info(f"All tasks completed in {total_time} seconds."); logging.info(f"Final Results: {json.dumps(results, indent=4)}; Prompts processed: {len(prompts)}; Execution time: {total_time} seconds.")

在这里插入图片描述


相关文章:

【AIGC】冷启动数据与多阶段训练在 DeepSeek 中的作用

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;冷启动数据的作用冷启动数据设计 &#x1f4af;多阶段训练的作用阶段 1&#xff1a;冷启动微调阶段 2&#xff1a;推理导向强化学习&#xff08;RL&#xff0…...

如何打造一个更友好的网站结构?

在SEO优化中&#xff0c;网站的结构往往被忽略&#xff0c;但它其实是决定谷歌爬虫抓取效率的关键因素之一。一个清晰、逻辑合理的网站结构&#xff0c;不仅能让用户更方便地找到他们需要的信息&#xff0c;还能提升搜索引擎的抓取效率 理想的网站结构应该像一棵树&#xff0c;…...

【ROS2】RViz2自定义面板插件(rviz_common::Panel)的详细步骤

【ROS】郭老二博文之:ROS目录 1、简述 RViz2 的插件基于 ROS2 的插件库(pluginlib)机制,通过动态加载共享库实现功能扩展。 注意:RViz2 使用 QT 作为 UI 框架,虽然 QT 也有插件机制,但是 RViz2 并没有使用QT的插件机制,而是通过 pluginlib 加载功能模块来实现。 2、…...

漏洞分析 Spring Framework路径遍历漏洞(CVE-2024-38816)

漏洞概述 VMware Spring Framework是美国威睿&#xff08;VMware&#xff09;公司的一套开源的Java、JavaEE应用程序框架。该框架可帮助开发人员构建高质量的应用。 近期&#xff0c;监测到Spring Framework在特定条件下&#xff0c;存在目录遍历漏洞&#xff08;网宿评分&am…...

《手札·避坑篇》2025年传统制造业企业数字化转型指南

一、引言 在数字化浪潮的推动下,传统制造业企业正加速向智能化、数字化转型。开源软件技术与制造MES(制造执行系统)产品的结合,为企业提供了高效、灵活且低成本的转型路径。本指南旨在为传统制造业企业的信息化负责人提供一套完整的数字化转型方案,助力企业实现高效、智能…...

MySQL中DDL操作是否支持事务

MySQL中DDL不支持事务。 传统MySQL&#xff08;5.7及以前版本&#xff09;&#xff1a; DDL操作不支持事务执行DDL操作时会隐式提交当前会话的事务无法回滚DDL操作 MySQL 8.0版本&#xff1a; 引入了原子DDL特性&#xff08;Atomic DDL&#xff09;DDL操作变为原子性的&…...

GWO优化决策树回归预测matlab

灰狼优化算法&#xff08;Grey Wolf Optimizer&#xff0c;简称 GWO&#xff09;是一种群智能优化算法&#xff0c;由澳大利亚格里菲斯大学的 Mirjalii 等人于 2014 年提出。该算法的设计灵感源自灰狼群体的捕食行为&#xff0c;核心思想是模仿灰狼社会的结构与行为模式。 在本…...

掌握Spring @SessionAttribute:跨请求数据共享的艺术

SessionAttribute注解在Spring中的作用&#xff0c;就像是一个“数据中转站”。 在Web应用中&#xff0c;我们经常需要在多个请求之间共享数据。比如&#xff0c;用户登录后&#xff0c;我们需要在多个页面或请求中保持用户的登录状态。这时&#xff0c;SessionAttribute注解就…...

python读取Excel表格内公式的值

背景&#xff1a;在做业务周报的时候&#xff0c;有一个Excel模板&#xff0c;表里面包含了一些公式&#xff0c;dataframe写入到Excel的时候&#xff0c;有公式的部分通过python读出来的结果是None&#xff0c;需要进行优化参考链接&#xff1a; 如何使用openpyxl读取Excel单元…...

第三十八章:阳江自驾之旅:挖蟹与品鲜

经历了惠州海边那趟温馨又欢乐的自驾之旅后&#xff0c;小冷和小颖心中对旅行的热情愈发高涨。闲暇时&#xff0c;两人总会坐在客厅里&#xff0c;翻看着旅行杂志&#xff0c;或是在网上搜索各地的美景&#xff0c;那些充满魅力的地方不断吸引着他们&#xff0c;也让他们对下一…...

C++小等于的所有奇数和=最大奇数除2加1的平方。

缘由 三种思路解题&#xff1a;依据算术推导得到一个规律&#xff1a;小等于的所有奇数和等于最大奇数除以2加1的平方。将在后续发布&#xff0c;总计有十种推导出来的实现代码。 int a 0,aa 1,aaa 0;cin >> a; while (aa<a) aaa aa, aa 2;cout << aaa;i…...

设置IDEA的内存大小,让IDEA更流畅: 建议设置在 2048 MB 及以上

文章目录 引言I 更改内存设置基于窗口界面进行内存设置修改内存配置文件II IDEA中的一些常见问题及其解决方案引言 方式一:基于窗口界面进行内存设置方式二:修改内存配置文件I 更改内存设置 基于窗口界面进行内存设置 打开IDEA,上方菜单栏 Help > Change Memory Settin…...

Ranger Hive Service连接测试失败问题解决

个人博客地址&#xff1a;Ranger Hive Service连接测试失败问题解决 | 一张假钞的真实世界 异常信息如下&#xff1a; org.apache.ranger.plugin.client.HadoopException: Unable to connect to Hive Thrift Server instance.. Unable to connect to Hive Thrift Server inst…...

车机音频参数下发流程

比如以audioControlWrapper.setParametersToAmp(keyPairValues); 下发banlance为例&#xff0c;链路如下 hal层 1. AudioControl.cpp hardware\interfaces\automotive\audiocontrol\aidl\default\AudioControl.cpp ndk::ScopedAStatus AudioControl::setParametersToAmp(co…...

大模型推理——MLA实现方案

1.整体流程 先上一张图来整体理解下MLA的计算过程 2.实现代码 import math import torch import torch.nn as nn# rms归一化 class RMSNorm(nn.Module):""""""def __init__(self, hidden_size, eps1e-6):super().__init__()self.weight nn.Pa…...

redis之GEO 模块

文章目录 背景GeoHash 算法redis中的GeoHash 算法基本使用增加距离获取元素位置获取元素的 hash 值附近的元素 注意事项原理 背景 如果我们有需求需要存储地理坐标&#xff0c;为了满足高性能的矩形区域算法&#xff0c;数据表需要在经纬度坐标加上双向复合索引 (x, y)&#x…...

21.2.7 综合示例

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 【例 21.7】【项目&#xff1a;code21-007】填充职员表并打印。 本例使用到的Excel文件为&#xff1a;职员信息登记表.xlsx&#x…...

使用Docker + Ollama在Ubuntu中部署deepseek

1、安装docker 这里建议用docker来部署&#xff0c;方便简单 安装教程需要自己找详细的&#xff0c;会用到跳过 如果你没有安装 Docker&#xff0c;可以按照以下步骤安装&#xff1a; sudo apt update sudo apt install apt-transport-https ca-certificates curl software-p…...

【C语言标准库函数】三角函数

目录 一、头文件 二、函数简介 2.1. 正弦函数&#xff1a;sin(double angle) 2.2. 余弦函数&#xff1a;cos(double angle) 2.3. 正切函数&#xff1a;tan(double angle) 2.4. 反正弦函数&#xff1a;asin(double value) 2.5. 反余弦函数&#xff1a;acos(double value)…...

CNN-day9-经典神经网络ResNet

day10-经典神经网络ResNet 1 梯度消失问题 深层网络有个梯度消失问题&#xff1a;模型变深时&#xff0c;其错误率反而会提升&#xff0c;该问题非过拟合引起&#xff0c;主要是因为梯度消失而导致参数难以学习和更新。 2 网络创新 2015年何凯明等人提出deep residual netw…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》

近日&#xff0c;嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》&#xff0c;海云安高敏捷信创白盒&#xff08;SCAP&#xff09;成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天&#xff0c;网络安全已成为企业生存与发展的核心基石&#xff0c;为了解…...

Linux-进程间的通信

1、IPC&#xff1a; Inter Process Communication&#xff08;进程间通信&#xff09;&#xff1a; 由于每个进程在操作系统中有独立的地址空间&#xff0c;它们不能像线程那样直接访问彼此的内存&#xff0c;所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...