IQ推出的SolidityBench:第一个用于评估LLM生成Solidity代码的排行榜。

我们很高兴宣布推出由 IQ 推出的 SolidityBench,这是第一个用于评估和排名 LLM 模型在 Solidity 代码生成能力的排行榜。SolidityBench 在 Hugging Face 上推出了一个新的 Solidity 代码生成排行榜,包括两个专为 Solidity 设计的创新基准:NaïveJudge 和 HumanEval for Solidity。通过这些基准,SolidityBench 提供了一个最前沿的评估框架,用于评估大型语言模型(LLMs)在 Solidity 代码生成中的表现。

推进 IQ Code 的发展

SolidityBench 由 BrainDAO 开发,是构建 IQ Code 的一部分。IQ Code 是我们即将推出的第一套用于生成和审核智能合约代码的 AI 模型。为了打造智能合约的最佳 AI 模型,我们首先建立了一个排名系统作为评估标准。我们专门开发了 NaïveJudge 和 HumanEval for Solidity 作为基准,来测试我们正在研发的专用于 Solidity 代码生成的 LLM 模型。

这套强大的基准工具包具有两个核心目的:

  • 推动 IQ Code 的 EVMind LLMs 的持续优化和改进。

  • 提供对比,清晰展现我们的专用模型与通用 LLM 以及社区开发的替代方案之间的差异。

通过 SolidityBench,我们不仅在改进自身技术,也在为整个区块链生态系统的智能合约开发设定新的 AI 辅助标准。

NaïveJudge:智能合约评估的新方法

NaïveJudge 在 LLM 生成的智能合约评估方面取得了重要进展。为此,我们创建了一个专门的数据集,LLM 模型根据详细的规范实现智能合约。该数据集包含来自 OpenZeppelin 的已审核智能合约,具有简单明了的目标。这些合约作为评估生成代码正确性和效率的黄金标准。这些合约的提示从参考代码生成,模拟了真实的开发场景。NaïveJudge 涵盖了 11 项不同任务,以挑战 LLM 模型对 Solidity 的理解和实现能力。不仅测试了功能方面,还确保了安全和优化标准的达成,反映了专业智能合约开发的复杂性和细微差别。

NaïveJudge 的独特之处在于其评估方法:

  • 生成的代码与经过审核的参考实现进行对比。

  • 由先进的 LLM(如 OpenAI GPT-4o 和 Claude 3.5 Sonnet)作为中立代码审查员进行评估。

  • 评估基于一套全面的标准,包括功能完整性、对 Solidity 最佳实践和安全标准的遵循,以及代码优化。

NaïveJudge 的评估标准严谨,涵盖三大方面:

  • 功能完整性(0-60分):评估生成的代码是否实现了参考代码中的所有关键功能,能否处理边缘情况,并适当管理潜在错误。

  • Solidity 最佳实践和安全性(0-30分):评估是否使用正确和最新的 Solidity 语法,是否遵循最佳实践和设计模式,是否适当使用数据类型和可见性修饰符,以及整体代码结构和可维护性。

  • 优化和效率(0-10分):关注气体效率、避免不必要的计算、存储效率和相较于专家实现的整体性能。

最终得分范围为 0 到 100 分,通过各项标准的分数相加,提供了生成代码质量和效果的全面评估。

HumanEval for Solidity:将经典基准引入智能合约

OpenAI 的 HumanEval 是一个用于评估 LLM 代码生成能力的基准数据集。HumanEval 作为 Codex 研究的一部分引入,包含的编程任务不仅要求语法正确,还需要功能精确,这就要求模型生成的代码不仅可以编译,还能正确地解决给定问题。HumanEval 的评估框架涉及为给定提示生成代码补全,然后针对一组隐藏测试用例检查其正确性。这种方法旨在评估模型理解代码、领会问题陈述并生成有效解决方案的能力,从而相比传统指标更全面地衡量模型的编码水平。该数据集及其评估方法在推动该领域进展方面具有重要意义,提供了关于 AI 在代码生成任务中优势和局限性的深入见解。

HumanEval for Solidity 是对原始 HumanEval 基准的改编,它已被广泛用于评估 Python 中的代码生成能力。我们从原始基准中精心挑选了 25 个不同难度的任务并移植到 Solidity 中,作为 HuggingFace 数据集发布。每个任务都配有相应的测试,专为在流行的以太坊开发环境 Hardhat 中使用而设计。

HumanEval for Solidity 的评估过程由一个基于 Hardhat 的自定义服务器支持,该服务器负责编译和测试生成的 Solidity 代码。这一设置允许对生成的 Solidity 代码进行精确和高效的测试,为评估 AI 模型生成功能完整的智能合约的能力提供了可靠依据。

在使用 HumanEval for Solidity 评估语言模型(LLMs)时,主要使用两个指标:pass@1 和 pass@3。根据模型成功完成任务的百分比,这些指标对模型进行 1 到 100 的评分。pass@1 分数通过模型在首次尝试中的成功率来评估其精确性和效率。而 pass@3 则提供每项任务最多三次的尝试机会,以此洞察模型在多次尝试中解决问题的能力。

在 HuggingFace Space 上运行的 HumanEval for Solidity 服务器
在 HuggingFace Space 上运行的 HumanEval for Solidity 服务器

推动 LLM 生成的智能合约领域的发展

SolidityBench 是 LLM 生成的 Solidity 代码评估中的重要进展。通过提供这两个互补的基准,我们的目标是:

  • 鼓励更复杂且可靠的智能合约生成 AI 模型的开发。

  • 为开发者和研究人员提供有关 AI 在 Solidity 开发中当前能力和局限的宝贵见解。

  • 促进社区驱动的智能合约质量和安全性改进。

我们邀请开发者、研究人员和 AI 爱好者探索并为 SolidityBench 做出贡献。您的参与可以对 AI 辅助智能合约开发的未来产生重要影响。加入我们,共同推动去中心化应用和区块链技术的边界。

请访问 Hugging Face 上的 SolidityBench 排行榜,了解更多信息,并开始对您的 Solidity 生成模型进行基准测试!

关于IQ

IQ代币是一种专注于通过人工智能和区块链技术建设更加智能未来的加密货币。

IQ代币推动了一个知识生态系统,包括应用程序,如IQ.wiki,世界上最大的加密货币和区块链百科全书,IQ GPT,一个为加密货币和区块链提供支持的人工智能助手,以及IQ.social,一个由IQ持有者管理的、由人工智能驱动的社交论坛,总结与加密相关的新闻。BrainDAO还在构建IQ Code,这是第一个针对智能合约的AI模型。该代币由BrainDAO管理,该DAO还持有一系列数字资产财库。

Twitter | IQ.wiki | IQDashboard | IQGPT | IQ.social | Reddit Discord | Telegram | Governance | Github

Subscribe to IQ.Wiki Blog (CN)
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.