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

大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路

2025年初,中国推出了具有开创性且高性价比的「大型语言模型」(Large Language Model — LLM)DeepSeek-R1,引发了AI的巨大变革。本文回顾了LLM的发展历程,起点是2017年革命性的Transformer架构,该架构通过「自注意力机制」(Self-Attention)彻底重塑了自然语言处理。到2018年,BERT和GPT等模型崭露头角,显著提升了上下文理解和文本生成能力。2020年,拥有1750亿参数的GPT-3展示了卓越的「少样本」和「零样本」学习能力。然而,「幻觉」问题 — —即生成内容与事实不符,甚至出现「一本正经地胡说八道」的现象 — — 成为了一个关键挑战。2022年,OpenAI通过开发「对话式」的ChatGPT应对这一问题,采用了「监督微调」(SFT)和「基于人类反馈的强化学习」(RLHF)。到2023年,像GPT-4这样的「多模态模型」整合了文本、图像和音频处理能力,使LLM能够以更接近人类的「听」、「说」、「看」能力。近期推出的OpenAI-o1和DeepSeek-R1「推理模型」(Reasoning Model)在复杂问题解决方面取得突破,赋予LLM更接近人类「系统2思维」的深度推理能力,标志着人工智能在模拟人类思维模式上迈出了重要一步。此外,DeepSeek-R1模型以其「超成本效益」和「开源」设计挑战了AI领域的传统规范,推动了先进LLL的普及,并促进了各行业的创新。

1. 什么是语言模型 (Language Models)?

「语言模型」是一种「人工智能系统」,旨在处理、理解和生成类似人类的语言。它们从大型数据集中学习模式和结构,使得能够产生连贯且上下文相关的文本,应用于翻译、摘要、聊天机器人和内容生成等领域。

1.1 大型语言模型(LLMs)

「语言模型」(LMs)和「大型语言模型」(LLMs)这两个术语虽然经常被互换使用,但实际上它们基于规模、架构、训练数据和能力指代不同的概念。LLMs 是 LMs 的一个子集,其规模显著更大,通常包含数十亿个参数(例如,GPT-3 拥有 1750 亿个参数)。这种更大的规模使 LLMs 能够在广泛的任务中表现出卓越的性能。

“LLM”这一术语在 2018 至 2019 年间随着基于 Transformer 架构的模型(如 BERT 和 GPT-1)的出现开始受到关注。然而,在 2020 年 GPT-3 发布后,这个词才被广泛使用,展示了这些大规模模型的重大影响力和强大能力。

1.2 自回归语言模型 (Autoregressive Language Models)

大多数LLMs以「自回归方式」(Autoregressive)操作,这意味着它们根据前面的「文本」预测下一个「字」(或token/sub-word)的「概率分布」(propability distribution)。这种自回归特性使模型能够学习复杂的语言模式和依赖关系,从而善于「文本生成」。

在数学上,LLM 是一个概率模型(Probabilistic Model),根据之前的输入文本 ( w 1 , w 2 , … , w n − 1 ) (w₁, w₂, …, wₙ₋₁) w1,w2,,wn1预测下一个字$ (wₙ)$ 的概率分布。这可以表示为:

P ( w n ∣ ​ w 1 ​ , w 2 ​ , … , w n − 1 ​ ) P(wₙ|​w₁​,w₂​,…,wₙ₋₁​) P(wn∣​w1,w2,,wn1)

在文本生成任时,LLM通过解码算法(Decoding Algorithm)来确定下一个输出的字。这一过程可以采用不同的策略:既可以选择概率最高的下个字(即贪婪搜索),也可以从预测的概率分布中随机采样一个字。后一种方法使得每次生成的文本都可能有所不同,这种特性与人类语言的多样性和随机性颇为相似。

1.3 生成能力

LLMs的自回归特性使其能够基于前文提供的上下文逐词生成文本。从「提示」(prompt)开始,如下图,模型通过迭代预测下一个词,直到生成完整的序列或达到预定的停止条件。为了生成对提示的完整回答,LLM通过将先前选择的标记添加到输入中进行迭代生成,尤如「文字接龙」游戏。

LLM的文本生成尤如「文字接龙」游戏。

