全面解读DeepSeek蒸馏技术:模型蒸馏和数据蒸馏

【数据蒸馏】静态数据蒸馏方法汇总 基于几何的方法假设在特征空间中彼此接近的数据点往往具有相似的属性。因此,基于几何的方法试图移除那些提供冗余信息的数据点,剩下的数据点形成一个核心集合S,其中jSj ≤ jTj。 阅读详情
AI摘要

本文全面解读了DeepSeek蒸馏技术,包括蒸馏技术概述、蒸馏过程的五个关键步骤。实验表明该技术效果佳,拓展了应用场景,还降低了技术落地成本。此外,还分享了大模型AI的学习路径,涵盖初阶应用、高阶应用、模型训练和商业闭环四个阶段,并提供免费学习资料。

2月中下旬,DeepSeek的蒸馏技术可以说是刷爆朋友圈,今天也来聊聊这个技术话题。

01 蒸馏技术概述

蒸馏技术(Knowledge Distillation, KD),该概念最早出现在2015年由Geoffrey Hinton、Oriol Vinyals 和 Jeff Dean发表的一篇名为《Distilling the Knowledge in a Neural Network》的论文中,如下图:

img

简单地说,它就是一种模型压缩和优化的方法,其核心思想就是“通过将一个大型且复杂的模型(称为“教师模型”)的知识、传递给一个小而高效的模型(称为“学生模型”)”,从而使“学生模型”在保持较高性能的同时,降低计算成本和资源需求。因此,蒸馏的并不是大模型架构和代码,而蒸馏的是大模型里面包含的知识(Knowledge),如下图所示:

img

DeepSeek 的蒸馏技术在此基础上进行了优化,结合了数据蒸馏和模型蒸馏的双重策略,不仅提升了性能,还显著降低了部署门槛。其过程如下:

知识传递:教师模型通过其复杂的结构和大量的参数、学习数据中的深层模式和特征;学生模型则通过模仿教师模型的输出(如概率分布或中间层的特征表示)来继承这些知识;

压缩与优化:学生模型通常参数量更少、结构更简单,因此计算成本和内存占用大幅降低,但通过蒸馏,它仍然能保留教师模型的大部分性能;

监督信号:学生模型的训练不是直接基于原始数据,而是以教师模型的输出(如软标签)作为指导。

02 DeepSeek蒸馏过程

DeepSeek 的蒸馏过程大致可以总结为如下五个关键步骤,而每个关键步骤又包含了多个子步骤,如下所示:

2.1 训练教师模型

构建一个高性能的教师模型作为其知识蒸馏的源头,教师模型需要具备生成高质量推理轨迹和语言输出的能力。

  • 模型选择与初始化: 选择一个大规模 Transformer 架构模型,如 DeepSeek-R1,并从预训练权重初始化。

  • 大规模预训练:使用数千亿 token 的多语言文本、代码和科学文献进行训练,目标是自回归语言建模、增强模型的上下文理解能力。

  • 强化学习优化(RLHF): 引入了多阶段的强化学习优化(RLHF),通过强化学习从人类反馈中优化模型。加入自我验证和思维链(Chain-of-Thought, CoT)训练,提升推理能力。通过奖励模型评估输出质量,确保生成内容的准确性和可读性,同时增强了模型在复杂任务(如数学推理、编程)中的表现。

  • 验证与基准测试:在 MMLU、GSM8K、AIME 等权威数据集上进行测试,确保性能达标(如 AIME 准确率超过 70%)。根据测试结果调整超参数,进一步优化模型收敛效果。

2. 2 数据准备与生成

利用教师模型生成高质量的训练数据(包含数万到数百万条样本),并通过严格的清洗和筛选机制(如规则过滤、逻辑验证)确保数据质量,从而为学生模型提供优质的训练素材。

  • 定义任务范围:聚焦于推理任务(如数学、编程)或通用语言任务,明确数据生成的目标领域。

  • 数据生成:输入种子数据(如数学题、编程挑战),教师模型生成带注释的输出。

  • 数据清洗与筛选:通过规则过滤低质量样本(如语言混合、逻辑错误),保留约 80 万条优质样本(如 DeepSeek-R1 数据集)。

  • 数据分类:将数据分为推理数据(用于提升逻辑能力)和非推理数据(用于增强语言流畅性)。

  • 数据增强:通过同义替换或问题变体增加数据多样性。

