#审稿进入「半实名制」

不负责任的审稿人将被标记并拒稿


「25篇的上限,还是太多了!」


作为计算机视觉领域最顶级的学术会议,CVPR 这几年可谓是卷疯了。

据统计,从 2020 年到 2023 年,CVPR 每年的投稿数量以约 1000 篇的速度飞速增长。到了 2024 年,投稿数量首次突破了一万大关。

从投稿数来看,CVPR 已经是当仁不让的「宇宙第一大会」。要知道,从 2010 年到 2016 年,这 7 年间,CVPR 的投稿量仅增加了 400 余篇。

图注:在 Google Scholar 上,CVPR 的影响力排名仅次于 Nature。

为了升学或求职,坐拥多篇顶会论文,似乎成为大多数人的努力目标。但投稿数量翻倍也有许多副作用,比如审稿意见越来越短、研究题目越来越结果导向、borderline 越来越多、AC 给的 meta-review 的随机性越来越强。

去年 CVPR 出分时,就有网友写下《审稿 CVPR 而致的伤痕文学:没落的顶会与空虚的文章》一文吐槽这种现状。随着 CVPR 接收的论文数越来越多,人们不禁开始推测明年、后年、甚至十年后 CVPR 的审稿结果得有多「抽象」?

图源:https://www.zhihu.com/question/640845145

为了守护顶会的尊严,这一次,CVPR 对审稿制度开刀了!

由于投稿数量急剧增加和审稿质量的下降,CVPR 组织方在今天宣布,将对现行的会议规定进行如下重大调整。

以下是变更的主要内容:

1. 除非作者在 CVPR 2025 组织中担任其他角色,否则所有作者都都有义务担任审稿人。审稿数量将根据作者资历水平决定。

2. 如果审稿人被 AC 标记为「高度不负责任」,他提交的论文将由 PCs 酌情直接拒绝。

3. 每位作者最多提交 25 篇论文,超过数量限制的论文将被直接拒绝。

4. 在任何阶段,均不允许使用大型语言模型(LLMs)撰写 review 或 meta-review。

5. 在最终论文决策公布后,审稿人的名字将在 OpenReview 上对其他审稿人可见。

6. 每位投稿者都需要填写完整的 OpenReview 个人资料以便更好地进行分配和冲突检测,否则论文将被直接拒绝。

7. CVPR 2025 的 PCs 计划将 CVPR 2025 的审稿数据私下分享给未来相关会议的 PCs。这些数据将精准地「归责到人」,包括对审稿质量的评估以及迟交的统计数据。

CVPR 组织方宣称,规定强制审稿是基于 CVPR 2024 的参与情况,有大约 9000 名审稿人,但作者超过了 30000 人。鉴于论文被 CVPR 接受能获得的好处,他们认为如果作者不为审稿做贡献,对社区是不公平的。以其他身份参与 CVPR 2025 组织工作或担任 ICCV 2025 的总主席 / 程序主席的作者,可免除此规定。

那么,什么样的审稿意见会被 AC 打成「高度不负责任」呢?这条规则是对过去 AC 会给不太负责的审稿人评「没有达到期待」的补充。会被判的行为包含:审稿意见只有一两句、由大模型生成的审稿意见、与被审论文不相关或遗漏重要内容的审稿意见。一旦被 AC 评为「高度不负责任」,那将进入由 PC 们裁决的监督流程,最终是否直接拒绝论文,将由 PC 们酌情决定。

为单个投稿人规定投稿篇数上限,则是 CVPR 组织方期望论文中列出的每位作者都对工作做出了重大且有意义的贡献。根据统计网站 Paper Copilot 的数据,CVPR 2024 中单个投稿人中稿数量最多的正是 25 篇。

51c大模型~合集54_大模型

来源:https://papercopilot.com/paper-list/cvpr-paper-list/cvpr-2024-paper-list/

至于大模型在审稿意见中能参演的「戏份」,CVPR 组织方也做了明确规定:

1. 不能要求 LLM 为您撰写内容。评审需要基于您自己的判断。

2. 不能与 LLM 分享论文或您的评审的实质性内容。例如,不能使用 LLM 来翻译审稿意见。

3. 可以使用 LLM 进行背景研究或检查短语的清晰度。

高级 AC 将负责检查 (meta-) review 是否违反了以上规定,一旦被检查出来,投稿者也将进入由 PC 们裁决的监督流程。这项规定的决定性因素并非审稿意见是否出自 AI 之手(目前还无法准确判断),而是审稿人是否极不负责任,否则审稿人提交的论文将由 PC 们酌情直接拒绝。

新规一发布,就有不少研究者欢呼:「终于有人愿意管极其不负责任的审稿人了!」

此前,Neurips 也曾在 OpenReview 上公开过审稿人的姓名,确实起到了一定效果。

虽然这套强制审稿,并且要求审稿人保质保量完成审稿意见的「组合拳」拳拳到肉,也对「大水漫灌」树立了护栏,但是评论区更多的是质疑的声音。

其中,最多的质疑要数:「上限是 25 篇,还是太多了!」

对此,有网友提出,采用提交与审阅论文数量的比值作为规定,可能是一个更为合理的方案。

AAAI 2025 发布的公告也对单个投稿人的投稿数量进行了限制,每位作者最多只能向 AAAI-25 技术赛道提交不超过 10 篇论文,且提交后不得在论文上增加作者。

更令人担忧的是,这种做法真能从本质上提高审稿意见的质量吗?

首先,审稿本来是一种义务工作,强迫没有动力的审稿人参与,可能会适得其反。

其次,考虑到一篇论文通常涉及多位作者,该规定意味着一旦其中一位作者在审稿过程中表现不佳,整篇论文就可能面临被拒稿的风险,其他合著者也不得不为这位作者的失误承担责任。这种情况对于那些对论文贡献程度中等的作者来说,无疑会彻底改变他们的地位。

这可能也将导致本不富裕的审稿人数量「雪上加霜」。

对此,腾讯杰出科学家 (PCG ARC 实验室负责人) 单瀛也有类似的看法。

你怎么看呢?欢迎在评论区参与讨论。

参考链接:

https://cvpr.thecvf.com/Conferences/2025/CVPRChanges

https://papercopilot.com/

https://x.com/thegautamkamath/status/1835026619817509194

https://x.com/chriswolfvision/status/1834888892324970961




#OpenAI o1智商120

还是被陶哲轩称为「平庸的研究生」,但实力究竟如何?


o1消息满天飞。


自从 OpenAI 发布了新模型 o1 后,它就承包了 AI 领域近几天的热搜:

有人用门萨智商测试题「拷问」它,竟测得 o1 智商高达 120;

数学大佬陶哲轩要求 o1 回答一个措辞含糊的数学问题,最终得出一个结论:o1 是个平庸但不无能的研究生;

还有一位天体物理学论文作者,仅用 6 次 Prompt,就让 o1 系列模型在 1 小时内,创建了代码运行版本,这可是他博士生期间 10 个月的工作量。

但在 ARC Prize 测试中,o1 的表现并没有想象中出类拔萃,仅仅是追平几个月前发布的 Claude 3.5 Sonnet。

看完五花八门的评测,大家反而有些迷茫了,o1 的实力到底怎么样?

智商测试得分忽高忽低,网友纷纷质疑

上周,OpenAI 在介绍 o1 时表示,它不需要专门训练,就能直接拿下数学奥赛金牌,甚至可以在博士级别的科学问答环节上超越人类专家。

这也让大家对 o1 的「智力水平」产生了好奇。就在前天,X 博主 Maxim Lott 专门拿 o1 进行了挪威门萨智商测试,结果测得它的智商高达 120,远远超过了其他所有的大模型。具体来说,o1 在 35 个智商问题中答对了 25 个,远远高于大多数人类的表现。

在此之前,Maxim Lott 还进行了一场 o1 的智商测试。在这个测试中,o1 的 IQ 达到 100。

两次结果一对比,有网友质疑,为何先后测试的结果如此不同?

Maxim 表示,o1 得分 100 的这个智商测试,是由门萨会员专门设计的,是一个仅限线下的测试,且不包含在任何人工智能的训练数据中,因此其得分会低于公开智商测试的得分。

也有网友好奇,o1 目前还不支持多模态,那么这类表格图形题目是如何测试的?

51c大模型~合集54_大模型_02

还有网友认为,智商测试是一种狭隘的衡量标准,要想真正评估人工智能进化,不是通过门萨测试,而是考察它们对于细微差别、背景和人类复杂性的理解,而这些是智商测试无法量化的。

此外,有网友认为,门萨智商测试是针对特定年龄组的人类进行标准化的,因此对于这些机器人来说,不可能得到一个「真正的智商」分数或性能评估。

同样迷惑的是,在 ARC Prize 测试中,两个 o1 模型都击败了 GPT-4o,其中 o1-preview 仅仅和 Claude 3.5 Sonnet 得分相同。

