世界首例!AI机器人做牙科手术,8倍速诊疗比人类医生更精准

Perceptive初创公司发明的全自动AI机器人牙医,执行了世界上首次人类临床牙科手术,诊疗速度是人类医生8倍。 如果有人向你推销机器人牙医,是挥挥手根本不信,还是会立刻有种冰冷高速钻头直戳牙龈的恐怖感? 波士顿公司Perceptive很快就让你心服口服,让人工智能控制的自主机器人,首次对人类患者进行了全过程的牙科手术,速度大约是人类牙医的8倍。 有视频为证,机器人牙医正在对牙齿进行局部精细的冲水清洗,绕牙齿一周,看起来驾轻就熟。值得注意的是,Perceptive声称,「即使患者频频移动头部,该机器也能安全处理,并且对移动患者的试运行测试均取得了成功。」Perceptive宣布了两项新技术,希望机器人诊疗在未来能够为每个人带来更好的牙科体验。 OCT 3D成像系统 这款手持式成像仪设计可以在口腔内操作,使用光学相干断层扫描 (OCT)生成牙齿内部的3D图像,甚至可以一直深入到牙龈线下方并进入骨骼。无论是在分辨率还是位置精度方面,这都比牙医通常使用的2D或3D X射线要好得多。大量临床实操证明,X射线在检测蛀牙方面实际上非常糟糕。Perceptive首席执行官Chris Ciriello告诉我们,利用X射线成像确定蛀牙位置和程度的准确度约为30%。实际上,X射线仅仅起到辅助医生诊疗的作用,因为牙医会开始在你的牙齿上钻孔,然后继续钻,直到找到蛀牙的精确位置和范围深度。但这种方法显然不适用于机器人,因为机器人需要事先获取所有数据,这就是OCT的用武之地。可以将OCT视为类似于超声波,因为它使用反射能量来构建图像,但OCT使用光而不是声音来获得更高的分辨率。也就是说,OCT不仅可以避免有害的X射线辐射,而且和X射线成像相比,具有高分辨率和高准确率。以前OCT没有用于牙齿诊疗的原因是,传统的OCT获得详细图像所需的曝光时间为几秒钟,如果在曝光过程中移动,图像就会模糊。Perceptive使用的是运动结构方法(structure from motion approach),更短的曝光时间导致数据点少得多,然后移动扫描仪并收集更多数据来逐渐构建并生成出完整的3D图像。Ciriello表示,这种方法可以将病理定位在大约20微米的范围内,准确率超过 90%。而且,这种方法非常易于牙医上手操作,因为他们只需在牙齿周围向不同的方向移动工具,直到扫描完成。Perceptive临床顾问委员会成员和专业牙医Karim Zaklama表示,「Perceptive 的人工智能驱动机器人系统将彻底改变牙科行业。简化了程序并提高了患者的舒适度,患者的诊疗体验将会更好。」「先进的成像功能,特别是口腔内扫描仪,提供了无与伦比的细节,这将使我们能够更早、更准确地诊断问题,并使我们能够更有效地与患者联系。」「效率的提高让我们能够更加专注于个性化患者护理并减少就诊时间,从而使我们能够有效地治疗更多患者。」Ciriello也再次强调,这不仅仅是收集数据以便机器人可以对患者的牙齿进行操作,这是一个更好的成像技术,可以帮助牙医识别和治疗患者可能遇到的问题。「我们认为这是一个根本性的改变,」Ciriello 说。「我们为牙医提供了更好地发现问题的有力工具。」 机器人牙医诊疗初体验 Ciriello之前也是加拿大不列颠哥伦比亚省一个山区小镇的执业牙医。这些社区的人们可能很难有专业牙齿护理的机会,他表示,「没有太多牙医愿意在农村社区工作。」「患者有时可能要拖几个月的时间才能得到治疗,如果感到非常疼痛还得不到治疗,那就真的不好了。我意识到我必须做的是开发一项可以提高牙医生产力和推广牙医服务的技术。」通常需要数小时和多次就诊的普通牙科手术,Perceptive机器人只要单次就诊,几分钟内就能迅速完成。机器人牙医的切入点是牙冠安装,即用人工牙冠取代患者的牙齿顶部。这是一个非常常见的过程,通常分两个阶段进行。首先,牙医会用钻头去除牙齿顶部。接下来制作牙齿模具,以便定制适合牙齿的牙冠。然后患者会戴上临时牙冠回家,同时牙医会将模具邮寄出去以定制牙冠。几周后,永久性牙冠到达,患者回到牙医那里,取下临时牙冠并粘上永久性牙冠。使用Perceptive的机器人牙医诊疗系统,情况会是这样的:患者首次就诊时,牙医首先确定患者需要牙冠,然后使用OCT成像仪对牙齿进行扫描。 根据这些数据,机器人将规划一条钻孔路径。在患者到达诊所、开始钻孔之前就可以制作牙冠,这只有在预先知道精确的几何形状的情况下才有可能实现。当患者到达手术现场时,机器人可能会在五分钟左右完成实际钻孔,完美贴合的永久牙冠被粘合到位,整个诊疗过程就完成了。显然,安全是这里的一个大问题,因为一个带有高速钻头的机器人手臂,实际上是在你的头骨内部进行工作,Perceptive也很清楚这一点。Perceptive 机器人很重要的一点是,它在工作时与患者身体相连。患者需要将一种名为「咬合块」的东西放入口中并咬住,这样既可以保持嘴巴张开,又可以防止下巴疲劳。机器人的末端执行器通过一系列驱动连杆物理连接到该咬合块,这样即使钻头正在移动,头部的任何运动也会立即被钻头的末端复制。本质上,患者的头骨相当于机器人的底座,患者的牙齿和钻头位于同一参考系中。纯机械耦合意味着不需要视觉系统或编码器或软件,它是直接的物理连接,因此运动补偿是瞬时的。作为患者,可以在手术过程中自由放松并稍微移动头部,因为这对机器人没有影响。人类牙医也有一些方法可以防止在手术过程中移动时钻头刺伤,例如将手指放在患者牙齿上,然后将钻头支撑在牙齿上。Perceptive表示,机器人甚至比人工更安全、更准确,因为刚性连接导致的误差只有几十微米,即使是在移动的病人身上也是如此。Ciriello说,它的移动速度比牙医慢一点,但因为它只在需要的地方精确钻孔,所以总体上可以更快地完成手术。手臂内还有一个物理平衡系统,对于OG机器人技术人员来说,它有点类似于PR2手臂。最后的安全措施是牙医在环中通过脚踏板,必须保持踩下脚踏板,否则机器人将停止移动并关闭钻头。Ciriello声称,机器人不仅能够更快地工作,而且还能产生更好的结果。大多数修复体(例如填充物或牙冠)可持续大约五年,因为牙医要么用了太多材料并削弱了牙齿本身,要么是修复材料太少并且没有完全解决根本问题。Perceptive的机器人能够更加精确,Ciriello表示,机器人可以切割「人类不可能完成」的几何形状,以定制加工零件的精度将修复体安装到牙齿上。虽然人们很容易关注Perceptive系统的技术优势,但牙医Ed Zuckerberg(Perceptive 的投资者)指出,这不仅仅是速度或准确性的问题,还在于让患者感觉更好。目前市场上还有另一种牙科机器人。它被称为Yomi ,为一项牙种植手术提供辅助。但Yomi不是自主的,而是为牙医提供指导,以确保他们钻到正确的深度和角度。虽然Perceptive已成功在人体上测试了他们的第一代系统,但尚未准备好商业化。Perceptive迄今已筹集3000万美元资金,下一步可能是与FDA进行关键临床试验,如果进展顺利,Cirello估计它可能会在几年内向公众开放。 参考资料:https://newatlas.com/health-wellbeing/robot-dentist-world-first/

陶哲轩高徒撬动数十年难题,这个华人研究生联手MIT解谜等差数列!

