HuggingFace镜像/starencoder
模型介绍文件和版本分析
下载使用量0

StarEnCoder

目录

  1. 模型概述
  2. 训练过程
  3. 使用场景
  4. 局限性
  5. 许可证

模型概述

这是一个基于The Stack数据集训练的仅编码器模型(即双向自注意力Transformer架构)。

  • 项目网站: bigcode-project.org
  • 联系邮箱: contact@bigcode-project.org
  • 支持语言: 80+ 种编程语言

我们采用了以下技术方案:

  • 基于BERT的掩码语言建模(MLM)与下一句预测(NSP)目标
  • 通过预测输入语句中被遮蔽的标记,以及判断句子对是否在文档中相邻出现进行训练

训练过程

我们使用最大长度为1024的4096个序列作为全局批次大小,训练100,000步,累计观测约4000亿个标记。使用64块NVIDIA A100 GPU耗时约两天完成训练。模型架构详细参数见下表:

超参数值
隐藏层维度768
中间层维度3072
最大位置嵌入1024
注意力头数量12
隐藏层数量12
注意力机制多头注意力
参数量≈1.25亿

使用场景

本模型基于包含GitHub议题和提交记录在内的86种编程语言代码进行训练,可高效微调用于代码相关及文本处理任务。我们已在令牌分类任务上完成微调,用于检测个人身份信息(PII),并发布了StaPII模型。

局限性

使用StarEncoder时需注意以下限制:作为仅编码器模型,其在代码生成或补全任务的灵活性受限;训练数据包含PII可能引发隐私顾虑;对80多种编程语言的支持效果存在差异(尤其对小众语言);在非编程语言领域的理解能力可能有限。

许可证

该模型遵循 BigCode OpenRAIL-M v1 许可证协议。您可在此处查看完整协议内容:https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement。