Loading video...

Video Failed to Load

Go Home

OPENCODE 小技巧 #03: 探索代码小技巧 X 算法平台正好开源,打开 opencode 咱直接咨询 「我需要调研几个业务核心问题,请你帮我汇总最后输出一个报告,注意,每一个点都要找到代码级别的证据支撑,得精确到行号。 1. 点赞 vs. 回复 vs. 停留,谁更值钱? 2. “负反馈”的杀伤力有多大? 3. 发多了会被限流吗? 4. 做视频是不是有系统级优待。 请你帮我多开几个 explorer 进行调研」 这里有几个点需要注意 1. 「每一个点都要找到代码级别的证据支撑,得精确到行号」是为了防止 ai 出现幻觉为了押韵不择手段。 2. 「请你帮我多开几个 explorer 进行调研」是为了加速,默认官方的 free 模型并发可能会有限制,我建议大家使用 国产大模型 code plan 里面的 api key,比如我这里用的是 MiniMax (official) 的 key。 运行过程如视频(已加速) 结果在评论区。

12,655 views • 5 months ago •via X (Twitter)

0 Comments

No comments available

Comments from the original post will appear here

Related Videos

我们必须彻底终结“政治庇护”这套玩法。 为什么? 因为你家的大门,不是为全世界的失败者敞开的。 有人说,我们得接纳他们啊! 我说不。 他们说,那这些人怎么办?他们会死的! 首先,这怎么就成了我的问题? 其次,地球上其他国家都消失了吗? 非洲的庇护申请者,为什么不去非洲国家? 阿拉伯人,为什么不去阿拉伯国家? 如果连文化最相近、血缘最亲密的国家都拒绝他们…… 那我们为什么要当这个冤大头? 打个比方。 想象一下,一个从几十公里外的小镇来的19岁小伙。 你从没见过他,不知道他是谁。 他没敲门,直接闯进你家,对着你大喊: “嘿!我饿了!给我吃的!” 他不是请求,是命令。 没有谦卑,只有索取。 你会怎么做? 你大概会拿出枪,指着他,让他滚出你的房子。 就算你愿意跟他多说一句,你第一个问题肯定是: “你为什么来我家?” “你为什么不去找你的邻居?” 他可能有两个回答。 第一种:“我问了,我所有的邻居都拒绝帮我。” 那你就要怀疑了。 所有认识你的人都不帮你,问题在谁? 是他们几百号人都是混蛋,还是你才是那个唯一的混蛋? 第二种:“我压根没问过我邻居,我直接就来找你了。” 这就更可疑了。 你为什么偏要跳过所有熟人,跑到一个完全不了解你的陌生人家里,提出要求? 所以,你只会关上门,告诉他: “两秒钟内,从我的地盘上滚出去,否则我就开枪了。” 一个四肢健全的成年男人,连饭都找不到,那是他自己的无能和懒惰。 那不是你的问题。 现在,把这个场景放大到一个国家。 完全一样。 一群又一群的陌生人,从天知道什么地方冒出来,要求我们帮助。 他们绕开了所有和他们文化、语言更接近的国家。 径直来到我们的边境。 这不值得怀疑吗? 但我们甚至不需要解释。 这是我们的国家,不是你的。离开。

墓碑科技

15,114 views • 6 months ago

