跳转至

我的博客

终于将 Transformer 算法搞懂了

原文地址: https://mp.weixin.qq.com/s/uMICN3Qi4IZJGhtnmuaaGQ

Transformer 架构

Transformer 是一种深度学习模型架构,最早由 Vaswani 等人在 2017 年的论文《Attention is All You Need》中提出,专门为处理序列数据(如自然语言处理任务中、时间序列预测等)而设计。

与之前的递归神经网络(RNN)和长短期记忆网络(LSTM)相比,Transformer 通过 注意力机制(Attention Mechanism)来捕捉序列中各个元素之间的依赖关系,从而避免了传统序列模型(RNN 和 LSTM)在处理长序列时的 梯度消失或梯度爆炸 的问题,显著提高了并行计算的能力,并且在处理长序列时具有更好的效果。

DeepSeek-R1 蒸馏前后的 Qwen Tokenizer 变化

原文地址:https://mp.weixin.qq.com/s/HbqzdZOEWBfE3j16uAqsFw

根据 DeepSeek-R1 的论文,DeepSeek-R1-Distill-Qwen-32B 是基于 Qwen2.5-32B 预训练 base 模型进行蒸馏 SFT 训练,而不是基于 Qwen2.5-32B-Instruct 的 Chat 模型。

接下来对比这三个开源模型(Qwen2.5-32B、Qwen2.5-32B-Instruct、DeepSeek-R1-Distill-Qwen-32B)的几个主要配置文件,并分析 tokenizer 的异同,最后实测 Chat 模版及 special token。

把代码变成思维链,大模型推理各能力全面提升

原文地址: https://mp.weixin.qq.com/s/UVx2y8awmknSA3kWGEYDKg

用代码训练大模型思考,其他方面的推理能力也能提升。DeepSeek 团队最新研究,利用 300 多万个实例,将代码转换成思考过程,构建出数据集 CODEI/O,对 Qwen、Llama 等模型进行了训练。

结果,在各种类型的推理任务当中,模型性能都取得了全面提升,包括 在非代码类的推理任务上,也展现出了良好的迁移能力

研究团队认为,在代码当中暗含了不同类型场景的思考过程,于是想要把这种思考过程“提取”出来训练推理模型。他们生成了大量的训练数据运行这些代码,然后把代码、输入/输出对以及功能描述输入 DeepSeek-V2.5,从而合成自然语言形式的推理过程。

在此基础上,团队还引入了验证和修订机制,形成了更高质量的 CODEI/O++(1)。

  1. CodeI/O: Condensing Reasoning Patterns via Code Input-Output Prediction

将 DeepSeek R1 模型微调成 DeepDoctor

原文地址: https://mp.weixin.qq.com/s/cqh42XH60s0-8Xum04lSjw

DeepSeek 颠覆了 AI 领域,挑战 OpenAI 的主导地位,推出了一系列先进的推理模型。最令人兴奋的是?这些模型完全免费,且没有任何使用限制,人人都可以访问。

在本教程中,我们将对 DeepSeek-R1-Distill-Llama-8B 模型进行微调,使用来自 Hugging Face 的医学思维链数据集进行训练,该精简版 DeepSeek-R1 模型是通过在 DeepSeek-R1 生成的数据上微调 Llama 3.1 8B 模型而创建的。它展示了与原始模型相似的推理能力。

轻量级的 Agent 框架 —— SmolAgents

原文地址:https://mp.weixin.qq.com/s/KhyGyajIDhUX-xfjK99wFg

Smolagents 是一个可以让你通过几行代码运行强大的 Agent 的 Python 库。它具有以下特点:

  • 简洁性:Agent 的逻辑大约只有 1000 行代码。
  • 一流的 Code Agent 支持:CodeAgent 是一种能够通过代码执行任务的 Agent。传统的 Agent 通常依赖于一些预定义的动作或外部指令,而 CodeAgent 能够动态地生成并执行代码来完成任务。具体来说,CodeAgent 的动作是通过编写实际的代码来实现的,而不是仅仅生成类似 JSON 的命令或指令。

CodeAgent 的关键特点包括:

  • 代码执行:它生成并执行实际的代码来处理任务。例如,它可能会调用外部 API、计算某些值、处理数据等。
  • 高安全性:为了确保执行过程中的安全,CodeAgent 可以在沙箱环境中运行,避免潜在的安全风险。
  • 灵活性:它能够动态适应任务需求,通过编写不同的代码来应对多变的工作流。

相比传统的工具调用型 Agent,CodeAgent 的优势在于它具有更高的灵活性和可定制性,能够根据任务需求实时生成和执行代码,适用于更复杂和动态的工作流。

  • Hub 集成:你可以将工具共享到 HuggingFace Hub,也可以从 HuggingFace Hub 加载工具,未来还会有更多功能!
  • 模型无关性:smolagents 支持任何 LLM。可以是本地的 Transformers 或 Ollama 模型,也可以是 Hub 上的多个模型提供者,或者通过 LiteLLM 集成使用 OpenAI、Anthropic 等公司的模型。
  • 模态无关性:Agent 支持文本、视觉、视频,甚至音频输入!
  • 工具无关性:可以使用 LangChain、Anthropic 的 MCP 等工具,甚至可以将 Hub 空间作为工具使用。

创建项目

通过 pdm init 命令来创建一个新项目:

mkdir funasr_examples && cd funasr_examples
pdm init

PDM 安装

PDM 需要安装 3.8 以上的 Python 版本。它适用于多个平台,包括 Windows、Linux 和 MacOS。

PDM 简介

如前所述,PDM 是一个支持最新 PEP 标准的现代 Python 包和依赖项管理器。但它不仅仅是一个包管理器。它可以在各个方面提升您的开发工作流程。

PDM 有许多功能亮点:

  • 简单快速的依赖解析器,主要用于大型二进制发行版。
  • 根据 PEP 517 规范构建后端。
  • 根据 PEP 621 规范解析项目元数据。
  • 灵活而强大的插件系统。
  • 多功能用户脚本。
  • 使用 indygreg's python-build-standalone 进行安装其他版本的 Python。
  • 参考 PNPM 设计思路,选择加入集中式安装缓存。