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
  • 專案
  • 專案