组合数学领域的一个难题,完全无序的数学不可能性,被UCLA华人研究生和两位MIT研究生取得了突破!为此,他们强化了陶哲轩的一项成果,并再进一步。这是数十年来该领域的首次进展。 刚刚,组合数学领域最大的未解之谜之一——完全无序的数学不可能性,取得了数十年来的首次进展。 突破这项成就的是,是UCLA的华人研究生James Leng,以及两位MIT研究生Ashwin Sah和Mehtaab Sawhney。 今年2月,三人宣布,他们对整数集合在必须包含间隔均匀的数字序列(如{9, 19, 29, 39, 49}或{30, 60, 90, 120})之前能有多大的估计值,进行了长期的改进。 这个证明,即是组合数学领域最大的未解决问题之一。 论文地址:https://arxiv.org/abs/2402.17995 这一成果,也在数学圈内引起了轰动。 牛津大学数学家Ben Green表示,几位学生的成果,令人印象深刻。尤其是成果发布时,三人都还在读研究生。 算术级数问题 级数(progression)是一列展现出特定模式的数或项,即每一项都对前一项应用特定规则而得到,也可称之为序列。 数学中,级数主要有三种类型,包括算数级数、几何级数以及调和级数。 有规则间隔的数字序列,称为算术级数(arithmetic progression),我们更熟悉的说法是等差数列。 尽管模式简单,但它们背后隐藏着令人震惊的数学复杂性。 更神奇的是,无论我们怎样努力,算术级数都很难避免。 1936年,数学家Paul Erdős和Pál Turán推测,如果一个集合由整数的非零分数组成(哪怕只有0.00000001%),那么它一定包含任意长的算术级数。 唯一可以避免算术级数的集合,就是那些包含整数「可忽略不计」部分的集合。 例如,集合 {2, 4, 8, 16, …},其中每个数字都是前一个数字的两倍,它沿着数轴分布得如此分散,以至于可以说它占据整个数字集合的0%。 因此,这个集合没有级数。 四十年后的1975年,这个猜想被一位叫Endre Szemerédi的数学家证明了。 而他的工作,催生了众多研究方向,至今仍在令数学家们探索。 Sah和Sawhney的MIT博导Yufei Zhao这样介绍道:「他证明中的许多想法,都发展成了自己的世界」。 Yufei Zhao数学家们将Szemerédi的结果应用于有限数集。在这种情况下,我们需要从一个有限的集合开始——从1到N之间的每一个整数。在不可避免地包含一个被禁止的级数之前,我们在起始集合中能使用的最大部分是多少?随着N的变化,这个部分会如何变化?比如,令N为20。我们可以写下这20个数字中的多少个,同时仍能避免长度为5个或更多数字的级数?事实证明,答案是起始集合的16%到80%。 论文地址:https://www.jstor.org/stable/2005105现在,令N为1,000,000。如果我们使用了这个池子中的80%,那么我们将看到包含800,000个数字的集合。这么大的集合,是不可能避免五项级数的。因此,我们将不得不使用池子中较小的部分。 算术级数达到4项时,就会「咬人」 Szemerédi是第一个证明「随着N的增长,这个部分必须缩小到零」的人。从那时起,数学家们就一直试图量化这种情况发生的速度。去年,两位计算机科学家的突破性工作几乎解决了三项级数的问题,例如 {6, 11, 16}。 论文地址:https://arxiv.org/abs/2302.05537可是,每当我们试图避免使用四项或更多项的算术级数时,问题就会变得更加棘手。用Sawhney的话来说就是,「我喜欢这个问题的一点就是,它看起来很单纯,但事实并非如此。这个问题会咬人。」这是因为,较长的级数反映了经典数学技巧难以发现的潜在结构。三项算术级数中的数字x、y和z,总是满足简单方程x-2y+z=0(以级数 {10、20、30} 为例:10 – 2(20) + 30 = 0)。要证明一个集合中是否包含满足这种条件的数,是比较容易的。但是,四项级数中的数字还必须满足更复杂的方程x^2 – 3y^2 + 3z^2 – w^2 = 0。这就意味着,包含这些级数的集合会呈现出更微妙的模式。想要证明这种规律是否存在,对数学家们来说,也就更难了。终于,在1990年代,法兰西学院数学家Timothy Gowers提出了一种理论,克服了这种障碍。这项工作发表后,直接促成了他拿到菲尔兹奖——数学界的最高荣誉。2001年,他将自己的成果应用于Szemerédi定理,证明了最大集合大小的更好界限,避免了任何给定长度的算术级数。在接下来的二十年里,虽然数学家们使用了Gowers的框架解决了其他问题,但他在2001年的纪录,仍旧保持着稳定。 华人研究生,打破研究阻碍 2022年,当时正在UCLA读研究生二年级的Leng,开始研究Gowers的理论。他脑子里并没有装着Szemerédi定理,相反,他希望自己能解决一个由Gowers发展出的技巧相关的问题。其他数学家并不看好,担心他解决问题所需要耗费的精力太大了,与之相比可能得到的结果根本不值一提,于是纷纷劝阻他。Leng后来评价道:「他们是有道理的。」整整一年多的时间,他都一无所获。但是某一天开始,他忽然做出了某些东西。而一直在研究相关问题的Sah和Sawhney看到他的工作后,表示了巨大的兴趣。用Sawhney的话说,「我很惊讶,居然还可以这样思考。」他们意识到,Leng的研究可能帮助他们在Szemerédi定理上取得进展。几个月后,他们做到了!这三位年轻的数学家想到了一个办法,在没有五项技术的情况下,获得了更好的集合大小上限。(也就是我们开头看到的那篇论文)然后,他们将工作扩展到了任意长度的级数,这标志着Gowers证明以来的23年里,这个问题首次取得了进展。Gowers已经证明,当起始数字池变大时,我们可以做出的避免进展的集合,会以某种速度变得相对较小。而现在, Leng、Sah和Sawhney证明,这种情况发生的速度要快得多。而导师Zhao对学生们的工作赞不绝口:「这是一项巨大的成就。但我不会建议任何学生攻克这种问题,因为它真的太难了。」许多数学家都对三人获得新界限方法感到非常兴奋。为了顺利解决问题,他们必须先强化一项先前的、技术性更强的成果。这项成果来自牛津大学的Ben Green、陶哲轩和希伯来大学的Tamar Ziegler。数学家们认为,这一结果(Gowers理论的某种阐述)可以进一步改进。Green介绍说:「我的感觉是,我们对这个理论的理解也并不完善,我们只是看到了它的一些影子。」自从2月份发表这篇论文后,Sawhney已经完成了他的博士学位。现在,他是哥大的一名助理教授。Sah仍然在MIT攻读研究生。 Sah在MIT校园中两人仍在继续合作。导师Zhao评论道:「他们令人难以置信的优势就在于,能够接受技术要求极高的东西,并且去理解它、改进它。他们的整体成就难以言喻。」 论文概述 在这项工作中,研究者令r_k(N)表示 [N]= {1,…,N} 中最大且不存在k项等差数列的子集的大小。他们证明了,对于k≥5,存在c_k> 0,使得。这个证明是基于Gowers U^k-范数逆定理的准多项式界值,以及由Heath-Brown和Szemerédi提出的密度增量策略,后者由陶哲轩和Green重新做了表述。设「N」= {1,…,N},r_k(N) 表示在S没有k项算术级数的情况下,中最大的S。r_3(N)的第一个非平凡上界,来自Roth的研究,他证明了。后来的一系列研究中,数学家们又将证明突破到了。对于更高的k,Erdős和Turán的一个长期猜想认为r_k(N) = o(N)。在开创性的工作中,Szemerédi首先建立了r_4(N) = o(N) 的估计,然后建立了以他命名的定理r_k(N) = o(N)。由于使用了van der Waerden定理和规则性引理,Szemerédi的成果密度增量极小。而在随后的突破性工作中,Gowers引入了高阶傅里叶分析,并为Szemerédi定理证明了第一个「可行」的上界:。对于k≥4的唯一显著改进,来自Green和陶哲轩的工作,他们最终证明了。最近,研究者们的工作又证明了。而三位作者此次的主要结果,是将这一上界扩展到了所有k≥5。即定理1.1——随后,他们证明了:对于给定「N」中的无序序列表,可以将「N」分解为一个受控的算术级数集合,从而使这些序列上的无序序列基本保持恒定。在这个过程中,他们采用了以下几项引理。在第三节中,他们利用了Green和陶哲轩提出的Heath-Brown和Szemerédi密度增量策略。最终,成功完成了证明。 MIT本科生,推动图论研究前沿 其实,早在Sah和Sawhney在MIT读本科时,两人就做出了令人印象深刻的工作。两人相识后,一起发表了57个令人难以置信的数学证明,许多都在各个领域取得了深远进展。在2020年5月,Sah在组合学最重要的问题中,就发表了有史以来最好的结果,而这只是他本科期间发表的一长串数学结果其中的一部分。 论文地址:https://arxiv.org/abs/2005.09251在这篇论文中,Sah重点研究了组合学的一个重要特征——拉姆齐数,它量化了图(由边连接的点或顶点的集合)在必然包含某种子结构之前可以达到多大。随着我们要寻找的派系规模越来越大的,计算精确的拉姆齐数变得非常困难。在20世纪30年代,Paul Erdős和George Szekeres发起了拉姆齐数上限和下限的研究。而Sah的证明,改进了双色拉姆齐数的上限。他证明:一旦图达到一定大小,就必然会包含某个相应大小的派系。这就将现有的研究路线推向了逻辑极限,可以说是为该问题设定了目前的最佳上限。领域内的许多人认为,Sah的证明是利用现有研究路线可以实现的最佳结果。加州理工学院的David Conlon这样评价:「作为一个本科生,他的成果已经足够让他获得教职了」。 作者介绍 James Leng本科毕业于加州大学伯克利分校,目前是UCLA数学系的在读研究生,与陶哲轩共同合作。他的研究领域包括算术组合数学、动力系统和傅里叶分析,主要关注高阶傅里叶分析。Ashwin Sah从2020年起成为MIT的数学系研究生,由Yufei Zhao指导,研究兴趣包括组合数学、概率论和数论。Mehtaab Sawhney目前是哥伦比亚大学助理教授,同时担任Clay数学研究所的研究员,他的研究同样关注组合数学、概率论和理论计算机科学。在俄勒冈州波特兰长大的Sah,16岁时获得奥数金牌,17岁就读于MIT,两年半后毕业。在MIT的第一年,他上了Yufei Zhao教授的两门课,其中一门是关于组合学的研究生水平讨论课。在全世界最有才华的数学学生中,Sah仍然能脱颖而出。 11岁的Sah最早的记忆之一,就是和妈妈一起学算术在课堂上,Sah认识了高一级的学生,从宾大转学到MIT的Sawhney。两人结识后,研究了离散数学中的一系列主题,例如图论、概率和随机矩阵的性质。Sawhney表示,「我喜欢那些可以从基本原理出发思考的问题,不需要阅读大量文献或了解大量理论就可以开始思考」。导师Zhao对两人的速度印象深刻。他会要求两人研究一个特定的问题,觉得接下来他们有的忙了。然而,经常是第二天,他们就带着答案回来。Zhao的评价是,「他们都是精力非常充沛的人。我每提出一个问题,都会立刻收到回复。」本科的三年里,Sah和Sawhney撰写了数十篇论文,并且获得了2021年的摩根奖。Zhao表示,二人的成就没有先例。「本科生研究有着悠久的传统,但在数量和质量上都无法达到他们俩的水平」。参考资料:https://www.quantamagazine.org/grad-students-find-inevitable-patterns-in-big-sets-of-numbers-20240805/

4090单卡可跑,6秒直出电影级画质,智谱版Sora正式开源!

国内首个人人可用的国产Sora「清影」,已经引起了AI视频圈的轰动!才发布6天,生成视频数就已经破百万。并且,智谱AI也将同源的视频生产模型CogVideoX,一并开源了。 7月26日,智谱发布AI 生视频产品「清影」,30秒将任意文图生成视频,并上线在他们的AI助手「智谱清言」上,被誉为是国内首个人人可用的Sora。 就在发布6天后,「清影」生成到视频数便已突破了百万量级。 今天,智谱AI宣布将与「清影」同源的视频生成模型——CogVideoX正式开源。 团队表示,希望每一位开发者、每一家企业都能自由地开发属于自己的视频生成模型,从而推动整个行业的快速迭代与创新发展。 打开AI助手「智谱清言」即可体验 随着大型模型技术的持续发展,视频生成技术正逐步走向成熟。 以Sora、Gen-3等闭源视频生成模型为代表的技术,正在重新定义行业的未来格局。 然而,截至目前,仍未有一个开源的视频生成模型,能够满足商业级应用的要求。 CogVideoX系列包含多个不同尺寸大小的开源模型。目前已经开源的CogVideoX-2B,提示词上限为226个token,视频长度为6秒,帧率为8帧/秒,视频分辨率为720×480。它在FP-16精度下的推理仅需18GB显存,微调则只需要40GB显存。这意味着单张4090显卡即可进行推理,而单张A6000显卡即可完成微调。 代码仓库:https://github.com/THUDM/CogVideo 模型下载:https://huggingface.co/THUDM/CogVideoX-2b 技术报告:https://github.com/THUDM/CogVideo/blob/main/resources/CogVideoX.pdf目前,该项目已在GitHub上斩获了3.8k星。 下面,我们就来看看CogVideoX生成的效果到底如何? 一个木制玩具船,在模拟海浪的蓝色地毯上航行,宛如在真的海水行驶一般。 A detailed wooden toy ship with intricately carved masts and sails is seen gliding smoothly over a plush, blue carpet that mimics the waves of the sea. The ship’s hull is painted a rich brown, with tiny windows. The carpet, soft and textured, provides a perfect backdrop, resembling an oceanic expanse. Surrounding the ship are various other toys and children’s items, hinting at a playful environment. The scene captures the innocence and imagination of childhood, with the toy ship’s journey symbolizing endless adventures in a whimsical, indoor setting. 一辆白色越野车沿着松树环绕的陡峭土路快速行驶,可以看到车尾的尘土飞扬。 其实这个场景对于AI来说,相对较难,只有正确理解了物理世界,才不会让生成的尘土在车前扬起。 The camera follows behind a white vintage SUV with a black roof rack as it speeds up a steep dirt road surrounded by pine trees on a steep mountain slope, dust kicks up from it’s tires, the sunlight shines on the SUV as it speeds along the dirt road, casting a warm glow over the scene. The dirt road curves gently into the distance, with no other cars or vehicles in sight. The trees on either side of the road are redwoods, with patches of greenery scattered throughout. The car is seen from the rear following the curve with ease, making it seem as if it is on a rugged drive through the rugged terrain. The dirt road itself is surrounded by steep hills and mountains, with a clear blue sky above with wispy clouds. 下面这幅在战乱中,人物表情细节的刻画,细腻丰富。 In the haunting backdrop of a war-torn city, where ruins and crumbled walls tell a story of devastation, a poignant close-up frames a young girl. Her face is smudged with ash, a silent testament to the chaos around her. Her eyes glistening with a mix of sorrow and resilience, capturing the raw emotion of a world that has lost its innocence to the ravages of conflict. 针对更宏观的场景,CogVideoX也能将白雪皑皑的森林、无人穿梭的宁静小路,生动地描绘出来。 A snowy forest landscape with a dirt road running through it. The road is flanked by trees covered in snow, and the ground is also covered in snow. The sun is shining, creating a bright and serene atmosphere. The road appears to be empty, and there are no people or animals visible in the video. The style of the video is a natural landscape shot, with a focus on the beauty of the snowy forest and the peacefulness of the road. 舌尖上的美食,还得看国产AI视频模型。烧烤架上烤制的鸡肉和青椒烤串,让人看了垂涎欲滴。 Extreme close-up of chicken and green pepper kebabs grilling on a barbeque with flames. Shallow focus and light smoke. vivid colours CogVideoX 见识到CogVideoX惊艳视频生成能力,你一定非常好奇这是怎么做到的? VAE 视频数据因包含空间和时间信息,其数据量和计算负担远超图像数据。 为应对此挑战,团队提出了基于3D变分自编码器(3D VAE)的视频压缩方法。 其中,3D VAE通过三维卷积同时压缩视频的空间和时间维度,实现了更高的压缩率和更好的重建质量。 模型结构包括编码器、解码器和潜在空间正则化器,并通过四个阶段的下采样和上采样实现压缩。 时间因果卷积确保了信息的因果性,减少了通信开销。而上下文并行技术的采用,则可以适应大规模视频处理。 实验中,团队发现大分辨率编码易于泛化,而增加帧数则挑战较大。 因此,可将分两阶段训练模型:- 首先在较低帧率和小批量上训练; – 然后通过上下文并行在更高帧率上进行微调。 训练损失函数结合了L2损失、LPIPS感知损失和3D判别器的GAN损失。 专家Transformer 团队使用VAE的编码器将视频压缩至潜在空间,然后将潜在空间分割成块并展开成长的序列嵌入z_vision。 同时,使用T5将文本输入编码为文本嵌入z_text,然后将z_text和z_vision沿序列维度拼接。拼接后的嵌入被送入专家Transformer块堆栈中处理。 最后,反向拼接嵌入来恢复原始潜在空间形状,并使用VAE进行解码以重建视频。 数据 视频生成模型训练需筛选高质量视频数据,以学习真实世界动态。但视频可能因人工编辑或拍摄问题而不准确。 为此,团队开发了负面标签来识别和排除低质量视频,如过度编辑、运动不连贯、质量低下、讲座式、文本主导和屏幕噪音视频。 通过video-llama训练的过滤器,团队标注并筛选了20,000个视频数据点。同时,计算光流和美学分数,动态调整阈值,确保生成视频的质量。 视频数据通常没有文本描述,需要转换为文本描述以供文本到视频模型训练。然而,现有的视频字幕数据集字幕较短,无法全面描述视频内容。 为了解决一问题,团队提出了一种从图像字幕生成视频字幕的管道,并微调端到端的视频字幕模型以获得更密集的字幕。 这种方法通过Panda70M模型生成简短字幕,使用CogView3模型生成密集图像字幕,然后使用GPT-4模型总结生成最终的短视频。 除此之外,团队还微调了一个基于CogVLM2-Video和Llama 3的CogVLM2-Caption模型,使用密集字幕数据进行训练,以加速视频字幕生成过程。 性能 为了评估文本到视频生成的质量,团队使用了VBench中的多个指标,如人类动作、场景、动态程度等。并排除了不适用于评估需求的指标,例如颜色指标,因为它可能误导视频生成模型。 此外,团队还使用了两个额外的视频评估工具:Devil中的Dynamic Quality和Chrono-Magic中的GPT4o-MT Score,这些工具专注于视频的动态特性。 值得一提的是,团队已经验证了scaling law在视频生成方面的有效性! 未来会在不断scale up数据规模和模型规模的同时,探究更具突破式创新的新型模型架构、更高效地压缩视频信息、更充分地融合文本和视频内容。 团队表示,目前的视频质量还有很广阔的提升空间,期待开发者们在提示词优化、视频长度、帧率、分辨率、场景微调以及围绕视频的各类功能开发上贡献开源力量。 此外,性能更强参数量更大的模型正在路上,敬请关注与期待。 参考资料:https://huggingface.co/THUDM/CogVideoX-2bhttps://github.com/THUDM/CogVideo?tab=readme-ov-file

