Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

知识蒸馏是什么

Answer

知识蒸馏是一种模型压缩方法。在训练过程中,大模型作为教师模型,轻量级模型作为学生模型,学生模型不仅学习任务的真实标签,还学习教师模型生成的软标签,从而能够“站在巨人的肩膀上”学习,提高自身性能。例如,NVIDIA 技术博客介绍了通过剪枝和知识蒸馏将 Llama-3.1 8B 模型缩减为 Llama-3.1-Minitron 4B 模型的方法。剪枝通过移除模型中的一些参数来减少计算需求和内存占用,而知识蒸馏让小模型学习大模型的输出。此外,在一些情况下,可能存在无意导致的信息蒸馏现象。

Content generated by AI large model, please carefully verify (powered by aily)

References

码观 | 共识与非共识:从模型到应用,2024 AI 趋势回首与展望

使用知识蒸馏的训练方法,大模型作为教师模型,轻量级模型作为学生模型,轻量级模型通过模仿大模型的行为进行训练。轻量级模型不仅学习任务的真实标签,还学习大模型生成的软标签,能够“站在巨人的肩膀上”学习。轻量级模型的基础能力越来越强,意味着同样的能力,模型能够越来越快、成本越来越低地实现,这对2025年的AI应用生态可能有着不小的意义。另一个值得瞩目的进展是,12月的发布中,OpenAI推出了强化微调技术,使用极少训练数据即在特定领域轻松地创建专家模型。使用几十到几千个高质量数据,微调后的o1-mini模型得分提高80%,能直接反超o1正式版。使用强化微调,轻量级模型能够通过精选数据的训练,直接超越同代大模型的表现,这对垂直领域的未来的模型应用,也将产生很大影响。

AIGC Weekly #86

