Solidity LLM:区块链的大模型

Solidity-Code-LLM是一个专门用于帮助开发人员编写、理解和分析用Solidity编写的智能合约的微调AI模型。可以使用LLM理解、生成和分析用Solidity编写的智能合约。

Solidity LLM:区块链的大模型
一键发币: SUI | SOL | BNB | ETH | BASE | ARB | OP | POLYGON | 用AI学区块链开发

LLMs已经针对许多使用场景进行了微调,无论是金融、语言、代码等。但这是第一次,一个LLM被微调用于Solidity,一种区块链语言。

1、什么是Solidity-LLM?

Solidity-Code-LLM是一个专门用于帮助开发人员编写、理解和分析用Solidity编写的智能合约的微调AI模型。它由ChainGPT开发,这是一家专注于区块链和Web3人工智能工具的公司。这个模型并不试图做所有事情。它只专注于一个任务:Solidity智能合约。

它是基于Salesforce的codegen-2B-multi模型,具有20亿个参数。该模型经过两步训练。首先,它从大量原始Solidity代码中学习。然后,它使用更清洁、结构良好的真实合约示例进行微调。这种训练使其在处理以太坊应用时比通用编码模型更加准确和可靠。

该模型是开源的,可以从这里下载。

2、Solidity-LLM是谁构建的

  • 开发者: ChainGPT
  • 基础模型: Salesforce/codegen-2B-multi
  • 许可证: MIT(开源)
  • 参数: 20亿
  • 分词器: GPT2Tokenizer
  • 最大上下文长度: 2048个标记
  • 精度: bfloat16
  • 演示: 在Hugging Face上可用

它在一个拥有4块GPU(每块80GB)的计算集群上训练了超过1,095小时(约1.5个月)。这是一个长时间专注于Solidity合约的训练周期。

3、什么让Solidity-LLM与众不同

如今大多数大型模型都训练为处理多种语言中的多种任务。Solidity-Code-LLM不是这样。它只关心一种语言:Solidity。这就是为什么在智能合约方面它做得更好。

它在五个重要的指标上进行了评估:

编译率

  • 它生成的83%的合约可以成功编译而无需更改。
  • 这意味着它对Solidity语法和结构有很好的理解。

OpenZeppelin合规性

  • 65%的合约遵循使用OpenZeppelin库的标准模式。
  • 这很重要,因为OpenZeppelin在区块链世界中广泛使用且值得信赖。

Gas效率

  • 使用Slither(静态分析工具)获得72%的效率评分。
  • 它编写的合约运行成本更低。

安全评分

  • 58%的代码没有常见的漏洞,再次使用Slither测试。
  • 表现不错,但仍有改进空间。

代码长度(LOC)

  • 得分约为70%,这意味着合约既不太长也不太短。
  • 代码通常干净,不杂乱。

4、你可以用Solidity-LLM做什么

这个模型是Solidity开发人员和学习者的有用工具。

你可以用它来:

  • 更快地编写智能合约。
  • 通过请求示例来学习Solidity。
  • 生成合同模板(ERC-20、ERC-721、DAO、治理等)。
  • 为你的合约创建简单的文档。
  • 将其集成到智能合约IDE或区块链开发工具中。

但避免用它来做:

  • 编写其他语言如Python或JavaScript的代码,它没有接受过这些语言的训练。
  • 跳过手动审查和测试。永远不要在生产环境中直接使用生成的合约而不进行审计。
  • 替换人类审计员。它可能会忽略一些细微的安全问题。

5、Solidity-LLM是如何训练的(更多细节)

预训练

  • 使用了10亿个标记的原始、未过滤的Solidity代码。
  • 这些是公开的合约,从互联网上抓取的。

微调

  • 仅专注于:
  • Solidity版本0.5或更高。
  • 合约在200到4000个标记之间。
  • 没有重复代码、无用注释或损坏导入的干净合约。
  • 只保留实际可以编译和运行的合约。

指令调优

  • 使用了65万个提示-响应对。
  • 这有助于模型更好地回答问题和遵循特定指令。

评估工具

  • Slither用于测试合约。它检查:
  • 编译错误
  • 安全风险
  • Gas使用问题
  • OpenZeppelin使用情况
  • 代码结构

6、风险和限制

  • 该模型可能反映网络上的过时或不良实践。
  • 它可能生成看起来正确但不安全或不合逻辑的代码。
  • 在专家审查之前不应用于部署合约。
  • 它不能替代人类的理解或测试。

ChainGPT明确表示,这个工具是一个助手,而不是开发经验或安全审计的替代品。

7、结束语

Solidity-Code-LLM不是最大的模型,但它是最专注的模型之一。它只针对Solidity,这使它具有优势。它能够很好地编译代码,使用可信的库,编写高效的gas代码,并保持代码的可读性。

与GPT-4.5或Qwen 7B等更大的模型相比,它在某些领域甚至表现得更好,比如gas使用。这是小型、任务特定模型比大型通用模型更有用的一个好例子。

如果你在构建智能合约并想要一个不会碍手碍脚的工具,这是一个不错的选择。只是记住:在信任它用于真实资金或实时部署之前,请始终审查输出。


原文链接:Solidity LLM : AI for BlockChain

DefiPlot翻译整理,转载请标明出处

免责声明:本站资源仅用于学习目的,也不应被视为投资建议,读者在采取任何行动之前应自行研究并对自己的决定承担全部责任。