Update README.md
Browse files
README.md
CHANGED
@@ -17,49 +17,40 @@ license: other
|
|
17 |
</div>
|
18 |
<!-- header end -->
|
19 |
|
20 |
-
# Falcon 40B-Instruct GGML
|
21 |
|
22 |
-
These files are GGML format model files for [Falcon 40B
|
23 |
|
24 |
-
GGML files
|
25 |
-
|
26 |
-
|
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
|
34 |
-
* [
|
|
|
35 |
* [Unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/tiiuae/falcon-40b-instruct)
|
36 |
|
37 |
<!-- compatibility_ggml start -->
|
38 |
## Compatibility
|
39 |
|
40 |
-
|
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 |
-
These are guaranteed to be compatbile with any UIs, tools and libraries released since late May.
|
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 compatible with llama.cpp as of June 6th, commit `2d43387`.
|
49 |
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
51 |
|
52 |
-
|
|
|
|
|
|
|
53 |
|
54 |
-
|
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
|
@@ -79,23 +70,6 @@ Refer to the Provided Files table below to see what files use which methods, and
|
|
79 |
|
80 |
**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.
|
81 |
|
82 |
-
## How to run in `llama.cpp`
|
83 |
-
|
84 |
-
I use the following command line; adjust for your tastes and needs:
|
85 |
-
|
86 |
-
```
|
87 |
-
./main -t 10 -ngl 32 -m gpt4-x-alpaca-13b.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:"
|
88 |
-
```
|
89 |
-
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`.
|
90 |
-
|
91 |
-
Change `-ngl 32` to the number of layers to offload to GPU. Remove it if you don't have GPU acceleration.
|
92 |
-
|
93 |
-
If you want to have a chat-style conversation, replace the `-p <PROMPT>` argument with `-i -ins`
|
94 |
-
|
95 |
-
## How to run in `text-generation-webui`
|
96 |
-
|
97 |
-
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).
|
98 |
-
|
99 |
<!-- footer start -->
|
100 |
## Discord
|
101 |
|
|
|
17 |
</div>
|
18 |
<!-- header end -->
|
19 |
|
20 |
+
# Falcon 40B-Instruct GGML
|
21 |
|
22 |
+
These files are **experimental** GGML format model files for [Falcon 40B Instruct](https://huggingface.co/tiiuae/falcon-40b-instruct).
|
23 |
|
24 |
+
These GGML files will **not** work in llama.cpp, and at the time of writing they will not work with any UI or library. They cannot be used from Python code.
|
25 |
+
|
26 |
+
The can be used with a new fork of llama.cpp that adds Falcon GGML support: [cmp-nc/ggllm.cpp](https://github.com/cmp-nct/ggllm.cpp)
|
|
|
|
|
|
|
27 |
|
28 |
## Repositories available
|
29 |
|
30 |
+
* [4-bit GPTQ model for GPU inference](https://huggingface.co/TheBloke/falcon-40b-instruct-GPTQ)
|
31 |
+
* [3-bit GPTQ model for GPU inference](https://huggingface.co/TheBloke/falcon-40b-instruct-3bit-GPTQ)
|
32 |
+
* [2, 3, 4, 5, 6, 8-bit GGML models for CPU+GPU inference](https://huggingface.co/TheBloke/falcon-40b-instruct-GGML)
|
33 |
* [Unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/tiiuae/falcon-40b-instruct)
|
34 |
|
35 |
<!-- compatibility_ggml start -->
|
36 |
## Compatibility
|
37 |
|
38 |
+
To build cmp-nct's fork of llama.cpp with Falcon 40B support plus preliminary CUDA acceleration, please follow the following steps:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
|
40 |
+
```
|
41 |
+
git clone https://github.com/cmp-nct/ggllm.cpp
|
42 |
+
cd ggllm.cpp
|
43 |
+
git checkout cuda-integration
|
44 |
+
rm -rf build && mkdir build && cd build && cmake -DGGML_CUBLAS=1 .. && cmake --build . --config Release
|
45 |
+
```
|
46 |
|
47 |
+
You can then use `bin/falcon_main` just like you would use llama.cpp. For example:
|
48 |
+
```
|
49 |
+
bin/falcon_main -t 1 -ngl 100 -m /workspace/wizard-falcon40b.ggmlv3.q3_K_S.bin -p "What is a falcon?\n### Response:"
|
50 |
+
```
|
51 |
|
52 |
+
As with llama.cpp, if you can fully offload the model to VRAM you should use `-t 1` for maximum performance. If not, use more threads, eg `-t 8`.
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
|
|
54 |
<!-- compatibility_ggml end -->
|
55 |
|
56 |
## Provided files
|
|
|
70 |
|
71 |
**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.
|
72 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
<!-- footer start -->
|
74 |
## Discord
|
75 |
|