筑梦Meta元宇宙!揭秘现任CTO与小扎的20年创业之旅

Meta元宇宙蓝图的关键人物,不仅有创始人马克·扎克伯格,还有现任CTO Andrew Bosworth。两人历经20年浮沉,从哈佛同窗到创业伙伴,是从社交媒体Facebook转向Meta「虚拟宇宙」之梦的领航者和亲历者。 他被冠以「盖茨第二」的美誉; 他是哈佛大学计算机和心理学专业的辍学生; 他白手起家,在七年内成为全球最年轻的亿万富翁。 是的,这就是Meta(前身为Facebook)掌门人扎克伯格的故事。 而在这位硅谷英雄的身后,还有一个名字值得瞩目——Andrew 「Boz」 Bosworth,Meta现任CTO。 正是Boz,让小扎对Meta的「元宇宙」充满了雄心壮志:Boz在Meta创立了AR和VR部门,最终发展为Reality Labs。 也是Boz,一度让脸书陷入舆论风波,害得小扎跟在他身后为公司辟谣。 两个人在工作中建立的深厚情谊长达近二十年,他们的身份都经历过很奇妙的变化,但不变的是,他们始终并肩作战,共同实现梦想,分享胜利。 Boz和小扎在哈佛大学相识,当时他是小扎人工智能课程的助教。 2005年,大二的小扎退学创业,Boz则在2006年加入了只有15个员工的Facebook。 从哈佛大学的助教到Meta的首席技术官和小扎的重要副手,Boz这一路是如何走来的呢?颇具争议的他和小扎之间又发生了怎样的故事? 初识哈佛,结缘AI 2003年左右,哈佛大学人才济济,Bosworth在哈佛大学学习计算机科学,在那里他遇到了马克·扎克伯格。 Boz是扎克伯格所修人工智能课程的助教,那时小扎还是本科生,Boz可以算是小扎半个老师。 尽管当时人工智能和神经网络技术还在发展初期,但小扎和Boz却对此抱有浓厚的兴趣。 他们经常在课后讨论AI的未来发展,分享彼此的观点和见解,逐渐建立起了深厚的友谊。 「在CS182期末考试结束两周后,Facebook于2月12日正式上线,所以他显然是一边学习一边创业建立Facebook。」Boz在哈佛大学2020年校友简介中写道。 「扎克伯格是白手起家创业,但我们谁都不知道Facebook会发展成什么样子。」 2005年,扎克伯格在哈佛读大二时退学,全职创业,专注于Facebook的运营和发展。 微软历练,投身Facebook 2004年从哈佛毕业后,Boz曾在微软短暂工作过。 根据他的Meta简介,在来Facebook之前,他担任Microsoft Visio(流程图和图表绘制软件)的开发人员已经快两年。 在2021年接受The Verge采访时,Boz表示,他在微软的短暂时光教会了他很多关于「专业软件开发和管理」的知识。 他从2006年开始正式加入Facebook,可以算是元老级员工了。当时公司大约有15名工程师,只有五六名员工比他更早加入。 打造News Feed 如果要谈及Boz为Facebook所做的贡献,绝不能避开News Feed(资讯信息流)。 2006年,信息流广告最早出现在Facebook上。Facebook堪称信息流广告的鼻祖。扎克伯格本人将News Feed视为十年间最大也是最成功的赌注之一。 News Feed改变了欧美的新闻分发方式,也为Facebook带来了巨额的广告收入回报。到2014年,Facebook超过一半的广告收入来自信息流广告。 而Boz,负责构建了Facebook的第一个News Feed。 「我搭建了信息流背后所有的人工智能和排名,而且是第一个」。 但这也给Boz本人带来了很大压力。2011年,Boz对《洛杉矶时报》表示,「它对我的消耗比生活中任何事情都更强烈」。 虽然News Feed在后来被验证为是非常成功的商业模式,但在推出初期遭到了用户的强烈反对,被认为太具有「侵入性」。 「News Feed助长了用户热情的情绪宣泄,其中大部分是负面的,我更喜欢粉丝小组,而不是『恶评』」。 「但也是在那时,我意识到Facebook的机会有多大。人们对产品的热情让我非常惭愧,也大开眼界。」 随着Boz在Facebook职业生涯的发展,他后面还领导团队相继开发了Facebook Messenger和Groups等产品。 接管广告业务 2012年,Boz本该从公司休假六个月,但他却接管了公司的广告业务。 2016年,Boz时任Facebook广告和业务平台副总裁 Boz在2015年接受《连线》采访时回忆道,在他2012年计划休假前六个月,扎克伯格让他想办法在移动平台上实现广告盈利。 根据Boz的回忆,小扎当时给他画了个饼:「未来六个月,移动领域至少有4个10亿美元的机会,你可以抓住一两个,然后你就可以去度假了。」 小扎的这个要求让Boz觉得十分疯狂,但他决定试试,「Why not?」 在Boz休假的前两天,扎克伯格请他负责Facebook所有广告产品的工程设计,Boz接受了。 Boz最终进行了为期两个月的旅行,并在年底增加了一些额外的休假时间。 在2017年之前,Boz一直负责Facebook的广告业务。 创建Reality Labs 领导了Facebook广告业务部门的建设,开发了News Feed和Groups等主要功能后,2017年,Boz创建了Meta的Reality Labs,涵盖VR、AR和虚拟世界等领域。 Reality Labs多次改名,最初被简单地称为AR/VR,然后是Facebook Reality Labs,最终叫Reality Labs。 Reality Labs一直负责生产Facebook的硬件产品,包括Meta Quest VR耳机和Meta的雷朋智能眼镜。 Reality Labs成为Meta元宇宙蓝图的一个重要组成部分。 当扎克伯格于2021年10月宣布成立Meta作为Facebook的新母公司时,他表示Meta的业务将分为两部分。 一部分是Facebook的应用程序家族,是公司传统的社交媒体业务,包括Facebook、Instagram和WhatsApp。 另一部分就是以元宇宙为中心的Reality Labs。 扎克伯格在公司宣布更名时表示,「从现在开始,我们将首先是元宇宙,而不是Facebook。」足以看出元宇宙概念和Reality Labs在公司的重要地位。 元宇宙(metaverse)是从科幻小说中借用的一个术语。 它指的是互联网的未来版本,人们使用虚拟现实和增强现实耳机等技术来访问互联网,而不是用手机和笔记本电脑上网。 在Boz的领导下,Meta在2021年与雷朋 (Ray-Ban) 合作推出了智能眼镜产品,主要功能是让用户拍摄照片和视频。 雷朋Stories眼镜于2021年9月推出,允许用户拍摄照片和视频。 Boz在产品发布前分享了一段他自己用雷朋眼镜拍摄的视频——不断往小扎身上扔枕头。 但遗憾的是,多次改名的Reality Labs最终还是难逃多舛的命运。 上个月,Boz宣告了Reality Labs重组的消息,这个曾经让小扎不遗余力地投入的「梦幻岛」,还是没有等来元宇宙之梦成真的那一刻。 Reality Labs的所有团队被整合为两个部门,一个是过去负责Quest耳机系列的「元宇宙」(Metaverse)部门。 另一个是新的「可穿戴设备」(Wearables)部门,负责Meta的其他硬件工作,包括与雷朋合作的智能眼镜。 Reality Labs的解散让很多中高层管理人员被裁撤,但Boz仍然身居要职,小扎亦仍未放弃AR/VR。 接任CTO 2021年9月,公司宣布Boz将于2022年接替Mike Schroepfer担任CTO,这是公司历史上最大的一次领导层变动。 Bosworth接替Mike Schroepfer担任首席技术官 在宣布离职的Facebook帖子中,Schroepfer谈到了Boz在 Facebook AR/VR部门的工作经历。 Schroepfer说:「在我们建立元宇宙的更广泛努力中,Boz的贡献是奠基性的组成部分」 扎克伯格在Facebook博客上发表的一份声明中对此表示赞同。 https://about.fb.com/news/2021/09/note-from-mark-zuckerberg/ 小扎在这封信中写道,「作为我们的下一任首席技术官,Boz将继续领导Facebook Reality Labs,监督我们在AR、VR等领域的工作。 「这些都是帮助我们构建元宇宙的基础性工作,在Boz的领导下,我对这项工作的未来充满期待。」 不断为公司辩护,引来争议 虽然功绩颇多,但Boz在Meta内部是一个有争议的人物。 2018年,Boz登上头条新闻,当时BuzzFeed发布了他大约两年前发送的内部备忘录。 这份备忘录的标题是「丑陋的」(The Ugly),Boz在其中似乎为Facebook上发生的许多负面消息辩护,只要公司能继续发展。 「丑陋的事实是,我们坚信人与人之间的联系是如此之深,以至于任何能让我们更频繁地与更多人建立联系的事情都是*事实上*的好事。」 他在备忘录中写道:「在我们看来,这也许是唯一一个能通过指标反映真实情况的领域。」 「这不是为了我们自己,或是为了我们的股价。而是为了这件事本身——我们将人们联系起来 」,他补充道。 BuzzFeed爆料后,扎克伯格不得不紧急公关,站出来谴责Boz的备忘录。 扎克伯格表示:「不可否认,Boz是一位才华横溢的领导者,但他说过很多挑衅性的话。这是 Facebook 的大多数人(包括我自己)强烈反对的。我们从来不相信为达到目的就可以不择手段。」 2018年,在爱尔兰立法者面前举行的委员会听证会上,时任Facebook爱尔兰公共政策负责人Nimah Sweeney也表示,Boz在公司内部「因公开负面内容而毁誉参半」。 「我们很多人都想穿梭到他发送消息之前的那一刻,并按下删除键」,Sweeney补充道。 然而,尽管为公司带来了舆论危机,也让自己备受争议,但Boz似乎并没有停笔的想法。 Boz这么做,为「脸书吹哨人」Frances Haugen提供了绝好的素材,无异于给对手送刀。 Haugen曾经揭露脸书多起内幕,引起了轩然大波。她指责脸书将商业成长置于公众安全之上。 证据就在Boz的备忘录里——Haugen泄露的文件显示,直到2020年,Boz仍在Facebook平台上撰写有关仇恨的备忘录。 在题为「需求侧问题」的备忘录中,Boz似乎质疑,Facebook试图解决其平台上的仇恨言论的举措是徒劳无益。 甚至,「不知悔改」的Boz还于2021年初将这份备忘录发布到了他的个人博客上。 他写道,「作为一个社会,我们没有仇恨言论的供给问题,我们有仇恨言论的需求问题。」 Boz补充说,「在线平台在供应方不起作用,因为它们无法控制需求方。」 除了在个人博客上写作之外,Boz还主持了一个名为「Boz to the Future」的播客。 Boz的科技播客于2021年6月开播,Facebook高管Chris Cox以及科技记者Ina Fried和Casey Newton均曾在播客中露面。 Boz有时会谈到他与扎克伯格长达近二十年的工作关系。 Boz今年在Lenny的播客上表示,当扎克伯格决定任命一名员工从事公司最重要的项目时,他会以「索伦之眼」审视工作,将注意力集中在每个细节上。 而Boz就是被小扎的「索伦之眼」选中的人,他们将继续构建Meta的元宇宙。 参考资料: https://www.businessinsider.com/facebook-meta-executive-andrew-boz-bosworth-metaverse-2021-11#bosworth-was-responsible-for-building-the-facebooks-first-news-feed-4