小扎吐槽苹果和 Google,以及谈为什么开源 AI **Mark Zuckerberg**: 我认为移动生态系统中普遍存在的一个问题是有两个把持入口的公司,Apple 和 Google,它们可以告诉你可以构建什么。 在我们的历史中有很多次,比如有经济层面的情况,就是我们构建了些东西,然后它们就会拿走我们大部分的收入,但还有一种是质量层面,这实际上让我更加不满,也就是有很多次我们推出或希望推出某些功能,然后Apple就会说,不,你不能推出这功能。 这真的很糟糕。 问题是,这样的世界是否会在AI领域复现,就像你会有一小部分拥有封闭模型的公司,它们控制API,因此将能够告诉你可以构建什么。 我可以说,对我们来说,自己构建一个模型以避免处于那种位置是值得的。 我不希望那些其他公司告诉我们可以构建什么,而且我认为从开源的角度来看,很多开发人员也不希望那些公司告诉他们可以构建什么。这就是我坚定支持开源的原因之一,我认为未来AI的集中化可能像其广泛传播一样具有潜在危险。 我发现很多人都在思考,如果我们能实现这种技术,那么让它广泛传播是否不利。 我认为另一种可能也很糟糕的情况是,如果一个机构掌握了一种强大的AI远超其他所有人的,这同样是非常糟糕的。在我看来,一个理想的世界应该是这样的:AI技术被广泛而均衡地应用,随着时间推移逐步增强其健康性。在这样的世界里,各种系统能够相互制衡,这种平衡的状态比一个高度集中化的世界要健康得多。 虽然风险无处不在,但我觉得有一个风险我想人们我并没有听到太多人提及。 **Dwarkesh Patel**:举例来说,一个价值100亿美元的模型,如果经过评估是完全安全的,你们会选择开源吗? **Mark Zuckerberg**:我的答案是,只要这个模型对我们有所帮助,那我们就会开源。 **Dwarkesh Patel**: 那如果这个模型是用100亿美元的研发经费研发出来的,然后现在要开源呢? **Mark Zuckerberg**: 我们一直以来都有开源软件的传统,但是我们并不会开源我们的产品。 比如说,我们并不会将Instagram的代码开源,但我们会开源许多底层的基础设施。我们历史上最大的一个项目可能就是开放计算项目。在这个项目中,我们将我们所有的服务器的设计网络交换机和数据中心的设计开源了,这对我们来说非常有帮助。 因为很多人可以设计服务器,但现在,大家普遍都采用了我们的设计,这就意味着整个供应链都围绕我们的设计展开,规 模变大,对所有人来说都变得更便宜,为我们节省了数十亿美元。 这真是太棒了,对吧? 因此,我认为开源有多种方式可以对我们有所帮助。 一种就是,如果有人能够找出更便宜的运行模型的方法,我们将花费数十亿甚至上千亿美元,在所有这些模型上,所以如果我们能做的更有效率,那我们就可以节省数十亿甚至上百亿美元,这可能本身就非常有价值。 **Dwarkesh Patel**: 关于开源,我很想知道你是否认为像PyTorch、React、Open Compute这样的开源项目,对世界的影响是否已经超过了Meta在社交媒体方面的作用。 **Mark Zuckerberg**: 因为我曾经和使用这些服务的人交谈过,他们觉得这是有可能的,因为互联网的很大一部分都在运行这些项目。这是一个有趣的问题,我认为几乎有一半的世界人口都在使用我们的产品,这是一个真实的点,所以我觉得这很难超越。 但不管怎样,我还是认为开源是一种新的、非常強大的建设方式。 来源:

宝玉

74,721 views • 2 years ago

做了个叫 Arkloop的东西,是个 Agent 客户端 开源,本地优先,简单优先 你可以把他想象成 claude desktop but open source, 并且带有自己的 taste 哦对了,另说一点,不是任何 agent sdk 套壳,也没有任何 base 任何 claudecode 行为,我一个人打磨了三个月 和市面上大部分产品不同 我花了很多时间在一个细节上 : 减少认知负担 一个例子 : 我平常只用一个模型聊天,那为什么每条消息前面都要告诉我用了什么模型?这是噪音 再举一个 : 开发者总是喜欢让 agent 的 tool use 完整的展示到前端,但是背后真正的用户体验逻辑是我需要知道 agent 在工作/在往哪个方向偏,所以我们并不需要如此详细的信息 设计哲学:认知负担,信息,价值导向,美学 换个话题 我一个人做 Arkloop 用了三个月,现在他能用了,但是它离完美很远 做产品很重要的一件事是…不要闭门造车,也就是我需要你们的真诚建议 引用来自 Arkloop readme 中的一句话 “我欢迎所有形式的贡献。即使你不是开发者,只是一个普通用户——如果你在使用中感到任何不舒服的地方,哪怕只是一点间距、一个颜色、一个很小很小的细节,或者是一个很大的方向,都可以直接开一个 issue。 我认真对待每一个体验细节,你的反馈会让所有人的体验变得更好。 如果你是开发者,Arkloop 的 Agent 核心、记忆系统、hook 机制都是开放的。你可以接自己的 provider、写自己的插件、甚至改掉你不喜欢的任何设计。” 这是我认为整个项目最精髓的一点,我希望看到你们的反馈,不管是细节还是方向 我在用 dify 的时候,我常常发现,一个特别小的间距问题,竟然在这么大的仓库里没人修 因此,我很重视这点理念 Arkloop 现在并不稳定,还有很多不完善的地方。希望大家多多包容,多提意见 另带一提,Arkloop 可以从 openclaw/hermes 导入配置 Github 仓库: Arkloop 官网兼下载: 关注我的推特: 加入 Arkloop 的 telegram 群组:

清凤

92,314 views • 1 month ago

OpenAI刚刚开源的这个东西,感觉要把程序员的工作方式给整个改写了。 现在大家都在卷模型写代码有多强,但其实真正的瓶颈早就不是生成了。 一个人每天最多同时有效监督3-5个编码Agent,再多就会注意力崩溃,生产力直接归零。 有了Symphony,直接把这个上限干到了几十个。 它把你的Linear、GitHub Issues直接变成了永远在线的Agent调度器。 你开一个任务,它自动启动一个独立隔离的Codex Agent。 自己写代码,自己跑测试,自己做交叉Review,damn! 全部搞定之后,会给你提交一个完整的证据包。 CI全绿,安全和性能专项审查通过,改了UI就自动录好操作视频。 所有验证全过了,才会出现在你的Human Review队列里。 以后人类的角色可能会被彻底颠覆了。 以前你是监工,盯着Agent一步一步写代码,上下文切到吐。 现在你是老板,只需要看最终的结果。 满意就点合并,不满意就去仓库里补规则补文档补Guardrails。 记住兄弟们,永远不要手把手指挥Agent,永远不要替它干活。 这可不是啥实验室概念,OpenAI自己已经这么干了。 三个工程师,五个月,写了一百万行代码,0行人工写的。 产品已经有几百个内部用户,每天都在迭代。 我觉得他们最厉害的不是模型,是他们把整个仓库变成了Agent能看懂能自主工作的乐园。 现在很多人都搞错了Agent时代的核心竞争力。未来不是谁的模型更聪明,而是看谁能设计出让Agent可靠自主工作的环境。 我觉得未来最好的工程师,再也不是写代码最快的人,而是那些最会写规则,最会设计反馈回路,最会给Agent搭舞台的人。 现在Symphony已经开源了,它甚至不是一个成品。 是一个17k token的完整SPEC。 你把这个SPEC喂给任何一个编码Agent,十分钟就能生成你自己定制版的Symphony。 GitHub地址评论区自取👇

