第1章:模型获取与准备

各位同学好,我是老张。做法律大模型运维这些年,我踩过最多的坑,其实不是模型跑不起来,而是——模型文件本身有问题。你想想看,辛辛苦苦下载了几十G的文件,结果校验不通过,或者格式不对,那真是欲哭无泪。

所以这一章,咱们先把地基打牢。我会带着你,把开源法律大模型有哪些、从哪下载、文件长什么样、怎么验货,一次性说清楚。

1.1 开源法律大模型:三驾马车

目前中文法律领域,有三款模型我比较熟悉。它们各有脾气,我一个个说。

模型名称 基座模型 参数量 我的评价
LawGPT ChatGLM-6B 6B 入门首选,轻量好调
ChatLaw Ziya-LLaMA-13B 13B 法律知识扎实,但吃显存
LexiLaw ChatGLM-6B 6B 中文法律微调,问答风格好

LawGPT:我个人习惯用它做原型验证。6B参数,一张RTX 3090就能跑。我在一个法院的智能问答项目里,就是用LawGPT快速搭的demo,效果还不错。

ChatLaw:这个模型我印象很深。它基于13B的Ziya-LLaMA,法律条文理解能力确实强。但注意,它需要至少24G显存。我曾经在一台T4上试过,量化后勉强能跑,但速度感人。

LexiLaw:如果你需要做法律咨询类的对话,这个模型值得一试。它的回答风格比较规范,像律师在说话。不过,它对长文本的支持一般,超过2048 tokens就容易跑偏。

我的建议:新手先从LawGPT入手。等把流程跑通了,再换ChatLaw上生产。别一上来就搞大模型,容易劝退。

1.2 模型下载渠道:两个主战场

模型从哪下?说白了就两个地方:HuggingFace和ModelScope。我两个都用,但各有偏好。

HuggingFace(国际站)

这是全球最大的模型仓库。几乎所有开源模型都会在这里发布。但有个问题——国内访问慢。我经常半夜爬起来下载,就为了那点带宽。

# 用git lfs下载,比直接点下载按钮靠谱
git lfs install
git clone https://huggingface.co/LiuHC0428/LAW-GPT

小技巧:如果下载到一半断了,别慌。git lfs支持断点续传。我遇到过三次下载到90%断掉的情况,重新执行git clone就行。

ModelScope(国内站)

阿里搞的,国内访问速度飞快。而且它支持直接用Python代码下载,适合自动化部署。

from modelscope import snapshot_download
model_dir = snapshot_download('law-ai/LawGPT', cache_dir='./models')

我个人现在更倾向ModelScope。为什么呢?因为有一次我在HuggingFace上下载ChatLaw,花了整整6个小时。后来换ModelScope,20分钟搞定。嗯,这就是差距。

1.3 模型文件格式:三种常见形态

下载下来的模型,文件后缀名不同,代表不同的存储格式。我见过不少新手,拿着.pt文件当.bin用,结果加载报错。这里我帮你理清楚。

格式 后缀 特点 适用场景
PyTorch .pt / .pth / .bin 最传统,文件大,加载慢 训练、调试
SafeTensors .safetensors 安全、快速、无代码执行风险 生产部署(强烈推荐)
GGUF .gguf 量化格式,文件小,CPU可跑 边缘设备、低配服务器

PyTorch格式:这是最原始的格式。说白了就是把模型参数用Python的pickle序列化。但有个安全隐患——pickle可以执行任意代码。我曾经在网上下载过一个.pt文件,加载时差点把服务器搞崩。所以,生产环境我坚决不用PyTorch格式。

SafeTensors格式:这是HuggingFace后来推的格式。它只存张量数据,不存代码。加载速度快,而且安全。我现在所有生产环境的模型,都转成.safetensors。你想想看,一个几十G的模型文件,如果被人植入了恶意代码,后果多严重?

GGUF格式:这是llama.cpp用的格式。它把模型量化成4-bit或8-bit,文件体积能缩小到原来的四分之一。我有一台只有16G内存的旧服务器,跑GGUF格式的LawGPT,居然也能用。虽然速度慢点,但至少能跑起来。

避坑指南:我曾经在ModelScope上下载过一个模型,它同时提供了.pt和.safetensors两种格式。我图省事直接用了.pt,结果加载时内存爆了。后来换成.safetensors,同样的机器,稳稳的。所以,能选safetensors就别选pt。

1.4 模型完整性校验:别让坏文件坑了你

模型文件下载过程中,网络波动、磁盘坏道,都可能导致文件损坏。你辛辛苦苦配好了环境,结果加载时报错,那感觉……我经历过太多次了。

所以,下载完模型后,第一件事就是校验。怎么做?看这里:

# 1. 检查文件大小是否和官方一致
ls -lh model.safetensors

# 2. 计算SHA256哈希值
sha256sum model.safetensors

# 3. 和官方提供的哈希值对比
# 官方一般会在模型页面提供SHA256值

我个人的习惯是,写一个自动化脚本,下载完自动校验。如果哈希值对不上,自动重试。这样省心很多。

重要提醒:有些模型提供方会同时提供MD5和SHA256两种校验值。MD5已经不够安全了,建议用SHA256。我在一个项目中,就因为用了MD5校验,结果文件被篡改了都没发现。后来换成SHA256,才揪出问题。

1.5 知识体系总览

这一章的内容,我用一张图帮你串起来。你看着这张图,就能知道模型获取与准备的完整流程。

模型获取与准备知识体系 开源法律大模型 LawGPT ChatLaw LexiLaw 模型下载渠道 HuggingFace ModelScope 文件格式 PyTorch (.pt) SafeTensors GGUF 完整性校验 SHA256校验 文件大小检查 部署准备 环境配置 依赖安装 量化与优化 4-bit量化 8-bit量化 核心原则:选对模型 → 安全下载 → 校验完整性 → 准备部署

这张图把整个流程串起来了。你从左上角开始,先选模型,再找下载渠道,然后确认文件格式,最后做校验。每一步都不能省。

我的经验:刚开始做法律大模型部署时,我总觉得校验这步多余。直到有一次,一个损坏的模型文件让我排查了整整两天。从那以后,我把校验写进了自动化脚本,每次下载完自动跑一遍。省心,也省命。

好了,这一章的内容就到这里。模型获取与准备,说白了就是三件事:知道去哪找、知道怎么下、知道怎么验。把这些基础打牢了,后面的部署才能顺风顺水。


公众号:蓝海资料掘金营,微信deep3321