TheBloke commited on
Commit
462b038
1 Parent(s): 04c858b

Initial GGML model commit

Browse files
Files changed (1) hide show
  1. README.md +84 -18
README.md CHANGED
@@ -1,7 +1,8 @@
1
  ---
2
- license: other
3
  inference: false
 
4
  ---
 
5
  <!-- header start -->
6
  <div style="width: 100%;">
7
  <img src="https://i.imgur.com/EBdldam.jpg" alt="TheBlokeAI" style="width: 100%; min-width: 400px; display: block; margin: auto;">
@@ -16,33 +17,86 @@ inference: false
16
  </div>
17
  <!-- header end -->
18
 
19
- ## Dromedary-65B-LoRA GGML
20
 
21
- These files are the result of merging the [delta weights of IBM's Dromedary 65B LoRA](https://huggingface.co/zhiqings/dromedary-65b-lora-delta-v0) with the original Llama 65B model.
22
 
23
- This repo contains GGML files for for CPU inference using [llama.cpp](https://github.com/ggerganov/llama.cpp).
 
 
 
 
 
24
 
25
  ## Repositories available
26
 
27
- * [4bit GPTQ models for GPU inference](https://huggingface.co/TheBloke/dromedary-65B-lora-GPTQ)
28
- * [4bit and 5bit GGML models for CPU inference in llama.cpp](https://huggingface.co/TheBloke/dromedary-65B-lora-GGML)
29
- * [float16 unquantised model for GPU](https://huggingface.co/TheBloke/dromedary-65B-lora-HF)
 
 
 
 
 
 
 
 
 
30
 
31
- ## THE FILES IN MAIN BRANCH REQUIRES LATEST LLAMA.CPP (May 19th 2023 - commit 2d5db48)!
32
 
33
- llama.cpp recently made another breaking change to its quantisation methods - https://github.com/ggerganov/llama.cpp/pull/1508
34
 
35
- I have quantised the GGML files in this repo with the latest version. Therefore you will require llama.cpp compiled on May 19th or later (commit `2d5db48` or later) to use them.
36
 
37
- For files compatible with the previous version of llama.cpp, please see branch `previous_llama_ggmlv2`.
 
 
 
 
 
 
 
 
 
 
 
38
 
39
  ## Provided files
40
- | Name | Quant method | Bits | Size | RAM required | Use case |
41
  | ---- | ---- | ---- | ---- | ---- | ----- |
42
- `dromedary-lora-65B.ggmlv3.q4_0.bin` | q4_0 | 4bit | 40.8GB | 43GB | 4-bit. |
43
- `dromedary-lora-65B.ggmlv3.q4_1.bin` | q4_1 | 4bit | 44.9GB | 47GB | 4-bit. Higher accuracy than q4_0 but not as high as q5_0. However has quicker inference than q5 models. |
44
- `dromedary-lora-65B.ggmlv3.q5_0.bin` | q5_0 | 5bit | 44.9GB | 47GB | 5-bit. Higher accuracy, higher resource usage and slower inference. |
45
- `dromedary-lora-65B.ggmlv3.q5_1.bin` | q5_1 | 5bit | 49GB | 51GB | 5-bit. Even higher accuracy, higher resource usage and slower inference. |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  <!-- footer start -->
48
  ## Discord
@@ -64,19 +118,31 @@ Donaters will get priority support on any and all AI/LLM/model questions and req
64
  * Patreon: https://patreon.com/TheBlokeAI
65
  * Ko-Fi: https://ko-fi.com/TheBlokeAI
66
 
67
- **Patreon special mentions**: Aemon Algiz, Dmitriy Samsonov, Nathan LeClaire, Trenton Dambrowitz, Mano Prime, David Flickinger, vamX, Nikolai Manek, senxiiz, Khalefa Al-Ahmad, Illia Dulskyi, Jonathan Leane, Talal Aujan, V. Lukas, Joseph William Delisle, Pyrater, Oscar Rangel, Lone Striker, Luke Pendergrass, Eugene Pentland, Sebastain Graf, Johann-Peter Hartman.
 
 
68
 
69
  Thank you to all my generous patrons and donaters!
 
70
  <!-- footer end -->
71
 
72
- # Original Dromedary Model Card
 
 
 
73
 
 
 
74
  See https://github.com/IBM/Dromedary#model-weights for instructions.
75
 
76
  ## Model details
77
 
 
 
78
  <img src="https://raw.githubusercontent.com/IBM/Dromedary/main/assets/images/dromedary_logo.svg" alt="Dromedary Logo"/>
79
 
 
 
80
  **Model type:**
81
  Dromedary is an open-source self-aligned language model trained with minimal human supervision.
82
  The base language model is LLaMA-65b, based on the transformer architecture.
 
1
  ---
 
2
  inference: false
3
+ license: other
4
  ---
5
+
6
  <!-- header start -->
7
  <div style="width: 100%;">
8
  <img src="https://i.imgur.com/EBdldam.jpg" alt="TheBlokeAI" style="width: 100%; min-width: 400px; display: block; margin: auto;">
 
17
  </div>
18
  <!-- header end -->
19
 
20
+ # Dromedary-65B-LoRA GGML
21
 
22
+ These files are GGML format model files for [Dromedary-65B-LoRA](https://huggingface.co/zhiqings/dromedary-65b-lora-delta-v0).
23
 
24
+ GGML files are for CPU + GPU inference using [llama.cpp](https://github.com/ggerganov/llama.cpp) and libraries and UIs which support this format, such as:
25
+ * [text-generation-webui](https://github.com/oobabooga/text-generation-webui)
26
+ * [KoboldCpp](https://github.com/LostRuins/koboldcpp)
27
+ * [ParisNeo/GPT4All-UI](https://github.com/ParisNeo/gpt4all-ui)
28
+ * [llama-cpp-python](https://github.com/abetlen/llama-cpp-python)
29
+ * [ctransformers](https://github.com/marella/ctransformers)
30
 
31
  ## Repositories available
32
 
33
+ * [4-bit GPTQ models for GPU inference](https://huggingface.co/TheBloke/dromedary-65b-lora-GPTQ)
34
+ * [2, 3, 4, 5, 6 and 8-bit GGML models for CPU+GPU inference](https://huggingface.co/TheBloke/dromedary-65b-lora-GGML)
35
+ * [Unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/TheBloke/dromedary-65b-lora-HF)
36
+
37
+ <!-- compatibility_ggml start -->
38
+ ## Compatibility
39
+
40
+ ### Original llama.cpp quant methods: `q4_0, q4_1, q5_0, q5_1, q8_0`
41
+
42
+ I have quantized these 'original' quantisation methods using an older version of llama.cpp so that they remain compatible with llama.cpp as of May 19th, commit `2d5db48`.
43
+
44
+ They should be compatible with all current UIs and libraries that use llama.cpp, such as those listed at the top of this README.
45
 
46
+ ### New k-quant methods: `q2_K, q3_K_S, q3_K_M, q3_K_L, q4_K_S, q4_K_M, q5_K_S, q6_K`
47
 
48
+ These new quantisation methods are only compatible with llama.cpp as of June 6th, commit `2d43387`.
49
 
50
+ They will NOT be compatible with koboldcpp, text-generation-ui, and other UIs and libraries yet. Support is expected to come over the next few days.
51
 
52
+ ## Explanation of the new k-quant methods
53
+
54
+ The new methods available are:
55
+ * GGML_TYPE_Q2_K - "type-1" 2-bit quantization in super-blocks containing 16 blocks, each block having 16 weight. Block scales and mins are quantized with 4 bits. This ends up effectively using 2.5625 bits per weight (bpw)
56
+ * GGML_TYPE_Q3_K - "type-0" 3-bit quantization in super-blocks containing 16 blocks, each block having 16 weights. Scales are quantized with 6 bits. This end up using 3.4375 bpw.
57
+ * GGML_TYPE_Q4_K - "type-1" 4-bit quantization in super-blocks containing 8 blocks, each block having 32 weights. Scales and mins are quantized with 6 bits. This ends up using 4.5 bpw.
58
+ * GGML_TYPE_Q5_K - "type-1" 5-bit quantization. Same super-block structure as GGML_TYPE_Q4_K resulting in 5.5 bpw
59
+ * GGML_TYPE_Q6_K - "type-0" 6-bit quantization. Super-blocks with 16 blocks, each block having 16 weights. Scales are quantized with 8 bits. This ends up using 6.5625 bpw
60
+ * GGML_TYPE_Q8_K - "type-0" 8-bit quantization. Only used for quantizing intermediate results. The difference to the existing Q8_0 is that the block size is 256. All 2-6 bit dot products are implemented for this quantization type.
61
+
62
+ Refer to the Provided Files table below to see what files use which methods, and how.
63
+ <!-- compatibility_ggml end -->
64
 
65
  ## Provided files
66
+ | Name | Quant method | Bits | Size | Max RAM required | Use case |
67
  | ---- | ---- | ---- | ---- | ---- | ----- |
68
+ | dromedary-lora-65B.ggmlv3.q2_K.bin | q2_K | 2 | 27.33 GB | 29.83 GB | New k-quant method. Uses GGML_TYPE_Q4_K for the attention.vw and feed_forward.w2 tensors, GGML_TYPE_Q2_K for the other tensors. |
69
+ | dromedary-lora-65B.ggmlv3.q3_K_L.bin | q3_K_L | 3 | 34.55 GB | 37.05 GB | New k-quant method. Uses GGML_TYPE_Q5_K for the attention.wv, attention.wo, and feed_forward.w2 tensors, else GGML_TYPE_Q3_K |
70
+ | dromedary-lora-65B.ggmlv3.q3_K_M.bin | q3_K_M | 3 | 31.40 GB | 33.90 GB | New k-quant method. Uses GGML_TYPE_Q4_K for the attention.wv, attention.wo, and feed_forward.w2 tensors, else GGML_TYPE_Q3_K |
71
+ | dromedary-lora-65B.ggmlv3.q3_K_S.bin | q3_K_S | 3 | 28.06 GB | 30.56 GB | New k-quant method. Uses GGML_TYPE_Q3_K for all tensors |
72
+ | dromedary-lora-65B.ggmlv3.q4_0.bin | q4_0 | 4 | 36.73 GB | 39.23 GB | Original llama.cpp quant method, 4-bit. |
73
+ | dromedary-lora-65B.ggmlv3.q4_1.bin | q4_1 | 4 | 40.81 GB | 43.31 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. |
74
+ | dromedary-lora-65B.ggmlv3.q4_K_M.bin | q4_K_M | 4 | 39.28 GB | 41.78 GB | New k-quant method. Uses GGML_TYPE_Q6_K for half of the attention.wv and feed_forward.w2 tensors, else GGML_TYPE_Q4_K |
75
+ | dromedary-lora-65B.ggmlv3.q4_K_S.bin | q4_K_S | 4 | 36.73 GB | 39.23 GB | New k-quant method. Uses GGML_TYPE_Q4_K for all tensors |
76
+ | dromedary-lora-65B.ggmlv3.q5_0.bin | q5_0 | 5 | 44.89 GB | 47.39 GB | Original llama.cpp quant method, 5-bit. Higher accuracy, higher resource usage and slower inference. |
77
+ | dromedary-lora-65B.ggmlv3.q5_1.bin | q5_1 | 5 | 48.97 GB | 51.47 GB | Original llama.cpp quant method, 5-bit. Even higher accuracy, resource usage and slower inference. |
78
+ | dromedary-lora-65B.ggmlv3.q5_K_M.bin | q5_K_M | 5 | 46.20 GB | 48.70 GB | New k-quant method. Uses GGML_TYPE_Q6_K for half of the attention.wv and feed_forward.w2 tensors, else GGML_TYPE_Q5_K |
79
+ | dromedary-lora-65B.ggmlv3.q5_K_S.bin | q5_K_S | 5 | 44.89 GB | 47.39 GB | New k-quant method. Uses GGML_TYPE_Q5_K for all tensors |
80
+
81
+
82
+ **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.
83
+
84
+ ## How to run in `llama.cpp`
85
+
86
+ I use the following command line; adjust for your tastes and needs:
87
+
88
+ ```
89
+ ./main -t 10 -ngl 32 -m dromedary-lora-65B.ggmlv3.q5_0.bin --color -c 2048 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "### Instruction: Write a story about llamas\n### Response:"
90
+ ```
91
+ Change `-t 10` to the number of physical CPU cores you have. For example if your system has 8 cores/16 threads, use `-t 8`.
92
+
93
+ Change `-ngl 32` to the number of layers to offload to GPU. Remove it if you don't have GPU acceleration.
94
+
95
+ If you want to have a chat-style conversation, replace the `-p <PROMPT>` argument with `-i -ins`
96
+
97
+ ## How to run in `text-generation-webui`
98
+
99
+ Further instructions here: [text-generation-webui/docs/llama.cpp-models.md](https://github.com/oobabooga/text-generation-webui/blob/main/docs/llama.cpp-models.md).
100
 
101
  <!-- footer start -->
102
  ## Discord
 
118
  * Patreon: https://patreon.com/TheBlokeAI
119
  * Ko-Fi: https://ko-fi.com/TheBlokeAI
120
 
121
+ **Special thanks to**: Luke from CarbonQuill, Aemon Algiz, Dmitriy Samsonov.
122
+
123
+ **Patreon special mentions**: 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.
124
 
125
  Thank you to all my generous patrons and donaters!
126
+
127
  <!-- footer end -->
128
 
129
+ # Original model card: Dromedary-65B-LoRA
130
+
131
+
132
+ # Dromedary Model Card
133
 
134
+ **NOTE: This "delta model" cannot be used directly.**
135
+ Users have to apply it on top of the original LLaMA weights to get actual Dromedary weights.
136
  See https://github.com/IBM/Dromedary#model-weights for instructions.
137
 
138
  ## Model details
139
 
140
+ <div align="center">
141
+
142
  <img src="https://raw.githubusercontent.com/IBM/Dromedary/main/assets/images/dromedary_logo.svg" alt="Dromedary Logo"/>
143
 
144
+ </div>
145
+
146
  **Model type:**
147
  Dromedary is an open-source self-aligned language model trained with minimal human supervision.
148
  The base language model is LLaMA-65b, based on the transformer architecture.