阿绎 AYi

61,332 views • 1 month ago

近日,老梁围绕“消费降级”话题发布视频 在视频中,老梁认为 一、“经济这几年不会好。消费降级是个持续的过程,一定要做好准备,不要抱有幻想。” 二、“不要以为消费降级是别人的事。我这么有才,我这么有本事,我这么有人脉,我这么有能力,消费降级轮不到我,我依然是谁会精英。” 他指出,“大时代的一粒尘沙,落到每个人都是一座大山。” 在谈及社会结构时,他表示:“在中国最可笑的就是中产阶级,中国的中产就是笑话,可能一夜返贫。你不行,你差的远。我们要正确的认识自己的能力,不要把自己想得太高。” 对于知识的作用,他提到:“有人说,我学那么多知识就没有用了吗?有用。你学那么多知识有用,让你知道,中产阶级脆弱的,是不可靠的。消费降级的时候你也是社会底层。学文化最大好处是清醒的认识到自己所处在哪个位置。” 他还表示:“不学知识就不行了,你就跟司马南的粉丝似的,你还以为你是这个国家的主人当家做主呢,你不是做梦呢么!” 关于人生与处世,他提出:“人一辈子有三件事:自己的事,别人的事和老天爷的事儿。自己的事儿别指望别人;别人的事儿别瞎管;老天爷的你得顺着它来。” 他总结称:“消费降级是国运,你得顺着它来。有钱的时候你讲究点,没钱的时候你就将就点吧。”

李老师不是你老师

289,524 views • 2 months ago

想认真做小红书个人号或者矩阵的朋友,这个 Skill 真的能帮你省掉 80% 的重复劳动。 看了我的 AI 工作流分享以后,很多宝子问有没有小红书自动化运营的工具,我GitHub上找了下,这个还不错, 说实话,我之前也以为所有小红书自动化工具都是垃圾, 要么用两天就封号,要么复杂到要写几百行代码,要么就是个只能发文字的残废,直到我试了这个, 最牛逼的是它的安全机制:完全不用小红书 API,全程用浏览器自动化模拟真人点击和输入。 第一次扫码登录后,后续所有操作都和你自己手动点一模一样,目前是我见过封号风险最低的方案。 而且它真的零代码,你不需要懂任何编程,只要对着 你的龙虾或者 hermes 说一句话就行: • 帮我分析一下我的首页推荐流 • 帮我生成五个今天能发的选题 • 帮我复刻这篇爆款笔记 • 帮我回复一下最新的评论 它全都能自己干完, 最狠的是它不只是一个单纯的发稿工具,它还有一个完整的运营闭环: 会分析你的账号数据、拆解别人爆款的结构、生成内容+封面、自动发布、自动回评, 还会把所有分析结果和操作自动存成 Markdown 知识库,方便你后续复盘。 安装也简单到离谱: 打开 Openclaw,直接说 “帮我安装这个 skill 就完事了。 仓库地址老规矩评论区自取鸭🦆

AYi

14,572 views • 25 days ago

