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

模型蒸馏

Answer

模型蒸馏是将强化学习算法等提取到神经网络中的一种技术。

DeepMind 提出的算法蒸馏(Algorithm Distillation, AD),通过建立因果序列模型将强化学习算法提取到神经网络中。其原理是如果 Transformer 的上下文足够长到包含由于学习更新而产生的策略改进,它应能表示一个策略提升算子,这为将任何 RL 算法通过模仿学习蒸馏成强大的序列模型,并转化为 in-context RL 算法提供了技术可行性。

在视频生成方面,如 Imagen Video 应用了渐进式蒸馏来加速采样,能够将多个视频扩散模型蒸馏为每个模型仅 8 个采样步骤,且不影响感知质量。

此外,在 RLHF 研究中,还存在无意导致的信息蒸馏(unintentional distillation)现象,比如公司雇人做数据标注,此人将任务交给常用的 chatbot 模型,再粘贴结果回来,可能导致各个模型风格趋向一致。

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

References

融合RL与LLM思想,探寻世界模型以迈向AGI/ASI的第一性原理反思和探索「RL×LLM×WM>AI4S>AGI>ASI」

随着研究的进一步探索,DeepMind的研究人员通过观察发现,原则上强化学习算法训练中所学习的顺序性(sequential nature)可以将强化学习过程本身建模为一个「因果序列预测问题」。具体来说,如果一个Transformer的上下文足够长到可以包含由于学习更新而产生的策略改进,那它应该不仅能够表示一个固定的策略,而且能够通过关注之前episodes的状态、行动和奖励表示为一个策略提升算子(policy improvement operator)。当然这里也给未来提供了一种技术上的可行性:即任何RL算法都可以通过模仿学习蒸馏成一个足够强大的序列模型,并将其转化为一个in-context RL算法。基于此,DeepMind提出了算法蒸馏(Algorithm Distillation,AD),通过建立因果序列模型将强化学习算法提取到神经网络中。

Sora之后,OpenAI Lilian Weng亲自撰文教你从头设计视频生成扩散模型

Imagen Video还应用了渐进式蒸馏来加速采样,每次蒸馏迭代都可以将所需的采样步骤减少一半。在实验中,他们能够将所有7个视频扩散模型蒸馏为每个模型仅8个采样步骤,同时不会对感知质量造成任何明显损失。为了更好地扩大模型规模,Sora采用了DiT(扩散Transformer)架构,其操作的是视频和图像隐代码的时空块(spacetime patch)。其会将视觉输入表示成一个时空块序列,并将这些时空块用作Transformer输入token。图5:Sora是一个扩散Transformer模型。调整图像模型来生成视频在扩散视频建模方面,另一种重要方法是通过插入时间层来「扩增」预训练的文生图扩散模型,然后就可以选择仅在视频上对新的层进行微调或完全避免进行额外的训练。这个新模型会继承文本-图像对的先验知识,由此可以帮助缓解对文本-视频对数据的需求。在视频数据上进行微调Singer et al.在2022年提出的Make-A-Video是在一个预训练扩散图像模型的基础上扩展一个时间维度,其包含三个关键组件:1.一个在文本-图像对数据上训练的基础文生图模型。2.时空卷积和注意力层,使网络覆盖时间维度。3.一个帧插值网络,用于高帧率生成。

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

Dwarkesh Pa tel:RLHF对提升模型的实用性非常重要,所以说它限制了模型的功能可能并不准确,但这样训练出来的模型一旦被用在chatbot上,似乎都有一种类似的表达方式,比如说喜欢“delve into things”,喜欢用bullet point,语言风格比较正式和枯燥。还有人抱怨这些模型缺乏创造力,只能创作押韵的诗,写不出不押韵的诗,到最近这种情况才有改变。这些表现是不是由于因为RLHF中的某个环节导致的?如果真是这样,那是因为评分员,还是因为损失函数的设计?为什么所有的chatbot都会呈现出这种风格?John Schulman:在训练过程中我们其实有很大空间来做不同的尝试,最近我们也在努力让生成的文本更加有趣。比如最近ChatGPT的个性已经有了一些改进,和用户闲聊的时候会更有意思,不那么机械。模型会有一些共同的特点,比如很爱用“delve”这个词,这是个挺有意思的现象,我发现自己最近也在使用这个词,不知道是不是从模型那里学来的。另外可能还存在一些无意导致的信息蒸馏(unintentional distillation),比如说公司雇人做数据标注,但这个人直接把任务扔给了他最爱用的chatbot模型,再把结果粘贴回来,这也许是为什么各个模型之间的风格会趋向一致。

