Transformers
English
falcon
TheBloke commited on
Commit
3704f5b
1 Parent(s): 9cbcab1

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +20 -46
README.md CHANGED
@@ -17,49 +17,40 @@ license: other
17
  </div>
18
  <!-- header end -->
19
 
20
- # Falcon 40B-Instruct GGML GGML
21
 
22
- These files are GGML format model files for [Falcon 40B-Instruct GGML ](https://huggingface.co/tiiuae/falcon-40b-instruct).
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/falcon-40b-instruct-GPTQ)
34
- * [2, 3, 4, 5, 6 and 8-bit GGML models for CPU+GPU inference](https://huggingface.co/TheBloke/falcon-40b-instruct-GGML)
 
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
- ### 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
- 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
- They are now also compatible with recent releases of text-generation-webui, KoboldCpp, llama-cpp-python and ctransformers. Other tools and libraries may or may not be compatible - check their documentation if in doubt.
 
 
 
 
 
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
@@ -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