当前位置:   article > 正文

阿里最新大模型Qwen2-72B-Instruct 开源体验

qwen2-72b-instruct

Qwen2 是 Qwen 大型语言模型的新系列。对于 Qwen2,我们发布了许多基础语言模型和指令调优语言模型,范围从 0.5 到 720 亿个参数,包括专家混合模型。此存储库包含指令调整的 72B Qwen2 模型。

与之前发布的 Qwen1.5 等最先进的开源语言模型相比,Qwen2 总体上超越了大多数开源模型,并在语言理解、语言生成、多语言能力、编码、数学、推理等一系列基准测试中表现出了与专有模型的竞争力。

Qwen2-72B-Instruct 支持高达 131,072 个令牌的上下文长度,从而能够处理大量输入。

Qwen2系列包含5个尺寸的预训练和指令微调模型,其中包括Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B和Qwen2-72B。如下表所示:

关于模型评测结果:Qwen2-72B在包括自然语言理解、知识、代码、数学及多语言等多项能力上均显著超越当前领先的模型,如Llama-3-70B以及Qwen1.5最大的模型Qwen1.5-110B

Qwen2-72B-Instruct的表现

亮点:

在代码方面,成功将CodeQwen1.5的成功经验融入Qwen2的研发中,实现了在多种编程语言上的显著效果提升。而在数学方面,大规模且高质量的数据帮助Qwen2-72B-Instruct实现了数学解题能力的飞升。

长文本处理方面,Qwen2-7B-Instruct几乎完美地处理长达128k的上下文;Qwen2-57B-A14B-Instruct则能处理64k的上下文长度;而该系列中的两个较小模型则支持32k的上下文长度。

使用qwen2大模型:

  1. from transformers import AutoModelForCausalLM, AutoTokenizer
  2. device = "cuda" # the device to load the model onto
  3. model = AutoModelForCausalLM.from_pretrained(
  4. "Qwen/Qwen2-72B-Instruct",
  5. torch_dtype="auto",
  6. device_map="auto"
  7. )
  8. tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2-72B-Instruct")
  9. prompt = "Give me a short introduction to large language model."
  10. messages = [
  11. {"role": "system", "content": "You are a helpful assistant."},
  12. {"role": "user", "content": prompt}
  13. ]
  14. text = tokenizer.apply_chat_template(
  15. messages,
  16. tokenize=False,
  17. add_generation_prompt=True
  18. )
  19. model_inputs = tokenizer([text], return_tensors="pt").to(device)
  20. generated_ids = model.generate(
  21. model_inputs.input_ids,
  22. max_new_tokens=512
  23. )
  24. generated_ids = [
  25. output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
  26. ]
  27. response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

处理长文本

为了处理超过 32,768 个标记的广泛输入,我们利用了 YARN,这是一种增强模型长度外推的技术,确保在冗长文本上的最佳性能。

对于部署,我们建议使用 vLLM。您可以按照以下步骤启用长上下文功能:

  1. 安装 vLLM:可以通过运行以下命令来安装 vLLM。
pip install "vllm>=0.4.3"

或者,您可以从源代码安装 vLLM。

  1. 配置模型设置:下载模型权重后,通过包含以下代码片段来修改文件:config.json
  1. {
  2. "architectures": [
  3. "Qwen2ForCausalLM"
  4. ],
  5. // ...
  6. "vocab_size": 152064,
  7. // adding the following snippets
  8. "rope_scaling": {
  9. "factor": 4.0,
  10. "original_max_position_embeddings": 32768,
  11. "type": "yarn"
  12. }
  13. }

模型部署:利用 vLLM 部署模型。例如,您可以使用以下命令设置类似 openAI 的服务器:

python -m vllm.entrypoints.openai.api_server --served-model-name Qwen2-72B-Instruct --model path/to/weights

然后,您可以通过以下方式访问聊天 API:

  1. curl http://localhost:8000/v1/chat/completions \
  2. -H "Content-Type: application/json" \
  3. -d '{
  4. "model": "Qwen2-72B-Instruct",
  5. "messages": [
  6. {"role": "system", "content": "You are a helpful assistant."},
  7. {"role": "user", "content": "Your Long Input Here."}
  8. ]
  9. }'

注意:目前,vLLM 仅支持静态 YARN,这意味着无论输入长度如何,缩放因子都保持不变,这可能会影响较短文本的性能。建议仅在需要处理长上下文时才添加配置。rope_scaling

在huggingface上体验: https://huggingface.co/spaces/Qwen/Qwen2-72B-Instruct

文章地址 :阿里最新大模型Qwen2-72B-Instruct  开源体验 – AI小站 (aisites.cn)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/780620
推荐阅读
相关标签
  

闽ICP备14008679号