AIGC:在云上从0开始搭建ChatGLM-6B LLM环境

简介: AIGC:在云上从0开始搭建ChatGLM-6B LLM环境
+关注继续查看

安装步骤

以在Ubuntu 18.04 64系统搭建LLM环境,安装《ChatGLM-6B》为例:

 

1、 创建GPU实例(显存8GB以上,磁盘至少40G),本文选择了带P100 GPU的 ecs.gn5-c4g1.xlarge实例,并在示例创建时选择安装cuda 11.4。设置用户名及登录密码。

image.png

2、 设置安全组配置,配置出方向端口22,并在源IP中加入本机IP。

3、 Ssh到云ECS。系统会提示正在安装CUDA,待安装完毕,查看GPU详情(若命令无法正常运行,则说明CUDA没安装好):nvidia-smi

image.png

4、 在ECS上安装相关软件包:

A、sudo apt-get update

B、安装gcc编译器(可选,系统中通常已有)sudo apt install build-essential

C、安装Python,以3.8为例:sudo apt install python3.8

D、安装miniconda

1)     下载安装包:注意miniconda包需选择对应python版本的包

wget https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-Linux-x86_64.sh

2)     运行安装脚本,并初始化:bash Miniconda3-py38_23.3.1-0-Linux-x86_64.sh

3)    (可在2中完成)初始化终端 Shell,以便运conda~/miniconda3/bin/conda init

4)     初始化完成后,运行bash命令,即可进入conda环境:bash

5)    创建个新的环境(可选):conda create --name aigc python=3.8 -y

6)    激活aigc环境(可选):conda activate aigc


5、安装gitsudo apt install git    

6git clone ChatGLM-6B,并安装软件依赖:

git clone https://github.com/THUDM/ChatGLM-6B.git

cd ChatGLM-6B && pip install -r requirements.txt

pip install fastapi uvicorn

 

7将模型下载到本地,从本地加载:

安装git-lfsapt install git-lfs

git-lfs clone https://huggingface.co/THUDM/chatglm-6b

 

8运行cli_demo代码中tokenizermodel变量中的"THUDM/chatglm-6b"更换成模型本地路径。此外,如果希望固定使用的模型实现以保证兼容性,可在tokenizermodel from_pretrained 调用中增加 revision="v1.1.0" 参数。v1.1.0 是当前最新的版本号。示例:/home/fsnode/chatglm-6b是本地模型路径。

tokenizer= AutoTokenizer.from_pretrained("/home/fsnode/chatglm-6b", revision="v1.1.0", trust_remote_code=True)

model = AutoModel.from_pretrained("/home/fsnode/chatglm-6b", revision="v1.1.0", trust_remote_code=True).half().cuda()

运行脚本:python cli_demo.py

image.png

9、(可选)运行web_demo:除了需要修改模型存放路径外(见上),Web如需要公网访问,还需要将web_demo.py中修改:share=True

A、安装gradio pip install gradio

B、在ECS上运行脚本:python web_demo.py

C、本地便携机上执行如下命令,将云ECS7860端口映射到本地(IP及用户名填实际的):

ssh -L7860:localhost:7860 root@120.79.15.98

D、在本地浏览器登录web界面:http://127.0.0.1:7860

image.png

 

10、运行基于Streamlit的网页版Demoweb_demo2.py):web_demo.py有个缺陷,生成的公网链接是临时的,仅72小时有效。可使用Streamlit网页版。

A、安装需要的模块:pip install streamlit     pip install streamlit-chat

B、修正web_demo2.py中的模型路径"THUDM/chatglm-6b"为本地路径,并指定revision="v1.1.0"

C、添加安全组规则:在ECS实例安全组的入方向添加安全组规则,并放行8501端口(该端口是默认端口,也可以自定义)。

D、运行DEMO:streamlit run web_demo2.py &。如果要指定服务端口,则需要在安全组放行该端口,运行时带上端口参数,如:streamlit run web_demo2.py --server.port 6006 &

 

附录:Python示例代码:

>>> from transformers import AutoTokenizer, AutoModel

>>> tokenizer = AutoTokenizer.from_pretrained("/home/fsnode/chatglm-6b", trust_remote_code=True)

>>> model = AutoModel.from_pretrained("/home/fsnode/chatglm-6b", trust_remote_code=True).half().cuda()

>>> model = model.eval()

>>> response, history = model.chat(tokenizer, "你好", history=[])

>>> print(response)

你好!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。

>>> response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)

>>> print(response)

晚上睡不着可能会让你感到焦虑或不舒服,但以下是一些可以帮助你入睡的方法:

 


参考:

https://github.com/THUDM/ChatGLM-6B#readme

