ChatGLM4重磅开源! 连忙实操测试一波,效果惊艳,真的好用!附带最新相关资料和喂饭级实操推理教程!!

AIGC实用场景-ChatBI架构设计 ChatBI作为一种创新的商业智能解决方案,通过自然语言处理技术显著降低了数据分析的门槛,使得非技术用户也能轻松地获取数据洞察。其架构设计以用户需求为导向,融合了先进的大型语言模型,提供了高效、直观的数据分析体验。腾讯云ChatBI的成功实践进一步证明了ChatBI在实际业务中的应用价值和市场潜力。 阅读详情

本文目录

  • GLM4重磅开源啦

  • GLM4系列版本介绍

  • GLM4大模型能力测评结果

  • 经典测评任务结果

  • 长文本能力

  • 工具调用能力

  • 多模态能力

  • 手把手实操GLM-4-9B-Chat推理预测&&效果展示

  • GLM4运行硬件和环境要求

  • 配置对应的库环境

  • 使用peft+bitsandbytes 进行4位量化推理

  • 进行大模型的推理

  • 显存占用情况

  • 手把手实操 多模态版本GLM-4V-9B-Chat推理预测&&效果展示

  • 多模态GLM-4V-9B对应的硬件资源

  • 进行4位量化加载

  • 准备测试图片

  • 进行推理预测

  • 参考文档

GLM4重磅开源啦

GLM-4-9B是智谱AI在24年6月5日推出的开源预训练模型,属于GLM-4系列。之前已开源chatglm1~chatglm3等多个版本。

GLM4在语义理解、数学、推理、编程和知识等领域的测试中表现优异。GLM-4-9B-Chat是其人类偏好对齐版本,支持多轮对话、网页浏览、代码执行、自定义工具调用(function call)以及长文本推理(最大128K上下文)。该系列模型还支持26种语言,包括日语、韩语和德语,并推出了支持1M上下文长度(约200万中文字符)的版本。

GLM-4系列版本介绍

GLM-4-9B 系列模型主要包含:

glm4大模型能力测评结果

经典测评任务结果

长文本能力

在1M的token上下文长度进行大海捞针实验,

在 LongBench-Chat 上对长文本能力进行了进一步评测,结果如下:

工具调用能力

多模态能力

GLM-4V-9B 是一个多模态语言模型,具备视觉理解能力,其相关经典任务的评测结果如下:

可以看出GLM4的性能相比GLM3-6b,有着大幅度提升,具有以下亮点:

  1. 上下问长度最高支持1M。

  2. 支持多达26种语言。

  3. 工具调用能力(function call)提升巨大,逼近GPT4。

  4. 从评测的结果来看,基础通用能力超越llama3 ,提升40%。

下面我将给大家实操利用对话版本 GLM-4-9B-Chat(128K)和多模态版本 GLM-4V-9B-Chat来进行模型的推理和效果展示;

手把手实操GLM-4-9B-Chat推理预测&&效果展示

GLM4运行硬件和环境要求

下图是glm4对应不同输入token的显存占用情况。为了能够更好的节省资源,这里我将采用4位量化的方式来GLM4进行推理测试。

配置对应的库环境

from IPython.display import clear_output  
!pip install  accelerate  
!pip install  colorama sentencepiece streamlit transformers_stream_generator cpm_kernels tiktoken  
!pip install   git+https://github.com/huggingface/peft  #使用最新版本非常重要,否则可能报错  
!pip install  optimum  
!pip install  safetensors  
!pip install  transformers  
!pip install  bitsandbytes==0.41.3   
clear_output()  
import warnings   
warnings.filterwarnings('ignore')  
import torch   
import transformers  
import peft   
import accelerate   
print(peft.__version__, transformers.__version__, torch.__version__,accelerate.__version__)  
# 0.11.2.dev0 4.41.2 2.1.2 0.30.1  

编写代码小技巧: 在运行大模型前先把各个库对应的版本信息进行打印,避免环境不兼容,节约调试的时间。

