Bohrium
robot
新建

空间站广场

论文
Notebooks
比赛
课程
Apps
我的主页
我的Notebooks
我的论文库
我的足迹

我的工作空间

任务
节点
文件
数据集
镜像
项目
数据库
公开
[model][CPU]Qwen2 0.5B-Instruct
model
model
Mancn
更新于 2024-08-27
推荐镜像 :Basic Image:ubuntu:22.04-py3.10-cuda12.1
推荐机型 :c32_m64_cpu
Qwen2-0.5B-Instruct(v1)

日期:2024-08-26
共享协议:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
快速开始:点击上方的 开始连接 按钮,推荐选择 [Basic Image:ubuntu:22.04-py3.10-cuda12.1 ][c32_m64_cpu],连接之后即可运行。
全代码运行时间:CPU: [2]分钟

代码
文本

Qwen2 0.5B-Instruct 模型介绍

代码
文本

本 Notebook 旨在向用户介绍 Qwen2 0.5B-Instruct 模型,展示如何使用该模型进行文本生成任务,并提供进一步学习和了解的资源。


代码
文本

1. 模型简介

Qwen2 0.5B-Instruct 是一个经过优化的小型指令执行模型,专为执行明确指令而设计。它拥有0.5亿参数(500百万),能够在执行诸如文本生成、回答问题等任务时表现出色。其小规模使得模型在资源有限的设备上运行更加高效,同时仍然具备相当的表现能力。

代码
文本

2. 模型标签

  • 模型类型: 指令执行(Instruct)
  • 参数数量: 0.5B(500百万)
  • 应用场景: 文本生成、任务指令执行、自动化助理
  • 开发者: Qwen团队
  • 库依赖: Transformers, PyTorch, Accelerate
代码
文本

3. 运行环境准备

首先,确保安装必要的Python库并设置环境变量以确保网络连接稳定。使用以下命令安装依赖库:

代码
文本
[1]
#!pip install -U torch
!pip install -U transformers
!pip install -U accelerate
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting transformers
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/75/35/07c9879163b603f0e464b0f6e6e628a2340cfc7cdc5ca8e7d52d776710d4/transformers-4.44.2-py3-none-any.whl (9.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5/9.5 MB 59.2 MB/s eta 0:00:0000:0100:01
Collecting safetensors>=0.4.1
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/18/f3/27bf4d7112b194eea2d8401706953080692d37ace1b74b36fcc7234961cd/safetensors-0.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (435 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 435.5/435.5 kB 83.0 MB/s eta 0:00:00
Collecting regex!=2019.12.17
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/3e/66/04b63f31580026c8b819aed7f171149177d10cfab27477ea8800a2268d50/regex-2024.7.24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (776 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 776.5/776.5 kB 97.1 MB/s eta 0:00:00
Requirement already satisfied: filelock in /opt/mamba/lib/python3.10/site-packages (from transformers) (3.10.0)
Collecting huggingface-hub<1.0,>=0.23.2
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b9/8f/d6718641c14d98a5848c6a24d2376028d292074ffade0702940a4b1dde76/huggingface_hub-0.24.6-py3-none-any.whl (417 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 417.5/417.5 kB 82.0 MB/s eta 0:00:00
Collecting tokenizers<0.20,>=0.19
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/40/4f/eb78de4af3b17b589f43a369cbf0c3a7173f25c3d2cd93068852c07689aa/tokenizers-0.19.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.6/3.6 MB 121.7 MB/s eta 0:00:00
Requirement already satisfied: packaging>=20.0 in /opt/mamba/lib/python3.10/site-packages (from transformers) (23.0)
Requirement already satisfied: tqdm>=4.27 in /opt/mamba/lib/python3.10/site-packages (from transformers) (4.64.1)
Requirement already satisfied: numpy>=1.17 in /opt/mamba/lib/python3.10/site-packages (from transformers) (1.24.2)
Requirement already satisfied: requests in /opt/mamba/lib/python3.10/site-packages (from transformers) (2.28.1)
Requirement already satisfied: pyyaml>=5.1 in /opt/mamba/lib/python3.10/site-packages (from transformers) (6.0)
Collecting fsspec>=2023.5.0
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/5e/44/73bea497ac69bafde2ee4269292fa3b41f1198f4bb7bbaaabde30ad29d4a/fsspec-2024.6.1-py3-none-any.whl (177 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 177.6/177.6 kB 57.1 MB/s eta 0:00:00
Requirement already satisfied: typing-extensions>=3.7.4.3 in /opt/mamba/lib/python3.10/site-packages (from huggingface-hub<1.0,>=0.23.2->transformers) (4.5.0)
Requirement already satisfied: certifi>=2017.4.17 in /opt/mamba/lib/python3.10/site-packages (from requests->transformers) (2022.9.24)
Requirement already satisfied: idna<4,>=2.5 in /opt/mamba/lib/python3.10/site-packages (from requests->transformers) (3.4)
Requirement already satisfied: charset-normalizer<3,>=2 in /opt/mamba/lib/python3.10/site-packages (from requests->transformers) (2.1.1)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /opt/mamba/lib/python3.10/site-packages (from requests->transformers) (1.26.11)
Installing collected packages: safetensors, regex, fsspec, huggingface-hub, tokenizers, transformers
Successfully installed fsspec-2024.6.1 huggingface-hub-0.24.6 regex-2024.7.24 safetensors-0.4.4 tokenizers-0.19.1 transformers-4.44.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting accelerate
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/15/33/b6b4ad5efa8b9f4275d4ed17ff8a44c97276171341ba565fdffb0e3dc5e8/accelerate-0.33.0-py3-none-any.whl (315 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 315.1/315.1 kB 10.7 MB/s eta 0:00:00
Requirement already satisfied: huggingface-hub>=0.21.0 in /opt/mamba/lib/python3.10/site-packages (from accelerate) (0.24.6)
Requirement already satisfied: torch>=1.10.0 in /opt/mamba/lib/python3.10/site-packages (from accelerate) (2.0.0+cu118)
Requirement already satisfied: numpy<2.0.0,>=1.17 in /opt/mamba/lib/python3.10/site-packages (from accelerate) (1.24.2)
Requirement already satisfied: packaging>=20.0 in /opt/mamba/lib/python3.10/site-packages (from accelerate) (23.0)
Requirement already satisfied: psutil in /opt/mamba/lib/python3.10/site-packages (from accelerate) (5.9.4)
Requirement already satisfied: pyyaml in /opt/mamba/lib/python3.10/site-packages (from accelerate) (6.0)
Requirement already satisfied: safetensors>=0.3.1 in /opt/mamba/lib/python3.10/site-packages (from accelerate) (0.4.4)
Requirement already satisfied: typing-extensions>=3.7.4.3 in /opt/mamba/lib/python3.10/site-packages (from huggingface-hub>=0.21.0->accelerate) (4.5.0)
Requirement already satisfied: tqdm>=4.42.1 in /opt/mamba/lib/python3.10/site-packages (from huggingface-hub>=0.21.0->accelerate) (4.64.1)
Requirement already satisfied: fsspec>=2023.5.0 in /opt/mamba/lib/python3.10/site-packages (from huggingface-hub>=0.21.0->accelerate) (2024.6.1)
Requirement already satisfied: filelock in /opt/mamba/lib/python3.10/site-packages (from huggingface-hub>=0.21.0->accelerate) (3.10.0)
Requirement already satisfied: requests in /opt/mamba/lib/python3.10/site-packages (from huggingface-hub>=0.21.0->accelerate) (2.28.1)
Requirement already satisfied: triton==2.0.0 in /opt/mamba/lib/python3.10/site-packages (from torch>=1.10.0->accelerate) (2.0.0)
Requirement already satisfied: sympy in /opt/mamba/lib/python3.10/site-packages (from torch>=1.10.0->accelerate) (1.11.1)
Requirement already satisfied: networkx in /opt/mamba/lib/python3.10/site-packages (from torch>=1.10.0->accelerate) (3.0)
Requirement already satisfied: jinja2 in /opt/mamba/lib/python3.10/site-packages (from torch>=1.10.0->accelerate) (3.1.2)
Requirement already satisfied: lit in /opt/mamba/lib/python3.10/site-packages (from triton==2.0.0->torch>=1.10.0->accelerate) (15.0.7)
Requirement already satisfied: cmake in /opt/mamba/lib/python3.10/site-packages (from triton==2.0.0->torch>=1.10.0->accelerate) (3.26.0)
Requirement already satisfied: MarkupSafe>=2.0 in /opt/mamba/lib/python3.10/site-packages (from jinja2->torch>=1.10.0->accelerate) (2.1.2)
Requirement already satisfied: charset-normalizer<3,>=2 in /opt/mamba/lib/python3.10/site-packages (from requests->huggingface-hub>=0.21.0->accelerate) (2.1.1)
Requirement already satisfied: idna<4,>=2.5 in /opt/mamba/lib/python3.10/site-packages (from requests->huggingface-hub>=0.21.0->accelerate) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /opt/mamba/lib/python3.10/site-packages (from requests->huggingface-hub>=0.21.0->accelerate) (1.26.11)
Requirement already satisfied: certifi>=2017.4.17 in /opt/mamba/lib/python3.10/site-packages (from requests->huggingface-hub>=0.21.0->accelerate) (2022.9.24)
Requirement already satisfied: mpmath>=0.19 in /opt/mamba/lib/python3.10/site-packages (from sympy->torch>=1.10.0->accelerate) (1.3.0)
Installing collected packages: accelerate
Successfully installed accelerate-0.33.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
代码
文本

接着,设置网络代理(如果需要)以确保可以顺利访问外部资源。 本文所使用的模型均已预先下载到数据集中,可以直接使用。

代码
文本
[ ]
# import os
# os.environ['http_proxy'] = 'http://10.255.254.5:8118'
# os.environ['https_proxy'] = 'http://10.255.254.5:8118'
代码
文本

你可以可以使用如下方法自己下载模型:

代码
文本
[17]
# from transformers import AutoModelForCausalLM, AutoTokenizer

# model_name = "Qwen/Qwen2-0.5B-Instruct"
# local_path = "./Qwen2-0.5B-Instruct" # 本地保存路径

# # 下载并保存模型
# model = AutoModelForCausalLM.from_pretrained(model_name, local_files_only=False)
# model.save_pretrained(local_path)

# # 下载并保存分词器
# tokenizer = AutoTokenizer.from_pretrained(model_name, local_files_only=False)
# tokenizer.save_pretrained(local_path)
('./Qwen2-0.5B-Instruct/tokenizer_config.json',
, './Qwen2-0.5B-Instruct/special_tokens_map.json',
, './Qwen2-0.5B-Instruct/vocab.json',
, './Qwen2-0.5B-Instruct/merges.txt',
, './Qwen2-0.5B-Instruct/added_tokens.json',
, './Qwen2-0.5B-Instruct/tokenizer.json')
代码
文本

4. 加载和初始化模型

在这里,我们将使用transformers库中的pipeline来加载和初始化Qwen2 0.5B-Instruct模型。

代码
文本
[5]
! cd /bohr/Qwen2-05B-Instruct-8u6h/v1/Qwen2-0.5B-Instruct && ls
Qwen2-0.5B-Instruct
代码
文本
[6]
from transformers import pipeline
# 初始化文本生成模型,本次使用的是Qwen2-0.5B-Instruct模型,需要联网下载模型
#pipe = pipeline("text-generation", model="Qwen/Qwen2-0.5B-Instruct", torch_dtype="auto", device_map="auto")
# 也可直接使用本地的模型
# pipe = pipeline("text-generation", model="./Qwen2-0.5B-Instruct", torch_dtype="auto", device_map="auto")
pipe = pipeline("text-generation", model="/bohr/Qwen2-05B-Instruct-8u6h/v1/Qwen2-0.5B-Instruct", torch_dtype="auto", device_map="auto")
代码
文本

模型会根据环境自动选择最佳的设备(如GPU或CPU)来进行推理,同时自动设置数据类型以优化计算效率。

代码
文本

5. 如何运行模型

要生成文本,我们需要向模型提供一个输入消息。以下是一个简单的例子,响应根据硬件性能,需要几分钟的时间。请耐心等待:

代码
文本
[7]
# 输入消息
messages = [{"role": "user", "content": "介绍下什么是大语言模型?"}]

# 使用模型生成响应
response_message = pipe(messages, max_new_tokens=512)[0]["generated_text"][-1]

# 输出结果
print(response_message)
{'role': 'assistant', 'content': '大语言模型是一种超大规模的语言模型,它能够以极高的准确率回答各种问题。大语言模型的训练过程非常复杂,需要大量的数据和大量的人工学习算法来完成。'}
代码
文本

6. 获取和解释结果

模型将返回一个包含生成文本的字典对象。我们可以从该对象中提取生成的文本:

代码
文本
[8]
generated_text = response_message # 提取生成的文本
print("返回结果:\n", generated_text['content'])
返回结果:
 大语言模型是一种超大规模的语言模型,它能够以极高的准确率回答各种问题。大语言模型的训练过程非常复杂,需要大量的数据和大量的人工学习算法来完成。
代码
文本

7. 进一步了解

对于希望深入了解Qwen2 0.5B-Instruct模型或其他Qwen模型的用户,可以参考以下资源:

这些资源提供了关于模型架构、训练方法以及应用场景的更详细信息。

代码
文本
model
model
点个赞吧
推荐阅读
公开
在PyBaMM中模拟电池简单的SEI生长老化过程
老化机理PyBaMM
老化机理PyBaMM
张蔚泓
更新于 2024-08-27
2 转存文件
公开
MD轨迹格式转换
dpdataASE
dpdataASE
Wenshuo Liang
发布于 2023-09-20
4 赞3 转存文件1 评论