https://github.com/imClumsyPanda/langchain-ChatGLM


知识库+LLM羊毛推荐

阿里云近期推出了60元包月的知识库+LLM体验活动,可用于测试、开发、学习、工作助理等,入口:https://common-buy.aliyun.com/?commodityCode=hitsdb_aigcsharepre_public_cn

详见:https://developer.aliyun.com/article/1322802

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
存储 人工智能 关系型数据库
向量加成,基于 LLM 构建AI知识库问答应用
向量加成,基于 LLM 构建AI知识库问答应用
46 43
|
19天前
|
人工智能 关系型数据库 Serverless
体验基于 LLM 构建AI知识库问答应用部署
基于NAS、RDS PostgreSQL部署AI大语言知识库
72 26
|
24天前
|
搜索推荐 关系型数据库 MySQL
基于自己的数据库构建基于LLM的专属知识库
基于自己的数据库构建基于LLM的专属知识库
93 2
|
26天前
|
弹性计算 API 数据库
规模化落地AIGC应用,支持多个大语言模型(LLM)切换及GPU规划化管理(PAI-EAS + ADB-PG)
随着年初的ChatGPT引爆大语言模型市场, LLM的集中爆发,大部分企业已经完成了AIGC产品的调研,并进入第二阶段, 即寻求大规模落地的AIGC产品解决方案。本文介绍了如何企业规模化大语言模型落地,支持多个模型的快速使用,包括通义千问-7b,ChatGLM-6b,Llama2-7b 和 Llama2-13b。
247 0
|
26天前
|
弹性计算 API 数据库
大模型规模化落地,企业AIGC应用支持多个大语言模型(LLM)切换及GPU规划化管理(PAI-EAS + ADB-PG)
随着年初的ChatGPT引爆大语言模型市场, LLM的集中爆发,大部分企业已经完成了AIGC产品的调研,并进入第二阶段, 即寻求大规模落地的AIGC产品解决方案。本文介绍了如何企业规模化大语言模型落地,支持多个模型的快速使用,包括通义千问-7b,ChatGLM-6b,Llama2-7b ,Llama2-13b,百川-13b和Falcon-7b。
大模型规模化落地,企业AIGC应用支持多个大语言模型(LLM)切换及GPU规划化管理(PAI-EAS + ADB-PG)
|
26天前
|
人工智能 自然语言处理 NoSQL
Graph + LLM 实践指南|如何使用自然语言进行知识图谱构建和查询
经过悦数研发团队的努力和与国际多家知名大语言模型 LLM 技术团队的合作,目前悦数图数据库的产品已经可以实现基于 Graph + LLM 技术的 Text2Cypher,即自然语言生成图查询。用户只需要在对话界面中通过自然语言就可以轻松实现知识图谱的构建和查询,更有开箱即用的企业级服务,欢迎大家在文末点击试玩体验新一代的悦数图数据库 x 知识图谱应用吧!
|
1月前
|
人工智能 自然语言处理 机器人
AIGC如何借AI Agent落地?TARS-RPA-Agent破解RPA与LLM融合难题
AIGC如何借AI Agent落地?融合LLM的RPA进化到了什么程度?来看看实在智能刚发布的TARS-RPA-Agent。
58 1
|
3月前
|
弹性计算 并行计算 开发工具
AIGC:在云上从0开始搭建ChatGLM2-6B LLM环境
清华的chatGLM前段时间发布了第二代chatGLM2-6B,已经开放使用了。本文介绍在云上从0开始搭建ChatGLM-6B LLM环境,供大家参考。
1558 1
AIGC:在云上从0开始搭建ChatGLM2-6B LLM环境
|
4月前
|
存储 SQL 人工智能
AnalyticDB(ADB)+LLM:构建AIGC时代下企业专属Chatbot
如何基于向量数据库+LLM(大语言模型),打造更懂你的企业专属Chatbot?
3462 2
|
4月前
|
存储 机器学习/深度学习 数据采集
AIGC工程系列-LLM编程框架LangChain初探
前话:最近基于LLM的AIGC应用涌现,大家都在探索如何快速利用LLM去构建自己业务领域的应用。我们早前做了LLM应用框架这方面的一些调研,发现有一款LLM开发框架Langchain在开源社区异常火爆,短短5个月的时间已经达2w+star。于是我们针对该框架做了系统性的调研梳理,并沉淀到了语雀文档,当时只是为了方便团队成员理解和快速做业务Demo。最近有很多同学搜到了这篇调研文档,频繁要求帮忙开下
2536 0
相关产品
检索分析服务 Elasticsearch版
大数据开发治理平台 DataWorks
日志服务
推荐文章
更多