公司
发布日期 2024-04-27
分类
大语言模型
类型 开源
体验网址点击使用

Qwen1.5-110B是由通义千问团队开发并开源的千亿参数规模的语言模型。它属于Qwen1.5系列,是该系列中首个达到1100亿参数的模型。Qwen1.5-110B采用了先进的Transformer解码器架构,并引入了分组查询注意力(Grouped Query Attention, GQA),这使得模型在推理时更加高效。模型支持多语言处理,涵盖英语、中文、法语、西班牙语、德语、俄语、日语、韩语、越南语和阿拉伯语等多种语言,能够处理长达32K tokens的上下文。

Qwen1.5-110B在基础能力评估中表现出色,与Meta-Llama3-70B相媲美。在Chat评估中,它在MT-Bench和AlpacaEval 2.0上的表现也非常突出。模型的多语言能力和高效的推理机制使其在自然语言处理领域具有广泛的应用前景。

模型评测

Qwen1.5-110B在多项评测中都取得了显著的成绩。在基础能力评估中,它与Meta-Llama3-70B相比,显示出了不相上下的性能。这表明Qwen1.5-110B在理解和生成自然语言方面具有极高的能力。特别是在多语言处理和长文本理解方面,Qwen1.5-110B展现出了卓越的性能。

在Chat评估中,Qwen1.5-110B的表现尤为出色。它在MT-Bench和AlpacaEval 2.0的评估中,不仅在对话流畅性、逻辑连贯性等方面表现优异,还在多轮对话中保持了较高的一致性和准确性。这使得Qwen1.5-110B在聊天机器人、智能客服等领域具有极大的应用潜力。

模型的评测结果表明,Qwen1.5-110B在没有大幅改变预训练方法的情况下,通过增加模型规模,显著提升了性能。这为未来模型规模扩展和数据预训练提供了重要的参考。

部署使用

部署Qwen1.5-110B模型需要经过几个关键步骤。以下是详细的部署步骤:

  1. 环境准备
    • 确保系统安装了Python环境,推荐使用Python 3.6及以上版本。
    • 安装必要的库,如PyTorch、Transformers等。
  2. 模型下载
    • 访问ModelScope平台,下载Qwen1.5-110B模型。可以通过以下代码实现:
      from modelscope import snapshot_download
      model_dir = snapshot_download('qwen/Qwen1.5-110B-Chat')
      
  3. 模型加载
    • 使用AutoModelForCausalLM和AutoTokenizer加载模型:
      from modelscope import AutoModelForCausalLM, AutoTokenizer
      device = "cuda"  # the device to load the model onto
      model = AutoModelForCausalLM.from_pretrained(
          "qwen/Qwen1.5-110B-Chat",
          torch_dtype="auto",
          device_map="auto"
      )
      tokenizer = AutoTokenizer.from_pretrained("qwen/Qwen1.5-110B-Chat")
      
  4. 模型推理
    • 编写推理代码,生成文本:
      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]
      
  5. 显存要求
    • 模型推理需要较高的显存,推荐使用4卡A100,每卡230G显存。
  6. 模型微调
    • 使用魔搭社区的微调框架SWIFT进行模型微调,支持Qwen1.5全系列模型。

常见问题

1. 如何下载Qwen1.5-110B模型?

可以通过ModelScope平台下载Qwen1.5-110B模型。以下是下载代码示例:

from modelscope import snapshot_download
model_dir = snapshot_download('qwen/Qwen1.5-110B-Chat')

2. 模型推理时显存不足怎么办?

如果显存不足,可以尝试以下方法:

  • 降低模型的batch size。
  • 使用更小的模型版本。
  • 优化模型的输入数据,减少输入长度。

3. 如何进行模型微调?

可以使用魔搭社区的微调框架SWIFT进行模型微调。以下是训练参数配置示例:

nproc_per_node=4
CUDA_VISIBLE_DEVICES=0,1,2,3 \
NPROC_PER_NODE=$nproc_per_node \
swift sft \
    --model_type qwen1half-110b-chat \
    --sft_type lora \
    --tuner_backend peft \
    --dtype AUTO \
    --output_dir output \
    --ddp_backend nccl \
    --num_train_epochs 2 \
    --max_length 2048 \
    --check_dataset_strategy warning \
    --lora_rank 8 \
    --lora_alpha 32 \
    --lora_dropout_p 0.05 \
    --lora_target_modules ALL \
    --gradient_checkpointing true \
    --batch_size 1 \
    --weight_decay 0.1 \
    --learning_rate 1e-4 \
    --gradient_accumulation_steps $(expr 16 / $nproc_per_node) \
    --max_grad_norm 0.5 \
    --warmup_ratio 0.03 \
    --eval_steps 100 \
    --save_steps 100 \
    --save_total_limit 2 \
    --logging_steps 10 \
    --use_flash_attn true \
    --deepspeed default-zero3 \
    --self_cognition_sample 2000 \
    --model_name 小白 'Xiao Bai' \
    --model_author 魔搭 ModelScope

相关资源

以下是一些可以访问的相关资源链接:

通过这些资源,用户可以更深入地了解Qwen1.5-110B模型,并进行相关的模型体验、下载和训练。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
搜索