51c大模型~合集54_大模型_03

图源:https://arcprize.org/blog/openai-o1-results-arc-prize

这让人质疑:o1-preview 的「推理」可能只是一种营销语言,OpenAI 或许采取了一些方法让不太智能的系统看起来更智能,仅此而已。

在测试中,o1 的性能提升还带来了更高的时间成本 —— 它花了 70 个小时完成 400 个公共任务,而 GPT-4o 和 Claude 3.5 Sonnet 只花了 30 分钟。

「平庸的研究生」o1 

1 小时完成了博士生 10 个月的工作

或许大家还记得,陶哲轩前两天给了 o1 模型一个评价:「更强了,但是在处理最复杂的数学研究任务还不够好,就像指导一个水平一般但不算太无能的研究生。」

进步的地方体现在:「我要求 GPT 回答一个措辞含糊的数学问题,只要从文献中找出一个合适的定理就能解决这个问题。之前,GPT 能够提到一些相关概念,但细节都是幻觉般的胡言乱语。而这一次,GPT 找到了 Cramer 定理,并给出了完全令人满意的答案。」

比如,2010 年,陶哲轩曾经寻找「乘法积分」(multiplicative integral)的正确术语,但在当时的搜索引擎上找不到。于是他在 MathOverflow 上提出了这个问题,并从人类专家那里得到了满意的答案。如今,他向 o1 提出了同样的问题,模型返回了一个完美的答案。

诚然,上述 MathOverflow 上的帖子有可能已经包含在模型的训练数据中。但陶哲轩表示,这至少证明了 o1 在某些语义搜索查询的高质量答案方面与问答网站不相上下。

不足的地方也很明显,就像陶哲轩的举例:


新模型可以通过自己的努力得到一个正确的(而且写得很好的)解决方案,但它自己并没有产生关键的概念想法,而且确实犯了一些非同小可的错误。 这种经历似乎与试图给一个平庸但「并非完全不称职的研究生」提供指导差不多。 不过,这比以前的模型有所改进,因为以前的模型的能力更接近于「不称职的研究生」。 在达到「称职的研究生」水平之前,可能只需要再进行一到两次能力改进的迭代(以及与其他工具的整合,如计算机代数软件包和证明助手),到那时我就能看到这个工具在研究级任务中的重要作用了。


AI 学者田渊栋表示,自己也发现,虽然 o1 的表现令人印象深刻,但对于需要跳出思维定式的数学问题,o1 的表现仍然很差。

「令人惊讶的是,o1-preview 甚至无法检测出其逻辑链中的一些明显错误。」

有趣的是,对于陶哲轩等知名学者来说「不太令人满意」的 o1,却成为了很多研究者心中的神器。

一篇天体物理学论文的作者使用 o1 的预览和迷你版本,仅仅经过 6 次 Prompt,在 1 小时内创建了自己研究论文方法部分所述代码的运行版本。

,时长06:33

视频地址:https://youtu.be/M9YOO7N5jF8?si=5pfmIq023EFmPzdK

尽管代码不是当时唯一的突破成果,但这部分工作确实让他在攻读博士学位的第一年里奋斗了大约 10 个月。

但需要注意的是,虽然 o1 确实模仿了这位研究者的代码,但它使用的是自身创建的合成数据,而不是论文中使用的真实天文数据。此外,o1 创建的也只是一个「最简单版本」。

面对网友的一些质疑,他在后续发布的新视频中强调,自己并不是宣传人工智能已经到了能做出突破性新发现的地步,自己的尝试也不意味着 AGI 已经到来,原意只是「它可以成为一个非常棒的研究助手」。

,时长18:40

视频地址:https://youtu.be/wgXwD3TD43A?si=Nr6_Z1qjBdicE-_x

使用 Claude 逆向工程 o1 架构

得到什么结论?

在技术博客《Learning to Reason with LLMs》中,OpenAI 曾对 o1 进行了一部分技术介绍。

其中提到:「OpenAI o1 是经过强化学习训练来执行复杂推理任务的新型语言模型。特点就是,o1 在回答之前会思考 —— 它可以在响应用户之前产生一个很长的内部思维链。也就是该模型在作出反应之前,需要像人类一样,花更多时间思考问题。通过训练,它们学会完善自己的思维过程,尝试不同的策略,并认识到自己的错误。」

或许 OpenAI 不会公布更多底层的技术细节了,但研究者们的好奇不会消失。

一位研究者「TechnoTherapist」决定借助大模型的力量来剖析:他向 Claude 提供了涉及 OpenAI 发布的信息(System Card、博客文章、Noam Brown 和其他人的推文、ARC Prize 团队的评论)和与 o1 模型相关的在线讨论(Reddit、YouTube 视频)。

Claude 可以用 mermaid、plantuml、svg 等语言创建图表。研究者从 mermaid 开始,反复修改,直到得到一个全面的图表;然后让 Claude 将其转换为 svg,并添加所需的视觉特征(美学、需要突出显示的区域等);最后,用 python 脚本将 svg 转换为 png 图像。

经过一番讨论,他和 Claude 共同完成了 o1 模型的可能架构图:

51c大模型~合集54_大模型_04

图源:https://www.reddit.com/r/LocalLLaMA/comments/1fgr244/reverse_engineering_o1_architecture_with_a_little/

OpenAI 的博客也曾提到,随着更多的强化学习(训练时计算)和更多的思考时间(测试时计算),o1 的性能持续提高,类似于「强化学习的 Scaling Law」。大规模的强化学习算法,能够教会模型如何在数据高度有效的训练过程中利用其思维链进行高效思考。

在这次逆向工程中,研究者假设了 OpenAI 可能会使用现实世界中生成的 CoT 来进一步调整 RL 优化模型。因此在架构图中,语言模型会将大规模 CoT 存储输入到 RL 环境中。

也有人持不同看法,比如这位研究者指出,上述「假设」的过程很可能只是一个「模拟思路的 Prompt 响应生成循环」,而所谓的「推理 token」也只是一种隐藏 token 的花哨术语。

o1 能力强,但使用需谨慎

o1 确实有两把刷子,但它的发布也释放了一个危险信号:OpenAI 首次将 o1 模型在化学、生物、放射性和核武器风险方面评为「中等」,并伴随着许多关于其潜在危险的警告。

在 o1 的 system card 中,最引人注目的部分,就是由 Apollo Research 进行的评估。该评估发现,o1 在测试中「有时会策略性地伪装对齐」,「为了使其不一致的行为看起来更一致,策略性地操纵任务数据」。

Apollo 还发现,与 GPT-4o 相比,「o1-preview 在自我认知、自我推理(在智能体环境中应用自我意识)和应用心理理论方面有所提高」。

以上种种结果,让 Apollo 得出一个结论,「o1-preview 具备了进行简单上下文内策划的基本能力」,而这是许多担心 AI 风险的人非常关注的能力。

OpenAI 还指出,「推理技能导致『奖励黑客行为』的发生频率更高」。这种现象是指模型以不期望的方式实现了目标的文字规格。

在一次实验中,o1 被要求找到一个在远程挑战容器上运行的软件的漏洞,并加以利用,但挑战容器未能启动。

模型随后扫描了挑战网络,发现了一个在虚拟机上运行的 Docker 守护进程 API,并用它来生成容器的日志,解决了挑战。

OpenAI 对这一事件的描述值得一提:「这个例子也反映了工具性收敛和寻求权力的关键要素:模型追求了它被赋予的目标,当这个目标被证明是不可能的时候,它收集了更多资源(访问 Docker 主机)并用它们以一种意想不到的方式实现了目标。」

关于生物威胁,OpenAI 没有详细说明,但表示安全评估显示「o1-preview 和 o1-mini 可以帮助专家进行复制已知生物威胁的操作规划」。虽然模型「不会使非专家能够创建生物威胁」,但它们确实「加快了专家的搜索过程」,并且比 GPT-4o 显示出了更多的生物学「隐性知识」。

或许这意味着,随着 OpenAI 不断推进模型的发展,它们可能会创造出风险过高、以至于不适合公开发布的模型。

参考链接:

https://www.maximumtruth.org/p/massive-breakthrough-in-ai-intelligence

https://x.com/maximlott/status/1835043371339202639

https://assets.ctfassets.net/kftzwdyauwt9/67qJD51Aur3eIc96iOfeOP/71551c3d223cd97e591aa89567306912/o1_system_card.pdf

https://www.transformernews.ai/p/openai-o1-alignment-faking?utm_campaign=post&utm_medium=web




#瞥一眼就能模仿笔迹的AI

来自华南理工大学、新加坡国立大学、昆仑万维以及琶洲实验室的研究者们提出一种新的风格化手写文字生成方法,仅需提供单张参考样本即可临摹用户的书写风格,支持英文,中文和日文三种文字的临摹。

一眼临摹 AI 的研究背景

