DeepSeek是如何通过“蒸馏”技术打造自己的AI模型

1 引言:

最近,外媒对中国公司——DeepSeek进行了猛烈抨击,指控其采用了所谓的“蒸馏”(Distillation)技术,涉嫌抄袭甚至作弊。那么,什么是“蒸馏”技术?

在人工智能领域,大型语言模型(LLM)无疑是近年来最耀眼的技术突破之一。然而,这些拥有数百亿甚至上千亿参数的庞然大物,虽然性能卓越,却也因其高昂的计算成本和资源需求而难以普及。如何让这些“巨无霸”级别的模型走进千家万户?答案就在于一种被称为知识蒸馏的技术。

2 满血的 DeepSeek 现在有多强

目前根据官方的说法,DeepSeek R1 模型的能力在无损的最大参数量模型(671B)下,与 O1 模型齐名,整体能力在开源模型中达到了非常优秀的效果。然而,由于是通过蒸馏的方式进行模型知识转移,且模型本身参数量不大,因此在成本优化上确实能够取得很好的效果。

可以看到我们基本是在第一梯队了,很强 👍🏻。

目前大家可以在官网体验这个优秀的模型,官网默认的对话模型已经升级为 DeepSeek-V3;勾选了深度思考的模型为新模型 DeepSeek-R1

推荐大家在一些复杂的问题上多使用 深度思考 , 可以看到开启深度思考后,DeepSeek在一些问题的思考方式和角度也是有很多学习的过程。

3 什么是蒸馏?

知识蒸馏是一种将复杂的大模型(教师模型)的知识迁移到小型高效模型(学生模型)的方法。通过这种方式,小模型不仅能够继承大模型的强大能力,还能以更低的成本更快的速度运行。这就像是一位经验丰富的老师将自己的智慧传授给学生,使他们能够在有限的时间内掌握核心技能。

3.1 蒸馏 ≠ 抄袭

很多人一听到“蒸馏”就认为这是抄袭,但事实并非如此。蒸馏技术的核心在于知识的迁移,而不是照搬模型的架构或代码。

  • 老师模型:比如 OpenAI 的 GPT。
  • 学生模型:DeepSeek 开发的新模型。

通过蒸馏,学生模型学习的是老师的“知识”,而不是老师的“长相”。这就像是你去上一门课,学到的是知识点,而不是老师的讲课方式。

3.2 蒸馏的过程

蒸馏过程可以分为以下几个步骤:

  1. 训练教师模型:首先需要一个性能强大的大型模型作为“老师”,比如DeepSeek 671B大模型。这个模型通常经过海量数据的训练,具备极高的准确率。
  2. 准备学生模型:接下来设计一个小巧灵活的学生模型,比如DeepSeek 1.5B小模型。这个模型结构简单、参数少,但潜力巨大。
  3. 知识传递:学生模型通过模仿教师模型的输出或中间特征来学习。例如,教师模型可能会生成一个包含多个可能性的概率分布(称为“软标签”),而学生模型则尝试复制这个分布。
  4. 优化调整:最后,通过一系列损失函数和训练策略,确保学生模型尽可能接近教师模型的表现。

这个过程有点像你在学习一门新技能时,不断向高手请教,然后自己练习改进的过程。

4 为什么我们需要知识蒸馏

尽管大模型性能优越,但它们存在明显的局限性:

  • 高计算成本:运行一次推理可能需要数十甚至上百个GPU,普通用户根本无法负担。
  • 内存占用大:许多设备(如手机、嵌入式系统)根本没有足够的存储空间支持这些模型。
  • 实时性差:由于计算量庞大,大模型往往无法满足实时响应的需求。

相比之下,经过蒸馏的小模型则可以轻松部署在各种场景中,无论是智能手机还是自动驾驶汽车,都能流畅运行。更重要的是,这些小模型还保留了大部分原始模型的能力,真正实现了“鱼与熊掌兼得”。

5. DeepSeek做了什么特别的事

5.1 数据蒸馏与模型蒸馏结合——双管齐下的创新

传统的知识蒸馏主要关注模型层面的迁移,即学生模型模仿教师模型的输出。然而,DeepSeek 另辟蹊径,将数据蒸馏引入其中,形成了独特的“双轨制”蒸馏方法。

数据蒸馏的作用

数据蒸馏是指通过对训练数据进行增强、伪标签生成等操作,提升数据的质量和多样性。例如,教师模型可以对原始图像进行旋转、裁剪等处理,从而生成更多样化的样本。这些高质量的数据为学生模型提供了更好的学习材料,使其能够更快速地成长。

模型蒸馏的优化

与此同时,DeepSeek还在模型蒸馏方面进行了大量创新。例如,他们采用了一种叫做 监督微调(SFT) 的方法,用教师模型生成的80万个推理数据样本对学生模型进行微调。这种方法避免了传统强化学习阶段的冗长训练,显著提高了效率。

