transformers code text-generation dataset:bigcode/the-stack-v2-train license:bigcode-openrail-m model-index endpoints_compatible region:us
---
pipeline_tag: text-generation
inference: 
  parameters:
    temperature: 0.2
    top_p: 0.95
widget:
- text: 'def print_hello_world():'
  example_title: Hello world
  group: Python
datasets:
- bigcode/the-stack-v2-train
license: bigcode-openrail-m
library_name: transformers
tags:
- code
model-index:
- name: starcoder2-7b
  results:
  - task:
      type: text-generation
    dataset:
      name: CruxEval-I
      type: cruxeval-i
    metrics:
    - type: pass@1
      value: 34.6
  - task:
      type: text-generation
    dataset:
      name: DS-1000
      type: ds-1000
    metrics:
    - type: pass@1
      value: 27.8
  - task:
      type: text-generation
    dataset:
      name: GSM8K (PAL)
      type: gsm8k-pal
    metrics:
    - type: accuracy
      value: 40.4
  - task:
      type: text-generation
    dataset:
      name: HumanEval+
      type: humanevalplus
    metrics:
    - type: pass@1
      value: 29.9
  - task:
      type: text-generation
    dataset:
      name: HumanEval
      type: humaneval
    metrics:
    - type: pass@1
      value: 35.4
  - task:
      type: text-generation
    dataset:
      name: RepoBench-v1.1
      type: repobench-v1.1
    metrics:
    - type: edit-smiliarity
      value: 72.07
quantized_by: bartowski
---

## Exllama v2 Quantizations of starcoder2-7b

Using <a href="https://github.com/turboderp/exllamav2/releases/tag/v0.0.14">turboderp's ExLlamaV2 v0.0.14</a> for quantization.

<b>The "main" branch only contains the measurement.json, download one of the other branches for the model (see below)</b>

Each branch contains an individual bits per weight, with the main one containing only the meaurement.json for further conversions.

Original model: https://huggingface.co/bigcode/starcoder2-7b

| Branch | Bits | lm_head bits | VRAM (4k) | VRAM (16k) | VRAM (32k) | Description |
| ----- | ---- | ------- | ------ | ------ | ------ | ------------ |
| [8_0](https://huggingface.co/bartowski/starcoder2-7b-exl2/tree/8_0) | 8.0 | 8.0 | 8.4 GB | 9.2 GB | 10.2 GB | Maximum quality that ExLlamaV2 can produce, near unquantized performance. |
| [6_5](https://huggingface.co/bartowski/starcoder2-7b-exl2/tree/6_5) | 6.5 | 8.0 | 7.1 GB | 7.9 GB | 8.9 GB | Very similar to 8.0, good tradeoff of size vs performance, **recommended**. |
| [5_0](https://huggingface.co/bartowski/starcoder2-7b-exl2/tree/5_0) | 5.0 | 6.0 | 5.8 GB | 6.6 GB | 7.6 GB | Slightly lower quality vs 6.5, but usable on 8GB cards. |
| [4_25](https://huggingface.co/bartowski/starcoder2-7b-exl2/tree/4_25) | 4.25 | 6.0 | 5.1 GB | 5.9 GB | 6.9 GB | GPTQ equivalent bits per weight, slightly higher quality. |
| [3_5](https://huggingface.co/bartowski/starcoder2-7b-exl2/tree/3_5) | 3.5 | 6.0 | 4.5 GB | 5.3 GB | 6.3 GB | Lower quality, only use if you have to. |

## Download instructions

With git:

```shell
git clone --single-branch --branch 6_5 https://huggingface.co/bartowski/starcoder2-7b-exl2 starcoder2-7b-exl2-6_5
```

With huggingface hub (credit to TheBloke for instructions):

```shell
pip3 install huggingface-hub
```

To download the `main` (only useful if you only care about measurement.json) branch to a folder called `starcoder2-7b-exl2`:

```shell
mkdir starcoder2-7b-exl2
huggingface-cli download bartowski/starcoder2-7b-exl2 --local-dir starcoder2-7b-exl2 --local-dir-use-symlinks False
```

To download from a different branch, add the `--revision` parameter:

Linux:

```shell
mkdir starcoder2-7b-exl2-6_5
huggingface-cli download bartowski/starcoder2-7b-exl2 --revision 6_5 --local-dir starcoder2-7b-exl2-6_5 --local-dir-use-symlinks False
```

Windows (which apparently doesn't like _ in folders sometimes?):

```shell
mkdir starcoder2-7b-exl2-6.5
huggingface-cli download bartowski/starcoder2-7b-exl2 --revision 6_5 --local-dir starcoder2-7b-exl2-6.5 --local-dir-use-symlinks False
```

Want to support my work? Visit my ko-fi page here: https://ko-fi.com/bartowski