当前位置: 首页 > news >正文

大模型私有化部署

大模型私有化部署

文章目录

    • 大模型私有化部署
    • 私有化大模型选择
      • GLM发展历程总结与特点
      • **ChatGLM3私有化本地部署**
        • **量化技术**
      • # **步骤**
        • 0x01.**模型资源评估**
        • 0x02.**GPU环境确认**
        • 0x03.**Python环境准备**
        • 0x04.**GPU版PyTorch安装**
        • 0x05.**验证当前PyTorch与CUDA是否兼容**
        • **0x06.获取工程**
        • **0x07.**安装ChatGLM3项目依赖库
        • **0x08.** Demo验证

私有化大模型选择

  • 支持中文的
  • 开源的
  • 可商用
  • 性能好
  • 低成本部署
  • 建议考虑支持国产芯片

本节主要针对选择的 智谱GLM (智谱AI ) 成立2019年6月 清华大学计算机系知识工程实验室(KEG)的技术成功转换来的。支持国产芯片

GLM发展历程总结与特点

时间模型参数量主要贡献与特点
2021GLM-1-提出自回归空白填充范式,统一理解与生成
2022GLM-130B1300亿对标GPT-3,开源双语高效量化,奠定地位
2023ChatGLM-6B60亿现象级开源对话模型,极大降低大模型使用门槛
2023GLM-21B/10B系列化、商业化,满足不同规模部署需求
2024GLM-4未知全面对标GPT-4,支持多模态长上下文智能体

git 地址请参见 https://github.com/THUDM/

在这里插入图片描述

ChatGLM3私有化本地部署

模型参数精度的选择需要找到关键的权衡点。一方面使用更高精度的数据类型可以提供更高的数值精度,同时会占用更多的内存计算速度慢对设备的性能要求会更高,与此同时使用低精度的数据类型可以节省内存并加速计算,但会导致数值精度损失。在实际应用中,需要更具项目的需要,具体选择模型的精度和硬件设备和性能的搭配。

量化技术

量化(Quantization)确实是一种 模型压缩与加速技术,它的核心思想就是:把模型中的 浮点数(通常是 FP32)参数和激活值 映射到 较低精度的整数表示(如 INT8、INT4)。这样一来:

  1. 存储成本降低

    FP32 占 4 字节

    INT8 只占 1 字节

    模型体积可以缩小 约 4 倍

  2. 计算速度提升

    在许多硬件(如 ARM CPU、GPU、TPU、NPU)上,低精度整数运算比浮点运算更快。特别是 INT8 矩阵乘法(GEMM)在移动设备和推理加速芯片上有硬件支持。

  3. 功耗降低

    存储带宽减少,访存和运算的能耗也随之降低,更适合部署在边缘设备和移动端

在这里插入图片描述

# 步骤

0x01.模型资源评估

见我的大模型基础知识。

0x02.GPU环境确认

Mac用户:打开“终端”,输入以下命令:system_profiler SPDisplaysDataType

0x03.Python环境准备

建议安装anaconda(https://www.anaconda.com/download),网站会自动识别安装什么版本

0x04.GPU版PyTorch安装

PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。PyTorch既可以看

作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。

确认是否已经安装2.0版本及以上的GPU版本的PyTorch,ChatGLM3-6B运行过程需要借助PyTorch来完成

相关计算。

print(f"PyTorch version: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}") 
---
PyTorch version: 2.8.0
CUDA available: False
0x05.验证当前PyTorch与CUDA是否兼容

编程模型

  • CUDA 提供了一套扩展 C/C++/Fortran 的 API,开发者可以像写普通 C 程序一样编写 GPU 代码。

  • 代码分为 主机端(Host,运行在 CPU)设备端(Device,运行在 GPU)

  • GPU 程序以 核函数(Kernel Function) 的形式运行,可以由成千上万的线程并行执行。

print(f"PyTorch version: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")  # 在 macOS 上应为 False
print(f"MPS available: {torch.backends.mps.is_available()}")  # 在 Apple Silicon 上应为 True
# 检查设备
if torch.backends.mps.is_available():device = torch.device("mps")print(f"Using device: {device}")
else:device = torch.device("cpu")print("MPS not available, using CPU")
0x06.获取工程

首先需要下载本仓库:

git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
**0x07.**安装ChatGLM3项目依赖库

pip install -r requirements.txt

安装过程若出现typing-extensions或fastapi等库不兼容性报错,并不会影响最终模型运行,不用进行额外处理。完成了相关依赖库的安装之后,即可尝试进行模型调用了。

0x08. Demo验证

python cli_demo.py

http://www.dtcms.com/a/355565.html

相关文章:

  • RAG概念被误用:AI应用落地需回归上下文工程本质
  • leetcode算法day22
  • kotlin中关于协程的使用
  • 陕西风味马卡龙:家常自制,特色甜趣共享
  • 传输层协议介绍
  • 结构化提示词革命:JSON Prompting如何让AI输出精准如激光
  • 数字化生产管理系统 (MES)
  • 服务器核心组件:CPU 与 GPU 的核心区别、应用场景、协同工作
  • 揭开.NET Core 中 ToList () 与 ToArray () 的面纱:从原理到抉择
  • ansible常用命令的简单练习
  • Linux系统 -- 多线程的控制(互斥与同步)
  • 数学思维好题(冯哈伯公式)-平方根下取整求和
  • 个人博客运行3个月记录
  • 了解ADS中信号和电源完整性的S参数因果关系
  • Typora 教程:从零开始掌握 Markdown 高效写作
  • MySQL事务ACID特性
  • JavaScript中的BOM,DOM和事件
  • 英语单词:ad-hoc
  • BugKu Web渗透之成绩查询
  • 白杨SEO:网站优化怎么做?应用举例和适合哪些企业做?参考
  • 速成Javascript(二)
  • 新书速览|SQL Server运维之道
  • 【第三方网站运行环境测试:服务器配置(如Nginx/Apache)的WEB安全测试重点】
  • 激活函数篇(3):Softmax
  • maven scope 详解
  • 通信原理实验之线性均衡器-迫零算法
  • dht11传感器总结
  • [灵动微电子 MM32BIN560CN MM32SPIN0280]读懂电机MCU之串口DMA
  • 【C++游记】子承父业——乃继承也
  • 91美剧网官网入口 - 最新美剧资源在线观看网站