MLU370-M8轻轻松松跑通Qwen-7B-chat

2023-11-09 23:50

本文主要是介绍MLU370-M8轻轻松松跑通Qwen-7B-chat,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这一期我们将快速让千问7B快速跑通在国产芯片MLU370-M8卡上,后续会更新更多有关于LORA、预训练、RLHF、SFT,Embedding、Fintuning等得操作过程,尽情期待

Qwen-7B-chat在MLU370-M8上实现

  • 前言
  • 一、环境准备
  • 二、模型下载
    • 1.魔塔社区引入
    • 2.代码修改
    • 3.代码运行
  • 效果展示


前言

通义千问-7B(Qwen-7B) 是阿里云研发的通义千问大模型系列的70亿参数规模的模型。Qwen-7B是基于Transformer的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍、代码等。同时,在Qwen-7B的基础上,我们使用对齐机制打造了基于大语言模型的AI助手Qwen-7B-Chat。Qwen-7B系列模型的特点包括:

1 大规模高质量预训练数据:我们使用了超过2.2万亿token的自建大规模预训练数据集进行语言模型的预训练。,,上下文长度为2048,,数据集包括文本和代码等多种数据类型,覆盖通用领域和专业领域。包含高质量中、英、多语言、代码、数学等数据,涵盖通用及专业领域的训练语料。通过大量对比实验对预训练语料分布进行了优化。

2 优秀的模型性能:相比同规模的开源模型,Qwen-7B在多个评测数据集上具有显著优势,甚至超出12-13B等更大规模的模型。评测评估的能力范围包括自然语言理解与生成、数学运算解题、代码生成、常识推理、翻译等。

3 更好地支持多语言:基于更大词表的分词器在分词上更高效,同时它对其他语言表现更加友好。用户可以在Qwen-7B的基础上更方便地训练特定语言的7B语言模型。覆盖更全面的词表:相比目前以中英词表为主的开源模型,Qwen-7B使用了约15万大小的词表。该词表对多语言更加友好,方便用户在不扩展词表的情况下对部分语种进行能力增强和扩展。

4 8K的上下文长度:Qwen-7B及Qwen-7B-Chat均能支持8K的上下文长度, 允许用户输入更长的prompt。

5 支持插件调用:Qwen-7B-Chat针对插件调用相关的对齐数据做了特定优化,当前模型能有效调用插件以及升级为Agent。


一、环境准备

开发环境选择(关于开发环境及平台可参考前几期博文):

pytorch:v1.14.0-ubuntu20.04-py38

环境库安装:
1.transformers

git clone -b v4.31.0 https://github.com/huggingface/transformers.git
python /torch/src/catch/tools/torch_gpu2mlu.py -i transformers/   #cuda算子转换成mlu,后会生成transformers_mlu
cd transformers_mlu/ && python setup.py install

2.accelerate

git clone -b v0.20.2 https://github.com/huggingface/accelerate
python /torch/src/catch/tools/torch_gpu2mlu.py -i accelerate/   #cuda算子转换成mlu,后会生成accelerate_mlu
cd accelerate_mlu/ && python setup.py install

3.deepspeed
这个直接联系我们可以直接提供编译好的whl包

4.常规安装

pip install tiktoken transformers_stream_generator einops modelscope 

二、模型下载

1.魔塔社区引入

因为之前有小伙伴说huggingface下载模型太慢了,因此我们采用国内源模型下载得方式,下载速度很快,模型自动下载到
/root/.cache/huggingface/hub/路径下

2.代码修改

运行3时可能会出现报错,此时注释transformers-4.31.0_mlu/src/transformers/utils/versions.py中43-46行(原因不让其查询版本)

 # if not ops[op](version.parse(got_ver), version.parse(want_ver)):#     raise ImportError(#         f"{requirement} is required for a normal functioning of this module, but found {pkg}=={got_ver}.{hint}"#     )

3.代码运行

