模型:
facebook/incoder-1B
一个由Transformer模型训练而成的1B参数解码器,使用了因果掩码目标,可以插入/填充代码,以及进行从左到右的生成。
该模型是在GitHub、GitLab和StackOverflow上使用具有宽松、非版权限制的开源代码库(Apache 2.0、MIT、BSD-2或BSD-3)进行训练的,这些库主要包含Python和JavaScript代码,还包括来自28种语言以及StackOverflow的代码。
有关更多信息,请参见我们的:
还有一个更大的6B参数模型可在 facebook/incoder-6B 处获得。
pytorch,tokenizers和transformers。由于预令牌化程序的更改,我们的模型要求HF's tokenizers >= 0.12.1。
pip install torch pip install "tokenizers>=0.12.1" pip install transformers
请参阅 https://github.com/dpfried/incoder 以获取示例代码。
model = AutoModelForCausalLM.from_pretrained("facebook/incoder-1B")
tokenizer = AutoTokenizer.from_pretrained("facebook/incoder-1B")
(注意:incoder-1B和incoder-6B的分词器是相同的,因此也可以使用'facebook/incoder-6B'。)
调用tokenizer.decode时,重要的是传递clean_up_tokenization_spaces=False,以避免在标点符号之后删除空格。例如:
tokenizer.decode(tokenizer.encode("from ."), clean_up_tokenization_spaces=False)
(注意:编码会在tokenizer.decode中添加