|
--- |
|
language: |
|
- code |
|
license: apache-2.0 |
|
tags: |
|
- causal-lm |
|
datasets: |
|
- bigcode/starcoderdata |
|
inference: false |
|
model_creator: StabilityAI |
|
model_link: https://huggingface.co/stabilityai/stablecode-completion-alpha-3b-4k |
|
model_type: gpt-neox |
|
quantized_by: TheBloke |
|
base_model: stabilityai/stablecode-completion-alpha-3b-4k |
|
model-index: |
|
- name: stabilityai/stablecode-completion-alpha-3b-4k |
|
results: |
|
- task: |
|
type: text-generation |
|
dataset: |
|
name: HumanEval |
|
type: openai_humaneval |
|
metrics: |
|
- type: pass@1 |
|
value: 0.1768 |
|
name: pass@1 |
|
verified: false |
|
- type: pass@10 |
|
value: 0.2701 |
|
name: pass@10 |
|
verified: false |
|
--- |
|
|
|
<!-- header start --> |
|
<div style="width: 100%;"> |
|
<img src="https://i.imgur.com/EBdldam.jpg" alt="TheBlokeAI" style="width: 100%; min-width: 400px; display: block; margin: auto;"> |
|
</div> |
|
<div style="display: flex; justify-content: space-between; width: 100%;"> |
|
<div style="display: flex; flex-direction: column; align-items: flex-start;"> |
|
<p><a href="https://discord.gg/theblokeai">Chat & support: my new Discord server</a></p> |
|
</div> |
|
<div style="display: flex; flex-direction: column; align-items: flex-end;"> |
|
<p><a href="https://www.patreon.com/TheBlokeAI">Want to contribute? TheBloke's Patreon page</a></p> |
|
</div> |
|
</div> |
|
<!-- header end --> |
|
|
|
# Stablecode Completion Alpha 3B 4K - GGML |
|
- Model creator: [StabilityAI](https://huggingface.co/StabilityAI) |
|
- Original model: [Stablecode Completion Alpha 3B 4K](https://huggingface.co/stabilityai/stablecode-completion-alpha-3b-4k) |
|
|
|
## Description |
|
|
|
This repo contains GPT-NeoX GGML format model files for [StabilityAI's Stablecode Completion Alpha 3B 4K](https://huggingface.co/stabilityai/stablecode-completion-alpha-3b-4k). |
|
|
|
Please note that these GGMLs are **not compatible with llama.cpp, text-generation-webui or llama-cpp-python**. Please see below for a list of tools that work with this GGML model. |
|
|
|
## Repositories available |
|
|
|
* [GPTQ models for GPU inference, with multiple quantisation parameter options.](https://huggingface.co/TheBloke/stablecode-completion-alpha-3b-4k-GPTQ) |
|
* [2, 3, 4, 5, 6 and 8-bit GGML models for CPU+GPU inference](https://huggingface.co/TheBloke/stablecode-completion-alpha-3b-4k-GGML) |
|
* [StabilityAI's original unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/stabilityai/stablecode-completion-alpha-3b-4k) |
|
|
|
## Prompt template: Custom |
|
|
|
Just enter code to complete: |
|
``` |
|
import torch |
|
import torch.nn as nn |
|
``` |
|
|
|
|
|
<!-- compatibility_ggml start --> |
|
## Compatibilty |
|
|
|
These files are **not** compatible with llama.cpp, text-generation-webui or llama-cpp-python. |
|
|
|
They can be used with: |
|
* [KoboldCpp](https://github.com/LostRuins/koboldcpp), a powerful inference engine based on llama.cpp with full GPU acceleration and good UI. |
|
* [LM Studio](https://lmstudio.ai/), a fully featured local GUI for GGML inference on Windows and macOS. |
|
* [LoLLMs-WebUI](https://github.com/ParisNeo/LoLLMs-WebUI) a web UI which supports nearly every backend out there. Use ctransformers backend for support for this model. |
|
* [ctransformers](https://github.com/marella/ctransformers): for use in Python code, including LangChain support. |
|
* [rustformers' llm](https://github.com/rustformers/llm) |
|
* The example `gpt-neox` binary provided with [ggml](https://github.com/ggerganov/ggml) |
|
|
|
As other options become available I will endeavour to update them here (do let me know in the Community tab if I've missed something!) |
|
|
|
## Tutorial for using LoLLMs-WebUI: |
|
|
|
* [Video tutorial, by LoLLMs-WebUI's author **ParisNeo**](https://youtu.be/vBU1b5n0GMU) |
|
<!-- compatibility_ggml end --> |
|
|
|
## Provided files |
|
| Name | Quant method | Bits | Size | Max RAM required | Use case | |
|
| ---- | ---- | ---- | ---- | ---- | ----- | |
|
| [stablecode-completion-alpha-3b-4k.ggmlv1.q4_0.bin](https://huggingface.co/TheBloke/stablecode-completion-alpha-3b-4k-GGML/blob/main/stablecode-completion-alpha-3b-4k.ggmlv1.q4_0.bin) | q4_0 | 4 | 1.56 GB| 4.06 GB | 4-bit. | |
|
| [stablecode-completion-alpha-3b-4k.ggmlv1.q4_1.bin](https://huggingface.co/TheBloke/stablecode-completion-alpha-3b-4k-GGML/blob/main/stablecode-completion-alpha-3b-4k.ggmlv1.q4_1.bin) | q4_1 | 4 | 1.73 GB| 4.23 GB | 4-bit. Higher accuracy than q4_0 but not as high as q5_0. However has quicker inference than q5 models. | |
|
| [stablecode-completion-alpha-3b-4k.ggmlv1.q5_0.bin](https://huggingface.co/TheBloke/stablecode-completion-alpha-3b-4k-GGML/blob/main/stablecode-completion-alpha-3b-4k.ggmlv1.q5_0.bin) | q5_0 | 5 | 1.91 GB| 4.41 GB | 5-bit. Higher accuracy, higher resource usage and slower inference. | |
|
| [stablecode-completion-alpha-3b-4k.ggmlv1.q5_1.bin](https://huggingface.co/TheBloke/stablecode-completion-alpha-3b-4k-GGML/blob/main/stablecode-completion-alpha-3b-4k.ggmlv1.q5_1.bin) | q5_1 | 5 | 2.08 GB| 4.58 GB | 5-bit. Even higher accuracy, resource usage and slower inference. | |
|
| [stablecode-completion-alpha-3b-4k.ggmlv1.q8_0.bin](https://huggingface.co/TheBloke/stablecode-completion-alpha-3b-4k-GGML/blob/main/stablecode-completion-alpha-3b-4k.ggmlv1.q8_0.bin) | q8_0 | 8 | 2.95 GB| 5.45 GB | 8-bit. Almost indistinguishable from float16. High resource use and slow. Not recommended for most users. | |
|
|
|
**Note**: the above RAM figures assume no GPU offloading. If layers are offloaded to the GPU, this will reduce RAM usage and use VRAM instead. |
|
|
|
<!-- footer start --> |
|
## Discord |
|
|
|
For further support, and discussions on these models and AI in general, join us at: |
|
|
|
[TheBloke AI's Discord server](https://discord.gg/theblokeai) |
|
|
|
## Thanks, and how to contribute. |
|
|
|
Thanks to the [chirper.ai](https://chirper.ai) team! |
|
|
|
I've had a lot of people ask if they can contribute. I enjoy providing models and helping people, and would love to be able to spend even more time doing it, as well as expanding into new projects like fine tuning/training. |
|
|
|
If you're able and willing to contribute it will be most gratefully received and will help me to keep providing more models, and to start work on new AI projects. |
|
|
|
Donaters will get priority support on any and all AI/LLM/model questions and requests, access to a private Discord room, plus other benefits. |
|
|
|
* Patreon: https://patreon.com/TheBlokeAI |
|
* Ko-Fi: https://ko-fi.com/TheBlokeAI |
|
|
|
**Special thanks to**: Luke from CarbonQuill, Aemon Algiz. |
|
|
|
**Patreon special mentions**: Willem Michiel, Ajan Kanaga, Cory Kujawski, Alps Aficionado, Nikolai Manek, Jonathan Leane, Stanislav Ovsiannikov, Michael Levine, Luke Pendergrass, Sid, K, Gabriel Tamborski, Clay Pascal, Kalila, William Sang, Will Dee, Pieter, Nathan LeClaire, ya boyyy, David Flickinger, vamX, Derek Yates, Fen Risland, Jeffrey Morgan, webtim, Daniel P. Andersen, Chadd, Edmond Seymore, Pyrater, Olusegun Samson, Lone Striker, biorpg, alfie_i, Mano Prime, Chris Smitley, Dave, zynix, Trenton Dambrowitz, Johann-Peter Hartmann, Magnesian, Spencer Kim, John Detwiler, Iucharbius, Gabriel Puliatti, LangChain4j, Luke @flexchar, Vadim, Rishabh Srivastava, Preetika Verma, Ai Maven, Femi Adebogun, WelcomeToTheClub, Leonard Tan, Imad Khwaja, Steven Wood, Stefan Sabev, Sebastain Graf, usrbinkat, Dan Guido, Sam, Eugene Pentland, Mandus, transmissions 11, Slarti, Karl Bernard, Spiking Neurons AB, Artur Olbinski, Joseph William Delisle, ReadyPlayerEmma, Olakabola, Asp the Wyvern, Space Cruiser, Matthew Berman, Randy H, subjectnull, danny, John Villwock, Illia Dulskyi, Rainer Wilmers, theTransient, Pierre Kircher, Alexandros Triantafyllidis, Viktor Bowallius, terasurfer, Deep Realms, SuperWojo, senxiiz, Oscar Rangel, Alex, Stephen Murray, Talal Aujan, Raven Klaugh, Sean Connelly, Raymond Fosdick, Fred von Graf, chris gileta, Junyu Yang, Elle |
|
|
|
|
|
Thank you to all my generous patrons and donaters! |
|
|
|
<!-- footer end --> |
|
|
|
# Original model card: StabilityAI's Stablecode Completion Alpha 3B 4K |
|
|
|
# `StableCode-Completion-Alpha-3B-4K` |
|
|
|
## Model Description |
|
|
|
`StableCode-Completion-Alpha-3B-4K` is a 3 billion parameter decoder-only code completion model pre-trained on diverse set of programming languages that topped the stackoverflow developer survey. |
|
|
|
## Usage |
|
The model is intended to do single/multiline code completion from a long context window upto 4k tokens. |
|
Get started generating code with `StableCode-Completion-Alpha-3B-4k` by using the following code snippet: |
|
|
|
```python |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
tokenizer = AutoTokenizer.from_pretrained("stabilityai/stablecode-completion-alpha-3b-4k") |
|
model = AutoModelForCausalLM.from_pretrained( |
|
"stabilityai/stablecode-completion-alpha-3b-4k", |
|
trust_remote_code=True, |
|
torch_dtype="auto", |
|
) |
|
model.cuda() |
|
inputs = tokenizer("import torch\nimport torch.nn as nn", return_tensors="pt").to("cuda") |
|
tokens = model.generate( |
|
**inputs, |
|
max_new_tokens=48, |
|
temperature=0.2, |
|
do_sample=True, |
|
) |
|
print(tokenizer.decode(tokens[0], skip_special_tokens=True)) |
|
``` |
|
|
|
## Model Details |
|
|
|
* **Developed by**: [Stability AI](https://stability.ai/) |
|
* **Model type**: `StableCode-Completion-Alpha-3B-4k` models are auto-regressive language models based on the transformer decoder architecture. |
|
* **Language(s)**: Code |
|
* **Library**: [GPT-NeoX](https://github.com/EleutherAI/gpt-neox) |
|
* **License**: Model checkpoints are licensed under the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) license. |
|
* **Contact**: For questions and comments about the model, please email `lm@stability.ai` |
|
|
|
### Model Architecture |
|
|
|
| Parameters | Hidden Size | Layers | Heads | Sequence Length | |
|
|----------------|-------------|--------|-------|-----------------| |
|
| 2,796,431,360 | 2560 | 32 | 32 | 4096 | |
|
|
|
|
|
* **Decoder Layer**: Parallel Attention and MLP residuals with a single input LayerNorm ([Wang & Komatsuzaki, 2021](https://github.com/kingoflolz/mesh-transformer-jax/tree/master)) |
|
* **Position Embeddings**: Rotary Position Embeddings ([Su et al., 2021](https://arxiv.org/abs/2104.09864)) |
|
* **Bias**: LayerNorm bias terms only |
|
|
|
## Training |
|
|
|
`StableCode-Completion-Alpha-3B-4k` is pre-trained at a context length of 4096 for 300 billion tokens on the `bigcode/starcoder-data`. |
|
|
|
### Training Dataset |
|
|
|
The first pre-training stage relies on 300B tokens sourced from various top programming languages occuring in the stackoverflow developer survey present in the `starcoder-data` dataset. |
|
|
|
### Training Procedure |
|
|
|
The model is pre-trained on the dataset mixes mentioned above in mixed-precision BF16), optimized with AdamW, and trained using the [StarCoder](https://huggingface.co/bigcode/starcoder) tokenizer with a vocabulary size of 49k. |
|
|
|
* **Software**: We use a fork of gpt-neox ([EleutherAI, 2021](https://github.com/EleutherAI/gpt-neox)) and train under 2D parallelism (Data and Tensor Parallel) with ZeRO-1 ([Rajbhandari et al., 2019](https://arxiv.org/abs/1910.02054v3)) and rely on flash-attention as well as rotary embedding kernels from FlashAttention-2 ([Dao et al., 2023](https://tridao.me/publications/flash2/flash2.pdf)) |
|
|
|
## Use and Limitations |
|
|
|
### Intended Use |
|
|
|
StableCode-Completion-Alpha-3B-4K independently generates new code completions, but we recommend that you use StableCode-Completion-Alpha-3B-4K together with the tool developed by BigCode and HuggingFace [(huggingface/huggingface-vscode: Code completion VSCode extension for OSS models (github.com))](https://github.com/huggingface/huggingface-vscode), to identify and, if necessary, attribute any outputs that match training code. |
|
|
|
### Limitations and bias |
|
|
|
This model is intended to be used responsibly. It is not intended to be used to create unlawful content of any kind, to further any unlawful activity, or to engage in activities with a high risk of physical or economic harm. |
|
|
|
## How to cite |
|
|
|
```bibtex |
|
@misc{StableCodeCompleteAlpha4K, |
|
url={[https://huggingface.co/stabilityai/stablecode-complete-alpha-3b-4k](https://huggingface.co/stabilityai/stablecode-complete-alpha-3b-4k)}, |
|
title={Stable Code Complete Alpha}, |
|
author={Adithyan, Reshinth and Phung, Duy and Cooper, Nathan and Pinnaparaju, Nikhil and Laforte, Christian} |
|
} |
|
``` |
|
|