CGCL-codes/naturalcc
NaturalCC: An Open-Source Toolkit for Code Intelligence
解決的問題
NaturalCC 是一個序列建模工具包,彌合程式語言與自然語言之間的差距。它提供一個統一的框架,讓研究人員與開發者能建構並評估用於軟體工程任務的模型,例如程式碼生成、補全、摘要、檢索、克隆檢測與類型推論。
工作原理
基於 Fairseq 的註冊機制建構,此工具包具有模組化與可擴充性。它與 Hugging Face Transformers 整合,支援大型程式碼模型如 Code Llama、CodeT5、CodeGen 和 StarCoder。在訓練方面,使用 NCCL 與 torch.distributed 以實現多 GPU 效能,支援 FP32 與 FP16 精度。同時也包含使用 LLVM 等編譯器工具進行特徵萃取的預處理工具與腳本。
適用對象
專為關注程式碼智慧與機器學習及軟體工程交集的 AI 研究人員與軟體開發者設計。
主要亮點
- 大模型支援:與 Code Llama 與 StarCoder 等先進模型整合。
- 全面的資料集支援:內建支援 Human-Eval、CodeSearchNet 與 Py150 等基準測試。
- 高效訓練:針對多 GPU 環境優化,支援半精度運算。
- 模組化架構:可輕鬆適應自訂模型、損失函數與訓練流程。
相關
- 專案
- Dispatch
- Dispatch
- 專案
- 專案