From 94598bdd709b81ac7aab06ed45d5b45c0ac3d304 Mon Sep 17 00:00:00 2001 From: ai-modelscope Date: Wed, 18 Sep 2024 23:37:26 +0800 Subject: [PATCH] update README & config.json --- README.md | 30 +++++++++++++++++++++++++++--- config.json | 2 +- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2aa2a2b..282cdd3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ --- license: apache-2.0 +license_link: https://huggingface.co/Qwen/Qwen2.5-Coder-1.5B-Instruct/blob/main/LICENSE language: - en base_model: @@ -23,9 +24,9 @@ Qwen2.5-Coder is the latest series of Code-Specific Qwen large language models ( - 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. - 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. -- **Long-context Support** up to 128K tokens and can generate up to 8K tokens. +- **Long-context Support** up to 128K tokens. -**This repo contains the 1.5B Qwen2.5-Coder model**, which has the following features: +**This repo contains the instruction-tuned 1.5B Qwen2.5-Coder model**, which has the following features: - Type: Causal Language Models - Training Stage: Pretraining & Post-training - Architecture: transformers with RoPE, SwiGLU, RMSNorm, Attention QKV bias and tied word embeddings @@ -33,7 +34,8 @@ Qwen2.5-Coder is the latest series of Code-Specific Qwen large language models ( - Number of Paramaters (Non-Embedding): 1.31B - Number of Layers: 28 - Number of Attention Heads (GQA): 12 for Q and 2 for KV -- Context Length: Full 32,768 tokens and generation 8192 tokens +- Context Length: Full 131,072 tokens + - Please refer to [this section](#processing-long-texts) for detailed instructions on how to deploy Qwen2.5 for handling long texts. For more details, please refer to our [blog](https://qwenlm.github.io/blog/qwen2.5-coder/), [GitHub](https://github.com/QwenLM/Qwen2.5-Coder), and [Documentation](https://qwen.readthedocs.io/en/latest/). @@ -85,6 +87,28 @@ generated_ids = [ response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] ``` +### Processing Long Texts + +The current `config.json` is set for context length up to 32,768 tokens. +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. + +For supported frameworks, you could add the following to `config.json` to enable YaRN: +```json +{ + ..., + "rope_scaling": { + "factor": 4.0, + "original_max_position_embeddings": 32768, + "type": "yarn" + } +} +``` + +For deployment, we recommend using vLLM. +Please refer to our [Documentation](https://qwen.readthedocs.io/en/latest/deployment/vllm.html) for usage if you are not familar with vLLM. +Presently, vLLM only supports static YARN, which means the scaling factor remains constant regardless of input length, **potentially impacting performance on shorter texts**. +We advise adding the `rope_scaling` configuration only when processing long contexts is required. + ## Evaluation & Performance Detailed evaluation results are reported in this [📑 blog](https://qwenlm.github.io/blog/qwen2.5-coder/). diff --git a/config.json b/config.json index db0f9ac..1de5c7a 100644 --- a/config.json +++ b/config.json @@ -17,7 +17,7 @@ "num_key_value_heads": 2, "rms_norm_eps": 1e-06, "rope_theta": 1000000.0, - "sliding_window": 32768, + "sliding_window": 131072, "tie_word_embeddings": true, "torch_dtype": "bfloat16", "transformers_version": "4.44.0",