DeepSeek开源了基于不同大小的 QwenLlama 架构的几个提炼模型。这些包括:

  • DeepSeek-R1-Distill-Qwen-1.5B
  • DeepSeek-R1-Distill-Qwen-7B
  • DeepSeek-R1-Distill-Qwen-14B
  • DeepSeek-R1-Distill-Qwen-32B
  • DeepSeek-R1-Distill-Llama-8B
  • DeepSeek-R1-Distill-Llama-70B

我本地部署了一个 7B 的模型,感觉参数太少了,整体来说和官网的完整体相比差很多。

5.2 高效知识迁移策略——不只是模仿,还有创造

除了上述两点,DeepSeek 还提出了一系列高效的知识迁移策略,包括基于特征的蒸馏和特定任务蒸馏。前者通过提取教师模型中间层的特征信息,帮助学生模型更好地理解数据的本质;后者则针对不同的应用场景(如文本生成、机器翻译等)进行针对性优化。

这些策略使得 DeepSeek 的蒸馏模型在实际应用中表现出色。例如,DeepSeek-R1-Distill-Qwen-7B 在AIME 2024上实现了55.5%的 Pass@1 ,超越了 QwQ-32B-Preview (最先进的开源模型)。这样的成绩证明了蒸馏技术的巨大潜力。

6 蒸馏技术的社会意义——从教育到产业变革

6.1 “教会学生,饿死师傅”的悖论

有人担心,知识蒸馏会导致技术垄断者失去竞争优势。但实际上,这种情况很难发生。因为即使模型开源,背后的数据、算法和硬件基础设施仍然构成了难以逾越的壁垒。

更重要的是,蒸馏技术实际上促进了整个行业的进步。通过共享知识,更多的企业和个人得以参与到AI的研发中,从而推动了技术创新的加速。

6.2 AI普惠时代的到来

蒸馏技术的最大贡献在于降低了AI的门槛。过去,只有少数科技巨头才能承担起研发和部署大模型的成本。而现在,任何一家初创公司甚至个人开发者都可以借助蒸馏技术构建自己的AI解决方案。

这种变化不仅仅局限于技术领域,还将深刻影响我们的日常生活。从智能家居到医疗诊断,从教育辅导到娱乐推荐,AI正以前所未有的速度渗透到各个角落。

知识蒸馏技术的出现标志着AI进入了一个全新的时代。在这个时代里,我们不再需要依赖昂贵的硬件和复杂的算法,就能享受到AI带来的便利。

7 OpenAI 推出 o3-mini 应战 DeepSeek

OpenAI 首席执行官奥特曼近日公开表示,将重新思考 OpenAI 的开源策略。他提到:“我个人认为我们在历史上可能站在了错误的一边,必须找到不同的开源策略。但并不是 OpenAI 的每个人都同意这种观点,这也不是我们目前的首要任务。”

面对 DeepSeek 的横空出世,OpenAI 相继推出全新推理模型 o3-miniDeep Resarch 应战。

奥特曼在发文中强调,o3-mini 在测试中的结果已经超过了 R1。

简而言之,DeepSeek 最核心的优势在于其效率和优化能力。
抛开数据量和能耗谈性能都是耍流氓?

8 参考文章

  • 揭秘DeepSeek是如何通过“蒸馏”技术打造自己的AI模型?
  • DeepSeek懶人包|MLA架構強在哪?什麼是知識蒸餾?6大QA解密DeepSeek效應
  • 白话科普 | DeepSeek的蒸馏技术到底是什么?90%的人都没搞懂,但西方却抓着不放!
  • DeepSeek 开源图片生成模型 Janus

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

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

相关文章

【广州大学主办,发表有保障 | IEEE出版,稳定EI检索,往届见刊后快至1个月检索】第二届电气技术与自动化工程国际学术会议 (ETAE 2025)

第二届电气技术与自动化工程国际学术会议 (ETAE 2025) The 2nd International Conference on Electrical Technology and Automation Engineering 大会官网:http://www.icetae.com/【更多详情】 会议时间:2025年4月25-27日 会议地点&#xff1a…

伯克利 CS61A 课堂笔记 08 —— Strings and Dictionaries

本系列为加州伯克利大学著名 Python 基础课程 CS61A 的课堂笔记整理,全英文内容,文末附词汇解释。 目录 01 Strings 字符串 Ⅰ Strings are An Abstraction. Ⅱ Strings Literals have Three Forms Ⅲ String are Sequences 02 Dictionaries 字典 …

基于 GEE 计算研究区年均地表温度数据

目录 1 代码解析 2 完整代码 3 运行结果 1 代码解析 (1)定义研究区: // 研究区的范围需要自己提前上传 var dataset table;// 将研究区显示在中心,后面的数字为缩放等级,范围从1 - 24 Map.centerObject(dataset,…

docker compose快速部署kafka-connect集群

先部署kafka集群,启动 参考:docker compose部署kafka集群-CSDN博客 创建timezone文件,内容填写Asia/Shanghai 再部署kafka-connect集群 networks: net: external: true services: kafka-connect1: restart: always image:…

Hutool - BloomFilter:便捷的布隆过滤器实现

1. 布隆过滤器简介 布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,用于判断一个元素是否存在于一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,但缺点是有一定的误判率,即判断元素存在…

