Eldar Kurtic commited on
Commit
d3fc665
·
1 Parent(s): 8df98a5
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. README.md +177 -0
  2. config.json +103 -0
  3. configuration_deepseek.py +206 -0
  4. generation_config.json +9 -0
  5. model-00001-of-00048.safetensors +3 -0
  6. model-00002-of-00048.safetensors +3 -0
  7. model-00003-of-00048.safetensors +3 -0
  8. model-00004-of-00048.safetensors +3 -0
  9. model-00005-of-00048.safetensors +3 -0
  10. model-00006-of-00048.safetensors +3 -0
  11. model-00007-of-00048.safetensors +3 -0
  12. model-00008-of-00048.safetensors +3 -0
  13. model-00009-of-00048.safetensors +3 -0
  14. model-00010-of-00048.safetensors +3 -0
  15. model-00011-of-00048.safetensors +3 -0
  16. model-00012-of-00048.safetensors +3 -0
  17. model-00013-of-00048.safetensors +3 -0
  18. model-00014-of-00048.safetensors +3 -0
  19. model-00015-of-00048.safetensors +3 -0
  20. model-00016-of-00048.safetensors +3 -0
  21. model-00017-of-00048.safetensors +3 -0
  22. model-00018-of-00048.safetensors +3 -0
  23. model-00019-of-00048.safetensors +3 -0
  24. model-00020-of-00048.safetensors +3 -0
  25. model-00021-of-00048.safetensors +3 -0
  26. model-00022-of-00048.safetensors +3 -0
  27. model-00023-of-00048.safetensors +3 -0
  28. model-00024-of-00048.safetensors +3 -0
  29. model-00025-of-00048.safetensors +3 -0
  30. model-00026-of-00048.safetensors +3 -0
  31. model-00027-of-00048.safetensors +3 -0
  32. model-00028-of-00048.safetensors +3 -0
  33. model-00029-of-00048.safetensors +3 -0
  34. model-00030-of-00048.safetensors +3 -0
  35. model-00031-of-00048.safetensors +3 -0
  36. model-00032-of-00048.safetensors +3 -0
  37. model-00033-of-00048.safetensors +3 -0
  38. model-00034-of-00048.safetensors +3 -0
  39. model-00035-of-00048.safetensors +3 -0
  40. model-00036-of-00048.safetensors +3 -0
  41. model-00037-of-00048.safetensors +3 -0
  42. model-00038-of-00048.safetensors +3 -0
  43. model-00039-of-00048.safetensors +3 -0
  44. model-00040-of-00048.safetensors +3 -0
  45. model-00041-of-00048.safetensors +3 -0
  46. model-00042-of-00048.safetensors +3 -0
  47. model-00043-of-00048.safetensors +3 -0
  48. model-00044-of-00048.safetensors +3 -0
  49. model-00045-of-00048.safetensors +3 -0
  50. model-00046-of-00048.safetensors +3 -0
