Weekly 随笔周刊——第 21 期

随笔周刊——第 21 期

DeepSeek 复现、深度推理与 Opengrep

新春快乐~

新春快乐~


🎶𝓦𝓮𝓮𝓴𝓵𝔂 𝓼𝓸𝓷𝓰 𝓹𝓲𝓬𝓴 🪗:

打开原始内容

知识小品

DeepSeek 复现

最近 DeepSeek 的热度依旧不减,过年期间如果你你经常打开 deepseek 的官网对话,那你一定见过 “服务器繁忙,请稍后重试”。全球也在掀起 deepseek 的复现热潮:

如果有资源,可以尝试训练一个 r1-zero,从头见证模型开始反思自己的输出,见证输出内容由繁到简再到繁,甚至看到模型的 “Aha moment” 🤩


最近也因为推理模型的热度,相关文章也比较多,看到的这篇文章还是不错的,以 DeepSeek R1 为例学习“推理型大语言模型,介绍了几个目前构建推理模型的技术:

  1. 推理阶段扩展 (Inference-time scaling)

    不用改模型,但推理成本上升。如果用户量和请求量很大,总体费用会很高。尽管如此,它仍是增强已有强大模型的简单高效方法。作者怀疑 o1 中就有用到这种策略,这也是它比 DeepSeek-R1 贵的一个原因。

  2. 纯 RL

    研究上有趣,可揭示推理是如何“涌现”的。但在实际开发中,如果要得到强推理能力,通常还是会在 RL 前后配合 SFT。o1 很大概率也是“RL+SFT”做出来的。作者推测 o1 的起点可能是一个比 DeepSeek-R1 更弱(或更小)的基础模型,但通过大量 RL+SFT 以及推理阶段扩展来弥补。

  3. RL+SFT

    打造性能最强推理模型的关键方法。DeepSeek-R1 的训练思路可作范例。

  4. 蒸馏

    即用已训练的大模型产生的 SFT 数据来微调小模型。这样能得到更小、更便宜的推理模型。但要注意,蒸馏本身并不会推动最前沿的能力突破——因为它依赖于一个已经训练好、且更强的大模型来提供数据。

Understanding Reasoning LLMs

Methods and Strategies for Building and Refining Reasoning Models

awesome-deep-reasoning

https://github.com/modelscope/awesome-deep-reasoning

旨在收集有关推理模型(如 O1/R1)的各种优秀工作和资源,其中包括新闻、代码仓库、论文、模型、基础设施、数据集、评估标准以及相关工具。

  • 新闻:提及 OpenAI、NVIDIA 和 Qwen 等公司发布的与推理模型相关的最新动态,如 Qwen2.5 和 o3-mini 模型。

  • 代码仓库:汇总了多个与推理模型相关的开源仓库,包括 DeepSeek 和 Qwen 系列及其他实现。

  • 论文:涵盖推理模型的技术报告、理论研究以及从 OpenAI、DeepMind 等机构发布的学术成果。

  • 模型:列出 DeepSeek 系列、Qwen 系列及其他与 R1/O1相关的具体模型。

  • 设施:提供多个支持推理模型训练与复现的工具和框架,如 Hugging Face 的 Open-R1、TinyZero 和 OpenRLHF。

  • 数据集:包含 Dolphin-R1、NuminaMath 等涵盖数学、代码、推理多维度的数据集。

  • 评估:列举了包含 MATH-500 和 AIME-2024 等数学问题评估基准的数据集。

image.png

Foundations-of-LLMs

https://github.com/ZJU-LLMs/Foundations-of-LLMs

一本关于大语言模型(LLMs)的开源教材,旨在系统讲解LLMs相关基础知识并介绍前沿技术。项目由ZJU-LLMs团队维护,持续进行月度更新。

  • 章节概览:

    • 第1章:语言模型基础(统计方法、RNN模型、Transformer模型等)。

    • 第2章:大语言模型(架构概览、不同架构类型等)。

    • 第3章:Prompt工程(上下文学习、思维链、技巧与应用)。

    • 第4章:参数高效微调(方法分类与应用)。

    • 第5章:模型编辑(经典方法、新方法与实际应用)。

    • 第6章:检索增强生成(知识检索与生成增强)。

  • 教材以六种动物为背景进行技术讲解,每章配备相关技术论文列表,便于追踪进展。

image.png

Opengrep

https://github.com/opengrep/opengrep

Opengrep 是由 Semgrep 发展的开源静态代码分析工具,其目标是通过快速的语义模式匹配和自定义规则,帮助开发者在 30 多种编程语言中快速查找代码模式和修复漏洞,助力安全软件开发。