日常知识点之遗留问题梳理(定时器/时间轮定时器)

1:简单基础 定时器的核心知识点,对我来说就是获取当前时间和设置回调函数。 简单练习: ​ c语言通过gettimeofday 获取当前时间并进行处理 ​ 回调函数的定义(函数参数有必要适当存储) typedef void(Timerfunc)(vo…

Python + WhisperX:解锁语音识别的高效新姿势

大家好,我是烤鸭: 最近在尝试做视频的质量分析,打算利用asr针对声音判断是否有人声,以及识别出来的文本进行进一步操作。asr看了几个开源的,最终选择了openai的whisper,后来发现性能不行,又换了…

$ npx electron-forge import 一直报权限问题 resource busy or locked,

jackLAPTOP-7DHDAAL0 MINGW64 /e/project/celetron-project/my-electron-app (master) $ npx electron-forge import > Checking your system > Checking git exists > Checking node version > Checking packageManager version √ Found node22.14.0 √ Found gi…

mapbox 从入门到精通 - 目录

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀总目录1.1 ☘️ mapbox基础1.2 ☘️…

Kotlin 2.1.0 入门教程(十五)继承、重写、派生类初始化顺序

继承 所有类都有一个共同的超类 Any,对于没有声明超类型的类来说,Any 是其默认的超类: // 隐式继承自 Any。 class ExampleAny 有三个方法:equals()、hashCode() 和 toString()。因此,所有类都定义了这些方法。 默认…

sqlilabs--小实验

一、先盲注判断 ?id1 and sleep(2)-- 如果发现页面存在注点,使用时间盲注脚本进行注入 import requestsdef inject_database(url):name for i in range(1, 20): # 假设数据库名称长度不超过20low 48 # 0high 122 # zmiddle (low high) // 2while low &l…

【数字】异步FIFO面试的几个小问题与跨时钟域时序约束

入门数字设计的时候,跨时钟域的数据处理是绕不开的课题,特别是多比特数据跨时钟域时,都会采用异步FIFO的方法。 异步FIFO中涉及较多的考点这里记录几个以供大家参考。 1. 异步FIFO的空满判断分别在哪个域? 根据异步FIFO的结构&…

浅谈Java Spring Boot 框架分析和理解

Spring Boot是一个简化Spring开发的框架,它遵循“约定优于配置”的原则,通过内嵌的Tomcat、Jetty或Undertow等容器,使得开发者能够快速构建独立运行的、生产级别的基于Spring框架的应用程序。Spring Boot包含了大量的自动配置功能&#xff0c…

算法06-回溯算法

一、回溯算法详解 回溯算法是一种通过逐步构建解决方案来解决问题的算法。它通常用于解决组合问题、排列问题、子集问题等。回溯算法的核心思想是“试错”,即在每一步尝试所有可能的选项,如果发现当前选择无法达到目标,就回退到上一步&#…

RabbitMQ学习—day2—安装

目录 普通Linux安装 安装RabbitMQ 1、下载 2、安装 3. Web管理界面及授权操作 Docker 安装 强力推荐学docker,使用docker安装 普通Linux安装 安装RabbitMQ 1、下载 官网下载地址:https://www.rabbitmq.com/download.html(opens new window) 这…

降本增效 - VGF 构建轻量高性能日志管理平台

VFG 技术架构 Filebeat 接收Syslog ,并进行日志分段,VictoriaLogs 持久化存储日志 ,Grafana 可视化、数据查询、告警、数据导出。 为什么要用VictoriaLogs ? 与Elasticsearch /Grafana Loki相比几十倍的CPU/内存/存储资源占用的…

初识camel智能体(一)

同目录下配置环境变量.env,内容如下, apikey从魔搭社区获取 QWEN_API_KEY4ff3ac8f-aebc******** 先上干货代码,主代码如下: from colorama import Forefrom camel.societies import RolePlaying from camel.utils import prin…

介绍 Liquibase、Flyway、Talend 和 Apache NiFi:选择适合的工具

在现代软件开发中,尤其是在数据库管理和数据集成方面,选择合适的工具至关重要。本文将介绍四个流行的工具:Liquibase、Flyway、Talend 和 Apache NiFi,分析它们的应用、依赖以及如何选择适合的工具。 1. Liquibase 简介&#xff…

Docker使用指南与Dockerfile文件详解:从入门到实战

Docker使用指南与Dockerfile文件详解:从入门到实战 文章目录 **Docker使用指南与Dockerfile文件详解:从入门到实战****引言****第一部分:Docker 核心概念速览****1. Docker 基础架构****2. Docker 核心命令****第二部分:Dockerfile 文件深度解析****1. Dockerfile 是什么?…

Qt工作总结03 <qSort按某一属性进行排序>

1. 代码样例 QList<QGraphicsTextItem *> Lst;qSort(Lst.begin(),Lst.end(),[](const QGraphicsTextItem *itemA,const QGraphicsTextItem *itemB) {return itemA->toPlainText().toDouble() < itemB->toPlainText().toDouble(); }); 2. 参考 QList 按结构体…