一、引言
随着人工智能技术的迅猛发展,大规模预训练模型(如GPT-4、BERT等)在自然语言处理、图像识别等领域展现出了卓越的性能。然而,如何将这些强大的模型从理论落地到实际应用中,仍然是许多技术从业者面临的挑战。本篇文章旨在为读者提供一份详尽的大模型落地指南,从模型的下载、文件结构的解析,到本地化部署的具体步骤,全面覆盖整个流程。无论你是初次接触大模型的新手,还是希望深入了解部署细节的资深开发者,这篇文章都将为你提供有价值的参考和实用的操作指南。让我们一起揭开大模型神秘的面纱,探索其在实际应用中的无限可能。
二、模型文件解析
模型文件下载地址:https://huggingface.co/models
本次课程以glm-4-9b-chat进行案例演示
1、下载模型文档
2、模型文档解释
在Hugging Face上下载的模型文件中,通常会包含很多不同类型的文件,每个文件都有其特定的作用。以下是一些常见的文件及其作用的解释:
gitattributes:
作用: 这个文件主要用于Git版本控制系统,用来定义特定文件的属性和处理方式。它可以指定文件的行尾符格式、合并策略、文件类型等。
config.json:
作用: 包含模型的配置参数,如模型架构、层数、隐藏单元数等。这个文件用于初始化模型的结构。
pytorch_model.bin:
作用: 这是PyTorch模型的权重文件,包含了模型的训练参数和权重数据。
tf_model.h5:
作用: 这是TensorFlow模型的权重文件,包含了模型的训练参数和权重数据。
tokenizer_config.json:
作用: 包含分词器的配置参数,如分词器类型、特殊标记等。
vocab.txt:
作用: 包含模型使用的词汇表,通常是一个简单的文本文件,每行一个词。
merges.txt:
作用: 如果使用的是Byte-Pair Encoding (BPE) 分词器,这个文件包含了分词合并规则。
special_tokens_map.json:
作用: 定义了特殊标记(如[CLS], [SEP], [MASK]等)的映射关系。
README.md:
作用: 包含模型的描述、使用方法和其他相关信息。
preprocessor_config.json:
作用: 包含预处理器的配置参数,用于数据预处理。
model-00001-of-xxxx.safetensors
文件名为model-00001-of-00010.safetensors的文件是模型权重文件的一部分。以下是关于这个文件的详细解释:
作用
-
分片存储: 这个文件是模型权重文件的一个分片,表示整个模型的权重被分成了多个部分存储。文件名中的00001-of-00010表示这是第1个分片,总共有10个分片。
-
高效存储和加载: 使用safetensors格式存储权重,目的是提高存储和加载的效率,同时保证数据的安全性和完整性。
存储内容
-
模型权重: 文件中存储的是神经网络模型的权重数据,这些数据是经过训练后得到的参数,用于模型的推理和预测。
-
数据格式: safetensors是一种高效的二进制格式,专门用于存储和加载深度学习模型的权重。相比于传统的bin或h5格式,safetensors格式在读取速度和安全性方面有一些优势。
使用方法
-
加载模型: 在加载模型时,框架(如PyTorch或TensorFlow)会自动识别并加载这些分片文件。通常你只需要提供模型配置文件(如config.json)和分词器配置文件(如tokenizer_config.json),框架会根据配置文件加载相应的权重分片。
这些文件共同作用,确保模型能够被正确加载、初始化和使用。具体的文件内容和作用可能会根据模型的类型和框架有所不同。
三、本地环境环境准备
在Linux环境下进行大模型的本地化部署,通常需要进行以下几个步骤来准备环境:
1. 更新系统
确保系统的所有软件包都是最新的,以避免兼容性问题。
sudo yum update
2. 安装必要的依赖项
安装一些常见的依赖包,如编译器和工具链。
sudo yum groupinstall "Development Tools"
sudo yum install wget
3. 安装Miniconda
下载并安装Miniconda,这是一个轻量级的Conda版本。
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86\_64.sh
bash Miniconda3-latest-Linux-x86\_64.sh
按照提示完成安装,并重新启动终端或运行以下命令以激活Conda:
source ~/.bashrc
4. 创建Conda虚拟环境
创建一个新的Conda虚拟环境,并激活它。
conda create --name myenv python=3.8
conda activate myenv
5. 安装CUDA和cuDNN(可选)
如果需要使用GPU加速,可以通过Conda安装CUDA和cuDNN库。
conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1
6. 安装深度学习框架
根据需要选择并安装深度学习框架,如TensorFlow或PyTorch。
\# 或者安装PyTorch
conda install \-c pytorch torchvision
7. 下载大模型
根据需要下载大模型的预训练权重文件。可以使用wget或curl命令下载模型文件、或者其他方式。
8. 安装其他必要的Python包
根据模型的需求,安装其他必要的Python包。
conda install numpy pandas
conda install \-c conda-forge transformers
9. 配置环境变量
根据需要配置环境变量,如CUDA路径等。
export PATH\=/usr/local/cuda/bin:$PATH
export LD\_LIBRARY\_PATH\=/usr/local/cuda/lib64:$LD\_LIBRARY\_PATH
10. 验证安装
运行简单的测试脚本,验证所有安装和配置是否正确。
import torch
print(torch.cuda.is\_available()) \# 检查CUDA是否可用
通过以上步骤,你的环境应该已经准备好进行大模型的本地化部署。根据具体的模型和应用要求,可能还需要进行一些额外的配置和调整。
四、本地化测试
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from\_pretrained("你的模型文件存储路径", trust\_remote\_code=True)
model = AutoModel.from\_pretrained("你的模型文件存储路径", trust\_remote\_code=True).cuda()
response, history = model.chat(tokenizer, "你好", history=\[\])
print(response)
五、小结
本文详细介绍了大模型的本地化部署过程,从模型的下载到在Linux环境中的准备,再到简单的模型加载演示,提供了一条清晰的路径。
那么,如何系统的去学习大模型LLM?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
篇幅有限,部分资料如下:
👉LLM大模型学习指南+路线汇总👈
💥大模型入门要点,扫盲必看!
💥既然要系统的学习大模型,那么学习路线是必不可少的,这份路线能帮助你快速梳理知识,形成自己的体系。
👉大模型入门实战训练👈
💥光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉国内企业大模型落地应用案例👈
💥《中国大模型落地应用案例集》 收录了52个优秀的大模型落地应用案例,这些案例覆盖了金融、医疗、教育、交通、制造等众多领域,无论是对于大模型技术的研究者,还是对于希望了解大模型技术在实际业务中如何应用的业内人士,都具有很高的参考价值。 (文末领取)
💥《2024大模型行业应用十大典范案例集》 汇集了文化、医药、IT、钢铁、航空、企业服务等行业在大模型应用领域的典范案例。
👉LLM大模型学习视频👈
💥观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 (文末领取)
👉640份大模型行业报告👈
💥包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
👉获取方式:
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