Saturday, March 28, 2026

运行编程agent为何会用到gpu,LLM是远程的

 这是个很好的问题,本质上你在问:“既然大模型在远端,为什么本地还会用到 GPU?”

答案是:不一定需要,但很多“编程 agent”框架会在本地做额外计算,而这些计算会用到 GPU。

可以从几个层面理解:


一、LLM 本身确实不占你本地 GPU

如果你只是通过 API 调用(比如 OpenAI、Claude 等),那么:

  • 推理发生在远程服务器

  • 本地只做:

    • 发送请求

    • 接收结果

  • 👉 理论上完全不需要 GPU


二、编程 Agent ≠ 只是调用 LLM

现代 agent(特别是复杂的 coding agent)通常包含很多“本地智能模块”,例如:

1. 本地 Embedding / 向量检索(最常见)

用于代码理解、RAG(检索增强生成):

  • 把代码库转成向量

  • 做相似度搜索(找相关文件/函数)

常见实现:

  • sentence-transformers

  • bge / e5 模型

👉 这些模型:

  • 可以跑 CPU

  • 但用 GPU 会快很多(数量级差异)


2. 本地 reranker(重排序模型)

为了提高检索质量:

  • 先粗筛(embedding)

  • 再用小模型精排

👉 reranker 通常是:

  • cross-encoder(比 embedding 更重)

  • 强烈依赖 GPU


3. 本地小模型(辅助推理)

有些 agent 会用:

  • 小型 LLM(如 1B–7B)

  • 做:

    • 代码补全

    • 工具选择

    • 快速判断

👉 这些:

  • 很多默认走 GPU(比如用 transformers / vLLM / llama.cpp GPU backend)


4. 代码执行沙箱 / JIT / 数值计算

如果 agent 涉及:

  • 数据分析(numpy / torch)

  • 自动训练模型

  • 图像处理

👉 就会触发 GPU(尤其是 torch 自动用 CUDA)


5. IDE / 插件层(你可能忽略的)

比如:

  • 本地 Copilot-like 插件

  • 代码语义分析

  • AST embedding

👉 有些会偷偷调用 GPU


三、还有一种情况:你“以为是远程”,其实不是

很多框架支持 fallback:

例如:

  • 远程 LLM 挂了 → 自动切本地模型

  • 或混合模式:

    • 远程 GPT-4

    • 本地 CodeLlama

👉 这时 GPU 就会突然被吃满


四、总结一句话

👉 LLM 在远端 ≠ 整个 agent 都在远端

编程 agent 通常结构是:

本地:
  - embedding
  - 检索
  - rerank
  - 工具执行
  - 小模型

远程:
  - 大模型推理(主脑)

👉 只要本地有“模型”或“数值计算”,GPU 就会参与


五、如何确认是谁在用 GPU(实用)

你可以快速定位:

nvidia-smi

看进程:

  • python → 大概率是 embedding / torch

  • node → 有些 JS 框架也会调 GPU

  • ollama / llama.cpp → 本地 LLM


六、如果你不想用 GPU

可以这样做:

  • 禁用 CUDA:

    export CUDA_VISIBLE_DEVICES=""
    
  • embedding 强制 CPU:

    model.to("cpu")
    
  • 检查:

    • 是否启用了本地模型(ollama / llama.cpp)

    • 是否使用了 reranker


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

运行编程agent为何会用到gpu,LLM是远程的

 这是个很好的问题,本质上你在问: “既然大模型在远端,为什么本地还会用到 GPU?” 答案是: 不一定需要,但很多“编程 agent”框架会在本地做额外计算,而这些计算会用到 GPU。 可以从几个层面理解: 一、LLM 本身确实不占你本地 GPU 如果你只是通过 API 调用(...