一.引言
随着近年来大语言模型的迅猛发展,模型的规模和复杂度也在不断增长。随之而来的是模型参数数量的激增,例如源2.0系列模型从最开始的2B模型不断扩展到51B,乃至102B。这不仅对计算资源提出了更高的要求,也给本地部署带来了前所未有的挑战。在这样的背景下,将模型部署在在线平台成为了一种更加方便快捷的选项。
首先,本地部署大型模型需要强大的硬件支持,包括高性能的CPU/GPU和大量的存储空间。然而,这样的硬件配置往往成本高昂,且不易于维护和升级。相比之下,在线平台提供了弹性的计算资源,用户可以根据需要快速扩展或缩减资源,有效降低了成本和维护难度。
其次,大型模型的训练和推理过程往往需要大量的时间。而在在线平台上部署模型可以利用分布式计算的优势,加速模型的训练和推理过程,显著提高效率。此外,平台还能够提供自动优化和模型微调的功能,进一步提升模型性能。
最后,在线平台往往具备有版本控制和API接口功能,前者使得模型更新更加快捷和方便,一定程度上可以加速开发周期,也提高了模型的迭代速度。后者使得模型可以轻松集成到Web应用、移动应用还是物联网设备等各类应用场景中。
综上所述,将大模型部署到在线平台具有高效、灵活、经济、易上手等多种优点,是未来广大大模型研究者和使用者必须学习的技术方案之一。源大模型目前也以支持多个在线平台,其中包括全面开源的多功能深度学习平台——百度飞桨(PaddlePaddle)。本文将以百度飞桨平台为示例详细介绍源大模型在在线人工智能平台上的部署流程。
二.部署流程
(1)我们首先在浏览器内打开飞桨AI Studio页面,https://aistudio.baidu.com/projectoverview/ 在页面内点击页面右上角处的【创建项目】来创建一个新项目。
(2)我们需要创建一个GPU开发环境,在notebook选项这务必选择BML Codelab,注意不要选择经典版,因为该notebook中飞桨版本较低,对于模型的兼容性较差。创建完成后我们进入notebook开始编程。
(3) 接下来我们需要在开发环境内下载模型。除了下载源大模型,你也可以在飞桨平台的模型库中找到一个公开的【大语言模型】(如文心一言、Qwen、Chatglm)进入,然后选择【模型开放】下notebook,进入后直接选择算力即可。
对于Yuan2.0系列大模型,我们需要额外进行下载。
- Yuan2-2B-hf 下载链接:https://huggingface.co/IEITYuan/Yuan2-2B-hf
- Yuan2-51B-hf 下载链接:https://huggingface.co/IEITYuan/Yuan2-51B-hf
- Yuan2-102B-hf下载链接:https://huggingface.co/IEITYuan/Yuan2-102B-hf
此外源大模型还支持从魔搭平台下载,pip install modelscope安装modelscope ,安装完成后执行以下代码下载模型文件。
from modelscope import snapshot_download
model_dir = snapshot_download('YuanLLM/Yuan2.0-2B-hf')
执行代码后等候至模型下载完成。
找到下载后模型文件,确认是否下载正确,并移动到指定位置(注意:移动后一定要修改文件夹名字不能带有点,因为huggingface加载模型不支持)
(4)完成模型文件的配置后,我们进入【终端】环境,运行以下命令安装相关依赖
pip install torch
pip install transformers
pip install accelerate
(5)安装完成上述依赖后,我们进入Yuan2-2B-hf文件夹,手动关闭 flash_attention
修改 config.json中"use_flash_attention"为 false;
注释掉 yuan_hf_model.py中第35、36行;
运行如下代码,测试模型生成效果(详见 Yuan2_model.py 文件)
三.结论
本文详细介绍了使用百度飞桨平台部署Yuan2.0模型的步骤,也一定程度展示了在线平台的高效性、灵活性和易用性。通过构建在线的GPU开发环境并下载模型文件并进行部署,我们不仅体现了在线平台在处理大规模数据和复杂模型方面的强大能力,也展示了其在简化部署流程、降低技术门槛方面的优势。
关于源大模型的更多信息
更多信息,请访问以下页面
YuanChat Github 项目主页:GitHub - IEIT-Yuan/YuanChat
Yuan 2.0 Github 项目主页:GitHub - IEIT-Yuan/Yuan-2.0: Yuan 2.0 Large Language Model
Yuan 2.0-M32 Github 项目主页:Github Yuan2.0-M32
Yuan 2.0 系列模型Hugging Face 主页:https://huggingface.co/IEITYuan
Yuan 2.0 系列模型Modelscope 主页:https://modelscope.cn/organization/IEITYuan