CodeTF 是一个基于 Python Transformer 的一站式代码大型语言模型 (Code LLM) 和代码智能库

工具软件1年前 (2023)发布 gpts
74 0

CodeTF 是一个基于 Python Transformer 的一站式代码大型语言模型 (Code LLM) 和代码智能库,为代码智能任务(如代码摘要、翻译、代码生成等)的训练和推理提供无缝接口。它旨在促进将 SOTA CodeLLM 轻松集成到实际应用程序中。除了核心 LLM 的代码功能外,CodeTF 还提供跨各种语言的代码操作实用程序,包括轻松提取代码属性。使用 tree-sitter 作为其核心 AST 解析器,它可以解析函数名、注释和变量名等属性。提供了多种语言的预构建库,无需进行复杂的解析器设置。因此,CodeTF 确保为代码智能任务提供一个用户友好且可访问的环境。

该库的当前版本提供:

  • 快速模型服务:我们支持一个易于使用的界面,用于使用预量化模型(int8、int16、float16)进行快速推理。CodeTF 处理设备管理的所有方面,因此用户不必担心这方面的问题。如果您的模型很大,我们会提供高级功能,例如跨 GPU 的权重分片,以更快地为模型提供服务。
  • 微调您自己的模型:我们提供了一个 API,用于使用 SOTA 技术快速微调您自己的 LLM 代码,以便在分布式环境中进行参数高效微调 (HuggingFace PEFT)。
  • 支持的任务:nl2code、代码摘要、代码完成、代码翻译、代码细化、克隆检测、缺陷预测。
  • Datasets+:我们已经对众所周知的基准(Human-Eval、MBPP、CodeXGLUE、APPS 等)进行了预处理,并为这些数据集提供了易于加载的功能。
  • 模型评估器:我们提供接口来评估基于流行指标(例如 pass@k)的知名基准(例如 Human-Eval)的模型,几乎不费力(~15 LOC)。
  • 预训练模型:我们提供最先进的代码基础语言模型(CodeBERT、CodeT5、CodeGen、CodeT5+、Incoder、StarCoder 等)的预训练检查点。
  • 微调模型:我们为 8 个以上的下游任务提供微调检查点。
  • 操作源代码的实用程序:我们提供实用程序来轻松操作源代码,例如 15 种以上编程语言中用户友好的 AST 解析器(基于 tree-sitter),以提取重要的代码特征,例如函数名称、标识符等。

CodeTF 库支持代码智能任务的代码 LLM 的开发和部署。该库可以支持训练和服务代码 LLM 模型、用于处理代码数据的代码实用程序,以及用于评估模型性能的流行研究基准。

CodeTF 的设计遵循关键原则,旨在为代码智能任务提供一个用户友好且易于使用的平台。它遵循模块化架构,通过允许无缝集成其他编程语言、模型和实用程序来增强其可扩展性。

项目链接

https://github.com/salesforce/CodeTF

论文:https://arxiv.org/abs/2306.00029

© 版权声明

相关文章