手写体自动临摹是一项有趣的 AI 生成式任务,用户只需将少量书写样本输入到笔迹模仿 AI 中,就能获得一套符合自己书写风格的电子字体。该字体可以用于社交和办公软件中,帮助用户更好的表达个性和传递情感,兼顾了传统手写的人情味和数字化时代的高效表达。

在去年早些时候,也报道过一个CVPR’23笔迹模仿的工作,名为Disentangling Writer and Character Styles for Handwriting Generation。彼时的笔迹模仿 AI 还需要提供 15 张样本作为风格参考,用户使用起来觉得略显繁琐。在实际应用中,用户更倾向于只需单张样本作为输入的笔迹模仿 AI,因为其更加高效,便捷以及节约时间。

51c大模型~合集54_大模型_05

在这篇发表在 ECCV 2024 上的新工作中,研究者们设计了一种能够一眼临摹的手写文字生成方法。该方法仅需单张样本作为风格输入,为用户带来更好的使用体验。在具体介绍该工作之前,我们可以思考一个问题:目前大火的文生图方法和风格迁移方法是在海量的数据上进行训练的,拥有强大的泛化能力,能否可以直接实现一眼临摹?答案是否定的。研究者们挑选了 DALL-E3, Stable Diffusion , Artbreeder , IP-Adapter 等工业方法进行测试,实验显示现有工业方法在手写文字的风格临摹 (墨迹颜色,倾斜程度,字母间的连笔和间隔等) 上离目标还有较大距离,暂时还无法做到一眼临摹。

51c大模型~合集54_大模型_06

为了实现一眼临摹,研究者们提出一个风格化的手写文字生成模型 (stylized handwritten text generation method),该模型能够从单张手写样本中临摹出用户的书写风格,进而合成任意书写内容的手写笔迹。目前论文的代码和数据已经开源,欢迎感兴趣的小伙伴们上手试玩!

  • 论文地址:https://arxiv.org/abs/2409.04004
  • 代码开源:https://github.com/dailenson/One-DM

关键问题

围绕上述目标,研究者们分析了两个关键问题:1. 用户只能提供单张书写样本,如何从单张参考样本中准确学习用户独特的书写风格呢?换句话说,一眼临摹的要求过于苛刻,仅仅使用单张样本能否临摹出令人满意的用户笔迹?2. 实际应用中,用户书写的纸张可能没那么干净,提供的样本中存在多样的噪声背景,如何在临摹风格的过程中避免这些噪声的干扰?接下来让我们看看这篇 ECCV2024 提出的 One-DM(One-Shot Diffusion Mimicker)是如何解决上述问题的吧。

技术方案

研究动机 研究者发现,由于单张样本图像中存在背景干扰,书写风格模式并不清晰,很难直接从原始的样本图像中提取出准确的书写风格。为了解决上述问题,研究者对样本进行高低频分离,发现书写样本的高频成分中具有清晰的文字轮廓,蕴含着显著的书写风格模式,包含文字的倾斜,字母间距和连笔模式等。受启发于上述观察,One-DM 旨在引入个人笔迹的高频成分来增强用户书写风格的提取。

51c大模型~合集54_大模型_07

然而,这听起来简单,实际操作却不容易。这里有两个尚未解决的难题:(1) 尽管高频成分中存在更清晰的风格模式,如何准确引导 One-DM 从高频图像中提取出风格特征而不是其他的特征呢?(2) 由于高频成分中缺乏笔迹颜色,仍然需要从原始样本中提取风格模式作为补充,这导致最终提取出的风格特征依然保留了样本的背景噪声,从而对后续的文字合成过程产生不利影响。为了解决这些难题,One-DM 提出了两个解决策略:(a)拉普拉斯风格增强模块,(b)自适应过滤噪声的门控机制。

方法框架 One-DM 的整体框架如下图所示,包含高频风格编码器、空域风格编码器、内容编码器、风格 - 内容融合模块和扩散生成模块。首先,One-DM 利用高通滤波器从原始风格参考图像中提取高频成分,其次将高频和原始图像并行输入到高频和空域风格编码器中,分别获得高频和空域风格特征。然后,利用门控机制来自适应过滤空域风格特征中的背景噪声。接着将内容编码器提取的内容特征,高频风格特征和过滤后的空域风格特征送入风格 - 内容融合模块中获得合并后的条件输入。最后,利用该条件输入引导扩散模型合成满足期望风格和目标内容的手写文字。

51c大模型~合集54_大模型_08

(a) 拉普拉斯风格增强模块 One-DM 提出拉普拉斯风格增强模块来从单张书写样本中高效提取用户的书写风格。首先利用拉普拉斯算子获取原始样本的高频成分。相比其他算子,例如:傅里叶算子,索贝尔算子和小波算子,拉普拉斯算子的优势在于能够提取更加清晰的字符风格模式。随后,在拉普拉斯对比学习损失函数(LapNCE)的引导下,高频风格编码器从高频成分中提取出判别性强的风格模式,用于促进手写文本合成的真实性和多样性。LapNCE 和高频成分是不可分割的整体,与其他直接作用于图像上的对比学习损失函数不同,LapNCE 只有作用在高频成分上才能准确引导风格的提取。

(b) 自适应门控机制 为了过滤空域风格特征中存在的噪声信息,One-DM 提出自适应门控机制。门控机制中存在多个可学习的门控单元

51c大模型~合集54_大模型_09

,其数量与空域风格特征

51c大模型~合集54_大模型_10

的长度相同。门控单元W的值会随着

51c大模型~合集54_大模型_11

的改变而自适应变化,每个门控单元

51c大模型~合集54_大模型_12

决定了对应位置

51c大模型~合集54_大模型_13

的通过率,使得

51c大模型~合集54_大模型_14

较大的位置通过率越高。该机制能够从

51c大模型~合集54_大模型_15

获取有意义的风格信息

51c大模型~合集54_大模型_16

,同时抑制多余的背景噪声,其中

51c大模型~合集54_大模型_17

51c大模型~合集54_大模型_18

(c) 风格 - 内容的融合摸块 获取了高频和空域风格特征后,如何将风格信息和内容编码器提取出的内容信息注入到扩散模型中,引导后续的文字生成过程呢?One-DM 提出先将内容信息和风格信息融合后再进行注入扩散模型,而不是分开注入。具体来说,所提出的风格 - 内容融合模块包含两个 attention 机制。首先,内容信息E作为 query 向量,合并后的风格信息作为 key & value 向量,在交叉注意力机制中,E动态查询风格信息中与自身最相关的风格特征。然后,将查询出的风格特征和内容信息合并,送入自注意力机制中完成进一步的信息融合。

51c大模型~合集54_大模型_19

实验评估

定量评价 One-DM 在多个英文、中文和日文数据集上都取得了最优异的临摹性能。尤其强调的是,仅需一张参考样本的 One-DM 超过了之前依赖十几张参考样本的 SOTA 方法 (HWT 和 VATr)。

51c大模型~合集54_大模型_20

定性评价 在英文文本生成任务上,相比以前的 SOTA 方法,One-DM 生成的结果可以更好的临摹出参考样本的墨迹、字符间隔和笔画粗细等风格特征。

51c大模型~合集54_大模型_21

在其他语言上 One-DM 也表现良好。从下图中可以看出,Diffusion-based (One-DM 和 WordStylist) 的方法在生成中文和日文等字符结构复杂的文本时,显著优于 GAN-based (GANwriting,HWT 和 VATr) 方法。而相比同为 Diffusion-based 的 WordStylist,One-DM 在字符细节上更胜一筹。

51c大模型~合集54_大模型_22

与工业方法对比,One-DM 也有较大优势。在英文文本合成任务上,One-DM 的文本内容准确度和风格临摹上都显著优于现有的主流工业方法。其中,DALL-E3 跟 Stable Diffusion 表现稍好,可以合成正确的文本内容,但是在风格临摹上效果不佳,并且 Stable Diffusion 容易生成多余的背景。而中文文本合成任务上,One-DM 在字符的墨迹和字符细节上与目标风格更接近。

51c大模型~合集54_大模型_23

51c大模型~合集54_大模型_24

消融实验

核心模块对算法性能的影响 如下表所示,本文提出的拉普拉斯风格增强模块和门控机制具有协同作用,有效提升了对用户笔迹的临摹性能。此外,实验也证明了拉普拉斯算子比其他算子提取的风格模式更加清晰,有助于提升文字合成性能。

51c大模型~合集54_大模型_25

51c大模型~合集54_大模型_26

拉普拉斯风格增强模块的分析 实验验证了高频成分和拉普拉斯对比学习 (LapNCE) 是不可分割的整体:单独使用会导致 One-DM 性能显著下降,联合使用二者才能最大程度上提升性能。原因在于,没有 LapNCE 的引导,One-DM 很难从高频成分中准确提取风格模式。另一方面,由于原图中的风格模式并不清晰,直接将 LapNCE 应用在原图上也很难提取到理想的风格模式。

