当前位置: 首页 > article >正文

在GCP上运行autoresearch

Andrej Karpathy最近开源了autoresearch这是一个将真实LLM训练环境交给AI代理并让它自主实验的项目。代理修改模型代码训练恰好5分钟检查验证损失是否改善保留或丢弃更改然后重复。你去睡觉醒来时会看到实验日志以及——但愿如此——一个更好的模型。本文将介绍我如何将autoresearch部署到Google Cloud栈上运行Gemini CLI驱动自主研究循环Gemini 3 Flash Preview提供智能Cloud Run提供按秒计费的无服务器NVIDIA L4 GPUCloud Workflows在1小时GPU超时时限之外串联多小时研究以及带有防火墙规则的VPC锁定代理的网络访问。这一切无需基础设施管理成本低于每小时2.00美元1、我的第一个实验让我们直接进入autoresearch的工作原理看看我的结果然后我会逐步讲解运行过程。autoresearch设计简洁包含三个文件prepare.py处理数据和评估train.py包含模型架构、优化器和训练循环program.md是一个纯英文指令文件你在这里定义研究策略它使用git跟踪每个实验在训练前提交每次更改。如果结果退化它会运行git reset --hard回退到上一个已知的良好状态。在我第一个小时的实验中以下是代理生成的results.tsv它首先建立了1.58的基线损失然后提高了学习率改进到1.53。接下来它尝试将模型深度从8层增加到10层但这使损失增加到1.77。代理识别出这种退化丢弃更改用git reset --hard回退并在剩余时间里调整嵌入学习率最终在实例终止前达到1.531。2、经验教训你可能注意到上面的示例表中只有四次成功的实验。在我第一次运行时代理花了前15分钟在CUDA显存不足OOM错误上崩溃。好消息是它自主诊断了问题并意识到需要降低DEVICE_BATCH_SIZE。为了避免将来代理在这个问题上浪费时间我已更新了我的实现在使用24GB显存的L4 GPU时从一开始就修补此设置# Pre-tune the batch size for NVIDIA L4 GPUs to avoid initial OOM troubleshooting RUN sed -i s/DEVICE_BATCH_SIZE 128/DEVICE_BATCH_SIZE 16/g train.py其次你可能想知道如果每次训练运行严格限制在5分钟一小时不应该产生12次实验吗实际上你可以预期每小时大约6到8次实验。虽然训练块正好是5分钟但PyTorch在每次运行前需要大约2-3分钟为L4 GPU优化计算图。加上代理思考和推送代码到Git仓库的30秒每个完整的研究周期大约需要8分钟。3、Gemini CLI如何驱动研究循环Gemini CLI是让autoresearch实现自主化的关键。它是一个开源编码代理在你的终端中直接运行Gemini模型使用ReAct循环推理和行动来读取代码、执行shell命令、观察结果并决定下一步无需人工输入。Karpathy的program.md用自然语言描述实验循环修改train.py、提交、运行训练、检查结果、保留或回退。Gemini CLI读取这些指令解释它们并在连续循环中执行相应的shell命令、文件编辑和git操作。4、无头模式和YOLO模式对于无人值守的容器化执行两个CLI标志至关重要--prompt(-p)将初始指令作为命令行参数传递并激活无头模式。CLI立即开始工作无需等待用户输入。--yolo自动批准所有操作无需确认提示。无人值守执行必需。gemini --prompt Hi have a look at program.md and lets kick off a new experiment! \ --yolo --model gemini-3-flash-preview5、program.md如何提供上下文Gemini CLI从项目中的GEMINI.md文件加载上下文。autoresearch使用program.md实现相同目的一套定义实验的结构化指令集。当容器启动时CLI读取代码库包括program.md并接收--prompt作为第一条用户消息。提示Hi have a look at program.md and let’s kick off a new experiment!引导代理查看指令并启动LOOP FOREVER循环。从那时起代理自主运行提出更改、运行训练、解析结果、推进或回退分支直到容器超时。6、以作业形式运行实验虽然你可以在本地运行autoresearch但Cloud Run Jobs为GPU工作负载提供了具有按秒计费的无服务器环境。这对于需要间歇性、高计算爆发的研究循环来说是理想选择。这种架构的优势包括按需GPU通过部署标志轻松附加NVIDIA L4 GPU或RTX PRO 6000 Blackwell等其他GPU按秒计费只在容器活跃时付费扩展和并行性可以并行启动多个作业同时探索不同的架构分支零基础设施管理Cloud Run处理所有配置和扩展在运行下面的Cloud Run作业命令之前你必须有一个预配置的Docker容器和Google Cloud环境设置。这些先决条件在本文后面的构建自主容器部分有说明完整源代码可在github.com/kweinmeister/autoresearch-serverless获取。6.1 创建Cloud Run作业gcloud run jobs create autoresearch-job \ --image us-central1-docker.pkg.dev/${PROJECT_ID}/${REPO_NAME}/autoresearch-job \ --execution-environment gen2 \ --cpu 4 \ --memory 16Gi \ --gpu 1 \ --gpu-type nvidia-l4 \ --no-gpu-zonal-redundancy \ --set-secretsGEMINI_API_KEYgemini-api-key:latest \ --set-env-varsBUCKET_RESULTS_DIR${BUCKET_RESULTS_DIR} \ --add-volumenameresults-vol,typecloud-storage,bucket${BUCKET_NAME} \ --add-volume-mountvolumeresults-vol,mount-path/mnt/results \ --max-retries 0 \ --task-timeout 1h \ --region us-central16.2 使用RTX PRO 6000进行扩展对于要求更高的研究你可以将L4换成NVIDIA RTX PRO 6000 Blackwell GPU。凭借96GB显存和大约6倍更快的令牌吞吐量每个5分钟的训练窗口可以覆盖更多的内容。RTX PRO 6000目前处于预览阶段需要使用gcloud beta前缀。Dockerfile还包含一条指令让代理自动检测Blackwell GPU并用PyTorch内置的SDPA替换Flash Attention 3后者目前缺乏Blackwell优化的内核。6.3 启动研究你可以使用烘焙到容器中的提示启动作业。此示例实现需要更新Dockerfile中的提示以避免提示注入攻击。gcloud run jobs execute autoresearch-job --region us-central1你也可以将RESUME变量设置为false如果你想让代理忽略以前的历史记录并完全从头开始gcloud run jobs execute autoresearch-job \ --region us-central1 \ --update-env-vars RESUMEfalseCloud Run作业对使用GPU的任务有1小时的超时限制。虽然这自然形成了一个计费上限但也意味着本地文件系统和.git历史在实例终止时会丢失。如果你需要长达6小时加入长时间运行作业的候补名单。这是运行夜间作业的最简单方式只需在提交作业时设置–task-timeout 6h。6.4 使用Workflows和GCS检查点串联作业为了在1小时边界之外持久化研究我使用Cloud Storage卷挂载创建检查点系统。我修补program.md以在每次成功训练后立即触发sync.sh脚本同步到GCS。这使Google Cloud Workflows能够实现发射后不管的编排将多个1小时作业串联成一个连续循环。当一个执行超时时Workflows自动启动下一个它下载最新的检查点并从上一个实例离开的地方继续。我的工作流根据需要重新启动作业以达到所需的研究时长# Orchestration loop to chain 1-hour executions - check_condition: switch: - condition: ${elapsed_seconds total_seconds} next: execute_job_step next: end_study - execute_job_step: call: googleapis.run.v2.projects.locations.jobs.run args: name: ${projects/ project_id /locations/ region /jobs/ job_name} next: increment_counter - increment_counter: assign: - elapsed_seconds: ${elapsed_seconds job_timeout} next: check_condition你可以部署并执行此工作流例如使用hours参数让研究代理连续运行24小时gcloud workflows deploy autoresearch-study --sourceworkflow.yaml --locationus-central1 gcloud workflows execute autoresearch-study --data{hours: 24} --locationus-central17、构建自主容器自定义容器将上游autoresearch代码与Cloud Storage同步逻辑和Gemini CLI代理集成在一起。7.1 检查点同步我使用sync.sh脚本在每次实验后将结果持久化到GCSsync_to_gcs() { local src$1 local dest/mnt/results/${BUCKET_PATH}/$2 if [ -e $src ]; then cp $src $dest.tmp mv $dest.tmp $dest fi } sync_to_gcs results.tsv results.tsv tar -czf /tmp/git_history.tar.gz .git/ sync_to_gcs /tmp/git_history.tar.gz git_history.tar.gz7.2 DockerfileDockerfile用于修补工作区并将研究防护栏直接注入容器环境。我没有使用标准容器入口点而是使用sed将后钩子注入代理的指令中强制在每次架构更改后同步# Patch program.md to trigger our sync script after every successful training RUN sed -i s|uv run train.py run.log 21|; ./sync.sh|g program.md # Pre-tune the batch size for NVIDIA L4 GPUs to avoid initial OOM troubleshooting RUN sed -i s/DEVICE_BATCH_SIZE 128/DEVICE_BATCH_SIZE 16/g train.py # Guardrail: Prevent the agent from finding a lucky random seed RUN echo \nCRITICAL: Do not modify the random seed in train.py. program.md7.3 提交容器构建逻辑注入后将工作区提交到Google Cloud Build以将镜像推送到Artifact Registrygcloud builds submit --tag us-central1-docker.pkg.dev/${PROJECT_ID}/${REPO_NAME}/autoresearch-job .7.4 实际成本是多少由于我将Cloud Run作业配置为使用基于实例的计费且无区域冗余批处理作业最便宜的选项在us-central1区域运行完整1小时执行的计算成本分解如下截至2026年3月**1个NVIDIA L4 GPU**约$0.67/小时**4个vCPU**约$0.26/小时**16 GiB内存**约$0.11/小时计算总计约$1.05/小时现在让我们看看代理当前的Gemini Flash 3 API定价。对话历史随每次实验增长但缓存显著降低了成本。根据我实验中的令牌使用情况一次典型实验大约使用缓存命中率大约为80%因为代理在每一轮都会重新读取相同的代码库和对话历史。即使没有缓存输出令牌数量也很少。代理编写的是代码差异和简短的推理步骤而不是文章。智能总计大约$0.09/次实验——按每小时6次实验计算API成本约为$0.54/小时。总成本低于每小时2.00美元你就可以运行一个高端、完全自主的架构搜索。注意当你查看代理的日志时你会看到它每次运行处理约3150万个令牌。不要惊慌这些是数据集令牌——来自ClimbMix数据集的单词被馈送到本地运行在L4 GPU上的PyTorch模型。它们不使用任何API调用也不产生额外费用。8、安全提示在yolo模式下运行代理让AI代理在无人监督的情况下运行代码需要保持谨慎。--yolo标志授予Gemini CLI无限制的执行权限pip install、curl、git push和shell命令无需任何确认提示。Cloud Run开箱即用地提供基线保护。gen2执行环境使用gVisor进行内核级容器沙箱化。我还在容器内以非root用户身份运行代理并使用具有最小IAM权限的专用服务账号。最有影响力的安全措施是锁定网络。默认情况下Cloud Run容器具有完全的出站互联网访问权限。你可以通过将作业放置在专用VPC网络上使用Direct VPC egress来弥补这一缺陷然后使用防火墙规则拒绝所有出站除了使用Private Google Access访问Google API。这意味着代理仍然可以访问Gemini API和Cloud Storage它仅需的两个服务但任何尝试curl外部服务器或将数据上传到第三方服务的企图都会被静默阻止。设置包括创建具有子网的VPC、两条防火墙规则拒绝全部允许Google API以及一个Cloud DNS区域将*.googleapis.com路由到私有VIP。完整分步说明在README的网络隔离部分。9、结束语autoresearch项目是对一种即将变得普遍的模式的早期探索代理不只是编写代码还运行代码、测量结果并在没有人工介入的情况下进行迭代。这里描述的无服务器栈旨在使这种模式易于使用。你不需要预留GPU或管理基础设施就可以开始实验。以下是如何开始**探索原始项目**Karpathy的autoresearch仓库包含你需要了解研究循环的一切——program.md、train.py和评估框架。**无服务器部署**我的配套仓库github.com/kweinmeister/autoresearch-serverless包含Dockerfile、同步脚件、Workflows编排以及在几分钟内在Cloud Run上运行的设置说明。**启动你的第一个作业**按照Cloud Run Jobs文档启动你自己的GPU支持的研究代理。原文链接在GCP上运行autoresearch - 汇智网

