微调前的准备工作

确保硬件环境满足需求(如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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