最近陶哲轩在 2024 年第 65 届国际数学奥林匹克上,陶哲轩做了一次 AI 和数学的演讲,非常精彩,从数学使用计算计算机的历史开始讲起,一直讲到大语言模型,干货相当多,尤其适合对数学有兴趣的同学。 (对数学没那么感兴趣的同学只想看 AI 部分的建议直接跳到 41 分的位置开始观看) 先摘录几个冷知识: 1. 我们使用机器做数学计算已经有数千年,最早的机器辅助计算可能是罗马人,然后是中国的算盘 2. 二战时就有人肉“计算机”,计算弹道和其他任务,多位女孩子,因为男士们在打仗,所以那时候的计算基本单位不是GPU,而是kilogirl-hour——“千名女孩工作一小时的计算量” 3. 现在,数学家们使用一种现代化的证明辅助编程语言,叫做 Lean。在 Lean 中有一个核心的数学库,通过众包的方式开发的,本科数学课程中看到的内容,比如微积分基础、群论基础或者拓扑学等等,这些都已经被形式化了,所以你不用从公理开始。 4. 现在数学领域有一种团队协作证明复杂数学定理的工作流程,那就是先编写一个称为“蓝图”的详细证明计划,将整个证明分解为数百个小步骤。每个步骤可以单独形式化,然后再将它们整合在一起,这样你就可以将一个庞大的论证分解成许多小块。先编写这个蓝图,然后团队中的其他人可以对论据的不同步骤的不同部分进行形式化。 去年,陶哲轩和几位同事一起解决了一个组合数学问题。这是一个组合学的问题。大约20人在短短三周内完成了,使用了蓝图工具,参与的人中有概率论专家,甚至还有一些并非数学家的人,他们是程序员,但在解决这些小型拼图问题上非常擅长。每个人都挑选了一个觉得自己能做的小任务,并完成了它。 在数学领域,通常很难这么多人一起合作,一般最多可能五个人合作。因为在大项目上合作时,你必须相信每个人的数学都是正确的。但是,一旦超过一定规模,这就无法实现了。但现在借助 Lean 编译器,它能自动检查。团队成员无法上传任何编译不通过的内容,会被拒绝。因此,你可以与一些从未见过的人合作。 最后是讲大语言模型,首先陶哲轩就打脸了 GPT-4 的论文(我猜是微软那篇《GPT-4,通用人工智能的火花》),论文中号称 GPT-4 能解决国际数学奥林匹克问题,但实际上,这个问题不是 2022 年国际奥数竞赛的原始问题,而是一个简化版本,并且他们测试了几百道国际奥数竞赛问题,成功率只有1%,论文里的这个是精心挑选的恰巧能做对的。 并且陶哲轩提到了基于大语言模型的一些改进的方案: 比如 CoT(Chain of Thought),也就是 LLM 做简单的算术运算都做不对,但是如果让它一步步解释,可能就对了。还可以教 AI 一些解题技巧,比如尝试简单的例子,反证法,尝试逐步证明等。 比如让模型和编程语言或者工具连接,将大语言的输出结果交给 Wolfram 这样的专业数学工具或者 Python 这样的编程语言验证,并且迭代的进行修正和验证,直到得到正确的结果,这可以提升大语言模型生成的效果。 即使借助这些手段,大语言模型还远远不能解决大多数数学问题,更不用说数学研究问题了! 当然陶哲轩也没太过打击大家对于 AI 的信心,表示我们在 AI 上还是在不断的取得进展,还提到了他日常是怎么用 AI 的,比如说把 AI 当成灵感之源。 > 我曾遇到过一个问题,我尝试了几种方法,但都无法解决。于是,我尝试询问 GPT,你建议我使用什么其他方法来解决这个问题?GPT 给我提供了 10 种可能的方法,其中有 5 种我已经尝试过,或者明显没有帮助。的确,有几种方法并不实用。但其中有一种我还没尝试过的方法,那就是针对这个问题使用生成函数。当 GPT 建议我使用这种方法时,我意识到这就是我漏掉的正确方法。所以,将 GPT 视为一个交流伙伴,它确实具有一定的用处。 还有使用 GitHub Copilot 帮他写代码,让它自动生成下一步的证明结果,Copilot 的智能提示有 20% 的概率能生成正确的下一步结果。 > 例如我使用的一个叫 GitHub Copilot 的工具,你只需要写下一半的证明,它就会尝试猜测接下来的内容。大概有 20% 的情况下,它能猜到接近正确的答案。然后你就可以说,我接受这个答案。好的,那么在这种情况下,我正在试图证明这个陈述。灰色的部分是 Copilot 给出的建议。结果发现第一行完全没用。不过第二行,尽管你可能看不清楚,却真的解决了这个问题。所以,你不能盲目接受它的输入,因为这些代码未必能顺利编译。但如果你对代码的运作方式已经有所了解,这将大大节省你的时间。这些工具正在变得越来越好。现在如果一个证明只需要一两行,它们就能自动完成。现在已经有了这样的实验,即通过迭代地让 AI 提供证明,然后让编译器进行反馈,如果编译出错,就把错误信息反馈给 AI。通过这种方法,我们开始能够验证四五步长的证明。当然,一个大型的证明可能需要数万行。所以,我们还没有达到能够立即得到一个正式证明的程度。但是,这已经是一个相当有用的工具。 对于大家关心的问题: AI 在数学领域现在到了哪一个阶段?是否未来几年利用 AI 能直接解决数学问题? 陶哲轩也给出了他的看法: > 我认为我们还远远没有达到这个阶段。如果我们专注于非常特定的问题,你可以定制专门的 AI 来处理一小部分问题。即便如此,它们也不是完全可靠的,但还是有用的。不过至少在接下来的几年里,它们基本上将是非常有用的辅助工具,超越了我们已经熟悉的暴力计算辅助。 他还提到了一些可能的 AI 能在数学领域提供帮助的方向: - AI 能够非常好地生成有价值的猜想 > 比如,我们已经看到了关于结理论的例子,它们已经可以推测出两个不同的统计量之间的关系。因此,我们希望能够创建大量的数据集,输入到 AI 中,它们就会自动找出各种不同的数学对象之间的有趣联系。虽然我们还不知道如何做到这一点,部分原因是我们没有这些庞大的数据集。但我认为这是未来可能实现的一个方向。 - 批量或者说规模化的证明大量数学定理 > 现在,因为证明定理是如此繁琐和艰难的过程,我们一次只能证明一个定理,如果你效率很高,可能一次能证明两三个。但是有了 AI,你可以设想一下未来的情况,我们不是试图解决一个问题,而是处理一类类似的1000个问题,然后告诉AI,尝试用这个方法解决这 1000 个问题,然后报告结果,哦,我能用这种技术解决 35% 的问题。那么另一种技术呢?我能解决这个百分比的问题。或者如果结合这些方法,又能解决多少问题?你可以开始探索问题的空间,而不是一个接一个地解决问题。这是你现在根本无法做到的事情,或者是你需要几十年时间,通过数十篇论文慢慢搞清楚各种技术能做什么,不能做什么。但是有了这些工具,你真的可以开始做规模前所未有的数学研究。所以,未来将会非常令人兴奋。 演讲环节结束前的最后一句话说的特别好: > 我们仍然会以传统方式证明定理。事实上,我们必须这样做,因为如果我们自己都不知道如何做这些事情,就无法引导这些 AI。但是我们将能够做很多现在无法做到的事情。 这恰恰也是我们现在使用 AI 辅助编程的问题:如果我们自己都不知道如何构建软件,就很难引导好 AI 帮助我们生成高质量的代码。 尽管 AI 在数学和编程领域变得越来越有用,但人类的洞察力和创造力仍然是创作价值的关键。 原始 YT 视频:

宝玉

300,657 views • 1 year ago

OpenAI 的大神 Andrej Karpathy 前几天在他的 YouTube 频道讲了一堂课,系统的介绍了大语言模型,内容深入浅出,非常赞,抽空将它翻译成了双语,由于内容较长,我将分批上传,以下是第一部分精校后的双语视频,字幕文稿如下: Intro: Large Language Model (LLM) talk 大家好。最近,我进行了一场关于大语言模型的 30 分钟入门讲座。遗憾的是,这次讲座没有被录制下来,但许多人在讲座后找到我,他们告诉我非常喜欢那次讲座。因此,我决定重新录制并上传到 YouTube,那么,让我们开始吧,为大家带来“忙碌人士的大语言模型入门”系列,主讲人 Scott。好的,那我们开始吧。 LLM Inference 首先,什么是大语言模型 (Large Language Model) 呢?其实,一个大语言模型就是由两个文件组成的。在这个假设的目录中会有两个文件。 以 Llama 2 70B 模型为例,这是一个由 Meta AI 发布的大语言模型。这是 Llama 系列语言模型的第二代,也是该系列中参数最多的模型,达到了 700 亿。LAMA2 系列包括了多个不同规模的模型,70 亿,130 亿,340 亿,700 亿是最大的一个。 现在很多人喜欢这个模型,因为它可能是目前公开权重最强大的模型。Meta 发布了这款模型的权重、架构和相关论文,所以任何人都可以很轻松地使用这个模型。这与其他一些你可能熟悉的语言模型不同,例如,如果你正在使用 ChatGPT 或类似的东西,其架构并未公开,是 OpenAI 的产权,你只能通过网页界面使用,但你实际上没有访问那个模型的权限。 在这种情况下,Llama 2 70B 模型实际上就是你电脑上的两个文件:一个是存储参数的文件,另一个是运行这些参数的代码。这些参数是神经网络(即语言模型)的权重或参数。我们稍后会详细解释。因为这是一个拥有 700 亿参数的模型,每个参数占用两个字节,因此参数文件的大小为 140 GB,之所以是两个字节,是因为这是 float 16 类型的数据。 除了这些参数,还有一大堆神经网络的参数。你还需要一些能运行神经网络的代码,这些代码被包含在我们所说的运行文件中。这个运行文件可以是 C 语言或 Python,或任何其他编程语言编写的。它可以用任何语言编写,但 C 语言是一种非常简单的语言,只是举个例子。只需大约 500 行 C 语言代码,无需任何其他依赖,就能构建起神经网络架构,并且主要依靠一些参数来运行模型。所以只需要这两个文件。 你只需带上这两个文件和你的 MacBook,就拥有了一个完整的工具包。你不需要连接互联网或其他任何设备。你可以拿着这两个文件,编译你的 C 语言代码。你将得到一个可针对参数运行并与语言模型交互的二进制文件。 比如,你可以让它写一首关于 Scale AI 公司的诗,语言模型就会开始生成文本。在这种情况下,它会按照指示为你创作一首关于 Scale AI 的诗。之所以选用 Scale AI 作为例子,你会在整个演讲中看到,是因为我最初在 Scale AI 举办的活动上介绍过这个话题,所以演讲中会多次提到它,以便内容更具体。这就是我们如何运行模型的方式。只需要两个文件和一台 MacBook。 我在这里稍微有点作弊,因为这并不是在运行一个有 700 亿参数的模型,而是在运行一个有 70 亿参数的模型。一个有 700 亿参数的模型运行速度大约会慢 10 倍。但我想给你们展示一下文本生成的过程,让你们了解它是什么样子。所以运行模型并不需要很多东西。这是一个非常小的程序包,但是当我们需要获取那些参数时,计算的复杂性就真正显现出来了。 那么,这些参数从何而来,我们如何获得它们?因为无论 run.c 文件中的内容是什么,神经网络的架构和前向传播都是算法上明确且公开的。