from modelscope import AutoModelForCausalLM, AutoTokenizer
from modelscope import GenerationConfigtokenizer = AutoTokenizer.from_pretrained("qwen/Qwen-7B-Chat", revision = 'v1.0.5',trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("qwen/Qwen-7B-Chat", revision = 'v1.0.5',device_map="auto", trust_remote_code=True,fp16 = True).eval()
model.generation_config = GenerationConfig.from_pretrained("Qwen/Qwen-7B-Chat",revision = 'v1.0.5', trust_remote_code=True) # 可指定不同的生成长度、top_p等相关超参response, history = model.chat(tokenizer, "你好", history=None)
print(response)
response, history = model.chat(tokenizer, "浙江的省会在哪里?", history=history) 
print(response)
response, history = model.chat(tokenizer, "它有什么好玩的景点", history=history)
print(response)

效果展示

在这里插入图片描述

这篇关于MLU370-M8轻轻松松跑通Qwen-7B-chat的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/379179

相关文章

AI 大模型企业应用实战(10)-LLMs和Chat Models

1 模型 来看两种不同类型的模型--LLM 和聊天模型。然后,它将介绍如何使用提示模板来格式化这些模型的输入,以及如何使用输出解析器来处理输出。 LangChain 中的语言模型有两种类型: 1.1 Chat Models 聊天模型通常由 LLM 支持,但专门针对会话进行了调整。提供者 API 使用与纯文本补全模型不同的接口。它们的输入不是单个字符串,而是聊天信息列表,输出则是一条人工智能

【yolov8语义分割】跑通:下载yolov8+预测图片+预测视频

1、下载yolov8到autodl上 git clone https://github.com/ultralytics/ultralytics 下载到Yolov8文件夹下面 另外:现在yolov8支持像包一样导入,pip install就可以   2、yolov8 语义分割文档 看官方文档:主页 -Ultralytics YOLO 文档 还能切换成中文版本,真友好。 看以下y

大模型应用实战3——开源大模型(以Qwen为例)实现多论对话功能

对于国内用户来说,一个比较稳定的下载和部署开源大模型的方法就是使用ModelScope的SDK进行下载,然后再Transformer库进行调用。在代码环境中,ollama则提供了openai API风格的大模型调用方法。在开启ollama服务情况下,我们只需要进一步在代码环境中安装openai库即可完成调用。目前都是用openai风格的api。 !pip install openai from

最新版ChatGPT对话系统源码 Chat Nio系统源码

最新版ChatGPT对话系统源码 Chat Nio系统源码 支持 Vision 模型, 同时支持 直接上传图片 和 输入图片直链或 Base64 图片 功能 (如 GPT-4 Vision Preview, Gemini Pro Vision 等模型) 支持 DALL-E 模型绘图 支持 Midjourney / Niji 模型的 Imagine / Upscale / Variant /

轻轻松松上手的LangChain学习说明书

本文为笔者学习LangChain时对官方文档以及一系列资料进行一些总结~覆盖对Langchain的核心六大模块的理解与核心使用方法,全文篇幅较长,共计50000+字,可先码住辅助用于学习Langchain。 一、Langchain是什么? 如今各类AI模型层出不穷,百花齐放,大佬们开发的速度永远遥遥领先于学习者的学习速度。。为了解放生产力,不让应用层开发人员受限于各语言模型的生产部署中…

GLM4-9B-Chat模型LoRA微调

文本记录GLM4-9B-Chat模型进行LoRA微调的过程。 一、环境: 操作系统: Ubuntu 22.04CUDA:     12.1GPU:        3090 x 2   创建conda环境: conda create -n glm4 python=3.10.14conda activate glm4cd /home/data/chatglm4-finetune 二、数

【多模态大模型教程】在自定义数据上使用Qwen-VL多模态大模型的微调与部署指南

Qwen-VL 是阿里云研发的大规模视觉语言模型(Large Vision Language Model, LVLM)。Qwen-VL 可以以图像、文本、检测框作为输入,并以文本和检测框作为输出。 Qwen-VL-Chat = 大语言模型(Qwen-7B) + 视觉图片特征编码器(Openclip ViT-bigG) + 位置感知视觉语言适配器(可训练Adapter)+ 1.5B的图文数据

Langchain中使用Ollama提供的Qwen大模型进行Function Call实现天气查询、网络搜索

Function Call,或者叫函数调用、工具调用,是大语言模型中比较重要的一项能力,对于扩展大语言模型的能力,或者构建AI Agent,至关重要。 Function Call的简单原理如下: 按照特定规范(这个一般是LLM在训练阶段构造数据的格式),定义函数,一般会包含函数名、函数描述,参数、参数描述、参数类型,必填参数,一般是json格式 将函数定义绑定的大模型上,这一步主要是让LL

Qwen-VL图文多模态大模型LoRA微调指南

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径:AI代理工作流大模型应用开发实用开源项目汇总大模型问答项目问答性能评估方法大模型数据侧总结大模型token等基本概念及参数和内存的关系大模型应用开发-华为大模型生态规划从零开始的LLaMA-Factor

又开始背单词了!怀旧轻轻松松背单词

2002年我从盗版市场买到了bdc第一版,后来有了网络直接更新到了bdcII,后来更新了词库句库语音库,后来我考完了4级、6级、GRE bdc是我接触到的第一个绿色软件,第一个没有任何限制就可以使用的软件,不需要注册就可以免费开放,升级。画面精致,音效动听,例句单词音库出众。处处都让人感到贴心和方便。 啊,忘了说,04年的时候我去买了正版,虽然买了之后就没用过(说真的,盗版和正版真的完全一