美妙的事物往往需要世界去创造,商业希望大模型越来越快给出回答。或许花费几个月几年的时间持续思考,大模型能够解决更复杂的问题,而不只是回答42
刚发现凌晨OpenAI发布了一个22多分钟的采访,将构建出O1的整个团队拉到一个小屋子,讲述了关于新模型的故事。
1 O1 一个推理模型
它是一系列新模型的其中之一,和4O的体验会不一样。
包含两个模型:o1-preview + o1 - mini,都是基于O1框架构建的。
1.1 什么是推理
对于简单的问题,我们需要快速的得到答案:例如湖南省会城市等。简而言之就是一手的知识,可以直接得到答案的那些,或者说可以死记硬背的那些知识。
但是对于复杂的问题:解密、写商业计划或者小说等,回答之前稍微思考一下会更好。
总之,推理就是用 用时间换取更好的输出
1.2 研究多久了
其实是在Alpha Go启发了他们,尤其是深度强化学习的表现,想着如何将RL-强化学习和GPT两种范式结合起来。具体的开始时间点很难确定,因为前期做了不少探索和准备工作,项目的确定到研发花费了挺长的时间。
2 AHA!时刻
我记得在一本书里面看到过,就是一个惊叹、困惑或者觉悟的时刻,啊哈?
1. 第一次训练集成了COT的模型时
2. 让模型自身用强化学习生成思考步骤,比让人类写出思考过程再训练,表现更好
3. 看到o1解答数学题的过程中,发现了很多有趣的点子
读它的思考过程就像一种灵性的体验
4. 因为设置了有限的思考时间和容量,快到这个节点时,它会想:嗷,时间快到了,我得先给出个答案了。
5. 它的思考过程和“我"很相似
3 遇到的挑战
训练大模型本身就是很难得,会有上千个出错的点,实际上也会冒出上百个错误。
让大模型按照某个达到目标得路径去思考,是很煎熬得事情(仅仅是使用4o,想让它按照指定格式输出,也得不断调整prompt适应不同的case)
就好像发射火箭登录月球,一旦角度错了,过程就很煎熬。因为COT专注的就是逻辑正确性,想要让它学会和掌握逻辑是有点难的,毕竟十分的抽象。(说的是掌握逻辑推理本身,而不是用逻辑推理分析问题)
它通常表现得很好,但遇到一些敏感问题时,还会有些不可靠,所以还需要评估更多的测试(后面会提到这个强化学习除了让它会推理,还希望能够强制遵守预定义原则)
对于一些有趣问题的回复
当在twitter看到有人说gpt不能做啥,就把问题和答案复制过来去训练它。
把答案hardcode在模型里面
4. O1 可以用来做什么
4.1 写代码
关注于需求和问题的定义-关注于重点和高层的定义,使用TDD方式开发,自己就主要编写测试代码,作为质量把关。我其实在思考有没有可能将高层的定义可视化,但是没时间去具体做,github仓库倒是开了,就是根据需求设计自动生成代码,而不是基于UI,UI在我看来只是一部分。
这里就有个点要注意哈!现在很多工具都支持单元测试,模型也有这个能力,但单元测试如果自己不仔细审核是会有问题的。生成的单元测试如果根据有问题的来,单元测试也是错的
4.2 Debug
将错误信息丢给o1,它的思考过程会给出很多的有用的信息,应该是相对于4o更多的信息
4.3 头脑风暴和写文章
因为会反复思考,所以过程中会不断保持风格等的一致性和关联性,内容中也会有相互引用等待,出现错误也能自动修正。
因为可以思考,所以对于头脑风暴这种,它会先自己筛选一遍,选出比较好的,而不是一股脑的输出了。
4.4 处理非结构化思考
这些目前的4o等也差不多可以做到,但它能够进一步的分析。我在想,或许我需要开一篇文介绍下知识的层级,也就是直接获取的知识以及需要推理才能获得的基于上下文的知识。
4.5 目前不擅长的事情
目前它的知识库并不多,尤其是世界的知识,毕竟专注点是逻辑推理。但在scaling的时候,会不断的增加这些内容的。
5 还没意识到的特别重要的事情
5.1 大模型的完备生态系统
运行超大规模的模型、超大规模的数据集和大模型的训练.,当然目前是有相关的生态的,例如各种云计算厂商,尤其微软的azure是可以运行gpt4的,但是它们的表现,可能并没达到期待。而我们更不用说了,因为没有类似的模型,也就没有需求,虽然生物医疗方面的数据也很大,但可能到了那个位置才能看到问题。
5.2 跨项目的一致性模式
这个可能是产品方面的,因为模型会不断的迭代,旧的模型会取代新的模型,但如果能够留下点东西肯定会更好吧。或许也是为了找到一种创新的模式
5.3 团队氛围
互相陪着吃饭、闲逛、写代码、测试等等,有时候我也挺期待所谓的peercode的。
6. 草莓团队工作怎么样
成员之间都比较近,可以及时的问问题、一起测试等。不要觉得问问题很蠢,立刻问就对了。每个项目都会有很大收获,从Dota2Bot获得了工程化经验,从GPT4学到了需要不停的做研究,可能是最大的研究性团队了吧?我猜说的是紧密联系的那种,不像小组的模式。
大家都有自己的热情和激情,知道什么时候该学习、什么时候该写代码、什么时候该熬夜了
每个人都贡献了很多想法,都是不停的迭代成现在这样。当一个人,说相信这个点子不错,感兴趣的就会一起去尝试实现它,哪怕有些人自己定了不少deadline,也会尽量去尝试更多
大致是:从一个足够吸引人的起始点,大家努力做出个可用的版本,然后不断共享自己的想法来完善它,就像滚雪球一样,最后会发现这就是我们想做的。 这个和xspace当初定将汽车送上太空的目标差不多,工程师都是理想主义,如果定的目标是卖多少单,实现多少KPI肯定是很蒙的,不如一个看似荒唐或浪漫的同一目标。
7 为什么会有o1 mini
o1 mini是为了更快的构建出一个o1实现的流水线,以较低的成本和较快的速度验证。
8 为什么要构建o1
构建一个有能推理的模型很酷。
美好事物出现需要时间,我们的大模型有着回答越来越快的趋势。目前只给了它几分钟的时间思考,未来可能让它能够花费数月数年的时间去思考,从而创造出更好的事物。
世界需要个有用的东西,现实世界是需要逻辑推理遵守规则的。为了解锁一些以前模型未具备的能力。尤其是想要结果更可靠,自身的推理是不可或缺的,不然都没法发现错误或者更好的可能性
9 模型的人格
观察了模型的元数据,发现每次训练的模型,都会有自己的小癖好,有着不同的倾向、擅长和不擅长的,每个模型都像有人格一样
看这些东西,有时候感觉世界上有一些自身的碎片,我也在尝试用多个模型的组合,实现模拟思维,只是目前能够使用的模型表现欠佳,不得不吐槽下部分模型了,复杂点的prompt理解能力很差需要反复调反复调