这种生成能力推动了多种应用的发展,例如创意写作、对话式人工智能以及自动化客户支持系统。

2. Transformer革命 (2017)

Vaswani等人在2017年通过其开创性论文“Attention is All You Need”引入了Transformer架构,标志着NLP的一个分水岭时刻。它解决了早期模型如循环神经网络(RNNs)和长短期记忆网络(LSTMs)的关键限制,这些模型在长程依赖性和顺序处理方面存在困难。这些问题使得使用RNN或LSTM实现有效的语言模型变得困难,因为它们计算效率低下且容易出现梯度消失等问题。另一方面,Transformers克服了这些障碍,彻底改变了这一领域,并为现代大型语言模型奠定了基础。

自注意力和Transformer架构

2.1 Transformer架构的关键创新

  1. 自注意力机制 (Self-Attention):与按顺序处理标记并难以应对长程依赖性的RNN不同,Transformers使用自注意力来权衡每个标记相对于其他标记的重要性。这使得模型能够动态关注输入的相关部分。数学上:

    这里,Q、K、V是查询(query)、键(key)和值(value)矩阵,dₖ​是键的维度。自注意力允许并行计算,加快训练速度,同时提高全局上下文理解。

  1. 多头注意力:多个注意力头并行操作,每个头专注于输入的不同方面。它们的输出被连接并转换,从而实现更丰富的上下文表示。

  1. 前馈网络(FFN)和层归一化(Layer Norm):每个Transformer层包括应用于每个标记的前馈网络,以及层归一化和残差连接。这些稳定了训练并支持更深的架构。

  2. 位置编码:由于Transformers本身不编码标记顺序,因此添加了位置编码(位置和频率的正弦函数)以表示词序,在不牺牲并行化的情况下保留顺序信息。

2.2 对语言建模的影响

  • 可扩展性:Transformers实现了完全并行化的计算,使得在大型数据集上训练大规模模型成为可能。
  • 上下文理解:自注意力捕捉局部和全局依赖关系,提高了连贯性和上下文意识。

Transformer架构的引入为构建能够以前所未有的精确性和灵活性处理复杂任务的大规模高效语言模型奠定了基础。

3. 预训练Transformer模型时代 (2018–2020)

2017年Transformer架构的引入为NLP的新时代铺平了道路,其特点是预训练模型的兴起和对扩展的前所未有的关注。这一时期见证了两个有影响力的模型家族的出现:BERT和GPT,它们展示了大规模预训练和微调范式的强大功能。

3.1 BERT:双向上下文理解 (2018)

2018年,谷歌推出了BERT(Bidirectional Encoder Representations from Transformers),这是一种使用Transformer编码器(Encoder)的突破性模型,在广泛的NLP任务中取得了最先进的性能。与之前单向处理文本(从左到右或从右到左)的模型不同,BERT采用了双向训练方法,使其能够同时从两个方向捕获上下文。通过生成深层次的、上下文丰富的文本表示,BERT在文本分类、命名实体识别(NER)、情感分析等语言理解任务中表现出色。


BERT的关键创新包括:

  • 掩码语言建模(Masker Language Modeling — MLM):BERT不是预测序列中的下一个词,而是被训练预测句子中随机掩码的标记。这迫使模型在进行预测时考虑整个句子的上下文 — — 包括前后词语。例如,给定句子“The cat sat on the [MASK] mat”,BERT会学习根据周围上下文预测“soft”。
  • 下一句预测(Next Sentence Prediction — NSP):除了MLM之外,BERT还接受了称为下一句预测的次要任务训练,其中模型学习预测两个句子是否在文档中连续。这帮助BERT在需要理解句子之间关系的任务中表现出色,例如问答和自然语言推理。

BERT的影响:BERT的双向训练使其在GLUE(通用语言理解评估)和SQuAD(斯坦福问答数据集)等基准测试中取得了突破性的表现。它的成功证明了上下文嵌入的重要性 — — 这些表示根据周围词语动态变化 — — 并为新一代预训练模型铺平了道路。

3.2 GPT:生成式预训练和自回归文本生成(2018–2020)

虽然BERT优先考虑双向上下文理解,但OpenAI的GPT系列采用了不同的策略,专注于通过自回归预训练实现生成能力。通过利用Transformer的解码器(Decoder),GPT模型在自回归语言模型和文本生成方面表现出色。

