DeepSeek R1 与 OpenAI O1:机器学习模型的巅峰对决
我的个人主页
我的专栏:人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!!点赞👍收藏❤
一、引言
在机器学习的广袤天地中,大型语言模型(LLM)无疑是最为璀璨的明珠。它们凭借卓越的语言理解与生成能力,正以前所未有的方式重塑着我们与信息交互的模式。DeepSeek R1和OpenAI O1作为其中的佼佼者,代表了当前技术的前沿水准,在架构设计、训练方法、性能表现以及应用场景等诸多层面展开了一场激烈的“巅峰对决”。深入探究这两个模型的各个方面,不仅能让我们洞察机器学习技术的演进脉络,还能为相关领域的研究与实践提供宝贵的借鉴。
二、模型架构探秘
(一)DeepSeek R1
- 强化学习框架基石
DeepSeek R1以DeepSeek - V3 - Base模型为依托,开创性地采用群组相对策略优化(GRPO)作为核心强化学习(RL)框架。GRPO赋予模型强大的自主探索能力,在面对复杂任务时,模型如同一位智慧的探险家,能够依据GRPO自主尝试不同的思路链(CoT)流程。以数学证明任务为例,它不再局限于常规的推理路径,而是多角度、全方位地探索,直至觅得最优解。这种自主探索特性,使模型在处理复杂推理任务时展现出卓越的灵活性与智能性。 - 冷启动策略的精妙之处
RL训练初期的稳定性至关重要,DeepSeek R1引入少量精心筛选的高质量长CoT示例进行微调,以此开启冷启动。这些示例宛如航海中的灯塔,为模型训练指引方向。比如在训练模型理解复杂故事逻辑时,从海量故事文本中精挑细选具有代表性、逻辑结构复杂的故事,并附上详尽的逻辑分析。模型在这些数据的引导下,能更精准地理解上下文关系,把握情节发展脉络,为后续深度训练筑牢根基。 - 多阶段训练的协同效应
DeepSeek R1的训练过程恰似一场精心编排的交响乐,涵盖两个RL阶段和两个监督微调(SFT)阶段。RL阶段如同激昂的乐章,助力模型在复杂任务空间中探寻并优化推理模式,模型在此阶段仿若勇敢的探索者,不断积累经验。SFT阶段则如细腻的前奏,为模型的推理与非推理能力奠定基础。两个阶段紧密协作,使模型在面对各类复杂任务时都能游刃有余。 - 蒸馏技术的神奇魔法
为提升小模型的性能,DeepSeek R1运用蒸馏技术,将大模型的推理模式巧妙迁移至小模型。这一技术如同知识的传递使者,例如,大模型经长时间训练积累了丰富知识与高效推理模式,通过蒸馏,小模型不仅具备类似推理能力,还因结构简单而运行速度更快、资源占用更少,极大拓展了模型的应用范围。
(二)OpenAI O1
- Transformer架构的卓越效能
OpenAI O1基于Transformer架构精心搭建,该架构在自然语言处理领域堪称“瑞士军刀”。其核心优势在于能高效处理和生成文本,尤其是在处理长序列数据时,凭借自注意力机制,可轻松捕捉文本中的长期依赖关系。无论是长篇小说的复杂情节,还是复杂技术文档的严谨逻辑,OpenAI O1都能应对自如,生成的文本连贯且逻辑清晰。 - 思维链提示策略的智慧之光
面对复杂查询,OpenAI O1采用思维链提示策略,如同为模型配备了一位睿智的解题导师。模型通过逐步迭代的方式将复杂问题拆解为多个简单步骤,依次推理求解。以复杂数学应用题为例,模型先分析题目条件,明确已知与所求,再列出解题步骤并逐步推导,最终得出准确答案。这一策略显著提升了模型处理复杂问题的能力。 - 安全训练机制的保驾护航
在信息繁杂的时代,模型生成内容的安全性与合规性至关重要。OpenAI O1实施新颖的安全训练方法,借助模型自身的推理能力,严格遵守安全和协调准则。训练过程中,模型如同严谨的审查员,对生成内容进行严格筛查,杜绝有害、虚假或违反道德伦理的表述,为模型的广泛应用提供了坚实保障。
三、训练方法剖析
(一)数据准备
- DeepSeek R1的数据雕琢之路
DeepSeek R1在数据选择上精益求精,尤其注重冷启动长CoT数据的质量。这些数据多源自专业领域的权威文献、前沿学术论文及复杂实际问题解决案例。例如,在医学领域训练时,会从医学专业期刊的高质量论文中提取数据。在预处理阶段,DeepSeek R1如技艺精湛的工匠,对数据进行清洗、标注等精细操作,去除噪声与错误信息,添加准确标注,确保数据的准确性与一致性,为模型训练奠定坚实基础。 - OpenAI O1的大规模数据整合策略
OpenAI O1采用大规模多源数据整合策略,数据涵盖互联网文本、书籍、新闻等。为确保数据质量,运用先进的采样和过滤技术,去除重复与低质量数据,如同沙中淘金。同时,对数据进行标准化处理,统一格式、归一化词法和句法,使数据符合模型输入要求,便于模型高效学习。
(二)训练优化
- DeepSeek R1的强化学习优化之旅
训练过程中,DeepSeek R1以GRPO为核心的RL优化算法,如同睿智的领航员,依据模型反馈动态调整训练策略。在逻辑推理训练中,当模型推理结果与正确答案有偏差时,GRPO算法会依据优化规则微调模型参数,使模型不断改进推理方法,提升性能,从而在复杂任务中迅速找到最佳解决方案。 - OpenAI O1的多维度优化策略
OpenAI O1采用多种优化技术,构建全方位优化体系。自适应学习率调整是重要手段之一,训练早期,较大学习率使模型快速探索参数空间;训练后期,学习率降低,模型精细调整参数,提高性能。此外,梯度裁剪技术防止梯度爆炸或消失,确保训练稳定收敛,使模型始终保持良好训练状态。
以下为简单示意DeepSeek R1基于GRPO的训练代码片段:
import torch
import torch.nn as nn
from deepseek_rl_framework import GRPO# 定义DeepSeek R1模型
class DeepSeekR1(nn.Module):def __init__(self):super(DeepSeekR1, self).__init__()# 模型结构定义,例如Transformer的一些层等self.layer1 = nn.TransformerEncoderLayer(d_model = 512, nhead = 8)self.layer2 = nn.TransformerEncoderLayer(d_model = 512, nhead = 8)def forward(self, x):# 前向传播逻辑x = self.layer1(x)x = self.layer2(x)return x# 初始化模型
model = DeepSeekR1()# 定义GRPO优化器
optimizer = GRPO(model.parameters(), lr = 0.001, gamma = 0.99)# 训练数据
train_data = torch.randn(100, 32, 512) # 假设数据格式为(batch_size, sequence_length, feature_dim)for epoch in range(100):for batch in train_data:# 前向传播output = model(batch)# 计算损失,这里假设是一个简单的均方误差损失loss = torch.mean((output - target) ** 2)# 反向传播和优化optimizer.zero_grad()loss.backward()optimizer.step()
以下为简单示意OpenAI O1中使用自适应学习率调整的代码片段:
import torch
import torch.nn as nn
from torch.optim import AdamW# 定义OpenAI O1类似的模型结构
class OpenAIO1Like(nn.Module):def __init__(self):super(OpenAIO1Like, self).__init__()# 模型结构定义,例如Transformer的一些层等self.layer1 = nn.TransformerEncoderLayer(d_model = 512, nhead = 8)self.layer2 = nn.TransformerEncoderLayer(d_model = 512, nhead = 8)def forward(self, x):# 前向传播逻辑x = self.layer1(x)x = self.layer2(x)return x# 初始化模型
model = OpenAIO1Like()# 定义AdamW优化器,带有自适应学习率调整
optimizer = AdamW(model.parameters(), lr = 0.001, betas = (0.9, 0.999), eps = 1e - 8)# 训练数据
train_data = torch.randn(100, 32, 512) # 假设数据格式为(batch_size, sequence_length, feature_dim)for epoch in range(100):for batch in train_data:# 前向传播output = model(batch)# 计算损失,这里假设是一个简单的均方误差损失loss = torch.mean((output - target) ** 2)# 反向传播和优化optimizer.zero_grad()loss.backward()optimizer.step()
四、性能基准比较
(一)推理任务
- DeepSeek R1的推理壮举
在AIME 2024和MATH - 500等极具挑战性的推理任务中,DeepSeek R1表现卓越。在AIME 2024中,它取得了79.8% Pass@1的优异成绩;在MATH - 500测试里,获得了97.3%的高分,与OpenAI O1 - 1217相当,部分指标甚至更优。这表明DeepSeek R1在复杂数学推理、逻辑推导等任务中实力强劲,能深入理解问题本质,运用精妙推理策略得出准确答案,为实际应用中的复杂推理提供有力支持。 - OpenAI O1的推理优势
OpenAI O1在推理任务领域同样表现出色,尤其在科学、技术、工程和数学(STEM)领域的复杂推理问题上优势明显。无论是探索物理奥秘还是解析工程技术难题,OpenAI O1都能凭借深厚知识储备和强大推理能力,精准理解问题并给出详尽准确解答,在STEM领域的推理任务中占据重要地位。
(二)编码任务
- DeepSeek R1的编码达人之路
DeepSeek R1在编码任务方面堪称“编码达人”。在Codeforces竞赛中,它达到专家级水平,获得2,029 Elo评级,表现优于96.3%的人类参与者。这充分证明其在代码生成、调试等方面能力卓越,能快速理解需求,生成高效准确代码,如同经验丰富的程序员,依据不同编程场景运用恰当技巧和逻辑编写高质量代码。 - OpenAI O1的编码助力
OpenAI O1在编码基准测试中表现良好,是开发人员的得力助手。它能根据开发人员的需求描述,快速生成相关代码框架和关键代码片段,协助构建和执行多步骤工作流程。在开发复杂Web应用程序时,OpenAI O1可协助设计数据库架构、编写后端接口代码等,提高开发效率和代码质量。
(三)知识基准
- DeepSeek R1的知识拼图
在MMLU等基于知识的基准测试中,DeepSeek R1展现出一定知识储备实力。虽表现略逊于OpenAI O1 - 1217,但优于众多闭源模型。这表明它在一般知识掌握上具有优势,但在知识广度和深度上与OpenAI O1相比仍有提升空间。面对专业小众领域知识问题,DeepSeek R1需进一步提高回答的准确性和完整性。 - OpenAI O1的知识宝库
OpenAI O1在知识基准测试中宛如一座知识宝库,展现出惊人的知识覆盖和准确性。无论是历史文化、科学技术还是日常生活常识,它都能快速准确回答各类知识问题。对世界知识的广泛涉猎和对常识的精准理解,使其在知识问答任务中表现出色,能为用户提供有价值的信息。
五、成本与可访问性对比
(一)成本方面
- DeepSeek R1的低成本优势
DeepSeek R1在成本方面优势显著。据传其训练成本仅600万美元,在大型语言模型训练成本中性价比极高。使用成本也非常亲民,输入代币每100万个代币0.55美元,产出代币每100万代币2.19美元。这使得更多研究机构和开发者能够负担得起,为其广泛应用和推广提供有力支持,无论是小型创业公司还是学术研究团队,都能在有限预算内利用其强大功能开展创新研究和应用开发。 - OpenAI O1的高成本考量
与DeepSeek R1相比,OpenAI O1的训练成本高昂,据传约5亿美元。如此高昂的训练成本,使得只有具备强大资金实力的机构才能承担研发和训练。使用成本方面,OpenAI O1也相对较高,输入代币每100万个代币15.00美元,输出代币每100万代币60.00美元。高成本使用模式对成本敏感的用户和研究机构设置了较高门槛,限制了其在某些场景下的广泛应用。
(二)可访问性方面
- DeepSeek R1的开源魅力
DeepSeek R1以开源形式发布,这一举措为机器学习领域打开了知识宝库的大门。研究人员和开发者可自由获取模型权重,深入研究模型结构和原理,并基于开源代码进行二次开发和定制化改进。开源模式极大促进了技术交流与创新,不同地区和背景的研究人员可共同参与模型优化和应用拓展。例如,一些研究团队基于DeepSeek R1的开源代码,针对特定领域(如生物信息学)进行优化,开发出更适合该领域的语言模型应用。 - OpenAI O1的访问模式
OpenAI O1通常以API形式提供给用户使用,用户需申请访问权限,并遵循一定的使用规则和收费标准。这种访问模式在一定程度上保障了模型的安全性和商业运营,但也限制了部分用户的直接使用。对于一些希望深入研究模型内部结构或进行大规模定制化开发的用户来说,API访问可能无法满足其需求。不过,通过API,OpenAI O1能够为广大用户提供便捷的服务接入,使得不同行业的开发者可以快速将其集成到自己的应用中,如聊天机器人、智能写作助手等。
六、应用场景分析
(一)DeepSeek R1的应用领域
- 科研辅助
在科研领域,DeepSeek R1凭借其强大的推理能力和对复杂知识的理解,为科研人员提供了有力的辅助。例如在数学研究中,它可以帮助研究人员探索新的证明思路,验证猜想。在物理领域,对于一些复杂的理论推导,DeepSeek R1能够通过对大量文献的学习和自身的推理,为研究人员提供新的视角和启发。此外,在跨学科研究中,它能够整合不同领域的知识,促进学科间的融合与创新。 - 智能编程助手
作为智能编程助手,DeepSeek R1的编码能力使其在软件开发过程中发挥重要作用。它可以根据开发人员的需求快速生成代码模板,自动完成一些重复性的代码编写工作,提高开发效率。同时,在代码调试阶段,它能够分析代码逻辑,定位潜在的错误,并提供解决方案。例如,在开发大型项目时,开发团队可以利用DeepSeek R1快速搭建项目框架,加速项目开发进程。 - 教育领域创新
在教育领域,DeepSeek R1可作为个性化学习工具。它能够根据学生的学习进度和知识掌握情况,提供针对性的学习内容和指导。例如,对于数学学习困难的学生,它可以通过详细的推理步骤讲解数学问题,帮助学生理解解题思路。在语言学习方面,它可以模拟真实的语言环境,与学生进行对话练习,提高学生的语言应用能力。
(二)OpenAI O1的应用方向
- 专业领域咨询
在专业领域,如医学、法律等,OpenAI O1凭借其丰富的知识储备和准确的推理能力,可作为专业咨询工具。医生可以借助它辅助诊断病情,分析病例中的复杂症状和潜在病因。律师则可以利用它查找相关法律条文,分析类似案例,为案件提供有力的支持。例如,在疑难病症的诊断中,OpenAI O1可以综合分析患者的症状、病史、检查结果等信息,为医生提供诊断建议。 - 内容创作与优化
在内容创作领域,OpenAI O1展现出强大的实力。它可以生成高质量的文章、故事、诗歌等各种类型的文本。同时,对于已有的内容,它能够进行优化和润色,提高文本的逻辑性和可读性。例如,媒体机构可以利用它快速生成新闻报道的初稿,作家可以借助它获取创作灵感,优化作品内容。 - 智能客服与交互系统
OpenAI O1在智能客服和交互系统中应用广泛。它能够快速理解用户的问题,并给出准确、友好的回答。在复杂的客户咨询场景中,它可以通过多轮对话,深入了解用户需求,提供个性化的解决方案。例如,电商平台的智能客服可以利用OpenAI O1快速处理客户的咨询和投诉,提高客户满意度。
七、未来发展展望
(一)DeepSeek R1的发展路径
- 提升多语言能力
针对当前在多语言环境中存在的语言混合等问题,DeepSeek R1未来可能会着重提升多语言处理能力。通过优化模型架构和训练数据,使其能够更好地适应不同语言的语法、语义和文化背景,实现更准确、流畅的多语言交互。这将有助于扩大其在全球范围内的应用,满足不同地区用户的需求。比如在跨国企业的办公沟通、国际教育资源共享等场景中,为用户提供更优质的多语言服务。 - 拓展知识领域
尽管DeepSeek R1在现有知识基准测试中表现不错,但仍有提升空间。未来它可能会进一步拓展知识领域,不仅在数学、代码和自然语言推理等方面持续深化,还会向更多专业领域进军,如医学、物理学、生物学等。通过与各领域专家合作,引入更多专业知识数据进行训练,使模型能够更好地理解和处理复杂的专业问题,为科研人员、专业从业者提供更精准的知识支持和解决方案,助力各领域的创新发展。 - 强化多模态功能
目前OpenAI O1在图像分析等多模态功能上有所突破,DeepSeek R1也可能会加快在多模态领域的研发。未来可能会结合图像、音频等多种模态数据进行训练,实现文本与图像、音频等信息的融合理解和生成。例如在智能安防领域,能够同时对视频画面和音频信息进行分析,实现更精准的异常行为检测和预警;在智能教育领域,支持图文并茂的学习资料生成和讲解,提升学习体验。 - 优化服务性能
随着用户数量的增加和应用场景的丰富,DeepSeek R1需要不断优化服务性能。一方面,提升模型的响应速度,减少用户等待时间,尤其是在处理大规模复杂任务时,确保能够快速给出结果。另一方面,增强服务的稳定性,降低系统故障率,保障用户能够持续、稳定地使用服务。此外,还可能会进一步优化成本效益,在提供高质量服务的同时,降低运营成本,使更多用户和企业能够受益于该模型。 - 深化与硬件的协同
DeepSeek通过工程化能力创新,实现了大模型训练和推理算力成本的极致优化。未来,DeepSeek R1有望与更多硬件厂商深入合作,进一步优化在不同硬件平台上的运行效率。与国产算力芯片厂商合作,推动国产硬件的发展和应用,实现大模型与硬件的深度融合,提高整体性能和兼容性。比如针对特定的硬件架构,对模型进行定制化优化,充分发挥硬件的优势,实现更高效的推理和计算,为大规模商业化落地提供更坚实的技术基础。 - 推动开源社区发展
DeepSeek R1采用MIT许可协议,完全开源。未来,它将继续依托开源社区,吸引更多开发者参与模型的改进和应用开发。通过社区的力量,不断丰富模型的功能和应用场景,推动人工智能技术的普及和创新。可能会举办更多的开源项目活动、技术竞赛等,激发开发者的创造力,促进优秀人才的培养和交流,形成一个繁荣的人工智能开源生态系统。
(二)OpenAI O1的发展方向
- 拓展功能与应用场景
OpenAI O1目前仍然缺少部分高级功能,如网页浏览、上传文件、结构化输出、函数调用等功能仍在开发阶段。未来,OpenAI将继续完善这些功能,进一步拓展应用场景。网页浏览功能的实现将使O1能够实时获取最新的信息,为用户提供更准确、全面的回答;上传文件和结构化输出功能可以方便用户进行数据处理和分析,提高工作效率;函数调用功能则能与其他软件和工具更好地集成,为开发者提供更多的创新空间,使O1在办公自动化、数据分析、软件开发等领域发挥更大的作用。 - 提升效率与降低成本
目前O1存在推理时间较长、使用成本较高的问题。未来,OpenAI可能会通过优化模型架构、算法和训练方法,提高O1的推理效率,缩短响应时间,使其在各种应用场景中能够更快速地为用户提供服务。同时,也会致力于降低使用成本,让更多用户和企业能够负担得起,扩大其市场份额。例如,通过技术创新和资源优化配置,减少对计算资源的需求,降低运营成本,从而降低用户的使用费用。 - 强化安全与伦理机制
随着人工智能技术的广泛应用,安全和伦理问题日益受到关注。OpenAI O1在安全方面已经取得了一定的进展,但仍需不断强化。未来,它可能会进一步完善安全训练机制,提高模型在抵抗攻击、保护用户隐私等方面的能力。同时,加强伦理审查和监管,确保模型的输出符合道德和法律规范,避免产生不良影响。例如,在内容生成方面,严格审核输出结果,防止生成虚假信息、有害内容等;在数据使用方面,加强对用户数据的保护,确保数据的安全和合规性。 - 探索与其他模型的融合
OpenAI O1与GPT-4O等其他大模型并非替代关系,未来不排除实现融合。OpenAI可能会探索将O1与其他模型进行融合的方式,充分发挥各自的优势,实现性能的进一步提升。例如,将O1的强大推理能力与GPT-4O在某些特定领域的优势相结合,打造更全面、更强大的人工智能系统。此外,也可能会与其他机构和团队的模型进行合作和融合,推动人工智能技术的共同发展。 - 推动人工智能向AGI迈进
O1在一定程度上模拟了人类的慢思考过程,展示了向AGI迈进的潜力。未来,OpenAI将以O1为基础,继续深入研究和探索,不断提升模型的智能水平,使其在认知、学习、推理等方面更接近人类智能。通过持续的技术创新和突破,推动人工智能向通用人工智能(AGI)的目标迈进,为人类社会带来更多的变革和进步。
总体而言,DeepSeek R1和OpenAI O1作为当前机器学习领域的杰出代表,都有着广阔的发展前景。它们将在技术创新、应用拓展、社会影响等方面持续发挥重要作用,推动机器学习技术不断向前发展,为人类的生产生活带来更多的便利和创新。
相关文章:
DeepSeek R1 与 OpenAI O1:机器学习模型的巅峰对决
我的个人主页 我的专栏:人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!!点赞👍收藏❤ 一、引言 在机器学习的广袤天地中,大型语言模型(LLM)无疑是最…...
【硬件设计细节】缓冲驱动器使用注意事项
一、缓冲驱动器核心功能与选型原则 信号增强与隔离 驱动能力匹配:根据负载电流需求选择缓冲器,例如CMOS缓冲器驱动能力通常为4-8mA,需搭配大电流负载时选用图腾柱输出或专用驱动芯片(如TI的SN74LVC系列)。电压域转换&…...
基于LVGL的简易聊天室
创建过程: 在GUI里配置好了一个大概的界面。聊天界面需要一个滑动页、一个输入框、一个文本框、一个发送按键。其中文本框属于滑动页,并且给发送按键添加上事件。 保存界面后,打开工程代码。 第一件事,是打开键盘使用的宏定义 随…...
DeepSeek 助力 Vue 开发:打造丝滑的开关切换(Switch)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
IDEA集成DeepSeek
引言 随着数据量的爆炸式增长,传统搜索技术已无法满足用户对精准、高效搜索的需求。 DeepSeek作为新一代智能搜索技术,凭借其强大的语义理解与深度学习能力,正在改变搜索领域的游戏规则。 对于 Java 开发者而言,将 DeepSeek 集成…...
pycharm社区版有个window和arm64版本,到底下载哪一个?还有pycharm官网
首先pycharm官网是这一个。我是在2025年2月16日9:57进入的网站。如果网站还没有更新的话,那么就往下滑一下找到 community Edition,这个就是社区版了免费的。PyCharm:适用于数据科学和 Web 开发的 Python IDE 适用于数据科学和 Web 开发的 Python IDE&am…...
LeetCode热题100- 缺失的第一个正数【JavaScript讲解】
题目: 解题一: 如果不考虑时间复杂度和空间复杂度的话,我们最先想到的办法是先将该数组进行排序和去重,将最初的res结果值设置为1;将然后进行遍历,如果第一项不为1,则返回1,否则根…...
基于矢量轨道角动量波的透射超表面设计
摘 要:针对轨道角动量(Orbital Angular Momentum,OAM)在无线通信系统中相位奇点的问题,提出了一种产生矢量OAM波的透射超表面。设计了一种超表面透射单元实现透射极化和相位的调控,并由此单元排布组成透射超表面。采用透射超表面调控透射电磁波…...
全方位探索DeepSeek
目录 前言1. DeepSeek的基础功能与应用场景2. 使用DeepSeek的多种方式2.1 通过Web界面快速体验2.2 调用API实现自动化处理2.3 集成到本地开发环境2.4 结合第三方工具扩展功能 3. 高效使用DeepSeek的进阶技巧3.1 参数调优与性能优化3.2 数据处理与结果分析 4. 实际案例分析与应用…...
详解Redis数据结构(附源码)
引言 只有弄明白Redis数据结构,才能理解它如此快速的原因,并不只是它存储于内存,本篇文章将拆开Redis数据结构分析它高效的原因 字符串(String) 基本概念:字符串是 Redis 中最基本的数据结构,…...
基于Flask的茶叶销售数据可视化分析系统设计与实现
【FLask】基于Flask的茶叶销售数据可视化分析系统设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统的创新之处在于系统不仅提供了基础的图表展示,如价格分布、付款分…...
基于推荐算法的在线课程推荐系统设计与实现
开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…...
计时器任务实现(保存视频和图像)
下面是一个简单的计时器任务实现,可持续地每秒保存一幅图像,也可持续地每60秒保存一个视频,图像和视频均以当前时间命名: TimerTask类的实现如下: class TimerTask { public:TimerTask(const std::string& path):…...
FreeRTOS第3篇:链表的“精密齿轮”——列表与列表项
文章目录 1 列表与列表项:FreeRTOS的“排队系统”2 列表操作:FreeRTOS的“排队算法”3 列表的应用场景:FreeRTOS的“任务调度枢纽”4 源码级洞察:列表的“灵魂代码”5 实战:列表操作实验6 总结与思考引言:嵌入式系统的“任务候车厅” 想象你正在管理一座繁忙的火车站:乘…...
Linux(ubuntu)下载ollama速度慢解决办法
国内安装Ollama都很慢,因为一直卡在下载中,直接通过官网的链接地址下载方法: curl -fsSL https://ollama.com/install.sh | sh速度大概是10min下载1%,完全不能接受啊! 其中很好的一个加速方式是通过使用github文件加速…...
【Java】分布式锁Redis和Redisson
https://blog.csdn.net/weixin_44606481/article/details/134373900 https://www.bilibili.com/video/BV1nW421R7qJ Redis锁机制一般是由 setnx 命令实现,set if not exists,语法setnx key value,将key设置值为value,如果key不存在…...
网络编程-
文章目录 网络编程套接字UDP/TCP的api使用 网络编程套接字 socket,是操作系统给应用程序(传输层给应用层)提供的api,Java也对这个api进行了封装。 socket提供了两组不同的api,UDP有一套,TCP有一套&#x…...
DeepSeek助力学术论文写作[特殊字符]
宝子们,还在为学术论文写作发愁吗?DeepSeek来帮你!只要用对提示词,它就能变成你写作路上的超级助手。今天就来给大家分享一些超好用的提示词,助力学术论文写作,让你的论文在ChatGPT的辅助下闪闪发光✨。 一…...
从零创建DeepSeek:技术路径与实践探索
import tensorflow as tf摘要:本文详细阐述了从零开始创建DeepSeek的全过程,涵盖从项目启动的构思,到技术选型的考量,再到模型训练的精细操作,以及系统集成、测试优化和部署上线的各个环节。通过对这些步骤的深入解析&…...
MySQL技术公开课:Mysql-Server-8.4.4 Innodb 集群搭建与维护
MySQL技术公开课 - Mysql-Server-8.4.4 Innodb 集群搭建与维护 讲课内容: 1、Innodb集群框架介绍 2、Innodb集群部署(mysql-Server、mysql-shell、mysql-router安装配置) 3、Innodb集群维护(主备切换、启动与关闭、故障排除) Mysql-server商业版目前最新的是8.…...
VS Code User和System版区别【推荐使用System版本】and VSCode+Keil协同开发之Keil Assistant
VS Code User和System版区别 Chapter1 VS Code User和System版区别1. 对于安装而言2. 结束语 Chapter2 VS Code 安装、配置教程及插件推荐插件: Chapter3 VSCodeKeil协同开发之Keil Assistant1. 效果展示2. Keil Assistant简介3. Keil Assistant功能特性4. 部署步骤…...
动态规划两个数组dp问题系列一>最长重复子数组
目录 状态表示:状态转移方程:初始化:填表顺序:返回值:代码呈现: 状态表示: 状态转移方程: 初始化: 填表顺序: 返回值: 这里是以某一个位置为结尾定…...
在SpringBoot中使用UniHttp简化天地图路径规划调用实践
目录 写在最前面 前言 一、天地图路径规划简介 1、天地图相关服务 2、天地图路径规划接口 二、UniHttp简介 1、UniHttp是什么? 2、UniHttp能做什么? 三、UniHttp调用天地图接口 1、请求接口的定义 2、实际调用 3、相应结果展示 四、总结 写在…...
springboot与Freemarker
1 基本使用 1.1 介绍 FreeMarker 是一款模板引擎: 即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 是一个Java类库。 FreeMarker 被设计用来生成 HTML Web 页面…...
CMake无法生成可执行文件,一直生成库文件
CMakeLists的内容如下,一直生成的main是库文件,而不是可执行文件。本人是在进行鸿蒙的交叉编译的时候遇到,归结为cmake属性的差异。原内容如下: # 设置最低CMake版本要求 cmake_minimum_required (VERSION 2.8.0)# 设置项目名称 …...
PrimeFaces实战:IdleMonitor与Ajax的完美结合
在现代的Web开发中,用户交互的实时反馈是一个重要的用户体验环节。PrimeFaces作为一个强大的Java EE UI库,提供了许多便捷的功能组件,其中之一就是IdleMonitor。通过IdleMonitor,我们可以轻松地检测用户何时处于空闲状态以及何时从…...
搭建一个经典的LeNet5神经网络
第一章:计算机视觉中图像的基础认知 第二章:计算机视觉:卷积神经网络(CNN)基本概念(一) 第三章:计算机视觉:卷积神经网络(CNN)基本概念(二) 第四章:搭建一个经典的LeNet5神经网络 一、LeNet-5背景 LeNet-…...
Transformer多头注意力并行计算原理与工业级实现:从数学推导到PyTorch工程优化
一、核心数学原理剖析 1.1 多头注意力矩阵分解 Q XW^Q ∈ R^{nd_k} K XW^K ∈ R^{nd_k} V XW^V ∈ R^{nd_v} 多头分解公式: head_i Attention(QW_i^Q, KW_i^K, VW_i^V) 其中 W_i^Q ∈ R^{d_kd_k/h}, W_i^K ∈ R^{d_kd_k/h}, W_i^V ∈ R^{d_vd_v/h} (h为头数…...
OpenAI 的变化对行业意味着什么?
哎呀,中国AI的发展可是搅动了一番风云。害怕自己正在失去对 AI 话语权的掌控,OpenAI 决定是时候全力出击了。 除了最近意外发布的 o3-mini 模型之外,Sam Altman 昨天还宣布了接下来几周/几个月的路线图,而这些变化相当显著&#…...
LinkedList
一.IDEA的链表库 IDEA上实现链表的包,实现的是无头双向不循环链表:(并且这个链表有头尾节点) 二.自己实现一个无头双向不循环链表 1.创建链表的类,在链表内中定义一个节点的内部类,并且在链表的类中定义头…...
半遮挡检测算法 Detecting Binocular Half-Occlusions
【1. 背景】: 本文分析【Detecting Binocular Half-Occlusions:Empirical Comparisons of Five Approaches】Geoffrey Egnal和Richard P. Wildes于2002年发表在IEEE Transactions on Pattern Analysis and Machine Intelligence上,这是1篇中…...
零基础购买阿里云服务器,XShell连接云服务器
目录 1.环境搭建方式 2. 使用云服务器 3.使用终端软件登录到Linux 4.使用XShell登录主机 5.连接失败的原因: 下一篇更新:Linux的基础指令以及如何Linux的环境搭建 1.环境搭建方式 主要有四种: 1.直接安装在物理机上,虽然Linux有图形化…...
Mac ARM 架构的命令行(终端)中,删除整行的快捷键是:Ctrl + U
在 Mac ARM 架构的命令行(终端)中,删除整行的快捷键是: Ctrl U这个快捷键会删除光标所在位置到行首之间的所有内容。如果你想删除光标后面的所有内容,可以使用: Ctrl K这两个快捷键可以帮助你快速清除当…...
ESP学习-1(MicroPython VSCode开发环境搭建)
下载ESP8266固件:https://micropython.org/download/ESP8266_GENERIC/win电脑:pip install esptools python.exe -m pip install --upgrade pip esptooo.py --port COM5 erase_flash //清除之前的固件 esptool --port COM5 --baud 115200 write_fla…...
微信小程序性能优化
微信小程序的性能优化是提升用户体验的关键。以下是一些常见的优化策略和技巧: 1. 减少 setData 的调用频率和数据量 setData 是小程序中更新视图的主要方式,但频繁调用或数据量过大会导致性能问题。 减少调用频率:避免在短时间内多次调用…...
五十天精通硬件设计第31天-阻抗
系列文章传送门 50天精通硬件设计第一天-总体规划-CSDN博客 目录 1. 核心概念:特性阻抗 2. 阻抗不匹配的后果 3. 关键影响因素 4. 阻抗匹配方法 5. 设计实践要点 6. 工具与测试 7. 常见问题解决 总结 信号完整性中的阻抗问题主要涉及传输线的特性阻抗匹配,是确保高…...
docker部署dify结合deepseek构建知识库
序 本文主要研究一下本地docker部署dify结合deepseek构建知识库 步骤 dify git clone https://github.com/langgenius/dify.git git co tags/0.15.3 -b 0.15.3 cd docker cp .env.example .env docker-comopse up启动之后访问localhost docker-comopse.yaml # # WARNING…...
11.C语言 malloc() calloc() realloc()分配内存
目录 malloc 好处 坏处 总结 calloc 参数说明 作用 与 malloc 的区别 示例 优点 缺点 总结 realloc 参数说明 作用 示例 优点 缺点 注意事项 总结 总结区别 对比表格 malloc 函数功能:分配内存给 void* malloc(size_t size); 来看一下deep…...
可信大模型:LLM + 神经符号推理,解决复杂推理任务
可信大模型:LLM 神经符号推理,解决复杂推理任务 论文大纲一、Why:研究要解决的现实问题二、What:核心发现或论点三、How:研究的整体方法与关键细节3.1 前人研究的局限性3.2 创新方法/视角3.3 关键数据或实验支持3.4 可…...
基于大数据的全国热门旅游景点数据分析系统的设计与实现
【大数据】基于大数据的全国热门旅游景点数据分析系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统主要包括登录注册、系统首页、图表分析、数据管理和个人信息五大功能模…...
Moya 网络框架
Moya 网络框架 定义enum类型,有多种接口就定义多少种,然后实现TargetType协议 import Foundation //导入网络框架 import Moyaenum DefaultService {//广告列表case ads(position : Int)case sheets(size:Int)case sheetDetail(data: String)case regi…...
【环境安装】重装Docker-26.0.2版本
【机器背景说明】Linux-Centos7;已有低版本的Docker 【目标环境说明】 卸载已有Docker,用docker-26.0.2.tgz安装包安装 1.Docker包下载 下载地址:Index of linux/static/stable/x86_64/ 2.卸载已有的Docker 卸载之前首先停掉服务 sudo…...
std::ranges::set_intersection set_union set_difference set_symmetric_difference
std::ranges::set_intersection:是 C20 引入的一个算法,用于计算两个已排序范围的交集。它将两个范围的交集元素复制到输出范围中。 std::ranges::set_intersection 用于计算两个已排序范围的交集。它将两个范围的交集元素复制到输出范围中。 注意事项…...
消息中间件深度剖析:以 RabbitMQ 和 Kafka 为核心
在现代分布式系统和微服务架构的构建中,消息中间件作为一个不可或缺的组件,承担着系统间解耦、异步处理、流量削峰、数据传输等重要职能。尤其是在面临大规模并发、高可用性和可扩展性需求时,如何选择合适的消息中间件成为了开发者和架构师们…...
笔试题笔记#6 模拟三道题和总结知识
两小时快乐模拟,最终三百分耻辱下播,(刷的题三道一组,时长两小时,第一题100分,第二题200分,第三题300分),第三题完全想错了,其实挺简单的,就是好久…...
生成对抗网络(GAN)的“对抗“过程解析:从图像合成到药物发现的跨领域应用
技术原理(数学公式示意图) 核心对抗公式 min G max D V ( D , G ) E x ∼ p d a t a [ log D ( x ) ] E z ∼ p z [ log ( 1 − D ( G ( z ) ) ) ] \min_G \max_D V(D,G) \mathbb{E}_{x\sim p_{data}}[\log D(x)] \mathbb{E}_{z\sim p_…...
[鸿蒙笔记-基础篇_自定义构建函数及自定义公共样式]
在开发中遇到比较复杂的界面的时候都会用到自定义组件,但是在自定义组件内部也会有一些公共的布局及公共的样式,这时就需要用到自定义构建函数和自定义构建样式。说白了就是:在ets文件中进行构建函数和构建样式的抽取封装。比较常用记录一下。…...
【C】初阶数据结构4 -- 双向循环链表
之前学习的单链表相比于顺序表来说,就是其头插和头删的时间复杂度很低,仅为O(1) 且无需扩容;但是对于尾插和尾删来说,由于其需要从首节点开始遍历找到尾节点,所以其复杂度为O(n)。那么有没有一种结构是能使得头插和头删…...
【动态路由】系统Web URL资源整合系列(后端技术实现)【nodejs实现】
需求说明 软件功能需求:反向代理功能(描述:apollo、eureka控、apisix、sentinel、普米、kibana、timetask、grafana、hbase、skywalking-ui、pinpoint、cmak界面、kafka-map、nacos、gateway、elasticsearch、 oa-portal 业务应用等多个web资…...
解读 Flink Source 接口重构后的 KafkaSource
前言 Apache Kafka 和 Apache Flink 的结合,为构建实时流处理应用提供了一套强大的解决方案[1]。Kafka 作为高吞吐量、低延迟的分布式消息队列,负责数据的采集、缓冲和分发;而 Flink 则是功能强大的流处理引擎,负责对数据进行实时…...