核心功能包括:

  • 快速、强大的代码模式搜索。

  • 丰富的语言支持(Apex、Python、Rust、Java 等)。

  • 提供 SARIF 格式输出,便于集成报告。

  • 可通过 YAML 文件编写自定义规则。

image.png

随便看看

自洽的程序员

https://github.com/zhangchenchen/self-consistent-coder

自洽的程序员一本开源书籍,目标是帮助程序员应对职场中的焦虑、倦怠、迷茫和情绪问题,通过改变认知以实现内心的自洽。这不是一本技术或成功学的书,而是聚焦于情绪管理和工作认知。本书基于作者的经验撰写,章节包括工作哲学、工作方法论、人际关系、工作与家庭以及副业探索等内容,同时提供具体问题的应对策略。项目作者是有多年编码经验的程序员,目前从事独立开发。

image.png

SwanLab

https://swanlab.cn/

SwanLab 是一个开源的现代化 AI 模型训练跟踪与可视化工具,支持云端、自托管和离线使用,集成 30+ 主流框架(如 PyTorch、Transformers、LLaMA Factory 等)。

核心功能包括训练可视化、自动日志记录、超参数跟踪、实验对比、多团队协作以及硬件监控等。它提供了友好的 Python API 和美观的 UI,可轻松集成到机器学习工作流中。除了类似 TensorBoard 的功能,还提供了更强大的实验管理和多人协作支持。


之前使用的都是 Wandb,看了一下 SwanLab 文档,发现不仅仅是国内版的 wandb,有些功能还是很有特色且实用的:

  1. 支持离线使用,如果实验数据隐私,可以离线查看。

  2. 支持更多的可视化元数据类型(图像、音频、文本)!

  3. 前端页面记录训练的相关超参数、训练日志和系统环境信息,很全面!

  4. 全面的用户文档、实战案例和 API 文档,帮助小白挖掘更多的使用案例!

  5. 还有社区,可以查看其他用户公开的模型训练的实验记录,这很有趣哦。

  6. And,这是国内的,不需要翻墙了hhh

image.png

open-webui-tools

https://github.com/Haervwe/open-webui-tools

open-webui-tools 是一个针对 Open WebUI 的开源工具集合,旨在提升与大型语言模型(LLM)的交互能力,特别适用于学术研究、图像生成和高级对话管理。

  1. arXiv 搜索工具:无需 API,提供学术论文搜索功能,支持标题、摘要和全文检索,返回详细信息和最近提交的相关论文。

  2. Hugging Face 图像生成器:基于文本描述生成高质量图像,支持多种图像格式和模型自定义。

  3. Planner Agent:可进行目标分解、自适应任务执行、上下文管理、输出优化和错误处理,实现复杂任务的自动化。

  4. arXiv 研究 MCTS 管道:结合 MCTS 算法优化研究总结,并提供搜索树的可视化和动态温度调整。

  5. 多模型对话管道:支持多达 5 个模型模拟对话,适合角色扮演、故事创作等场景。

  6. 简历分析管道:对简历进行分类、标签生成、一印象评估、对比分析、提供面试问题和职业建议。

image.png

open-webui 确实是做的最舒服的在线 LLM Chat UI,基于社区规模的庞大,迭代更新很频繁,会持续跟进最新的 model 支持等。我也在小鸡上部署了一个,不过目前基本不用,在线的话我就用付费的 Monica 了,如果后续朋友或者家里人需要使用高阶模型,可以再捯饬一下 open-webui。不过这个插件提到的 arxiv 论文搜索功能好像挺别致的,后续看看代码研究一下~

随便玩玩

devin.cursorrules

https://github.com/grapeot/devin.cursorrules

旨在将 Cursor 或 Windsurf 集成开发环境(IDE)打造成具备高级代理型 AI 功能的工具,从而以低成本实现接近 Devin $500/月订阅的功能。其核心功能包括:

  1. 自动规划与自我进化:支持AI提前规划任务、从错误中学习并积累项目特定的知识。

  2. 扩展工具集:

    • 支持网页抓取(Playwright)

    • 搜索引擎集成(DuckDuckGo)

    • LLM驱动的文本和图像分析

  3. [实验性功能] 多代理协作:包括负责高层规划的Planner(基于o1)和执行具体任务的Executor(基于Claude/GPT-4),提升任务质量与迭代速度。