AI编码无需人类插手!Claude工程师摔断右手,竟一周狂干3000行代码

一次意外右手骨折,Claude工程师的工作竟被AI挽救了。近两个月的时间,他们一起结对编程,甚至在一周内干出3000行代码。他疯狂暗示,未来1-3年,就是「AI工程师」的天下。 原来,摔断胳膊也是一件幸事…… 当事人表示,「我再也不想回到过去了」。 这是为何? 事情是这样的,几个月前,Claude工程师Erik Schluntz骑车上班的路上,意外摔断右手,打上了石膏。 为了生计,他不得已用左手打字。 即便如此,Schluntz依旧在Anthropic旧金山的办公室里,一周狂肝了3000行代码。 为AI编码点赞 谁也不曾想,这背后竟是AI立了大功。 他通过结合语音转文字技术,与Claude AI结队,整整写了2个月的代码。不过,必须承认的是,其中有许多是「样板代码」。 为此,Schluntz还撰写了一篇长文,题为——AI替代了我的右手。 文章中,他表示,「通过这件事,体验到了人类几乎不再需要自己编写代码的未来」。 老实说,我爱上了这种感觉。 另一位Anthropic工程师表示,通过从这件事,我们可以获得软件工程未来几年的关键一瞥。 即使右手不能使,AI是完全可以让你成为一个10倍程序猿。 那么,Erik Schluntz如何在受伤期间,能够让AI为他高效编码呢? 初始设置 首先,文章开篇他最先介绍了,自己如何对AI进行设置,最终决定使用了Claude AI。 Schluntz在摔断手之前,也曾使用类似Copilot等AI代码生成工具,但主要还是「手写」。 2015年哈佛硕士毕业,Cobalt机器人公司创始人、Anthropic AI技术研究员 此外,他也使用过「语音转文字」,但也主要在手机上发短信,并未在电脑中尝试过这一功能。 好在,Mac内置语音控制在NLP处理上非常出色。 唯一不足的是,在听写任何与代码相关的内容时,Siri表现得很糟糕。毕竟,一些符号和词汇,大大超出其识别范围。 就比如: Schluntz:Eval Siri:Eval?你想说的是Evil吗? 当然,目前有一些专门针对代码的优秀语音转文字系统,比如Talon。 但由于Schluntz对AI代码生成非常感兴趣,于是决定尝试,用自家AI去完成这项艰巨的任务。 这里没有使用Copilot,是因为其自动补全功能,对作者来说异常慢,需要开发者先写出半行代码,才能实现。 毕竟摔伤了一只手,「动嘴」还是比「动手」快。 这时,只需将大块代码库内容一键复制粘贴到Claude AI中,然后通过语音命令进行转换。 举个栗子,Schluntz会说「重构ABC函数以接受输入XYZ」或「为这些新函数ABC编写单元测试,并查看XYZ的示例测试」。 虽然Claude并不总是能在第一次尝试时成功,但它能很好地接受后续指令和调整—— 「我感觉就像是,和AI进行『结对编程』,而由另一个人操作键盘」! 调教Claude 「被迫」这样写代码后,Schluntz很快就弄清楚了,什么样提示会生成有效代码,什么会是无效。 有时候,它非常神奇,但有时候,就连作者本人恨不得把电脑扔出窗外。 他不得不在IDE和Claude之间频繁地复制粘贴,并手动拼接被Claude输出长度限制截断的代码片段。 甚至,有几次他对Claude「提高了嗓门」,只因AI「忘记了」Schluntz之前的指令。 接下来,就看看Schluntz如何调教的Claude。 要具体,并举例说明 如果你只给出一个基本请求,LLM可能会给出一个中规中矩的通用答案,可能并不适用于你的特定代码库。 这时, 就需要给出「非常明确的指令」,来获得更优的结果。 比如,详细说明你期望的输入和输出,使用哪些库等。 Schluntz发现,将指令放在输入的开头和结尾效果最好,可以确保AI不会「遗忘」重要的上下文。 最好是,能够提供代码库示例,供AI参考。特别是,在编写单元测试、处理样板代码时,AI表现特别好。 通过示例,AI还可以学习如何使用代码库中的内部工具函数。 这当中,迁移和重构,是最完美的应用场景。 Schluntz会手动迁移一个实例,然后用它作为示例让Claude转换其余的输入。 通过这种方式,他可以快速重构大约3,000行代码。 让Claude掌舵 大多数人把LLM当作StackOverflow的替代品:他们虽是在询问方向,但仍然自己在驾驶。 Schluntz则反其道而行之。 「如果你能够给Claude正确的基础构建模块,它往往可以一次性完成整个任务」。 在周末的机器人项目中,Schluntz和朋友Survy给Claude提供了一段控制单个电机和读取蓝牙游戏手柄的代码。 通过这些构建模块,Claude能够一气呵成地编写出所有远程控制机器人的代码,节省了大量时间和繁琐的数据处理! 令人惊讶的是,这与常见的建议完全相反,即一次只向LLM提出一个问题。 尤其是,在Schluntz不熟悉的领域,Claude往往在任务分解方面表现得尤为出色。 过于具体的请求也能奏效,但有时会导致失去整体视角,类似于在没有整体背景的情况下,给出狭隘的建议。 RTFM == Read This For Me 电机控制器,有一份100页的说明书,内容繁琐且复杂。 但Schluntz和Survy将其上传到Claude,然后提问,迅速解决了其中一个问题。 在以前,这可能需要一个小时的仔细阅读,并查找相关术语和教程。 机械同理心 「你不需要成为工程师才能成为赛车手,但你必须拥有机械同理心。」 ——三届F1世界冠军Jackie Stewart 渐渐地,Schluntz开始建立起一种非常好的直觉,Claude能正确处理哪些事情,以及哪些事情仍需要人类做。 了解这种区别,让他在两个方向上都避免了很多挫败感。 Schluntz学会了哪些地方可以进行简化处理: – 「我正在使用一个名为pygame的Python库……」 简化为 「在pygame中……」 – 「当我运行你的代码时,我收到了这个错误信息……你认为我现在应该怎么做」 简化为直接复制堆栈追踪(stack trace)。 他甚至还学会了,转换或重构大块代码可以带来显著效果。例如,在每一行之间添加计时器(timing instrumentation)。 另一方面,Schluntz学到如果一个LLM在两次尝试中,无法修复一个错误,那么它永远也不能修复。这时就需要自己动手了。 他还对Claude可能会犯的错误,有了很好的直觉。 有一次,Claude给了一段代码,它循环遍历motor1, motor2, motor2, motor4,遗漏了motor3。 作者的朋友注意到这一点,并说 「这一定是幻觉」!但Schluntz能感觉到,「Claude绝不会犯这种错误」。 果然,当他们检查输入时,发现这个错误确实存在于最初放入Claude的原始代码中。 为自己构建临时工具 当Schluntz带着机器人绕着后院转了一圈后,它输出了一份包含GPS坐标和其他数据的CSV文件。 他想检查这些数据与实际情况的准确性,但并没有很高效的方法,要弄清楚如何查看和分析这些GPS坐标可能需要一个小时。 甚至,他可能会手动在手机上检查GPS坐标,用眼睛死死盯着这些数字,害怕漏掉其中一行。 这次,Schluntz将CSV文件的前两行提供给Claude。 它立即生成了一个网页APP,可以在卫星图像上渲染上传的GPS坐标CSV文件! 拥有恰好符合我需求的完美调试工具,而不用依赖print语句或预先构建的可视化工具,彻底改变了局面。 AI让软件开发变得如此便宜,以至于它可以为特定任务创建一次性工具! 总的来说,这些经验和教训让Schluntz在使用AI写代码时,变得更高效! 没有AI工具,这就像是放弃编译器,改为手写汇编语言一样。 未来会怎样? 在文章的最后,Schluntz将AI编程划分为三个阶段: 过去1-2年 过去的几年里,AI在软件工程中的最大用途是,在IDE中使用Copilot自动补代码,或是通过ChatGPT查询代码知识(以往需要去StackOverflow寻找答案)。 以及,通过一些智能体,在没有人类监督情况下辅助编程,执行多个步骤,但这些并不实用。 今年 2024年,这三个领域都在发生变革。 诸如Zed、Cursor和各种VSCode扩展这样的IDE,深入地整合了大模型,拥有更完美的上下文,还能处理更大块的代码生成。 Claude Artifacts、ChatGPT的Data Analyst取代了Jupyter Notebook。它们已经成为作者的原型开发工具,和一次性代码的首选解决方案。 最后,一批如Cognition、Factory、CodeGen等智能体初创公司,正在端到端地自动化某些工作流程。 未来1-3年 Schluntz认为,未来1-3年,会出现真正的「AI工程师」。 也就是说,这三个领域可能会融合成一个产品——「AI工程师」,一个可以在自主模式和同步模式之间连续工作的系统: 1. 自主模式适用于范围明确的任务 AI将完全独立工作,具备编写和运行代码、使用外部工具、搜索网络信息、访问内部文档以及从过去错误中学习的能力。它会不断迭代任务,直到完成或遇到瓶颈。这将占据80%的工作量。 2. 配对编程模式适用于最难的任务 人类将在高层次上指导AI,而AI负责处理低层次的实现细节。互动将是高度多模态的,人类和AI将在文本描述、视觉图表、口头讨论和直接操作彼此代码之间无缝切换。你可能会共享屏幕,让AI跟随并给出建议和意见,或者AI共享它的屏幕,而你在它操作时给予指导。 除此之外: – AI工程师将拥有与你作为员工时相同的所有背景信息和知识 AI将连接到公司的知识库,访问你的设计文件和客户访谈记录。无论是自主操作还是与人类配对,AI都能在需要时无缝地提取这些信息以做出决策。 – AI工程师将是主动的而不是阿谀奉承的 如果你提出一个设计建议,AI会提供用户访谈记录,并提出更好的建议。 AI工程师将为其工作中的简单和可预测部分派遣更便宜的子智能体,从而降低计算成本和延迟。就像你可以浏览日志文件而不必逐字阅读一样。 在Schluntz看来,AI工程师在特定方面将比大多数人类工程师更聪明,但有时会缺乏常识或者需要重新集中注意力并接受指导。 实际上,这与今天经理和产品经理与工程师合作的方式并没有太大区别。 我们还需要工程师吗? 正如计算器的发明并没有让会计师失业,而是提升了他们的工作,使他们能够在更高的抽象层次上进行思考。 会计师仍然需要知道如何做数学运算和理解计算,但像计算器和电子表格这样的工具使他们能够创造比以前更多的价值。 类似的,AI也会降低创建软件的门槛,就像任何人都可以使用Excel做个人会计一样。 学生们可以在宿舍里启动完整的应用程序和业务,小型工作室也可以为自己创建量身定制的软件工具。 这时,创造力将会是唯一的瓶颈。 人类工程师不会消失。 我们仍然需要在高层次上进行优先级排序,理解问题的整体架构和范围,并审查AI的工作,尤其是在系统变得更大时。 不同的是,我们将会把更多的时间花在思考构建什么上,而不是重复性地考虑「如何」构建。 如今,Schluntz已经摆脱了石膏的「束缚」,但他依然会将大部分代码交给Claude去写。 软件工程的未来 巧合的是,Cognition AI的总裁Russell Kaplan昨天也发表了长推,预测在AI越来越擅长写代码的时代,软件工程行业将如何发展。 Congnition AI正是第一个AI软件工程师Devin的开发商。 在Kaplan看来,研究实验室将对下一代模型的编码和推理进行更多改进。很快,模型在编程上就会变得非常出色。 为什么呢? 除了通用人工智能的进步外,编程还有一个独特的优势:通过「自我对弈」实现超越人类的数据扩展潜力。 模型可以编写代码,然后运行它;或者编写代码,编写测试,并检查一致性。 这种类型的自动监督在大多数领域是不可能实现的,因为我们在接近人类专业知识极限时,面临着后训练的数据壁垒。而代码不同——它可以通过经验和自动化进行测试。 因此,软件工程在几年内将会发生根本性的变化。 真正的编码智能体将能够完成端到端的任务,并与今天的AI Copilot相辅相成。 在这个新世界中,每个工程师都将成为工程经理,并配有一支由智能体组成的实习生大军。 工程师只需将把基本任务委派给编码智能体,然后就能把更多的时间花在解决更高层次的问题上:理解需求、架构系统以及决定构建什么。 这将引领我们进入一个前所未有的软件繁荣时代。 很快,曾经难以开发且成本高昂的软件将变得更加易于获取(提高10倍),「一次性软件」也将会大量涌现。 未来的软件工程师将比现在多得多,只是工作方式会有很大不同:更多的自然语言,以及更少的样板代码。 当然,对于这种变化,工程师们很快就能够适应,就像他们从汇编语言过渡到Python时一样。 除了直接的生产力提升之外,这还会对初创公司产生实质性的「二阶效应」。 首先,面向开发者的公司也将针对编码智能体进行「营销」。毕竟,你的智能体会决定使用哪个云服务和选择哪个数据库。 曾经作为优先考虑的用户友好CLI,将转变为智能体友好的UI/UX界面。 产品质量的门槛也将提高。在开发者能够更快交付的世界中,半成品或功能不完整的MVP将不再被接受。 随着编码智能体的兴起,测试基础设施将变得更加重要和普及。因为编码智能体会编写更多的测试,同时也会依赖这些测试来检查他们的工作。 随着智能体使代码迁移变得更容易,转换成本将不再是科技公司的护城河。公司甚至将智能迁移助手与产品进行捆绑销售,来简化使用流程。 无论具体情况如何,总体趋势是明确的:现在是成为开发者的最佳和最高效的时代。 参考资料: https://x.com/ErikSchluntz/status/1820501663998001160 https://x.com/alexalbert__/status/1820503813180280964 https://erikschluntz.com/software/2024/07/30/code-with-ai.html https://x.com/russelljkaplan/status/1820460524460802256