README.md ADDED
@@ -0,0 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags:
3
+ - moe
4
+ - fp8
5
+ - vllm
6
+ license: other
7
+ license_name: deepseek-license
8
+ base_model: deepseek-ai/DeepSeek-Coder-V2-Base
9
+ library_name: transformers
10
+ ---
11
+
12
+ # DeepSeek-Coder-V2-Instruct-0724-FP8
13
+
14
+ ## Model Overview
15
+ - **Model Architecture:** DeepSeek-Coder-V2-Instruct-0724
16
+ - **Input:** Text
17
+ - **Output:** Text
18
+ - **Model Optimizations:**
19
+ - **Weight quantization:** FP8
20
+ - **Activation quantization:** FP8
21
+ - **Release Date:** 3/1/2025
22
+ - **Version:** 1.0
23
+ - **Model Developers:** Neural Magic
24
+
25
+ Quantized version of [DeepSeek-Coder-V2-Instruct-0724](https://huggingface.co/deepseek-ai/DeepSeek-Coder-V2-Instruct-0724).
26
+
27
+ ### Model Optimizations
28
+
29
+ This model was obtained by quantizing weights and activations to FP8 data type, ready for inference with vLLM >= 0.5.2.
30
+ This optimization reduces the number of bits per parameter from 16 to 8, reducing the disk size and GPU memory requirements by approximately 50%. Only the weights and activations of the linear operators within transformers blocks are quantized, except the MLP routers.
31
+
32
+ ## Deployment
33
+
34
+ ### Use with vLLM
35
+
36
+ This model can be deployed efficiently using the [vLLM](https://docs.vllm.ai/en/latest/) backend, as shown in the example below.
37
+
38
+ ```python
39
+ from transformers import AutoTokenizer
40
+ from vllm import LLM, SamplingParams
41
+
42
+ max_model_len, tp_size = 4096, 4
43
+ model_name = "neuralmagic-ent/DeepSeek-Coder-V2-Instruct-0724-FP8"
44
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
45
+ llm = LLM(model=model_name, tensor_parallel_size=tp_size, max_model_len=max_model_len, trust_remote_code=True)
46
+ sampling_params = SamplingParams(temperature=0.3, max_tokens=256, stop_token_ids=[tokenizer.eos_token_id])
47
+
48
+ messages_list = [
49
+ [{"role": "user", "content": "Who are you? Please respond in pirate speak!"}],
50
+ ]
51
+
52
+ prompt_token_ids = [tokenizer.apply_chat_template(messages, add_generation_prompt=True) for messages in messages_list]
53
+
54
+ outputs = llm.generate(prompt_token_ids=prompt_token_ids, sampling_params=sampling_params)
55
+
56
+ generated_text = [output.outputs[0].text for output in outputs]
57
+ print(generated_text)
58
+ ```
59
+
60
+ vLLM also supports OpenAI-compatible serving. See the [documentation](https://docs.vllm.ai/en/latest/) for more details.
61
+
62
+ ## Creation
63
+
64
+ This model was created with [llm-compressor](https://github.com/vllm-project/llm-compressor) by running the code snippet below with the following command:
65
+
66
+ ```bash
67
+ python quantize.py --model_path deepseek-ai/DeepSeek-Coder-V2-Instruct-0724 --quant_path "output_dir" --calib_size 128
68
+ ```
69
+
70
+
71
+ ```python
72
+ import argparse
73
+ from datasets import load_dataset
74
+ from transformers import AutoModelForCausalLM, AutoTokenizer
75
+ from llmcompressor.modifiers.quantization import QuantizationModifier
76
+ from llmcompressor.transformers import oneshot
77
+ from llmcompressor.transformers.compression.helpers import calculate_offload_device_map
78
+ import torch
79
+ import os
80
+
81
+
82
+ def main():
83
+ # Set up command line argument parsing
84
+ parser = argparse.ArgumentParser(description='Quantize a transformer model to FP8')
85
+ parser.add_argument('--model_id', type=str, required=True,
86
+ help='The model ID from HuggingFace (e.g., "meta-llama/Meta-Llama-3-8B-Instruct")')
87
+ parser.add_argument('--save_path', type=str, default='.',
88
+ help='Custom path to save the quantized model. If not provided, will use model_name-FP8')
89
+ parser.add_argument('--calib_size', type=int, default=256)
90
+ args = parser.parse_args()
91
+
92
+ device_map = calculate_offload_device_map(
93
+ args.model_id,
94
+ reserve_for_hessians=False,
95
+ num_gpus=torch.cuda.device_count(),
96
+ trust_remote_code=True,
97
+ torch_dtype=torch.bfloat16,
98
+ )
99
+
100
+ model = AutoModelForCausalLM.from_pretrained(
101
+ args.model_id, device_map=device_map, torch_dtype=torch.bfloat16, trust_remote_code=True,
102
+ )
103
+ tokenizer = AutoTokenizer.from_pretrained(args.model_id)
104
+
105
+ NUM_CALIBRATION_SAMPLES = args.calib_size
106
+ DATASET_ID = "garage-bAInd/Open-Platypus"
107
+ DATASET_SPLIT = "train"
108
+ ds = load_dataset(DATASET_ID, split=DATASET_SPLIT)
109
+ ds = ds.shuffle(seed=42).select(range(NUM_CALIBRATION_SAMPLES))
110
+
111
+ def preprocess(example):
112
+ concat_txt = example["instruction"] + "\n" + example["output"]
113
+ return {"text": concat_txt}
114
+
115
+ ds = ds.map(preprocess)
116
+
117
+ def tokenize(sample):
118
+ return tokenizer(
119
+ sample["text"],
120
+ padding=False,
121
+ truncation=False,
122
+ add_special_tokens=True,
123
+ )
124
+
125
+ ds = ds.map(tokenize, remove_columns=ds.column_names)
126
+
127
+ # Configure the quantization algorithm and scheme
128
+ recipe = QuantizationModifier(
129
+ targets="Linear", scheme="FP8", ignore=["lm_head", "re:.*\.mlp\.gate$"]
130
+ )
131
+
132
+ # Apply quantization
133
+ oneshot(
134
+ model=model,
135
+ dataset=ds,
136
+ recipe=recipe,
137
+ num_calibration_samples=args.calib_size
138
+ )
139
+
140
+ save_path = os.path.join(args.save_path, args.model_id.split("/")[1] + "-FP8")
141
+ os.makedirs(save_path, exist_ok=True)
142
+
143
+ # Save to disk in compressed-tensors format
144
+ model.save_pretrained(save_path, save_compressed=True, skip_compression_stats=True)
145
+ tokenizer.save_pretrained(save_path)
146
+ print(f"Model and tokenizer saved to: {save_path}")
147
+
148
+ if __name__ == "__main__":
149
+ main()
150
+ ```
151
+
152
+ ## Evaluation
153
+
154
+ The model was evaluated on [HumanEval and HumanEval+](https://github.com/openai/human-eval?tab=readme-ov-file) benchmark with the [Neural Magic fork](https://github.com/neuralmagic/evalplus) of the [EvalPlus implementation of HumanEval+](https://github.com/evalplus/evalplus) and the [vLLM](https://docs.vllm.ai/en/stable/) engine, using the following commands:
155
+
156
+ ```
157
+ python evalplus/codegen/generate.py --model neuralmagic-ent/DeepSeek-Coder-V2-Instruct-0724-FP8 --bs 16 --temperature 0.2 --n_samples 50 --root "./results" --dataset humaneval --backend vllm --dtype auto --tp 8
158
+
159
+ python evalplus/evalplus/sanitize.py results/humaneval/neuralmagic-ent--DeepSeek-Coder-V2-Instruct-0724-FP8_vllm_temp_0.2
160
+
161
+ evalplus.evaluate --dataset humaneval --samples results/humaneval/neuralmagic-ent--DeepSeek-Coder-V2-Instruct-0724-FP8_vllm_temp_0.2-sanitized
162
+ ```
163
+
164
+
165
+ ### Accuracy
166
+
167
+ #### HumanEval evaluation scores
168
+
169
+ | Metric | deepseek-ai/DeepSeek-Coder-V2-Instruct-0724 | neuralmagic-ent/DeepSeek-Coder-V2-Instruct-0724-FP8 |
170
+ |------------------------|:---------------------------------:|:-------------------------------------------:|
171
+ | HumanEval pass@1 | 89.3 | 88.7 |
172
+ | HumanEval pass@10 | 93.1 | 92.9 |
173
+ | HumanEval+ pass@1 | 82.9 | 82.8 |
174
+ | HumanEval+ pass@10 | 87.6 | 86.9 |
175
+ | **Average Score** | **88.23** | **87.83** |
176
+ | **Recovery** | **100.00** | **99.55** |
177
+
config.json ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "deepseek-ai/DeepSeek-Coder-V2-Instruct-0724",
3
+ "architectures": [
4
+ "DeepseekV2ForCausalLM"
5
+ ],
6
+ "attention_bias": false,
7
+ "attention_dropout": 0.0,
8
+ "auto_map": {
9
+ "AutoConfig": "deepseek-ai/DeepSeek-Coder-V2-Instruct-0724--configuration_deepseek.DeepseekV2Config",
10
+ "AutoModel": "deepseek-ai/DeepSeek-Coder-V2-Instruct-0724--modeling_deepseek.DeepseekV2Model",
11
+ "AutoModelForCausalLM": "deepseek-ai/DeepSeek-Coder-V2-Instruct-0724--modeling_deepseek.DeepseekV2ForCausalLM"
12
+ },
13
+ "aux_loss_alpha": 0.001,
14
+ "bos_token_id": 100000,
15
+ "eos_token_id": 100001,
16
+ "ep_size": 1,
17
+ "first_k_dense_replace": 1,
18
+ "hidden_act": "silu",
19
+ "hidden_size": 5120,
20
+ "initializer_range": 0.02,
21
+ "intermediate_size": 12288,
22
+ "kv_lora_rank": 512,
23
+ "max_position_embeddings": 163840,
24
+ "model_type": "deepseek_v2",
25
+ "moe_intermediate_size": 1536,
26
+ "moe_layer_freq": 1,
27
+ "n_group": 8,
28
+ "n_routed_experts": 160,
29
+ "n_shared_experts": 2,
30
+ "norm_topk_prob": false,
31
+ "num_attention_heads": 128,
32
+ "num_experts_per_tok": 6,
33
+ "num_hidden_layers": 60,
34
+ "num_key_value_heads": 128,
35
+ "pretraining_tp": 1,
36
+ "q_lora_rank": 1536,
37
+ "qk_nope_head_dim": 128,
38
+ "qk_rope_head_dim": 64,
39
+ "quantization_config": {
40
+ "config_groups": {
41
+ "group_0": {
42
+ "input_activations": {
43
+ "actorder": null,
44
+ "block_structure": null,
45
+ "dynamic": false,
46
+ "group_size": null,
47
+ "num_bits": 8,
48
+ "observer": "minmax",
49
+ "observer_kwargs": {},
50
+ "strategy": "tensor",
51
+ "symmetric": true,
52
+ "type": "float"
53
+ },
54
+ "output_activations": null,
55
+ "targets": [
56
+ "Linear"
57
+ ],
58
+ "weights": {
59
+ "actorder": null,
60
+ "block_structure": null,
61
+ "dynamic": false,
62
+ "group_size": null,
63
+ "num_bits": 8,
64
+ "observer": "minmax",
65
+ "observer_kwargs": {},
66
+ "strategy": "tensor",
67
+ "symmetric": true,
68
+ "type": "float"
69
+ }
70
+ }
71
+ },
72
+ "format": "float-quantized",
73
+ "global_compression_ratio": 1.5935207871800965,
74
+ "ignore": [
75
+ "lm_head"
76
+ ],
77
+ "kv_cache_scheme": null,
78
+ "quant_method": "compressed-tensors",
79
+ "quantization_status": "compressed"
80
+ },
81
+ "rms_norm_eps": 1e-06,
82
+ "rope_scaling": {
83
+ "beta_fast": 32,
84
+ "beta_slow": 1,
85
+ "factor": 40,
86
+ "mscale": 1.0,
87
+ "mscale_all_dim": 1.0,
88
+ "original_max_position_embeddings": 4096,
89
+ "type": "yarn"
90
+ },
91
+ "rope_theta": 10000,
92
+ "routed_scaling_factor": 16.0,
93
+ "scoring_func": "softmax",
94
+ "seq_aux": true,
95
+ "tie_word_embeddings": false,
96
+ "topk_group": 3,
97
+ "topk_method": "group_limited_greedy",
98
+ "torch_dtype": "bfloat16",
99
+ "transformers_version": "4.46.2",
100
+ "use_cache": true,
101
+ "v_head_dim": 128,
102
+ "vocab_size": 102400
103
+ }
configuration_deepseek.py ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers.configuration_utils import PretrainedConfig
2
+ from transformers.utils import logging
3
+
4
+ logger = logging.get_logger(__name__)
5
+
6
+ DEEPSEEK_PRETRAINED_CONFIG_ARCHIVE_MAP = {}
7
+ class DeepseekV2Config(PretrainedConfig):
8
+ r"""
9
+ This is the configuration class to store the configuration of a [`DeepseekV2Model`]. It is used to instantiate an DeepSeek
10
+ model according to the specified arguments, defining the model architecture. Instantiating a configuration with the
11
+ defaults will yield a similar configuration to that of the DeepSeek-V2.
12
+
13
+ Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
14
+ documentation from [`PretrainedConfig`] for more information.
15
+
16
+
17
+ Args:
18
+ vocab_size (`int`, *optional*, defaults to 102400):
19
+ Vocabulary size of the Deep model. Defines the number of different tokens that can be represented by the
20
+ `inputs_ids` passed when calling [`DeepseekV2Model`]
21
+ hidden_size (`int`, *optional*, defaults to 4096):
22
+ Dimension of the hidden representations.
23
+ intermediate_size (`int`, *optional*, defaults to 11008):
24
+ Dimension of the MLP representations.
25
+ moe_intermediate_size (`int`, *optional*, defaults to 1407):
26
+ Dimension of the MoE representations.
27
+ num_hidden_layers (`int`, *optional*, defaults to 32):
28
+ Number of hidden layers in the Transformer decoder.
29
+ num_attention_heads (`int`, *optional*, defaults to 32):
30
+ Number of attention heads for each attention layer in the Transformer decoder.
31
+ n_shared_experts (`int`, *optional*, defaults to None):
32
+ Number of shared experts, None means dense model.
33
+ n_routed_experts (`int`, *optional*, defaults to None):
34
+ Number of routed experts, None means dense model.
35
+ routed_scaling_factor (`float`, *optional*, defaults to 1.0):
36
+ Scaling factor or routed experts.
37
+ topk_method (`str`, *optional*, defaults to `gready`):
38
+ Topk method used in routed gate.
39
+ n_group (`int`, *optional*, defaults to None):
40
+ Number of groups for routed experts.
41
+ topk_group (`int`, *optional*, defaults to None):
42
+ Number of selected groups for each token(for each token, ensuring the selected experts is only within `topk_group` groups).
43
+ num_experts_per_tok (`int`, *optional*, defaults to None):
44
+ Number of selected experts, None means dense model.
45
+ moe_layer_freq (`int`, *optional*, defaults to 1):
46
+ The frequency of the MoE layer: one expert layer for every `moe_layer_freq - 1` dense layers.
47
+ first_k_dense_replace (`int`, *optional*, defaults to 0):
48
+ Number of dense layers in shallow layers(embed->dense->dense->...->dense->moe->moe...->lm_head).
49
+ \--k dense layers--/
50
+ norm_topk_prob (`bool`, *optional*, defaults to False):
51
+ Whether to normalize the weights of the routed experts.
52
+ scoring_func (`str`, *optional*, defaults to 'softmax'):
53
+ Method of computing expert weights.
54
+ aux_loss_alpha (`float`, *optional*, defaults to 0.001):
55
+ Auxiliary loss weight coefficient.
56
+ seq_aux = (`bool`, *optional*, defaults to True):
57
+ Whether to compute the auxiliary loss for each individual sample.
58
+ num_key_value_heads (`int`, *optional*):
59
+ This is the number of key_value heads that should be used to implement Grouped Query Attention. If
60
+ `num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if
61
+ `num_key_value_heads=1 the model will use Multi Query Attention (MQA) otherwise GQA is used. When
62
+ converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed
63
+ by meanpooling all the original heads within that group. For more details checkout [this
64
+ paper](https://arxiv.org/pdf/2305.13245.pdf). If it is not specified, will default to
65
+ `num_attention_heads`.
66
+ hidden_act (`str` or `function`, *optional*, defaults to `"silu"`):
67
+ The non-linear activation function (function or string) in the decoder.
68
+ max_position_embeddings (`int`, *optional*, defaults to 2048):
69
+ The maximum sequence length that this model might ever be used with.
70
+ initializer_range (`float`, *optional*, defaults to 0.02):
71
+ The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
72
+ rms_norm_eps (`float`, *optional*, defaults to 1e-06):
73
+ The epsilon used by the rms normalization layers.
74
+ use_cache (`bool`, *optional*, defaults to `True`):
75
+ Whether or not the model should return the last key/values attentions (not used by all models). Only
76
+ relevant if `config.is_decoder=True`.
77
+ pad_token_id (`int`, *optional*):
78
+ Padding token id.
79
+ bos_token_id (`int`, *optional*, defaults to 1):
80
+ Beginning of stream token id.
81
+ eos_token_id (`int`, *optional*, defaults to 2):
82
+ End of stream token id.
83
+ pretraining_tp (`int`, *optional*, defaults to 1):
84
+ Experimental feature. Tensor parallelism rank used during pretraining. Please refer to [this
85
+ document](https://huggingface.co/docs/transformers/parallelism) to understand more about it. This value is
86
+ necessary to ensure exact reproducibility of the pretraining results. Please refer to [this
87
+ issue](https://github.com/pytorch/pytorch/issues/76232).
88
+ tie_word_embeddings (`bool`, *optional*, defaults to `False`):
89
+ Whether to tie weight embeddings
90
+ rope_theta (`float`, *optional*, defaults to 10000.0):
91
+ The base period of the RoPE embeddings.
92
+ rope_scaling (`Dict`, *optional*):
93
+ Dictionary containing the scaling configuration for the RoPE embeddings. Currently supports two scaling
94
+ strategies: linear and dynamic. Their scaling factor must be a float greater than 1. The expected format is
95
+ `{"type": strategy name, "factor": scaling factor}`. When using this flag, don't update
96
+ `max_position_embeddings` to the expected new maximum.
97
+ attention_bias (`bool`, defaults to `False`, *optional*, defaults to `False`):
98
+ Whether to use a bias in the query, key, value and output projection layers during self-attention.
99
+ attention_dropout (`float`, *optional*, defaults to 0.0):
100
+ The dropout ratio for the attention probabilities.
101
+
102
+ ```python
103
+ >>> from transformers import DeepseekV2Model, DeepseekV2Config
104
+
105
+ >>> # Initializing a Deepseek-V2 style configuration
106
+ >>> configuration = DeepseekV2Config()
107
+
108
+ >>> # Accessing the model configuration
109
+ >>> configuration = model.config
110
+ ```"""
111
+
112
+ model_type = "deepseek_v2"
113
+ keys_to_ignore_at_inference = ["past_key_values"]
114
+
115
+ def __init__(
116
+ self,
117
+ vocab_size=102400,
118
+ hidden_size=4096,
119
+ intermediate_size=11008,
120
+ moe_intermediate_size = 1407,
121
+ num_hidden_layers=30,
122
+ num_attention_heads=32,
123
+ num_key_value_heads=32,
124
+ n_shared_experts = None,
125
+ n_routed_experts = None,
126
+ ep_size = 1,
127
+ routed_scaling_factor = 1.0,
128
+ kv_lora_rank = 512,
129
+ q_lora_rank = 1536,
130
+ qk_rope_head_dim = 64,
131
+ v_head_dim = 128,
132
+ qk_nope_head_dim = 128,
133
+ topk_method = 'gready',
134
+ n_group = None,
135
+ topk_group = None,
136
+ num_experts_per_tok = None,
137
+ moe_layer_freq = 1,
138
+ first_k_dense_replace = 0,
139
+ norm_topk_prob = False,
140
+ scoring_func = 'softmax',
141
+ aux_loss_alpha = 0.001,
142
+ seq_aux = True,
143
+ hidden_act="silu",
144
+ max_position_embeddings=2048,
145
+ initializer_range=0.02,
146
+ rms_norm_eps=1e-6,
147
+ use_cache=True,
148
+ pad_token_id=None,
149
+ bos_token_id=100000,
150
+ eos_token_id=100001,
151
+ pretraining_tp=1,
152
+ tie_word_embeddings=False,
153
+ rope_theta=10000.0,
154
+ rope_scaling=None,
155
+ attention_bias=False,
156
+ attention_dropout=0.0,
157
+ **kwargs,
158
+ ):
159
+ self.vocab_size = vocab_size
160
+ self.max_position_embeddings = max_position_embeddings
161
+ self.hidden_size = hidden_size
162
+ self.intermediate_size = intermediate_size
163
+ self.moe_intermediate_size = moe_intermediate_size
164
+ self.num_hidden_layers = num_hidden_layers
165
+ self.num_attention_heads = num_attention_heads
166
+ self.n_shared_experts = n_shared_experts
167
+ self.n_routed_experts = n_routed_experts
168
+ self.ep_size = ep_size
169
+ self.routed_scaling_factor = routed_scaling_factor
170
+ self.kv_lora_rank = kv_lora_rank
171
+ self.q_lora_rank = q_lora_rank
172
+ self.qk_rope_head_dim = qk_rope_head_dim
173
+ self.v_head_dim = v_head_dim
174
+ self.qk_nope_head_dim = qk_nope_head_dim
175
+ self.topk_method = topk_method
176
+ self.n_group = n_group
177
+ self.topk_group = topk_group
178
+ self.num_experts_per_tok = num_experts_per_tok
179
+ self.moe_layer_freq = moe_layer_freq
180
+ self.first_k_dense_replace = first_k_dense_replace
181
+ self.norm_topk_prob = norm_topk_prob
182
+ self.scoring_func = scoring_func
183
+ self.aux_loss_alpha = aux_loss_alpha
184
+ self.seq_aux = seq_aux
185
+ # for backward compatibility
186
+ if num_key_value_heads is None:
187
+ num_key_value_heads = num_attention_heads
188
+
189
+ self.num_key_value_heads = num_key_value_heads
190
+ self.hidden_act = hidden_act
191
+ self.initializer_range = initializer_range
192
+ self.rms_norm_eps = rms_norm_eps
193
+ self.pretraining_tp = pretraining_tp
194
+ self.use_cache = use_cache
195
+ self.rope_theta = rope_theta
196
+ self.rope_scaling = rope_scaling
197
+ self.attention_bias = attention_bias
198
+ self.attention_dropout = attention_dropout
199
+
200
+ super().__init__(
201
+ pad_token_id=pad_token_id,
202
+ bos_token_id=bos_token_id,
203
+ eos_token_id=eos_token_id,
204
+ tie_word_embeddings=tie_word_embeddings,
205
+ **kwargs,
206
+ )
generation_config.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 100000,
4
+ "do_sample": true,
5
+ "eos_token_id": 100001,
6
+ "temperature": 0.3,
7
+ "top_p": 0.95,
8
+ "transformers_version": "4.46.2"
9
+ }
model-00001-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:db45aa68967129d5a0d0ebaa7e3b850444acd076ca684e242a87903ccbf90ae7
3
+ size 4996270948
model-00002-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:07326dccf83cde1441bedbe3479cd90cf67f78eebab2ea2aae7899ed303e59a5
3
+ size 4996995084
model-00003-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ea1973cc5016ccb50f2d0d5d7db5f0db7a38319cc087a6c2d7adda2864043887
3
+ size 4995531320
model-00004-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:91f2492e446c6da233d9d2cbae461cbdd0b9bb01e6ca528295e467cef84819fb
3
+ size 4995532432
model-00005-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b3db907448f1c6a3d8fd4690348a8dd1f02b787fe35b0ad2300dedc8fc38ba8d
3
+ size 4995533784
model-00006-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:14c4069f115ab43e00336a18aef24d447f815810bc75897c9a121a724768250a
3
+ size 4996995156
model-00007-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:98dd1871637d61b64b67048a9113956b56b65bd6c6d3e62c9fa1e616bbf79613
3
+ size 4995531440
model-00008-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f998a8502bfb5364043e9a7d0c14afe61c9c22e9bf54a108dcb700017826bcda
3
+ size 4995528376
model-00009-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f99a9842d44fc1e486fdf160bcbb277572954499dec8dc3c6aa4f6d0faacd7b8
3
+ size 4995535760
model-00010-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2537199d97c2cee9868c6f1f986944971671336fac5185a3756b755ab730c075
3
+ size 4996997044
model-00011-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d046151ed694ae5a50b31b70180262d9ed265a1d3becc2673d20e2ed5714693f
3
+ size 4995533416
model-00012-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9f79b20e2458e1d0789efd49eaf387c93ede68c709e3ad25e61d072241833e16
3
+ size 4995534624
model-00013-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:654b8b1a1a5c9e5c03c1cac9e88bf6feb20862bb4e369c70dc96d261a4818a4a
3
+ size 4989308980
model-00014-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:747b0991eb66f79a623efadabd2005cdabd5a7ae9df81bc023e1038f1bca08a6
3
+ size 4995355444
model-00015-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:681be79faf7c2508b7589659e4eefc7609b217a1817884c49f07bc64ed9e2087
3
+ size 4995533520
model-00016-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aa7cf8a7e5aba08e631d7b64b7b1bad6ee0ae4e9cb69685812dc742421760c0f
3
+ size 4995534776
model-00017-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9af7bf3dfa1e42a384c97a8200b085ab2be0cd86e9ef2c91d549b56caa6e4f2e
3
+ size 4960298320
model-00018-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:871342f877651aa3866d83aacafc97c3c22918e32965a5b6497a0554df4ecf22
3
+ size 4992907440
model-00019-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a60a48398b93869700f3c735c1915bfda901cff1df4a43270f1ff5b0ddd00ace
3
+ size 4995533608
model-00020-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7362bbeff9f995f08bc6b4360d793123b92aaaaffe90b10eb53be8ce2d18cf24
3
+ size 4995534888
model-00021-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f6a234693b82e33119a87859e354ad2e8a04e05c3ac1f9d09902e8787ce7ca7e
3
+ size 4996996668
model-00022-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ee62cde6c8ad8003168645917700caebcde57e249adf321eb665fd62867a4275
3
+ size 4995532608
model-00023-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:21f7b212d5ce1f89f19ab1ecb81b7cbc3a3a3c51dd6edf3889e432603d5fadf6
3
+ size 4995533728
model-00024-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aa7988dc0e20fac3b40346ed0ad12e601275da7e3cc4fc42dfa81d5514f31521
3
+ size 4995535048
model-00025-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ce5b5f79a4d52c77cade5c1eb507e1153e116e5a197067a4aafbe489aeeba16a
3
+ size 4996996700
model-00026-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3e63f4f9f677145eaa57aacbbe4a2e15a348b8ee1fa85e55b455704f46eb5946
3
+ size 4995532768
model-00027-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:969a8049a806d84656c0a9ec6ce6ccb067e6301dcb0ef9279f33f79b0a4e48e5
3
+ size 4995533848
model-00028-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f48cec192c0a581e838a1c2d24ea192417e17ba0e6e417dff5211745abd8372e
3
+ size 4995535216
model-00029-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:11b7682d58c7ca4efb77758dbf29f7c45a87302bab594ad3638356edc0c9e3b4
3
+ size 4996996740
model-00030-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e36395397a923510477145db460ead81501526019390b473ce95e43a78300203
3
+ size 4995532920
model-00031-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:95f612516e1368927334f5f13acb5deb51d502bc955543acd15c317eea0cfd6e
3
+ size 4995533968
model-00032-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5537feb679bba0d8ba4d9bb8010d4d9cc913bca152fec2a10cb7deec00553c8c
3
+ size 4995535384
model-00033-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0fb93d3eee18cf9b5bd7d2f962b4898512a82b4c366b64ec9b9379038eddf375
3
+ size 4996996812
model-00034-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:268a3fa7841715bb8e6291f8d399483a6eb69fc752d730dff8deaaad7ccb2de2
3
+ size 4995533040
model-00035-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1eca6383b645ca9c710fc67db056bbfe684239b1e09ef08061c52375a88179cd
3
+ size 4995534112
model-00036-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:32a540e5820a5de5e7882e64b79186025084aac094bdd65e9cb1a18a8e79ad28
3
+ size 4995535520
model-00037-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:987bfdaa76f12886bfb424fb622ffe3bb05fa3b9e9f480d5eeb9cd67dddfa80c
3
+ size 4996996892
model-00038-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:210606c866ec831f3905bd52040f1b7b21802540ef0817e96b4a67bc544b50ca
3
+ size 4995533160
model-00039-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:23c1dfb3a2a60c75235d1cff3a893e3120f0352eb4082059496759ebddb29c36
3
+ size 4995534280
model-00040-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5640641d3207a7e8c07969b0b642de05efafc4ee70afa319ca9ab93d1e1cf3b7
3
+ size 4995535640
model-00041-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2f84e32afa03749f0cebad930d5bf51d15628d6a2e1ad1f94a66332e90f2d375
3
+ size 4996996964
model-00042-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:76d1c1bc82498c6a559929f674aad26b924b54db643dbe308e4fa00dee1010bd
3
+ size 4995533280
model-00043-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ae7c7c839575dd630350b1097df8f34eaa193ea52f0b341fdf0336191ff5747f
3
+ size 4995534448
model-00044-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6450d97f1d56d455425904f58a91e65ebbc24ee5976aeadd612f545e7a38eb31
3
+ size 4995535760
model-00045-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:755ec49ab7aca7bd3db10349874a6beae88956d681b4fc9559b2e1181308fb14
3
+ size 4996997044
model-00046-of-00048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cad1f0f2be12fdda798de4762458115f8712f466bf54daee9bc71dd60652e9e9
3
+ size 4995533400