使用peft+bitsandbytes 进行4位量化推理

from transformers import AutoTokenizer,AutoConfig, AutoModel, BitsAndBytesConfig  
import torch  
from transformers import AutoModelForCausalLM, AutoTokenizer  
  
bnb_config=BitsAndBytesConfig(  
            load_in_4bit=True,  
            bnb_4bit_compute_dtype=torch.float16,  
            bnb_4bit_use_double_quant=True,   
            bnb_4bit_quant_type="nf4",   
            llm_int8_threshold=6.0,  
            llm_int8_has_fp16_weight=False,  
        )  
tokenizer = AutoTokenizer.from_pretrained("THUDM/glm-4-9b-chat",trust_remote_code=True)  
model = AutoModelForCausalLM.from_pretrained(  
    "THUDM/glm-4-9b-chat",  
    quantization_config=bnb_config,  
    torch_dtype=torch.float16,  
    low_cpu_mem_usage=True,  
    trust_remote_code=True  
).eval()  
model  

其中glm4_6b的网络框架如下:

进行大模型的推理测试

问题1:简单问好
%%time   
query = "你好"  
inputs = tokenizer.apply_chat_template([{"role": "user", "content": query}],  
                                       add_generation_prompt=True,  
                                       tokenize=True,  
                                       return_tensors="pt",  
                                       return_dict=True  
                                       )  
inputs = inputs.to("cuda")  
gen_kwargs = {"max_length": 2500, "do_sample": True, "top_k": 10,"temperature":0.3,}  
with torch.no_grad():  
    outputs = model.generate(**inputs, **gen_kwargs)  
    outputs = outputs[:, inputs['input_ids'].shape[1]:]  
    print(tokenizer.decode(outputs[0], skip_special_tokens=True))  

输出效果:

问题2: 鲁迅为什么暴打周树人?

问题3: 长江和嘉陵江相汇在什么地方?

问题4:树上有10只鸟,开枪打死了2只,树上还剩下几只?

可以看出上面的几个问题,GLM4都回答的不错,没有掉进我们设置的陷阱中,非常不错。

显存占用情况

手把手实操 多模态版本GLM-4V-9B-Chat推理预测&&效果展示

多模态GLM-4V-9B对应的硬件资源

下图是glm4对应不同输入token的显存占用情况。

进行4位量化加载

from transformers import AutoTokenizer,AutoConfig, AutoModel, BitsAndBytesConfig  
import torch  
from transformers import AutoModelForCausalLM, AutoTokenizer  
bnb_config=BitsAndBytesConfig(  
            load_in_4bit=True,  
            bnb_4bit_compute_dtype=torch.float16,  
            bnb_4bit_use_double_quant=True, #QLoRA 设计的 Double Quantization  
            bnb_4bit_quant_type="nf4", #QLoRA 设计的 Normal Float 4 量化数据类型  
            llm_int8_threshold=6.0,  
            llm_int8_has_fp16_weight=False,  
        )  
tokenizer = AutoTokenizer.from_pretrained("THUDM/glm-4v-9b",trust_remote_code=True)  
model = AutoModelForCausalLM.from_pretrained(  
    "THUDM/glm-4v-9b",  
    quantization_config=bnb_config,  
    torch_dtype=torch.float16,  
    low_cpu_mem_usage=True,  
    trust_remote_code=True  
).eval()  

准备测试图片

!wget https://copyright.bdstatic.com/vcg/creative/426a8f2904bd65bab5eee5474b769374.jpg  
from IPython.display import display  
from PIL import Image  
display(Image.open('426a8f2904bd65bab5eee5474b769374.jpg'))  

这是待理解的图片

进行推理预测

%%time   
import torch  
from PIL import Image  
query = '描述这张图片'  
image = Image.open("426a8f2904bd65bab5eee5474b769374.jpg").convert('RGB')  
inputs = tokenizer.apply_chat_template([{"role": "user", "image": image, "content": query}],  
                                       add_generation_prompt=True, tokenize=True, return_tensors="pt",  
                                       return_dict=True)  # chat mode  