宝玉

1,121,990 views • 2 years ago

如何让小型语言模型高效工作。Yejin Choi在2024年数据与AI峰会上发表演讲(双语字幕) 演讲者:Yejin Choi,华盛顿大学教授、麦克阿瑟奖学金获得者,同时也是AI2常识AI的高级研究主任 这个演讲是将如何优化小模型的,他们训练了一个 0.5B 参数的小模型做文档摘要任务,超过了GPT-3.5。 按照演讲者的结论:AI 的性能,至少在目前的形态下,取决于它的训练数据。因此,过去和现在的 AI 主要依赖于人类生成的数据,但未来可能会依赖于 AI 生成的数据。很多可能担心合成数据质量不高,可能存在偏见,但是,越来越多的证据表明,这种方法是有效的。 例如,使用 Meta 的 SAM(Segment Anything)进行图像分割就是 AI 合成图像分割注释的一个例子。虽然有人类的验证帮助,但是单靠人类无法对如此多的图像样本进行注释。这是另一个例子。Microsoft 的论文"Textbooks are all you need"是另一个例证。当你有真正高质量的数据,例如教科书级别的数据,经过合成,你实际上可以在许多、许多不同的任务中与规模更大的对手竞争。可能在某些方面,它并不像大型模型那样具有广泛的适用性,但这对于满足许多商业需求来说是非常出色的。你可能不需要通才,你可能需要专家。 此外,"Textbooks are all you need"论文的观点也证明了,数据质量是最重要的。这并不仅仅关乎数量,更在于质量。DALL-3 就是一个很好的例子。为什么它会突然之间超越了 DALL-E 2 呢?很大程度上是因为它有更好的图像标注。但是,究竟是哪些更好的图像标注呢?在此之前,我们使用了所有好的图像标注。他们将这些图像标注进行了合成。这就是我们获得高质量数据的方式。 所以,AI 的质量更关乎数据的质量、新颖性和多样性,而不仅仅是数量。 * 引言 好的。我来这里要跟你们分享一些看似不可能实现的可能性。 * 介绍 去年,当有人问 Sam Altman 如何让印度的创业公司为印度创建基础模型时,他的回答是,不用费那个劲了。这根本没希望。 哇。首先,我希望印度的创业公司不会轻易放弃。其次,这种对话可能会在任何地方发生。无论是在美国的任何一所大学,或是创业公司,或是研究机构,他们都可能面临没有足够计算能力的问题。 所以,这就引出了我们要讨论的问题:不可能的提炼。如何以环保的方式训练出你的小型语言模型,使其效果堪比真实模型。 * 当前的方法与挑战 目前我们听到的最佳做法是大规模的预训练,紧接着进行大规模的后训练,例如 RLHF。如果我告诉你我打算从 GPT-2 开始,那个不被大众关注的小型、低质量模型,我也不知道为什么,但以某种方式,我们将创造或提炼出一个高质量的小型模型,然后与可能大两个数量级的更强大的模型竞争。这听起来应该很不可能,尤其是当你可能听说过一篇论文,标题是《模仿大型语言模型的虚假希望》。 虽然他们所报告的对于他们进行的特定评估实验来说是真实的,但请不要过分泛化,认为所有的小型语言模型都无法媲美大型模型。因为还有许多其他反例证明特定于任务的符号知识精馏可以奏效在许多不同的任务和领域中其中一些来自我的实验室。 然而今天,我只想关注一个任务即如何学习语言中的抽象。为了简化这个任务,我们从句子摘要开始这是我们的第一个不可能的任务。 * 任务一:句子摘要 目标是在没有极端规模的预训练、没有大规模的 RLHF、以及没有大规模的有监督数据集的情况下实现这一目标。这些东西并不总是必要的。但等一下,我们必须使用通常是所有三个,至少是其中一部分。 但如果没有这些,我们如何能和更大的模型一较高下呢?关键的直觉是当前的 AI 能做得多好取决于它所接受的训练数据。我们必须有某种优势。我们不能没有任何优势,所以那个优势将来自数据。顺便说一下,我们必须合成数据,因为如果数据已经存在于互联网上某处 OpenAI 已经对其进行了爬取,那就不是你的优势了,他们也有,所以你必须创造出一些真正新颖的东西,比现有的东西更好。 通常,精馏是从大型模型开始的,但我们将丢弃它,以向你展示我们可能对隐藏的可能性视而不见。所以我现在就开始示范。从 GPT-2 开始,那个质量很差的模型。然后我将进行一些创新,我马上就会概述,制作出高质量的数据集,然后可以用来训练小模型,这个模型将成为执行特定任务的强大模型。 但问题是,GPT-2 甚至无法理解你的提示词。你无法利用 GPT-2 进行提示词工程。你让它总结你的句子,它生成的一些输出,完全没有任何意义。所以你再试一次,因为它的输出通常有随机性。你可以生成很多不同的例子,比如几百个例子,我们发现它的表现几乎总是不好,像好的不到 0.1%。 * 解决方法与进展 但是有志者事竟成。所以我们想出了许多不同的办法。这其中包括我们的神经解码。这是一种即时推理算法,可以将任何逻辑约束加入到你的语言模型输出中。对于任何现成的模型,我们都可以使用这个来引导输出的语义空间。 但是因为 GPT-2 太糟糕了,即使使用了这个,成功率也只有 1%。但这比零要好。现在我们已经有了进展。因为如果你生成大量的样本,然后进行筛选,你实际上可以这样得到一些好的例子。然后,聪明的学生们提出了许多不同的想法。 我就不详述技术细节了,但我们找到了一些方法。为了能更容易找到好的例子,我们需要将成功的概率提高到 10% 以上。总体的流程是这样的:首先,从一个质量较差的教师模型开始,生成大量的数据点。然后,由于数据中存在大量的噪声,需要进行严格的过滤。 我们使用了一个三层过滤系统。虽然细节并不重要,但我要强调其中的第一个,即 Intel Monte 过滤器,它基于现成的 Intel Monte 分类器,能判断一个摘要是否能从原文中逻辑推断出来。这个模型并不完美,可能只有 70% 到 80% 的准确度。但是,当你大力使用它来过滤数据时,它的表现已经足够好了。 然后,我们使用这些数据来训练一个更小的模型,这个模型可以成为下一代学生的教师模型。我们重复了这个过程几次,最终得到了高质量的 DIMM sum 数据和高质量的模型。 在与那时最好的模型 GPT-3 进行对比时,那时,GPT-3 是最好的摘要模型。但当 ChatGPT 问世后,我们成功地超过了 GPT-3,人们似乎不再关心其他的,因为 ChatGPT 能做任何事情,包括摘要,所以我们为什么还要费心呢? * 任务二:文档摘要 接下来是我们的“不可能完成的任务 2”。我们现在将与 ChatGPT 3.5 展开竞争。并且,要让我们的挑战更具难度——我们现在要总结的是整个文档,而不仅仅是句子。然后,我们还要做到以上所有这些而不依赖于那个现成的蕴含分类器。 我的意思是,实际上你可以这么做,就像从学术角度来看,我们想看看我们能在多大程度上打破关于规模的普遍假设。因此,我们在 InfoSumm 的新工作是一种基于信息理论的蒸馏方法其中关键的想法是我们将不再使用那个现成的 Imitating Humans LLM。我们将使用一些公式,这个公式其实只有三行,包括一些你可以用现成的语言模型来计算的条件概率得分。 * 实验与成果 现在时间还早,所以我们不深入讨论这些公式的细节。但我可以大体上告诉你,如果你把这些公式重新排列一下,你可以将此理解为点对点互信息的特例。你可以用它来过滤你的数据。因此,我们使用的是和之前相同的整体框架。我们现在使用 PTHEA 2.8 亿参数模型,因为我们觉得它比 GPT-2 稍好一些。 至于过滤,我们现在使用的是我之前向你们展示过的那三个简短的公式。然后我们就做同样的事情。这一次,我们让模型变得更小,只有 5 亿参数模型。这带来了高质量的文档摘要数据集,以及模型。 那么我们的表现如何呢?正如我们所承诺的,至少在这个任务上,我们的表现能与 ChatGPT-3.5 媲美,或者,根据评测的设定和标准,我们的表现甚至有所超越。你可以在我们的论文中找到更多的细节。 * 任务三:学习抽象思考 总的来说,我展示了我们如何学习文档摘要,即使不依赖于大规模预训练模型和其他大规模资源。然而,这两篇论文背后的真正研究问题是,我们如何学习进行抽象思考。 因为现在的做法就是让模型尽可能地大。越大越好。但是我们人类,无法像模型那样记住所有的上下文,比如一百万个 Token。没有人能记住上下文中的一百万个 Token。你会立刻抽象出我刚才告诉你的所有事情。但是你仍然记得我到目前为止说的所有话。这就是人类的惊人智能,我们还不知道如何通过 AI 模型有效地实现这一点。我相信这是可能的。我们只是还没有尽力去探索,因为我们被大规模的迷惑了。 * 任务四:Infini-gram 好的。那么,Infini-gram 就是我们面临的第三个挑战。稍微转换一下话题,现在的任务是让经典的统计 N-gram 语言模型在神经语言模型中发挥一定的作用。你们中有多少人还在讨论 n-gram 模型呢?我也不清楚。你们现在还在学习这个吗? 这里我们设定 n 等于无穷大。我们将在数万亿的 token 上完成这个计算,反应时间必须非常快,而且我们甚至不需要使用一颗 GPU。哇!我来告诉你们这有多么困难。假设,如果你要在一个经典的 n-gram 语言模型中索引 5 万亿个 token,且 n 无限大,那么你大概需要处理 2 千万亿个唯一的 n-gram 序列。你需要枚举,排序,计数,存储一些错误,这可能需要占用大约 32 太字节的硬盘空间,甚至更多。我们又怎么知道 呢?但这个数据量实在太大了。我们无法处理。 如果你看看其他人建立的大规模经典 N-gram 模型,那就是 Google。在 2007 年,由 Jeff Dean 和其他人带领的团队,他们只处理了 2 万亿个 token——我的意思是,对于那个时代来说,这已经是很大的数量了。他们使用的是五元 n-gram,这就产生了大约 3000 亿个不同的 n-gram 序列,这些序列他们都需要进行枚举、排序、计数等操作。这个数量实在是太庞大了。大家其实并没有进一步增加这个数量。那么,我们到底是如何做到将这个数量无限扩大的呢? 在我解释我们如何做到这一点之前,如果你感兴趣的话,我邀请你去查看这个在线演示。 token。这里有一个例子,它是一个 48 个字符的词。我不明白为什么这个词会存在。但是如果你去搜索它,你会发现它不仅存在,而且还有超过 3000 个实例。这个搜索过程耗时 5.5 毫秒。此外,它还会向你展示如何对这个长词进行分词。你也可以试试搜索多个词,看看下一个可能出现的词是什么。比如,"行动胜过语言",那么接下来可能是什么词呢?该网站会向你展示可能出现的下一个词。而且,这个过程非常快速。 * 解决方法与进展 那么,我们是如何做到这一切的呢?你可能会惊讶地发现,我们的方法其实非常简单。有一种叫做后缀数组的数据结构,可能并不是所有的算法课程都会教授,但是有一些课程会教授。这是一种我们非常小心地实施的数据结构。所以我们用后缀数组索引整个网络语料库。事实上,我们并没有预先计算这些 n-gram 的统计数据。我们只是预先准备好这个数据结构。当你进行特定的查询时,我们会实时计算。多亏了这个数据结构——我们可以做得非常快,尤其是在使用 C++ 实现的情况下。我知道现在 AI 研究中,C++ 可能不是大家首选的语言,但实际上,使用 C++ 会让程序运行得更快。 这样做的成本有多低呢?其实我们只花了几百美元就索引了全部内容,而且,为 API 服务的成本也相当低。即便没有 GPU,它的速度也非常快。不同类型的 API 调用的延迟只有几十毫秒。你可以利用这个做很多事情。我现在可以分享的一点是,你可以用我们的 Infinigram 插值你的神经语言模型,降低困惑度,这是常用于评估语言模型质量的指标。我认为这只是我们能做的事情的冰山一角。实际上,我还在研究一些我希望能分享,但现在还不能告诉你们的东西。 不过我们已经开始提供这些 API 端点。从几周前开始计数,到现在我们已经提供了 6000 万次 API 调用,这还不包括我们自己的使用。我非常想知道人们是如何使用我们的 InfiniGram 的。 * 总结 总结一下,我的演讲主要是说,AI 的性能,至少在目前的形态下,取决于它的训练数据。因此,过去和现在的 AI 主要依赖于人类生成的数据,但未来可能会依赖于 AI 生成的数据。我知道人们对此有很多担忧,可能担心质量不高,可能存在偏见。因此,你不能以普通的方式来进行这项工作。你应该以更有创新性的方式来进行。但是,越来越多的证据表明,这种方法是有效的。 例如,使用 Meta 的 SAM(Segment Anything)进行图像分割就是 AI 合成图像分割注释的一个例子。虽然有人类的验证帮助,但是单靠人类无法对如此多的图像样本进行注释。这是另一个例子。Microsoft 的论文"Textbooks are all you need"是另一个例证。当你有真正高质量的数据,例如教科书级别的数据,经过合成,你实际上可以在许多、许多不同的任务中与规模更大的对手竞争。可能在某些方面,它并不像大型模型那样具有广泛的适用性,但这对于满足许多商业需求来说是非常出色的。你可能不需要通才,你可能需要专家。 此外,"Textbooks are all you need"也意味着,质量是最重要的。这并不仅仅关乎数量,更在于质量。DALL-3 就是一个很好的例子。为什么它会突然之间超越了 DALL-E 2 呢?很大程度上是因为它有更好的图像标注。但是,究竟是哪些更好的图像标注呢?在此之前,我们使用了所有好的图像标注。他们将这些图像标注进行了合成。这就是我们获得高质量数据的方式。当然,你需要小心翼翼地进行,但是有越来越多的任务特定符号知识蒸馏的例子,包括我自己实验室的工作,都证明了这是可行的。这真的可以让小模型发挥出惊人的潜力。 所以,这更关乎数据的质量、新颖性和多样性,而不仅仅是数量。 我就在这里结束我的演讲。谢谢。 视频来源:

宝玉

59,578 views • 2 years ago