Others are asking
蒸馏和微调分别是什么意思,他们有关联吗
蒸馏和微调是在人工智能领域中常见的概念,它们有一定的区别和联系。 蒸馏是一种模型压缩技术,通过将复杂的大模型的知识和能力“提炼”到较小的模型中,以减少模型的参数和计算量,同时保持一定的性能。 微调则是在已有的预训练模型基础上,使用特定任务的数据对模型进行进一步的训练,以使其在特定任务上表现得更好。 它们的关联在于:都是为了优化模型在特定场景下的性能。不同之处在于,蒸馏侧重于模型压缩,而微调侧重于针对特定任务的适应性训练。 提示词和微调都是提高模型表现的方法,但方式不同。提示词是在使用模型时直接提供特定的指令或上下文,引导模型生成合适的回答,灵活方便,无需重新训练模型。微调则需要对模型进行额外训练,使用特定任务的数据调整模型参数,使其在该任务上表现更佳,但需要时间和计算资源。 微调具有一些优点,如能提高特定任务的性能和效率,适用于强调现有知识、自定义结构或语气、教授复杂指令等,但不适用于添加新知识和快速迭代。成功案例如 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 模型的方法。剪枝通过移除模型中的一些参数来减少计算需求和内存占用,而知识蒸馏让小模型学习大模型的输出。此外,在一些情况下,可能存在无意导致的信息蒸馏现象。
2025-02-07
知识蒸馏
知识蒸馏是一种模型压缩和训练的方法。在训练中,大模型作为教师模型,轻量级模型作为学生模型,学生模型不仅学习任务的真实标签,还学习教师模型生成的软标签,从而能够“站在巨人的肩膀上”学习。例如,NVIDIA 技术博客介绍了通过剪枝和知识蒸馏将 Llama3.1 8B 模型缩减为 Llama3.1Minitron 4B 模型的方法。剪枝通过移除模型中的一些参数来减少计算需求和内存占用,而知识蒸馏让小模型学习大模型的输出以提高性能。轻量级模型基础能力的增强,对未来的 AI 应用生态具有重要意义。同时,使用强化微调技术,轻量级模型能够通过精选数据的训练超越同代大模型的表现,这对垂直领域的模型应用也将产生很大影响。
2025-02-07
什么事大模型的蒸馏
模型蒸馏可以比作教学过程。在大模型中,一个大型专家模型(老师)将其知识传递给一个更小、更紧凑的模型(学生)。其目标是让学生模型学习最重要的技能,而不需要与老师模型相同的庞大资源。 例如,在谷歌 Gemini 模型中,Gemini Nano 是通过模型蒸馏的过程从更大的 Gemini 模型中提炼知识创建而成,能够在智能手机等设备上运行。 在 FLUX.1 模型中,FLUX.1蒸馏而来,具备相似的图像质量和提示词遵循能力,但更高效。
2024-12-06
本地部署的AI模型如何制作智能体
以下是关于本地部署的 AI 模型制作智能体的相关信息: 阿里云百炼满血版 DeepSeek: 1. 开通满血版 R1 模型:在模型广场找到 DeepSeekR1 并进行授权。每个人会免费获得 100 万额度,过期未用则浪费。此模型由阿里云自主部署,并做了推理优化,性能强于多数本地部署版本。 2. 应用开发:新增模板,可从模板学习应用搭建。 3. 联网搜索:配置简单方便,结合 Deepseekr1 更强大,如搜索天气时会多方验证。 4. 新鲜的动态 few shot:可用于对模型某些表现不佳、易出幻觉的任务通过 prompt training 强行修正。 5. 工作流:用工作流让不同模型在同一任务创作。 行业变革中的智能体相关: Anthropic 的 Claude 3 拥有三个版本,最大规模的 Opus 适合复杂推理与自动化任务计划,其次的 Sonnet 适合个人助理及内容快速分析,如智能体任务,最快最便宜的 Haiku 可执行快速翻译、客服对话等任务。Meta、微软、Google、Apple 等均有可适配到移动终端上运行的开源模型。边缘算力竞争中,Apple、Google、高通等在终端占有量和芯片方面具有优势,PC 级别终端因智能集成复兴,未来可能有家用和办公用“智能体”终端诞生,Tesla EV 也在相关量级之上。 自制软件和赤脚开发者中的智能体相关: 大型语言模型可表现为智能体,能制定计划和决策以实现设定目标,可访问外部工具、数据库长期记忆等,并模仿逻辑思维模式。语言模型和智能体已部署到帮助专业开发人员的工具中,如 GitHub Copilot、Cursor 和 Replit,能读写代码、调试、创建文档和编写测试,使用此类工具可提高开发人员完成任务的速度。
2025-02-27
如何本地部署大模型
本地部署大模型的方法如下: SDXL 大模型的本地部署: 1. SDXL 的大模型分为两个部分: 第一部分,base+refiner 是必须下载的,base 是基础模型,用于文生图操作;refiner 是精炼模型,用于对生成的模型进行细化,生成细节更丰富的图片。 第二部分,SDXL 还有一个配套的 VAE 模型,用于调节图片的画面效果和色彩。 2. 您可以关注公众号【白马与少年】,回复【SDXL】获取这三个模型的下载链接。 3. 想要在 webUI 中使用 SDXL 的大模型,首先要在秋叶启动器中将 webUI 的版本升级到 1.5 以上。 4. 接下来,将模型放入对应的文件夹中,base 和 refiner 放在“……\\sdwebuiakiv4.2\\models\\Stablediffusion”路径下;vae 放在“……\\sdwebuiakiv4.2\\models\\VAE”路径下。完成之后,启动 webUI,就可以在模型中看到 SDXL 的模型。 LLM 大语言模型的本地部署: 1. 下载并安装 Ollama: 点击进入 https://ollama.com/download ,根据您的电脑系统进行下载。 下载完成后,双击打开,点击“Install”。 安装完成后,将下方地址复制进浏览器中。如果出现下方字样,表示安装完成:http://127.0.0.1:11434/ 2. 下载 qwen2:0.5b 模型(0.5b 是为了方便测试,下载快,自己设备充足的话,可以下载更大的模型): 如果是 windows 电脑,点击 win+R,输入 cmd,点击回车;如果是 Mac 电脑,按下 Command(⌘)+Space 键打开 Spotlight 搜索,输入“Terminal”或“终端”,然后从搜索结果中选择“终端”应用程序。 复制相关命令行,粘贴进入,点击回车。 回车后,会开始自动下载,等待完成。(下载久了,可能会发现卡着不动,不知道下载了多少了。鼠标点击一下窗口,键盘点空格,就会刷新了) 下载完成后您会发现,大模型已经在本地运行了。输入文本即可进行对话。 ComfyUI ollama 本地大模型部署: 1. 先下载 ollama 安装,安装好了不会有任何界面弹出,可以在电脑桌面右下角或者隐藏图标里面找到。 2. 之后再去下载对应的模型,选择模型,复制对应的命令。 3. 打开命令行界面,输入对应的模型获取命令,等待下载完成。 4. 设置目录:下载的模型后面会保存到 D:\\ollama\\blobs。 5. docker 安装:安装会下载一些文件,安装后,改下这个目录,不要放在 C 盘。 6. Open webui 安装:输入相关命令,安装成功后,回到 docker,点击,会自动打开网页。第一次使用,需要注册一个账号,选择一个下载好的模型就可以开始使用了。 相关链接: 1. ComfyUI ollama:https://github.com/stavsap/comfyuiollama?tab=readmeovfile 2. Ollama:https://ollama.com/ 3. docker:https://www.docker.com/ 4. Open webui:https://openwebui.com/ 如果在部署过程中遇到端口占用的问题,运行下面两条命令可以解决。
2025-02-27
求AI大模型基础原理课程,讲的简单通俗
以下是关于 AI 大模型基础原理的简单通俗课程: 1. 概念 生成式 AI 生成的内容称为 AIGC。 2. 概念与关系 AI 即人工智能。 机器学习是电脑找规律学习,包括监督学习、无监督学习、强化学习。 监督学习:使用有标签的训练数据,算法目标是学习输入和输出之间的映射关系,包括分类和回归。 无监督学习:学习的数据没有标签,算法自主发现规律,经典任务如聚类,例如让模型将一堆新闻文章根据主题或内容特征分成相似组。 强化学习:从反馈中学习,以最大化奖励或最小化损失,类似训练小狗。 深度学习是一种参照人脑的方法,具有神经网络和神经元(因层数多称为深度),神经网络可用于监督学习、无监督学习、强化学习。 生成式 AI 可以生成文本、图片、音频、视频等内容形式。 LLM 是大语言模型,对于生成式 AI,生成图像的扩散模型不是大语言模型;对于大语言模型,生成只是其中一个处理任务,如谷歌的 BERT 模型可用于语义理解(不擅长文本生成),像上下文理解、情感分析、文本分类。 3. 技术里程碑 2017 年 6 月,谷歌团队发表论文《Attention is All You Need》,首次提出 Transformer 模型,它完全基于自注意力机制(SelfAttention)处理序列数据,不依赖循环神经网络(RNN)或卷积神经网络(CNN)。
2025-02-27
基础搭建的知识库效果很差,模型答案的幻觉很严重,我应该怎么改进?(Deepseek调用api接入本地faiss的rag库)
以下是一些改进基础搭建的知识库效果、减轻模型答案幻觉问题的建议: 1. 更换大模型:例如从 ChatGLM26B 替换成 baichuan213b,针对您的场景,后者的性能可能提升一倍左右。 2. 更换 embedding 模型:将 embedding 模型从 LangChain Chatchat 默认的 m3ebase 替换为 bgelargezh,后者可能更优。 3. 测试不同 Top k 的值:比较 Top 5、Top 10、Top 15 的结果,发现 Top 10 时效果可能最优。 4. 对文档名称进行处理:人工对文件进行重命名,上传相同文件构建知识库,同时在构建知识库时勾选【开启中文标题加强】选项,虽然重命名文件对结果的提升效果不明显,但勾选该选项后,回答的无关信息可能减少,效果有所提升。 RAG(RetrievalAugmented Generation)即检索增强生成,由检索器和生成器两部分组成。检索器从外部知识中快速找到与问题相关的信息,生成器利用这些信息制作精确连贯的答案,适合处理需要广泛知识的任务。 在大模型中,向量可想象成空间中的点位,每个词或短语对应一个点。系统通过查看词在虚拟空间中点的位置,寻找直线距离最近的点来检索语义上接近的词语或信息。理解向量后,当收到一个对话时,RAG 的完整工作流程为:检索器从外部知识中检索相关信息,生成器利用这些信息生成答案。 要优化幻觉问题和提高准确性,需要了解从“问题输入”到“得到回复”的过程,针对每个环节逐个调优,以达到最佳效果。
2025-02-27
大模型调用tools
目前,绝大多数小型本地开源大语言模型以及部分商用大模型接口通常不支持稳定的 tool calling 功能。现有的解决方案多为微调 LLM,但会浪费大量时间和算力。有一种新的方法,即仅使用提示词工程和精巧的代码设计,就能让 LLM 获得稳定的 tool calling 能力。 通过多个不具备 tool calling 能力的 LLM 进行实验,结果显示所有模型都能成功执行调用工具这一步,并正确输出能被正则表达式抓取的字典。但在使用 python 解释器任务上,ollama 量化版本的 llama38b 和 mistral7b 模型受限于代码生成水平,不能很好地输出正确代码,导致无法稳定完成计算任务。在搜索知识图谱任务上,所有模型都能让工具返回相关知识,但 ollama 量化版本的 qwen27b 和 mistral7b 模型受限于逻辑理解能力,不能稳定理解知识图谱中多个关系边之间的逻辑关系。实验证明提示词工程可让 LLM 获得 tool calling 能力,但能否利用工具返回的信息解决用户问题,仍受 LLM 自身智能水平限制,较大的模型(如 gemma29b)对工具返回结果的利用能力更稳定。 在大模型请求中,最大的两个变量是 Messages 和 Tools。Messages 里放的是 sys prompt、memory、user query;Tools 里放的是一些能力的 Json Scheme,两者组合形成整个完全的 Prompt。Agent 应用开发的本质是动态 Prompt 拼接,通过工程化手段将业务需求转述成新的 prompt。短期记忆是 messages 里的历史 QA 对,长期记忆是 summary 之后的文本再塞回 system prompt。RAG 是向量相似性检索,可放在 system prompt 里或通过 tools 触发检索。Action 是触发 tool_calls 标记,进入请求循环,拿模型生成的请求参数进行 API request,再把结果返回给大模型进行交互,没有 tool_calls 标记则循环结束。Multi Agents 则是更换 system prompt 和 tools。当然,想做深做好肯定还有很多坑需要踩。
2025-02-27
如何让大模型输出结构化的数据
要让大模型输出结构化的数据,可以采取以下几种方法: 1. 设计合理的 Prompt 工程: 明确的待处理内容指引:在构建 Prompt 时,清晰地定义需要处理的文本,并使用标记框起来,让模型准确识别待处理内容范围。 提供明确字段定义:具体化每个字段的名称、用途及要求,为模型提供清晰的提取方向。 异常处理:设置异常处理原则,如规定缺失数据使用默认值填充,特殊数据类型符合标准格式,确保模型输出的完整性和一致性。 要求结构化输出:指示模型以结构化格式(如 JSON)输出数据,便于后续处理和系统集成。 2. 搭建工作流: 模型选择:根据需求选择合适的大模型,如默认的豆包 32k 或更大的 kimi128k 等。 配置参数:进行批处理,输入相关参数,如文章内容正文、url 链接和标题等。 提示词输入:将相关内容一起送给大模型进行总结,并拼接成特定格式输出。 汇总格式化最终输出内容:使用代码节点对大模型输出的内容进行最终格式化。 3. 探索 JSON Output 应用: 无模板的 Excel 导入:改变传统数据导入方式,通过 Prompt 读取想要的数据列。 AI 审核员:在人审环节前加 AI 审,提供相关知识和少量示例,输出简单结果。 分类器:一个 Prompt 即可完成分类任务。 应用于其它业务场景:如在一些业务场景中落地,提高效率。 但需要注意的是,过去大模型还不太成熟,应用过程可能会有一些困难。
2025-02-27