GPT (2018)
GPT的第一个版本于2018年发布,是一个大规模的Transformer模型,经过训练以预测序列中的下一个词,类似于传统语言模型。

  • 单向自回归训练:GPT使用因果语言建模目标进行训练,其中模型仅基于前面的标记预测下一个标记。这使得它特别适合于生成任务,如文本补全、摘要生成和对话生成。
  • 下游任务的微调:GPT的一个关键贡献是它能够在不需要特定任务架构的情况下针对特定下游任务进行微调。只需添加一个分类头或修改输入格式,GPT就可以适应诸如情感分析、机器翻译和问答等任务。

GPT-2 (2019)
在原版GPT的成功基础上,OpenAI发布了GPT-2,这是一个参数量达15亿的更大模型。GPT-2展示了令人印象深刻的零样本(Zero-shot)能力,意味着它可以在没有任何特定任务微调的情况下执行任务。例如,它可以生成连贯的文章、回答问题,甚至在语言之间翻译文本,尽管没有明确针对这些任务进行训练。


GPT-3 (2020)
GPT-3的发布标志着语言模型规模扩展的一个转折点。凭借惊人的1750亿参数(175B parameters),GPT-3突破了大规模预训练的可能性界限。它展示了显著的少样本(Few-short)和零样本(Zero-short)学习能力,在推理时只需提供最少或无需示例即可执行任务。GPT-3的生成能力扩展到了创意写作、编程和复杂推理任务,展示了超大模型的潜力。

3.3 GPT的影响及规模的作用

GPT模型的引入,特别是GPT-3,标志着AI的一个变革时代,展示了自回归架构和生成能力的强大功能。这些模型为内容创作、对话代理和自动推理等应用开辟了新的可能性,在广泛的任务中达到了接近人类的表现。GPT-3凭借其1750亿参数证明了规模的深远影响,表明在大规模数据集上训练的更大模型可以树立新的AI能力标杆。

语言建模性能随着模型大小、数据集大小和训练使用的计算量的增加而平稳提升。https://arxiv.org/pdf/2001.08361

在2018年至2020年间,该领域由对规模的不懈追求驱动。研究人员发现,随着模型规模的增长 — — 从数百万到数十亿参数 — — 它们在捕捉复杂模式和泛化到新任务方面变得更好。这种规模效应得到了三个关键因素的支持:

  • 数据集大小:更大的模型需要庞大的数据集进行预训练。例如,GPT-3是在大量互联网文本语料库上进行训练的,使其能够学习多样化的语言模式和知识领域。
  • 计算资源:强大的硬件(如GPU和TPU)的可用性以及分布式训练技术,使得高效训练具有数十亿参数的模型成为可能。
  • 高效架构:混合精度训练和梯度检查点等创新降低了计算成本,使得在合理的时间和预算内进行大规模训练更加实际。

这个规模扩展的时代不仅提升了语言模型的性能,还为未来的AI突破奠定了基础,强调了规模、数据和计算在实现最先进结果中的重要性。

4. 后训练对齐:弥合AI与人类价值观之间的差距 (2021–2022)

GPT-3(一个拥有1750亿参数的LLM)生成几乎无法与人类写作区分的文本的能力引发了关于AI生成内容的真实性和可信度的重大担忧。尽管这一成就标志着AI发展的一个重要里程碑,但也突显了确保这些模型与人类价值观、偏好和期望保持一致的关键挑战。一个主要问题是「幻觉」(Hallucination),即LLM生成与事实不符、无意义或与输入提示矛盾的内容,给人一种「一本正经地胡说八道」的印象。为了解决这些挑战,2021年和2022年的研究人员专注于改善与人类意图的一致性并减少幻觉,导致了监督微调(SFT)和基于人类反馈的强化学习(RLHF)等技术的发展。

4.1 监督微调 (SFT)

增强GPT-3对齐能力的第一步是监督微调(SFT),这是RLHF框架的基础组成部分。SFT类似于指令调优,涉及在高质量的输入-输出对或演示上训练模型,以教它如何遵循指令并生成所需的输出。