2.3 训练学生模型

通过教师模型的输出训练小型且高效的学生模型,使其行为接近教师模型。

  • 模型选择与初始化:选择 1.5B、7B 或 32B 参数的模型(如 Qwen 或 Llama 变体),从预训练权重或随机初始化开始。

  • 定义损失函数:使用软目标损失(KL 散度,基于教师模型的软标签)和硬目标损失(交叉熵,基于原始标签)的加权组合:

img

其中,软目标损失使学生模型能够学习教师模型的概率分布,而硬目标损失确保模型对真实标签的拟合,两者结合提高了知识传递的效率和准确性。

  • 监督微调(SFT):以教师模型的输出为目标,批量训练学生模型,模仿其推理步骤或语言分布。

  • 中间表示蒸馏:引入了中间表示蒸馏技术,对齐教师模型和学生模型的中间层表示(如注意力矩阵),使用均方误差或余弦相似度作为对齐目标。通过蒸馏中间层的知识,学生模型能够更好地模仿教师模型的行为,尤其是在复杂推理任务中表现更为出色。

  • 动态调整:在训练过程中动态调整温度参数 T 和权重 α,并使用学习率调度(如余弦退火)确保模型收敛。

2.4 优化与调整

提升学生模型的性能和效率,使其接近教师模型的表现。

  • 多阶段微调:

1)冷启动阶段:使用小规模精选数据训练模型,提升其生成内容的可读性和流畅性。

2)推理优化阶段:通过强化学习或引入额外数据(如逻辑推理任务),增强模型的逻辑能力和推理性能。

3)质量提升阶段:通过 BLEU 分数或准确率筛选优质输出,进一步优化模型的生成质量。

  • 超参数调优:调整模型的关键超参数(如层数、隐藏单元数、学习率等),以优化性能与效率的平衡。

  • 剪枝与量化:通过剪枝和量化,在保证性能的前提下,大幅降低模型的计算资源需求,使其更适合实际部署和应用。

1)剪枝:移除冗余权重,降低模型复杂度。

2)量化:将模型参数量化为 8-bit 整数,压缩模型大小并提升推理速度。

  • 错误分析与修正:分析模型的失败案例(如推理中断、逻辑错误等),通过补充数据或调整损失函数(如增加特定任务的权重)修正问题,持续提升模型的鲁棒性和准确性。

2.5 评估与部署

验证学生模型的性能,并将其投入实际应用或开源。

  • 性能评估:在模型评估阶段,使用标准基准测试(如 MMLU、GSM8K、HumanEval)对模型进行全面测试。同时,通过人工评估和用户测试确保输出质量,确保模型在实际场景中的可靠性和实用性。

  • 效率评估:测量模型的关键效率指标,包括延迟、内存占用和 token 生成速度(如 7B 模型在单 GPU 上达到 50 tokens/s),确保模型满足实际部署的性能要求。

  • 模型验证:通过人工评估或用户测试确保输出质量。

  • 部署与发布:将优化后的学生模型打包为 PyTorch/ONNX 格式,提供 API 或开源(如 DeepSeek-R1-Distill-Qwen-32B)。降低了模型的使用门槛,促进了技术的普及和应用,如下图所示:

img

03 最后小结

实验表明,对于小模型而言,蒸馏技术的效果远超直接应用强化学习,这充分证明了大模型的推理模式具有很好的可迁移性。DeepSeek-R1 的多模态能力为跨模态蒸馏提供了新的思路,进一步拓展了蒸馏技术的应用场景。

同时,DeepSeek 通过“大模型强化学习+小模型蒸馏”的技术路径为大模型的研发提供了一条全新的思路。这一路径不仅提升了模型的性能和效率,还降低了技术落地的成本。通过蒸馏技术降低计算门槛,中小企业也能够部署高性能模型,从而推动人工智能技术的普惠化发展。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

大模型接触(一)——模型蒸馏 模型蒸馏的原理、训练方法、算法、应用场景概述 阅读详情

相关推荐

【大模型】大模型知识蒸馏 综述解读(Knowledge Distillation of Large Language Models)

知识蒸馏的(论文)方法总结。归纳了通过数据(如指令、对话、多模态)和训练方法(SFT、RL、数据增强),将复杂技能(如对齐、工具使用、多模态)蒸馏到开源模型的核心框架,附典型模型示例(如Alpaca、LLaVA)。

