基于阿里云免费算力自建LLM(类GPT)大模型

news2024/10/7 12:24:18

这会是一个关于 ChatGPT 的系列文章,主要记录老胡日常使用 ChatGPT 的思考和一些有趣的开源项目,然后这些信息我都会汇总到一个 ChatGPT 信息群(免费,目的是为了交流),有兴趣的朋友可以联系我进群 🥳。

目前开源的 LLM 大模型,要想比较流畅地进行部署体验,离不开 GPU 算力。本文介绍基于阿里云的机器学习平台 PAI 来免费体验一些开源大模型。

ChatGPT 注册申请文章:

  • ChatGPT 从注册到自建应用

  • 基于 Azure OpenAI 免费注册使用 ChatGPT 教程

获取算力

直接打开阿里云免费活动页选择机器学习平台 PAI[1]

65fc1914638b0668bacb809594375c60.jpeg直接点击立即试用,注意,新老用户都可以,所以放心申请。一般 PAI 功能涉及到存储,所以建议同时也申请 NAS 体验功能:

a66d1a2e3f4354317d5574cc0850dc1b.jpeg
ali_nas

如果你需要引入 NAS 持久化数据就到控制台[2]新建即可,这里不再赘述。

新建空间

申请结束后直接新建一个工作空间[3]

ec31fb0bdd0e7017680eba7f58209635.jpeg
pai_ws

资源消耗在资源实例管理[4]查看。

创建 DSW

创建好空间,直接创建交互式建模(DWS)实例,这里我们需要注意的是只能选择可以抵扣算力的 GPU

  • ecs.gn7i-c8g1.2xlarge: A10

  • ecs.gn6v-c8g1.2xlarge: V100

8c815366b07949f6d01ca076effed37a.jpeg
pai_dsw

镜像选择 pytorch:1.12-gpu-py39-cu113-ubuntu20.04 即可,创建完毕在**交互式建模(DSW)**选中创建的目标点击打开:

da615fc3b7b6a9609d84737038214a7c.png
dsw_llm

具体操作页面如下:

159ce34368ee65aad6fb168133994a4a.jpeg
dsw_jupyter

就是基于 **Jupyter Lab** 修改的界面,很好上手,接下来就让我们用这个免费的算力来体验一下各类开源 LLM 大模型吧 🥳。

关于使用阿里云也很贴心地出了教程[5]给我们上手使用:

e7d943eede522129d943e9e944fe3c16.jpeg
PAI_HELP

上手 LLM

准备工作

接下来将以开源领域比较出名的几个 LLM 为例,跑起来体验一下,开始前做好一些准备工作:

# 安装 git-lfs
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
apt-get install git-lfs

ChatGLM-6B

下载项目:

https://github.com/THUDM/ChatGLM-6B.git
# 国内加速
git clone https://ghproxy.com/https://github.com/THUDM/ChatGLM-6B.git
# 安装依赖
pip install -r requirements.txt

加载模型:

mkdir -p  /mnt/workspace/chatglm-6b
git clone https://huggingface.co/THUDM/chatglm-6b /mnt/workspace/chatglm-6b
cd  /mnt/workspace/chatglm-6b
git lfs install
git lfs pull

若速度慢,官方[6]提供的手动下载模型文件方案也可参考:

35ef7e6a81e7fb877024257dc07fd724.jpeg
chatglm-model

运行项目,基于 transformers 快速使用:

a55610122072db72af6b7c47d82fd6b8.jpeg
chatglm-transformers

ChatGLM-6B 提供了 cli&web&api 三种使用方式,使用前请将这三个文件全部修改下模型目录:

  • web_demo.py:设置 share=True 可以分享出去

  • cli_demo.py

  • api.py

比如我演示环境模型目录下载位置是 /mnt/workspace/chatglm-6b,改动后代码如下:

