shajiu commited on
Commit
3b07e88
1 Parent(s): e691084

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +31 -3
README.md CHANGED
@@ -2,14 +2,42 @@
2
  license: apache-2.0
3
  ---
4
  ## 藏文心理健康支持对话数据集(Tibetan_Mental)与大模型(Tibetan_Mental_Chat)
5
- ### 本文的训练流程主要包含:
6
  - 对Llama 2 进行藏文词表扩充,词表由32000 扩展至56724,提高模型在藏文的编解码效率。在TibetanGeneralCorpus 上使用Sentencepiece 工具训练基于Unigram 策略的藏文分词器。生成的词表与原版Llama 2 的32K 词表进行合并,排除重复的词 元后,得到扩充后词表规模为56724。用15G 的TibetanGeneralCorpus 和20G 的英、中混合文本进行CPT,采用自回归任务。
7
 
8
- ### 通过心理健康领域的藏文指令数据集进行了QLoRA微调:
9
  - 通过4-bit的nf4量化,且加入更多adapter,在大幅减少显存消耗的同时,尽可能逼近全量参数微调的效果。 该方法可以在一张V100上对33B的模型进行微调,并且性能逼近全量参数微调。
10
 
 
 
 
 
11
 
12
- ![面向藏语的心理健康咨询大模型平台](https://github.com/Shajiu/Tibetan_Mental_Health_Chat/blob/main/demo.png#pic_center=600x200)
 
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
  - GitHub:[藏文心理健康支持对话数据集(Tibetan_Mental)与大模型(Tibetan_Mental_Chat)](https://github.com/Shajiu/Tibetan_Mental_Health_Chat "可选标题")
 
2
  license: apache-2.0
3
  ---
4
  ## 藏文心理健康支持对话数据集(Tibetan_Mental)与大模型(Tibetan_Mental_Chat)
5
+ ### 一、本文的训练流程主要包含:
6
  - 对Llama 2 进行藏文词表扩充,词表由32000 扩展至56724,提高模型在藏文的编解码效率。在TibetanGeneralCorpus 上使用Sentencepiece 工具训练基于Unigram 策略的藏文分词器。生成的词表与原版Llama 2 的32K 词表进行合并,排除重复的词 元后,得到扩充后词表规模为56724。用15G 的TibetanGeneralCorpus 和20G 的英、中混合文本进行CPT,采用自回归任务。
7
 
8
+ ### 二、通过心理健康领域的藏文指令数据集进行了QLoRA微调:
9
  - 通过4-bit的nf4量化,且加入更多adapter,在大幅减少显存消耗的同时,尽可能逼近全量参数微调的效果。 该方法可以在一张V100上对33B的模型进行微调,并且性能逼近全量参数微调。
10
 
11
+ ### 三、推理Demo示例:
12
+ ```Python
13
+ import torch
14
+ from transformers import AutoModelForCausalLM, AutoTokenizer
15
 
16
+ # 设置设备
17
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
18
 
19
+ # 加载模型和分词器
20
+ model_name = "meta-llama/Llama-2-7b-chat-hf" # 模型名称,可以根据需要调整
21
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
22
+ model = AutoModelForCausalLM.from_pretrained(model_name)
23
+ model.to(device)
24
+
25
+ def generate_response(prompt, max_length=100, temperature=0.7, top_p=0.9):
26
+ inputs = tokenizer(prompt, return_tensors="pt").to(device)
27
+ outputs = model.generate(
28
+ **inputs,
29
+ max_length=max_length,
30
+ temperature=temperature,
31
+ top_p=top_p,
32
+ do_sample=True
33
+ )
34
+ response = tokenizer.decode(outputs[0], skip_special_tokens=True)
35
+ return response
36
+
37
+ if __name__ == "__main__":
38
+ prompt = "Hello, how are you today?"
39
+ response = generate_response(prompt)
40
+ print(response)
41
+ ```
42
 
43
  - GitHub:[藏文心理健康支持对话数据集(Tibetan_Mental)与大模型(Tibetan_Mental_Chat)](https://github.com/Shajiu/Tibetan_Mental_Health_Chat "可选标题")