《ChatGLM-B微调:实现行业专属大模型的详细步骤》
准备行业专属数据集,需包含至少10万条高质量文本,格式为JSON或CSV,涵盖领域内常见问答、术语及场景。清洗数据去除噪声(如特殊字符、乱码),标准化文本格式(统一标点、大小写)。划分训练集(80%)、验证集(10%)和测试集(10%),确保数据分布均衡。配置训练参数:学习率设为2e-5,批次大小(batch size)为4,启用梯度裁剪(max_grad_norm=1.0)。启动训练循环,每50
微调前的准备工作
确保硬件环境满足需求(如GPU显存≥24GB),安装Python 3.8+、PyTorch 1.12+和Transformers库。准备行业专属数据集,需包含至少10万条高质量文本,格式为JSON或CSV,涵盖领域内常见问答、术语及场景。
数据预处理
清洗数据去除噪声(如特殊字符、乱码),标准化文本格式(统一标点、大小写)。使用分词工具(如Jieba)对中文文本分词,构建词汇表。划分训练集(80%)、验证集(10%)和测试集(10%),确保数据分布均衡。
模型加载与配置
从Hugging Face Hub加载ChatGLM-B基础模型:
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
配置训练参数:学习率设为2e-5,批次大小(batch size)为4,启用梯度裁剪(max_grad_norm=1.0)。
微调训练
使用LoRA(Low-Rank Adaptation)高效微调技术,仅训练部分参数以减少显存占用:
from peft import LoraConfig, get_peft_model
lora_config = LoraConfig(
r=8,
lora_alpha=32,
target_modules=["query_key_value"],
lora_dropout=0.1,
bias="none"
)
model = get_peft_model(model, lora_config)
启动训练循环,每500步验证一次损失,早停(early stopping)阈值设为3次验证损失未下降。
模型评估与部署
在测试集上计算困惑度(Perplexity)和BLEU分数,对比基线模型效果。使用FlashAttention优化推理速度,导出模型为ONNX格式:
torch.onnx.export(model, inputs, "chatglm_finetuned.onnx", opset_version=13)
部署时通过FastAPI封装API接口,支持实时行业问答。
持续优化策略
定期增量训练新数据,使用A/B测试对比模型版本效果。监控线上日志,针对性补充低频场景数据,迭代提升准确率。
https://github.com/f6024/y/issues/83
https://github.com/f6022/1/issues/83
https://github.com/f6023/c/issues/83
https://github.com/f6020/d/issues/83
https://github.com/f6021/n/issues/82
https://github.com/f6022/1/issues/82
https://github.com/f6024/y/issues/82
https://github.com/f6023/c/issues/82
https://github.com/f6020/d/issues/82
https://github.com/f6021/n/issues/81
https://github.com/f6022/1/issues/81
https://github.com/f6024/y/issues/81
https://github.com/f6023/c/issues/81
https://github.com/f6020/d/issues/81
https://github.com/f6021/n/issues/80
https://github.com/f6022/1/issues/80
https://github.com/f6024/y/issues/80
https://github.com/f6023/c/issues/80
https://github.com/f6020/d/issues/80
https://github.com/f6021/n/issues/79
https://github.com/f6022/1/issues/79
https://github.com/f6024/y/issues/79
https://github.com/f6023/c/issues/79
https://github.com/f6020/d/issues/79
https://github.com/f6021/n/issues/78
https://github.com/f6022/1/issues/78
https://github.com/f6024/y/issues/78
https://github.com/f6023/c/issues/78
https://github.com/f6020/d/issues/78
https://github.com/f6021/n/issues/77
https://github.com/f6022/1/issues/77
https://github.com/f6024/y/issues/77
https://github.com/f6023/c/issues/77
https://github.com/f6020/d/issues/77
https://github.com/f6021/n/issues/76
https://github.com/f6022/1/issues/76
https://github.com/f6024/y/issues/76
https://github.com/f6023/c/issues/76
https://github.com/f6020/d/issues/76
https://github.com/f6021/n/issues/75
https://github.com/f6024/y/issues/75
https://github.com/f6022/1/issues/75
https://github.com/f6023/c/issues/75
https://github.com/f6020/d/issues/75
https://github.com/f6021/n/issues/74
https://github.com/f6024/y/issues/74
https://github.com/f6022/1/issues/74
https://github.com/f6023/c/issues/74
https://github.com/f6020/d/issues/74
https://github.com/f6021/n/issues/73
https://github.com/f6022/1/issues/73
https://github.com/f6024/y/issues/73
https://github.com/f6023/c/issues/73
https://github.com/f6020/d/issues/73
https://github.com/f6021/n/issues/72
https://github.com/f6022/1/issues/72
https://github.com/f6024/y/issues/72
https://github.com/f6023/c/issues/72
https://github.com/f6020/d/issues/72
https://github.com/f6021/n/issues/71
https://github.com/f6024/y/issues/71
https://github.com/f6022/1/issues/71
https://github.com/f6023/c/issues/71
https://github.com/f6020/d/issues/71
https://github.com/f6024/y/issues/70
https://github.com/f6021/n/issues/70
https://github.com/f6022/1/issues/70
https://github.com/f6023/c/issues/70
https://github.com/f6020/d/issues/70
https://github.com/f6024/y/issues/69
https://github.com/f6022/1/issues/69
https://github.com/f6023/c/issues/69
https://github.com/f6021/n/issues/69
https://github.com/f6020/d/issues/69
https://github.com/f6024/y/issues/68
https://github.com/f6022/1/issues/68
https://github.com/f6023/c/issues/68
https://github.com/f6021/n/issues/68
https://github.com/f6020/d/issues/68
https://github.com/f6024/y/issues/67
https://github.com/f6022/1/issues/67
https://github.com/f6023/c/issues/67
https://github.com/f6021/n/issues/67
https://github.com/f6020/d/issues/67
https://github.com/f6024/y/issues/66
https://github.com/f6022/1/issues/66
https://github.com/f6023/c/issues/66
https://github.com/f6021/n/issues/66
https://github.com/f6020/d/issues/66
https://github.com/f6024/y/issues/65
https://github.com/f6022/1/issues/65
https://github.com/f6023/c/issues/65
https://github.com/f6021/n/issues/65
https://github.com/f6020/d/issues/65
https://github.com/f6024/y/issues/64
https://github.com/f6022/1/issues/64
https://github.com/f6023/c/issues/64
https://github.com/f6021/n/issues/64
https://github.com/f6020/d/issues/64
https://github.com/f6024/y/issues/63
https://github.com/f6023/c/issues/63
https://github.com/f6022/1/issues/63
https://github.com/f6021/n/issues/63
https://github.com/f6020/d/issues/63
https://github.com/f6024/y/issues/62
https://github.com/f6023/c/issues/62
https://github.com/f6022/1/issues/62
https://github.com/f6021/n/issues/62
https://github.com/f6020/d/issues/62
https://github.com/f6024/y/issues/61
https://github.com/f6023/c/issues/61
https://github.com/f6022/1/issues/61
https://github.com/f6021/n/issues/61
https://github.com/f6020/d/issues/61
https://github.com/f6024/y/issues/60
https://github.com/f6023/c/issues/60
https://github.com/f6022/1/issues/60
https://github.com/f6021/n/issues/60
https://github.com/f6020/d/issues/60
https://github.com/f6024/y/issues/59
https://github.com/f6022/1/issues/59
https://github.com/f6021/n/issues/59
https://github.com/f6023/c/issues/59
https://github.com/f6020/d/issues/59
https://github.com/f6024/y/issues/58
https://github.com/f6022/1/issues/58
https://github.com/f6021/n/issues/58
https://github.com/f6023/c/issues/58
https://github.com/f6020/d/issues/58
https://github.com/f6024/y/issues/57
https://github.com/f6022/1/issues/57
https://github.com/f6021/n/issues/57
https://github.com/f6023/c/issues/57
https://github.com/f6020/d/issues/57
https://github.com/f6024/y/issues/56
https://github.com/f6021/n/issues/56
https://github.com/f6022/1/issues/56
https://github.com/f6023/c/issues/56
https://github.com/f6020/d/issues/56
https://github.com/f6024/y/issues/55
https://github.com/f6021/n/issues/55
https://github.com/f6022/1/issues/55
https://github.com/f6023/c/issues/55
https://github.com/f6020/d/issues/55
https://github.com/f6024/y/issues/54
https://github.com/f6021/n/issues/54
https://github.com/f6022/1/issues/54
https://github.com/f6023/c/issues/54
https://github.com/f6020/d/issues/54
https://github.com/f6024/y/issues/53
https://github.com/f6021/n/issues/53
https://github.com/f6022/1/issues/53
https://github.com/f6023/c/issues/53
https://github.com/f6020/d/issues/53
https://github.com/f6024/y/issues/52
https://github.com/f6021/n/issues/52
https://github.com/f6022/1/issues/52
https://github.com/f6023/c/issues/52
https://github.com/f6020/d/issues/52
https://github.com/f6024/y/issues/51
https://github.com/f6021/n/issues/51
https://github.com/f6022/1/issues/51
https://github.com/f6023/c/issues/51
https://github.com/f6020/d/issues/51
https://github.com/f6024/y/issues/50
https://github.com/f6021/n/issues/50
https://github.com/f6022/1/issues/50
https://github.com/f6023/c/issues/50
https://github.com/f6020/d/issues/50
https://github.com/f6024/y/issues/49
https://github.com/f6021/n/issues/49
https://github.com/f6022/1/issues/49
https://github.com/f6023/c/issues/49
https://github.com/f6020/d/issues/49
https://github.com/f6024/y/issues/48
https://github.com/f6021/n/issues/48
https://github.com/f6022/1/issues/48
https://github.com/f6023/c/issues/48
https://github.com/f6020/d/issues/48
https://github.com/f6024/y/issues/47
https://github.com/f6021/n/issues/47
https://github.com/f6022/1/issues/47
https://github.com/f6023/c/issues/47
https://github.com/f6020/d/issues/47
https://github.com/f6024/y/issues/46
https://github.com/f6022/1/issues/46
https://github.com/f6021/n/issues/46
https://github.com/f6023/c/issues/46
https://github.com/f6020/d/issues/46
https://github.com/f6024/y/issues/45
https://github.com/f6021/n/issues/45
https://github.com/f6022/1/issues/45
https://github.com/f6023/c/issues/45
https://github.com/f6020/d/issues/45
https://github.com/f6024/y/issues/44
https://github.com/f6022/1/issues/44
https://github.com/f6021/n/issues/44
https://github.com/f6023/c/issues/44
https://github.com/f6020/d/issues/44
https://github.com/f6024/y/issues/43
https://github.com/f6022/1/issues/43
https://github.com/f6021/n/issues/43
https://github.com/f6023/c/issues/43
https://github.com/f6020/d/issues/43
https://github.com/f6024/y/issues/42
https://github.com/f6022/1/issues/42
https://github.com/f6021/n/issues/42
https://github.com/f6023/c/issues/42
https://github.com/f6020/d/issues/42
https://github.com/f6024/y/issues/41
https://github.com/f6022/1/issues/41
https://github.com/f6021/n/issues/41
https://github.com/f6023/c/issues/41
https://github.com/f6020/d/issues/41
https://github.com/f6022/1/issues/40
https://github.com/f6021/n/issues/40
https://github.com/f6024/y/issues/40
https://github.com/f6023/c/issues/40
https://github.com/f6020/d/issues/40
https://github.com/f6022/1/issues/39
https://github.com/f6021/n/issues/39
https://github.com/f6024/y/issues/39
https://github.com/f6023/c/issues/39
https://github.com/f6020/d/issues/39
https://github.com/f6022/1/issues/38
https://github.com/f6021/n/issues/38
https://github.com/f6024/y/issues/38
https://github.com/f6023/c/issues/38
https://github.com/f6020/d/issues/38
https://github.com/f6022/1/issues/37
https://github.com/f6021/n/issues/37
https://github.com/f6024/y/issues/37
https://github.com/f6023/c/issues/37
https://github.com/f6020/d/issues/37
https://github.com/f6022/1/issues/36
https://github.com/f6021/n/issues/36
https://github.com/f6024/y/issues/36
https://github.com/f6023/c/issues/36
https://github.com/f6020/d/issues/36
https://github.com/f6022/1/issues/35
https://github.com/f6021/n/issues/35
https://github.com/f6024/y/issues/35
https://github.com/f6023/c/issues/35
https://github.com/f6020/d/issues/35
https://github.com/f6022/1/issues/34
https://github.com/f6021/n/issues/34
https://github.com/f6024/y/issues/34
https://github.com/f6023/c/issues/34
https://github.com/f6020/d/issues/34
https://github.com/f6022/1/issues/33
https://github.com/f6024/y/issues/33
https://github.com/f6021/n/issues/33
https://github.com/f6023/c/issues/33
https://github.com/f6020/d/issues/33
https://github.com/f6022/1/issues/32
https://github.com/f6024/y/issues/32
https://github.com/f6021/n/issues/32
https://github.com/f6023/c/issues/32
https://github.com/f6020/d/issues/32
https://github.com/f6022/1/issues/31
https://github.com/f6024/y/issues/31
https://github.com/f6023/c/issues/31
https://github.com/f6021/n/issues/31
https://github.com/f6020/d/issues/31
https://github.com/f6022/1/issues/30
https://github.com/f6024/y/issues/30
https://github.com/f6023/c/issues/30
https://github.com/f6021/n/issues/30
https://github.com/f6020/d/issues/30
https://github.com/f6022/1/issues/29
https://github.com/f6023/c/issues/29
https://github.com/f6024/y/issues/29
https://github.com/f6021/n/issues/29
https://github.com/f6020/d/issues/29
https://github.com/f6022/1/issues/28
https://github.com/f6023/c/issues/28
https://github.com/f6024/y/issues/28
https://github.com/f6021/n/issues/28
https://github.com/f6020/d/issues/28
https://github.com/f6022/1/issues/27
https://github.com/f6023/c/issues/27
https://github.com/f6024/y/issues/27
https://github.com/f6021/n/issues/27
https://github.com/f6020/d/issues/27
https://github.com/f6023/c/issues/26
https://github.com/f6024/y/issues/26
https://github.com/f6021/n/issues/26
https://github.com/f6022/1/issues/26
https://github.com/f6020/d/issues/26
https://github.com/f6023/c/issues/25
https://github.com/f6024/y/issues/25
https://github.com/f6021/n/issues/25
https://github.com/f6022/1/issues/25
https://github.com/f6020/d/issues/25
https://github.com/f6023/c/issues/24
https://github.com/f6024/y/issues/24
https://github.com/f6021/n/issues/24
https://github.com/f6022/1/issues/24
https://github.com/f6020/d/issues/24
https://github.com/f6023/c/issues/23
https://github.com/f6024/y/issues/23
https://github.com/f6021/n/issues/23
https://github.com/f6022/1/issues/23
https://github.com/f6020/d/issues/23
https://github.com/f6023/c/issues/22
https://github.com/f6024/y/issues/22
https://github.com/f6021/n/issues/22
https://github.com/f6022/1/issues/22
https://github.com/f6020/d/issues/22
https://github.com/f6023/c/issues/21
https://github.com/f6024/y/issues/21
https://github.com/f6021/n/issues/21
https://github.com/f6022/1/issues/21
https://github.com/f6020/d/issues/21
https://github.com/f6023/c/issues/20
https://github.com/f6024/y/issues/20
https://github.com/f6022/1/issues/20
https://github.com/f6021/n/issues/20
https://github.com/f6020/d/issues/20
https://github.com/f6023/c/issues/19
https://github.com/f6024/y/issues/19
https://github.com/f6021/n/issues/19
https://github.com/f6020/d/issues/19
https://github.com/f6022/1/issues/19
https://github.com/f6023/c/issues/18
https://github.com/f6024/y/issues/18
https://github.com/f6021/n/issues/18
https://github.com/f6020/d/issues/18
https://github.com/f6022/1/issues/18
https://github.com/f6023/c/issues/17
https://github.com/f6024/y/issues/17
https://github.com/f6021/n/issues/17
https://github.com/f6020/d/issues/17
https://github.com/f6022/1/issues/17
https://github.com/f6023/c/issues/16
https://github.com/f6024/y/issues/16
https://github.com/f6021/n/issues/16
https://github.com/f6020/d/issues/16
https://github.com/f6022/1/issues/16
https://github.com/f6023/c/issues/15
https://github.com/f6024/y/issues/15
https://github.com/f6021/n/issues/15
https://github.com/f6022/1/issues/15
https://github.com/f6020/d/issues/15
https://github.com/f6023/c/issues/14
https://github.com/f6024/y/issues/14
https://github.com/f6021/n/issues/14
https://github.com/f6020/d/issues/14
https://github.com/f6022/1/issues/14
https://github.com/f6023/c/issues/13
https://github.com/f6024/y/issues/13
https://github.com/f6022/1/issues/13
https://github.com/f6021/n/issues/13
https://github.com/f6020/d/issues/13
https://github.com/f6024/y/issues/12
https://github.com/f6023/c/issues/12
https://github.com/f6020/d/issues/12
https://github.com/f6021/n/issues/12
https://github.com/f6022/1/issues/12
https://github.com/f6024/y/issues/11
https://github.com/f6023/c/issues/11
https://github.com/f6020/d/issues/11
https://github.com/f6021/n/issues/11
https://github.com/f6022/1/issues/11
https://github.com/f6024/y/issues/10
https://github.com/f6023/c/issues/10
https://github.com/f6020/d/issues/10
https://github.com/f6021/n/issues/10
https://github.com/f6022/1/issues/10
https://github.com/f6024/y/issues/9
https://github.com/f6023/c/issues/9
https://github.com/f6020/d/issues/9
https://github.com/f6022/1/issues/9
https://github.com/f6021/n/issues/9
https://github.com/f6024/y/issues/8
https://github.com/f6023/c/issues/8
https://github.com/f6020/d/issues/8
https://github.com/f6022/1/issues/8
https://github.com/f6021/n/issues/8
https://github.com/f6024/y/issues/7
https://github.com/f6023/c/issues/7
https://github.com/f6022/1/issues/7
https://github.com/f6020/d/issues/7
https://github.com/f6021/n/issues/7
https://github.com/f6024/y/issues/6
https://github.com/f6023/c/issues/6
https://github.com/f6022/1/issues/6
https://github.com/f6020/d/issues/6
https://github.com/f6021/n/issues/6
https://github.com/f6024/y/issues/5
https://github.com/f6023/c/issues/5
https://github.com/f6020/d/issues/5
https://github.com/f6022/1/issues/5
https://github.com/f6021/n/issues/5
https://github.com/f6024/y/issues/4
https://github.com/f6023/c/issues/4
https://github.com/f6020/d/issues/4
https://github.com/f6021/n/issues/4
https://github.com/f6022/1/issues/4
https://github.com/f6024/y/issues/3
https://github.com/f6023/c/issues/3
https://github.com/f6020/d/issues/3
https://github.com/f6022/1/issues/3
https://github.com/f6021/n/issues/3
https://github.com/f6024/y/issues/2
https://github.com/f6023/c/issues/2
https://github.com/f6020/d/issues/2
https://github.com/f6022/1/issues/2
https://github.com/f6021/n/issues/2
https://github.com/f6023/c/issues/1
https://github.com/f6024/y/issues/1
https://github.com/f6021/n/issues/1
https://github.com/f6022/1/issues/1
https://github.com/f6020/d/issues/1
更多推荐
所有评论(0)