这些演示经过精心策划,以反映预期的行为和结果,确保模型学会生成准确且符合上下文的响应。


然而,SFT本身有局限性:

  1. 可扩展性:收集人类演示是劳动密集型且耗时的,尤其是对于复杂或小众任务。
  2. 性能:简单模仿人类行为并不能保证模型会超越人类表现或在未见过的任务上很好地泛化。

为了克服这些挑战,需要一种更具可扩展性和效率的方法,为下一步铺平了道路:基于人类反馈的强化学习(Reinforcement Learning from Human Feedback — RLHF)。

4.2 基于人类反馈的强化学习 (RLHF)

OpenAI在2022年引入的RLHF解决了SFT的可扩展性和性能限制。与需要人类编写完整输出的SFT不同,RLHF涉及根据质量对多个模型生成的输出进行排名。这种方法允许更高效的数据收集和标注,显著增强了可扩展性。

RLHF过程包括两个关键阶段:

  1. 训练奖励模型:人类注释者对模型生成的多个输出进行排名,创建一个偏好数据集。这些数据用于训练一个奖励模型,该模型学习根据人类反馈评估输出的质量。
  2. 使用强化学习微调LLM:奖励模型使用近端策略优化(Proximal Policy Optimization - PPO)(一种强化学习算法)指导LLM的微调。通过迭代更新,模型学会了生成更符合人类偏好和期望的输出。

这个两阶段过程 — — 结合SFT和RLHF — — 使模型不仅能够准确遵循指令,还能适应新任务并持续改进。通过将人类反馈整合到训练循环中,RLHF显著增强了模型生成可靠、符合人类输出的能力,为AI对齐和性能设定了新标准。

4.3 ChatGPT:推进对话式AI (2022)

2022年3月,OpenAI推出了GPT-3.5,这是GPT-3的升级版,架构相同但训练和微调有所改进。关键增强包括通过改进数据更好地遵循指令,减少了幻觉(尽管未完全消除),以及更多样化、更新的数据集,以生成更相关、上下文感知的响应。


ChatGPT
基于GPT-3.5和InstructGPT,OpenAI于2022年11月推出了ChatGPT,这是一种突破性的对话式AI模型,专门为自然的多轮对话进行了微调。ChatGPT的关键改进包括:

  • 对话聚焦的微调:在大量对话数据集上进行训练,ChatGPT擅长维持对话的上下文和连贯性,实现更引人入胜和类似人类的互动。
  • RLHF:通过整合RLHF,ChatGPT学会了生成不仅有用而且诚实和无害的响应。人类培训师根据质量对响应进行排名,使模型能够逐步改进其表现。

ChatGPT的推出标志着AI的一个关键时刻,通常被称为「ChatGPT时刻」(ChatGPT moment),因为它展示了对话式AI改变人机交互的潜力。

5. 多模态模型:连接文本、图像及其他 (2023–2024)

在2023年至2024年间,像GPT-4V和GPT-4o这样的多模态大型语言模型(MLLMs)通过将文本、图像、音频和视频整合到统一系统中重新定义了AI。这些模型扩展了传统语言模型的能力,实现了更丰富的交互和更复杂的问题解决。

5.1 GPT-4V:视觉遇见语言

2023年,OpenAI推出了GPT-4V,将GPT-4的语言能力与先进的计算机视觉相结合。它可以解释图像、生成标题、回答视觉问题,并推断视觉中的上下文关系。其跨模态注意力机制允许文本和图像数据的无缝集成,使其在医疗保健(如分析医学图像)和教育(如互动学习工具)等领域具有价值。

5.2 GPT-4o:全模态前沿

到2024年初,GPT-4o通过整合音频和视频输入进一步推进了多模态。它在一个统一的表示空间中运行,可以转录音频、描述视频或将文本合成音频。实时交互和增强的创造力 — — 如生成多媒体内容 — — 使其成为娱乐和设计等行业的多功能工具。

现实世界的影响: MLLMs革新了医疗保健(诊断)、教育(互动学习)和创意产业(多媒体制作)等领域。它们处理多种模态的能力解锁了创新的新可能性。

6. 开源和开放权重模型 (2023–2024)