songxia928_928的博客 4339

数据蒸馏技术:从海量数据中提取精华 —— 与普通数据处理的深度对比

本文将对deepseek最新采用的数据蒸馏技术进行概述

2401_83912923的博客 6458

DeepSeek-R1 如何通过知识蒸馏将推理能力传递给 Qwen

知识蒸馏(知识蒸馏(Knowledge Distillation, KD):AI 领域的关键技术与发展趋势)是一种机器学习中的模型压缩技术,旨在将复杂的大型模型(称为教师模型,Teacher Model)的知识迁移到较小的模型(称为学生模型,Student Model)。这一方法特别适用于计算资源有限的设备,如手机或嵌入式设备,它能够在显著降低模型规模的同时,尽量保留性能和精度。

llm_way的博客 1798

什么是数据蒸馏?与知识蒸馏有何不同?

1.1 定义与目标数据蒸馏(Dataset Distillation)是一种新兴的机器学习技术,其核心在于从大规模数据集中提取关键信息,生成一个规模更小但更具代表性的合成数据集,从而在保持模型性能的同时,显著降低数据存储和计算成本。具体而言,数据蒸馏的目标是通过优化合成数据集,使得在该数据集上训练的模型能够达到与在原始大规模数据集上训练的模型相当的性能。

xx_nm98的博客 5882

DeepSeek-R1 技术报告解读:用强化学习激发大模型的推理潜能

DeepSeek-R1 是一款创新性的开源大模型,通过多阶段“冷启动 + 强化学习 + 蒸馏”训练策略来大幅提升推理能力。它首先使用少量高质量监督数据稳定初期输出,然后利用数学、编程等可自动判定正确答案的任务进行大规模强化学习,最终在通用场景中再次微调与强化,兼顾了复杂推理能力与可读性。团队还提供了基于 Qwen、Llama 等模型的蒸馏版本,在较小模型上实现了近似大模型水平的推理效果,显著降低了推理部署成本。这种多阶段训练与蒸馏方法展现了在无/少监督标注下快速增强模型推理能力的可行性,对研究者和产业应用均

AI分享 | 科研日常 1207

万字长文深度解读:DeepSeek R1的架构、核心技术和使用指南

DeepSeek-R1 项目由杭州深度求索公司(DeepSeek)推出,旨在打造高性能的 AI 推理模型,以满足复杂任务场景下的高效推理需求。该项目的背景源于当前人工智能领域对推理能力的高要求,尤其是在数学、代码和自然语言推理等任务上,传统模型往往存在推理能力不足或成本过高的问题。DeepSeek-R1 的目标是通过大规模强化学习技术,仅需极少量标注数据,便能在这些任务上取得卓越表现,同时保持较低的推理成本,以推动人工智能技术的普及和应用。强化学习驱动的推理能力提升。

大F子的智能小课 6430

一文搞懂 DeepSeek 的蒸馏技术和案例实践

