duyntnet commited on
Commit
ac5aac2
·
verified ·
1 Parent(s): 4e8d5f0

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +111 -0
README.md ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ language:
4
+ - en
5
+ pipeline_tag: text-generation
6
+ inference: false
7
+ tags:
8
+ - transformers
9
+ - gguf
10
+ - imatrix
11
+ - Qwen2.5-Coder-32B-Instruct
12
+ ---
13
+ Quantizations of https://huggingface.co/Qwen/Qwen2.5-Coder-32B-Instruct
14
+
15
+
16
+ ### Inference Clients/UIs
17
+ * [llama.cpp](https://github.com/ggerganov/llama.cpp)
18
+ * [KoboldCPP](https://github.com/LostRuins/koboldcpp)
19
+ * [ollama](https://github.com/ollama/ollama)
20
+ * [text-generation-webui](https://github.com/oobabooga/text-generation-webui)
21
+ * [GPT4All](https://github.com/nomic-ai/gpt4all)
22
+ * [jan](https://github.com/janhq/jan)
23
+ ---
24
+
25
+ # From original readme
26
+
27
+ ## Introduction
28
+
29
+ Qwen2.5-Coder is the latest series of Code-Specific Qwen large language models (formerly known as CodeQwen). As of now, Qwen2.5-Coder has covered six mainstream model sizes, 0.5, 1.5, 3, 7, 14, 32 billion parameters, to meet the needs of different developers. Qwen2.5-Coder brings the following improvements upon CodeQwen1.5:
30
+
31
+ - Significantly improvements in **code generation**, **code reasoning** and **code fixing**. Base on the strong Qwen2.5, we scale up the training tokens into 5.5 trillion including source code, text-code grounding, Synthetic data, etc. Qwen2.5-Coder-32B has become the current state-of-the-art open-source codeLLM, with its coding abilities matching those of GPT-4o.
32
+ - A more comprehensive foundation for real-world applications such as **Code Agents**. Not only enhancing coding capabilities but also maintaining its strengths in mathematics and general competencies.
33
+ - **Long-context Support** up to 128K tokens.
34
+
35
+ **This repo contains the instruction-tuned 32B Qwen2.5-Coder model**, which has the following features:
36
+ - Type: Causal Language Models
37
+ - Training Stage: Pretraining & Post-training
38
+ - Architecture: transformers with RoPE, SwiGLU, RMSNorm, and Attention QKV bias
39
+ - Number of Parameters: 32.5B
40
+ - Number of Paramaters (Non-Embedding): 31.0B
41
+ - Number of Layers: 64
42
+ - Number of Attention Heads (GQA): 40 for Q and 8 for KV
43
+ - Context Length: Full 131,072 tokens
44
+ - Please refer to [this section](#processing-long-texts) for detailed instructions on how to deploy Qwen2.5 for handling long texts.
45
+
46
+ For more details, please refer to our [blog](https://qwenlm.github.io/blog/qwen2.5-coder-family/), [GitHub](https://github.com/QwenLM/Qwen2.5-Coder), [Documentation](https://qwen.readthedocs.io/en/latest/), [Arxiv](https://arxiv.org/abs/2409.12186).
47
+
48
+ ## Requirements
49
+
50
+ The code of Qwen2.5-Coder has been in the latest Hugging face `transformers` and we advise you to use the latest version of `transformers`.
51
+
52
+ With `transformers<4.37.0`, you will encounter the following error:
53
+ ```
54
+ KeyError: 'qwen2'
55
+ ```
56
+
57
+ ## Quickstart
58
+
59
+ Here provides a code snippet with `apply_chat_template` to show you how to load the tokenizer and model and how to generate contents.
60
+
61
+ ```python
62
+ from transformers import AutoModelForCausalLM, AutoTokenizer
63
+
64
+ model_name = "Qwen/Qwen2.5-Coder-32B-Instruct"
65
+
66
+ model = AutoModelForCausalLM.from_pretrained(
67
+ model_name,
68
+ torch_dtype="auto",
69
+ device_map="auto"
70
+ )
71
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
72
+
73
+ prompt = "write a quick sort algorithm."
74
+ messages = [
75
+ {"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
76
+ {"role": "user", "content": prompt}
77
+ ]
78
+ text = tokenizer.apply_chat_template(
79
+ messages,
80
+ tokenize=False,
81
+ add_generation_prompt=True
82
+ )
83
+ model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
84
+
85
+ generated_ids = model.generate(
86
+ **model_inputs,
87
+ max_new_tokens=512
88
+ )
89
+ generated_ids = [
90
+ output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
91
+ ]
92
+
93
+ response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
94
+ ```
95
+
96
+ ### Processing Long Texts
97
+
98
+ The current `config.json` is set for context length up to 32,768 tokens.
99
+ To handle extensive inputs exceeding 32,768 tokens, we utilize [YaRN](https://arxiv.org/abs/2309.00071), a technique for enhancing model length extrapolation, ensuring optimal performance on lengthy texts.
100
+
101
+ For supported frameworks, you could add the following to `config.json` to enable YaRN:
102
+ ```json
103
+ {
104
+ ...,
105
+ "rope_scaling": {
106
+ "factor": 4.0,
107
+ "original_max_position_embeddings": 32768,
108
+ "type": "yarn"
109
+ }
110
+ }
111
+ ```