在2023年至2024年间,开源和开放权重AI模型获得了动力,使先进AI技术的访问民主化。

  • 开放权重LLMs:开放权重模型提供公开访问的模型权重,限制极少。这使得微调和适应成为可能,但架构和训练数据保持封闭。它们适合快速部署。例子:Meta AI的LLaMA系列和Mistral AI的Mistral 7B / Mixtral 8x7B
  • 开源LLMs:开源模型使底层代码和结构公开可用。这允许全面理解、修改和定制模型,促进创新和适应性。例子:OPT和BERT。
  • 社区驱动的创新:像Hugging Face这样的平台促进了协作,LoRA和PEFT等工具使高效的微调成为可能。

    社区开发了专门针对医疗、法律和创意领域的模型,同时优先考虑道德AI实践。 开源社区目前处于一个激动人心的阶段,得益于尖端对齐技术的出现。这一进展导致越来越多的卓越开放权重模型发布。因此,闭源和开放权重模型之间的差距正在稳步缩小。LLaMA3.1–405B模型首次历史性地弥合了与闭源对应物的差距。

7. 推理模型:从「系统1」到「系统2」思维的转变 (2024)

2024年,AI开发开始强调增强「推理」(Reasoning),从简单的模式识别转向更逻辑化和结构化的思维过程。这一转变受到认知心理学双重过程理论的影响,区分了「系统1」(快速、直觉)和「系统2」(缓慢、分析)思维。虽然像GPT-3和GPT-4这样的早期模型在生成文本等「系统1」任务上表现出色,但在深度推理和问题解决方面却有所欠缺。

「系统1」与「系统2」思维

7.1 OpenAI-o1:推理能力的一大飞跃(2024)

OpenAI于2024年12月发布的o1模型旨在提高AI的推理能力,特别是在代码生成和调试等复杂任务上表现出色。o1模型的一个关键特征是通过「思维链」(Chain of Thought-CoT)过程增强推理能力,使其能够将复杂问题分解为更小、更易管理的步骤。

推理时间计算与能力

  • 思维链:o1模型在提供答案之前花费额外时间「思考」(thinking),通过生成思维链来增强复杂推理,特别是在科学和数学领域。模型的准确性与在回答前用于思考的计算量的对数相关。
  • :o1模型套件包括o1、o1-mini和o1 pro。o1-mini比o1-preview更快且更具成本效益,适用于编程和STEM相关任务,尽管它缺乏o1-preview的广泛世界知识。
  • 性能:o1-preview在物理、化学和生物学的基准测试中达到了大约博士水平的表现。在美国数学邀请赛中,它解决了83%的问题,相比之下GPT-4o解决了13%。它还在Codeforces编程竞赛中排名在第89百分位。

    OpenAI-o1的发布标志着AI开发的一个关键时刻,展示了结合生成和推理能力创造能够像人类一样思考和行动的模型的潜力。随着该领域的不断发展,推理模型有望解锁AI的新前沿,使机器能够应对人类面临的最具挑战性的问题。

8. 成本高效的推理模型:DeepSeek-R1 (2025)

LLMs通常需要极其庞大的计算资源来进行训练和推理。像GPT-4o和OpenAI-o1这样的最先进LLM模型的闭源性质限制了对尖端AI的「普及化」。

8.1 DeepSeek-V3 (2024–12)

2024年12月下旬,「深度求索-V3」(DeepSeek-V3)作为一种成本高效的开放权重LLM出现,为AI的可访问性设定了新标准。DeepSeek-V3与OpenAI的ChatGPT等顶级解决方案相媲美,但开发成本显著降低,估计约为560万美元,仅为西方公司投资的一小部分。该模型最多包含6710亿个参数,其中370亿个活跃参数,并采用专家混合(MoE)架构,将模型划分为专门处理数学和编码等任务的组件,以减轻训练负担。DeepSeek-V3采用了工程效率,例如改进Key-Value缓存管理和进一步推动专家混合方法。该模型引入了三个关键架构:

  • 多头潜在注意力(Multi-head Latent Attention — MLA):通过压缩注意力键和值来减少内存使用,同时保持性能,并通过旋转位置嵌入(RoPE)增强位置信息。
  • DeepSeek专家混合(DeepSeekMoE):在前馈网络(FFNs)中采用共享和路由专家的混合,以提高效率并平衡专家利用率。
  • 多标记预测 (Multi-Token Prediction — MTP):增强模型生成连贯且上下文相关的输出的能力,特别是对于需要复杂序列生成的任务。


