

日期: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库并设置环境变量以确保网络连接稳定。使用以下命令安装依赖库:
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
接着,设置网络代理(如果需要)以确保可以顺利访问外部资源。 本文所使用的模型均已预先下载到数据集中,可以直接使用。
你可以可以使用如下方法自己下载模型:
('./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模型。
Qwen2-0.5B-Instruct
模型会根据环境自动选择最佳的设备(如GPU或CPU)来进行推理,同时自动设置数据类型以优化计算效率。
5. 如何运行模型
要生成文本,我们需要向模型提供一个输入消息。以下是一个简单的例子,响应根据硬件性能,需要几分钟的时间。请耐心等待:
{'role': 'assistant', 'content': '大语言模型是一种超大规模的语言模型,它能够以极高的准确率回答各种问题。大语言模型的训练过程非常复杂,需要大量的数据和大量的人工学习算法来完成。'}
6. 获取和解释结果
模型将返回一个包含生成文本的字典对象。我们可以从该对象中提取生成的文本:
返回结果: 大语言模型是一种超大规模的语言模型,它能够以极高的准确率回答各种问题。大语言模型的训练过程非常复杂,需要大量的数据和大量的人工学习算法来完成。
7. 进一步了解
对于希望深入了解Qwen2 0.5B-Instruct模型或其他Qwen模型的用户,可以参考以下资源:
这些资源提供了关于模型架构、训练方法以及应用场景的更详细信息。