相关文章:

在GCP上运行autoresearch

Andrej Karpathy最近开源了autoresearch,这是一个将真实LLM训练环境交给AI代理并让它自主实验的项目。代理修改模型代码,训练恰好5分钟,检查验证损失是否改善,保留或丢弃更改,然后重复。你去睡觉;醒来时会看…...

别再手动算脉冲了!用STM32的编码器接口模式(TIM_EncoderInterfaceConfig)实现电机测速,附完整代码

STM32硬件编码器接口实战:精准电机测速的工程化实现 在电机控制系统中,转速测量是闭环控制的基础环节。传统基于外部中断的软件计数方案不仅占用CPU资源,还面临脉冲丢失和方向误判的风险。STM32系列微控制器内置的硬件编码器接口(…...

FairyGUI在CocosCreator中的高级应用:异步加载、事件处理与性能优化技巧

FairyGUI在CocosCreator中的高阶实战:异步架构设计与性能调优全指南 当你的CocosCreator项目UI复杂度达到临界点时,传统的资源加载和事件处理方式往往会成为性能瓶颈。FairyGUI作为专业UI解决方案,其深度集成能力可以彻底改变这种局面——但真…...

Qwen3-8B快速体验报告:部署简单,中文理解能力确实强

Qwen3-8B快速体验报告:部署简单,中文理解能力确实强 1. 开箱即用的AI体验 最近在测试各种开源大模型时,我发现了Qwen3-8B这个宝藏模型。作为Qwen系列的最新成员,这个80亿参数的模型在中文理解和推理能力上表现突出,最…...

WarcraftHelper:魔兽争霸III游戏性能优化与兼容性解决方案完整指南

WarcraftHelper:魔兽争霸III游戏性能优化与兼容性解决方案完整指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典游戏《魔兽争…...

Qwen3.5-9B自动化:GitHub Actions触发模型推理+PR评论生成

Qwen3.5-9B自动化:GitHub Actions触发模型推理PR评论生成 1. 项目概述 Qwen3.5-9B是一个拥有90亿参数的开源大语言模型,具备强大的逻辑推理、代码生成和多轮对话能力。最新版本还支持多模态理解(图文输入)和长达128K tokens的上…...

运放跟随器:电路设计中最容易被低估的‘保镖‘(隔离驱动全解析)

运放跟随器:电路设计中最容易被低估的"保镖"(隔离&驱动全解析) 在硬件工程师的日常设计中,运放跟随器常常被视为一个"可有可无"的组件——毕竟它的电压增益仅为1,看起来似乎只是将输入信号原封…...

为什么92%的FastAPI流式AI项目在高并发下崩溃?深度解析event loop争用、response.body迭代器生命周期与uvicorn worker模型冲突

第一章:FastAPI 2.0流式AI响应的高并发失效现象全景透视当FastAPI 2.0被用于承载大语言模型(LLM)的SSE(Server-Sent Events)或分块Transfer-Encoding: chunked流式响应时,大量并发请求下常出现连接提前终止…...

Windows 11 + CUDA 11.7 环境下,TensorRT 8.5.2.2 保姆级安装与配置避坑指南

Windows 11 CUDA 11.7 环境下 TensorRT 8.5.2.2 终极安装指南 刚接触深度学习推理优化的开发者,往往会在环境配置阶段耗费大量时间。TensorRT作为NVIDIA官方推出的高性能推理库,能够显著提升模型在NVIDIA GPU上的运行效率。本文将手把手带你完成Windows…...

Swiper动画进阶:手把手教你用Swiper Animate制作节日主题动画(2023最新版)

Swiper动画进阶:手把手教你用Swiper Animate制作节日主题动画(2023最新版) 当节日氛围遇上交互设计,如何让静态页面"活"起来?Swiper Animate作为Swiper生态中的动画引擎,能通过简单的类名配置实现…...

Heygem数字人系统效果展示:看一段音频如何驱动多个数字人视频

Heygem数字人系统效果展示:看一段音频如何驱动多个数字人视频 1. 系统核心能力概览 Heygem数字人视频生成系统批量版webui版是一款基于AI技术的创新工具,能够将单一音频源同步驱动多个数字人视频生成。系统采用先进的语音驱动口型同步技术,…...

Git-RSCLIP真实场景测试:城市新区地物分类,住宅区识别效果惊艳

Git-RSCLIP真实场景测试:城市新区地物分类,住宅区识别效果惊艳 1. 模型背景与核心能力 Git-RSCLIP是北航团队基于SigLIP架构专门开发的遥感图像理解模型,在1000万对遥感图文数据集(Git-10M)上进行了深度预训练。与通用视觉模型不同&#xf…...

ncmdumpGUI:网易云音乐加密文件转换的完整解决方案

ncmdumpGUI:网易云音乐加密文件转换的完整解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 一、初识ncmdumpGUI:解密音乐文件的…...

【office2pdf】PPTX 字体解析与文本样式继承(PPTX_FONT_RESOLUTION.md)

摘要 本文档记录了 PPTX 保真度问题,该问题最初看起来像是布局错误, 但实际上是由不完整的字体和文本样式解析引起的。 可见的症状是多个幻灯片上的文本块,尤其是幻灯片 4 的"SKILLS"区域, 与 PowerPoint 不匹配&#x…...

视频会议不止办公!揭秘它如何重构医疗与教育两大行业

在数字技术全面普及的今天,视频会议早已不再局限于企业内部日常办公沟通这一单一用途,开始深度渗透到各大垂直行业领域中。其中医疗、教育这两大与民生息息相关的领域,更是借助定制化开发的视频会议技术,解决了不少长期存在的行业…...

3种革命性技术突破:解放城通网盘下载速度的终极方案

3种革命性技术突破:解放城通网盘下载速度的终极方案 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 你是否曾经面对城通网盘那令人绝望的下载速度而束手无策?当急需获取重要文件…...

LangFlow零代码AI应用搭建:5分钟可视化构建智能问答机器人

LangFlow零代码AI应用搭建:5分钟可视化构建智能问答机器人 1. LangFlow简介:零代码AI应用构建利器 LangFlow是一款革命性的可视化AI应用构建工具,它让不懂编程的用户也能轻松搭建智能问答机器人。想象一下,你只需要像搭积木一样…...

高效开源输入法词库转换实战指南:30+格式无缝互转技巧

高效开源输入法词库转换实战指南:30格式无缝互转技巧 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 深蓝词库转换是一款功能强大的开源输入法词库转换工…...

圆形光斑激光熔覆 Comsol 仿真:科研利器已就位

圆形光斑激光熔覆comsol仿真模型,模型已通过实验验证了正确性,确保模型一定正确可用于科研。 高斯热源,马兰戈尼效应,粘性耗散力等,激光熔覆过程必要项均考虑在模型中。 可根据自己需要调整工艺参数,做完对…...

拯救你的Flash回忆:CefFlashBrowser让经典内容重获新生

拯救你的Flash回忆:CefFlashBrowser让经典内容重获新生 【免费下载链接】CefFlashBrowser Flash浏览器 / Flash Browser 项目地址: https://gitcode.com/gh_mirrors/ce/CefFlashBrowser 你是否曾经因为现代浏览器不再支持Flash而无法重温那些经典的教学课件&…...

如何用baidupankey解决百度网盘提取码获取难题

如何用baidupankey解决百度网盘提取码获取难题 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 引言:被提取码困住的日常 "又要找提取码?"小张盯着电脑屏幕上的百度网盘分享链接,…...

阿里千问,有个海外版

阿里千问,有个海外版。我也是最近才知道,用了一下,发现审核尺度明显要宽松很多,国内的千问明显被约束很多,就是个半残品。据说啊,国际版千问的部分数据放在了新加坡,对标的是ChatGPT。好像现在阿…...

从电子管到全固态:中波广播发射机核心技术演进与选型指南

1. 中波广播发射机的前世今生 第一次见到中波发射机是在十年前参观某省级广播电台时,那座两层楼高的电子管设备让我印象深刻——嗡嗡作响的风扇、散发着热量的金属外壳、闪烁着微光的电子管,活像科幻电影里的场景。如今这种"大家伙"已经逐渐被…...

高效一键构建:DoL-Lyra整合包的智能自动化构建系统解析

高效一键构建:DoL-Lyra整合包的智能自动化构建系统解析 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 还在为Degrees of Lewdity游戏的美化整合包配置而烦恼吗?您是否曾因手…...

Qwen3-14B私有部署镜像算法题求解助手:从理解到实现

Qwen3-14B私有部署镜像算法题求解助手:从理解到实现 1. 为什么算法工程师需要AI助手 算法工程师和求职者每天都要面对各种算法问题,从简单的排序到复杂的动态规划。传统方式下,我们需要反复查阅资料、手动编写测试用例、调试代码&#xff0…...

2026职业红利:AI智能体运营岗位培训如何助你实现高薪跨越?

导读: 2026年,职场竞争的底层逻辑已悄然改变。当传统运营还在为写一段文案、剪一个视频熬夜时,掌握了 AI 智能体技术的“新运营人”已经通过自动化工作流,实现了 10 倍速的产出。目前,市场对AI智能体运营经理、AI内容策…...

Step3-VL-10B内网穿透应用:安全远程模型调用方案

Step3-VL-10B内网穿透应用:安全远程模型调用方案 1. 场景需求与痛点分析 很多企业和机构在内部部署了强大的多模态AI模型,比如Step3-VL-10B这样的视觉语言模型,能够处理图像和文本的复杂任务。但这些模型通常运行在内网环境中,外…...

【论文】信息系统项目管理师范围管理要点

本资料摘自《科科过论文集分析》,底部附PDF图片版记忆。项目管理中范围管理的六大核心环节,旨在为专业写作提供具体的实践指导与案例素材。文档强调在描述规划、需求收集和范围定义时,应避免枯燥的理论堆砌,转而通过真实的业务场景…...

STM32F767串口接收不定长数据实战:超时中断与空闲中断的配置与性能对比

1. STM32F767串口接收不定长数据的痛点与解决方案 在嵌入式开发中,处理串口不定长数据就像在餐厅等一份不知道有多少道菜的套餐——你永远不知道下一口是什么,也不知道什么时候结束。STM32F767作为高性能MCU,面对RS485、Modbus等协议时&#…...

显卡驱动深度清理指南:用DDU解决驱动残留难题

显卡驱动深度清理指南:用DDU解决驱动残留难题 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstaller 你是…...