DeepSeek-V3的发布引发了全球科技抛售,危及1万亿美元的市值,并导致英伟达股票盘前下跌13%。DeepSeek-V3的价格为每百万输出标记2.19美元,约为OpenAI类似模型成本的1/30。

8.2 DeepSeek-R1-Zero 和 DeepSeek-R1 (2025–01)

仅仅一个月后,2025年1月下旬,DeepSeek通过发布DeepSeek-R1-Zero和DeepSeek-R1再次引起轰动,这些模型展示了卓越的推理能力,训练成本极低。利用先进的强化学习技术,这些模型证明了高性能推理可以在没有通常与尖端AI相关的巨额计算费用的情况下实现。这一突破巩固了DeepSeek作为高效和可扩展AI创新领导者的地位。

  • DeepSeek-R1-Zero:一种基于DeepSeek-V3的推理模型,通过强化学习(RL)增强其推理能力。它完全消除了「监督微调」(SFT)阶段,直接从名为DeepSeek-V3-Base的预训练模型开始。它采用了一种基于「规则的强化学习方法」(Rule-based Reinforcement Learning),称为「组相对策略优化」(Group Relative Policy Optimization — GRPO),根据预定义规则计算奖励,使训练过程更简单且更具可扩展性。

  • DeepSeek-R1:为了解决DeepSeek-R1-Zero的局限性,如低可读性和语言混杂,DeepSeek-R1纳入了一组有限的高质量冷启动数据和额外的RL训练。该模型经历了多个微调和RL阶段,包括拒绝采样和第二轮RL训练,以提高其通用能力和与人类偏好的一致性。
  • 蒸馏DeepSeek模型:DeepSeek开发了较小的、蒸馏版的DeepSeek-R1,参数范围从15亿到700亿,将先进的推理能力带到较弱的硬件上。这些模型使用原始DeepSeek-R1生成的合成数据进行微调,确保在推理任务中表现出色,同时足够轻量化以便本地部署。

DeepSeek 蒸馏DeepSeek模型

DeepSeek-R1在各种基准测试中表现出竞争力,包括数学、编码、常识和写作。根据使用模式,它相比OpenAI的o1模型等竞争对手提供了显著的成本节省,使用成本便宜20到50倍。

8.3 对AI行业的影响

DeepSeek-R1的引入挑战了AI领域的既定规范,使先进LLMs得以「普及化」,并促进了一个更具竞争力的生态系统。其可负担性和可访问性预计将推动各行各业的采用和创新增加。最近,领先的云服务提供商如AWS、微软和谷歌云已在其平台上提供DeepSeek-R1。较小的云提供商和DeepSeek母公司以竞争性定价提供它。

结论

从2017年Transformer架构的引入到2025年DeepSeek-R1的发展,大型语言模型(LLMs)的演变标志着人工智能领域的一个革命性篇章。LLMs的崛起由四个里程碑式的成就标示:

  • Transformers (2017):Transformer架构的引入为构建能够以前所未有的精确性和灵活性处理复杂任务的大规模高效模型奠定了基础。
  • GPT-3 (2020):该模型展示了规模在AI中的变革力量,证明了在大规模数据集上训练的巨大模型可以在广泛的应用中实现接近人类的表现,为AI所能完成的任务设立了新的基准。
  • ChatGPT (2022):通过将对话式AI带入主流,ChatGPT使高级AI对普通用户来说更加可访问和互动。它还引发了关于广泛采用AI的伦理和社会影响的关键讨论。
  • DeepSeek-R1 (2025):代表了成本效率的一大飞跃,DeepSeek-R1利用专家混合架构(MoE)和优化算法,与许多美国模型相比,运营成本降低了多达50倍。其开源性质加速尖端AI应用的普及化,赋予各行业创新者权力,并强调了可扩展性、对齐性和可访问性在塑造AI未来中的重要性

原文来自:https://medium.com/@lmpo/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E7%AE%80%E5%8F%B2-%E4%BB%8Etransformer-2017-%E5%88%B0deepseek-r1-2025-cc54d658fb43