NVIDIA技术博客介绍了如何通过剪枝和知识蒸馏将Llama-3.1 8B模型缩减为Llama-3.1-Minitron 4B模型的方法。提供了一个详细的流程,用于将大型的Llama-3.1 8B模型通过剪枝和知识蒸馏技术转换为更小的Llama-3.1-Minitron 4B模型。剪枝是一种减少模型大小的技术,它通过移除模型中的一些参数来减少计算需求和内存占用,而不显著降低性能。知识蒸馏则是一种模型压缩方法,它通过让一个小模型(学生模型)学习一个大模型(教师模型)的输出来提高小模型的性能。[heading2][如何构建Townie——一个能够生成全栈应用的应用程序](https://blog.val.[content]Posma描述了自己如何通过Val Town平台构建Townie的原型,包括如何使用Vercel的AI SDK、如何通过LLM生成代码、如何处理数据库持久性问题、如何实现前后端代码的分离以及如何优化成本和速度。他还展示了如何通过“Make Real”功能将绘图转换为具有后端的HTML,以及如何通过E-VALL-UATOR评估LLM生成的代码质量。[heading2][Anthropic的提示工程互动教程](https://github.com/anthropic[content]Anthropic发布了两个用来学习提示工程的教程,完成课程后,将能够学到:掌握一个良好提示的基本结构识别常见故障模式,并学习解决它们的“80/20”技术了解Claude的优点和缺点从头开始为常见用例构建强大的提示另一个课程是面向中高级人员的,将学习如何将关键提示技术融入复杂的实际提示中。

OpenAI联创:RLHF是超级智能的秘密武器

模型会有一些共同的特点,比如很爱用“delve”这个词,这是个挺有意思的现象,我发现自己最近也在使用这个词,不知道是不是从模型那里学来的。另外可能还存在一些无意导致的信息蒸馏(unintentional distillation),比如说公司雇人做数据标注,但这个人直接把任务扔给了他最爱用的chatbot模型,再把结果粘贴回来,这也许是为什么各个模型之间的风格会趋向一致。另外一些模型显示出来的特征其实就是人们喜欢的方式,比如大家确实喜欢bullet point和结构化的回答,喜欢从模型那里得到大量信息。我们现在也还不清楚这些特征中有多少是由于post-training过程中特定的选择和设计造成的,又有多少是因为大家真的喜欢这样的回答。Dwarkesh Pa tel:模型生成的文本确实经常比用户希望的要长很多,有可能是因为标注的时候评分员更倾向于详尽的回答,这是不是也是模型pre-training方式的固有缺陷?因为模型没有经常遇到停止序列(stop sequence),导致模型在没有明确停止信号时一直生成下去?John Schulman:我觉得这可能是人类在标注过程中看到的信息太片面造成的。现在的模型训练一般都是一条一条地去做训练,而不是整个交互过程一起标注,所以很多单条信息会因为可能性更多、信息更丰富,在评分员眼里看起来更“完整”,同时比较简短的回答,或者说只回答了澄清问题的回答会被当作不够“完整”。另外还有一个问题是用户的偏好会不会随着模型输出文本的速度而变化。如果用户要坐在那等模型一个个地生成token,那用户肯定会希望它能直入主题。但如果模型能够一次性提供一大段文本,那用户就没那么在乎答案里是不是包含了模板,或者说有没有他们本来想一带而过的内容,相反会更愿意这样一次性拥有完整的信息。

Others are asking
热点的大模型微调蒸馏工具有哪些
以下是一些热点的大模型微调蒸馏工具: FLUX.1:包括 FLUX.1(可商用,为本地开发和个人使用定制,生成速度快,内存占用小,在 Apache 2.0 许可下公开提供,支持在 Replicate、fal.ai 和 Comfy UI 等平台使用,且支持用户根据自己数据集微调)。其训练参数高达 120 亿,在图像质量、提示词跟随等多方面超越流行模型,工作原理基于混合架构,结合变换器和扩散技术。 基于阿里云 PAI 平台:可复现 R1 蒸馏及蒸馏训练模型过程。部署 32b 的蒸馏模型展示效果,包括模型部署(如选中模型卡片后的操作、选择 vLLM 部署、涉及竞价系统等)、蒸馏数据获取(在本地 python 环境或 notebook gallery 建立实例执行代码获取蒸馏数据集)等。 DeepSeek:PaaS 平台支持多机分布式部署,满足推理性能要求,能一站式完成模型蒸馏。可登录 Pad 控制台通过 model gallery 进行部署,如 Deepseek R1 模型,可选择 SG 浪或 Vim 推理框架,根据资源出价部署,部署后可在模型在线服务 EAS 查看状态。还介绍了模型 API 调用、服务关停、蒸馏概念、应用场景及部署实操等。
2025-04-13
模型蒸馏
模型蒸馏是指教师模型将知识蒸馏给学生模型,有多种蒸馏方式。其应用场景广泛,例如在车机等算力有限的场景中,能让小模型在特定领域取得良好效果,还能实现低成本高速推理和修复模型幻觉。 在实际操作中,PaaS 平台支持多机分布式部署,满足推理性能要求,能一站式完成模型蒸馏。例如在阿里云 PAI 平台上进行模型蒸馏微调时,由于上一步中蒸馏的数据集很小,不足以改变模型权重,因此可以使用别人做好的数据集。在使用前可以打开查看里面的结构,和蒸馏出来的数据结构是否一致。然后下载并解压数据集,在 PAI 平台的数据集中找到 OSS 存储,建立数据集并上传。接着选择模型进行部署训练,如选择 7binstruct 的原生模型,选择训练,注意超参配置。训练完成后可以测试模型效果,在 model gallery 里面找到训练好的模型进行部署和调试。 此外,ComfyUI 原生支持 FLUX.1,FLUX.1 有三个变体:FLUX.1是一个蒸馏的 4 步模型,拥有 Apache 2.0 商用许可,适用于在本地进行部署或者个人使用。相关模型的链接、模型与工作流地址以及说明文档均可获取。 在云端部署操作方面,登录 Pad 控制台,通过 model gallery 进行部署,如 Deepseek R1 模型,可选择 SG 浪或 Vim 推理框架,根据资源出价,部署后可在模型在线服务 EAS 查看状态。模型试用可以使用 postman,通过修改接口和复制文档中的内容进行在线调试,发送请求查看状态码,根据模型名称和相关要求输入内容进行试用。同时要注意模型 API 的调用方法,包括查找位置、获取 token 等,使用后要及时停止或删除服务以避免持续付费。
2025-02-28
蒸馏和微调分别是什么意思,他们有关联吗
蒸馏和微调是在人工智能领域中常见的概念,它们有一定的区别和联系。 蒸馏是一种模型压缩技术,通过将复杂的大模型的知识和能力“提炼”到较小的模型中,以减少模型的参数和计算量,同时保持一定的性能。 微调则是在已有的预训练模型基础上,使用特定任务的数据对模型进行进一步的训练,以使其在特定任务上表现得更好。 它们的关联在于:都是为了优化模型在特定场景下的性能。不同之处在于,蒸馏侧重于模型压缩,而微调侧重于针对特定任务的适应性训练。 提示词和微调都是提高模型表现的方法,但方式不同。提示词是在使用模型时直接提供特定的指令或上下文,引导模型生成合适的回答,灵活方便,无需重新训练模型。微调则需要对模型进行额外训练,使用特定任务的数据调整模型参数,使其在该任务上表现更佳,但需要时间和计算资源。 微调具有一些优点,如能提高特定任务的性能和效率,适用于强调现有知识、自定义结构或语气、教授复杂指令等,但不适用于添加新知识和快速迭代。成功案例如 Canva 通过微调显著提高了性能。最佳实践包括从提示工程和小样本学习开始、建立基线、从小处着手并注重质量,还可以将微调和 RAG 相结合以获得最佳性能。
2025-02-26
如何进行知识蒸馏
知识蒸馏(Knowledge Distillation)是一种将复杂模型的知识转移到简单模型中的方法。其核心思想是利用预训练好的复杂模型(教师模型)指导较小模型(学生模型)的训练,使学生模型能模仿教师模型的行为,同时保持较小规模和较高效率。 蒸馏的核心在于让学生模型学习教师模型的输出分布,而非仅仅是硬标签(ground truth)。具体而言,教师模型为输入文本生成软标签(soft labels),即概率分布,学生模型通过模仿教师模型的软标签来学习。 目前以 Ollama 上下载的模型为例,最小的有 DeepSeekR1DistillQwen1.5B,最大的有 DeepSeekR1DistillLlama70B,都是来自于 Deepseek R1 671B 的蒸馏,而非官方的 Deepseek 版本。仔细观察模型名称可以看到,Distill 代表“蒸馏”,Qwen 或者 Llama 代表使用的基础模型,一般是千问或者 Llama 。
2025-02-14
知识蒸馏
知识蒸馏是一种模型压缩和训练的方法。在训练中,大模型作为教师模型,轻量级模型作为学生模型,学生模型不仅学习任务的真实标签,还学习教师模型生成的软标签,从而能够“站在巨人的肩膀上”学习。例如,NVIDIA 技术博客介绍了通过剪枝和知识蒸馏将 Llama3.1 8B 模型缩减为 Llama3.1Minitron 4B 模型的方法。剪枝通过移除模型中的一些参数来减少计算需求和内存占用,而知识蒸馏让小模型学习大模型的输出以提高性能。轻量级模型基础能力的增强,对未来的 AI 应用生态具有重要意义。同时,使用强化微调技术,轻量级模型能够通过精选数据的训练超越同代大模型的表现,这对垂直领域的模型应用也将产生很大影响。
2025-02-07
什么事大模型的蒸馏
模型蒸馏可以比作教学过程。在大模型中,一个大型专家模型(老师)将其知识传递给一个更小、更紧凑的模型(学生)。其目标是让学生模型学习最重要的技能,而不需要与老师模型相同的庞大资源。 例如,在谷歌 Gemini 模型中,Gemini Nano 是通过模型蒸馏的过程从更大的 Gemini 模型中提炼知识创建而成,能够在智能手机等设备上运行。 在 FLUX.1 模型中,FLUX.1蒸馏而来,具备相似的图像质量和提示词遵循能力,但更高效。
2024-12-06
coze搭建智能体,用上传的文件和知识库的文件做对比,分析差异点。
以下是关于在 Coze 中搭建智能体的相关信息: 1. 证件照相关操作: 展示原图上传结果,基本脸型已换,生成效果与上传照片特征有关。 改背景可利用改图功能,一键改图效果更好,输出数据类型为图片。 豆包节点生成的是 URL 地址,与前者不同,在工作流使用有差异,可参考简单提示词。 介绍证件照工作流相关操作,包括通过提示词改背景颜色,设置输出方式为返回变量;讲解消耗 token 及保存结果相关问题;对按钮、表单添加事件并设置参数,限制上传文件数量;还涉及给表单和图片绑定数据,以及每次操作后刷新界面确保设置生效。 围绕操作讲解与优化展开,介绍 for meet 的设置,如表单事件操作、图片上传数量修改等,提及编程基础知识。还讲述成果图连接、绑定数据方法及注意事项。展示基本功能实现情况,分析换性别等问题成因,指出需在工作流优化提示词,也可尝试用视频模型解决,最后进入问答环节。 2. 多维表格的高速数据分析: 创建智能体,使用单 Agent 对话流模式。 编排对话流,创建新的对话流并关联智能体。 使用代码节点对两个插件获取的结果进行数据处理,注意代码节点输出的配置格式。 测试,找到一篇小红书笔记,试运行对话流,在对话窗口输入地址查看数据。 发布,选择多维表格,配置输出类型为文本,输入类型选择字段选择器,完善上架信息,可选择仅自己可用以加快审核。 3. 智能体与微信和微信群的连接: 创建知识库,可选择手动清洗数据提高准确性,包括在线知识库和本地文档。 在线知识库创建时,飞书在线文档中每个问题和答案以分割,可编辑修改和删除。 本地文档中注意拆分内容提高训练数据准确度,如将课程章节按固定方式人工标注和处理。 发布应用,确保在 Bot 商店中能够搜到。
2025-04-18
coze搭建知识库和上传文件做对比分析
以下是关于 Coze 搭建知识库和上传文件的对比分析: 创建文本型知识库: 自动分段与清洗:扣子可对上传的内容进行自动解析,支持复杂布局的文件处理,如识别段落、页眉/页脚/脚注等非重点内容,支持跨页跨栏的段落合并,支持解析表格中的图片和文档中的表格内容(目前仅支持带线框的表格)。操作步骤为在分段设置页面选择自动分段与清洗,然后依次单击下一步、确认,可查看分段效果,不满意可重新分段并使用自定义分段。 自定义:支持自定义分段规则、分段长度及预处理规则。操作时在分段设置页面选择自定义,然后依次设置分段规则和预处理规则,包括选择分段标识符、设置分段最大长度和文本预处理规则,最后单击下一步完成内容分段。 创建表格型知识库: 目前支持 4 种导入类型:本地文档、API、飞书、自定义。 本地文档:选择本地文档从本地文件中导入表格数据,目前支持上传 Excel 和 CSV 格式的文件,文件不得大于 20M,一次最多可上传 10 个文件,且表格内需要有列名和对应的数据。 API:参考特定操作从 API 返回数据中上传表格内容,包括选择 API、单击新增 API、输入 API URL 并选择数据更新频率,然后单击下一步。 飞书:参考特定操作从飞书表格中导入内容,包括选择飞书、在新增知识库页面单击授权并选择要导入数据的飞书账号、单击安装扣子应用(仅首次导入需授权和安装),然后选择要导入的表格并单击下一步。目前仅支持导入“我的空间”下的飞书文档,云文档的创建者必须是自己,暂不支持导入知识库和共享空间下的云文档。 上传文本内容: 在线数据:扣子支持自动抓取指定 URL 的内容,也支持手动采集指定页面上的内容,上传到数据库。 自动采集方式:适用于内容量大、需批量快速导入的场景。操作步骤为在文本格式页签下选择在线数据,然后依次单击下一步、自动采集、新增 URL,输入网站地址、选择是否定期同步及周期,最后单击确认,上传完成后单击下一步,系统会自动分片。 手动采集:适用于精准采集网页指定内容的场景。操作步骤为安装扩展程序,在文本格式页签下选择在线数据,然后依次单击下一步、手动采集、授予权限,输入采集内容的网址,标注提取内容,查看数据确认无误后完成并采集。
2025-04-18
知识图谱
知识图谱是一种揭示实体之间关系的语义网络,可以对现实世界的事物及其相互关系进行形式化地描述。它于 2012 年 5 月 17 日由 Google 正式提出,初衷是提高搜索引擎的能力,增强用户的搜索质量和体验,实现从网页链接到概念链接的转变,支持按主题检索和语义检索。 知识图谱的关键技术包括: 1. 知识抽取: 实体抽取:通过命名实体识别从数据源中自动识别命名实体。 关系抽取:从数据源中提取实体之间的关联关系,形成网状知识结构。 属性抽取:从数据源中采集特定实体的属性信息。 2. 知识表示:包括属性图和三元组。 3. 知识融合: 实体对齐:消除异构数据中的实体冲突、指向不明等不一致性问题。 知识加工:对知识统一管理,形成大规模的知识体系。 本体构建:以形式化方式明确定义概念之间的联系。 质量评估:计算知识的置信度,提高知识质量。 知识更新:不断迭代更新,扩展现有知识,增加新知识。 4. 知识推理:在已有的知识库基础上挖掘隐含的知识。 在国家人工智能产业综合标准化体系建设指南中,知识图谱标准规范了知识图谱的描述、构建、运维、共享、管理和应用,包括知识表示与建模、知识获取与存储、知识融合与可视化、知识计算与管理、知识图谱质量评价与互联互通、知识图谱交付与应用、知识图谱系统架构与性能要求等标准。
2025-04-17
知识库怎么构建
构建知识库的方法主要有以下几种: 1. 使用 Flowith 构建: 选择“Manage Your Knowledge Base”,进入知识库管理页面。 点击左上角的加号添加新的知识库,为其起一个便于分辨的名字。 点击添加文件,建议使用 Markdown 格式的文件。 等待 Flowith 对文件进行抽取等处理,处理完毕后可在知识库管理页面测试检索。 2. 使用 Dify 构建: 准备数据:收集文本数据,进行清洗、分段等预处理。 创建数据集:在 Dify 中创建新数据集,上传准备好的文档并编写描述。 配置索引方式:根据需求选择高质量模式、经济模式或 Q&A 分段模式。 集成至应用:将数据集集成到对话型应用中,配置数据集的使用方式。 持续优化:收集用户反馈,更新知识库内容和优化索引方式。 3. 本地部署大模型并搭建个人知识库(涉及 RAG 技术): 了解 RAG 技术:大模型训练数据有截止日期,RAG 可通过检索外部数据并在生成步骤中传递给 LLM 来解决依赖新数据的问题。 RAG 应用的 5 个过程: 文档加载:从多种来源加载文档,如 PDF、SQL 等。 文本分割:把文档切分为指定大小的块。 存储:包括将文档块嵌入转换成向量形式,并将向量数据存储到向量数据库。 检索:通过检索算法找到与输入问题相似的嵌入片。 输出:将问题和检索出的嵌入片提交给 LLM 生成答案。 文本加载器:将用户提供的文本加载到内存中以便后续处理。
2025-04-15
如何搭建知识库
搭建知识库的方法如下: 使用 flowith 搭建: 选择“Manage Your Knowledge Base”,进入知识库管理页面。 点击左上角的加号添加新的知识库,给知识库起一个便于分辨的名字。 点击添加文件,建议使用 Markdown 格式的文件。 Flowith 会对文件进行抽取等处理,处理完毕后可在知识库管理页面测试检索。 使用 Dify 搭建: 准备数据:收集文本数据,进行清洗、分段等预处理。 创建数据集:在 Dify 中创建新数据集,上传准备好的文档并编写描述。 配置索引方式:提供三种索引方式,根据需求选择,如高质量模式、经济模式和 Q&A 分段模式。 集成至应用:将数据集集成到对话型应用中,配置数据集的使用方式。 持续优化:收集用户反馈,更新知识库内容和优化索引方式。 使用 Coze 智能体搭建: 手动清洗数据: 在线知识库:点击创建知识库,创建 FAQ 知识库,选择飞书文档,输入区分问题和答案,可编辑修改和删除,添加 Bot 并在调试区测试效果。 本地文档:注意拆分内容,提高训练数据准确度,按章节进行人工标注和处理,然后创建自定义清洗数据。 发布应用:点击发布,确保在 Bot 商店中能搜到。
2025-04-14
如何搭建自己的知识库
以下是搭建自己知识库的方法: 1. 选择“Manage Your Knowledge Base”,进入知识库管理页面。 2. 在页面左上角点击加号,添加新的知识库,并为其起一个易于分辨的名字。 3. 点击添加文件,建议使用 Markdown 格式的文件。 4. 等待 Flowith 对文件进行抽取等处理。 5. 处理完毕后,可在知识库管理页面测试检索,输入关键词过滤相关内容。 此外,搭建本地知识库还需了解 RAG 技术: 1. RAG 是一种当需要依靠不包含在大模型训练集中的数据时所采用的主要方法,即先检索外部数据,然后在生成步骤中将这些数据传递给 LLM。 2. 一个 RAG 的应用包括文档加载、文本分割、存储、检索和输出 5 个过程。 文档加载:从多种不同来源加载文档,LangChain 提供了 100 多种不同的文档加载器。 文本分割:把 Documents 切分为指定大小的块。 存储:将切分好的文档块进行嵌入转换成向量的形式,并将 Embedding 后的向量数据存储到向量数据库。 检索:通过某种检索算法找到与输入问题相似的嵌入片。 输出:把问题以及检索出来的嵌入片一起提交给 LLM,生成更合理的答案。 对于基于 GPT API 搭建定制化知识库,涉及给 GPT 输入定制化的知识。由于 GPT3.5 一次交互支持的 Token 有限,OpenAI 提供了 embedding API 解决方案。Embeddings 是一个浮点数字的向量,两个向量之间的距离衡量它们的关联性,小距离表示高关联度。在 OpenAI 词嵌入中,靠近向量的词语在语义上相似。文档上有创建 embeddings 的示例。
2025-04-14