CodeTF是一个基于Python的Transformer一站式库,专为代码大语言模型(Code LLMs)和代码智能任务而设计。它提供了无缝的训练和推理接口,可应用于代码摘要生成、翻译、代码生成等任务。该库旨在促进SOTA CodeLLMs轻松集成到实际应用中。
除了提供代码的核心LLMs功能外,CodeTF还具备跨多种语言的代码操作工具,能够方便地提取代码属性。其核心AST解析器采用tree-sitter,可解析诸如函数名、注释和变量名等属性。CodeTF提供了预构建的多种语言库,从而避免了复杂的解析器设置过程。因此,CodeTF为用户提供了一个友好且易于访问的代码智能任务环境。
该库的当前版本提供了以下功能:
-
快速模型服务:我们支持一个易于使用的接口,用于通过预量化模型(int8、int16、float16)进行快速推理。CodeTF负责所有设备管理相关的方面,让用户无需为此操心。如果您的模型较大,我们还提供诸如权重在多个GPU之间的分片等高级功能,以便更高效地提供服务。
-
自定义模型微调:我们提供了一个API,使用户能够在分布式环境中利用最先进的参数高效微调技术(如HuggingFace PEFT),快速对自定义的代码LLMs进行微调。
-
支持的任务:包括自然语言转代码(nl2code)、代码摘要、代码补全、代码翻译、代码优化、克隆检测以及缺陷预测等。
-
数据集增强版:我们已对知名基准数据集(如Human-Eval、MBPP、CodeXGLUE、APPS等)进行了预处理,并提供了一个易于加载这些数据集的功能。
-
模型评估器:我们为用户提供了一个接口,用于在知名基准数据集(如Human-Eval)上,使用流行指标(如pass@k)对模型进行轻松评估,操作过程仅需少量代码(约15行)。
-
预训练模型:我们提供了代码领域最先进的基础语言模型的预训练检查点,如CodeBERT、CodeT5、CodeGen、CodeT5+、Incoder、StarCoder等。
-
微调模型:我们为8个以上的下游任务提供了微调后的模型检查点。
-
源代码操作工具:我们提供了易于使用的源代码操作工具,这些工具基于tree-sitter,支持15种以上的编程语言,方便用户提取重要的代码特征,如函数名、标识符等。
0条评论