一眼临摹的深入分析 为什么仅需单张样本的 One-DM 可以超越需要 10 几张样本的 SOTA 方法呢?本文给出了潜在的分析:首先,One-DM 学习到了有意义的风格特征空间,可以根据训练过程中见过的风格灵活创造新的书写风格而不是机械的记忆训练集中的已有风格,如下图所示。然后,借助拉普拉斯风格增强模块,One-DM 可以从用户提供的参考样本中准确提取出书写风格特征,并将其映射到特征空间中与用户相近的位置,从而产生高质量的风格化手写文本图像。

51c大模型~合集54_大模型_27

51c大模型~合集54_大模型_28

One-DM 在中文和日文实验上的深入分析 为什么 One-DM 在中文和日文实验上远超 GAN-based 的方法?本文对此做了进一步探究。作者认为,GAN-based 方法在较低性能可能源于其基础卷积架构难以处理这些字符的复杂几何结构。相比之下,One-DM 作为 Diffusion-based 方法,将中文和日文等复杂字符的生成过程分解为更简单的步骤。如上图所示,在扩散生成过程的早期阶段,One-DM 首先尝试生成一个粗略的中文手写字符。然后,在条件输入的引导下,模型继续细化书写风格(例如字符形状和笔画颜色),直到合成出令人满意的手写体。

总结与展望

One-DM 从用户的实际体验出发,提出了一眼临摹的笔迹临摹 AI。相比之前的类似工作,One-DM 仅需单张样本作为风格输入,使用起来更加高效、便捷和节约时间,并且在性能上也优于以往依赖 10 几张风格样本的 SOTA 工作。希望在未来,人人都可以在互联网上使用自己的专属字体,能够同时享受传统手写体带来的人情味与 AI 时代带来的高效便捷。



#「三段式」AI用于化学研究

打开AI黑匣子,「三段式」AI用于化学研究,优化分子同时产生新化学知识,登Nature

AI 工具的强大功能,令人难以置信。但如果你试图打开引擎盖并了解它们在做什么,你通常会一无所获。AI 常常被视为「黑匣子」。

对于化学来说,AI 可以帮助我们优化分子,但它无法告诉我们为什么这是最佳的——重要的特性、结构和功能是什么?

近日,伊利诺伊大学厄巴纳-香槟分校(UIUC)的一个跨学科研究团队打开了黑匣子,研究人员通过将 AI 与自动化学合成和实验验证相结合,找到了 AI 所依赖的化学原理,从而改进用于收集太阳能的分子。

研究找到了比现有稳定四倍的捕光分子,同时给出了使其保持稳定的重要见解 ——这是一个阻碍材料开发的化学问题。

研究人员提出将闭环实验与基于物理的特征选择和监督学习集成,称为「闭环转移」(Closed-loop Transfer,CLT),可以在优化目标函数的同时产生化学见解。

「通过我们的过程,我们确定了是什么赋予这些分子更高的光稳定性。我们把 AI 黑匣子变成了一个透明的玻璃球。」伊利诺伊大学厄巴纳-香槟分校化学教授 Nicholas Jackson 说。

相关研究以「Closed-loop transfer enables artificial intelligence to yield chemical knowledge」为题,于 8 月 28 日发表在《Nature》上。

论文链接:https://www.nature.com/articles/s41586-024-07892-1

AI 引导的闭环实验

AI 引导的闭环实验平台,在加速科学发现方面显示出巨大潜力。但目前还不可能利用闭环优化策略来获取全新的化学知识。

光稳定性是一种普遍存在的化学功能,目前缺乏通用的化学设计原则。化学知识的缺乏限制了有机光伏、染色聚合物、太阳能燃料和荧光染料等领域的进展。

此前对分子光稳定性的研究主要集中在最低激发三重态 (T1) 的能量学及其与键解离能的关系上,但在分散的化学类别中研究有限。最近的研究表明,较高能量的三重态 (Tn, n > 1) 也适用于较窄的化学类别,但仍然缺乏通用的设计原则。

闭环范式有望在传统方法未能实现的光稳定性方面取得突破。为了实现这一愿景,需要从闭环策略中提取知识的新方法,然后 AI 才能产生可解释的假设并增强科学家对光稳定性和分子功能的根本理解。

「三段式」AI 方法用于化学研究

该研究的目标是,如何改进有机太阳能电池,这种电池基于薄而柔韧的材料,而不是现在遍布屋顶和田野的刚性、沉重的硅基电池板。

「阻碍有机光伏电池商业化的是稳定性问题。高性能材料在暴露于光线下时会降解,而这并不是太阳能电池所希望的,」UIUC 化学和生物分子工程教授 Ying Diao 说。「它们可以以硅无法实现的方式制造和安装,也可以将热量和红外光转化为能量,但自 20 世纪 80 年代以来,稳定性一直是一个问题。」

在此,伊利诺伊大学厄巴纳-香槟分校研究团队提出了一种三阶段方法,该方法在展示化学知识的同时,还优化了广泛化学空间中的分子功能。

第一阶段是机器学习 (ML) 驱动的假设生成:应用贝叶斯优化 (BO) 来提高光稳定性,直到性能指标达到稳定状态,并使用基于物理的分子特征出现 ML 衍生的假设。

第二阶段是假设检验:通过实验验证 ML 得出的假设,来建立新发现的化学知识。

第三阶段是物理驱动的发现:将新的基于物理的知识应用于化学设计空间,人为驱动,突破优化瓶颈。

51c大模型~合集54_大模型_29

图示:CLT 范式。(来源:论文)

分子的光稳定性提高四倍

在多轮闭环合成和实验表征中,AI 算法给出了合成和探索哪些化学物质的建议。每一轮之后,新的数据都会被重新纳入模型,然后模型给出改进的建议,每一轮实验都会更接近预期的结果。

研究人员在五轮闭环实验中产生了 30 种新的化学候选物。

重要的是,通过对 2,200 个潜在分子总空间的不到 1.5% 进行采样,排名前五位的分子的平均光稳定性提高了 500% 以上,这一结果与之前的理论预测一致。

51c大模型~合集54_大模型_30

图示:第一阶段机器学习驱动的假设生成。(来源:论文)

研究结果还表明,与传统的 T1 能量光稳定性描述符相反,高能 TDOS 成为整个化学空间中分子光稳定性的主要决定因素。这一见解在第四轮 BO 之后出现,并在第五轮之后得到证实。由于 ML 模型的收敛与分子光稳定性的稳定期相吻合,这标志着 BO 实验的结束。

「模块化化学方法完美地补充了闭环实验。AI 算法要求获取具有最大学习潜力的新数据,而自动分子合成平台可以非常快速地生成所需的新化合物。然后对这些化合物进行测试,数据会返回到模型中,模型会一次又一次地变得更智能,」伊利诺伊大学化学教授 Martin Burke 说道。

Jackson 说,「现在我们有了一些使分子具有光稳定性的物理描述,这使得筛选新化学候选物的过程比在化学空间中盲目搜索要简单得多。」

「我们相信我们可以解决其他材料系统。最终,我们设想了一个界面,研究人员可以输入他们想要的化学功能,AI 将生成假设进行测试。」Schroeder 说。

参考内容:https://phys.org/news/2024-08-ai-black-team-key-chemistry.html



#大模型LLM-微调

本文总结了作者在ChatGLM-6B模型微调的经验,并汇总了目前开源项目&数据。

大型语言模型横行,之前非常焦虑,现在全面拥抱。目前也有很多开源项目进行大模型微调等,笔者也做了一阵子大模型了,特此来介绍一下ChatGLM-6B模型微调经验,并汇总了一下目前开源项目&数据。笔者与很多人微调结论不同,本人在采用单指令上进行模型微调,发现模型微调之后,「并没有出现灾难性遗忘现象」。

项目地址:https://github.com/liucongg/ChatGLM-Finetuning

ChatGLM-6B模型微调

