Generated README.md
Browse files
README.md
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
language:
|
3 |
+
- en
|
4 |
+
tags:
|
5 |
+
- llm-rs
|
6 |
+
- ggml
|
7 |
+
pipeline_tag: text-generation
|
8 |
+
datasets:
|
9 |
+
- the_pile
|
10 |
+
---
|
11 |
+
|
12 |
+
# GGML covnerted Models of [EleutherAI](https://huggingface.co/EleutherAI)'s GPT-J model
|
13 |
+
|
14 |
+
## Description
|
15 |
+
|
16 |
+
GPT-J 6B is a transformer model trained using Ben Wang's [Mesh Transformer JAX](https://github.com/kingoflolz/mesh-transformer-jax/). "GPT-J" refers to the class of model, while "6B" represents the number of trainable parameters.
|
17 |
+
|
18 |
+
<figure>
|
19 |
+
|
20 |
+
| Hyperparameter | Value |
|
21 |
+
|----------------------|------------|
|
22 |
+
| \\(n_{parameters}\\) | 6053381344 |
|
23 |
+
| \\(n_{layers}\\) | 28* |
|
24 |
+
| \\(d_{model}\\) | 4096 |
|
25 |
+
| \\(d_{ff}\\) | 16384 |
|
26 |
+
| \\(n_{heads}\\) | 16 |
|
27 |
+
| \\(d_{head}\\) | 256 |
|
28 |
+
| \\(n_{ctx}\\) | 2048 |
|
29 |
+
| \\(n_{vocab}\\) | 50257/50400† (same tokenizer as GPT-2/3) |
|
30 |
+
| Positional Encoding | [Rotary Position Embedding (RoPE)](https://arxiv.org/abs/2104.09864) |
|
31 |
+
| RoPE Dimensions | [64](https://github.com/kingoflolz/mesh-transformer-jax/blob/f2aa66e0925de6593dcbb70e72399b97b4130482/mesh_transformer/layers.py#L223) |
|
32 |
+
<figcaption><p><strong>*</strong> Each layer consists of one feedforward block and one self attention block.</p>
|
33 |
+
<p><strong>†</strong> Although the embedding matrix has a size of 50400, only 50257 entries are used by the GPT-2 tokenizer.</p></figcaption></figure>
|
34 |
+
|
35 |
+
The model consists of 28 layers with a model dimension of 4096, and a feedforward dimension of 16384. The model
|
36 |
+
dimension is split into 16 heads, each with a dimension of 256. Rotary Position Embedding (RoPE) is applied to 64
|
37 |
+
dimensions of each head. The model is trained with a tokenization vocabulary of 50257, using the same set of BPEs as
|
38 |
+
GPT-2/GPT-3.
|
39 |
+
|
40 |
+
|
41 |
+
## Converted Models
|
42 |
+
| Name | Based on | Type | Container | GGML Version |
|
43 |
+
|:---------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------|:-------|:------------|:---------------|
|
44 |
+
| [gpt-j-6b-f16.bin](https://huggingface.co/rustformers/gpt-j-ggml/blob/main/gpt-j-6b-f16.bin) | [EleutherAI/gpt-j-6b](https://huggingface.co/EleutherAI/gpt-j-6b) | F16 | GGML | V3 |
|
45 |
+
| [gpt-j-6b-q4_0.bin](https://huggingface.co/rustformers/gpt-j-ggml/blob/main/gpt-j-6b-q4_0.bin) | [EleutherAI/gpt-j-6b](https://huggingface.co/EleutherAI/gpt-j-6b) | Q4_0 | GGML | V3 |
|
46 |
+
| [gpt-j-6b-q4_0-ggjt.bin](https://huggingface.co/rustformers/gpt-j-ggml/blob/main/gpt-j-6b-q4_0-ggjt.bin) | [EleutherAI/gpt-j-6b](https://huggingface.co/EleutherAI/gpt-j-6b) | Q4_0 | GGJT | V3 |
|
47 |
+
| [gpt-j-6b-q5_1-ggjt.bin](https://huggingface.co/rustformers/gpt-j-ggml/blob/main/gpt-j-6b-q5_1-ggjt.bin) | [EleutherAI/gpt-j-6b](https://huggingface.co/EleutherAI/gpt-j-6b) | Q5_1 | GGJT | V3 |
|
48 |
+
|
49 |
+
## Usage
|
50 |
+
|
51 |
+
### Python via [llm-rs](https://github.com/LLukas22/llm-rs-python):
|
52 |
+
|
53 |
+
#### Installation
|
54 |
+
Via pip: `pip install llm-rs`
|
55 |
+
|
56 |
+
#### Run inference
|
57 |
+
```python
|
58 |
+
from llm_rs import AutoModel
|
59 |
+
|
60 |
+
#Load the model, define any model you like from the list above as the `model_file`
|
61 |
+
model = AutoModel.from_pretrained("rustformers/gpt-j-ggml",model_file="gpt-j-6b-q4_0-ggjt.bin")
|
62 |
+
|
63 |
+
#Generate
|
64 |
+
print(model.generate("The meaning of life is"))
|
65 |
+
```
|
66 |
+
|
67 |
+
### Rust via [Rustformers/llm](https://github.com/rustformers/llm):
|
68 |
+
|
69 |
+
#### Installation
|
70 |
+
```
|
71 |
+
git clone --recurse-submodules https://github.com/rustformers/llm.git
|
72 |
+
cd llm
|
73 |
+
cargo build --release
|
74 |
+
```
|
75 |
+
|
76 |
+
#### Run inference
|
77 |
+
```
|
78 |
+
cargo run --release -- gptj infer -m path/to/model.bin -p "Tell me how cool the Rust programming language is:"
|
79 |
+
```
|