📝随笔周刊——第 23 期

type
status
date
slug
summary
tags
category
icon
password
AI summary
🎶𝓦𝓮𝓮𝓴𝓵𝔂 𝓼𝓸𝓷𝓰 𝓹𝓲𝓬𝓴 🪗:

知识小品

Deep Learning Aided Software Vulnerability Detection: A Survey

一篇关于使用传统(相比现在 LLM)深度学习方法进行漏洞检测的综述。论文通过分析2017年至2024年间的34项相关研究,系统地分析和比较了各种基于DL的漏洞检测方法。包括六个阶段:数据集构建、漏洞粒度定义、代码表示、模型设计、模型性能评估和真实项目实施。
🤔
感觉基于 DL 的还是有些局限的:
  1. 大多只能检测 Function Level 以下的粒度,否则效果会下降比较明显,因为无关的信息会增加。
  1. DL 的方法不容易识别到代码上微小变化但导致整体逻辑和语义变化的情况。
  1. 基于 DL 的方法附加额外有价值的信息不方便,比如在检测时传入相关的 Data Flow 等。
notion image

SWE-RL: Advancing LLM Reasoning via Reinforcement Learning on Open Software Evolution

本文介绍了 SWE-RL(Software Engineering Reinforcement Learning),这是一种通过强化学习提升大型语言模型在软件工程任务中的推理能力的新方法。SWE-RL 利用开源软件数据和基于规则的奖励机制,训练 LLMs 自主恢复开发者的推理过程和解决方案。
notion image
  1. 基于软件变更数据的强化学习: SWE-RL 利用开源软件的变更数据(例如 Pull Request),包括代码快照、代码变更、问题和 PR 等信息作为训练数据。(真是个狠人啊,总共收集了 2400 万个聚合的 PR 实例
      • 发现个好东西 GH Archive —— GH Archive is a project to record the public GitHub timeline, archive it, and make it easily accessible for further analysis.
        • notion image
  1. 轻量级的规则奖励: SWE-RL 采用基于规则的轻量级奖励函数,例如,计算模型生成的代码补丁与开发者提供的 oracle patch 之间的相似度得分。这种奖励函数避免了复杂的执行反馈,更适合现实世界的软件工程任务。
      • 奖励函数设计:如果生成的响应格式正确,奖励是基于预测补丁和真实补丁之间的相似度得分;如果格式错误,则奖励为 -1。
      • 训练策略:使用 GRPO 进行策略优化,通过最大化预期奖励来训练 LLM。
  1. 自主学习开发者推理过程: SWE-RL 能够使 LLM 自主地从大量的软件演进数据中学习和恢复开发者的推理过程和解决方案。通过强化学习,模型可以逐渐掌握如何分析问题、定位错误、并生成正确的代码修复方案。
  1. 通用推理能力的涌现: 令人惊讶的是,尽管 SWE-RL 仅在软件演进数据上进行训练,但训练后的模型 Llama3-SWE-RL-70B 不仅在 SWE-bench 基准测试上取得了同等规模模型中的最佳性能(41.0% 的解决率),甚至可以与领先的 GPT-4o 相媲美。更重要的是,Llama3-SWE-RL-70B 还展现出了通用推理能力,在五个超出训练领域(out-of-domain, OOD)的任务上(包括函数编码、库的使用、代码推理、数学和通用语言理解)也取得了提升。
🤔
奖励函数通过比较预测补丁和 oracle patch 的序列相似度来计算奖励,而不是评估它们的语义等价性是不是可能会限制模型探索功能等效但序列不同的解决方案

动手学强化学习

本书一共分为三个部分,分别为动手学习基础篇、动手学习进阶篇和动手学习前沿篇。基础篇关注于 tabular 场景下的 RL,即状态和动作空间都是有限的;进阶篇的内容突破这一限制,考虑连续的状态或动作,此时我们会使用到神经网络。最后,在前沿篇会介绍强化学习领域一些有趣的方向,以及相对应的前沿算法。
书籍还配套了对应的开源项目,内容涵盖强化学习主流算法实现。项目提供按章节划分的 Jupyter Notebook 文件,每章有图文结合的介绍和代码讲解,从多臂老虎机问题到多智能体强化学习进阶,全面覆盖强化学习领域的知识点。用户可通过下载运行代码,学习强化学习各算法的具体实现细节。
notion image

Cognita

Cognita 是一个开源 RAG框架,用于构建模块化且适用于生产环境的应用程序。它基于 Langchain 和 LlamaIndex,旨在解决生产化 RAG 系统中代码模块化、可伸缩性和可扩展性问题。Cognita 提供了一个组织良好的代码库架构,支持无代码 UI 操作,支持本地部署和生产环境,默认支持增量索引。
核心特点
  1. 模块化设计:支持多种文档检索器(相似性搜索、文档重排名等)。
  1. 嵌入和重排名:支持 SOTA 开源嵌入模型及重排名。
  1. 增量索引:自动避免重复索引,提高计算效率。
  1. 简易生产化:通过 FastAPI 提供 API 服务并支持自动扩展。
  1. 可视化 UI:允许非开发者通过 UI 上传文档并进行问答操作。
  1. 多配件支持:可灵活切换解析器、嵌入器、向量数据库等组件。
notion image
🤔
目前有关 RAG 的开源框架挺多的,比如 ragflow 等,但它好像管理好像不太行哈 🤣,看了一眼现在还有一千多个 issue,Cognita 只有十个(我看的时候),而且感觉 Cognita 的出发点挺好的,模块生产化并且支持 API 服务。

How to Count number of Lines in a Git Repository?

有时候看到一些项目挺想学习的,但是会好奇这个项目的规模有多大,太大就不太适合了,学不来且时间不够。所以在逛 github 的时候就想快速知道这个项目规模有多大。
  1. clone 下来计算(不方便,不太推荐),下面两篇文章讲了几个本地计算的方法:
    1. https://gist.github.com/mandiwise/dc53cb9da00856d7cdbb
    2. https://www.geeksforgeeks.org/how-to-count-number-of-lines-in-a-git-repository/
  1. 在线计算(比较适合我):https://codetabs.com/count-loc/count-loc-online.html
    1. notion image

随便看看

I found the real Mac Wallpaper in USA!

Links 终于更新了,两个月了都🥹。周三忙碌了一天,晚上看到新视频,丝滑的打开油管 4k,带上降噪耳机,享受这份视频🥰
notion image

相机选购指南:4000-20000

看完了,讲的很实在,帮助小白快速了解如何根据自己的需求买相应的相机,同时还有很多注意事项。但,相机在哪领😭(以后有钱必须得买一个和 n 个镜头🌚)
notion image

在安徽,扛巨型⻥灯是种什么体验!

黄山那边原来有这么多好玩的,之前看了个博主的黄山游记博客,才知道黄山附近这么漂亮,之后有机会一定去逛逛😊(愈发感觉我是个假安徽人😀
notion image

open-in-overleaf

open-in-overleaf 是一个浏览器扩展,允许用户直接在 Overleaf 上打开并编辑任何 arxiv.org 的论文。
  • 主要功能:在 arxiv.org 论文页面的侧边栏点击“Open in Overleaf”链接后,其 LaTeX 源码将直接在 Overleaf 中打开(仅限作者已上传 LaTeX 源码的论文)。
  • 用途:可以分析论文中的一些 LaTeX 功能或排版效果,也便于复制论文中的公式、引用或表格用于二次创作或演示文稿。
notion image
看了下实现方法,代码很少,通过部署在 huggingface 的服务,提供下载、转化和重定向功能:
  1. 转换文件格式:将arXiv的.tar.gz格式的LaTeX源文件转换为Overleaf可接受的.zip格式
  1. 重定向到Overleaf:完成转换后,自动将用户重定向到Overleaf,并加载转换后的文件

随便玩玩

gpustat

gpustat 是一款简单的命令行工具,用于查询和监控 NVIDIA GPU 状态。
  • 显示 GPU 温度、利用率、内存使用情况及运行的进程等信息。
  • 支持多种输出选项(如 JSON、进程 PID、用户、完整命令等)。
  • 提供实时监控模式(-watch 参数)。
notion image

nvitop

nvitop 是一个用于监控和管理 NVIDIA GPU 状态的交互工具,提供比 nvidia-smi 更丰富和直观的实时监控功能,兼具资源管理、数据采集和定制化 API 支持。主要特点包括:
  1. 丰富功能
      • 彩色输出、树状视图、进程过滤、资源监控、键盘/鼠标交互支持。
      • GPU 设备环境变量查看及 CUDA 设备选择工具 nvisel 功能。
      • 可通过键盘快捷键发送命令管理 GPU 关联进程(终止、杀死等)。
  1. 高效灵活
      • 使用 NVML Python 绑定直接查询 GPU 状态,无需解析 nvidia-smi 输出。
      • 多线程异步信息收集,性能高效响应快。
      • 支持 Linux 和 Windows 平台,纯 Python 实现,易安装。
  1. 开发者友好
      • 内置对 TensorFlow (Keras) 和 PyTorch Lightning 的回调支持。
      • 提供丰富 API(如低级别设备信息、进程管理、资源指标采集等)方便深度学习训练集成和自定义监控工具开发。
      • 通过 ResourceMetricCollector 实现资源动态采集并可与 TensorBoard 或 CSV 集成。
notion image

ai-by-hand-excel

一个在 Excel 中实现的 "手动计算 AI" 的项目。(Excel 还能这么高级哈哈哈,大为吃惊!竟然还能实现 Multi-head Latent Attention 和 MoE)
notion image

随便说说

这周挺忙的,帮师兄跑跑实验,Coding,上课。
这周 manus 突然火了,那天晚上信息刚出来的时候,看视频确实好牛,加了官方 discord 看能不能蹲到码,结果半夜一点多一堆人😅,算了🤦‍♂️。虽然我对 Agent 比较感兴趣,但目前不太看好交给 Agent 自助执行所有任务,因为模型还是有幻觉的,而且自主操作很容易陷入死循环或者将任务复杂化。不过对于调研等开放性任务感觉挺方便的,就是还需考虑信息源的准确性等。manus 的团队也是 Monica 产品的团队,一直订阅在用,也希望 manus 最终的产品能让人眼前一亮!
《双影奇境》开卖了,想入手然后后面假期找女朋友去玩😊,场景好丰富🤩
Loading...

© huhu 2023-2025