DeepSeek-R1 在其论文(https://arxiv.org/abs/2501.12948)引言部分指出,通过蒸馏技术,成功地将大模型的推理能力(比如:DeepSeek R1 671B)传递给了更小型化的模型(比如:Qwen 7B)。可以看出,蒸馏技术是 DeepSeek R1 重要的3大创新技术之一,下面详细剖析。

优快云_430422的博客 2189

DeepSeek系列论文解读之DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning

本文浅谈了DeepSeek-R1系列论文,探讨其如何通过强化学习提升大型语言模型的推理能力。DeepSeek-R1-Zero作为纯强化学习模型,虽在推理任务中表现出色,但存在语言混合等问题。为解决此问题,DeepSeek-R1引入冷启动数据微调、多阶段强化学习及拒绝采样等改进策略,显著提升了模型的推理性能,其在AIME 2024等任务上的表现已接近甚至超越行业领先水平。

weixin_58022259的博客 3365

DeepSeek-R1技术报告快速解读

本篇是对DeepSeek-R1技术论文的简单整理,辅助大家快速了解DeepSeek-R1的相关技术背景。

MXZJSJ1112的博客 2820

深度学习之蒸馏模型

蒸馏模型 蒸馏模型的目的是为了将大模型/复杂模型学习到的东西传递给小模型。大模型将学习到的东西浓缩在输出值之中,输出值是一个0~1的概率值,我们称之为soft-target。可以通过设置温度T来调节输出值的分布,T越大得到的soft-target越软(均匀)。很显然假设复杂模型输出的solf target是100%准确的话,以0~1的soft target代替原样本中的[0, 1]这种hard target更合理。因为soft target是一个分布,能够蕴含更多的信息。基于这个思想,我们可以以各种手段训练一个效果好的复杂模型,比如复杂的模型结构,增加后验特征等。在我们的实践中,我们的复杂模型

Cadence Allegro实战:如何精准导入结构DXF文件避免安装偏差(附图层配置技巧)

本文详细讲解了在Cadence Allegro中精准导入结构DXF文件以避免安装偏差的实战技巧。核心在于导入前的单位校准、创建专用图层结构,以及基于坐标基准点的精确对齐方法。文章还分享了将DXF图形转化为正式板框和禁布区、高效管理图层以及向结构工程师导出DXF的完整流程,帮助PCB工程师确保设计与机械结构完美契合。

1a2s3d4f5g的博客 510

DeepSeek R1 论文中的蒸馏技术超详细解析

DeepSeek R1 论文中的蒸馏技术超详细解析

2201_75535440的博客 2724

博图HMI多语言文本列表一键生成攻略:从Excel模板到TIA Portal的完整流程

本文详细介绍了如何利用Excel模板和TIA Portal API实现博图HMI多语言文本列表的一键生成。通过标准化Excel模板设计、解析TIA Portal的XML结构,并结合C#代码实现自动化导入,大幅提升多语言项目的开发效率。特别适用于需要支持多语言版本的自动化设备HMI界面开发。

weixin_26934905的博客 219

DeepSeek-R1大模型和蒸馏小模型的区别和适用场景

1.5B、7B、8B、14B、32B、70B是蒸馏后的小模型,671B是基础大模型,它们的区别主要体现在参数规模、模型容量、性能表现、准确性、训练成本、推理成本和不同使用场景。

简放视野的专栏 3008

从标记基因到功能分析:手把手教你人工注释单细胞亚群的完整流程

本文详细介绍了人工注释单细胞亚群的完整流程,从标记基因筛选到功能分析验证,特别针对肿瘤微环境、发育轨迹等复杂场景提供解决方案。通过差异表达分析、多维数据整合和实验验证,帮助研究者准确识别细胞类型,提升单细胞转录组研究的生物学解读深度。

jenkins8butler的博客 245

基于OpenSSL的CA建立及证书签发(签发多域名/IP)

自签SSL证书(多域名/IP) 本文基于以下环境: 内核信息:Linux zabbix 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 系统版本:CentOS Linux release 7.6.1810 (Core) OpenSSL版本:OpenSSL 1.0.2k-fips 26 Jan 2017 【前言】 在基于OpenSSL的CA建立及证书签发一文中(后面统.

hobby云说 4648

DeepSeek大模型原创核心技术解读

具体而言,DeepSeek-R1与Llama3.1相比,“智力水平”得分高出近一倍,具备更精准的理解、更强的创造力、更可靠的决策支持、更自然的交互、更强的学习能力,以及更高效的工作表现。安全度测评发现,DeepSeek-R1在伦理道德、偏见歧视方面的得分总体高于Llama3.1,而在高强度对抗测评数据集中,由于DeepSeek-R1呈现了深度思考和推理的完整过程,在此过程中导致有害内容的输出,存在需要补强的安全缺陷。具体是向小模型输入大量大模型解决问题的示例,使小模型学习大模型的推理和决策方式。

EnjoyEDU的博客 1281

【无人机设计与控制】基于PID控制的四旋翼无人机系统Matlab仿真

本文设计并仿真了基于PID控制的四旋翼无人机系统。首先,建立了四旋翼无人机的数学模型,涵盖了无人机的动力学和控制系统。通过PID控制器对四旋翼的姿态和位置进行控制,以实现其稳定飞行。使用MATLAB/Simulink对该系统进行仿真,验证了PID控制算法在四旋翼控制中的有效性。仿真结果表明,PID控制能够较好地调节四旋翼的飞行姿态,并有效抑制外部干扰,使得无人机能够保持平稳飞行。

2401_84610415的博客 1804

DeepSeek核心关键技术 (冷启动,拒绝采样,蒸馏,多头潜注意力,MoE等) 解读

DeepSeek核心关键技术(冷启动,拒绝采样,蒸馏,多头潜注意力,MoE等)解读

BGoodHabit的博客 3897

Docker 环境 Playwright MCP 部署全流程指南

Docker部署Playwright MCP全流程指南 本文详细介绍了使用Docker容器化部署Playwright MCP的完整流程,涵盖镜像拉取、容器启动、配置优化和问题排查。主要内容包括: 核心部署步骤:通过官方镜像快速搭建环境,支持自定义端口和数据持久化 关键配置要点:详解网络设置、持久化目录挂载和环境变量配置 服务验证方法:通过日志检查和服务连通性测试确保部署成功 客户端集成:提供VS Code等IDE的配置示例 常见问题解决:针对浏览器启动超时、跨域限制等问题给出解决方案 实战案例:演示自动化爬

勤奋的码农 1474

如何借助GPT- 6 写好一篇论文:从引言到参考文献完整步骤(附专业提示词)

七哥就结合这篇文章的写作思路,依次拆解引言、方法、结果、讨论、摘要、标题和参考文献分别应该怎么写,同时也聊聊,在每一个环节里,我们可以怎样合理借助 GPT-6,让论文写作变得更清晰、更高效。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。8、不修改、不补写、不猜测任何样本量、阈值、剂量、设备型号、参数或统计方法,所有缺失但影响方法完整性的信息统一标记为【待作者确认】、检查方法中设定的每一个分析项目能否在后续结果章节找到对应位置。

智能AI让学术科研更容易 114

DeepSeek-R1 技术报告解读

打个小广告 ☻,知乎专栏的内容已经收录在新书中。感兴趣的朋友可以购买,多谢支持!♥♥2025年01月20日,deepseek 正式发布 DeepSeek-R1,并同步开源模型权重。模型开源的同时,技术报告也同步放出:下面,我们就来解读下这篇论文。

人邮异步社区 1703

详细分析 Bladex中的swagger-resources资源未授权访问的解决方法

有如下方式,网关过滤、去除配置以及修改代码还有隐藏彩蛋(附Demo),推荐阅读

码农研究僧的博客 1728

科普文:AI时代DeepSeek【DeepSeek-R1论文:蒸馏技术有效提升小型模型能力】

这篇论文奠定了 DeepSeek 大模型的基础,提出模型参数规模并非越大越好,而是要找到模型参数量、数据量和算力的最优配比,通过分阶段的 Multi-step 学习率下降的方式,在不损失性能的情况下,可以更便捷地进行持续训练。DeepSeek-R1论文是一篇专注于通过强化学习提升大型语言模型(LLMs)推理能力的开创性研究,DeepSeek-R1论文通过纯强化学习训练大型语言模型,实现了推理能力的显著提升,为AI领域的发展带来了新的突破和启示。

为无为,事无事,味无味。 3010

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

deepseek r1技术报告解读

在这个例子中,模型在推理过程中突然意识到可以“重新评估”之前的步骤,并尝试用一种新的方法来解题,这种思维与人类似,说明模型初步掌握了人类思维的推理能力(红色字体部分)。1,基于上述deepseek-r1-zero通过强化学习表现出的强大的推理能力,如果结合适当高质量的sft是否可以有更好的性能提升,并且有较好的可读性。1)将更强大的模型蒸馏成更小的模型会产生优异的结果,而本文提到的依赖于大规模强化学习的较小模型需要巨大的计算能力,甚至可能无法达到蒸馏的性能。

qq_40636151的博客 1484

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

DeepSeek-R1 解读及技术报告中文版

DeepSeek-R1的研究标志着LLM推理能力进化的一次重要跨越。通过纯强化学习与蒸馏技术,团队不仅验证了模型自主进化的可能性,更构建了从理论研究到产业落地的完整链条。这一工作为AGI的发展提供了新范式:在减少对人类先验依赖的同时,通过算法创新与开源协作,推动智能技术的普惠与深化。未来,随着更多类似研究的涌现,我们或许正站在通用人工智能的真正起点。

2401_85343303的博客 3万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: [论文分享] 使用大型语言模型的多目标启发式演化
下一篇: 阿里通义RAG团队等提出RAG与长文本对比新框架,助力智能路由决策机制设计
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2840原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值