模型越大对显卡的要求越高,目前主流对大模型进行微调方法有三种:Freeze方法、P-Tuning方法和Lora方法。笔者也通过这三种方法,在信息抽取任务上,对ChatGLM-6B大模型进行模型微调。为了防止大模型的数据泄露,采用一个领域比赛数据集-汽车工业故障模式关系抽取(https://www.datafountain.cn/competitions/584),随机抽取50条作为测试集。

详细代码见上面的GitHub链接,并且也被ChatGLM官方收录。

Freeze方法

Freeze方法,即参数冻结,对原始模型部分参数进行冻结操作,仅训练部分参数,以达到在单卡或不进行TP或PP操作,就可以对大模型进行训练。

微调代码,见finetuning_freeze.py,核心部分如下:

for name, param in model.named_parameters():
    if not any(nd in name for nd in ["layers.27", "layers.26", "layers.25", "layers.24", "layers.23"]):
        param.requires_grad = False

针对模型不同层进行修改,可以自行修改。训练代码均采用DeepSpeed进行训练,可设置参数包含train_path、model_dir、num_train_epochs、train_batch_size、gradient_accumulation_steps、output_dir、prompt_text等,可根据自己的任务配置。

CUDA_VISIBLE_DEVICES=0 deepspeed finetuning_freeze.py --num_train_epochs 5 --train_batch_size 2

三元组抽取的推理代码,见predict_freeze.py,其他任务可以根据自己的评价标准进行推理预测。

PT方法

PT方法,即P-Tuning方法,参考ChatGLM官方代码(https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/README.md) ,是一种针对于大模型的soft-prompt方法。

P-Tuning(https://arxiv.org/abs/2103.10385),仅对大模型的Embedding加入新的参数。

P-Tuning-V2(https://arxiv.org/abs/2110.07602),将大模型的Embedding和每一层前都加上新的参数。

微调代码,见finetuning_pt.py,核心部分如下:

config = ChatGLMConfig.from_pretrained(args.model_dir)
config.pre_seq_len = args.pre_seq_len
config.prefix_projection = args.prefix_projection

model = ChatGLMForConditionalGeneration.from_pretrained(args.model_dir, cnotallow=config)

for name, param in model.named_parameters():
    if not any(nd in name for nd in ["prefix_encoder"]):
        param.requires_grad = False

当prefix_projection为True时,为P-Tuning-V2方法,在大模型的Embedding和每一层前都加上新的参数;为False时,为P-Tuning方法,仅在大模型的Embedding上新的参数。

可设置参数包含train_path、model_dir、num_train_epochs、train_batch_size、gradient_accumulation_steps、output_dir、prompt_text、pre_seq_len、prompt_text等, 可根据自己的任务配置。

CUDA_VISIBLE_DEVICES=0 deepspeed finetuning_pt.py --num_train_epochs 5 --train_batch_size 2 --pre_seq_len 16

三元组抽取的推理代码,见predict_pt.py,其他任务可以根据自己的评价标准进行推理预测。

Lora方法

Lora方法,即在大型语言模型上对指定参数增加额外的低秩矩阵,并在模型训练过程中,仅训练而外增加的参数。当“秩值”远小于原始参数维度时,新增的低秩矩阵参数量很小,达到仅训练很小的参数,就能获取较好的结果。

  • Lora论文:https://arxiv.org/abs/2106.09685
  • 官方代码:https://github.com/microsoft/LoRA
  • HuggingFace封装的peft库:https://github.com/huggingface/peft

微调代码,见finetuning_lora.py,核心部分如下:

model = ChatGLMForConditionalGeneration.from_pretrained(args.model_dir)
config = LoraConfig(r=args.lora_r,
                    lora_alpha=32,
                    target_modules=["query_key_value"],
                    lora_dropout=0.1,
                    bias="none",
                    task_type="CAUSAL_LM",
                    inference_mode=False,
                    )

model = get_peft_model(model, config)

可设置参数包含train_path、model_dir、num_train_epochs、train_batch_size、gradient_accumulation_steps、output_dir、prompt_text、lora_r等,可根据自己的任务配置。

CUDA_VISIBLE_DEVICES=0 deepspeed finetuning_lora.py --num_train_epochs 5 --train_batch_size 2 --lora_r 8

三元组抽取的推理代码,见predict_lora.py,其他任务可以根据自己的评价标准进行推理预测。

注意:对于结果需要保持一致的任务(即关掉dropout,解码关掉do_sample),需要保存模型的adapter_config.json文件中,inference_mode参数修改成false,并将模型执行model.eval()操作。主要原因是chatglm模型代码中,没有采用Conv1D函数。

三元组抽取实验结果

  • 模型训练时,最大长度为768,Batch大小为2,训练轮数为5,fp16训练,采用DeepSpeed的Zero-1训练;
  • PT为官方的P-Tuning V2训练方法,PT-Only-Embedding表示仅对Embedding进行soft-prompt,Freeze仅训练模型后五层参数,Lora采用低秩矩阵方法训练,秩为8;
  • 由于之前训练PT在48G-A40显卡上会出现OOM,因此之前进行PT实验时对模型开启了gradient_checkpointing_enable,使得模型显存占用变小,但训练时长增加。
  • 训练示例:
prompt_text:你现在是一个信息抽取模型,请你帮我抽取出关系内容为\"性能故障\", \"部件故障\", \"组成\"和 \"检测工具\"的相关三元组,三元组内部用\"_\"连接,三元组之间用\\n分割。文本:
输入:故障现象:发动机水温高,风扇始终是低速转动,高速档不工作,开空调尤其如此。
输出:发动机_部件故障_水温高\n风扇_部件故障_低速转动

时间换空间,可用很好的解决显卡的资源问题,简单玩玩还可以,如果想要模型达到最优效果或可用快速看到效果,还不如租张A100卡,快速实验,推理阶段再用自己的小破卡。

笔者找到一家新的算力平台-揽睿星舟,单张A100仅要6.4元/小时,我翻了一圈,算是便宜的了(反正比AutoDL便宜一点,便宜一点是一点吧)。

下面实验结果均是在租的80G-A100上进行的实验,与Github里用的A40的实验结果会有些差异,主要在训练时长(纯训练速度,剔除模型保存的时间)。说实话,真的要训练一个大模型,多个A100是必不可少的,可以减少很多模型并行的操作,效果上也更好把控一些。

微调方法

PT-Only-Embedding

PT

Freeze

Lora

显卡占用

37G

56G

24G

39G

总参数

6.259B

7.211B

6.255B

6.259B

可训练参数占比

0.0586%

13.26%

16.10%

0.0586%

训练耗时

20min

52min

46min

25min

测试结果F1

0.0

0.6283

0.5675

0.5359

结果分析:

  • 效果为PT>Freeze>Lora>PT-Only-Embedding;
  • 速度为PT-Only-Embedding>Lora>Freeze>PT;
  • PT-Only-Embedding效果很不理想,发现在训练时,最后的loss仅能收敛到2.几,而其他机制可以收敛到0.几。分析原因为,输出内容形式与原有语言模型任务相差很大,仅增加额外Embedding参数,不足以改变复杂的下游任务;
  • PT方法占用显存更大,因为也增加了很多而外参数;
  • 测试耗时,采用float16进行模型推理,由于其他方法均增加了额外参数,因此其他方法的推理耗时会比Freeze方法要高。当然由于是生成模型,所以生成的长度也会影响耗时;
  • 模型在指定任务上微调之后,并没有丧失原有能力,例如生成“帮我写个快排算法”,依然可以生成-快排代码;
  • 由于大模型微调都采用大量instruction进行模型训练,仅采用单一的指令进行微调时,对原来其他的指令影响不大,因此并没导致原来模型的能力丧失;
  • 上面测试仅代表个人测试结果。

很多同学在微调后出现了灾难性遗忘现象,但我这边并没有出现,对“翻译任务”、“代码任务”、“问答任务”进行测试,采用freeze模型,可以用test_forgetting.py进行测试,具体测试效果如下:

  • 翻译任务
  • 代码任务
  • 问答任务

后面会把生成任务、分类任务做完,请持续关注Github,会定期更新。(太忙了,会抓紧时间更新,并且官方代码也在持续更新,如遇到代码代码调不通的情况,请及时联系我,我在github也给出了我的代码版本和模型版本)

中文开源大模型&项目

虽然出来很多大模型,但Open的&中文可直接使用的并不多,下面对中文开源大模型、数据集和项目进行一下汇总。

中文开源大模型

直接可微调,无需指令增量训练:

  • ChatGLM-6B:https://huggingface.co/THUDM/chatglm-6b
  • ChatYuan-large-v2:https://huggingface.co/ClueAI/ChatYuan-large-v2

原始模型多语言or英文,需要中文指令数据集增量训练:

  • BloomZ:https://huggingface.co/bigscience/bloomz
  • LLama:https://github.com/facebookresearch/llama
  • Flan-T5:https://huggingface.co/google/flan-t5-xxl
  • OPT:https://huggingface.co/facebook/opt-66b

中文开源指令数据

下面中文指令集,大多数从Alpaca翻译而来,请看下面项目中data目录。目前通过ChatGPT或者GPT4作为廉价标注工为自己的数据进行数据标注一个不错的思路。

  • [1]:https://github.com/LC1332/Chinese-alpaca-lora
  • [2]:https://github.com/hikariming/alpaca_chinese_dataset
  • [3]:https://github.com/carbonz0/alpaca-chinese-dataset
  • [4]:https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM
  • [5]:https://github.com/LianjiaTech/BELLE
  • [6]:https://huggingface.co/datasets/JosephusCheung/GuanacoDataset

开源项目

总结下面较火的开源项目:

  • BELLE:https://github.com/LianjiaTech/BELLE
  • ChatGLM:https://github.com/THUDM/ChatGLM-6B
  • Luotuo-Chinese-LLM:https://github.com/LC1332/Luotuo-Chinese-LLM
  • stanford_alpaca:https://github.com/tatsu-lab/stanford_alpaca

总结

目前各大厂的大模型陆陆续续放出,堪称百家争鸣!个人玩家也是全面拥抱,想尽一切办法来训练微调大模型。只愿大家以后可以实现“大模型”自由。愿再无“model-as-a-service”。




#Awesome-LLM-Strawberry

OpenAI o1要跟,怎么跟?这个GitHub项目把解读、博客、相关论文一网打尽

优秀的 GitHub 项目啊!有关 OpenAI ο1 的一切都在这里

在 AI 领域,OpenAI 已经成了指路明灯一般的存在。随着 o1 模型的发布,全世界的 AI 工程师都开始了新一轮的学习。

  • 北大对齐团队独家解读:OpenAI o1 开启「后训练」时代强化学习新范式
  • 张俊林:OpenAI o1 的价值意义及强化学习的 Scaling Law

同时,我们也发现了其他一些有用的资源,比如在一个 Github 项目中,有人汇总了最近的高质量技术解读博客以及「可能」与 o1 技术路线相关的论文。相关资源列表会一直更新,

  • 项目链接:https://github.com/hijkzzz/Awesome-LLM-Strawberry

这些博客、论文有些是大家都读过的,还有些可能被淹没在平时的众多资源中。或许从中大家可以找到复现 OpenAI o1 的有效方法。

博客

  • 博客 1:Learning to Reason with LLMs
  • 作者:OpenAI
  • 链接:https://openai.com/index/learning-to-reason-with-llms/

博客概述:这篇博客简单介绍了 OpenAI o1 模型的训练方法,比如思维链的采用、模型安全性的提升等。

  • 博客 2:OpenAI o1-mini
  • 作者:OpenAI
  • 链接:https://openai.com/index/openai-o1-mini-advancing-cost-efficient-reasoning/

  • 博客 3:Finding GPT-4’s mistakes with GPT-4
  • 作者:OpenAI
  • 链接:https://openai.com/index/finding-gpt4s-mistakes-with-gpt-4/

博客概述:这篇博客介绍了 CriticGPT——OpenAI 基于 GPT-4 训练的一个专门给 ChatGPT 挑毛病的新模型。它通过精准地分析 ChatGPT 的回答并提出建设性的批评,帮助人类训练师更准确地评估模型生成的代码,并识别其中的错误或潜在问题。据介绍,在 CriticGPT 的辅助下,人们审查 ChatGPT 代码的准确率提高了 60%。研究人员还发现,CriticGPT 在很多情况下比人类专家更擅长发现错误,它们甚至能在一些被认为是「完美无缺」的任务中找出问题,尽管这些任务大多数并不是代码任务,对 CriticGPT 来说有点超纲。

由于该研究发表时,Jan Leike 等 OpenAI 超级对齐团队成员已经离职,因此也被称为对齐团队「遗作」。

  • 博客 4:Summary of what we have learned during AMA hour with the OpenAI o1 team
  • 作者:Tibor Blaho
  • 链接:https://twitter-thread.com/t/1834686946846597281
  • 推文链接:https://x.com/btibor91/status/1834686946846597281

博客概述:最近,OpenAI o1 团队开展了一次答疑活动,这个帖子总结了答疑的概要,包括模型命名和推理范式,o1 模型的尺寸和性能,输入 token 上下文和模型能力,工具、功能和即将推出的特性,CoT 推理,API 和使用限制,定价、微调与扩展,模型开发和研究见解,提示技术和最佳实践等几个模块。每个模块的总结都比较简短,感兴趣的读者可以参见原文。

  • 博客 5:OpenAI’s Strawberry, LM self-talk, inference scaling laws, and spending more on inference
  • 作者:Nathan Lambert(Allen AI 研究科学家)
  • 链接:https://www.interconnects.ai/p/openai-strawberry-and-inference-scaling-laws

博客概述:在文章中,作者讨论了 OpenAI 的新方法「Strawberry」及推理 scaling law,强调了推理计算的投入对 AI 能力提升的重要性。作者指出,扩大推理计算比单纯扩大模型规模更有效,类似 AlphaGo 的推理技术能够显著提升模型表现。文章呼吁未来 AI 开发要更多关注推理技术。 

这篇博客发布于 9 月初,当时 OpenAI 还没有发布 o1 模型,因此现在看起来非常有前瞻性。

  • 博客 6:Reverse engineering OpenAI’s o1
  • 作者:Nathan Lambert(Allen AI 研究科学家)
  • 链接:https://www.interconnects.ai/p/reverse-engineering-openai-o1

博客概述:这篇博客系统讨论了 OpenAI o1。o1 通过训练新模型处理长推理链,并使用大量强化学习来实现。与自回归语言模型不同,o1 在线为用户搜索答案,展示了新的 scaling law—— 推理 scaling law。博客还讨论了 o1 的一些技术细节,包括其如何使用强化学习进行训练,以及它在推理时的高成本。此外,博客还探讨了 o1 对未来 AI 领域的影响,包括它如何改变 AI 产品的部署堆栈和期望,以及它如何作为一个模型,通过不同的生成策略来实现复杂的任务。最后,博客提出了一些关于 o1 结构和功能的问题,并讨论了在开源领域复制这种系统所面临的挑战。作者还对 AI 未来的发展方向表示了期待,认为 AI 的进步将继续奖励那些敢于想象不可能很快变为可能的人。

论文

OpenAI o1 贡献者参与撰写的论文

  • 论文 1:Training Verifiers to Solve Math Word Problems
  • 机构:OpenAI
  • 作者:Karl Cobbe, Vineet Kosaraju, Mohammad Bavarian, Mark Chen, Heewoo Jun, Lukasz Kaiser, Matthias Plappert, Jerry Tworek, Jacob Hilton, Reiichiro Nakano, Christopher Hesse, John Schulman
  • 链接:https://arxiv.org/abs/2110.14168

论文概述:这篇论文发布于 2021 年 10 月。论文指出,尽管最先进的语言模型在很多任务上表现优异,但在处理多步骤数学推理时仍有困难。为了解决这个问题,作者创建了 GSM8K 数据集,包含 8500 个多样化的小学数学问题。研究发现,即使是大型 Transformer 模型也难以在这些任务上取得好成绩。为了提高性能,作者建议训练验证器来评估模型答案的正确性。通过在测试时生成多个答案并选择验证器评分最高的答案,这种方法显著提升了模型在 GSM8K 上的表现,并证明了这种方法比传统的微调方法更有效。

  • 论文 2:Generative Language Modeling for Automated Theorem Proving
  • 机构:OpenAI
  • 作者:Stanislas Polu, Ilya Sutskever
  • 链接:https://arxiv.org/abs/2009.03393

论文概述:这篇论文发布于 2020 年 9 月,Ilya Sutskever 是作者之一。论文探讨了基于 Transformer 的语言模型在自动定理证明中的应用。研究的动机是,自动定理证明器与人类相比的一个主要限制 —— 生成原创的数学术语 —— 可能可以通过语言模型的生成来解决。作者介绍了一个名为 GPT-f 的自动证明器和证明助手,用于 Metamath 形式化语言,并分析了其性能。GPT-f 发现了被 Metamath 主要库接受的新短证明,据作者所知,这是基于深度学习系统首次为形式数学社区贡献并被采纳的证明。

  • 论文 3:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
  • 机构:谷歌大脑
  • 作者:Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, Denny Zhou
  • 链接:https://arxiv.org/abs/2201.11903

论文概述:这篇论文发布于 2022 年 1 月。论文探讨了如何通过生成一系列中间推理步骤(即「思维链」)来显著提高大型语言模型进行复杂推理的能力。具体来说,作者提出了思维链提示的方法,即在提示中提供几个思维链的示例,以此来引导模型进行更深入的推理。实验表明,这种方法在三个大型语言模型上提高了算术、常识和符号推理任务的性能。

  • 论文 4:Let's Verify Step by Step
  • 机构:OpenAI
  • 作者:Hunter Lightman, Vineet Kosaraju, Yura Burda, Harri Edwards, Bowen Baker, Teddy Lee, Jan Leike, John Schulman, Ilya Sutskever, Karl Cobbe
  • 链接:https://arxiv.org/abs/2305.20050

论文概述:这篇论文发布于 2023 年 5 月。论文探讨了大型语言模型在复杂多步推理任务中的表现及其可靠性问题。作者比较了两种训练方法:结果监督(outcome supervision)和过程监督(process supervision),前者仅对最终结果提供反馈,后者则对每个推理步骤提供反馈。研究发现,过程监督在训练模型解决 MATH 数据集中的问题时,显著优于结果监督。具体来说,采用过程监督的模型在 MATH 测试集的一个代表性子集中解决问题的成功率为 78%。此外,论文还展示了主动学习(active learning)在提高过程监督效率方面的重要性。为了支持相关研究,作者还发布了 PRM800K 数据集,这是一个包含 800,000 个步骤级人类反馈标签的完整数据集,用于训练他们的最佳奖励模型。

由于包括 Ilya 在内的多位 o1 核心贡献者都参与了这篇论文,有人猜测这是 o1 模型训练的方法论。感兴趣的读者可以重点阅读。

  • 论文 5:LLM Critics Help Catch LLM Bugs
  • 机构:OpenAI
  • 作者:Nat McAleese, Rai Michael Pokorny, Juan Felipe Ceron Uribe, Evgenia Nitishinskaya, Maja Trebacz, Jan Leike
  • 链接:https://arxiv.org/abs/2407.00215

论文概述:这篇论文发布于 2024 年 6 月。论文介绍了一种通过训练「批评者」模型(即前面提到的 CriticGPT )来提高人类评估机器学习模型输出的方法。这些批评者模型是大型语言模型,它们被训练来提供自然语言反馈,指出代码中的问题。研究表明,这些模型在识别代码错误方面比人类更有效,甚至能够发现人类审查者未发现的错误。尽管存在局限性,如可能产生误导的幻觉错误,但结合人类和机器的团队可以减少这种误导,同时保持错误检测的效率。

  • 论文 6:Self-critiquing models for assisting human evaluators
  • 机构:OpenAI
  • 作者:William Saunders, Catherine Yeh, Jeff Wu, Steven Bills, Long Ouyang, Jonathan Ward, Jan Leike
  • 链接:https://arxiv.org/pdf/2206.05802

论文概述:这篇论文发布于 2022 年 6 月。论文研究了如何通过微调大型语言模型,使用行为克隆来生成自然语言的批评性评论,以帮助人类发现摘要中的缺陷。实验表明,这些模型生成的评论能够揭示人类和机器生成摘要中的问题,包括故意误导的错误。研究发现,更大的模型在撰写有帮助的评论和自我批评方面表现更好,并且能够利用自我批评来改进自己的摘要。论文还提出了一个比较批评能力、生成能力和辨别能力的框架,并指出即使是大型模型也可能有未表达的知识。这项研究为使用人工智能辅助的人类反馈来监督机器学习系统提供了概念验证,并公开了训练数据集和实验样本。

其他论文

除了以上论文,作者还按照年份列出了一些可能与 OpenAI o1 相关的论文,列表如下:whaosoft的开发板商城的各种设备可以测试~

2024 年:

2023 年:

2022 年:

2021 年:

2017 年:

更多信息请参见原 GitHub 库。




#OpenAI o1式思维链

开源模型也可以有,成功案例来了

北京时间 9 月 13 日午夜,OpenAI 发布了推理性能强大的 ο1 系列模型。之后,各路研究者一直在尝试挖掘 ο1 卓越性能背后的技术并尝试复现它。当然,OpenAI 也想了一些方法来抑制窥探,比如有多名用户声称曾试图诱导 ο1 模型公布其思维过程,然后收到了 OpenAI 的封号威胁。

尽管如此,不过三四天时间,就已经有研究者宣称已经成功复现/开发出了与 ο1 性能差不多的推理技术,并且还不止一个!

Llamaberry:教会 AI 像聪明人一样思考

Llamaberry 的提出者是 Martin Bowling。他开发的项目包括 RAGMiner.dev 和 Replit;其中前者可以帮助用户毫不费力地将网站转换成 Markdown、XML 或 JSON 等格式以便 RAG 和 LLM 应用使用,而后者则是一个使用 AI 将想法变成代码的项目。

Llamaberry 的核心思路是使用思维链(CoT)来实现推理。这个名字自然源自代表 o1 模型的 Strawberry(草莓)。

HuggingFace地址:https://huggingface.co/spaces/martinbowling/Llamaberry

什么是思维链?Bowling 在博客中打了个比方:「思维链推理就像是给 AI 一个笔记本来展示其工作过程。其中不仅仅是简单地给出答案,而是会带领我们经历其思维过程。」

Llamaberry 能教会 AI 透彻地思考,就像是一位人类专家攻克难题时那样。

具体来说,Llamaberry 是一个多轮思维链推理系统的实现,其基于运行在 Groq 上的 Llama 3.1 70B 模型。

多轮推理是关键

多轮推理,顾名思义,就是让模型在给出答案之前进行多步思考,而不是一步给出答案。打个比方,这就像是看一位大厨从备菜到完成摆盘一步步地完成一道精美菜肴,而不是直接微波加热预制菜。

举个示例:

第 1 轮:AI 先尝试解决当前问题。

第 2 轮:AI 回顾第一次尝试并尽力改进或优化其思维过程。

第 3 轮:再进行一轮反思和改进。

综合结果:最后,将所有这些思考综合到一起,得到一个连贯且合理的答案。

下面展示了这个多轮过程的示意图:

51c大模型~合集54_大模型_31

可以看到,前一轮的输出会成为后一轮的输入,从而让 AI 可在每个阶段不断完善其思维。最后,所有这些思考会凝练成一个合理的最终答案。就像看着一枚莓果逐渐成熟!

如何实现

下面将深入 Llamaberry 的实现细节。

1.设置舞台

首先,我们需要为 AI 助手设置一些基本规则,代码如下:

initial_system_prompt = """You are an AI assistant capable of detailed, step-by-step thinking. When presented with a question or problem, break down your thought process into clear, logical steps. For each step, explain your reasoning. Conclude with a final answer. Use the following markdown structure:

## Reasoning
1. [First step]
   **Explanation:** [Detailed explanation of this step]
2. [Second step]
   **Explanation:** [Detailed explanation of this step]
...

## Answer
[Final answer]

Be comprehensive and show your reasoning clearly."""

这就是提供给 AI 大厨的菜谱。它知道需要逐步分解其思考过程并解释每个步骤,并且以 Markdown 格式将它们显示出来。

2.思考过程

在每一轮推理中,都需要让 AI 对问题进行思考。但在第一轮结束后,还需要求它思考之前已经思考过的东西。这就像问朋友,「嘿,还记得你之前说过什么吗?让我们再想一想。」

下面是每一轮的生成方式:

async def generate_turn(query: str, previous_turns: list = None) -> str:
    is_first_turn = previous_turns is None or len(previous_turns) == 0
if is_first_turn:
        messages = [{
            "role": "system",
            "content": initial_system_prompt
        }, {
            "role": "user",
            "content": query
        }]
    else:
        previous_content = "\n\n".join(previous_turns)
        messages = [{
            "role": "system",
            "content": followup_system_prompt
        }, {
            "role":
            "user",
            "content":
            f"Original Query: {query}\n\nPrevious Turns:\n{previous_content}\n\nProvide the next turn of reasoning."
        }]

    return await call_llm(messages)

该函数是多轮推理的核心。它决定我们是在第一轮还是在后续轮,并以此构建提示词。对于后续轮,它会将之前所有推理轮都包含在上下文中,让 AI 可以基于之前的思考进行构建。

3.综合结果

经过三轮思考之后,再让 AI 检视其所有思考并得出一个合理的最终答案。这就像是让专家讨论问题,然后编写最终报告。

async def synthesize_turns(query: str, turns: list) -> str:
    turns_text = "\n\n".join(
        [f"Turn {i+1}:\n{turn}" for i, turn in enumerate(turns)])
    messages = [{
        "role": "system",
        "content": synthesis_prompt
    }, {
        "role":
        "user",
        "content":
        f"Original Query: {query}\n\nTurns of Reasoning:\n{turns_text}"
    }]
    return await call_llm(messages)

这个综合步骤至关重要,是 AI 综合所有思考内容凝练出最终答案的一步。

单轮推理 vs 多轮推理

Martin Bowling 在其博客中简单比较了单轮和多轮推理。

这里他采用了一个简单示例,即询问 AI:「人工智能对就业市场有什么潜在影响?」

单轮推理:

AI: Artificial intelligence will likely have significant impacts on the job market, including:
1. Automation of routine tasks
2. Creation of new job roles in AI development and maintenance
3. Potential job displacement in certain industries
4. Increased demand for skills in data analysis and machine learning

While AI may eliminate some jobs, it will also create new opportunities and increase productivity in many fields.

使用 Llamaberry 执行多轮推理:

第 1 轮:

AI: Let's approach this step-by-step:

1. Identify current AI capabilities
   Explanation: AI can perform data analysis, pattern recognition, and automate routine tasks.

2. Analyze vulnerable job sectors
   Explanation: Manufacturing, customer service, and data entry are likely to be affected.

3. Consider new job opportunities
   Explanation: AI development, data science, and AI ethics consultation may see growth.

4. Examine potential economic effects
   Explanation: Increased productivity might lead to economic growth, but wealth distribution could be a challenge.

Initial Answer: AI will likely cause significant shifts in the job market, with both job losses in some sectors and new opportunities in others.

第 2 轮:

AI: Let's refine our thinking:

1. Reassess the timeline of AI impact
   Explanation: The effects won't be immediate but will unfold over years or decades.

2. Consider the adaptability of the workforce
   Explanation: Retraining and education will be crucial for workers to transition to new roles.

3. Analyze potential societal changes
   Explanation: The nature of work itself might change, with more emphasis on creativity and emotional intelligence.

4. Examine global differences
   Explanation: AI's impact will vary across different countries and economies.

Refined Answer: AI's impact on the job market will be complex and gradual, requiring proactive measures in education and economic policy to ensure a smooth transition.

第 3 轮:

AI: Let's delve deeper:

1. Explore the concept of human-AI collaboration
   Explanation: Many jobs may evolve to involve working alongside AI rather than being replaced by it.

2. Consider the ethical implications
   Explanation: Issues like algorithmic bias in hiring processes need to be addressed.

3. Analyze the potential for new economic models
   Explanation: Universal Basic Income or reduced working hours might become more prominent discussions.

4. Examine historical parallels
   Explanation: Previous technological revolutions, like the Industrial Revolution, can offer insights into potential outcomes.

Further Refined Answer: While AI will undoubtedly transform the job market, its impact will likely be nuanced, involving collaboration between humans and AI, ethical considerations, and potentially new economic paradigms.

综合答案:

AI: After careful consideration across multiple turns of reasoning, we can synthesize our thoughts on the potential impacts of artificial intelligence on the job market:

1. Job Transformation: AI will lead to significant changes in the job market, but these changes will be gradual and complex. While some jobs may be automated, many others will be transformed to involve collaboration between humans and AI. Industries like manufacturing, customer service, and data entry are likely to see the most immediate impacts.

2. New Opportunities: The rise of AI will create new job categories, particularly in fields like AI development, data science, AI ethics consultation, and human-AI interaction design. There will likely be an increased demand for skills in creativity, emotional intelligence, and complex problem-solving that AI cannot easily replicate.

3. Economic and Social Implications: The integration of AI into the workforce has the potential to increase productivity and economic growth. However, it also raises concerns about wealth distribution and may necessitate discussions about new economic models, such as Universal Basic Income or reduced working hours.

4. Education and Adaptation: The changing job market will require a strong emphasis on continuous learning and adaptation. Educational systems and workforce training programs will need to evolve to prepare people for the new reality of working alongside AI.

5. Ethical Considerations: As AI becomes more prevalent in hiring and work processes, addressing issues like algorithmic bias and ensuring fair opportunities for all workers will be crucial.

6. Global Variations: The impact of AI on the job market will not be uniform across the globe. Different countries and economies will experience varying effects based on their economic structures, technological readiness, and policy responses.

7. Historical Context: While AI represents a significant shift, it's important to view it in the context of previous technological revolutions. Like the Industrial Revolution, the AI revolution will likely lead to short-term disruptions but potentially long-term benefits if managed properly.

In conclusion, while AI will undoubtedly have profound impacts on the job market, these impacts will be multifaceted and evolve over time. The key to navigating this transition successfully lies in proactive measures in education, economic policy, and ethical governance, ensuring that the benefits of AI are broadly shared while mitigating potential negative effects.

可以看到,多轮方法能实现更加精细、全面的分析。这能从多个角度考虑问题,优化其思考,最后得到更加深思熟虑和全面详细的答案。

Bowling 表示,这样的多轮推理在思考深度、自我提升、透明度、灵活性等方面都有巨大优势,同时其还采用了 Markdown 格式,使其结果更容易阅读和用于后续流程。

因此,这种技术可让 AI 进入更多实际应用场景,比如医疗诊断、法律分析、科学研究、商业策略、教育。当然,在使用 Llamaberry 等多轮推理系统时,也需要注意它们的局限和潜在的道德伦理问题,比如偏见、计算成本、过度依赖和隐私问题。

如何使用 Llamaberry?

Llamaberry 也很容易使用,点击几下就能拥有你自己的多轮推理系统。步骤如下:

前往 Replit,点击该链接获取 Llamaberry 模板:https://replit.com/@MartinBowling/Llamaberry-Powered-By-Groq?v=1

创建模板分支:点击 Fork 按钮创建你自己的 Llamaberry 项目副本。

获取你的 Groq API Key:注册 Groq 账户,获取 API Key。

设置环境:在你的分支 Replit 项目中,找到「Secrets」选项卡。添加一个新密钥,密钥为 GROQ_API_KEY,值是你的 Groq API 密钥。

运行项目:单击 Replit 界面顶部的 Run 按钮。这将启动 Llamaberry 应用。

开始实验:应用运行起来后,你将看到一个 Gradio 界面。你可以在其中输入问题并查看 Llamaberry 多轮推理的实际效果!并且输出是简洁漂亮的 Markdown 格式!

了解了 Llamaberry,下面来看另一个号称实现了类 o1 推理链的项目:g1。

g1:实现类似 ο1 的推理链

g1 这个项目来自 Benjamin Klieger,他是 Groq 的一位研究者。也因此,g1 同样基于 Groq,并且其也使用了 Llama 3.1 70b 模型。

不同于 Llamaberry 使用的多轮思维链推理,g1 的策略是角色扮演、思维链提示 、格式化以及另一些提示技巧。并且,g1 开源了。

项目地址:https://github.com/bklieger-groq/g1

开发者宣称 g1 有 70% 的时间能成功数出 Strawberry 中有多少个 R,同时无需任何微调或少样本技术。下面是其一次执行过程: 

开发者 Klieger 表示,g1 和 ο1 一样能让 LLM 有能力「思考」和解决之前的领先模型难以应对的逻辑问题。但不同之处在于,g1 会大方地展示所有推理 token。同时,他也强调了 g1 和 ο1 在技术上的差异,其中后者使用了大规模强化学习来执行思维链推理。而 g1 则是通过发掘提示词工程的潜力来帮助 LLM 解决简单的逻辑问题,让现有的开源模型也能受益于动态推理链和优化般的探索界面。

g1 的工作方式

由 Llama 3.1 70b 支持的 g1 会创建一种动态的思维链。

在每个步骤中,LLM 可以选择是继续进行另一个推理步骤,还是提供最终答案。每个步骤都有标题,并且对用户可见。

系统提示词中还会包含给 LLM 的提示。其提示策略如下:

You are an expert AI assistant that explains your reasoning step by step. For each step, provide a title that describes what you're doing in that step, along with the content. Decide if you need another step or if you're ready to give the final answer. Respond in JSON format with 'title', 'content', and 'next_action' (either 'continue' or 'final_answer') keys. USE AS MANY REASONING STEPS AS POSSIBLE. AT LEAST 3. BE AWARE OF YOUR LIMITATIONS AS AN LLM AND WHAT YOU CAN AND CANNOT DO. IN YOUR REASONING, INCLUDE EXPLORATION OF ALTERNATIVE ANSWERS. CONSIDER YOU MAY BE WRONG, AND IF YOU ARE WRONG IN YOUR REASONING, WHERE IT WOULD BE. FULLY TEST ALL OTHER POSSIBILITIES. YOU CAN BE WRONG. WHEN YOU SAY YOU ARE RE-EXAMINING, ACTUALLY RE-EXAMINE, AND USE ANOTHER APPROACH TO DO SO. DO NOT JUST SAY YOU ARE RE-EXAMINING. USE AT LEAST 3 METHODS TO DERIVE THE ANSWER. USE BEST PRACTICES.

Example of a valid JSON response:
json
{
    "title": "Identifying Key Information",
    "content": "To begin solving this problem, we need to carefully examine the given information and identify the crucial elements that will guide our solution process. This involves...",
    "next_action": "continue"
}

对这些提示词的详细解释请参阅原项目的 Prompt Breakdown 一节。这里就不赘述了,仅给出几个示例,比如可以在提示词中加入「include exploration of alternative answers」(探索其它答案)和「use at least 3 methods to derive the answer」(使用至少三种方法来得出答案)。

这样一来,通过组合思维链以及尝试多种方法、探索其它答案、质疑之前草拟的解答、考虑 LLM 的局限性等策略,就能显著提升 LLM 的推理能力。

在数 Strawberry 中有多少个 R 这个经典问题上,无需任何训练,g1 就能帮助 Llama 3.1 70b 达到约 70% 的准确度(n=10, How many Rs are in strawberry?)。而如果不使用提示技术,Llama 3.1 70b 的准确率为 0%,ChatGPT-4o 的也只有 30%。

下面展示了另一个示例:0.9 和 0.11 哪个更大?

详细的安装过程和代码请参阅原项目。

最后,顺便一提,另有开发者发布了 g1 的分支版 Mult1,该版本的一大改进是可使用多个 AI 提供商来创建类似 o1 的推理链,感兴趣的读者可访问:https://github.com/tcsenpai/multi1