有手就行的大模型教程:如何在个人电脑上部署盘古大模型
前言
在当前的人工智能浪潮中,大型预训练模型如盘古等,因其卓越的性能和广泛的应用前景而备受关注。然而,这些模型的部署并非易事,尤其是在个人电脑上。由于其庞大的参数量和计算需求,通常需要高性能的硬件支持。尽管如此,对于热衷于AI研究与实践的个人用户而言,了解如何在个人设备上部署这类大模型具有重要的学习价值。本文旨在探讨这一过程,为读者提供一个从理论到实践的指南,帮助大家理解大模型部署的基本原理,以及如何克服资源限制,实现个人电脑上的初步应用尝试。
注意:本教材基于github的https://github.com/ecmwf-lab/ai-models
以及个人安装实践撰写,不保证适用范围
如遇到其他机器安装bug,一概不能解决
安装步骤
需要材料:一部安装了anaconda的有独显的笔记本电脑,一个会打字的猴子
前置条件:
• 阅读anaconda安装帖子https://blog.csdn.net/weixin_73800108/article/details/137296446
• Python 3.10(它可能适用于不同的版本,但已在 Linux/MacOS 上使用 3.10 进行了测试)。
• 用于访问输入数据的 ECMWF 和/或 CDS 帐户(有关详细信息,请参见下文)。
• 使用 GPU 计算以获得最佳性能(强烈建议)。
好下面我们正式开始
打开anaconda prompt
键入以下命令
conda create -n ai-models python=3.10
conda activate ai-models
conda install cudatoolkit
pip install ai-models
碰到询问你yes or no就输y
第二步,安装盘古挂件
pip install ai-models-panguweather
第三步。下载预训练资料
ai-models --download-assets --assets assets-panguweather panguweather
这一步博主遇到了错误如下
File "D:\anaconda\envs\ai-models\lib\site-packages\onnxruntime\capi\_pybind_state.py", line 32, in <module>
from .onnxruntime_pybind11_state import * # noqa
ImportError: DLL load failed while importing onnxruntime_pybind11_state: 动态链接库(DLL)初始化例程失败。
将报错喂给神奇海螺,神奇海螺建议我再装一次onnxruntime库
于是你需要键入以下
conda install -c conda-forge onnxruntime
然后再次下载预训练数据,文件较大需要耐心等待下载
ai-models --download-assets --assets assets-panguweather panguweather
下载完成后,会出现下图
再一行就会叫你输入api链接和api
这里需要一个ec账号下载ec的气压数据,博主马上注册了一个账户,结果发现全部都白瞎
报错如下:
ecmwfapi.api.APIException: "ecmwf.API error 1: User 'decadeneo@outlook.com' has no access to services/mars"
api填进去后显示我权限不足,有权限的同学可以直接键入或者跳过
没ec账号的同学直接可以跳过这步
那么博主以前用来下载era5数据的cds账号就派上用场了
键入如下代码进行推理
ai-models --input cds --date 20220920 --time 0000 --assets assets-panguweather panguweather
会出现如下提示
输入了对应的api信息后就开始数据下载之旅
下载完毕后则直接进入推理阶段
推理完十天的预报,花了39分58秒
奇怪了,官网上说一分钟就完事了,难道4060不行?
运行完的文件就在当前文件夹下
官网参数说明,以下是各项功能的说明:
帮助与信息选项
•
--help
: 显示帮助信息,介绍所有可用的命令行选项。•
--models
: 列出所有已安装的模型。•
--debug
: 开启调试模式,会在控制台上打印额外的信息,有助于问题排查。
输入源选项
•
--input INPUT
: 指定模型的输入来源,可以是mars
(欧洲中期天气预报中心的数据库)、cds
(气候数据存储库)或file
(本地文件)。•
--file FILE
: 设置具体的输入文件路径。选择此选项将使--input
参数默认为file
。•
--date DATE
: 设置模型分析的日期,默认情况下为昨天。•
--time TIME
: 设置模型分析的时间,默认值为1200(即中午12点)。
输出目标选项
•
--output OUTPUT
: 定义模型输出的目的地,可以选择file
或none
。•
--path PATH
: 设置用于写入模型输出的文件路径。
运行参数
•
--lead-time HOURS
: 设置预测的小时数,缺省值为240小时(10天)。
预训练数据管理
•
--assets ASSETS
: 指定包含模型数据的目录路径,默认为当前目录,也可以通过设置环境变量$AI_MODELS_ASSETS
来覆盖。•
--assets-sub-directory
: 启用将数据组织在<assets-directory>/<model-name>
子目录中的功能。•
--download-assets
: 如果数据不存在,则下载它们。
其他选项
•
--fields
: 打印模型作为初始条件所需的字段列表。•
--expver EXPVER
: 设置模型输出的实验版本。•
--class CLASS
: 设置模型输出的class
元数据。•
--metadata KEY=VALUE
: 在模型输出中添加额外的元数据。
这些选项允许用户精细地控制模型的运行环境,输入输出,以及执行过程中的各种参数,非常适合需要高度定制化操作的场景。
小结
通过本文的介绍,我们了解到在个人电脑上部署盘古大模型并非不可行,但确实需要克服一系列挑战,包括但不限于计算资源的限制、各种bug的应付。虽然直接运行完整版的大模型可能超出大多数个人电脑的能力范围,但通过合理的技术选择和配置调整,例如使用轻量化版本的模型或在云服务上进行部分处理,个人用户仍然可以体验到大模型的部分功能,并在此基础上进行创新性的探索。这不仅丰富了个人的学习经历,也为未来AI技术的普及和个性化应用开辟了新的可能性。
PS: 作为气象版主打个广告,和鲸近期出了气象大模型workshop,白嫖免费算力学习大模型,马上行动吧
活动链接是:
https://www.heywhale.com/home/competition/667bbcf588e27c06995f5816