tokenizer = AutoTokenizer.from_pretrained("/mnt/workspace/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("/mnt/workspace/chatglm-6b", trust_remote_code=True).half().cuda()

接下来启动运行对应脚本即可体验:

# 以终端为例
python cli_demo.py
a459ca363103d38a04ee3a0ad0b8683c.jpeg
chatglm-cli-demo

MOSS

准备好项目和模型:

git clone https://github.com/OpenLMLab/MOSS.git
# 安装依赖
pip install -r requirements.txt

由于硬件问题,我们使用4bit量化版本的moss-moon-003-sft模型(默认):

mkdir -p  /mnt/workspace/moss-moon-003-sft-int4
git clone https://huggingface.co/fnlp/moss-moon-003-sft-int4 /mnt/workspace/moss-moon-003-sft-int4

然后将moss_cli_demo.py32-34 行代码:

model_path = args.model_name
if not os.path.exists(args.model_name):
    model_path = snapshot_download(args.model_name)

改为:

# model_path = args.model_name
# if not os.path.exists(args.model_name):
#     model_path = snapshot_download(args.model_name)
model_path = "/mnt/workspace/moss-moon-003-sft-int4"

然后执行:

python moss_cli_demo.py
a7ddd185d4a3179d0d287f5a4cd63f29.jpeg
moss-cli

如果想使用 web 交互版本:

python moss_web_demo_gradio.py
0f264b645b50113eace873d81be76223.jpeg
moss-web

baichuan-7B

准备好项目和模型:

git clone https://github.com/baichuan-inc/baichuan-7B.git
# 国内加速
git clone https://ghproxy.com/https://github.com/baichuan-inc/baichuan-7B.git
# 安装依赖
pip install -r requirements.txt

# 下载模型
mkdir -p  /mnt/workspace/baichuan-7b
git clone https://huggingface.co/baichuan-inc/baichuan-7B /mnt/workspace/baichuan-7b
cd /mnt/workspace/baichuan-7b
git lfs install
git lfs pull

运行项目,基于 transformers 快速使用:

pip install accelerate

只能说,勉强能跑:

1d2f9ee85c1ca5fb61c1a9d76e12dd1f.jpeg
baichuan-transformers

想要体验对话能力?有大佬已经微调了对应版本,如 baichuan-7b-sft[7]

mkdir -p  /mnt/workspace/baichuan-7b-sft
mkdir -p /mnt/workspace/baichuan-7b-sft-offload-dir
git clone https://huggingface.co/hiyouga/baichuan-7b-sft /mnt/workspace/baichuan-7b-sft
cd  /mnt/workspace/baichuan-7b-sft
git lfs install
git lfs pull

git clone https://github.com/hiyouga/LLaMA-Efficient-Tuning

python src/cli_demo.py \
    --model_name_or_path /mnt/workspace/baichuan-7b \
    --checkpoint_dir /mnt/workspace/baichuan-7b-sft \
    --prompt_template ziya

执行结果:

81ef600aec501eff9e8489221d056c20.jpeg
baichuan-sft-cli

说明

感谢阿里云的免费计划,整体体验下来感觉还是不错的,其实就相当于可选的 A10&V100 GPU 让你体验使用,不用的时候建议关掉哈。大家可以发挥想象力来使用,有什么问题欢迎沟通交流。

感谢你阅读到这里,如果此文对你有帮助,欢迎转发点赞。👬🏻 朋友,都看到这了,确定不关注一下么 👇

参考资料

[1]

机器学习平台PAI: https://free.aliyun.com/?product=9602825

[2]

控制台: https://nasnext.console.aliyun.com/overview?spm=a2c4g.2261408.0.0.35993a02KpRU0s

[3]

工作空间: https://pai.console.aliyun.com/?regionId=cn-shenzhen&scm=20140722.M_960469._.V_1&spm=5176.28008736#/workspace/create

[4]

资源实例管理: https://usercenter2.aliyun.com/ri/summary?spm=a2c4g.2261127.0.0.1928229272eccf&commodityCode=

[5]

教程: https://help.aliyun.com/document_detail/2261126.html?spm=5176.28008736.J_6443120770.d960469_1.42b03e4dtkYl8d&pipCode=learn&goodsId=960469&scm=20140722.M_960469._.V_1

[6]

官方: https://github.com/THUDM/ChatGLM-6B

[7]

baichuan-7b-sft: https://huggingface.co/hiyouga/baichuan-7b-sft

727f38b07ef09ceb0db00468d11eb443.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/665673.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sql总理论加实践

一、基础查询 DQL语法 SELECT 字段列表 1.设置别名 SELECT 字段1[别名],字段二[别名]......FROM 表名 WHERE 条件列表; 2.查询多个字段 SELECT 字段1,字段2,字段3......FROM 表名; SELECT * FROM 表名; 3.去除重复记录 DISTANT FROM 表明列表 WHERE 条件列表(条件…

Stable Diffusion: 利用Latent Diffusion Models实现高分辨率图像合成

原文链接: Stable Diffusion: 利用Latent Diffusion Models实现高分辨率图像合成 High-Resolution Image Synthesis with Latent Diffusion Models 01 The shortcomings of the existing works?02 What problem is addressed?03 What are the keys to the solutio…

RESTful API 中的 HTTP 方法有哪些?

RESTful API 中的 HTTP 方法有哪些? RESTful API 是一种基于 HTTP 协议的 API 设计风格,它使用 HTTP 协议中的方法来定义对资源的操作。在 RESTful API 中,HTTP 方法主要用于表示对资源的操作,例如获取、创建、更新和删除资源。本…

持 PMP®证书增持 CSPM-2证书,怎么弄?

2023年起,持有PMP证书的朋友可以直接增持一个同等级证书CSPM-2,不用重新考试,不用重新学习,原PMP证书不影响正常使用,相当于多了一个国标项目管理领域的证书。 第一步准备资料 1、填写能力评价表(简历和业绩不用填&am…

自毁便签:MaiFile Privnote

自毁便签:MaiFile Privnote为您提供安全可靠的信息传递 在当今数字化时代,隐私保护成为了人们关注的焦点。MaiFile Privnote作为一种创新的在线服务,为用户提供了一种安全、便捷的方式来发送私密信息,确保信息在传递后能够自动销…

SSM校园二手交易微信小程序-计算机毕设 附源码87210

SSM校园二手交易微信小程序 目 录 1 绪论 1.1 研究背景 1.2国内外研究现状 1.3论文结构与章节安排 2 校园二手交易微信小程序系统分析 2.1 可行性分析 2.1.1技术可行性分析 2.1.2经济可行性分析 2.1.3操作可行性分析 2.1.4需求分析 2.2 系统流程分析 2.2.1 数据流程…

【HTTP】HTTP协议 HTTPS 协议

目录 一、HTTP 🌷1、HTTP是什么? 🌷2、HTTP的工作过程 🌷3、 抓包工具Fiddler的使用 🌷4、HTTP的协议格式(重点) 🌷5、HTTP请求 5.1 请求地址URL 5.2 方法method 5.3 认识 …

日志是什么?耗时2个月搞懂Linux日志

这里写目录标题 日志基本介绍日志管理服务日志轮替 日志基本介绍 日志是用来记录重大事件的工具。 日志文件是重要的系统信息文件,其中记录了很多重要的系统事件。包括用户的登录信息,系统的启动信息,系统的安全信息,邮件相关信息…

如何使用电脑压缩jpg图片大小?jpg图片怎么压缩大小kb?

在学习时经常需要将一些高分辨率的图片添加到你的学术论文或者演示文稿中,但是这些高清图片往往会占用大量的存储空间,导致文件变得非常大,难以上传或者发送,所以需要把这些jpg图片压缩(https://www.yasuotu.com/jpg&a…

如何在前端项目中使用icon图标 (iconfont和remixicon以及Materialicon)

1.使用阿里图标库iconfont iconfont链接 把你所需要用的图标加入购物车中 把购物车中的图标加入到项目中 此时有两种使用方 直接下载文件,然后在项目中引入css文件就可以直接使用 2.使用在线链接 注意:在线链接服务仅供平台体验和调试使用,…

定时任务最简单的3种实现方法

定时任务在实际的开发中特别常见,比如电商平台 30 分钟后自动取消未支付的订单,以及凌晨的数据汇总和备份等,都需要借助定时任务来实现,那么我们本文就来看一下定时任务最简单的几种实现方式。 TOP 1:Timer Timer 是…

宽带毫米波数模混合波束赋形

从无线移动通信发展的脉络来看,第1、2 代(1G、2G)先后分别从模拟和数字两种方式解决了人们之间的语音通信需求,第3 代(3G)开始增加对数据业务的支持,第4 代(4G)系统着重满…

一场专属开发者的技术盛宴——华为开发者联创日首站登陆深圳

技术无界,创想无限。2023年6 月 17 日,华为开发者联创日深圳首站成功举办。本次活动由华为技术有限公司主办,深圳市龙岗数字创意产业走廊管理中心协办,并得到了华为全国首个数字创意产业方向的创新中心——华为(龙岗&a…

【历史上的今天】6 月 20 日:MP3 之父出生;富士通成立;谷歌收购 Dropcam

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 6 月 20 日,在 2016 年的今天,中国超级计算机“神威太湖之光”摘得世界冠军。超级计算机,被称为“国之重器”,是…

基于html+css的图展示136

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

【Python 随练】猴子吃桃问题

题目: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时…

【CEEMDAN-VMD-GRU】完备集合经验模态分解-变分模态分解-门控循环单元预测研究(Python代码实现)​

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

我敢说,80%项目经理都不知道这3个进度管理方法

早上好,我是老原。 我离开腾讯之后,曾经加入一家互联网创业公司。 要知道,当你在一个大公司的平台上做事做习惯之后,觉得一些流程都应该是严谨的、完备的、按计划进行的。 但是当时,经常出现一个致命问题——进度拖…

如何简单快速地上传三维地形并进行在线查看和分享?

四维轻云是一款地理空间数据在线管理平台,具有地理空间数据的在线管理、查看及分享等功能。在四维轻云平台中,用户可以不受时间地点的限制,随时随地上传数字高程模型、激光点云、倾斜摄影模型、正射影像等地理空间数据。 现在,小…

设计模式-04.01-结构型-代理桥接装饰器适配器

引言 创建型模式比较好理解,后面的结构型和行为型设计模式不是那么好理解。如果遇到不好理解的设计模式,我一般会在开头举比较简单的Demo案例来帮助理解。 代理模式【常用】 前面几节,我们讲了设计模式中的创建型模式。创建型模式主要解决…