网站策划案范文,网站的访问量怎么查,广西住房建设厅网站首页,广州营销型网站建设怎么样目录
一、ChatGLM3 模型
二、资源需求
三、部署安装
配置环境
安装过程
低成本配置部署方案
四、启动 ChatGLM3
五、功能测试 新鲜出炉#xff0c;国产 GPT 版本迭代更新啦~清华团队刚刚发布ChatGLM3#xff0c;恰逢云栖大会前百川也发布Baichuan2-192K#xff0c;一…目录
一、ChatGLM3 模型
二、资源需求
三、部署安装
配置环境
安装过程
低成本配置部署方案
四、启动 ChatGLM3
五、功能测试 新鲜出炉国产 GPT 版本迭代更新啦~清华团队刚刚发布ChatGLM3恰逢云栖大会前百川也发布Baichuan2-192K一时间掀起的国产AI大模型又一阵热浪来袭。 随着两个公司融资到位国内大模型研究和开源活动进展更加如火如荼。目前有越来越多的公司和研究机构开始将他们的大模型开源国内比较知名的就有阿里巴巴的通义大模型系列、华为的盘古大模型系列、腾讯的混元大模型系列等多家。但由于这些开源的大模型具有极高的参数量和计算量需要大量的数据和算力支持所以只有少数的大型科技公司和研究机构能够开发和维护这些大模型。 当然大模型如何在小显存部署和使用也是非常重要让AI的价值应用并延伸到更广泛的领域。本实战专栏继续关注小而美的大模型将评估一系列的开源模型尤其关注国产大模型重点在于可私有化、轻量化部署比如推理所需的GPU资源控制在24G显存内2张Titan XP或1080 Ti。 一、ChatGLM3 模型
10 月 27 日智谱 AI 在 2023 中国计算机大会CNCC上发布自研第三代对话大模型 ChatGLM3这是智谱 AI 在今年内第三次发布 ChatGLM 基座模型。智谱 AI 宣布为了进一步推动开源生态将对包括 ChatGLM3-6B、ChatGLM3-6B-32K 以及 CogVLM-17B 和 AgentLM 在内的多个模型进行开源。 ChatGLM3-6B 是开源中英双语对话模型 ChatGLM-6B 的第三代版本一经推出就迅速受到行业内的关注。基于最新的高效动态推理和显存优化技术ChatGLM3-6B 依然是 更强大与 ChatGLM 二代模型相比ChatGLM3 在 44 个中英文公开数据集测试中表现优异在国内同尺寸模型中排名首位。评测结果显示ChatGLM3 在 MMLU、CEval、GSM8K 和 BBH 等基准测试中均取得了显著的性能提升分别提升了 36%、33%、179% 和 126%。得益于其独创的多阶段增强预训练方法以及更丰富的训练数据以及更优的训练方案。 更完整 ChatGLM3-6B 采用了全新设计的 Prompt 格式除正常的多轮对话外。同时原生支持工具调用Function Call、代码执行Code Interpreter和 Agent 任务等复杂场景。 更高效ChatGLM3 还可手机部署的端侧模型 ChatGLM3-1.5B 和 3B支持包括 vivo、小米、三星在内的多种手机以及车载平台甚至支持移动平台上 CPU 芯片的推理速度可达 20tokens/s。在精度方面1.5B 和 3B 模型在公开 benchmark 上与 ChatGLM2-6B 模型性能接近。这一创新为自然语言处理应用在移动设备上的部署提供了便捷的方式进一步拓展了自然语言处理技术的应用范围。 ChatGLM3 的语义和逻辑等各方面能力都得到大大增强 最引人注目的就是多模态理解能力的 CogVLM- 看图识语义功能该功能在 10 余个国际标准图文评测数据集上取得 SOTA。 代码增强模块 Code Interpreter 根据用户需求生成代码并执行自动完成数据分析、文件处理等复杂任务 网络搜索增强 WebGLM- 接入搜索增强能自动根据问题在互联网上查找相关资料并在回答时提供参考相关文献或文章链接。 ChatGLM3 目前已经具有了全新的 Agent 智能体能力其集成了自研的 AgentTuning 技术激活了模型智能代理能力。 在智能规划和执行方面ChatGLM3 相比 ChatGLM 二代提升了 1000%这一技术开启了一种全新的模型智能体能力使 ChatGLM3 能够在更多复杂场景中发挥出色表现。例如ChatGLM3 能够原生支持工具调用、代码执行、游戏、数据库操作、知识图谱搜索与推理以及操作系统等复杂场景。 CogVLM 模型则提高了智谱清言的中文图文理解能力取得了接近 GPT-4V 的图片理解能力。它可以回答各种类型的视觉问题并且可以完成复杂的目标检测并打上标签完成自动数据标注。 具有搜索增强能力它可以帮助用户整理出相关问题的网上文献或文章链接并整理出答案这意味着智谱清言将为用户提供更好的自然语言处理服务。 ChatGLM在国产芯片支持方面也做了很多工作自 2022 年初ChatGLM 系列模型已支持在昇腾、神威超算、海光 DCU 架构上进行大规模预训练和推理截至目前已支持 10 余种国产硬件生态包括昇腾、神威超算、海光 DCU、海飞科、沐曦曦云、算能科技、天数智芯、寒武纪、摩尔线程、百度昆仑芯、灵汐科技、长城超云等。通过与国产芯片企业的联合创新ChatGLM 系列模型性能不断优化国产硬件生态也得到了大模型国产化的闭环。 二、资源需求 代码下载链接:
Github地址 git clone https://github.com/THUDM/ChatGLM3 模型文件类型及获取
ChatGLM3的6B中英对话模型两个分为6B6B-Base 上下文长度8K。
ChatGLM3的6B-32k上下文长度32K。
一共3种类型可根据自身情况选择。模型获取途径见表格。 ModelSeq LengthDownloadChatGLM3-6B8kHuggingFace | ModelScopeChatGLM3-6B-Base8kHuggingFace | ModelScopeChatGLM3-6B-32K32kHuggingFace | ModelScope 推理的GPU资源要求
简单测试样例的实际测试数据
量化等级生成 8192 长度的最小显存FP1615.9 GBINT811.1 GBINT48.5 GB 对 ChatGLM3 进行加速的开源项目 chatglm.cpp: 类似 llama.cpp 的量化加速推理方案实现笔记本上实时对话 三、部署安装
配置环境
项目在本地普通设备部署非量化版本。
显卡双显卡Nivdia Titan XP每块12G 共24G显卡
操作系统ubuntu 20.04
python 3.10版本推荐3.8以上版本
pytorch 2.01推荐2.0及以上版本。
CUDA 12.0驱动525建议使用11.4及以上版本。 安装过程
创建虚拟环境
conda create -n chatglm3 python3.10.6 -y
conda activate chatglm3
安装ChatGLM3 依赖配套软件
git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple
其中 transformers 库版本推荐为 4.30.2torch 推荐使用 2.0 及以上的版本以获得最佳的推理性能。 下载模型文件
推理所需的模型权重、源码、配置已发布在ModleScope 和 Hugging Face见上面的下载链接。
代码会由 transformers 自动下载模型实现和参数。完整的模型实现在 Hugging Face Hub。
另外模型权重比较大如果你的网络环境较差下载模型参数可能会花费较长时间甚至失败。国外网络不佳的建议从国内的ModelScope下载或者清华云下载手动下载。并将下载的文件替换到本地的 THUDM/ChatGLM3 目录下。加载本地模型时需要修改为模型的本地目录如将以上代码中的 THUDM/ChatGLM3 替换为你本地的 ChatGLM3 文件夹的路径即可从本地加载模型。 低成本配置部署方案
量化模型加载
默认情况下模型以 FP16 精度加载运行上述代码需要大概 16 GB 显存。
如果显存不足
torch.cuda.OutOfMemoryError: CUDA out of memory.
如果 GPU 显存有限可以尝试以量化方式加载模型如INT8量化使用方法如下
model AutoModel.from_pretrained(THUDM/chatglm3-6b,load_in_8bitTruetrust_remote_codeTrue).cuda()
模型量化会带来一定的性能损失经过测试ChatGLM2-6B 在 8-bit 量化下仍然能够进行自然流畅的生成。 多卡部署加载
如果有多张 GPU但是每张 GPU 的显存大小都不足以容纳完整的模型那么可以将模型切分在多张GPU上。首先安装 accelerate: pip install accelerate然后通过如下方法加载模型
from utils import load_model_on_gpus
model load_model_on_gpus(THUDM/chatglm3-6b, num_gpus2) 即可将模型部署到两张 GPU 上进行推理。你可以将 num_gpus 改为你希望使用的 GPU 数。默认是均匀切分的你也可以传入 device_map 参数来自己指定。 CPU部署
如果没有 GPU 硬件的话也可以在 CPU 上进行推理但是推理速度会更慢。使用方法如下需要大概 32GB 内存及以上的内存
model AutoModel.from_pretrained(THUDM/chatglm3-6b, trust_remote_codeTrue).float() 如果内存不足的话也可以使用量化后的模型
model AutoModel.from_pretrained(THUDM/chatglm2-6b,load_in_8bitTruetrust_remote_codeTrue).float() 对 ChatGLM3 进行加速的开源项目
chatglm.cpp: 类似 llama.cpp 的量化加速推理方案实现笔记本上实时对话 在 cpu 上运行量化后的模型需要安装 gcc 与 openmp。多数 Linux 发行版默认已安装。对于 Windows 可在安装 TDM-GCC 时勾选 openmp。 Windows 测试环境 gcc 版本为 TDM-GCC 10.3.0 Linux 为 gcc 11.3.0。 四、启动 ChatGLM3
命令行对话界面
python cli_demo.py
程序会在命令行中进行交互式的对话在命令行中输入指示并回车即可生成回复输入 clear 可以清空对话历史输入 stop 终止程序。 网页demo
python web_demo.py
可以通过命令启动基于 Gradio 的网页版 demo会在本地启动一个 web 服务把控制台给出的地址放入浏览器即可访问。 还可以通过以下命令启动基于 Streamlit 的网页版 demo
streamlit run web_demo2.py
网页版 demo 会运行一个 Web Server并输出地址。在浏览器中打开输出的地址即可使用。 经测试基于 Streamlit 的网页版 Demo 会更流畅。 API 部署
实现的 OpenAI 格式的流式 API 部署可以作为任意基于 ChatGPT 的应用的后端。可以通过运行仓库中的openai_api.py 进行部署
python openai_api.py 进行 API 调用的示例代码为
import openai
if __name__ __main__:openai.api_base http://localhost:8000/v1openai.api_key nonefor chunk in openai.ChatCompletion.create(modelchatglm3-6b,messages[{role: user, content: 你好}],streamTrue):if hasattr(chunk.choices[0].delta, content):print(chunk.choices[0].delta.content, end, flushTrue) 五、功能测试
认识自己问题你是谁 User: 你好 ChatGLM 你好我是人工智能助手 ChatGLM3-6B很高兴见到你欢迎问我任何问题。 User: 欧洲有哪些好玩的地方 ChatGLM 欧洲地域辽阔有很多好玩的地方。以下是一些建议你参观的欧洲旅游景点 1. 法国巴黎、艾菲尔铁塔、卢浮宫、里昂、马赛、香槟酒产区等。 2. 意大利罗马、古罗马斗兽场、梵蒂冈、佛罗伦萨、威尼斯、那不勒斯等。 3. 英国伦敦、大本钟、伦敦塔桥、泰晤士河、曼彻斯特、爱丁堡等。 4. 德国柏林、柏林墙、柏林大教堂、科隆、慕尼黑等。 5. 西班牙巴塞罗那、塞纳河、加泰罗尼亚平原、马德里、格拉纳达等。 6. 葡萄牙里斯本、 Belem 热空气城堡、辛特拉等。 7. 荷兰阿姆斯特丹、风车、哈莱姆、阿姆斯特丹市中心的运河等。 8. 挪威奥斯陆、布里特维克、特罗姆瑟、尼德罗得等。 9. 瑞典斯德哥尔摩、卡罗林斯卡AI、瑞典哥德堡等。 10. 芬兰赫尔辛基、北极圈、芬兰湖、凯米等地。 以上只是欧洲众多旅游景点中的一部分你还可以根据自己的兴趣和时间来选择其他地方进行旅行。 User: 查查巴黎的天气怎么样 ChatGLM 我无法实时查询天气建议你查询当地的天气预报或者使用天气应用来获取最新的巴黎天气信息。 欣赏一下让不同量化程度的ChatGLM写诗看看各自能力如何 默认版本写的诗歌
默认不加量化参数。
User: 帮忙写一篇散文诗主题为扎根终有一天我们会变成参天大树
ChatGLM 扎根大地汲取营养
在岁月的洗礼中我们成长。
从嫩芽到枝干从细弱到坚韧
我们慢慢变成一棵参天大树。
我们的根深植土壤
脉络纵横吸收大地的养分。
我们的枝叶繁茂
绿意盎然为大地增添色彩。
风雨来了我们挺住
地震来了我们屹立不倒。
我们就像一座山
坚定地站立着支撑着大地的重量。
终有一天我们会变成参天大树
我们的枝干粗壮叶茂根深。
我们会成为大地的守护者
为我们所热爱的土地提供庇护。
扎根是一种信仰
是一种坚持是一种责任。
我们会不断地成长
在时间的流逝中变得更为坚定。
终有一天我们会变成参天大树
我们的影响力和价值
将会被后人所铭记。
我们将永远根植于大地
为大地带来生命的希望。 BF16量化版本
User: 帮忙写一篇散文诗主题为扎根终有一天我们会变成参天大树
ChatGLM 扎根大地汲取养分
岁月沧桑时光荏苒
我们的身躯逐渐茁壮
如同大地反抗风沙顽强生命。
从小到大我们陪伴着成长
从嫩芽到枝干从童真到成熟
在生活的风雨中我们坚毅前行
无论多艰难我们从不屈服。
终有一天我们将变成参天大树
我们的根系深入土壤
我们的枝叶繁茂昌盛
我们的力量支持天空。
我们会陪伴着下一代成长
我们的种子传承着希望
我们的根始终扎根在大地
我们的魂始终连接着天空。
扎根是一种信仰是一种坚持
是一种力量是一种勇气
我们会变成参天大树坚定而伟岸
我们的生命将永远扎根在大地。 INT8量化版本写的诗**
User: 帮忙写一篇散文诗主题为扎根终有一天我们会变成参天大树
ChatGLM 扎根大地汲取营养
在岁月的长河里我们成长。
从小到大我们经历风雨
从未退缩从未畏惧因为我们知道
终有一天我们会变成参天大树。
我们的根深扎大地
吸收着阳光和雨露
在肥沃的土壤里茁壮成长。
我们努力地生长
直到长成直冲云霄的大树
为大地增添一抹绿色的生机。
参天大树我们不仅仅是自然的奇迹
更是生命的伟大见证。
我们的根深扎大地
承载着无数的故事和希望
如同大地的守护者
永远屹立不倒。
我们会变成参天大树
为我们所热爱的土地
为我们所珍视的生活
为我们所奋斗的目标
提供坚定的支持和庇护。
终有一天我们会变成参天大树
成为大地上最耀眼的风景
我们的根我们的枝
将共同构建一个美好的未来。 INT4版本写的诗
User: 帮忙写一篇散文诗主题为扎根终有一天我们会变成参天大树
ChatGLM 扎根 deep in the earth,
我们的根系 strong and steady.
像一棵大树我们也要成长
枝繁叶茂成为栋梁之材。
在生活的土壤中我们吸收营养
在岁月的阳光里我们茁壮成长。
风雨中我们坚定地立定脚跟
无论多高的天空我们都能触及。
我们的根系深入大地的深处
吸收着生命的养分一天天茁壮。
终有一天我们会变成参天大树
为这个世界为人类提供庇护和支撑。
像一棵大树我们也要成长
成为生活的见证成为美好的象征。
我们的根系深入大地的深处
吸收着生命的养分一天天茁壮。
终有一天我们会变成参天大树
为这个世界为人类提供庇护和支撑。 写诗可能还是比较简单但也可以看出来量化后句子语义失真的情况 你喜欢哪个版本诗歌呢喜欢打 1不喜欢 打2 觉得有用 点个赞 收藏 吧
End 专栏文章
GPT实战系列-ChatGLM2模型的微调训练参数解读
GPT实战系列-如何用自己数据微调ChatGLM2模型训练
GPT实战系列-ChatGLM2部署UbuntuCuda11显存24G实战方案
GPT实战系列-Baichuan2本地化部署实战方案