其实就是一个简易版的自动化 Agent 了,支持在有需要的时候,自动调用搜索引擎等内置的 tools。但翻看提供的 prompt,发现一个比较新颖实用的点,它会要求 cursor 等在执行r任务时自动维护一个“工作日志“,这对于长对话以及 Agent 等多步骤执行很有必要,让 Agent 始终明确总任务、当前已完成的任务、已经执行的动作、未完成的任务。

  1. 当你接收到一个新任务时,你应该首先查看草稿本的内容,清除旧的不同任务(如果有必要),首先解释任务,并规划完成任务所需的步骤。

  2. 当你完成一个子任务时,也要在草稿本中更新任务的进度。

  3. 特别是在完成一个里程碑时,使用草稿本进行反思和规划将有助于提高你完成任务的深度。

  4. 目标是帮助你同时保持任务的大局观和进度。在规划下一步时,始终参考草稿本。

# Instructions

During your interaction with the user, if you find anything reusable in this project (e.g. version of a library, model name), especially about a fix to a mistake you made or a correction you received, you should take note in the `Lessons` section in the `.cursorrules` file so you will not make the same mistake again. 

You should also use the `.cursorrules` file as a Scratchpad to organize your thoughts. Especially when you receive a new task, you should first review the content of the Scratchpad, clear old different task if necessary, first explain the task, and plan the steps you need to take to complete the task. You can use todo markers to indicate the progress, e.g.
[X] Task 1
[ ] Task 2

Also update the progress of the task in the Scratchpad when you finish a subtask.
Especially when you finished a milestone, it will help to improve your depth of task accomplishment to use the Scratchpad to reflect and plan.
The goal is to help you maintain a big picture as well as the progress of the task. Always refer to the Scratchpad when you plan the next step.

Breeze Shell

https://github.com/std-microblock/breeze-shell

Breeze Shell 是一个为 Windows 10 和 Windows 11 提供的替代右键菜单工具。

  • 流畅 (Fluent): 提供可配置的动画效果,可自由调整或关闭。

  • 可扩展性 (Extensible): 嵌入 JavaScript 脚本 API,允许通过几行代码扩展右键菜单功能。

  • 可配置性 (Configurable): 支持多种设置,例如项目高度、背景圆角等,可高度自定义。

  • 轻量且快速 (Lightweight & Fast): 使用 breeze-ui 库,UI 界面精美且总大小仅约 2MiB。

image.png

随便说说

分享文章

AI 正在培养一代文盲程序员

  1. 之前,解决新问题是编程乐趣的一部分。现在,如果人工智能在 5 分钟内不给我解决方案,我就会感到沮丧。

  2. 即时答案带来的多巴胺刺激取代了真正理解的满足感。

  3. 我甚至不再阅读错误信息,只是复制并粘贴它们。

  4. 现在,某个地方,一位新程序员正在学习编码。他们将永远不知道独自解决问题的满足感。他们将永远无法体会与错误斗争数小时所带来的深刻理解。

确实,我也进入了这种情形,之前对着终端的红色报错信息,虽有烦躁,但通过一点点查资料、打开一个又一个网页,尝试一个又一个可能的解决方案,到最后成功解决 bug,会真的有来自内心的满足感,甚至会开心一晚上。但现在,有 bug 我就会直接复制粘贴,甚至不需要 copy,直接 insert 到 Chat 中,让 Agent 反复调节,我就当一个旁观者,有时甚至不想细看 bug。效率确实提高了,之前遇到 bug 可能困扰半天一天,现在可能就几分钟或者一次简单的 chat,但我好像并没有了满足感,只是很平静……虽然每次 apply 时我也会读一下补全的代码,但真的从答案中学到新的知识和技巧了吗?好像并没有。我也不清楚是好是坏,只能让自己也平时注意主动学习新的技术和项目吧~


再见了,盛夏

作者的经历和文笔让人钦佩!

在追寻幸福的道路上,愿你有面对不确定的勇气。

在不确定的世界中,愿你有甘于平凡的勇气。

在漫长的旅途中,愿你有告别盛夏的勇气。


新年过完了,春节还是惯例的拜拜年。这次去见了高中同学,之前约我几次,但因为我家不在当时上高中的地方,所以不方便去,这次直接开车来我家接我了 😊。

春节在家没打多少游戏(玩了一会燕云),因为皖北太冷了,零下十度,没有暖气,哎,处在中间的省份,真羡慕北方的暖气,在家手拿出来玩手机玩电脑都冻手 🥶。春节就在家和我姐、表弟们打掼蛋🥚,hhh,还挺上头,一局一块钱~

家里的打工人也都回去上班了,我虽未开学,但后续也得开始继续读论文,看看项目和写写代码啦~(希望后面不要降温了

目录 共 14 节

评论

访客
⌘ / Ctrl + Enter 发送

发送后直接公开 · 访客昵称未经认证

正在读取评论…