inflaton commited on
Commit
b5506da
·
1 Parent(s): 7fea7f2

finetuning internlm with P1 prompt

Browse files
.gitattributes CHANGED
@@ -43,3 +43,4 @@ results/mac-results_lf.csv filter=lfs diff=lfs merge=lfs -text
43
  datasets/mgtv/dev_en.csv filter=lfs diff=lfs merge=lfs -text
44
  datasets/mgtv/train_en.csv filter=lfs diff=lfs merge=lfs -text
45
  datasets/mgtv/unique_translations.csv filter=lfs diff=lfs merge=lfs -text
 
 
43
  datasets/mgtv/dev_en.csv filter=lfs diff=lfs merge=lfs -text
44
  datasets/mgtv/train_en.csv filter=lfs diff=lfs merge=lfs -text
45
  datasets/mgtv/unique_translations.csv filter=lfs diff=lfs merge=lfs -text
46
+ llama-factory/data/alpaca_mgtv_p1.json filter=lfs diff=lfs merge=lfs -text
competition/08_InterLM_finetuning.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
llama-factory/config/internlm2_5_7b_lora_sft.yaml ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### model
2
+ model_name_or_path: internlm/internlm2_5-7b-chat-1m
3
+
4
+ ### method
5
+ stage: sft
6
+ do_train: true
7
+ finetuning_type: lora
8
+ lora_target: all
9
+ quantization_bit: 4 # use 4-bit QLoRA
10
+ loraplus_lr_ratio: 16.0 # use LoRA+ with lambda=16.0
11
+ # use_unsloth: true # use UnslothAI's LoRA optimization for 2x faster training
12
+ upcast_layernorm: true
13
+
14
+ ### dataset
15
+ dataset: alpaca_mgtv_p1
16
+ template: chatml
17
+ cutoff_len: 1024
18
+ max_samples: 50
19
+ overwrite_cache: true
20
+ preprocessing_num_workers: 16
21
+
22
+ ### output
23
+ output_dir: saves/internlm2_5_7b/lora/sft
24
+ logging_steps: 10
25
+ save_steps: 10
26
+ plot_loss: true
27
+ overwrite_output_dir: true
28
+ # resume_from_checkpoint: true
29
+
30
+ ### train
31
+ per_device_train_batch_size: 1
32
+ gradient_accumulation_steps: 8
33
+ learning_rate: 1.0e-4
34
+ num_train_epochs: 6.0
35
+ lr_scheduler_type: cosine
36
+ warmup_ratio: 0.1
37
+ bf16: true
38
+ ddp_timeout: 180000000
39
+
40
+ ### eval
41
+ val_size: 0.02
42
+ per_device_eval_batch_size: 1
43
+ eval_strategy: steps
44
+ eval_steps: 10
45
+
46
+ report_to: wandb
47
+ run_name: internlm2_5_7b # optional
llama-factory/data/alpaca_mgtv_p1.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:26ede462ba9a0ea4bb41030128ec65bb6dd65539fed1e5a943011f8e1770bc8f
3
+ size 74376969
llama-factory/data/dataset_info.json CHANGED
@@ -1,4 +1,7 @@
1
  {
 
 
 
2
  "alpaca_mac": {
3
  "file_name": "alpaca_mac.json"
4
  },
 
1
  {
2
+ "alpaca_mgtv_p1": {
3
+ "file_name": "alpaca_mgtv_p1.json"
4
+ },
5
  "alpaca_mac": {
6
  "file_name": "alpaca_mac.json"
7
  },
llm_toolkit/logical_reasoning_utils.py CHANGED
@@ -9,6 +9,44 @@ from tqdm import tqdm
9
 
10
  print(f"loading {__file__}")
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  def calc_metrics(references, predictions, debug=False):
14
  assert len(references) == len(
@@ -48,7 +86,9 @@ def save_results(model_name, results_path, dataset, predictions, debug=False):
48
  df.to_csv(results_path, index=False)
49
 
50
 
51
- def load_logical_reasoning_dataset(data_path, tokenizer=None, chinese_prompt=True):
 
 
52
  postfix = "" if chinese_prompt else "_en"
53
  train_data_file = data_path + f"/train{postfix}.csv"
54
  test_data_file = data_path + f"/dev{postfix}.csv"
@@ -60,43 +100,8 @@ def load_logical_reasoning_dataset(data_path, tokenizer=None, chinese_prompt=Tru
60
  )
61
 
62
  if tokenizer:
63
- xreasoning_prompt = """你是一个情景猜谜游戏的主持人。游戏规则如下:
64
-
65
- 1. 参与者会得到一个谜面,谜面会描述一个简单又难以理解的事件。
66
- 2. 主持人知道谜底,谜底是谜面的答案。
67
- 3. 参与者可以询问任何封闭式问题来找寻事件的真相。
68
- 4. 对于每个问题,主持人将根据实际情况回答以下五个选项之一:是、不是、不重要、回答正确、问法错误。各回答的判断标准如下:
69
- - 若谜面和谜底能找到问题的答案,回答:是或者不是
70
- - 若谜面和谜底不能直接或者间接推断出问题的答案,回答:不重要
71
- - 若参与者提问不是一个封闭式问题或者问题难以理解,回答:问法错误
72
- - 若参与者提问基本还原了谜底真相,回答:回答正确
73
- 5. 回答中不能添加任何其它信息,也不能省略选项中的任何一个字。例如,不可以把“不是”省略成“不”。
74
-
75
- 请严格按照这些规则回答参与者提出的问题。
76
-
77
- **谜面:** {}
78
-
79
- **谜底:** {}
80
-
81
- **参与者提出的问题:** {}
82
- """
83
  reasoning_prompt = (
84
- """你是一个逻辑游戏的主持人。游戏规则如下:
85
-
86
- 1. 参与者会得到一个谜题。
87
- 2. 参与者可以通过提问来获取线索,尝试解开谜题。
88
- 3. 对于每个问题,主持人将根据实际情况回答以下五个选项之一:是、不是、不重要、回答正确、问法错误。
89
- 4. 回答中不能添加任何其它信息,也不能省略选项中的任何一个字。例如,不可以把“不是”省略成“不”。
90
- 5. 参与者需要根据回答来推理,并最终找出谜题的正确答案。
91
-
92
- 请严格按照这些规则回答参与者提出的问题。
93
-
94
- 谜题: {}
95
-
96
- 实际情况: {}
97
-
98
- 参与者提出的问题: {}
99
- """
100
  if chinese_prompt
101
  else """You are the host of a situational guessing game. The rules of the game are as follows:
102
 
 
9
 
10
  print(f"loading {__file__}")
11
 
12
+ P1 = """你是一个逻辑游戏的主持人。游戏规则如下:
13
+
14
+ 1. 参与者会得到一个谜题。
15
+ 2. 参与者可以通过提问来获取线索,尝试解开谜题。
16
+ 3. 对于每个问题,主持人将根据实际情况回答以下五个选项之一:是、不是、不重要、回答正确、问法错误。
17
+ 4. 回答中不能添加任何其它信息,也不能省略选项中的任何一个字。例如,不可以把“不是”省略成“不”。
18
+ 5. 参与者需要根据回答来推理,并最终找出谜题的正确答案。
19
+
20
+ 请严格按照这些规则回答参与者提出的问题。
21
+
22
+ 谜题: {}
23
+
24
+ 实际情况: {}
25
+
26
+ 参与者提出的问题: {}
27
+ """
28
+
29
+ P2 = """你是一个情景猜谜游戏的主持人。游戏规则如下:
30
+
31
+ 1. 参与者会得到一个谜面,谜面会描述一个简单又难以理解的事件。
32
+ 2. 主持人知道谜底,谜底是谜面的答案。
33
+ 3. 参与者可以询问任何封闭式问题来找寻事件的真相。
34
+ 4. 对于每个问题,主持人将根据实际情况回答以下五个选项之一:是、不是、不重要、回答正确、问法错误。各回答的判断标准如下:
35
+ - 若谜面和谜底能找到问题的答案,回答:是或者不是
36
+ - 若谜面和谜底不能直接或者间接推断出问题的答案,回答:不重要
37
+ - 若参与者提问不是一个封闭式问题或者问题难以理解,回答:问法错误
38
+ - 若参与者提问基本还原了谜底真相,回答:回答正确
39
+ 5. 回答中不能添加任何其它信息,也不能省略选项中的任何一个字。例如,不可以把“不是”省略成“不”。
40
+
41
+ 请严格按照这些规则回答参与者提出的问题。
42
+
43
+ **谜面:** {}
44
+
45
+ **谜底:** {}
46
+
47
+ **参与者提出的问题:** {}
48
+ """
49
+
50
 
51
  def calc_metrics(references, predictions, debug=False):
52
  assert len(references) == len(
 
86
  df.to_csv(results_path, index=False)
87
 
88
 
89
+ def load_logical_reasoning_dataset(
90
+ data_path, using_p1=True, tokenizer=None, chinese_prompt=True
91
+ ):
92
  postfix = "" if chinese_prompt else "_en"
93
  train_data_file = data_path + f"/train{postfix}.csv"
94
  test_data_file = data_path + f"/dev{postfix}.csv"
 
100
  )
101
 
102
  if tokenizer:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  reasoning_prompt = (
104
+ (P1 if using_p1 else P2)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  if chinese_prompt
106
  else """You are the host of a situational guessing game. The rules of the game are as follows:
107