ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Agent Lightning 如何用 Calc-X 示例在单卡 A100 上跑通第一个 rollout 训练任务

Agent Lightning 如何用 Calc-X 示例在单卡 A100 上跑通第一个 rollout 训练任务 Agent Lightning 如何用 Calc-X 示例在单卡 A100 上跑通第一个 rollout 训练任务【免费下载链接】agent-lightningThe absolute trainer to light up AI agents.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-lightning这篇文章完成一个具体任务在一台带单张 A100 GPU 的机器上从零安装 Agent Lightning v1.0含 verl GPU 训练栈准备 Calc-X 数据集然后用本地控制器local controller通过examples/calc_x/run_local.sh启动第一个由 rollout 驱动的端到端训练任务并在 WB 中查看训练结果。Calc-X 是官方提供的 POC 示例文档明确其配置为 1× A100 80GB、模型Qwen/Qwen2.5-1.5B-Instruct只需一块 GPU。环境准备安装基础环境与 verl GPU 训练栈前置条件来自 安装文档 与 快速开始一台机器、一张 A100 GPU已安装uv和 NVIDIA CUDA官方支持 CUDA12.9或13.0。注意AGL v1.0 本身很轻但策略推理和 GRPO 更新仍依赖verl与 vLLM 的 GPU 训练栈这一步不能跳过。第 1 步同步基础环境从项目根目录执行cd this-repo uv sync这会把基础 Python 环境装到项目根目录的.venv。第 2 步安装 verl 与 FlashAttention。verl、vllm、torch的兼容版本紧密耦合编译flash-attn也容易出错官方推荐用仓库自带的 scripts/setup_verl.sh 安装经过测试的固定版本组合。需要显式传入 verl 版本和 CUDA wheel 变体脚本支持verl0.8.0cu130或verl0.7.1cu129两种组合官方推荐 CUDA 13.0 配verl0.8.0source .venv/bin/activate bash scripts/setup_verl.sh 0.8.0 cu130 # 或者CUDA 12.9 环境 bash scripts/setup_verl.sh 0.7.1 cu129两种组合的差异verl0.7.1会安装vllm0.12.0verl0.8.0先装vllm0.20.2再装verl0.8.0。两条路径都会本地编译flash-attn2.8.3耗时约 10–30 分钟取决于 CPU 核心数。第 3 步登录 WB。默认所有任务都会把日志和轨迹上传到 Weights Biases运行任务前需要先登录uv run wandb login准备 Calc-X 数据集与示例依赖Calc-X 用 AutoGen MCP 计算器工具解数学题需要两份准备数据集和 Python 依赖完整说明见 docs/8-example-calc-x.md。数据集从该文档中给出的 Google Drive 地址下载 Calc-X 数据集把压缩包放到examples/calc_x/data/下并解压cd examples/calc_x unzip data/calc-x-data.zip -d data/解压后examples/calc_x/data/下应有以下 4 个文件训练时直接读取其中train.parquet与test.parquettrain.parquet test.parquet test_mini.parquet sample.jsonl示例依赖回到项目根目录、激活环境后执行source .venv/bin/activate uv pip install openai httpx sympy \ autogen-agentchat autogen-ext[openai] \ mcp1.11.0,2 mcp-server-calculator启动单机本地训练从仓库根目录直接运行示例的本地启动脚本examples/calc_x/run_local.sh或者等价地进入示例目录执行bash run_local.sh。脚本按顺序完成四件事可在 examples/calc_x/run_local.sh 中核对启动 Ray 与verl/vLLM 模型后端在端口8181启动agl-server并轮询其/healthz接口最多 60 秒确认可用后才继续以runner_typelocal启动agl-controllerrollout 以本地进程方式执行运行训练入口 train_calc_agent.py。两个必须知道的副作用脚本在启动前和退出时都会执行清理强制终止匹配的agl-server、agl-controller进程并ray stop --force。正常退出时也会自动清理它启动的 server、controller 和 agent。要停止训练时按一次CtrlC后等脚本自然退出即可清理过程需要时间停止所有资源和进程不要反复按CtrlC。服务日志写入/tmp/下脚本启动时会打印两个日志文件名形如/tmp/agl-server-时间戳.log、/tmp/agl-controller-时间戳.log出问题时从这两个文件开始查看。入口文件中的默认训练配置对结果有直接影响adv_estimator: grpo、n_gpus_per_node: 1、nnodes: 1、rolloutn: 4、total_epochs: 2、train_batch_size: 32日志输出到console和wandbrollout 超时rollout_timeout_seconds: 300。默认走同步训练async_rollout.enabled: False。验证训练已跑起来按入口代码的输出与快速开始文档给出的检查方式依次确认终端输出入口启动时会先打印训练集与验证集样本数Train dataset: N samples/Val dataset: N samples随后打印合并后的完整 VERL 配置然后进入训练。WB训练运行后到 Weights Biases 中查看训练结果——这是快速开始文档给出的验证方式。日志与轨迹默认上传到 WB项目名为agentlightning实验名calc_x本脚本以--run-name local启动会追加_local后缀。服务侧日志/tmp/下的 agl-server 与 agl-controller 日志可用来定位服务层面的问题。限制与其他模式本文路径是local 模式 单卡 A100agent rollout 直接作为本地进程运行适合开发与调试。同一示例还支持K8s 模式run_minikube.sh用 Minikube 起最小 Kubernetes 环境、rollout 以 Kubernetes Job 运行Minikube 至少需要 64 GB 内存和异步训练模式--async两者是独立的部署/训练路径不在本文范围内详见 docs/8-example-calc-x.md 与 docs/7-asynchronous-training.md。模型默认Qwen/Qwen2.5-1.5B-Instruct入口支持--model参数覆盖为其他 Hugging Face 模型 id 或本地路径换模型时的显存与版本兼容性文档未给出额外说明。下一步建议阅读 docs/3-basics.md 理解 v1.0 的三个核心组件API Gateway、Rollout Controller、Customized Trainer以及完整的 Calc-X 示例文档。【免费下载链接】agent-lightningThe absolute trainer to light up AI agents.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-lightning创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表