本文将带你全面了解大模型的选型与部署,从硬件资源的获取到 ChatGLM3-6B 的实际应用,再到超参数调优和全新 Prompt 格式的探讨,希望能为你提供有价值的参考。
1. 大模型选型概述
在当下的大模型领域,各家厂商纷纷推出各式产品。我精心挑选了一些技术实力较强的代表性产品,详情可见下表(其他产品因篇幅限制就不一一列举了)。实际上,虽然市场上参与者众多,但真正投入巨资进行技术研发的并不多——毕竟开发大模型需要投入的人才、训练和硬件等成本,每年动辄数亿,这对一般企业或个人来说门槛非常高。
我上面表格我还没添加 DeepSeek 等我后面专门写一篇本地部署、本地微调、本地搭建企业知识库等。
另外,不少厂商选择基于 LLaMA 改造,或者简单地进行包装,而非完全自主研发。目前在开源社区中,ChatGLM-6B 与 LLaMA2备受关注。早在2023年初,国内大模型热潮兴起时,智谱 AI 就推出了 ChatGLM-6B;虽然同系列中还有130B版本,但由于体量较大、对显卡资源要求更高,不少人选择先体验6B版。
展望未来,在国产化和信创趋势的推动下,企业在部署 AI 时往往会在两种模式中择优:一是采用 MaaS 服务,调用大型厂商的 API;二是基于开源大模型,自主微调和部署。出于数据安全的考虑,多数企业倾向于私有化部署加上公有云 MaaS 的混合架构。从技术研发角度看,智谱 AI 在国内处于领先水平,这也是我选择 ChatGLM-6B 的原因之一。
值得一提的是,6B 模型拥有62亿参数,一张 RTX3090 显卡即可满足微调(P-Turing)和推理需求,对于中小企业来说,这无疑是一大优势。
当然,如果企业预算充足(达到百万元级别以上),也可以尝试性能更为强劲的 GLM-130B(简称130B),其千亿级参数带来更优推理能力,但使用时除了 GPU 资源费用外,还需要考虑商业授权问题。
❝
🗨 说点题外话:130B 轻量化后,可以在 RTX3090 * 4 上进行推理,生产环境使用的话,推荐至少准备 A100(40G * 8)或 V100(32G * 8)* n 台服务器,n 的大小取决于推理吞吐量。训练 130B 大概需要 96 台 A100(320G),历时 2 个多月。
2. 显卡资源获取指南
大模型应用的第一步是解决计算资源问题,主要依靠 CPU 或 GPU(TPU由于应用较少,这里就不作介绍)。我建议尽量争取 GPU 资源,因为虽然有些模型可在 CPU 上运行,但通常需要低精度、轻量化的处理,这往往会降低模型效果,仅适合简单体验。若要在实际项目中获得良好的表现,GPU 是不可或缺的。以下是几种常见的 GPU 获取途径:
- 购买二手显卡
不论是个人还是企业,都可考虑购买二手 RTX3090 显卡(单卡 24G 显存,价格大约8000元左右),用于本地微调和推理;若用于产品服务,可通过云服务映射实现简单推理,但不适合大规模部署。 - 淘宝租赁显卡
适合个人学习使用,可按天、周、月甚至年租赁,既灵活又经济实惠。 - 在线 GPU 租赁
如 autodl、RTX3090-24G 等服务,每月费用大约低于900元。不仅适用于本地测试,也可用于生产环境推理;若用于生产,建议根据实际推理需求评估每秒处理量,从而搭建高可用推理系统。 - 免费平台资源
一些平台(例如阿里云 PAI、智谱 AI 开放平台)为新用户提供免费 GPU 额度,但往往需要完成推广任务等额外操作,虽然省钱但效率较低,因此不建议作为主要方案。
3. ChatGLM3-6B 部署实践
目前,ChatGLM-6B 已更新到第三代——ChatGLM3-6B。不仅在中英文推理上表现优异,其数学和代码处理能力也有了显著提升。官方数据显示,在语义、数学、推理、代码和知识等多个测试维度上,ChatGLM3-6B-Base 在10B以下模型中实力最强,同时还提供支持8K、32K、128K 长文本理解的版本。下面我将逐步介绍 ChatGLM3-6B 的安装部署流程,详细教程可参见官方文档:https://github.com/THUDM/ChatGLM3
。
3.1 环境准备
建议使用 Linux 系统(如 Ubuntu 或 CentOS)进行部署:
- Python:建议 3.10~3.11 版本
- Transformers 库:建议 4.36.2 版本
- Torch:建议使用 2.0 或更高版本,以获得最佳推理性能
3.2 克隆代码
在终端中执行以下命令:
git clone https://github.com/THUDM/ChatGLM3
3.3 安装依赖
为加速依赖下载,建议切换为国内 pip 源(例如阿里云):
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
cd ChatGLM3
pip install -r requirements.txt
依赖安装成功后,将会显示相应的提示信息。
3.4 下载模型
使用以下命令下载模型:
git clone https://huggingface.co/THUDM/chatglm3-6b
如果 Huggingface 下载较慢,也可选择 ModelScope 进行下载。下载完成后,将 chatglm3-6b
目录重命名为 model
并放入 ChatGLM3
文件夹中即可(只要后续能正确指定模型路径即可)。
3.5 命令行模式启动
打开文件 basic_demo/cli_demo.py
,修改模型加载路径:
MODEL_PATH = os.environ.get('MODEL_PATH', '../model')
然后执行:
python cli_demo.py
3.6 Web 控制台模式启动
同样,打开 basic_demo/web_demo_gradio.py
文件,修改模型加载路径:
MODEL_PATH = os.environ.get('MODEL_PATH', '../model')
同时调整最后一行代码:
demo.launch(server_name="127.0.0.1", server_port=7870, inbrowser=True, share=False)
将 server_name
修改为本机 IP,指定端口 server_port
即可。你也可以设置 share=True
,通过 gradio 提供的链接访问。启动命令如下:
python web_demo_gradio.py
默认情况下,模型以 FP16 精度加载,约需 13GB 显存。如果你的电脑没有 GPU,也可以使用 CPU 启动,但6B版大约需要 32G 内存。你可以修改模型加载脚本:
model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).float()
若 GPU 显存不足,也可采用 4-bit 量化运行,降低至约 6GB 显存需求:
model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).quantize(4).cuda()
此外,官方还提供了一个全新 Web demo,支持 Chat、Tool、Code Interpreter 等功能,位于代码库中的 composite_demo
文件夹内:
cd composite_demo
pip install -r requirements.txt
export MODEL_PATH=../model
streamlit run main.py
# 或者使用
python -m streamlit run main.py
部署流程总结:
- 配置 Python 环境及 pip;
- 克隆代码仓库;
- 下载所需模型;
- 安装相关依赖;
- 修改示例代码,设置模型路径和精度参数;
- 启动命令行或 Web 服务。
在 Python 版本在 3.10~3.11 且网络环境良好的情况下,整个部署过程十分顺利;有 GPU 支持的话,推理效果更佳。部署完成后,就可以进行大模型推理实验。不过需要注意,6B 模型在推理时允许调整超参数,以便控制生成结果的准确性。正因如此,大模型并不适合用于对精度要求极高的任务(如税务或工资计算)。
4. 超参数设置解析
ChatGLM3-6B 支持以下三个关键超参数的调节:
- max_length
设定模型输入和输出的总 token 数限制。 - temperature
控制生成文本时单词的概率分布。较低的温度使得生成的回答更确定;而较高的温度则带来更多随机性,数值越小回答越精确。 - top_p
决定采样策略,每一步只从累积概率达到 p 阈值的最小单词集合中选取,从而聚焦于高概率部分,忽略低概率词汇。
针对不同的应用场景,官方推荐了相应的参数配置,如下图所示:
配置完毕后,即可开始进行问答实验。需要提醒的是,ChatGLM3-6B 引入了一种全新的 Prompt 格式,类似于 ChatGPT 的交互模式,下面为你详细介绍。
5. 全新 Prompt 格式详解
新的提示格式通过引入多角色机制,使得对话过程更加清晰明确。在对话场景中,仅包含以下三种角色:
- system:系统信息,始终位于对话开头,可用于设定回答的角色和语境。
- user:用户提问的内容。
- assistant:模型生成的回答。
在代码场景中,则扩展为四种角色:user、assistant、system 和 observation。其中 observation 用于展示外部调用(例如 API 返回数据或代码执行结果),其位置必须紧跟在 assistant 之后。
下面是官方提供的示例,展示了这四种角色的实际应用:
<|system|>
Answer the following questions as best as you can. You have access to the following tools:
[
{
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA",
},
"unit": {"type": "string"},
},
"required": ["location"],
},
}
]
<|user|>
今天北京的天气怎么样?
<|assistant|>
好的,让我们来查看今天的天气
<|assistant|>get_current_weather
\```python
tool_call(location="beijing", unit="celsius")
\```
<|observation|>
{"temperature": 22}
<|assistant|>
根据查询结果,今天北京的气温为 22 摄氏度。
为何采用这种设计?
- 首先,训练后的大模型能够严格遵循系统消息,且系统消息不会作为用户对话的一部分参与生成过程。这样,在 system 角色中预设特定身份(例如 Java 技术专家),便可有效引导模型输出专业领域内容。
- 其次,这种角色分离设计能在一定程度上防范输入注入攻击。多轮对话时,历史对话会被带入新会话,如果其中存在错误提示,可能会干扰生成结果。明确区分各角色后,攻击难度大大增加,虽然不能完全杜绝风险,但已显著提升安全性。
如何学习AI大模型?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?
”“谁的饭碗又将不保了?
”等问题热议不断。
不如成为「掌握AI工具的技术人」
,毕竟AI时代,谁先尝试,谁就能占得先机!
想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高
那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费
】
👉 福利来袭
优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈
全套AGI大模型学习大纲+路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉 福利来袭
优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费
】
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。