跨平台多模态智能体基准测试来了!但全班第一只考了35.26分

近日,来自CAMEL AI、KAUST、CMU、斯坦福、清华等高校和机构的研究人员推出了一个跨平台的多模态智能体基准测试,全面覆盖了Agent系统的真实工作场景。 生成式人工智能取得更快进展的一个障碍是评估。 ——吴恩达 假如你目前正在使用和研究类似CAMEL的多智能体系统,现在已经有了扮演研究者的Agent和负责写论文的Agent,再添加一个事实核查Agent会改善结果吗? 如果无法有效评估这种更改的影响,就很难确定前进的方向。 当然,从另一个角度来说,有一个令人信服的基准测试用来给大家刷分也是很重要的(狗头)。 近日,来自CAMEL AI、KAUST、清华等高校和机构的研究人员推出了一个跨平台的多模态智能体基准测试——CRAB。 值得一提的是,CAMEL AI团队最早做出了基于大语言模型的多智能体开源项目:https://www.camel-ai.org/、https://github.com/camel-ai/camel。 论文地址:https://arxiv.org/abs/2407.01511 这个Benchmark涉及当前AI应用的几个重点:多模态、多智能体和跨平台。 多模态能力就不用说了,毕竟是现实需求。 而多智能体系统则能够更好的为人类服务,解决更佳复杂的任务。 对于跨平台,可以举个例子:比如用手机拍完照片,然后发到电脑上P图,这就需要跨越了两种操作系统(平台)。 所以,多模态、多智能体和跨平台,是当下AI打工人能够完成真实场景下的复杂任务所必备的能力。 上图展示了CRAB的总体架构,同时也是多智能体系统基准测试的工作流程。 通过将指令分配给基准测试系统内的主Agent和图评估器,来初始化任务。 工作流是一个循环:主Agent观察、计划和指示子Agent,子Agent在各自的平台中执行操作。 图评估器监控平台中任务的状态,在整个工作流中不断更新和输出任务完成指标。 总的来说,CRAB是一个与现实世界情况密切相关的基准测试,能够更准确地反映多智能体系统在复杂任务中的表现。 那么,在这种要求甚高的测试中,最强大的一些模型能考多少分呢? ——答:全班第一考了35.26分(CR指的是完成率)。 其实还行,毕竟是突击考试。而现在靶子已经画好了,可以期待今后的模型或者AI系统进化出更贴近现实的能力。 跨平台多模态智能体评估 Crab提供了一个全面的交互式的任务评估框架,Agent需要在各种设备和平台上同时运行,满足在不同系统中高效完成任务的条件。 作者提出了一种称为图评估器的新型评估方法,与传统的基于目标或者轨迹的方法不同,图评估器通过检查完成任务的中间过程将任务分解为多个子目标。 每个子目标都被分配了一个判断函数来验证其完整性,并且每个节点都被视为图评估器中的一个节点。 图结构描述了子目标之间的顺序和并行关系,因此提供了细粒度的指标,同时又适应多种解决方案。 上表将Crab与现有框架进行了比较,包括测试涉及的几项关键能力: Interactive Environment区分是使用交互式平台还是静态数据集; Multimodal Observation指定了基于视觉的观察(例如屏幕截图)的可用性; Cross-platform表示支持多个操作系统或平台; Evaluation描述了评估指标,分为基于目标(仅根据最终目标检查平台状态)、基于轨迹(将Agent操作轨迹与标准操作序列进行比较)、多重(因任务而异)或基于图(每个节点作为中间检查点的 DAG); Task Construction展示了任务构建方法,包括人工制作、LLM启发(比如LLM生成任务草稿,但由人工验证和注释)、模板(填写任务模板中的空白)或子任务组合(组成多个子任务以构建任务和评估器)。 基于Crab框架,作者开发了一个基准测试Crab Benchmark-v0,支持Android环境和Ubuntu环境。 基准测试总共包含100个真实世界的任务,包括跨平台和单平台跨多个难度级别的任务。 任务涉及各种常见问题,以及实际应用程序和工具,包括但不限于日历、电子邮件、地图、网络浏览器、和终端,以及智能手机和台式机之间的常见交互。 框架 假设Agent在数字设备(比如台式机)上自主执行任务。这种设备通常有输入设备(鼠标和键盘)用于人机交互,以及输出设备(屏幕)来允许人类观察其状态。 作者将这种类型的设备表示为一个平台。在形式上可以定义为一个无奖励的部分可观测马尔可夫决策过程(POMDP),用元组M:=(S,A,T,O)表示。 其中S表示状态空间,A表示动作空间,T:S×A→S是转移函数,O是观测空间。 考虑到现实场景中多个设备的协作性质,可以将多个平台组合成一个集合M=M1,M2,…,Mn,其中n是平台的数量,每个平台Mj=(Sj,Aj,Tj,Oj)。 定义一个需要跨多个平台操作的任务,该任务被形式化为一个元组(M,I,R),其中M是平台集合,I是以自然语言指令的形式表示的任务目标,R是任务的奖励函数。 系统中的Agent使用预定义的系统提示、并保留其对话历史记录。 Agent系统由负责规划、推理和执行操作的单个Agent组成,或者由多个Agent进行协作。 把复杂任务分解为多个更简单的子任务,是让Agent系统能够更加精准的完成复杂任务的方法之一。 研究人员将这一概念引入基准测试领域,将复杂任务分解为具有顺序和并行连接的子任务,也就是上图中的分解任务图(GDT)。 GDT提供了一种新的任务分解方法:用DAG结构表示分解后的子任务。在GDT中,每个节点都是一个子任务,形式化为一个元组(m,i,r),其中m指定了执行子任务的平台,i提供了自然语言指令,r表示奖励函数。 这个函数评估m的状态并输出一个布尔值,以确定子任务是否完成。GDT中的边表示子任务之间的顺序关系。 跨平台 与单一平台任务相比,跨平台任务有三个主要优势: 首先,跨平台任务反映了现实世界场景,人类同时使用多个设备来完成任务。 其次,这些任务需要在平台之间进行复杂的消息处理和信息传递,要求Agent规划行动、为每个平台构建输出,并记住需要传递的内容,从而展示出对现实世界的高层次理解,和解决复杂任务的能力。 最后,多Agent系统被证明在执行复杂任务时更加有效,而跨平台任务非常适合多Agent系统,因为它们可以通过每个平台中不同的观测空间、行动空间和专门知识进行划分。 Crab使用统一接口允许Agent在所有平台中操作。作者通过名称、所属平台、功能的具体描述和参数来定义一个动作。 Agent必须在每个回合提供动作名称、参数和目标平台。Crab将动作转换为相应的功能,并通过网络将其路由到物理或虚拟设备。 图评估器 为了评估大语言模型作为Agent的能力,大多数基准测试仅基于Agent操作后平台的最终状态来评估Agent。 只判断最终目标是成功还是失败,显然不够公平,就像大题不会做,但写个解是应该给分的。 另一种方法是基于轨迹匹配,将Agent的操作与每个任务的预定义标准操作序列进行比较。 然而,在现实世界系统中,任务可能有多条有效的执行路径,比如复制文件可以使用文件管理器,也可以使用命令行。 评估指标 所以本文采用了与平台状态同步的图评估器,通过子任务完成的当前状态来跟踪Agent的进度。 除了传统的成功率(SR),只有在所有子任务都完成时才将任务标记为成功,作者还引入了三个指标,衡量Agent的性能和效率: 完成率(CR)测量完成子任务节点数的比例,计算方式为C/N,其中C是已完成节点的数量,N是总节点数。该指标直观地反映了Agent在给定任务上的进展情况。 执行效率(EE)计算为CR/A,其中A表示执行的动作次数,反映了Agent的任务执行效率。 成本效率(CE)计算为CR/T,其中T是Agent使用的总token数,评估了Agent消耗资源的效率。 实验 要在Crab Benchmark-v0中运行,多模态模型需要支持: (1)接受多模态混合输入,系统同时提供屏幕截图和文本指令作为提示; (2)处理多轮对话,大多数任务需要Agent执行多个操作,必须在上下文中存储历史消息; (3)通过函数调用生成结构化输出。 实验选择了四种满足这些标准的多模态模型:GPT-4o、GPT-4 Turbo、Gemini 1.5 Pro和Claude 3 Opus,下表给出了其中一部分结果: 参考资料:https://github.com/camel-ai/crabhttps://arxiv.org/abs/2407.01511https://github.com/camel-aiwww.camel-ai.org

