英文

Chat & support: my new Discord server

Want to contribute? TheBloke's Patreon page

Bigcode的StarcoderPlus GGML

这些文件是 Bigcode's StarcoderPlus 的GGML格式模型文件。

请注意,这些GGML文件与llama.cpp或当前的文本生成web界面不兼容。请参阅下面的工具列表,这些工具已知可以与这些模型文件一起使用。

可用的存储库

兼容性

这些文件不适用于llama.cpp。

目前可以与以下内容一起使用:

随着其他选项的出现,我将努力在此处更新它们(如果我漏掉了,请在社区选项卡中告诉我!)

使用GPT4All-UI的教程

提供的文件

Name Quant method Bits Size Max RAM required Use case
starcoderplus.ggmlv3.q4_0.bin q4_0 4 10.75 GB 13.25 GB Original llama.cpp quant method, 4-bit.
starcoderplus.ggmlv3.q4_1.bin q4_1 4 11.92 GB 14.42 GB Original llama.cpp quant method, 4-bit. Higher accuracy than q4_0 but not as high as q5_0. However has quicker inference than q5 models.
starcoderplus.ggmlv3.q5_0.bin q5_0 5 13.09 GB 15.59 GB Original llama.cpp quant method, 5-bit. Higher accuracy, higher resource usage and slower inference.
starcoderplus.ggmlv3.q5_1.bin q5_1 5 14.26 GB 16.76 GB Original llama.cpp quant method, 5-bit. Even higher accuracy, resource usage and slower inference.
starcoderplus.ggmlv3.q8_0.bin q8_0 8 20.11 GB 22.61 GB Original llama.cpp quant method, 8-bit. Almost indistinguishable from float16. High resource use and slow. Not recommended for most users.

Discord

如需进一步支持,并讨论这些模型和AI的一般问题,请加入我们:

TheBloke AI's Discord server

感谢及如何贡献。

感谢 chirper.ai 团队!

很多人问我是否可以做出一些贡献。我很享受提供模型和帮助人们的乐趣,并且很乐意能够花更多的时间来做这个事情,以及扩展到新的项目,如微调/训练。

如果您有能力和愿意贡献,我将非常感激,并将有助于我继续提供更多模型,并开始新的AI项目。

捐助者将在所有关于AI/LLM/模型的问题和请求上享有优先支持,并获得私人Discord房间以及其他福利。

特别感谢:来自CarbonQuill的Luke,Aemon Algiz,Dmitriy Samsonov。

Patreon特别提到:Ajan Kanaga,Kalila,Derek Yates,Sean Connelly,Luke,Nathan LeClaire,Trenton Dambrowitz,Mano Prime,David Flickinger,vamX,Nikolai Manek,senxiiz,Khalefa Al-Ahmad,Illia Dulskyi,trip7s trip,Jonathan Leane,Talal Aujan,Artur Olbinski,Cory Kujawski,Joseph William Delisle,Pyrater,Oscar Rangel,Lone Striker,Luke Pendergrass,Eugene Pentland,Johann-Peter Hartmann。

感谢所有慷慨的赞助者和捐助者!

原始模型卡:Bigcode的StarcoderPlus

StarCoderPlus

StarChat-Beta 上玩instruction-tuned的StarcoderPlus。

目录

  • 模型摘要
  • 使用
  • 限制
  • 训练
  • 许可
  • 引用
  • 模型摘要

    StarCoderPlus是 StarCoderBase 在English web数据集 RedefinedWeb 和维基百科数据集上的600B标记上进行微调的版本。这是一个经过1500B参数的15.5B语言模型,训练了English和80多种编程语言。该模型使用了 Multi Query Attention a context window of 8192 tokens ,并使用 Fill-in-the-Middle objective 进行了1.6万亿个标记的训练。

    使用

    预期使用

    该模型是使用英文和GitHub代码进行训练的。因此,它不是一个指令模型,像"编写一个计算平方根的函数"这样的指令不适用。然而,在 StarChat 中的instruction-tuned版本则是一个功能强大的助手。

    欢迎在社区选项卡中分享您的生成结果!

    生成

    # pip install -q transformers
    from transformers import AutoModelForCausalLM, AutoTokenizer
    
    checkpoint = "bigcode/starcoderplus"
    device = "cuda" # for GPU usage or "cpu" for CPU usage
    
    tokenizer = AutoTokenizer.from_pretrained(checkpoint)
    model = AutoModelForCausalLM.from_pretrained(checkpoint).to(device)
    
    inputs = tokenizer.encode("def print_hello_world():", return_tensors="pt").to(device)
    outputs = model.generate(inputs)
    print(tokenizer.decode(outputs[0]))
    

    填空式

    填空式使用特殊标记来识别输入和输出的前缀/中间/后缀部分。

    input_text = "<fim_prefix>def print_hello_world():\n    <fim_suffix>\n    print('Hello world!')<fim_middle>"
    inputs = tokenizer.encode(input_text, return_tensors="pt").to(device)
    outputs = model.generate(inputs)
    print(tokenizer.decode(outputs[0]))
    

    归属和其他要求

    模型的训练代码和数据集仅限于宽松许可证。但是,模型可以逐字地生成数据集中的源代码。该代码的许可证可能要求归属和/或其他特定要求,必须遵守。我们提供了一个 search index ,可以让您搜索预训练数据以确定生成的代码来自何处,并将适当的归属应用于您的代码。

    限制

    该模型是通过对StarcoderBase进行600B英文和代码标记的微调得到的,而该模型以1T的代码标记进行了预训练。因此,当处理非英文文本时,它可能会遇到限制,并且可能存在在网络上常见的刻板和偏见。此外,生成的代码应谨慎使用,因为它可能包含错误、低效或潜在的漏洞。有关基本模型代码限制的更全面的理解,请参阅参阅 StarCoder paper

    训练

    StarCoderPlus是在600B英文和代码标记上对StarCoderBase进行微调的版本,StarCoderBase是在1T代码标记上进行预训练的。以下是微调的详细信息:

    模型

    • 架构:使用多查询注意力和填充中间目标的GPT-2模型
    • 微调步骤:150k
    • 微调标记:600B
    • 精度:bfloat16

    硬件

    • GPU:512个Tesla A100
    • 训练时间:14天

    软件

    许可

    该模型根据BigCode OpenRAIL-M v1许可协议进行许可。您可以在 here 找到完整的协议。