如何通过Pod进入到宿主机?
如何通过Pod进入到宿主机? nsenter -a -t 1 bash 命令的作用是让你在一个新的 shell 会话中,进入 PID 为 1 的进程所在的全部命名空间(Namespace)。 通过这种方式,可以从pod中进入到宿主机(全部的namespace都跟宿主机一样) breakdown 如下: nsenter: 这是一个 Linux 命令行工具,用于将当前进程“进入”到指定进程的一个或多个命名空间中。 -t 1: 这个选项指定了目标进程的 PID (Process ID)。在这里,1 是 Linux 系统中第一个启动的进程(通常是 init 或 systemd)的 PID。所有其他进程都是由它或它的子进程派生出来的。 -a: 这个选项是 “all namespaces” 的缩写。它告诉 nsenter 将当前进程加入到目标进程(PID 1)所属于的所有类型的命名空间中,包括但不限于: Mount (mnt) UTS (主机名和域名) IPC (进程间通信) Network PID (进程 ID) User ID Cgroup bash: 这是要在新加入的命名空间环...
k8s informer通俗易懂详解
Kubernetes Informer 机制详解 核心概念 Informer 是 Kubernetes 中用于监听和缓存资源对象的核心机制,它通过 ListAndWatch 机制实现高效的资源监控。 核心组件及作用 1. Reflector(反射器) 作用:负责从 Kubernetes API Server 获取资源对象 功能: List:获取资源的全量数据 Watch:监听资源的增量变化 将数据放入 Delta FIFO 队列 2. Delta FIFO Queue(增量队列) 作用:存储资源对象的变化(增删改) 特点: 保持操作顺序 存储对象的增量变化(Delta) 线程安全 3. Informer(通知器) 作用:从 Delta FIFO 队列中取出对象并处理 功能: 调用 Indexer 更新本地缓存 触发注册的事件处理器 4. Indexer(索引器) 作用:本地缓存,提供快速查询 功能: 存储资源对象的本地副本 提供基于索引的快速查找 线程安全的读写操作 5. Resource Event Handlers(资源事件处理器) ...
k8s控制面相关学习&controller/informer生成
k8s控制面相关学习&controller/informer生成 informer informer:https://zhuanlan.zhihu.com/p/391465614 https://www.zhihu.com/question/463207052/answer/2377261278 (注意Informer最后也有个controller,跟这个不一样) 对于Informer而言 大步骤1: Reflector 将资源对象的事件添加进 Delta FIFO queue 中 这里先提前介绍一下 Delta FIFO queue。 所谓 Delta 就是变化的意思,什么的变化呢?就是资源对象的变化。 即 资源对象的变化都会被添加到 Delta FIFO queue 中!这样是不是就很好理解了。 大步骤2: Informer 将 Delta FIFO queue 中的对象数据 添加到本地 cache 中。 补充一下这个本地 cache 缓存的就是监听资源对象的最新版。就是缓存的当前集群里面的资源信息。 大步骤3: 使用 workqueue 处理业务逻辑。 ...
Nano-vllm 项目学习
Nano-vllm 项目学习 项目地址:https://github.com/GeeeekExplorer/nano-vllm vllm介绍:https://zhuanlan.zhihu.com/p/693279132 paged attention:https://zhuanlan.zhihu.com/p/691038809 nano vllm: https://zhuanlan.zhihu.com/p/1923689524778766954 请求(request)可理解为操作系统中的一个进程 逻辑内存(logical KV blocks)可理解为操作系统中的虚拟内存,每个block类比于虚拟内存中的一个page。每个block的大小是固定的,在vLLM中默认大小为16,即可装16个token的K/V值 块表(block table)可理解为操作系统中的虚拟内存到物理内存的映射表 物理内存(physical KV blocks)可理解为操作系统中的物理内存,物理块在gpu显存上,每个block类比于虚拟内存中的一个page vLLM节省KV cache显存的核...
GSPO & Routing Replay
GSPO & Routing Replay 强化学习(RL)中用于大模型(尤其是MoE架构)的策略优化算法演进:GRPO → Routing Replay → GSPO。我们来系统梳理一下: 🧩 背景:GRPO 在 MoE 下的问题 什么是 GRPO? GRPO(Generalized Reward Policy Optimization) 是一种广义的策略优化方法,旨在通过广义优势估计和策略梯度提升训练稳定性与样本效率,常用于语言模型的 RLHF(Reinforcement Learning from Human Feedback)阶段。 什么是 MoE? MoE(Mixture of Experts) 是一种模型架构,通过“路由机制”动态选择部分专家(子网络)处理每个 token,从而在不显著增加计算量的前提下扩展模型容量。 GRPO 在 MoE 下的问题: 新旧策略的差异 新旧策略可能会激活不同的专家,产生结构性偏差,带来噪声。 当从 πθold 更新到 πθ 时,很有可能出现 Router 发生变化,导致新旧策略激活了不同的专家。 例如: 在 πθold...
Routine:A Structural Planning Framework for LLM Agent System in Enterprise
Routine:A Structural Planning Framework for LLM Agent System in Enterprise 这篇论文的核心价值在于,它没有停留在“让大模型自己想”的层面,而是创造性地提供了一个“剧本”,从根本上解决了企业级Agent落地难的痛点。 我们将从问题根源、解决方案(Routine框架)、系统架构、训练方法、实验结果、核心洞见六个维度,层层递进地进行深度剖析。 PS:在附录提供了prompt、routin的格式、多步工具调用的例子 一、 问题根源:为什么企业级Agent总是“掉链子”? 论文开篇就犀利地指出了当前LLM Agent在企业环境中失败的三大根本原因: “无知” (Lack of Domain-Specific Process Knowledge): 通用大模型(如GPT-4)是“通才”,但不是“专才”。它不了解企业内部错综复杂的业务流程。 后果:模型在规划时会遗漏关键步骤。论文特别指出,最容易被忽略的是权限验证(permission verification)和模型生成(model generation)这类工...
Agent中multi-hop reasoning的跳数如何控制?如何避免无限循环?
Agent中multi-hop reasoning的跳数如何控制?如何避免无限循环? 在 Agent 系统中,multi-hop reasoning(多跳推理) 是指 Agent 通过多次调用工具、反思中间结果、逐步逼近最终答案的推理过程。例如: 用户问:“马斯克创办的公司中,哪家市值最高?” → 第一跳:查“马斯克创办了哪些公司?” → 得到 SpaceX、Tesla、xAI、Neuralink 等 → 第二跳:查“Tesla 当前市值?”、“SpaceX 估值?” → 比较得出 Tesla 市值最高 → 返回答案 这类推理能力是 Agent 智能性的体现,但若不加以控制,可能导致: 无限循环(如反复调用同一工具,无进展) 效率低下(跳数过多,响应慢) 资源浪费(API 调用超限、Token 耗尽) 错误累积(中间步骤出错导致最终答案错误) 一、如何控制跳数? 1. ✅ 设置最大跳数(Max Hop Limit) 最直接有效的方法: 123456789101112MAX_HOPS = 5 # 或根据任务复杂度调整,如 3~8current_hop = 0while ...
Agent中tool selection该怎么做?
Agent中tool selection该怎么做? 在 Agent 系统中,Tool Selection(工具选择) 是决定“当前该调用哪个工具”的关键决策环节。它直接影响推理效率、准确性和用户体验。根据系统复杂度和应用场景,有多种方法可选 —— 从简单规则到高级模型驱动均有成熟方案。 🧭 一、Tool Selection 的核心目标 准确性:选对工具,参数能填对 效率:避免试错、减少跳数 鲁棒性:面对模糊输入、工具变更仍能工作 可扩展性:新增工具时无需重写逻辑 🧩 二、主流 Tool Selection 方法分类 ✅ 1. 基于 LLM 的自然语言推理(最主流) 让大语言模型(LLM)直接根据当前状态和可用工具列表,“思考”该调用哪个工具。 实现方式: Prompt 工程:在 prompt 中列出工具描述 + 用户问题 + 当前观察 → 让 LLM 输出工具名和参数 Function Calling / Tool Calling(推荐):OpenAI、Anthropic、本地模型(如 Qwen、GLM、Llama3)原生支持结构化工具调用 📌 示例(OpenA...
LangGraph实现tree-of-thought
LangGraph实现tree-of-thought https://github.langchain.ac.cn/langgraph/tutorials/tot/tot/#expander 根据提供的教程,LangGraph 框架通过定义一个有状态的图(StateGraph)来构建和实现 Tree of Thoughts (ToT) 算法。其核心是模拟一个“扩展-评分-剪枝”的搜索循环,具体步骤如下: 定义核心组件: 任务 (Task):教程以“24点游戏”为例,即给定4个数字,生成一个使用这些数字一次且结果为24的数学方程。 扩展器 (Expander):这是一个由大语言模型(LLM)驱动的组件。它的作用是根据当前问题(4个数字)和可选的先前候选解(作为种子),生成一批新的候选方程(k 个)。这一步对应了在“思维树”中生成新的分支节点。 评分器 (Scorer):这是一个确定性函数,用于评估每个候选方程的质量。在24点游戏中,评分规则很简单:方程必须使用所有4个数字且仅使用一次,然后根据其计算结果与24的接近程度打分(例如,score = 1 / (1 + abs(2...
Policy Gradient公式推导与举例
PPO:https://zhuanlan.zhihu.com/p/468828804 Policy Gradient公式推导与举例 1. 优化目标 我们要最大化强化学习的期望回报(Expected Return): Rθ=Eτ∼pθ(τ)[R(τ)]=∑τR(τ)pθ(τ){R}_\theta = \mathbb{E}_{\tau \sim p_\theta(\tau)}[R(\tau)] = \sum_\tau R(\tau) p_\theta(\tau) Rθ=Eτ∼pθ(τ)[R(τ)]=τ∑R(τ)pθ(τ) τ\tau τ 表示一条轨迹(trajectory),即从初始状态到结束的一系列 (s1,a1,s2,a2,… )(s_1, a_1, s_2, a_2, \dots) (s1,a1,s2,a2,…) 。 pθ(τ)p_\theta(\tau) pθ(τ) 表示策略 πθ\pi_\theta πθ 产生轨迹 τ\tau τ 的概率。 R(τ)R(\tau) R(τ) 是轨迹的总回报。 2. 对参数 θ\theta 求梯度 ∇...