精准0误差,输入价格打骨折!OpenAI官宣API支持结构化输出,JSON准确率100%

程序员福音!OpenAI新推出的模型API全部支持结构化输出,JSON Schema匹配率高达100%,成本还立减一半。 还在绞尽脑汁想一堆提示词,为一顿操作后五花八门的输出结果而头疼?OpenAI终于听到了群众的呼声,为广大开发者送上渴望已久的第一大功能。OpenAI今日宣布新功能上线,ChatGPT API现已支持JSON结构化输出。 JSON(JavaScript Object Notation)是文件和数据交换格式的行业标准,因为它既易于人类读取又易于机器解析。然而,LLM常常与JSON对着干,经常会产生幻觉,要不生成仅部分遵循指令的响应,要不就生成一堆「天书」,根本无法完全解析。这就需要开发人员使用多种开源工具、尝试不同的提示或重复请求等来生成理想的输出结果,耗时耗力。结构化输出功能于今天发布,以上棘手的难题迎刃而解,确保模型生成的输出与JSON中规定的schema相匹配。一直以来,结构化输出功能是开发人员呼声最高的头号功能,奥特曼在推文中也表示,该版本是应广大用户的要求发布的。OpenAI发布的新功能确实击中了许多开发者的心,他们一致认为「This is a big deal」。纷纷留言表示赞叹,直呼「Excellent!」。几家欢喜几家愁,OpenAI的这次更新,又让人担心会吞噬初创公司。然而,对于更多的普通用户来说,他们更关心的问题是GPT-5到底什么时候发布,至于JSON Schema,「那是什么?」毕竟,没有GPT-5的消息,OpenAI今年秋季的DevDay,可能与去年相比,将会显得安静了许多。 轻松确保模式一致性 有了结构化输出,只需要定义一个JSON Schema,AI就会不再「任性」,乖乖按照指令要求输出数据。并且,新功能不仅仅让AI变得更加听话,还能大大提高输出内容的可靠性。在对复杂的JSON schema的跟踪评估中,带有结构化输出的新模型gpt-4o-2024-08-06获得了100%的满分。相比之下,gpt-4-0613的得分不到40%。实际上,JSON Schema功能就是OpenAI在去年的DevDay上推出的。现在,OpenAI在API中扩展了这项功能,确保模型生成的输出与开发人员提供的JSON Schema完全匹配。从非结构化输入生成结构化数据是当今应用中人工智能的核心用例之一。开发人员使用OpenAI API构建强大的助手,能够通过函数调用获取数据和回答问题,提取结构化数据以进行数据输入,并构建多步骤的智能体工作流(multi-step agentic workflows),从而允许LLM采取行动。 技术原理 OpenAI采用了一种双管齐下的方法来提高模型输出与JSON Schema的匹配度。最新的gpt-4o-2024-08-06模型经过训练,可以更好地理解复杂的Schema并生成与之匹配的输出。尽管模型性能已显著提升,在基准测试中达到了93%的准确性,但固有不确定性仍然存在。为了确保开发者构建应用的稳定性,OpenAI提供了一种更高准确度的方法来约束模型的输出,从而实现100%的可靠性。 约束解码 OpenAI采用了一种称为约束采样或约束解码的技术,默认情况下,模型生成输出时完全不受约束,可能从词汇表中选择任何token作为下一个输出。这种灵活性可能导致错误,例如,在生成有效JSON时随意插入无效字符。为了避免此类错误,OpenAI使用动态约束解码的方法,确保生成的输出token始终符合提供的schema。为了实现这一点,OpenAI将提供的JSON Schema转换为上下文无关文法(CFG)。对于每个JSON Schema,OpenAI计算出一个代表该模式的语法,并在采样期间高效地访问预处理的组件。这种方法不仅使生成的输出更准确,还减少了不必要的延迟。首次请求新模式可能会有额外的处理时间,但随后的请求通过缓存机制实现快速响应。 备选方案 除了CFG方法,其他方法通常使用有限状态机(FSM)或正则表达式来进行约束解码。然而,这些方法在动态更新有效token时能力有限。特别是对于复杂的嵌套或递归数据结构,FSM通常难以处理。OpenAI的CFG方法在表达复杂schema时表现出色。例如,支持递归模式的JSON schema在OpenAI API上已得到实现,但无法通过FSM方法表达。 输入成本节省一半 支持函数调用的所有模型均可实现结构化输出,包括最新的GPT-4o和GPT-4o-mini模型,以及微调模型。此功能可在Chat Completions API、Assistants API和Batch API上使用,并兼容视觉输入。与gpt-4o-2024-05-13版本相比,gpt-4o-2024-08-06版本在成本上也更具优势,开发者可以在输入端节省50%的成本(2.50美元/1M oken),在输出端节省33%的成本(10.00美元/1M token)。 如何使用结构化输出 在API中可以使用两种形式引入结构化输出: 函数调用 通过在函数定义中设置strict: true,可以实现通过工具的结构化输出。此功能适用于支持工具的所有型号,包括所有型号gpt-4-0613和gpt-3.5-turbo-0613及更高版本。启用结构化输出后,模型输出将与提供的工具定义匹配。示例请求: POST /v1/chat/completions {   "model": "gpt-4o-2024-08-06",   "messages": [     {       "role": "system",       "content": "You are a helpful assistant. The current date is August 6, 2024. You help users query for the data they are looking for by calling the query function."     },     {       "role": "user",       "content": "look up all my orders in may of last year that were fulfilled but not delivered on time"     }   ],   "tools": [     {       "type": "function",       "function": {         "name": "query",         "description": "Execute a query.",         "strict": true,         "parameters": {           "type": "object",           "properties": {             "table_name": {               "type": "string",               "enum": ["orders"]             },             "columns": {               "type": "array",               "items": {                 "type": "string",                 "enum": [                   "id",                   "status",                   "expected_delivery_date",                   "delivered_at",                   "shipped_at",                   "ordered_at",                   "canceled_at"                 ]               }             },             "conditions": {               "type": "array",               "items": {                 "type": "object",                 "properties": {                   "column": {                     "type": "string"                   },                   "operator": {                     "type": "string",                     "enum": ["=", ">", "<", ">=", "<=", "!="]                   },                   "value": {                     "anyOf": [                       {                         "type": "string"                       },                       {                         "type": "number"                       },                       {                         "type": "object",                         "properties": {                           "column_name": {                             "type": "string"                           }                         },                         "required": ["column_name"],                         "additionalProperties": false                       }                     ]                   }                 },                 "required": ["column", "operator", "value"],                 "additionalProperties": false               }             },             "order_by": {               "type": "string",               "enum": ["asc", "desc"]             }           },           "required": ["table_name", "columns", "conditions", "order_by"],           "additionalProperties": false         }       }     }   ] } 示例输出: {   "table_name": "orders",   "columns": ["id", "status", "expected_delivery_date", "delivered_at"],   "conditions": [     {       "column": "status",       "operator": "=",       "value": "fulfilled"     },     {       "column": "ordered_at",       "operator": ">=",       "value": "2023-05-01"     },     {       "column": "ordered_at",       "operator": "<",       "value": "2023-06-01"     },     {       "column": "delivered_at",       "operator": ">",       "value": {         "column_name": "expected_delivery_date"       }     }   ],   "order_by": "asc" } response_format参数的新选项 开发人员现在可以通过response_format的新选项json_schema选择是否需要规定格式的输出。当模型不调用工具,而是以结构化方式响应用户时,这一功能非常有用。此功能适用于最新的GPT-4o型号:今天发布的gpt-4o-2024-08-06和gpt-4o-mini-2024-07-18 。将response_format设置为strict:true时,模型输出将与提供的schema匹配。示例请求: POST /v1/chat/completions {   "model": "gpt-4o-2024-08-06",   "messages": [     {       "role": "system",       "content": "You are a helpful math tutor."     },     {       "role": "user",       "content": "solve 8x + 31 = 2"     }   ],   "response_format": {     "type": "json_schema",     "json_schema": {       "name": "math_response",       "strict": true,       "schema": {         "type": "object",         "properties": {           "steps": {             "type": "array",             "items": {               "type": "object",               "properties": {                 "explanation": {                   "type": "string"                 },                 "output": {                   "type": "string"                 }               },               "required": ["explanation", "output"],               "additionalProperties": false             }           },           "final_answer": {             "type": "string"           }         },         "required": ["steps", "final_answer"],         "additionalProperties": false       }     }   } } 示例输出: {   "steps": [     {       "explanation": "Subtract 31 from both sides to isolate the term with x.",       "output": "8x + 31 - 31 = 2 - 31"     },     {       "explanation": "This simplifies to 8x = -29.",       "output": "8x = -29"     },     {       "explanation": "Divide both sides by 8 to solve for x.",       "output": "x = -29 / 8"     }   ],   "final_answer": "x = -29 / 8" } 开发人员可以使用结构化输出逐步生成答案,以引导达到预期的输出。根据OpenAI的说法,开发人员不需要验证或重试格式不正确的响应,并且该功能允许更简单的提示。 原生SDK支持 OpenAI称他们的Python和Node SDK已更新,原生支持结构化输出。为工具提供架构或响应格式就像提供Pydantic或Zod对象一样简单,OpenAI的SDK能将数据类型转换为支持的JSON模式、自动将JSON响应反序列化为类型化数据结构以及解析拒绝。 from enum import Enum from typing import Union from pydantic import BaseModel import openai from openai import OpenAI class Table(str, Enum):     orders = "orders"     customers = "customers"     products = "products" class Column(str, Enum):     id = "id"     status = "status"     expected_delivery_date = "expected_delivery_date"     delivered_at = "delivered_at"     shipped_at = "shipped_at"     ordered_at = "ordered_at"     canceled_at = "canceled_at" class Operator(str, Enum):     eq = "="     gt = ">"     lt = "<"     le = "<="     ge = ">="     ne = "!=" class OrderBy(str, Enum):     asc = "asc"     desc = "desc" class DynamicValue(BaseModel):     column_name: str class Condition(BaseModel):     column: str     operator: Operator     value: Union[str, int, DynamicValue] class Query(BaseModel):     table_name: Table     columns: list[Column]     conditions: list[Condition]     order_by: OrderBy client = OpenAI() completion = client.beta.chat.completions.parse(     model="gpt-4o-2024-08-06",     messages=[         {             "role": "system",             "content": "You are a helpful assistant. The current date is August 6, 2024. You help users query for the data they are looking for by calling the query function.",         },         {             "role": "user",             "content": "look up all my orders in may of last year that were fulfilled but not delivered on time",         },     ],     tools=[         openai.pydantic_function_tool(Query),     ], ) print(completion.choices[0].message.tool_calls[0].function.parsed_arguments) 而且,本机结构化输出支持也可用于response_format 。 from pydantic import BaseModel from openai import OpenAI class Step(BaseModel):     explanation: str     output: str class MathResponse(BaseModel):     steps: list[Step]     final_answer: str client = OpenAI() completion = client.beta.chat.completions.parse(     model="gpt-4o-2024-08-06",     messages=[         {"role": "system", "content": "You are a helpful math tutor."},         {"role": "user", "content": "solve 8x + 31 = 2"},     ],     response_format=MathResponse, ) message = completion.choices[0].message if message.parsed:     print(message.parsed.steps)     print(message.parsed.final_answer) else:     print(message.refusal) 其他用例 开发人员经常使用OpenAI的模型为各种用例生成结构化数据。其他一些例子包括:-根据用户意图动态生成用户界面开发人员可以使用结构化输出来创建代码或UI生成应用程序。使用相同的response_format ,可根据用户输入生成不同的 UI。例如,创建「园丁的登录界面」:就是用以下代码生成的: {   "type": "div",   "label": "",   "children": [     {       "type": "header",       "label": "",       "children": [         {           "type": "div",           "label": "Green Thumb Gardening",           "children": [],           "attributes": [{ "name": "className", "value": "site-title" }]         },         {           "type": "div",           "label": "Bringing Life to Your Garden",           "children": [],           "attributes": [{ "name": "className", "value": "site-tagline" }]         }       ],       "attributes": [{ "name": "className", "value": "header" }]     },     {       "type": "section",       "label": "",       "children": [         {           "type": "div",           "label": "",           "children": [             {               "type": "div",               "label": "About Us",               "children": [                 {                   "type": "div",                   "label": "At Green Thumb Gardening, we specialize in transforming your outdoor spaces into beautiful, thriving gardens. Our team has decades of experience in horticulture and landscape design.",                   "children": [],                   "attributes": [                     { "name": "className", "value": "about-description" }                   ]                 }               ],               "attributes": [{ "name": "className", "value": "about-section" }]             }           ],           "attributes": [{ "name": "className", "value": "content" }]         }       ],       "attributes": [{ "name": "className", "value": "about-container" }]     },     {       "type": "section",       "label": "",       "children": [         {           "type": "div",           "label": "",           "children": [             {               "type": "div",               "label": "Our Services",               "children": [                 {                   "type": "div",                   "label": "Garden Design",                   "children": [],                   "attributes": [                     { "name": "className", "value": "service-item" }                   ]                 },                 {                   "type": "div",                   "label": "Plant Care & Maintenance",                   "children": [],                   "attributes": [                     { "name": "className", "value": "service-item" }                   ]                 },                 {                   "type": "div",                   "label": "Seasonal Cleanup",                   "children": [],                   "attributes": [                     { "name": "className", "value": "service-item" }                   ]                 },                 {                   "type": "div",                   "label": "Custom Landscaping",                   "children": [],                   "attributes": [                     { "name": "className", "value": "service-item" }                   ]                 }               ],               "attributes": [{ "name": "className", "value": "services-list" }]             }           ],           "attributes": [{ "name": "className", "value": "content" }]         }       ],       "attributes": [{ "name": "className", "value": "services-container" }]     }   ],   "attributes": [{ "name": "className", "value": "landing-page" }] } – 将最终答案与支撑性的推理或附加评论分开为模型提供一个单独的思维链字段可以提高响应的最终质量。请求: {   "model": "gpt-4o-2024-08-06",   "messages": [     {       "role": "system",       "content": "You are a helpful assistant"     },     {       "role": "user",       "content": "9.11 and 9.9 -- which is bigger?"     }   ],   "response_format": {     "type": "json_schema",     "json_schema": {       "name": "reasoning_schema",       "strict": true,       "schema": {         "type": "object",         "properties": {           "reasoning_steps": {             "type": "array",             "items": {               "type": "string"             },             "description": "The reasoning steps leading to the final conclusion."           },           "answer": {             "type": "string",             "description": "The final answer, taking into account the reasoning steps."           }         },         "required": ["reasoning_steps", "answer"],         "additionalProperties": false       }     }   } } 结构化输出: {   "reasoning_steps": [     "First step is to compare the numbers 9.11 and 9.9.",     "Both numbers have the same whole number part, which is 9.",     "To compare the decimal parts, convert them to the same number of decimal places.",     "9.11 has two decimal places: it is 9.11.",     "9.9 has one decimal place: it can be rewritten as 9.90.",     "Now, compare 9.11 and 9.90 by looking at the decimal parts.",     "Compare 11 with 90.",     "90 is greater than 11, so 9.90 is greater than 9.11."   ],   "answer": "9.9 is bigger than 9.11." } – 从非结构化数据中提取结构化数据例如,指示模型从会议记录中提取待办事项、截止日期和作业等内容。请求: POST /v1/chat/completions {   "model": "gpt-4o-2024-08-06",   "messages": [     {       "role": "system",       "content": "Extract action items, due dates, and owners from meeting notes."     },     {       "role": "user",       "content": "...meeting notes go here..."     }   ],   "response_format": {     "type": "json_schema",     "json_schema": {       "name": "action_items",       "strict": true,       "schema": {         "type": "object",         "properties": {           "action_items": {             "type": "array",             "items": {               "type": "object",               "properties": {                 "description": {                   "type": "string",                   "description": "Description of the action item."                 },                 "due_date": {                   "type": ["string", "null"],                   "description": "Due date for the action item, can be null if not specified."                 },                 "owner": {                   "type": ["string", "null"],                   "description": "Owner responsible for the action item, can be null if not specified."                 }               },               "required": ["description", "due_date", "owner"],               "additionalProperties": false             },             "description": "List of action items from the meeting."           }         },         "required": ["action_items"],         "additionalProperties": false       }     }   } } 结构化输出: {   "action_items": [     {       "description": "Collaborate on optimizing the path planning algorithm",       "due_date": "2024-06-30",       "owner": "Jason Li"     },     {       "description": "Reach out to industry partners for additional datasets",       "due_date": "2024-06-25",       "owner": "Aisha Patel"     },     {       "description": "Explore alternative LIDAR sensor configurations and report findings",       "due_date": "2024-06-27",       "owner": "Kevin Nguyen"     },     {       "description": "Schedule extended stress tests for the integrated navigation system",       "due_date": "2024-06-28",       "owner": "Emily Chen"     },     {       "description": "Retest the system after bug fixes and update the team",       "due_date": "2024-07-01",       "owner": "David Park"     }   ] } 安全的结构化输出安全是OpenAI的首要任务——新的结构化输出功能将遵守OpenAI现有的安全政策,并且仍然允许模型拒绝不安全的请求。为了使开发更简单,API响应上有一个新的refusal字符串值,它允许开发人员以编程方式检测模型是否生成拒绝而不是与架构匹配的输出。当响应不包含拒绝并且模型的响应没有过早中断(如finish_reason所示)时,模型的响应将可靠地生成与提供的schema匹配的有效JSON。 {   "id": "chatcmpl-9nYAG9LPNonX8DAyrkwYfemr3C8HC",   "object": "chat.completion",   "created": 1721596428,   "model": "gpt-4o-2024-08-06",   "choices": [     {       "index": 0,       "message": {         "role": "assistant",         "refusal": "I'm sorry, I cannot assist with that request."       },       "logprobs": null,       "finish_reason": "stop"     }   ],   "usage": {     "prompt_tokens": 81,     "completion_tokens": 11,     "total_tokens": 92   },   "system_fingerprint": "fp_3407719c7f" } 参考资料: https://openai.com/index/introducing-structured-outputs-in-the-api/ https://x.com/sama/status/1820881534909300769 https://venturebeat.com/ai/openai-has-finally-released-the-no-1-feature-developers-have-been-desperate-for/

