--- license: mit library_name: transformers pipeline_tag: text-generation tags: - code - deepseek - gguf - bf16 - chinese - english metrics: - accuracy --- # Deepseek-V2-Chat-GGUF Quantizised from [https://huggingface.co/deepseek-ai/DeepSeek-V2-Chat](https://huggingface.co/deepseek-ai/DeepSeek-V2-Chat) Using llama.cpp fork: [https://github.com/fairydreaming/llama.cpp/tree/deepseek-v2](https://github.com/fairydreaming/llama.cpp/tree/deepseek-v2) # Warning: This will not work unless you compile llama.cpp from the repo provided (and set metadata KV overrides)! # How to use: **Downloading the bf16:** - Find the relevant directory - Download all files - Run merge.py - Merged GGUF should appear **Downloading the quantizations:** - Find the relevant directory - Download all files - Point to the first split (most programs should load all the splits automatically now) **Running in llama.cpp:** To start in command line interactive mode (text completion): ``` main -m DeepSeek-V2-Chat.{quant}.gguf -c {context length} --color -i ``` To use llama.cpp OpenAI compatible server: ``` server \ -m DeepSeek-V2-Chat.{quant}.gguf \ -c {context_length} \ (--color [recommended: colored output in supported terminals]) \ (-i [note: interactive mode]) \ (--mlock [note: avoid using swap]) \ (--verbose) \ (--log-disable [note: disable logging to file, may be useful for prod]) \ (--metrics [note: prometheus compatible monitoring endpoint]) \ (--api-key [string]) \ (--port [int]) \ (--flash-attn [note: must be fully offloaded to supported GPU]) ``` Making an importance matrix: ``` imatrix \ -m DeepSeek-V2-Chat.{quant}.gguf \ -f groups_merged.txt \ --verbosity [0, 1, 2] \ -ngl {GPU offloading; must build with CUDA} \ --ofreq {recommended: 1} ``` Making a quant: ``` quantize \ DeepSeek-V2-Chat.bf16.gguf \ DeepSeek-V2-Chat.{quant}.gguf \ {quant} \ (--imatrix [file]) ``` # Quants: ``` - bf16 [size: 439gb] - q8_0 (after q2_k) [estimated size: 233.27gb] - q4_k_m [size: 132gb] - q2_k (uploading) [size: 80gb] - q3_k_s (generating, using importance matrix) [estimated size: 96.05gb] ``` # Planned Quants (using importance matrix): ``` - q5_k_m - q5_k_s - q3_k_m - q6_k - iq4_nl - iq4_xs - iq2_xxs - iq2_xs - iq2_s - iq2_m - iq1_s - iq1_m ``` Note: the model files do not have some DeepSeek v2 specific parameters, will look into adding them Please use commit `039896407afd40e54321d47c5063c46a52da3e01`, otherwise use these metadata KV overrides: ``` deepseek2.attention.q_lora_rank=int:1536 deepseek2.attention.kv_lora_rank=int:512 deepseek2.expert_shared_count=int:2 deepseek2.expert_feed_forward_length=int:1536 deepseek2.leading_dense_block_count=int:1 ``` A precompiled AVX2 version is avaliable at `llama.cpp-039896407afd40e54321d47c5063c46a52da3e01.zip` in the root of this repo. # License: - DeepSeek license for model weights - MIT license for any repo code # Performance: ~1.5t/s with Ryzen 3 3700x (96gb 3200mhz) [Q2_K] # iMatrix: Find imatrix.dat in the root of this repo, made with a Q2_K quant (see here for info: [https://github.com/ggerganov/llama.cpp/issues/5153#issuecomment-1913185693](https://github.com/ggerganov/llama.cpp/issues/5153#issuecomment-1913185693)) Using groups_merged.txt, find it here: [https://github.com/ggerganov/llama.cpp/discussions/5263#discussioncomment-8395384](https://github.com/ggerganov/llama.cpp/discussions/5263#discussioncomment-8395384) # Censorship: This model is quite censored, finetuning on toxic DPO might help.