我用的工具和佬友一样,我觉得挺好用的,效率问题大概就是工作流需要优化一下,我的工作流大概如下,佬友可以参考一下,看看是否对佬友那边的流程有优化价值:
一个模型的组成无非就是Baseline+模块A+模块B+模块C+...
对于论文阅读阶段,目的就是从论文中寻找 Baseline 和模块,这个阶段的工作可以借助 AI 来完成,模型使用的是 Gemini, 感觉 Gemini 对于教学,解释内容挺容易理解的。
对于寻找Baseline的话,就需要精读论文了,首先可以使用AI先分析想要阅读的论文,让AI从研究背景与动机、核心贡献与发现、方法论拆解、结果解读与批判性分析几个角度进行分析,可以撰写一个prompt,以后直接把论文丢给AI,AI就能直接产出分析的内容了。让AI分析的目的就是在自己阅读论文之前先对本论文有一个大概的把握,知道要解决什么问题,有的什么方法,从一个较高的视角掌握这篇论文,这个步骤不需要钻入具体的细节,通过AI 分析,和AI交流后就能对这篇论文有个整体的把握,如果不通过AI先进行分析的话,我就容易把视角局限在一小片范围内,就是我阅读到哪就只知道这个地方是干什么的,没有前后关联的视角,所以我在具体阅读论文原文前都会先和AI进行沟通。大概了解这篇论文后,接下来就可以阅读原文了,阅读方法可以参考三步阅读法,这个过程中有不懂的继续和AI进行交流。精读就是为了寻找Baseline,不需要读特别多的论文,最多十来篇大概就能找到Baseline了。确定Baseline后就理解对应的代码就行了,论文只要读有代码的,没代码的我觉得没必要。最终的效果就是对Baseline论文及其源码有着较为熟练的理解,不然你不知道后续寻找的模块是否适合缝合到Baseline中。
然后就是阅读其他论文寻找模块了,这个阶段不需要精读,直接把相关论文转成markdown格式,连同Baseline的论文丢到仓库中,然后直接让 agent 根据 Baseline 对所有论文逐篇分析、提取所有的论文中的适合缝合到Baseline中的潜在模块,最后会产出每篇论文中适合缝合到Baseline中的潜在模块。然后你只需要看提取出来的模块,看看这个模块功能是什么,作用是什么,用在那个阶段,是否有用,觉得有用的话就去对应的论文中阅读原文的对应位置,不需要读全文,模块在哪就读哪里。确定了七八个模块后就可以让agent,把这七八个模块从代码中提取出来。
经过上述两个阶段后就有了,Baseline,模块A,模块B,模块C,…,接下来就需要进行实验了。
实验阶段目的就是把提取出来的潜在模块缝合到 Baseline 中,我使用 Codex 进行的。工作流大概就是:让agent理解基线 → 分析模块可行性 → 提出模块缝合计划 → 与 agent 讨论 / 迭代计划 → 实施 → 指定训练 / 评估参数变更 → 训练 → 评估→ 分析结果 → 迭代(模块 / 超参数 / 组合)→ 撰写下一步计划。然后可以将这个流程撰写成 AGENTS.md。缝合模块的时候可以把Baseline的论文,模块对应的论文,模块提取出来的源码也发放在仓库里,让agent参考,这能让agent更好的理解模块,更好的缝合。缝合模块最主要的就是先和agent讨论缝合计划,迭代计划后在让agent实施缝合,缝合一个模块挺快的最多一两个小时就行缝合完。然后就不断的缝合模块进行排列组合就可以了,Baseline+模块A+模块B+模块C;Baseline+模块B+模块E+模块C;Baseline+模块A+模块D+模块C这种的,只要涨点就行。
最后就是根据自己的模型编故事,写论文就可以了。
chatGPT给我的年度诗篇 ```text