【大模型】 Qwen2 来了,27 种语言支持,上下文长度支持最高达到 128K tokens

【大模型】 Qwen2 来了,27 种语言支持,上下文长度支持最高达到 128K tokens

Qwen2 模型介绍

  • 5个尺寸的预训练和指令微调模型, 包括 Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B 以及 Qwen2-72B;
  • 在中文英语的基础上,训练数据中增加了27种语言相关的高质量数据;
  • 多个评测基准上的领先表现;
  • 代码和数学能力显著提升;
  • 增大了上下文长度支持,最高达到128K tokens(Qwen2-72B-Instruct)。

模型基础信息

在这里插入图片描述

支持语言

在这里插入图片描述

模型测评

在这里插入图片描述

在这里插入图片描述

  • 对比评测

在这里插入图片描述

运行模型

使用 transformers 后端进行推理:

要求: transformers>=4.37

from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model onto

model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen2-7B-Instruct",
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2-7B-Instruct")

prompt = "Give me a short introduction to large language model."
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)

generated_ids = model.generate(
    model_inputs.input_ids,
    max_new_tokens=512
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

模型部署

  • 安装 vllm
pip install "vllm>=0.4.3"
  • 修改:config.json
    {
        "architectures": [
            "Qwen2ForCausalLM"
        ],
        // ...
        "vocab_size": 152064,

        // adding the following snippets
        "rope_scaling": {
            "factor": 4.0,
            "original_max_position_embeddings": 32768,
            "type": "yarn"
        }
    }
  • 启动服务:
python -m vllm.entrypoints.openai.api_server --served-model-name Qwen2-7B-Instruct --model path/to/weights
  • 测试
curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
    "model": "Qwen2-7B-Instruct",
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Your Long Input Here."}
    ]
    }'

下载

model_id: THUDM/glm-4-9b-chat-1m
下载地址:[https://hf-mirror.com/Qwen/Qwen2-7B-Instruct) 不需要翻墙

开源协议

查看LICENSE

参考

### 支持128K Tokens上下文长度的模型和技术 #### 上下文长度的重要性 上下文长度定义了AI模型一次性能够处理的最大Token数量,这对模型的理解能力和响应质量有着直接影响。更大的上下文长度意味着更高的信息承载能力,使得模型能够在更广泛的历史对话或文档片段基础上做出更加连贯和有意义的回答[^1]。 #### 实现支持128K Tokens的技术方案 为了实现如此大规模的上下文处理能力,研究人员采用了多种策略来克服传统Transformer架构中的局限性: - **稀疏注意力机制**:通过引入局部性和全局性的混合注意模式,在不影响性能的前提下大幅减少了计算复杂度。 - **分块编码方法**:将输入序列分割成较小的部分分别编码后再组合起来,从而有效降低了内存占用并提高了效率。 - **多尺度建模框架**:利用不同层次的信息抽象表示学习到长期依赖关系,即使面对极长文本也能维持良好的表达力。 #### 应用实例分析 ##### Qwen2系列模型 Qwen2提供了五种不同规模版本,其中最大的Qwen2-72B-Instruct特别强调了对于超长上下文支持,达到了惊人的128K tokens水平。这种增强得益于上述提到的各项技术创新的应用,同时也反映了阿里云团队在这方面的持续投入与探索成果[^3]。 ##### Grok-1.5 由特斯拉CEO埃隆·马斯克推出的Grok-1.5同样具备出色的长时间记忆特性——即能在最长至128K tokens范围内保持高效的指令追踪及检索功能。这表明除了算法改进外,硬件设施的选择也起到了至关重要的作用,例如采用高性能GPU集群加速训练过程等措施[^5]。 ```python def process_long_context(text_chunks, max_length=128000): """ 处理超过常规限制的大段文本 参数: text_chunks (list): 切分成小节后的待处理文本列表 max_length (int): 单次可接受的最大token数,默认设置为128K 返回值: processed_text (str): 经过特殊优化后可用于进一步分析的整体字符串形式的结果 """ # 假设这里实现了具体的拼接逻辑... pass ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

szZack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值