吴恩达弟子打造arXiv弹幕版,每篇论文都能自由讨论了!

现在,arXiv的每篇论文,都能直接提问讨论了! 只需把URL中的 arXiv 替换成 AlphaXiv,就能对任意一篇论文发布提问或讨论。 或者是下载插件,网页上就会多出一个 Discuss 的入口,点开是一样的效果。 这就是由斯坦福AI实验室学生构建的论文开放讨论论坛“ AlphaXiv”。 任何人 注册ID后就能发布评论。 刚刚全面上线,立马在学术圈引发轰动。 LeCun看了连连称好。 学者们激动围观: 这才是学术圈应该有的样子!开放而且积极讨论。 有人觉得这将改写学术论文的交流形式。 它真正意义上实现了作者和读者之间的双向讨论。 AlphaXiv由来自斯坦福大学计算机系的学生一手打造。 值得一提的是,两位联创都曾在/正在吴恩达实验室学习工作。 人人可公开提问 想要在AlphaXiv中发表评论,需要先注册账号。 一开始,AlphaXiv论坛会确认你的 研究领域和方向。这里延续了arXiv的风格,arXiv作为最大的开放获取预印本存储库,拥有近240万篇学术论文,涵盖人工智能、医学、计算机科学、物理学、密码学、数字健康等。 用户可以申请当 reviewer(所在领域论文评审员),就像顶会那样,评审员能够主持讨论、投票选出特色论文,以及留下与ORCID账户关联的评论。 想要申请当reviewer,需要填写相应的表格。 如果只是想当普通用户,现在已经可以开始自由讨论提问了。 比如打开AI领域经典之作《Attention is All You Need》,可以看到有很多人已经留下了评论。 可以选取论文中 任意一行进行评论,评论有四类可以选择: General:用于澄清、解释较小的问题。 Research:详细的见解、批评、替代方法、发现错误,基于本文的方法等。 Resources:论文的相关链接和信息,比如GitHub、博客文章、视频等。 Private:仅私人可见的评论,可用来记笔记或想法等。 由此读者们就能针对很多细节提问,比如,“如何决定层数和每层的尺寸?”、“这篇论文直接跳到键、查询和值矩阵,这让我有点困惑”…… 针对这些提问,围观群众可以任意回复,以及顶帖或表示反对(最右侧)。 为了防止滥用,论坛限制了“表示反对”这项功能的每日使用次数。(貌似点了两三下就出现不可用提醒了) 关于回复评论,这里还有一个比较有意思的论坛规则。 论坛设置了一项名为“每周论文”的新举措,当特色论文公开展示时,论文作者 一周内需回复所有评论。 这不,我们刚好捉住了某研究团队最新上榜的论文,真有点打擂台那味儿了~ 插一嘴,论文作者身份需要申请认证,认证完成后可随时查看新留言并及时回复。 不仅限于论文作者,一些留言还能得到斯坦福和哈佛大学的既定研究团队回复。 除了上述,由于论坛逐渐走向公开,一些规则也在不断演进。 比如关于是否匿名评论,由于一开始论坛只在一些高校内部使用,因此不太care这点~ 而现在论坛加上了 身份识别功能(ORCID认证),相当于可以选择实名认证。 认证完成后,用户的学校、单位都可以进一步公开。(以下为认证前后区别) 据说还有一个群组模式,可以把同实验室/同小组的人拉到一个分组里,评论仅能组成员看到。 值得一提的是,在AlphaXiv正式官宣前,它已经吸引了不少人的注意,还有人发帖安利。 这次算是正式官宣。 围观网友觉得,这种模式一定会让学者们从中受益。 有人提问,为啥不直接在arXiv中这么做?团队回复: 希望之后能试试。 还有人建议结合一些奖励机制,这样之后就能演变成一种同行评审的新形式了。 以及还有人好奇,AlphaXiv应该怎么发音呢? 以及注意,AlphaXiv中没有“r”,别打错了(doge) 主创来自吴恩达实验室 Alphaxiv项目最初在去年5月提出。 两位主创分别是 Rehaan Ahmad 和 Raj Palleti,他们都是斯坦福大学计算机系。 Ahmad马上本科毕业。他在2021年上半年在吴恩达实验室担任研究助理,负责AI医学方面的探索开发。 现在是斯坦福AI实验室中IRIS实验室的本科研究员。 Palleti正在本硕连读ing。他现在是斯坦福AI实验室的深度学习研究员,正在吴恩达实验室工作,负责开发可计算患者心肌损伤概率的深度学习模型。 Alphaxiv最初是他们web开发课的 期末作业。 项目完成后,斯坦福内部的几个实验室开始使用。过程中自然遇到了很多问题,比如允许匿名、没有审核功能等。 在过去几个月里,他们一直在不断优化这个项目。今年4月,主创在回复网友帖子的时候透露,当时他们正在做ORCID集成,也就是将ORCID系统与其他科研管理系统、出版平台、学术数据库等集成在一起,实现数据的互通和自动化更新。ORCID提供了一个唯一且持久的数字标识符,用于识别学术研究者,并链接他们的研究成果和活动。 除了主创之外,项目还有多名业内大佬作为顾问,比如 曾创立了谷歌X实验室和自动驾驶团队的Sebastian Thrun教授。 项目创立后,陆续还有几位学生一同加入。 △ 最左为Ahmad,蓝色T恤为Palleti 目前,已经有不少实验室宣布与AlphaXiv合作,促进学术研究进步。 One More Thing 值得一提的是,让学术研究讨论更公开化是近几年圈内重点关注的问题。 2013年LeCun和Bengio等创办ICLR会议并推广OpenReview,优化同行评审过程。 到现在,OpenReview已经成为很多学术会议的通用标准。 最近一段时间,学术评审“玄学”的问题也总是引发业界讨论。很多人觉得一些评审过程有缺陷,“论文是否被接收和论文质量本身关系不大”。 LeCun就提到过自己一篇从未被接收、ArXiv独占的论文,现在被引用次数已超过1880次。 如今,随着AlphaXiv正式上线,公开讨论的范围又能进一步扩大了。 插件地址: https://chromewebstore.google.com/detail/alphaxiv-open-research-di/liihfcjialakefgidmaadhajjikbjjab 参考链接: [1]https://x.com/StanfordAILab/status/1818669016325800216 [2]https://telescoper.blog/2024/03/09/introducing-alphaxiv/ [3]https://www.linkedin.com/pulse/stanford-students-launch-alphaxiv-new-frontier-margaretta-colangelo-jh0qf/

