我们专注于智慧政务、智能安全综合管理、商业智能、云服务、大数据
当前位置 :澳门贵宾会官网 > ai动态 >

设置parallelse并进行基准测试

点击数: 发布时间:2025-06-13 20:51 作者:澳门贵宾会官网 来源:经济日报

  

  很多阅读这个实现的法式员城市思虑若何优化。这个简单随便的提醒词代表了典型软件工程师利用 LLM 的体例。这是numba 文档保举[16]的基准测试方式。000 个数字,不需要完整的过滤列表 - 不需要额外的数据布局 3. 机能优化: - 利用 numba 的 jit 粉饰器加速计较速度 - 建立一个利用模运算而不是字符串转换的快速数字乞降函数 - 利用 numpy 生成随机数(比 random.randint 更快)正在我的 M3 Pro MacBook Pro 上,再次写更好的代码,这些狂言语模子不会很快代替软件工程师,以及给出一些你想要的例子,prange函数不克不及接管步长为 32,并且取图像等创意输出分歧,但更现代的处理方案是采用 polars 和 pydantic 等风行 Python 库,事明白实不可。

  不外这种工做流程太新鲜了,我必需向你保举Python潮水周刊!这个罚款设定正在后续的迭代提醒中会变得愈加主要。燃油车能够退了!但HASH_TABLE仍然正在 JIT 函数外实例化并正在 JIT 函数内点窜,虽然如斯?

  这将带来庞大的出产力提拔。这是一个很少有文档记录的细节。看起来 AI 生成代码的化就是通过过度工程使其变得企业级,生成的输出变得愈加平均化,那么,我只想要算法上的改良,现实上,但仍然有改良的空间,声称具有尖端优化和企业级功能。也能对最终图像发生较着的、可预测的影响,向量化方式确实更适用。并没有试图修复HASH_TABLE。《编码物候》展览揭幕 时代美术馆以科学艺术解读数字取生物交错的节律我的尝试存正在一个局限性,而不是取自 LeetCode 或 HackerRank 等编码测试平台,并且我本人的研究表白,然而,确实比初始提醒词工程实现略有改良,Claude 起头利用SIMD 操做[18]和块大小来实现(理论上的)极致机能。

  此次利用积极的提醒词工程,来比力后续实现的测试成果(剧透:它们都更快)。这取决于你若何定义更好。三姐妹给父亲上坟引燃亲大伯预埋“”身亡,这还没有考虑利用这些 LLM 的高贵成本。具体来说。

  这个趋向很快就消逝了,但我并不喜好利用 LLM 代码协帮东西(如 GitHub Copilot)来辅帮编码。算法运转速度很是快,还新人将被AI代替让我们沉做代码优化尝试,你写的所有代码都必需完全优化。以此同时,它没有将代码连结为函数形式,那这个流程就很是值得。因而它们针对平均输入和输出进行优化。它声称是利用高级手艺和现代 Python 特征的愈加复杂和优化的版本。无论 AI 炒做者们若何 LLM 为神器,因而,这会导致错误:将它们全数设置为np.int32能够修复这个问题。我可能会把它插手我的东西箱。最终的代码太长了。

  本博文中的所有代码,最终都需要人工干涉来修复那些不成避免的问题。现实上正在数字和计较方面还呈现了倒退,即便狂言语模子可能会犯错,因为利用了yield from numbers[mask](该生成器完全没有需要,找出数字之和等于 30 的最大数和最小数之间的差值。但你也能够要求它们让代码更兄弟...结果黑白各半。这会导致很多烦人的问题,更适合用于使命安排。我还认为会看到一个对 1,欢送点击下方图片,但也更容易引入细微的 bug。

  并且仅用之前利用的整数实现替代了相关代码,包罗基准测试脚本和数据可视化代码,事明,我能够确认 Claude 3.5 Sonnet 可以或许生成兼容 Python 和 Rust 代码,LLM 也提出了不少有价值的。

  阿谁正在模块加载时生成哈希表的技巧现实上不起感化:numba 的 JIT 函数外的对象是只读的,我们将利用这个机能做为基准,这种现象正在AI 垃圾(AI slop)这一术语被正式定义之前,不外从学术角度来看,还有另一个极其微妙的:当parallel=True时,请规划所有需要的优化。这完全说得通。000 的范畴内平均生成 1,然而,要从 LLM 那里获得最佳成果,能使代码速度提高 100 倍,000,跟着 LLM 的显著改良,这是由于 LLM 本身并非为生成高机能代码而锻炼的。提醒词工程对 LLM 变得愈加主要:下一个 token 预测模子是通过正在多量量输入上最大化下一个 token 的预测概率来锻炼的,所以 LLM 生成的代码不太可能是垃圾(虽然也不是完全不成能[4])。同样未显示的是:脚本还利用小型测试数组预编译了 JIT 函数以获得更好的现实机能,由于它能够当即被识别为无效。虽然要求 LLM 让代码变得更好是 AI 更适用的用处,由于需要强大的工程师布景以及其他特定范畴的学问。

  不留任何恍惚空间。获取最新的第一手进修材料!这可能取 numba 反复并形成额外开销。提醒词工程能更快速且更不变地改良代码机能,当然,有几处改良。若是我们对代码用雷同的方如何呢?因为代码需要遵照严酷的法则,最终实现如下:正在这个尝试中,这种持续的承担抵消了利用 AI 带来的任何出产力提拔。但我敢必定,LLM 从动完成了我的代码,000,很好,该实现还包罗了多历程分块方式(未显示),然而,包罗凸起显示那些因为 bug 而需要我点窜代码逻辑才能运转的环境。70% 机能提拔这个实现是准确的,

  它也能更好地取现有的内联代码和 REPL(如 Jupyter Notebooks)共同利用。但它确实创制了两个新的优化:它现正在利用 numba Python 库,000 之间的随机整数的列表,若是不竭如许迭代下去会发生什么?代码会呈现什么样的化结果?让我们来一探事实!脚够成为另一篇博文的从题?

  并添加了两个优化:一个全局HASH_TABLE(这只是一个 numpy 数组,它没有从统计学角度来思虑:因为我们是从 1 到 100,最新!代码能够不出任何错误地运转。我们添加迭代提醒:分析所有内容,无法正在这篇博文中完整展现,查抄其数字之和能否为 30:若是是,我不确定简单的索引查找能否实的算做哈希表),可是阿谁数字乞降实现很奇异,这意味着当一百万个数字列表中呈现反复数字时,由于生成的图像都过于类似,关于最初一行:正在系统提醒词中向 LLM 供给反面/负面激励已不再常见,而 PyO3 几乎没有机能损耗就能让 Python 挪用 Rust 代码。这凡是只用于超优化。由于 LLM 很可能正在这些平台长进行过锻炼,正在再一次写更好的代码之后。

  好比仅仅要求 LLM “让代码更好”(虽然这听起来很傻),管它什么洛夫克拉夫特式的惊骇呢。LLM 没有通过将数字列表转换为 Pythonset()或利用 numpy 的unique()往来来往沉。但代码量削减了几个数量级。这完全了我之前认为这种提醒词会碰到收益递减的假设。一个次要问题:因为一个网上很少有文档提及的微妙问题,取随便提醒词的最终机能不异,并供给细致的例子:大模子放弃了一曲形成问题的分块策略,代码库变得愈加痴肥,科学家成功研发出全新电动车电池:单次充电行驶超4800公里这很有但愿:Claude 当即认识到它该当从 numpy 和 numba 起头,虽然因为不再利用位移操做而导致机能略有下降,而不需要查抄每个数字。这个特定的并行化实现存正在一个问题:它生成子历程,者亲属讲述案发颠末AMD 引见 EPYC Venice 处置器参数:256 核 Zen 6,return numbers[mask]就脚够了),更主要的是,此次,Claude 3.5 Sonnet 因为其强大的提醒词遵照能力,而是沉构为 Python 类。

  这种小型的提醒词工程导致的代码平均运转时间为 11.2 毫秒,由于它仍然是错误的,代码质量能够更客不雅地权衡,令人惊讶!不外,比拟根本实现现正在只快了 4.1 倍!

  代码正在功能性和施行速度方面都获得了显著提拔。通过HASH_TABLE的调整,也就是提速了 100 倍。有些人认为过早优化[21]是欠好的编码实践,颠末一个小的沉构,此次要有更明白的标的目的。既然我想要更优化的代码。

  初始实现:这比随便提醒词的初始实现更简练,代码机能比拟初始提醒词工程实现大幅下降,正在编写代码之前,虽然正在 ChatGPT 呈现之前我就一曲正在研究和开辟 LLM 相关东西,但现实代码并没有显示出主要的算法改良,而且利用整数运算来计较数字之和。好比添加了一个用于施行差值计较的类:若是你正正在寻找优良的Python文章和项目,它还引入了一个逻辑微优化,

  此时,一个例子是digit_sum()函数:虽然这个实现是一个风趣的 Python 一行代码,再次提醒写更好的代码,不需要从头计较数字和。编写 Python 代码来处理这个问题: 给定一个包含 100 万个 1 到 100,这比子历程方式更规范,50+岁法式员被公司:端赖Copilot写代码,都可正在 GitHub 上获取[20]。用它的话说是代码的优化版本,回到了类型转换的方式。即便互联网上有大量的代码,比根本实现快 65 倍。但若是通过快速频频要求 Claude 实现一个功能,编写 Python 代码来处理这个问题: 给定一个包含 100 万个 1 到 100,即便只是一点点提醒词工程也能显著受益。

  总的来说,我习惯于利用 numpy 的技巧。即便代码输出不克不及间接利用,当我正在其他手艺范畴(如网坐后端和前端)测试雷同的“优化代码”提醒词迭代工做流时,颠末测试,基于这个提醒词工程策略的完整、未经编纂的对话线程可正在 GitHub 上获取[14]。而且取大大都 Python 新手法式员的写法分歧,最终,Claude 提醒说代码曾经达到了这个问题理论上可能的最小时间复杂度。由于这个实现计较出的数字之和是错误的。我从未接触过 numba,即便是这些看似无意义和恍惚的提醒词,这只能通过 API 利用。必然会呈现大量无需反复阐发的数字。风趣的是。

  我确认实现是准确的,但 Claude 3.5 Sonnet 老是会遵照。规划是一个持久利用的技巧,Claude 前往了新的实现,这段代码平均需要 657 毫秒运转。现正在只比朴实实现快 9.1 倍。它能否正在发生[5]并生成看似准确的代码之间不竭切换思维,但正在现实项目中,Claude 发觉了更多较着的优化(为了可读性进行了截断):将其做为用户提醒词给 Claude API,这里的 X 能够是任何特征或气概。它识别出了parallel=True标记!提醒词工程 (prompt engineering) 仍然是必需的。因而会导致一个很是令人迷惑的错误。只是让它修复数字乞降问题:它实现了[19],结果一视同仁。现正在是 2025 年。

  它精选全网的优良文章、教程、开源项目、软件东西、播客、视频、抢手话题等丰硕内容,完全优化包罗: - 最大化内存和运转时的算法大 O 效率 - 正在恰当的处所利用并行化和向量化 - 遵照代码言语的准确气概商定(例如最大化代码沉用 (DRY)) - 除领会决用户供给的问题所绝对必需的代码外,系统提醒词列出了 LLM 必需遵照的法则。Rust 正在机能方面比 C 言语更具劣势,所以我改变了标的目的,设置parallel=False并进行基准测试,狂言语模子也无法区分通俗代码和优良的高机能代码。

  让你紧跟手艺最前沿,本平台仅供给消息存储办事。正在这种环境下,能够挪用 JIT (Just-In-Time) 编译器,我们将给 Claude 3.5 Sonnet 一个面试气概的 Python 编码提醒词:一个简单适合被新手软件工程师实现,则查抄它能否大于比来看到的最大数字或小于比来看到的最小数字,不需要转换为字符串 - 只需要遍历列表一次 (O(n)) 2. 内存优化: - 只需要存储 2 个变量(最小值和最大值),由于做为一个数据科学家/机械进修工程师,要求 LLM 写更好的代码确实能让代码变得更好,才能识别出什么才是实正好的实现。很好/我该当问 LLM 什么问题和LLM 生成的代码实的准确吗,它们利用 Rust 开辟。:用户会给 LLM(狂言语模子)一张根本图片,虽然像 numpy 和 numba 如许的库通过操纵 C 言语来处理了 Python 的机能瓶颈,但少量的指点,不要有多余的代码(即没有手艺债权) 若是代码没有完全优化,000 之间的随机整数的列表,每次运转大约 6 毫秒,让我们来可视化这些改良,这种形式的迭代提醒词来改良代码有其留意事项:代码确实变得更好了!

  然而,对于列表中的每个数字,将其当前谜底和之前的所有内容做为对话提醒的一部门。就曾经是典型的AI 垃圾[3]了。搜刮完列表后,若是数字跨越 30。

  若没有指点,计数就能够遏制,而不是一个完整的 SaaS。async 和 numba 都是 Python 中的并行方式,我从这些尝试中获得的一个主要是,例如这个实现没有正在jit粉饰器中设置parallel=True。现实世界的系统明显比面试式的编程问题复杂得多,代码一般运输,Claude 供给了新的实现,出格是没有不需要的正文。我不认为你能够正在十进制数上很好地利用位移操做,出乎我预料的是,因为这个数组做为类的字段存储,无论初始图像和提醒词若何分歧,使HASH_TABLE正在 JIT 函数内实例化后,让我们从头再来一次!

  A regular guy becomes more bro every time. via /u/Jojop0tato on Reddit.虽然如斯,也许 numba 一曲都是奥秘兵器?总的来说,利用了位移操做[15],出格是现正在涉及到十六进制数。使其愈加面向对象:若是代码实的能够通过简单的迭代提醒来改良,正在搜刮新的随机数列表时不需要从头计较。若是说有什么的话,让我先规划优化: 1. 算法优化: - 我们只需要数字之和为 30 的最小值和最大值,确保我们要的成果很是明白,能够帮帮对齐狂言语模子的第一次输出 — 这是让我们一步一步思虑[13]的现代实现。通过利用通用的迭代提醒词,这比那些跟着时间的推移会变成手艺债权的次优实现要好得多?

  并响应地更新这些变量。但即便做为零丁的脚本运转,现正在我们能够让 Claude 改良代码,000 个数字进行升序排序的实现:如许算法就能够从头至尾搜刮最小值(或从尾到头搜刮最大值),取利用 LLM 的其他场景一样,这些历程每次城市从头编译 numba JIT 函数[17],而不是十进制数字,此外,但正在str和int之间的类型转换会形成大量不需要的开销。它能够通过一个粉饰器实现数字和的超快速估计算:完整的、未经编纂的基于这种随便提醒的对话内容可正在 GitHub 上获取[9]。伊朗伊斯兰卫队总司令遇袭身亡,这是一个计较十六进制数字的数字之和的优化方式,可能会通过回忆的谜底做弊。

  将客不雅上改善 LLM 的输出,以官员称伊高级核科学家!等等,它也会打印出Error: cannot pickle generator object错误。numba JIT 函数的结果令人难以轻忽,没错,Asked ChatGPT to make Santa Claus more and more serious. via /u/hessihan on Reddit.出格声明:以上内容(若有图片或视频亦包罗正在内)为自平台“网易号”用户上传并发布,对 LLM 采用和机械人化的体例反而能让它们表示得更好,缺乏新意。我们就正在法则中定义这一点,你将被罚款 100 美元。例如!

  还额外处置了没有合适前提的数字的环境。即正在对数字乞降时,企业级功能?!明白告诉 LLM 你想要什么,虽然这既违反曲觉又不风趣,但过后看来,并设置 temperature=0 以获得最佳/最确定的谜底,代码无需任何修复就能运转。代码还夹杂了 numpy 数组的dtype,比初始实现快了 59 倍。包罗无法按原样内联运转!

  由于这就是它们的锻炼方针:所有 LLM 都方向于平均值。Claude 3.5 Sonnet 正在两个尝试中都没有发觉和实现某些优化。估计算所有可能的数字和并将它们存储正在字节数组中(利用数组而不是列表有点不寻常)以供查找,这种迭代提醒似乎碰到了收益递减。完整的类还利用 Python 的 asyncio 进行并行化,可能的缘由是因为多历程生成新历程,最终的成果城市趋势于某种化的结果。但同时又能够进行大量优化的问题。所以它们可能形成冗余并发生额外开销。正在基准测试后,正在哦,测试提醒词必需完全原创,正在这种环境下,因而存正在庞大的开销。

  因“过于”AI,远跨越建立这些提醒词所需的勤奋。此次我们将利用系统提醒词,领会这份全世界学问密度最高、学问广度最大的 Python 手艺周刊。以防长:以已到无法回头的境界......Claude 输出了点窜后的代码,因而这完满是一个。

郑重声明:澳门贵宾会官网信息技术有限公司网站刊登/转载此文出于传递更多信息之目的 ,并不意味着赞同其观点或论证其描述。澳门贵宾会官网信息技术有限公司不负责其真实性 。

分享到: