File size: 3,104 Bytes
bab822e
 
 
 
 
 
550050d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bab822e
550050d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ab3453d
bab822e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
---
datasets:
- Skepsun/lawyer_llama_data
language:
- zh
---
# 模型摘要
本模型是基于llama3.1-8B-Chinese-Chat预训练模型基础上再次训练的法律条文模型。
* 基础型号:llama3.1-8B-Chinese-Chat
* 模型尺寸:8B
* 上下文长度:128K(由Meta-Llama-3.1-8B-Instruct 模型报告,未经我们的中文模型测试)
# 简介
本模型基于llama3.1-8B-Chinese-Chat预训练模型,在法律条文数据集上进行了微调,使用的微调算法是LoRA。<br>
训练框架:unsloth<br>
训练参数:
```python
        per_device_train_batch_size = 2, # 每个设备的训练批量大小
        gradient_accumulation_steps = 4, # 梯度累积步数
        warmup_steps = 5,
        max_steps = 60, # 最大训练步数,测试时设置
        # num_train_epochs= 5, # 训练轮数   
        logging_steps = 10,  # 日志记录频率
        save_strategy = "steps", # 模型保存策略
        save_steps = 100, # 模型保存步数
        learning_rate = 2e-4, # 学习率
        fp16 = not torch.cuda.is_bf16_supported(), # 是否使用float16训练
        bf16 = torch.cuda.is_bf16_supported(), # 是否使用bfloat16训练
        optim = "adamw_8bit",  # 优化器
        weight_decay = 0.01,  # 正则化技术,在损失函数中添加正则化项来减小权重的大小
        lr_scheduler_type = "linear",  # 学习率衰减策略
        seed = 3407, # 随机种子
```
# 使用方法
## 使用python脚本下载BF16模型:
```python
from huggingface_hub import snapshot_download
snapshot_download(repo_id="basuo/llama-law", ignore_patterns=["*.gguf"])  # Download our BF16 model without downloading GGUF models.
```
模型推理:
```python
import torch
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "/Your/Local/Path/to/llama-law",
    max_seq_length = 2048,
    dtype = torch.float16,
    load_in_4bit = True,
)
FastLanguageModel.for_inference(model)
```
```python
alpaca_prompt = """
下面是一项描述任务的说明,配有提供进一步背景信息的输入。写出一个适当完成请求的回应。

### Instruction:
{}

### Input:
{}

### Response:
{}
"""

inputs = tokenizer(
[
    alpaca_prompt.format(
        "没有赡养老人就无法继承财产吗?", # instruction
        "", # input
        "", # output
    )
], return_tensors = "pt").to("cuda")

outputs = model.generate(**inputs, max_new_tokens = 64, use_cache = True)
tokenizer.batch_decode(outputs)
```
```js
['\n下面是一项描述任务的说明,配有提供进一步背景信息的输入。写出一个适当完成请求的回应。\n\n### Instruction:\n没有赡养老人就无法继承财产吗?\n\n### Input:\n\n\n### Response:\n\n不是的,根据《中华人民共和国继承法》规定,继承人应当履行赡养义务,未履行赡养义务的,应当承担赡养费用。因此,如果没有赡养老人,继承人可以继承财产,但需要承担']
```
## GGUF模型
1. 从模型文件中下载GGUF文件;
2. 将GGUF模型与LM Studio或Ollama结合使用;