相关文章:

大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路

2025年初,中国推出了具有开创性且高性价比的「大型语言模型」(Large Language Model — LLM)DeepSeek-R1,引发了AI的巨大变革。本文回顾了LLM的发展历程,起点是2017年革命性的Transformer架构,该架构通过「…...

RabbitMQ服务异步通信

消息队列在使用过程中,面临着很多实际问题需要思考: 1. 消息可靠性 消息从发送,到消费者接收,会经理多个过程: 其中的每一步都可能导致消息丢失,常见的丢失原因包括: 发送时丢失: 生…...

Python常见面试题的详解7

1. 内置的数据结构有哪几种 Python 中有多种内置的数据结构,主要分为以下几种: 1.1 数值类型 整数(int):用于表示整数,没有大小限制。例如:1, -5, 100。浮点数(float)…...

Django REST Framework (DRF) 中用于构建 API 视图类解析

Django REST Framework (DRF) 提供了丰富的视图类,用于构建 API 视图。这些视图类可以分为以下几类: 1. 基础视图类 这些是 DRF 中最基础的视图类,通常用于实现自定义逻辑。 常用类 APIView: 最基本的视图类,所有其…...

Huatuo热更新--安装HybridCLR

1.自行安装unity编辑器 支持2019.4.x、2020.3.x、2021.3.x、2022.3.x 中任一版本。推荐安装2019.4.40、2020.3.26、2021.3.x、2022.3.x版本。 根据你打包的目标平台,安装过程中选择必要模块。如果打包Android或iOS,直接选择相应模块即可。如果你想打包…...

读书笔记 - 修改代码的艺术

