CGCL-codes/naturalcc

NaturalCC: An Open-Source Toolkit for Code Intelligence

解决的问题

NaturalCC 是一个序列建模工具包,弥合了编程语言与自然语言之间的差距。它为研究人员和开发者提供了一个统一的框架,用于构建和评估代码生成、补全、摘要、检索、克隆检测和类型推断等软件工程任务的模型。

工作原理

基于 Fairseq 的注册机制构建,该工具包具有模块化和可扩展性。它与 Hugging Face Transformers 集成,支持 Code Llama、CodeT5、CodeGen 和 StarCoder 等大型代码模型。在训练方面,使用 NCCLtorch.distributed 实现多 GPU 高效计算,支持 FP32 和 FP16 精度。还包含用于使用 LLVM 等编译器工具进行特征提取的预处理工具和脚本。

适用对象

专为关注代码智能以及机器学习与软件工程交叉领域的 AI 研究人员和软件开发人员设计。

主要亮点

  • 大模型支持:与 Code Llama 和 StarCoder 等前沿模型集成。
  • 全面的数据集支持:内置对 Human-Eval、CodeSearchNet 和 Py150 等基准测试的支持。
  • 高效训练:针对多 GPU 环境优化,支持半精度计算。
  • 模块化架构:可轻松适配自定义模型、损失函数和训练流程。

相关

  • 项目
  • Dispatch
  • Dispatch
  • 项目
  • 项目