inputs = inputs.to("cuda")  
gen_kwargs = {"max_length": 2500, "do_sample": True, "top_k": 10,}  
with torch.no_grad():  
    outputs = model.generate(**inputs, **gen_kwargs)  
    outputs = outputs[:, inputs['input_ids'].shape[1]:]  
    print(tokenizer.decode(outputs[0]))  

多模态GLM4输出的效果:

可以看出非常准确地识别出图片的内容,并做出合理解释,太酷啦!

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

CUDA Setup failed despite GPU being available. CUDA Setup failed despite GPU being available. Please run the following command to get more information: python -m bitsandbytes Inspect the output of the command and see if you can locate CUDA libraries. You might need to add them to your LD_LIBRARY_PATH. 阅读详情

相关推荐

OmniParse:解锁生成式AI潜能的全能数据解析框架

它不仅能够从常见的文档、表格、图像、视频、音频文件中精准提取信息,还能深入网页的复杂结构,挖掘隐藏的价值。在当今信息爆炸的时代,非结构化数据如潮水般涌来,而如何有效驾驭这些数据,使之成为驱动智能应用的燃料,成为了业界亟待解决的挑战。:在隐私保护日益重要的当下,OmniParse选择在本地运行,避免了数据外传的风险,确保了敏感信息的安全性。在这里,您将发现详尽的文档、实时更新的代码库以及活跃的社区,共同探索非结构化数据的无限可能。:采用Gradio构建的用户界面,直观易用,即便是非技术用户也能轻松上手。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 2648

Win10(CPU)+ Anaconda3 + python3.9安装pytorch

Win10(CPU)+ Anaconda3 + python3.9安装pytorch

AAI666666的博客 2466

地平线天工开物AI开发平台实战:从量化训练到模型部署的完整指南

本文提供了地平线天工开物(OpenExplorer)AI开发平台的实战指南,详细解析了从量化训练到模型部署的完整流程。文章重点对比了量化感知训练(QAT)与训练后量化(PTQ)两条核心路径的优劣与适用场景,并分享了图像分类模型PTQ部署的实战经验与常见问题调试技巧,旨在帮助开发者高效地将AI模型部署到地平线AI芯片上。

weixin_29046035的博客 457

ChatBI- ChatGPT的垂直领域思考

通过类ChatGPT对话式问答方式,实现BI工作全范围覆盖。按照BI的智能问答程度及模式,分为五大阶段,在L3阶段后,BI开始具备智能数据准备(数据建模)、数据分析及智能问答能力。目前,市场上的智能BI(AI+BI),整体上处于L2到L3的转变阶段。

zdsx1104的专栏 1万+

实战教程:用YOLOv11+PyQt5打造工地安全帽检测系统(附完整数据集)

本文提供了一份完整的实战指南,详细介绍了如何利用YOLOv11目标检测模型与PyQt5界面库,从零开始构建一个智能工地安全帽检测桌面应用。内容涵盖高质量数据集的准备与标注、YOLOv11模型训练与调优,以及如何使用PyQt5开发流畅、专业的图形用户界面,最终实现一个可实际部署的AI安全监控系统。

plum99的博客 738

别再手动算重量了!用C++给UG/NX写个自动计算零件质量与质心的插件(附完整源码)

本文详细介绍了如何使用C++为UG/NX开发智能质量分析插件,实现零件质量与质心的自动计算。通过结合NXOpen和UF_MODL API,设计高效的数据结构和批量处理机制,大幅提升机械设计效率。文章包含完整源码和实用技巧,帮助工程师告别手动计算,适用于复杂装配体的自动化工程计算。

weixin_30247307的博客 135
上一篇: 60多种Transformer架构一网打尽!世界上第一本全面解析Transformer的神书
下一篇: 腾讯研究院:行业大模型调研报告
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2840原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值