读书笔记 - 修改代码的艺术 第 1 章 修改软件第 2 章 带着反馈工作系统变更方式反馈方式遗留代码修改方法 第 3 章 感知和分离伪协作程序模拟对象 第 4 章 接缝模型接缝 第 5 章 工具自动化重构工具单元测试用具 第 6 章 时间紧迫,但必须修改新生方法(Sp…...

【Go并发编程】Goroutine 调度器揭秘:从 GMP 模型到 Work Stealing 算法

每天一篇Go语言干货,从核心到百万并发实战,快来关注魔法小匠,一起探索Go语言的无限可能! 在 Go 语言中,Goroutine 是一种轻量级的并发执行单元,它使得并发编程变得简单高效。而 Goroutine 的高效调度机制是…...

c# -01新属性-模式匹配、弃元、析构元组和其他类型

文章目录 **学习摘抄分享**模式匹配概述Null 检查类型测试比较离散值关系模型多个输入ObServation列表模式弃元元组和对象析构利用switch的模式进行匹配对于out的方法调用独立弃元析构元组和其他类型元组方法一方法二方法三方法四使用弃元元组的元素使用弃元的用户定义类型解构…...

同步异步日志系统-日志落地模块的实现

功能:将格式化完成后的日志消息字符串,输出到指定的位置 扩展:支持同时将日志落地到不同的位置 位置分类: 1.标准输出 2.指定文件(时候进行日志分析) 3.滚动文件(文件按照时间/大小进行滚动…...

LabVIEW 天然气水合物电声联合探测

天然气水合物被认为是潜在的清洁能源,其储量丰富,预计将在未来能源格局中扮演重要角色。由于其独特的物理化学特性,天然气水合物的探测面临诸多挑战,涉及温度、压力、电学信号、声学信号等多个参数。传统的人工操作方式不仅效率低…...

类型通配符上限

主函数 package typeWildcardTop;import java.util.ArrayList;public class typeWildcardTopTest {/**/public static void main(String[] args) { // test1();test2();}/*测试showList接收ArrayList类型 ArrayList接收各种类型参数创建animals cats mincats集合 传入s…...

嵌入式音视频开发(二)ffmpeg音视频同步

系列文章目录 嵌入式音视频开发(零)移植ffmpeg及推流测试 嵌入式音视频开发(一)ffmpeg框架及内核解析 嵌入式音视频开发(二)ffmpeg音视频同步 嵌入式音视频开发(三)直播协议及编码器…...

Mongodb数据管理

Mongodb数据管理 1.登录数据库,查看默认的库 [rootdb51~]# mongo> show databases; admin 0.000GB config 0.000GB local 0.000GB> use admin switched to db admin > show tables system.version > admin库:admin 是 MongoDB 的管理…...

Django 创建表 choices的妙用:get_<field_name>_display()

1.定义choices 我在创建表时,对于性别这个字段,定义了choices 选项,1代表男,2代表女 mysql中表的数据如下,里面存储的是1或2 如果我们在网页上展示的时候,想展示“男”或“女”,而不是数字1或2…...

Spring Boot 集成 Kettle

Kettle 简介 Kettle 最初由 Matt Casters 开发,是 Pentaho 数据集成平台的一部分。它提供了一个用户友好的界面和丰富的功能集,使用户能够轻松地设计、执行和监控 ETL 任务。Kettle 通过其强大的功能和灵活性,帮助企业高效地处理大规模数据集…...

自学Java-面向对象高级(final、单例类、枚举类、抽象类、接口)

自学Java-面向对象高级(final、单例类、枚举类、抽象类、接口) 一、final关键字1、认识final关键字2、final修饰变量的注意3、常量 二、单例类(设计模式)1、设计模式的概念2、单例设计模式3、单例类有很多形式4、懒汉式单例类5、小…...

Hutool - Cache:简单而强大的缓存实现

目录 1. 缓存简介 2. 引入依赖 3. 常见缓存类型及使用示例 3.1 FIFO 缓存(先进先出缓存) 3.2 LRU 缓存(最近最少使用缓存) 3.3 定时缓存 4. 缓存的基本操作 5. 总结 1. 缓存简介 在软件开发中,缓存是一种常用的…...

DeepSeek 通过 API 对接第三方客户端 告别“服务器繁忙”

本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 上一期分享了如何在本地部署 DeepSeek R1 模型,但通过命令行运行的本地模型,问答的交互也要使用命令行,体验并不是很好。这期分享几个第三方客户端,涵盖了桌…...

Python 基础-循环

目录 简介 break continue 小结 简介 要计算123,我们可以直接写表达式: >>> 1 2 3 6要计算123...10,勉强也能写出来。 但是,要计算123...10000,直接写表达式就不可能了。 为了让计算机能计算成千上…...

Java和SQL测试、性能监控中常用工具

下面我会详细列举一些在Java和SQL测试、调试、性能监控中常用的工具,并结合项目中提到的各个技术点说明如何选择合适的工具和方法。 一、Java项目常用的测试、调试与性能监控工具 单元测试与集成测试:JUnit/TestNG: 用于编写单元测试和集成测…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

TJCTF 2025

还以为是天津的。这个比较容易&#xff0c;虽然绕了点弯&#xff0c;可还是把CP AK了&#xff0c;不过我会的别人也会&#xff0c;还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...

mcts蒙特卡洛模拟树思想

您这个观察非常敏锐&#xff0c;而且在很大程度上是正确的&#xff01;您已经洞察到了MCTS算法在不同阶段的两种不同行为模式。我们来把这个关系理得更清楚一些&#xff0c;您的理解其实离真相只有一步之遥。 您说的“select是在二次选择的时候起作用”&#xff0c;这个观察非…...

MyBatis-Plus 常用条件构造方法

1.常用条件方法 方法 说明eq等于 ne不等于 <>gt大于 >ge大于等于 >lt小于 <le小于等于 <betweenBETWEEN 值1 AND 值2notBetweenNOT BETWEEN 值1 AND 值2likeLIKE %值%notLikeNOT LIKE %值%likeLeftLIKE %值likeRightLIKE 值%isNull字段 IS NULLisNotNull字段…...

Qt/C++学习系列之列表使用记录

Qt/C学习系列之列表使用记录 前言列表的初始化界面初始化设置名称获取简单设置 单元格存储总结 前言 列表的使用主要基于QTableWidget控件&#xff0c;同步使用QTableWidgetItem进行单元格的设置&#xff0c;最后可以使用QAxObject进行单元格的数据读出将数据进行存储。接下来…...

android计算器代码

本次作业要求实现一个计算器应用的基础框架。以下是布局文件的核心代码&#xff1a; <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"andr…...