开放域检测新SOTA!中山大学美团出品,开源性能最强

开放域检测领域,迎来新进展—— 中山大学联合美团提出新模型OV-DINO,实现开放域检测开源新SOTA! 比Grounding DINO高12.7% AP,比YOLO-World 高4.7% AP。 目标检测技术一直是研究的热点。但传统的目标检测方法往往受限于预定义的类别集合,难以应对现实世界中种类繁多的物体。 为了突破这一限制,开放词汇检测(Open-Vocabulary Detection, OVD)应运而生。换言之,它能在模型在没有预先定义类别的情况下,通过文本描述来识别和检测物体。 OV-DINO是基于语言感知选择性融合、统一的开放域检测方法。作为最强开放域检测开源模型,目前项目已公开论文和代码,在线Demo也可体验。 什么是OV-DINO? 本文提出了一种名为OV-DINO的开放域检测方法。 整体框架包括一个文本编码器、一个图像编码器和一个检测头。模型接收图像和提示文本作为输入,通过特定模板创建统一的文本嵌入表示。 图像和文本嵌入经过编码器处理后,图像嵌入通过Transformer编码器生成精细化的图像嵌入。 语言感知查询选择模块选择与文本嵌入相关的对象嵌入,并在解码器中与可学习的内容查询融合,最终输出分类分数和回归边界框。 统一数据集成(UniDI) 在预训练阶段,OV-DINO将检测数据、定位数据和图像-文本数据转换为统一的检测数据格式,从而简化模型优化过程并提高性能。检测数据和定位数据的集成相对简单,而图像-文本数据的转换则通过将图像描述视为图像的唯一类别来实现。所有文本输入都通过简单模板进行统一处理,确保一致的文本嵌入表示。 语言感知选择性融合(LASF) 该模块包括语言感知查询选择和语言感知查询融合两个关键组件。查询选择组件通过评估图像嵌入和文本嵌入的相似性来选择对象嵌入。查询融合组件逐步融合语言感知对象嵌入,同时保留内容查询的原始语义。语言感知查询选择通过计算图像嵌入和文本嵌入的相似性矩阵,并选择最相关的嵌入。查询融合则在解码器层中动态更新内容查询,逐步引入语言感知上下文。 预训练 OV-DINO采用检测中心的数据格式,将不同类型的数据(检测数据、定位数据和图像-文本数据)转化为适合检测的格式,允许在统一的框架内进行预训练。模型的前向传播过程包括图像编码器提取图像嵌入、文本编码器提取文本嵌入、Transformer编码器生成精细化图像嵌入、语言感知查询选择模块选择对象嵌入,以及Transformer解码器通过选择性融合模块进行查询分类和边界框回归。模型通过统一的分类损失函数和目标框损失函数进行优化。 通过上述设计,OV-DINO实现了开放域检测的高效预训练和性能提升。 实验结果 OV-DINO使用Swin Transformer作为图像编码器和BERT-base作为文本编码器的模型架构,通过统一数据集成(UniDI)流程整合了多样化的数据源,如Objects365、GoldG grounding和Conceptual Captions图像-文本数据集,进行端到端的预训练。在此基础上,引入了语言感知选择性融合(LASF)模块来优化跨模态的语义对齐。在预训练阶段,批量大小为128,训练周期为24个epoch,使用了AdamW优化器,学习率调度采用多步衰减策略。在COCO数据集进行了额外的微调,批量大小为32,设置了更小的学习率。在COCO和LVIS基准数据集上进行评估,采用平均精度(AP)和固定平均精度(Fixed AP)作为主要指标。 COCO Benchmark 在零样本评估设置中,OV-DINO在COCO 2017验证集上取得了50.6%的平均精度(AP),这在同类方法中表现突出。该结果显著优于先前的方法,GLIP和G-DINO,显示了OV-DINO在处理未见类别时的强大泛化能力。在COCO数据集上进行微调后,OV-DINO进一步提升了性能,达到了58.4%的AP,刷新了该领域的记录。这一结果证明了OV-DINO不仅在零样本情况下表现出色,通过进一步的微调也能在封闭词汇集上实现卓越的检测性能。 LVIS Benchmark 在零样本评估设置中,OV-DINO在LVIS MiniVal数据集上取得了40.1%的AP,显著优于其他现有方法,如GLIP和G-DINO。在LVIS Val数据集上,OV-DINO也展现了强大的性能,取得了32.9%的AP。OV-DINO在处理LVIS数据集中的长尾类别时表现出色,能够检测到稀有(rare)、常见(common)和频繁(frequent)类别的物体。在LVIS MiniVal数据集上,OV-DINO在稀有类别上取得了34.5%的AP,在常见类别上取得了39.5%的AP,在频繁类别上取得了41.5%的AP。 可视化结果 可视化结果显示,OV-DINO能够准确地检测出图像中定义的所有对象,并且置信度分数较高。与GLIP和G-DINO等其他方法相比,OV-DINO的预测更加精确,并且能够检测到标签中未标记的额外对象。 LVIS数据集包含超过1000个类别,OV-DINO在零样本推断中展现了其检测多样化实例的能力。可视化结果突出了OV-DINO在长尾类别上的性能,显示出在图像中检测到丰富多样的物体类别,并且预测结果具有高准确性。 通过在COCO和LVIS数据集上的可视化结果,OV-DINO证明了其强大的零样本泛化能力,即使是在面对训练期间未遇到的类别时也能进行有效的检测。 最后小小总结一下,OV-DINO是一个统一的开放域检测方法,通过语言感知的选择性融合和统一数据集成(UniDI)显著提高了检测性能。在COCO和LVIS基准测试中,OV-DINO实现了超越现有最先进方法的性能,在零样本和微调评估中均展现出卓越的结果。通过引入语言感知的跨模态融合和对齐,OV-DINO为开放域检测(OVD)提供了一种新颖的视角,与传统的区域-概念对齐方法不同。尽管OV-DINO在性能上取得了显著成果,但仍存在一些挑战和局限性,如模型扩展性、计算资源需求等。 论文地址: https://arxiv.org/abs/2407.07844 代码地址: https://github.com/wanghao9610/OV-DINO Demo: http://47.115.200.157:7860/

21岁天才少年创业AI硬件一夜爆火:710元换一个挂在脖子上的AI朋友

99美元(约710人民币),就能和AI“交个朋友”? 一条叫做Friend的“AI项链”在推特上爆火,浏览量已超过2000万。 在Rabbit、Humane接连翻车,人们对AI硬件大失所望的背景下,Friend却异军突起,赢来了网友们的接连好评。 就像视频中展示的那样,你可以带着它去爬山、聚会或者约会,也可以在独处的时候跟它交流。 总之,它可以随时保持在线,倾听你的倾诉,成为最亲密的 AI聊天搭子。 背后的公司创始人兼CEO是21岁天才少年 Avi Schiffmann,哈佛大学辍学本科生,17岁读高中时曾因开发疫情追踪网站而名名声大噪。 为了推广Friend,Avi不惜借款,花费180万美元(约1300万人民币)重金购买了friend.com的域名。 在介绍Friend的推文中,Avi特意强调,Friend“并非是想象”。 换言之,或许人们的脑海中有一个想象的朋友,但Friend 把这种想象变成了现实,而这句话也是Friend的slogan。 知名科技博主Marques Brownlee看了后很是惊讶,连忙问这真的不是个玩笑吗? CEO Avi则回复说会给他寄一个过去,期待着他的好评。 还有人想到了OpenAI近期的动作—— 谷歌AI获得IMO银牌的同时,OpenAI推出了AI搜索工具SearchGPT; Aidan McLau的初创公司Topology ai推出连续学习模型CLM时,OpenAI宣布模型输出长度增加到了64k; Avi的Friend上线爆火,OpenAI的《Her》式语音对话终于姗姗来迟。 总之,这位网友是把Friend也看做了OpenAI的竞争对手,还说奥特曼最近是见招拆招。 Friend能否成为OpenAI的对手暂且交给时间来回答,下面先来了解一下这个“AI伴侣”。 AI伴侣“拯救孤独” 如开头的宣传视频展示的一样,Friend会像朋友一样,随时随地倾听使用者的声音。 不过Friend还不是独立设备,需要通过蓝牙连接到手机才能使用,且暂时只支持iOS。 当需要它对我们做出回应时,只需按动项链上的按钮,然后就会在手机端收到文本回复。 宣传片中来自Emily的消息,就是由Friend发出的。 Avi介绍,Friend背后使用的大模型,是基于当今最强开源模型Llama 3.1打造的。 为了保障隐私安全,Friend采用了 端到端加密 的方式,且除了对话窗口之外,对话信息不会被存储到任何地方,并可以随时删除。 但这也意味着,一旦设备丢失或损坏,已有的记忆将彻底丢失,无法被恢复。 对于这个产品的意义,创始人Avi表示,它不是AI助手,而是一个 “情感玩具”(emotional toy)。 我认为始终倾听非常重要,因为这确实感觉就像(和朋友)在一起做事。 因为你有一个人工智能朋友的实体化身,所以感觉就像它就在你身边。 在他看来,Friend最重要的目的,是帮助人们 缓解孤独。 正是今年年初独自一人在酒店当中感到孤单时,Avi萌生了有关Friend的想法。 当然,按照他的观点,孤独的环节,也能间接提高工作效率。 如果目标是提高工作效率,那么没有什么比一个支持、鼓励并帮助稳定情绪的亲密朋友,更能提高你的工作效率了。 不过,Avi也强调,Friend的出现并不是为了取代现实中的朋友,宣传片当中的女主,最终的选择也是回归到真实世界。 这一场景也获得了网友的称赞。 目前,Friend已面向美国和加拿大用户开启预售,价格为99美元(约710人民币),无额外订阅费用。 第一批的三万台设备,计划于明年1月开始发货。 21岁天才少年创业成果 Avi的领英资料显示,他的公司于2023年5月创立。 该公司已经筹集到了250万美元,估值达到了5000万美元。 投资者包括Caffeulated Capital、Vercel CEO Guillermo Rauch、Perplexity创始人兼CEO Aravind Srinivas 等。 创始人Avi,2021年被哈佛大学录取,后来辍学创业。 2020年,当时17岁、正在读高中的Avi搭建了COVID追踪网站,创立3个月时就获得了4千万独立访问者的数亿次访问。 Avi也因此名声大振,还被邀请参加了Lady Gaga、霉霉、碧梨等众多明星参与的线上演唱会。 公司成立后,Avi开始研发Friend的上一代产品Tab,功能是随时记录语音并转成文本,然后交给ChatGPT等模型进行总结。 不同于99美元且无需订阅的Friend,Tab在去年10月发布时的预售价是600美元,其中包括50美元一年的订阅费。 △ Tab概念图 截至今年初,Tab的销售额达到了10万美元,Friend推出后,原先预购Tab的用户可以选择换成Friend或者全额退款。 一件有意思的事情是,Avi在Friend上线之前,借了180万美元买下了friend.com的域名。 对此,Avi表示自己认为很值得——在此之前,这个域名已经“沉睡”了17年而无人问津,他希望未来这个域名能够作为客户的聚集地。 参考链接: [1]https://www.geekwire.com/2024/covid-era-whiz-kid-is-back-and-he-brought-a-friend-a-wearable-always-listening-99-ai-companion/ [2]https://x.com/jam3scampbell/status/1818421629254545806 [3]https://www.fastcompany.com/91007630/avi-schiffmanns-tab-ai-necklace-has-raised-1-9-million-to-replace-god