wangrongsheng commited on
Commit
780f3fa
·
1 Parent(s): 43646eb
Files changed (37) hide show
  1. LLM-Detector-V2-11w/README.md +56 -0
  2. LLM-Detector-V2-11w/adapter_config.json +22 -0
  3. LLM-Detector-V2-11w/adapter_model.bin +3 -0
  4. LLM-Detector-V2-11w/all_results.json +7 -0
  5. LLM-Detector-V2-11w/checkpoint-10000/README.md +219 -0
  6. LLM-Detector-V2-11w/checkpoint-10000/adapter_config.json +22 -0
  7. LLM-Detector-V2-11w/checkpoint-10000/adapter_model.bin +3 -0
  8. LLM-Detector-V2-11w/checkpoint-10000/optimizer.pt +3 -0
  9. LLM-Detector-V2-11w/checkpoint-10000/qwen.tiktoken +0 -0
  10. LLM-Detector-V2-11w/checkpoint-10000/rng_state.pth +3 -0
  11. LLM-Detector-V2-11w/checkpoint-10000/scheduler.pt +3 -0
  12. LLM-Detector-V2-11w/checkpoint-10000/special_tokens_map.json +7 -0
  13. LLM-Detector-V2-11w/checkpoint-10000/tokenization_qwen.py +276 -0
  14. LLM-Detector-V2-11w/checkpoint-10000/tokenizer_config.json +13 -0
  15. LLM-Detector-V2-11w/checkpoint-10000/trainer_state.json +619 -0
  16. LLM-Detector-V2-11w/checkpoint-10000/training_args.bin +3 -0
  17. LLM-Detector-V2-11w/checkpoint-5000/README.md +219 -0
  18. LLM-Detector-V2-11w/checkpoint-5000/adapter_config.json +22 -0
  19. LLM-Detector-V2-11w/checkpoint-5000/adapter_model.bin +3 -0
  20. LLM-Detector-V2-11w/checkpoint-5000/optimizer.pt +3 -0
  21. LLM-Detector-V2-11w/checkpoint-5000/qwen.tiktoken +0 -0
  22. LLM-Detector-V2-11w/checkpoint-5000/rng_state.pth +3 -0
  23. LLM-Detector-V2-11w/checkpoint-5000/scheduler.pt +3 -0
  24. LLM-Detector-V2-11w/checkpoint-5000/special_tokens_map.json +7 -0
  25. LLM-Detector-V2-11w/checkpoint-5000/tokenization_qwen.py +276 -0
  26. LLM-Detector-V2-11w/checkpoint-5000/tokenizer_config.json +13 -0
  27. LLM-Detector-V2-11w/checkpoint-5000/trainer_state.json +319 -0
  28. LLM-Detector-V2-11w/checkpoint-5000/training_args.bin +3 -0
  29. LLM-Detector-V2-11w/qwen.tiktoken +0 -0
  30. LLM-Detector-V2-11w/special_tokens_map.json +7 -0
  31. LLM-Detector-V2-11w/tokenization_qwen.py +276 -0
  32. LLM-Detector-V2-11w/tokenizer_config.json +13 -0
  33. LLM-Detector-V2-11w/train_results.json +7 -0
  34. LLM-Detector-V2-11w/trainer_log.jsonl +112 -0
  35. LLM-Detector-V2-11w/trainer_state.json +694 -0
  36. LLM-Detector-V2-11w/training_args.bin +3 -0
  37. LLM-Detector-V2-11w/training_loss.png +0 -0
LLM-Detector-V2-11w/README.md ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ base_model: ./Qwen-7B-Chat
4
+ tags:
5
+ - llama-factory
6
+ - lora
7
+ - generated_from_trainer
8
+ model-index:
9
+ - name: qwen-7b
10
+ results: []
11
+ ---
12
+
13
+ <!-- This model card has been generated automatically according to the information the Trainer had access to. You
14
+ should probably proofread and complete it, then remove this comment. -->
15
+
16
+ # qwen-7b
17
+
18
+ This model is a fine-tuned version of [./Qwen-7B-Chat](https://huggingface.co/./Qwen-7B-Chat) on the ta, the tb, the tc, the td, the te, the tf, the tg and the th datasets.
19
+
20
+ ## Model description
21
+
22
+ More information needed
23
+
24
+ ## Intended uses & limitations
25
+
26
+ More information needed
27
+
28
+ ## Training and evaluation data
29
+
30
+ More information needed
31
+
32
+ ## Training procedure
33
+
34
+ ### Training hyperparameters
35
+
36
+ The following hyperparameters were used during training:
37
+ - learning_rate: 5e-05
38
+ - train_batch_size: 8
39
+ - eval_batch_size: 8
40
+ - seed: 42
41
+ - gradient_accumulation_steps: 4
42
+ - total_train_batch_size: 32
43
+ - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
44
+ - lr_scheduler_type: cosine
45
+ - num_epochs: 3.0
46
+
47
+ ### Training results
48
+
49
+
50
+
51
+ ### Framework versions
52
+
53
+ - Transformers 4.33.0
54
+ - Pytorch 2.1.1+cu121
55
+ - Datasets 2.14.7
56
+ - Tokenizers 0.13.3
LLM-Detector-V2-11w/adapter_config.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alpha_pattern": {},
3
+ "auto_mapping": null,
4
+ "base_model_name_or_path": "./Qwen-7B-Chat",
5
+ "bias": "none",
6
+ "fan_in_fan_out": false,
7
+ "inference_mode": true,
8
+ "init_lora_weights": true,
9
+ "layers_pattern": null,
10
+ "layers_to_transform": null,
11
+ "lora_alpha": 16.0,
12
+ "lora_dropout": 0.1,
13
+ "modules_to_save": null,
14
+ "peft_type": "LORA",
15
+ "r": 8,
16
+ "rank_pattern": {},
17
+ "revision": null,
18
+ "target_modules": [
19
+ "c_attn"
20
+ ],
21
+ "task_type": "CAUSAL_LM"
22
+ }
LLM-Detector-V2-11w/adapter_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aa28fb27cb3e2ac4a0dcc009ae2625d376e7364c2e8d729cd3e3fe1fc668d427
3
+ size 16800174
LLM-Detector-V2-11w/all_results.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 3.0,
3
+ "train_loss": 0.02652581251227368,
4
+ "train_runtime": 75119.2077,
5
+ "train_samples_per_second": 4.749,
6
+ "train_steps_per_second": 0.148
7
+ }
LLM-Detector-V2-11w/checkpoint-10000/README.md ADDED
@@ -0,0 +1,219 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: peft
3
+ base_model: ./Qwen-7B-Chat
4
+ ---
5
+
6
+ # Model Card for Model ID
7
+
8
+ <!-- Provide a quick summary of what the model is/does. -->
9
+
10
+
11
+
12
+ ## Model Details
13
+
14
+ ### Model Description
15
+
16
+ <!-- Provide a longer summary of what this model is. -->
17
+
18
+
19
+
20
+ - **Developed by:** [More Information Needed]
21
+ - **Shared by [optional]:** [More Information Needed]
22
+ - **Model type:** [More Information Needed]
23
+ - **Language(s) (NLP):** [More Information Needed]
24
+ - **License:** [More Information Needed]
25
+ - **Finetuned from model [optional]:** [More Information Needed]
26
+
27
+ ### Model Sources [optional]
28
+
29
+ <!-- Provide the basic links for the model. -->
30
+
31
+ - **Repository:** [More Information Needed]
32
+ - **Paper [optional]:** [More Information Needed]
33
+ - **Demo [optional]:** [More Information Needed]
34
+
35
+ ## Uses
36
+
37
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
38
+
39
+ ### Direct Use
40
+
41
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
42
+
43
+ [More Information Needed]
44
+
45
+ ### Downstream Use [optional]
46
+
47
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
48
+
49
+ [More Information Needed]
50
+
51
+ ### Out-of-Scope Use
52
+
53
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
54
+
55
+ [More Information Needed]
56
+
57
+ ## Bias, Risks, and Limitations
58
+
59
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
60
+
61
+ [More Information Needed]
62
+
63
+ ### Recommendations
64
+
65
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
66
+
67
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
68
+
69
+ ## How to Get Started with the Model
70
+
71
+ Use the code below to get started with the model.
72
+
73
+ [More Information Needed]
74
+
75
+ ## Training Details
76
+
77
+ ### Training Data
78
+
79
+ <!-- This should link to a Data Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
80
+
81
+ [More Information Needed]
82
+
83
+ ### Training Procedure
84
+
85
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
86
+
87
+ #### Preprocessing [optional]
88
+
89
+ [More Information Needed]
90
+
91
+
92
+ #### Training Hyperparameters
93
+
94
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
95
+
96
+ #### Speeds, Sizes, Times [optional]
97
+
98
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
99
+
100
+ [More Information Needed]
101
+
102
+ ## Evaluation
103
+
104
+ <!-- This section describes the evaluation protocols and provides the results. -->
105
+
106
+ ### Testing Data, Factors & Metrics
107
+
108
+ #### Testing Data
109
+
110
+ <!-- This should link to a Data Card if possible. -->
111
+
112
+ [More Information Needed]
113
+
114
+ #### Factors
115
+
116
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
117
+
118
+ [More Information Needed]
119
+
120
+ #### Metrics
121
+
122
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
123
+
124
+ [More Information Needed]
125
+
126
+ ### Results
127
+
128
+ [More Information Needed]
129
+
130
+ #### Summary
131
+
132
+
133
+
134
+ ## Model Examination [optional]
135
+
136
+ <!-- Relevant interpretability work for the model goes here -->
137
+
138
+ [More Information Needed]
139
+
140
+ ## Environmental Impact
141
+
142
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
143
+
144
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
145
+
146
+ - **Hardware Type:** [More Information Needed]
147
+ - **Hours used:** [More Information Needed]
148
+ - **Cloud Provider:** [More Information Needed]
149
+ - **Compute Region:** [More Information Needed]
150
+ - **Carbon Emitted:** [More Information Needed]
151
+
152
+ ## Technical Specifications [optional]
153
+
154
+ ### Model Architecture and Objective
155
+
156
+ [More Information Needed]
157
+
158
+ ### Compute Infrastructure
159
+
160
+ [More Information Needed]
161
+
162
+ #### Hardware
163
+
164
+ [More Information Needed]
165
+
166
+ #### Software
167
+
168
+ [More Information Needed]
169
+
170
+ ## Citation [optional]
171
+
172
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
173
+
174
+ **BibTeX:**
175
+
176
+ [More Information Needed]
177
+
178
+ **APA:**
179
+
180
+ [More Information Needed]
181
+
182
+ ## Glossary [optional]
183
+
184
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
185
+
186
+ [More Information Needed]
187
+
188
+ ## More Information [optional]
189
+
190
+ [More Information Needed]
191
+
192
+ ## Model Card Authors [optional]
193
+
194
+ [More Information Needed]
195
+
196
+ ## Model Card Contact
197
+
198
+ [More Information Needed]
199
+
200
+
201
+ ## Training procedure
202
+
203
+
204
+ The following `bitsandbytes` quantization config was used during training:
205
+ - quant_method: QuantizationMethod.BITS_AND_BYTES
206
+ - load_in_8bit: False
207
+ - load_in_4bit: True
208
+ - llm_int8_threshold: 6.0
209
+ - llm_int8_skip_modules: None
210
+ - llm_int8_enable_fp32_cpu_offload: False
211
+ - llm_int8_has_fp16_weight: False
212
+ - bnb_4bit_quant_type: nf4
213
+ - bnb_4bit_use_double_quant: True
214
+ - bnb_4bit_compute_dtype: float16
215
+
216
+ ### Framework versions
217
+
218
+
219
+ - PEFT 0.6.2
LLM-Detector-V2-11w/checkpoint-10000/adapter_config.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alpha_pattern": {},
3
+ "auto_mapping": null,
4
+ "base_model_name_or_path": "./Qwen-7B-Chat",
5
+ "bias": "none",
6
+ "fan_in_fan_out": false,
7
+ "inference_mode": true,
8
+ "init_lora_weights": true,
9
+ "layers_pattern": null,
10
+ "layers_to_transform": null,
11
+ "lora_alpha": 16.0,
12
+ "lora_dropout": 0.1,
13
+ "modules_to_save": null,
14
+ "peft_type": "LORA",
15
+ "r": 8,
16
+ "rank_pattern": {},
17
+ "revision": null,
18
+ "target_modules": [
19
+ "c_attn"
20
+ ],
21
+ "task_type": "CAUSAL_LM"
22
+ }
LLM-Detector-V2-11w/checkpoint-10000/adapter_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:428b8088a29cff7c5c089fc070676ce5d5533d090968bef405cecf60563d7d89
3
+ size 16800174
LLM-Detector-V2-11w/checkpoint-10000/optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:761aa59808bd5f017a6eda15a41348687530b88f7cd62c4d7b3c8b23e1b5ed04
3
+ size 33608634
LLM-Detector-V2-11w/checkpoint-10000/qwen.tiktoken ADDED
The diff for this file is too large to render. See raw diff
 
LLM-Detector-V2-11w/checkpoint-10000/rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8c035419991828d3dd21375923850ee5fac9f2d49f2961f78cb1c9b4e67dafdc
3
+ size 14244
LLM-Detector-V2-11w/checkpoint-10000/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5b2a8d700988cc2f86488cac04f06e51e20e5906b4dba4ca183109282717cb7e
3
+ size 1064
LLM-Detector-V2-11w/checkpoint-10000/special_tokens_map.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<|im_end|>"
4
+ ],
5
+ "eos_token": "<|endoftext|>",
6
+ "pad_token": "<|endoftext|>"
7
+ }
LLM-Detector-V2-11w/checkpoint-10000/tokenization_qwen.py ADDED
@@ -0,0 +1,276 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Alibaba Cloud.
2
+ #
3
+ # This source code is licensed under the license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ """Tokenization classes for QWen."""
7
+
8
+ import base64
9
+ import logging
10
+ import os
11
+ import unicodedata
12
+ from typing import Collection, Dict, List, Set, Tuple, Union
13
+
14
+ import tiktoken
15
+ from transformers import PreTrainedTokenizer, AddedToken
16
+
17
+ logger = logging.getLogger(__name__)
18
+
19
+
20
+ VOCAB_FILES_NAMES = {"vocab_file": "qwen.tiktoken"}
21
+
22
+ PAT_STR = r"""(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+"""
23
+ ENDOFTEXT = "<|endoftext|>"
24
+ IMSTART = "<|im_start|>"
25
+ IMEND = "<|im_end|>"
26
+ # as the default behavior is changed to allow special tokens in
27
+ # regular texts, the surface forms of special tokens need to be
28
+ # as different as possible to minimize the impact
29
+ EXTRAS = tuple((f"<|extra_{i}|>" for i in range(205)))
30
+ # changed to use actual index to avoid misconfiguration with vocabulary expansion
31
+ SPECIAL_START_ID = 151643
32
+ SPECIAL_TOKENS = tuple(
33
+ enumerate(
34
+ (
35
+ (
36
+ ENDOFTEXT,
37
+ IMSTART,
38
+ IMEND,
39
+ )
40
+ + EXTRAS
41
+ ),
42
+ start=SPECIAL_START_ID,
43
+ )
44
+ )
45
+ SPECIAL_TOKENS_SET = set(t for i, t in SPECIAL_TOKENS)
46
+
47
+
48
+ def _load_tiktoken_bpe(tiktoken_bpe_file: str) -> Dict[bytes, int]:
49
+ with open(tiktoken_bpe_file, "rb") as f:
50
+ contents = f.read()
51
+ return {
52
+ base64.b64decode(token): int(rank)
53
+ for token, rank in (line.split() for line in contents.splitlines() if line)
54
+ }
55
+
56
+
57
+ class QWenTokenizer(PreTrainedTokenizer):
58
+ """QWen tokenizer."""
59
+
60
+ vocab_files_names = VOCAB_FILES_NAMES
61
+
62
+ def __init__(
63
+ self,
64
+ vocab_file,
65
+ errors="replace",
66
+ extra_vocab_file=None,
67
+ **kwargs,
68
+ ):
69
+ super().__init__(**kwargs)
70
+
71
+ # how to handle errors in decoding UTF-8 byte sequences
72
+ # use ignore if you are in streaming inference
73
+ self.errors = errors
74
+
75
+ self.mergeable_ranks = _load_tiktoken_bpe(vocab_file) # type: Dict[bytes, int]
76
+ self.special_tokens = {
77
+ token: index
78
+ for index, token in SPECIAL_TOKENS
79
+ }
80
+
81
+ # try load extra vocab from file
82
+ if extra_vocab_file is not None:
83
+ used_ids = set(self.mergeable_ranks.values()) | set(self.special_tokens.values())
84
+ extra_mergeable_ranks = _load_tiktoken_bpe(extra_vocab_file)
85
+ for token, index in extra_mergeable_ranks.items():
86
+ if token in self.mergeable_ranks:
87
+ logger.info(f"extra token {token} exists, skipping")
88
+ continue
89
+ if index in used_ids:
90
+ logger.info(f'the index {index} for extra token {token} exists, skipping')
91
+ continue
92
+ self.mergeable_ranks[token] = index
93
+ # the index may be sparse after this, but don't worry tiktoken.Encoding will handle this
94
+
95
+ enc = tiktoken.Encoding(
96
+ "Qwen",
97
+ pat_str=PAT_STR,
98
+ mergeable_ranks=self.mergeable_ranks,
99
+ special_tokens=self.special_tokens,
100
+ )
101
+ assert (
102
+ len(self.mergeable_ranks) + len(self.special_tokens) == enc.n_vocab
103
+ ), f"{len(self.mergeable_ranks) + len(self.special_tokens)} != {enc.n_vocab} in encoding"
104
+
105
+ self.decoder = {
106
+ v: k for k, v in self.mergeable_ranks.items()
107
+ } # type: dict[int, bytes|str]
108
+ self.decoder.update({v: k for k, v in self.special_tokens.items()})
109
+
110
+ self.tokenizer = enc # type: tiktoken.Encoding
111
+
112
+ self.eod_id = self.tokenizer.eot_token
113
+ self.im_start_id = self.special_tokens[IMSTART]
114
+ self.im_end_id = self.special_tokens[IMEND]
115
+
116
+ def __getstate__(self):
117
+ # for pickle lovers
118
+ state = self.__dict__.copy()
119
+ del state["tokenizer"]
120
+ return state
121
+
122
+ def __setstate__(self, state):
123
+ # tokenizer is not python native; don't pass it; rebuild it
124
+ self.__dict__.update(state)
125
+ enc = tiktoken.Encoding(
126
+ "Qwen",
127
+ pat_str=PAT_STR,
128
+ mergeable_ranks=self.mergeable_ranks,
129
+ special_tokens=self.special_tokens,
130
+ )
131
+ self.tokenizer = enc
132
+
133
+ def __len__(self) -> int:
134
+ return self.tokenizer.n_vocab
135
+
136
+ def get_vocab(self) -> Dict[bytes, int]:
137
+ return self.mergeable_ranks
138
+
139
+ def convert_tokens_to_ids(
140
+ self, tokens: Union[bytes, str, List[Union[bytes, str]]]
141
+ ) -> List[int]:
142
+ ids = []
143
+ if isinstance(tokens, (str, bytes)):
144
+ if tokens in self.special_tokens:
145
+ return self.special_tokens[tokens]
146
+ else:
147
+ return self.mergeable_ranks.get(tokens)
148
+ for token in tokens:
149
+ if token in self.special_tokens:
150
+ ids.append(self.special_tokens[token])
151
+ else:
152
+ ids.append(self.mergeable_ranks.get(token))
153
+ return ids
154
+
155
+ def _add_tokens(
156
+ self,
157
+ new_tokens: Union[List[str], List[AddedToken]],
158
+ special_tokens: bool = False,
159
+ ) -> int:
160
+ if not special_tokens and new_tokens:
161
+ raise ValueError("Adding regular tokens is not supported")
162
+ for token in new_tokens:
163
+ surface_form = token.content if isinstance(token, AddedToken) else token
164
+ if surface_form not in SPECIAL_TOKENS_SET:
165
+ raise ValueError("Adding unknown special tokens is not supported")
166
+ return 0
167
+
168
+ def save_vocabulary(self, save_directory: str, **kwargs) -> Tuple[str]:
169
+ """
170
+ Save only the vocabulary of the tokenizer (vocabulary).
171
+
172
+ Returns:
173
+ `Tuple(str)`: Paths to the files saved.
174
+ """
175
+ file_path = os.path.join(save_directory, "qwen.tiktoken")
176
+ with open(file_path, "w", encoding="utf8") as w:
177
+ for k, v in self.mergeable_ranks.items():
178
+ line = base64.b64encode(k).decode("utf8") + " " + str(v) + "\n"
179
+ w.write(line)
180
+ return (file_path,)
181
+
182
+ def tokenize(
183
+ self,
184
+ text: str,
185
+ allowed_special: Union[Set, str] = "all",
186
+ disallowed_special: Union[Collection, str] = (),
187
+ **kwargs,
188
+ ) -> List[Union[bytes, str]]:
189
+ """
190
+ Converts a string in a sequence of tokens.
191
+
192
+ Args:
193
+ text (`str`):
194
+ The sequence to be encoded.
195
+ allowed_special (`Literal["all"]` or `set`):
196
+ The surface forms of the tokens to be encoded as special tokens in regular texts.
197
+ Default to "all".
198
+ disallowed_special (`Literal["all"]` or `Collection`):
199
+ The surface forms of the tokens that should not be in regular texts and trigger errors.
200
+ Default to an empty tuple.
201
+
202
+ kwargs (additional keyword arguments, *optional*):
203
+ Will be passed to the underlying model specific encode method.
204
+
205
+ Returns:
206
+ `List[bytes|str]`: The list of tokens.
207
+ """
208
+ tokens = []
209
+ text = unicodedata.normalize("NFC", text)
210
+
211
+ # this implementation takes a detour: text -> token id -> token surface forms
212
+ for t in self.tokenizer.encode(
213
+ text, allowed_special=allowed_special, disallowed_special=disallowed_special
214
+ ):
215
+ tokens.append(self.decoder[t])
216
+ return tokens
217
+
218
+ def convert_tokens_to_string(self, tokens: List[Union[bytes, str]]) -> str:
219
+ """
220
+ Converts a sequence of tokens in a single string.
221
+ """
222
+ text = ""
223
+ temp = b""
224
+ for t in tokens:
225
+ if isinstance(t, str):
226
+ if temp:
227
+ text += temp.decode("utf-8", errors=self.errors)
228
+ temp = b""
229
+ text += t
230
+ elif isinstance(t, bytes):
231
+ temp += t
232
+ else:
233
+ raise TypeError("token should only be of type types or str")
234
+ if temp:
235
+ text += temp.decode("utf-8", errors=self.errors)
236
+ return text
237
+
238
+ @property
239
+ def vocab_size(self):
240
+ return self.tokenizer.n_vocab
241
+
242
+ def _convert_id_to_token(self, index: int) -> Union[bytes, str]:
243
+ """Converts an id to a token, special tokens included"""
244
+ if index in self.decoder:
245
+ return self.decoder[index]
246
+ raise ValueError("unknown ids")
247
+
248
+ def _convert_token_to_id(self, token: Union[bytes, str]) -> int:
249
+ """Converts a token to an id using the vocab, special tokens included"""
250
+ if token in self.special_tokens:
251
+ return self.special_tokens[token]
252
+ if token in self.mergeable_ranks:
253
+ return self.mergeable_ranks[token]
254
+ raise ValueError("unknown token")
255
+
256
+ def _tokenize(self, text: str, **kwargs):
257
+ """
258
+ Converts a string in a sequence of tokens (string), using the tokenizer. Split in words for word-based
259
+ vocabulary or sub-words for sub-word-based vocabularies (BPE/SentencePieces/WordPieces).
260
+
261
+ Do NOT take care of added tokens.
262
+ """
263
+ raise NotImplementedError
264
+
265
+ def _decode(
266
+ self,
267
+ token_ids: Union[int, List[int]],
268
+ skip_special_tokens: bool = False,
269
+ errors: str = None,
270
+ **kwargs,
271
+ ) -> str:
272
+ if isinstance(token_ids, int):
273
+ token_ids = [token_ids]
274
+ if skip_special_tokens:
275
+ token_ids = [i for i in token_ids if i < self.eod_id]
276
+ return self.tokenizer.decode(token_ids, errors=errors or self.errors)
LLM-Detector-V2-11w/checkpoint-10000/tokenizer_config.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoTokenizer": [
4
+ "tokenization_qwen.QWenTokenizer",
5
+ null
6
+ ]
7
+ },
8
+ "clean_up_tokenization_spaces": true,
9
+ "model_max_length": 8192,
10
+ "padding_side": "right",
11
+ "split_special_tokens": false,
12
+ "tokenizer_class": "QWenTokenizer"
13
+ }
LLM-Detector-V2-11w/checkpoint-10000/trainer_state.json ADDED
@@ -0,0 +1,619 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_metric": null,
3
+ "best_model_checkpoint": null,
4
+ "epoch": 2.6907036189963676,
5
+ "eval_steps": 500,
6
+ "global_step": 10000,
7
+ "is_hyper_param_search": false,
8
+ "is_local_process_zero": true,
9
+ "is_world_process_zero": true,
10
+ "log_history": [
11
+ {
12
+ "epoch": 0.03,
13
+ "learning_rate": 4.9990073706856164e-05,
14
+ "loss": 2.2244,
15
+ "step": 100
16
+ },
17
+ {
18
+ "epoch": 0.05,
19
+ "learning_rate": 4.99603027099283e-05,
20
+ "loss": 0.0286,
21
+ "step": 200
22
+ },
23
+ {
24
+ "epoch": 0.08,
25
+ "learning_rate": 4.991071065046783e-05,
26
+ "loss": 0.0144,
27
+ "step": 300
28
+ },
29
+ {
30
+ "epoch": 0.11,
31
+ "learning_rate": 4.984133690970033e-05,
32
+ "loss": 0.0223,
33
+ "step": 400
34
+ },
35
+ {
36
+ "epoch": 0.13,
37
+ "learning_rate": 4.975223657755279e-05,
38
+ "loss": 0.0179,
39
+ "step": 500
40
+ },
41
+ {
42
+ "epoch": 0.16,
43
+ "learning_rate": 4.9643480408906496e-05,
44
+ "loss": 0.0246,
45
+ "step": 600
46
+ },
47
+ {
48
+ "epoch": 0.19,
49
+ "learning_rate": 4.951515476741036e-05,
50
+ "loss": 0.0181,
51
+ "step": 700
52
+ },
53
+ {
54
+ "epoch": 0.22,
55
+ "learning_rate": 4.936736155689918e-05,
56
+ "loss": 0.0155,
57
+ "step": 800
58
+ },
59
+ {
60
+ "epoch": 0.24,
61
+ "learning_rate": 4.920021814047156e-05,
62
+ "loss": 0.0122,
63
+ "step": 900
64
+ },
65
+ {
66
+ "epoch": 0.27,
67
+ "learning_rate": 4.901385724729137e-05,
68
+ "loss": 0.0128,
69
+ "step": 1000
70
+ },
71
+ {
72
+ "epoch": 0.3,
73
+ "learning_rate": 4.880842686718711e-05,
74
+ "loss": 0.016,
75
+ "step": 1100
76
+ },
77
+ {
78
+ "epoch": 0.32,
79
+ "learning_rate": 4.858409013313266e-05,
80
+ "loss": 0.0134,
81
+ "step": 1200
82
+ },
83
+ {
84
+ "epoch": 0.35,
85
+ "learning_rate": 4.8341025191702847e-05,
86
+ "loss": 0.0099,
87
+ "step": 1300
88
+ },
89
+ {
90
+ "epoch": 0.38,
91
+ "learning_rate": 4.80794250616066e-05,
92
+ "loss": 0.0102,
93
+ "step": 1400
94
+ },
95
+ {
96
+ "epoch": 0.4,
97
+ "learning_rate": 4.7799497480410125e-05,
98
+ "loss": 0.0109,
99
+ "step": 1500
100
+ },
101
+ {
102
+ "epoch": 0.43,
103
+ "learning_rate": 4.7501464739571836e-05,
104
+ "loss": 0.0117,
105
+ "step": 1600
106
+ },
107
+ {
108
+ "epoch": 0.46,
109
+ "learning_rate": 4.7185563507919895e-05,
110
+ "loss": 0.0154,
111
+ "step": 1700
112
+ },
113
+ {
114
+ "epoch": 0.48,
115
+ "learning_rate": 4.685204464371269e-05,
116
+ "loss": 0.0107,
117
+ "step": 1800
118
+ },
119
+ {
120
+ "epoch": 0.51,
121
+ "learning_rate": 4.6501172995431424e-05,
122
+ "loss": 0.0133,
123
+ "step": 1900
124
+ },
125
+ {
126
+ "epoch": 0.54,
127
+ "learning_rate": 4.6133227191463044e-05,
128
+ "loss": 0.0157,
129
+ "step": 2000
130
+ },
131
+ {
132
+ "epoch": 0.57,
133
+ "learning_rate": 4.574849941884044e-05,
134
+ "loss": 0.0115,
135
+ "step": 2100
136
+ },
137
+ {
138
+ "epoch": 0.59,
139
+ "learning_rate": 4.534729519121574e-05,
140
+ "loss": 0.0135,
141
+ "step": 2200
142
+ },
143
+ {
144
+ "epoch": 0.62,
145
+ "learning_rate": 4.492993310625088e-05,
146
+ "loss": 0.0104,
147
+ "step": 2300
148
+ },
149
+ {
150
+ "epoch": 0.65,
151
+ "learning_rate": 4.449674459261804e-05,
152
+ "loss": 0.0113,
153
+ "step": 2400
154
+ },
155
+ {
156
+ "epoch": 0.67,
157
+ "learning_rate": 4.404807364681105e-05,
158
+ "loss": 0.0075,
159
+ "step": 2500
160
+ },
161
+ {
162
+ "epoch": 0.7,
163
+ "learning_rate": 4.358427655997657e-05,
164
+ "loss": 0.011,
165
+ "step": 2600
166
+ },
167
+ {
168
+ "epoch": 0.73,
169
+ "learning_rate": 4.310572163498205e-05,
170
+ "loss": 0.0103,
171
+ "step": 2700
172
+ },
173
+ {
174
+ "epoch": 0.75,
175
+ "learning_rate": 4.2612788893945176e-05,
176
+ "loss": 0.0126,
177
+ "step": 2800
178
+ },
179
+ {
180
+ "epoch": 0.78,
181
+ "learning_rate": 4.2105869776456944e-05,
182
+ "loss": 0.0084,
183
+ "step": 2900
184
+ },
185
+ {
186
+ "epoch": 0.81,
187
+ "learning_rate": 4.158536682873821e-05,
188
+ "loss": 0.0069,
189
+ "step": 3000
190
+ },
191
+ {
192
+ "epoch": 0.83,
193
+ "learning_rate": 4.1051693383976264e-05,
194
+ "loss": 0.0089,
195
+ "step": 3100
196
+ },
197
+ {
198
+ "epoch": 0.86,
199
+ "learning_rate": 4.050527323409557e-05,
200
+ "loss": 0.0103,
201
+ "step": 3200
202
+ },
203
+ {
204
+ "epoch": 0.89,
205
+ "learning_rate": 3.994654029322313e-05,
206
+ "loss": 0.011,
207
+ "step": 3300
208
+ },
209
+ {
210
+ "epoch": 0.91,
211
+ "learning_rate": 3.937593825311575e-05,
212
+ "loss": 0.0063,
213
+ "step": 3400
214
+ },
215
+ {
216
+ "epoch": 0.94,
217
+ "learning_rate": 3.8793920230822925e-05,
218
+ "loss": 0.0091,
219
+ "step": 3500
220
+ },
221
+ {
222
+ "epoch": 0.97,
223
+ "learning_rate": 3.8200948408864986e-05,
224
+ "loss": 0.0072,
225
+ "step": 3600
226
+ },
227
+ {
228
+ "epoch": 1.0,
229
+ "learning_rate": 3.759749366821241e-05,
230
+ "loss": 0.007,
231
+ "step": 3700
232
+ },
233
+ {
234
+ "epoch": 1.02,
235
+ "learning_rate": 3.698403521435756e-05,
236
+ "loss": 0.0067,
237
+ "step": 3800
238
+ },
239
+ {
240
+ "epoch": 1.05,
241
+ "learning_rate": 3.636106019677602e-05,
242
+ "loss": 0.0055,
243
+ "step": 3900
244
+ },
245
+ {
246
+ "epoch": 1.08,
247
+ "learning_rate": 3.572906332207943e-05,
248
+ "loss": 0.0071,
249
+ "step": 4000
250
+ },
251
+ {
252
+ "epoch": 1.1,
253
+ "learning_rate": 3.5088546461167346e-05,
254
+ "loss": 0.0056,
255
+ "step": 4100
256
+ },
257
+ {
258
+ "epoch": 1.13,
259
+ "learning_rate": 3.4440018250689767e-05,
260
+ "loss": 0.0074,
261
+ "step": 4200
262
+ },
263
+ {
264
+ "epoch": 1.16,
265
+ "learning_rate": 3.3783993689137015e-05,
266
+ "loss": 0.0061,
267
+ "step": 4300
268
+ },
269
+ {
270
+ "epoch": 1.18,
271
+ "learning_rate": 3.312099372787772e-05,
272
+ "loss": 0.0051,
273
+ "step": 4400
274
+ },
275
+ {
276
+ "epoch": 1.21,
277
+ "learning_rate": 3.2451544857469436e-05,
278
+ "loss": 0.0078,
279
+ "step": 4500
280
+ },
281
+ {
282
+ "epoch": 1.24,
283
+ "learning_rate": 3.177617868957078e-05,
284
+ "loss": 0.0064,
285
+ "step": 4600
286
+ },
287
+ {
288
+ "epoch": 1.26,
289
+ "learning_rate": 3.109543153478671e-05,
290
+ "loss": 0.0064,
291
+ "step": 4700
292
+ },
293
+ {
294
+ "epoch": 1.29,
295
+ "learning_rate": 3.040984397678245e-05,
296
+ "loss": 0.0064,
297
+ "step": 4800
298
+ },
299
+ {
300
+ "epoch": 1.32,
301
+ "learning_rate": 2.9719960443004107e-05,
302
+ "loss": 0.0062,
303
+ "step": 4900
304
+ },
305
+ {
306
+ "epoch": 1.35,
307
+ "learning_rate": 2.9026328772347e-05,
308
+ "loss": 0.0056,
309
+ "step": 5000
310
+ },
311
+ {
312
+ "epoch": 1.37,
313
+ "learning_rate": 2.8329499780114865e-05,
314
+ "loss": 0.0096,
315
+ "step": 5100
316
+ },
317
+ {
318
+ "epoch": 1.4,
319
+ "learning_rate": 2.763002682061555e-05,
320
+ "loss": 0.0054,
321
+ "step": 5200
322
+ },
323
+ {
324
+ "epoch": 1.43,
325
+ "learning_rate": 2.6928465347740434e-05,
326
+ "loss": 0.0049,
327
+ "step": 5300
328
+ },
329
+ {
330
+ "epoch": 1.45,
331
+ "learning_rate": 2.6225372473876565e-05,
332
+ "loss": 0.0023,
333
+ "step": 5400
334
+ },
335
+ {
336
+ "epoch": 1.48,
337
+ "learning_rate": 2.552835016828629e-05,
338
+ "loss": 0.0065,
339
+ "step": 5500
340
+ },
341
+ {
342
+ "epoch": 1.51,
343
+ "learning_rate": 2.4823871621313255e-05,
344
+ "loss": 0.0032,
345
+ "step": 5600
346
+ },
347
+ {
348
+ "epoch": 1.53,
349
+ "learning_rate": 2.411953293849365e-05,
350
+ "loss": 0.0043,
351
+ "step": 5700
352
+ },
353
+ {
354
+ "epoch": 1.56,
355
+ "learning_rate": 2.341589343760652e-05,
356
+ "loss": 0.0038,
357
+ "step": 5800
358
+ },
359
+ {
360
+ "epoch": 1.59,
361
+ "learning_rate": 2.271351188120813e-05,
362
+ "loss": 0.0048,
363
+ "step": 5900
364
+ },
365
+ {
366
+ "epoch": 1.61,
367
+ "learning_rate": 2.2012946032916717e-05,
368
+ "loss": 0.0082,
369
+ "step": 6000
370
+ },
371
+ {
372
+ "epoch": 1.64,
373
+ "learning_rate": 2.1314752214490396e-05,
374
+ "loss": 0.0046,
375
+ "step": 6100
376
+ },
377
+ {
378
+ "epoch": 1.67,
379
+ "learning_rate": 2.061948486405021e-05,
380
+ "loss": 0.0063,
381
+ "step": 6200
382
+ },
383
+ {
384
+ "epoch": 1.7,
385
+ "learning_rate": 1.992769609579885e-05,
386
+ "loss": 0.0052,
387
+ "step": 6300
388
+ },
389
+ {
390
+ "epoch": 1.72,
391
+ "learning_rate": 1.9239935261584917e-05,
392
+ "loss": 0.0041,
393
+ "step": 6400
394
+ },
395
+ {
396
+ "epoch": 1.75,
397
+ "learning_rate": 1.8556748514660664e-05,
398
+ "loss": 0.004,
399
+ "step": 6500
400
+ },
401
+ {
402
+ "epoch": 1.78,
403
+ "learning_rate": 1.7878678375979845e-05,
404
+ "loss": 0.0035,
405
+ "step": 6600
406
+ },
407
+ {
408
+ "epoch": 1.8,
409
+ "learning_rate": 1.7206263303379948e-05,
410
+ "loss": 0.0066,
411
+ "step": 6700
412
+ },
413
+ {
414
+ "epoch": 1.83,
415
+ "learning_rate": 1.654003726399097e-05,
416
+ "loss": 0.0047,
417
+ "step": 6800
418
+ },
419
+ {
420
+ "epoch": 1.86,
421
+ "learning_rate": 1.5880529310210283e-05,
422
+ "loss": 0.005,
423
+ "step": 6900
424
+ },
425
+ {
426
+ "epoch": 1.88,
427
+ "learning_rate": 1.5228263159580275e-05,
428
+ "loss": 0.0033,
429
+ "step": 7000
430
+ },
431
+ {
432
+ "epoch": 1.91,
433
+ "learning_rate": 1.4583756778902463e-05,
434
+ "loss": 0.0059,
435
+ "step": 7100
436
+ },
437
+ {
438
+ "epoch": 1.94,
439
+ "learning_rate": 1.3947521972918251e-05,
440
+ "loss": 0.0051,
441
+ "step": 7200
442
+ },
443
+ {
444
+ "epoch": 1.96,
445
+ "learning_rate": 1.3320063977883046e-05,
446
+ "loss": 0.0041,
447
+ "step": 7300
448
+ },
449
+ {
450
+ "epoch": 1.99,
451
+ "learning_rate": 1.2701881060356396e-05,
452
+ "loss": 0.0049,
453
+ "step": 7400
454
+ },
455
+ {
456
+ "epoch": 2.02,
457
+ "learning_rate": 1.209346412152676e-05,
458
+ "loss": 0.0024,
459
+ "step": 7500
460
+ },
461
+ {
462
+ "epoch": 2.04,
463
+ "learning_rate": 1.149529630738521e-05,
464
+ "loss": 0.0035,
465
+ "step": 7600
466
+ },
467
+ {
468
+ "epoch": 2.07,
469
+ "learning_rate": 1.0907852625057538e-05,
470
+ "loss": 0.0013,
471
+ "step": 7700
472
+ },
473
+ {
474
+ "epoch": 2.1,
475
+ "learning_rate": 1.0331599565599464e-05,
476
+ "loss": 0.0014,
477
+ "step": 7800
478
+ },
479
+ {
480
+ "epoch": 2.13,
481
+ "learning_rate": 9.766994733554432e-06,
482
+ "loss": 0.004,
483
+ "step": 7900
484
+ },
485
+ {
486
+ "epoch": 2.15,
487
+ "learning_rate": 9.214486483568307e-06,
488
+ "loss": 0.0021,
489
+ "step": 8000
490
+ },
491
+ {
492
+ "epoch": 2.18,
493
+ "learning_rate": 8.674513564349376e-06,
494
+ "loss": 0.0025,
495
+ "step": 8100
496
+ },
497
+ {
498
+ "epoch": 2.21,
499
+ "learning_rate": 8.147504770256536e-06,
500
+ "loss": 0.0026,
501
+ "step": 8200
502
+ },
503
+ {
504
+ "epoch": 2.23,
505
+ "learning_rate": 7.633878600792143e-06,
506
+ "loss": 0.0018,
507
+ "step": 8300
508
+ },
509
+ {
510
+ "epoch": 2.26,
511
+ "learning_rate": 7.138971709507527e-06,
512
+ "loss": 0.0016,
513
+ "step": 8400
514
+ },
515
+ {
516
+ "epoch": 2.29,
517
+ "learning_rate": 6.653179652954706e-06,
518
+ "loss": 0.003,
519
+ "step": 8500
520
+ },
521
+ {
522
+ "epoch": 2.31,
523
+ "learning_rate": 6.181956869763645e-06,
524
+ "loss": 0.0011,
525
+ "step": 8600
526
+ },
527
+ {
528
+ "epoch": 2.34,
529
+ "learning_rate": 5.725677559572909e-06,
530
+ "loss": 0.0024,
531
+ "step": 8700
532
+ },
533
+ {
534
+ "epoch": 2.37,
535
+ "learning_rate": 5.284704055357578e-06,
536
+ "loss": 0.0007,
537
+ "step": 8800
538
+ },
539
+ {
540
+ "epoch": 2.39,
541
+ "learning_rate": 4.859386535699373e-06,
542
+ "loss": 0.0017,
543
+ "step": 8900
544
+ },
545
+ {
546
+ "epoch": 2.42,
547
+ "learning_rate": 4.4500627467086245e-06,
548
+ "loss": 0.0021,
549
+ "step": 9000
550
+ },
551
+ {
552
+ "epoch": 2.45,
553
+ "learning_rate": 4.057057733818967e-06,
554
+ "loss": 0.0016,
555
+ "step": 9100
556
+ },
557
+ {
558
+ "epoch": 2.48,
559
+ "learning_rate": 3.680683583667599e-06,
560
+ "loss": 0.0013,
561
+ "step": 9200
562
+ },
563
+ {
564
+ "epoch": 2.5,
565
+ "learning_rate": 3.321239176266211e-06,
566
+ "loss": 0.0028,
567
+ "step": 9300
568
+ },
569
+ {
570
+ "epoch": 2.53,
571
+ "learning_rate": 2.9790099476593393e-06,
572
+ "loss": 0.0007,
573
+ "step": 9400
574
+ },
575
+ {
576
+ "epoch": 2.56,
577
+ "learning_rate": 2.654267663258628e-06,
578
+ "loss": 0.0026,
579
+ "step": 9500
580
+ },
581
+ {
582
+ "epoch": 2.58,
583
+ "learning_rate": 2.3472702020329696e-06,
584
+ "loss": 0.0013,
585
+ "step": 9600
586
+ },
587
+ {
588
+ "epoch": 2.61,
589
+ "learning_rate": 2.0582613517259377e-06,
590
+ "loss": 0.0014,
591
+ "step": 9700
592
+ },
593
+ {
594
+ "epoch": 2.64,
595
+ "learning_rate": 1.7874706152630705e-06,
596
+ "loss": 0.0011,
597
+ "step": 9800
598
+ },
599
+ {
600
+ "epoch": 2.66,
601
+ "learning_rate": 1.5351130285028214e-06,
602
+ "loss": 0.0022,
603
+ "step": 9900
604
+ },
605
+ {
606
+ "epoch": 2.69,
607
+ "learning_rate": 1.3036333720407912e-06,
608
+ "loss": 0.0012,
609
+ "step": 10000
610
+ }
611
+ ],
612
+ "logging_steps": 100,
613
+ "max_steps": 11148,
614
+ "num_train_epochs": 3,
615
+ "save_steps": 5000,
616
+ "total_flos": 2.0893490293152154e+18,
617
+ "trial_name": null,
618
+ "trial_params": null
619
+ }
LLM-Detector-V2-11w/checkpoint-10000/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2501d0db9b5d010a4a25759f877d55c11a9cd335425e4c2cc6f2683c0ebb1612
3
+ size 4600
LLM-Detector-V2-11w/checkpoint-5000/README.md ADDED
@@ -0,0 +1,219 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: peft
3
+ base_model: ./Qwen-7B-Chat
4
+ ---
5
+
6
+ # Model Card for Model ID
7
+
8
+ <!-- Provide a quick summary of what the model is/does. -->
9
+
10
+
11
+
12
+ ## Model Details
13
+
14
+ ### Model Description
15
+
16
+ <!-- Provide a longer summary of what this model is. -->
17
+
18
+
19
+
20
+ - **Developed by:** [More Information Needed]
21
+ - **Shared by [optional]:** [More Information Needed]
22
+ - **Model type:** [More Information Needed]
23
+ - **Language(s) (NLP):** [More Information Needed]
24
+ - **License:** [More Information Needed]
25
+ - **Finetuned from model [optional]:** [More Information Needed]
26
+
27
+ ### Model Sources [optional]
28
+
29
+ <!-- Provide the basic links for the model. -->
30
+
31
+ - **Repository:** [More Information Needed]
32
+ - **Paper [optional]:** [More Information Needed]
33
+ - **Demo [optional]:** [More Information Needed]
34
+
35
+ ## Uses
36
+
37
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
38
+
39
+ ### Direct Use
40
+
41
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
42
+
43
+ [More Information Needed]
44
+
45
+ ### Downstream Use [optional]
46
+
47
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
48
+
49
+ [More Information Needed]
50
+
51
+ ### Out-of-Scope Use
52
+
53
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
54
+
55
+ [More Information Needed]
56
+
57
+ ## Bias, Risks, and Limitations
58
+
59
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
60
+
61
+ [More Information Needed]
62
+
63
+ ### Recommendations
64
+
65
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
66
+
67
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
68
+
69
+ ## How to Get Started with the Model
70
+
71
+ Use the code below to get started with the model.
72
+
73
+ [More Information Needed]
74
+
75
+ ## Training Details
76
+
77
+ ### Training Data
78
+
79
+ <!-- This should link to a Data Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
80
+
81
+ [More Information Needed]
82
+
83
+ ### Training Procedure
84
+
85
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
86
+
87
+ #### Preprocessing [optional]
88
+
89
+ [More Information Needed]
90
+
91
+
92
+ #### Training Hyperparameters
93
+
94
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
95
+
96
+ #### Speeds, Sizes, Times [optional]
97
+
98
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
99
+
100
+ [More Information Needed]
101
+
102
+ ## Evaluation
103
+
104
+ <!-- This section describes the evaluation protocols and provides the results. -->
105
+
106
+ ### Testing Data, Factors & Metrics
107
+
108
+ #### Testing Data
109
+
110
+ <!-- This should link to a Data Card if possible. -->
111
+
112
+ [More Information Needed]
113
+
114
+ #### Factors
115
+
116
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
117
+
118
+ [More Information Needed]
119
+
120
+ #### Metrics
121
+
122
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
123
+
124
+ [More Information Needed]
125
+
126
+ ### Results
127
+
128
+ [More Information Needed]
129
+
130
+ #### Summary
131
+
132
+
133
+
134
+ ## Model Examination [optional]
135
+
136
+ <!-- Relevant interpretability work for the model goes here -->
137
+
138
+ [More Information Needed]
139
+
140
+ ## Environmental Impact
141
+
142
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
143
+
144
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
145
+
146
+ - **Hardware Type:** [More Information Needed]
147
+ - **Hours used:** [More Information Needed]
148
+ - **Cloud Provider:** [More Information Needed]
149
+ - **Compute Region:** [More Information Needed]
150
+ - **Carbon Emitted:** [More Information Needed]
151
+
152
+ ## Technical Specifications [optional]
153
+
154
+ ### Model Architecture and Objective
155
+
156
+ [More Information Needed]
157
+
158
+ ### Compute Infrastructure
159
+
160
+ [More Information Needed]
161
+
162
+ #### Hardware
163
+
164
+ [More Information Needed]
165
+
166
+ #### Software
167
+
168
+ [More Information Needed]
169
+
170
+ ## Citation [optional]
171
+
172
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
173
+
174
+ **BibTeX:**
175
+
176
+ [More Information Needed]
177
+
178
+ **APA:**
179
+
180
+ [More Information Needed]
181
+
182
+ ## Glossary [optional]
183
+
184
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
185
+
186
+ [More Information Needed]
187
+
188
+ ## More Information [optional]
189
+
190
+ [More Information Needed]
191
+
192
+ ## Model Card Authors [optional]
193
+
194
+ [More Information Needed]
195
+
196
+ ## Model Card Contact
197
+
198
+ [More Information Needed]
199
+
200
+
201
+ ## Training procedure
202
+
203
+
204
+ The following `bitsandbytes` quantization config was used during training:
205
+ - quant_method: QuantizationMethod.BITS_AND_BYTES
206
+ - load_in_8bit: False
207
+ - load_in_4bit: True
208
+ - llm_int8_threshold: 6.0
209
+ - llm_int8_skip_modules: None
210
+ - llm_int8_enable_fp32_cpu_offload: False
211
+ - llm_int8_has_fp16_weight: False
212
+ - bnb_4bit_quant_type: nf4
213
+ - bnb_4bit_use_double_quant: True
214
+ - bnb_4bit_compute_dtype: float16
215
+
216
+ ### Framework versions
217
+
218
+
219
+ - PEFT 0.6.2
LLM-Detector-V2-11w/checkpoint-5000/adapter_config.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alpha_pattern": {},
3
+ "auto_mapping": null,
4
+ "base_model_name_or_path": "./Qwen-7B-Chat",
5
+ "bias": "none",
6
+ "fan_in_fan_out": false,
7
+ "inference_mode": true,
8
+ "init_lora_weights": true,
9
+ "layers_pattern": null,
10
+ "layers_to_transform": null,
11
+ "lora_alpha": 16.0,
12
+ "lora_dropout": 0.1,
13
+ "modules_to_save": null,
14
+ "peft_type": "LORA",
15
+ "r": 8,
16
+ "rank_pattern": {},
17
+ "revision": null,
18
+ "target_modules": [
19
+ "c_attn"
20
+ ],
21
+ "task_type": "CAUSAL_LM"
22
+ }
LLM-Detector-V2-11w/checkpoint-5000/adapter_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:73cf151fd4a6873a2c4a037defe6bd2cb0cf499be5d89967c9f023286b4258a6
3
+ size 16800174
LLM-Detector-V2-11w/checkpoint-5000/optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4a59bdfff13b7ea192b5b06e51c9a56fd45cb8aaa3b592a6ae50215c7c1d6b86
3
+ size 33608634
LLM-Detector-V2-11w/checkpoint-5000/qwen.tiktoken ADDED
The diff for this file is too large to render. See raw diff
 
LLM-Detector-V2-11w/checkpoint-5000/rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0873e58da7017c4ae0ea0a268eaa53956bc8ffd92e4697645c97f4f607410322
3
+ size 14244
LLM-Detector-V2-11w/checkpoint-5000/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bf48e457843d094d3761669f67579e960ebc0206509d4ada3fbacc891a92bf86
3
+ size 1064
LLM-Detector-V2-11w/checkpoint-5000/special_tokens_map.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<|im_end|>"
4
+ ],
5
+ "eos_token": "<|endoftext|>",
6
+ "pad_token": "<|endoftext|>"
7
+ }
LLM-Detector-V2-11w/checkpoint-5000/tokenization_qwen.py ADDED
@@ -0,0 +1,276 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Alibaba Cloud.
2
+ #
3
+ # This source code is licensed under the license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ """Tokenization classes for QWen."""
7
+
8
+ import base64
9
+ import logging
10
+ import os
11
+ import unicodedata
12
+ from typing import Collection, Dict, List, Set, Tuple, Union
13
+
14
+ import tiktoken
15
+ from transformers import PreTrainedTokenizer, AddedToken
16
+
17
+ logger = logging.getLogger(__name__)
18
+
19
+
20
+ VOCAB_FILES_NAMES = {"vocab_file": "qwen.tiktoken"}
21
+
22
+ PAT_STR = r"""(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+"""
23
+ ENDOFTEXT = "<|endoftext|>"
24
+ IMSTART = "<|im_start|>"
25
+ IMEND = "<|im_end|>"
26
+ # as the default behavior is changed to allow special tokens in
27
+ # regular texts, the surface forms of special tokens need to be
28
+ # as different as possible to minimize the impact
29
+ EXTRAS = tuple((f"<|extra_{i}|>" for i in range(205)))
30
+ # changed to use actual index to avoid misconfiguration with vocabulary expansion
31
+ SPECIAL_START_ID = 151643
32
+ SPECIAL_TOKENS = tuple(
33
+ enumerate(
34
+ (
35
+ (
36
+ ENDOFTEXT,
37
+ IMSTART,
38
+ IMEND,
39
+ )
40
+ + EXTRAS
41
+ ),
42
+ start=SPECIAL_START_ID,
43
+ )
44
+ )
45
+ SPECIAL_TOKENS_SET = set(t for i, t in SPECIAL_TOKENS)
46
+
47
+
48
+ def _load_tiktoken_bpe(tiktoken_bpe_file: str) -> Dict[bytes, int]:
49
+ with open(tiktoken_bpe_file, "rb") as f:
50
+ contents = f.read()
51
+ return {
52
+ base64.b64decode(token): int(rank)
53
+ for token, rank in (line.split() for line in contents.splitlines() if line)
54
+ }
55
+
56
+
57
+ class QWenTokenizer(PreTrainedTokenizer):
58
+ """QWen tokenizer."""
59
+
60
+ vocab_files_names = VOCAB_FILES_NAMES
61
+
62
+ def __init__(
63
+ self,
64
+ vocab_file,
65
+ errors="replace",
66
+ extra_vocab_file=None,
67
+ **kwargs,
68
+ ):
69
+ super().__init__(**kwargs)
70
+
71
+ # how to handle errors in decoding UTF-8 byte sequences
72
+ # use ignore if you are in streaming inference
73
+ self.errors = errors
74
+
75
+ self.mergeable_ranks = _load_tiktoken_bpe(vocab_file) # type: Dict[bytes, int]
76
+ self.special_tokens = {
77
+ token: index
78
+ for index, token in SPECIAL_TOKENS
79
+ }
80
+
81
+ # try load extra vocab from file
82
+ if extra_vocab_file is not None:
83
+ used_ids = set(self.mergeable_ranks.values()) | set(self.special_tokens.values())
84
+ extra_mergeable_ranks = _load_tiktoken_bpe(extra_vocab_file)
85
+ for token, index in extra_mergeable_ranks.items():
86
+ if token in self.mergeable_ranks:
87
+ logger.info(f"extra token {token} exists, skipping")
88
+ continue
89
+ if index in used_ids:
90
+ logger.info(f'the index {index} for extra token {token} exists, skipping')
91
+ continue
92
+ self.mergeable_ranks[token] = index
93
+ # the index may be sparse after this, but don't worry tiktoken.Encoding will handle this
94
+
95
+ enc = tiktoken.Encoding(
96
+ "Qwen",
97
+ pat_str=PAT_STR,
98
+ mergeable_ranks=self.mergeable_ranks,
99
+ special_tokens=self.special_tokens,
100
+ )
101
+ assert (
102
+ len(self.mergeable_ranks) + len(self.special_tokens) == enc.n_vocab
103
+ ), f"{len(self.mergeable_ranks) + len(self.special_tokens)} != {enc.n_vocab} in encoding"
104
+
105
+ self.decoder = {
106
+ v: k for k, v in self.mergeable_ranks.items()
107
+ } # type: dict[int, bytes|str]
108
+ self.decoder.update({v: k for k, v in self.special_tokens.items()})
109
+
110
+ self.tokenizer = enc # type: tiktoken.Encoding
111
+
112
+ self.eod_id = self.tokenizer.eot_token
113
+ self.im_start_id = self.special_tokens[IMSTART]
114
+ self.im_end_id = self.special_tokens[IMEND]
115
+
116
+ def __getstate__(self):
117
+ # for pickle lovers
118
+ state = self.__dict__.copy()
119
+ del state["tokenizer"]
120
+ return state
121
+
122
+ def __setstate__(self, state):
123
+ # tokenizer is not python native; don't pass it; rebuild it
124
+ self.__dict__.update(state)
125
+ enc = tiktoken.Encoding(
126
+ "Qwen",
127
+ pat_str=PAT_STR,
128
+ mergeable_ranks=self.mergeable_ranks,
129
+ special_tokens=self.special_tokens,
130
+ )
131
+ self.tokenizer = enc
132
+
133
+ def __len__(self) -> int:
134
+ return self.tokenizer.n_vocab
135
+
136
+ def get_vocab(self) -> Dict[bytes, int]:
137
+ return self.mergeable_ranks
138
+
139
+ def convert_tokens_to_ids(
140
+ self, tokens: Union[bytes, str, List[Union[bytes, str]]]
141
+ ) -> List[int]:
142
+ ids = []
143
+ if isinstance(tokens, (str, bytes)):
144
+ if tokens in self.special_tokens:
145
+ return self.special_tokens[tokens]
146
+ else:
147
+ return self.mergeable_ranks.get(tokens)
148
+ for token in tokens:
149
+ if token in self.special_tokens:
150
+ ids.append(self.special_tokens[token])
151
+ else:
152
+ ids.append(self.mergeable_ranks.get(token))
153
+ return ids
154
+
155
+ def _add_tokens(
156
+ self,
157
+ new_tokens: Union[List[str], List[AddedToken]],
158
+ special_tokens: bool = False,
159
+ ) -> int:
160
+ if not special_tokens and new_tokens:
161
+ raise ValueError("Adding regular tokens is not supported")
162
+ for token in new_tokens:
163
+ surface_form = token.content if isinstance(token, AddedToken) else token
164
+ if surface_form not in SPECIAL_TOKENS_SET:
165
+ raise ValueError("Adding unknown special tokens is not supported")
166
+ return 0
167
+
168
+ def save_vocabulary(self, save_directory: str, **kwargs) -> Tuple[str]:
169
+ """
170
+ Save only the vocabulary of the tokenizer (vocabulary).
171
+
172
+ Returns:
173
+ `Tuple(str)`: Paths to the files saved.
174
+ """
175
+ file_path = os.path.join(save_directory, "qwen.tiktoken")
176
+ with open(file_path, "w", encoding="utf8") as w:
177
+ for k, v in self.mergeable_ranks.items():
178
+ line = base64.b64encode(k).decode("utf8") + " " + str(v) + "\n"
179
+ w.write(line)
180
+ return (file_path,)
181
+
182
+ def tokenize(
183
+ self,
184
+ text: str,
185
+ allowed_special: Union[Set, str] = "all",
186
+ disallowed_special: Union[Collection, str] = (),
187
+ **kwargs,
188
+ ) -> List[Union[bytes, str]]:
189
+ """
190
+ Converts a string in a sequence of tokens.
191
+
192
+ Args:
193
+ text (`str`):
194
+ The sequence to be encoded.
195
+ allowed_special (`Literal["all"]` or `set`):
196
+ The surface forms of the tokens to be encoded as special tokens in regular texts.
197
+ Default to "all".
198
+ disallowed_special (`Literal["all"]` or `Collection`):
199
+ The surface forms of the tokens that should not be in regular texts and trigger errors.
200
+ Default to an empty tuple.
201
+
202
+ kwargs (additional keyword arguments, *optional*):
203
+ Will be passed to the underlying model specific encode method.
204
+
205
+ Returns:
206
+ `List[bytes|str]`: The list of tokens.
207
+ """
208
+ tokens = []
209
+ text = unicodedata.normalize("NFC", text)
210
+
211
+ # this implementation takes a detour: text -> token id -> token surface forms
212
+ for t in self.tokenizer.encode(
213
+ text, allowed_special=allowed_special, disallowed_special=disallowed_special
214
+ ):
215
+ tokens.append(self.decoder[t])
216
+ return tokens
217
+
218
+ def convert_tokens_to_string(self, tokens: List[Union[bytes, str]]) -> str:
219
+ """
220
+ Converts a sequence of tokens in a single string.
221
+ """
222
+ text = ""
223
+ temp = b""
224
+ for t in tokens:
225
+ if isinstance(t, str):
226
+ if temp:
227
+ text += temp.decode("utf-8", errors=self.errors)
228
+ temp = b""
229
+ text += t
230
+ elif isinstance(t, bytes):
231
+ temp += t
232
+ else:
233
+ raise TypeError("token should only be of type types or str")
234
+ if temp:
235
+ text += temp.decode("utf-8", errors=self.errors)
236
+ return text
237
+
238
+ @property
239
+ def vocab_size(self):
240
+ return self.tokenizer.n_vocab
241
+
242
+ def _convert_id_to_token(self, index: int) -> Union[bytes, str]:
243
+ """Converts an id to a token, special tokens included"""
244
+ if index in self.decoder:
245
+ return self.decoder[index]
246
+ raise ValueError("unknown ids")
247
+
248
+ def _convert_token_to_id(self, token: Union[bytes, str]) -> int:
249
+ """Converts a token to an id using the vocab, special tokens included"""
250
+ if token in self.special_tokens:
251
+ return self.special_tokens[token]
252
+ if token in self.mergeable_ranks:
253
+ return self.mergeable_ranks[token]
254
+ raise ValueError("unknown token")
255
+
256
+ def _tokenize(self, text: str, **kwargs):
257
+ """
258
+ Converts a string in a sequence of tokens (string), using the tokenizer. Split in words for word-based
259
+ vocabulary or sub-words for sub-word-based vocabularies (BPE/SentencePieces/WordPieces).
260
+
261
+ Do NOT take care of added tokens.
262
+ """
263
+ raise NotImplementedError
264
+
265
+ def _decode(
266
+ self,
267
+ token_ids: Union[int, List[int]],
268
+ skip_special_tokens: bool = False,
269
+ errors: str = None,
270
+ **kwargs,
271
+ ) -> str:
272
+ if isinstance(token_ids, int):
273
+ token_ids = [token_ids]
274
+ if skip_special_tokens:
275
+ token_ids = [i for i in token_ids if i < self.eod_id]
276
+ return self.tokenizer.decode(token_ids, errors=errors or self.errors)
LLM-Detector-V2-11w/checkpoint-5000/tokenizer_config.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoTokenizer": [
4
+ "tokenization_qwen.QWenTokenizer",
5
+ null
6
+ ]
7
+ },
8
+ "clean_up_tokenization_spaces": true,
9
+ "model_max_length": 8192,
10
+ "padding_side": "right",
11
+ "split_special_tokens": false,
12
+ "tokenizer_class": "QWenTokenizer"
13
+ }
LLM-Detector-V2-11w/checkpoint-5000/trainer_state.json ADDED
@@ -0,0 +1,319 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_metric": null,
3
+ "best_model_checkpoint": null,
4
+ "epoch": 1.3453518094981838,
5
+ "eval_steps": 500,
6
+ "global_step": 5000,
7
+ "is_hyper_param_search": false,
8
+ "is_local_process_zero": true,
9
+ "is_world_process_zero": true,
10
+ "log_history": [
11
+ {
12
+ "epoch": 0.03,
13
+ "learning_rate": 4.9990073706856164e-05,
14
+ "loss": 2.2244,
15
+ "step": 100
16
+ },
17
+ {
18
+ "epoch": 0.05,
19
+ "learning_rate": 4.99603027099283e-05,
20
+ "loss": 0.0286,
21
+ "step": 200
22
+ },
23
+ {
24
+ "epoch": 0.08,
25
+ "learning_rate": 4.991071065046783e-05,
26
+ "loss": 0.0144,
27
+ "step": 300
28
+ },
29
+ {
30
+ "epoch": 0.11,
31
+ "learning_rate": 4.984133690970033e-05,
32
+ "loss": 0.0223,
33
+ "step": 400
34
+ },
35
+ {
36
+ "epoch": 0.13,
37
+ "learning_rate": 4.975223657755279e-05,
38
+ "loss": 0.0179,
39
+ "step": 500
40
+ },
41
+ {
42
+ "epoch": 0.16,
43
+ "learning_rate": 4.9643480408906496e-05,
44
+ "loss": 0.0246,
45
+ "step": 600
46
+ },
47
+ {
48
+ "epoch": 0.19,
49
+ "learning_rate": 4.951515476741036e-05,
50
+ "loss": 0.0181,
51
+ "step": 700
52
+ },
53
+ {
54
+ "epoch": 0.22,
55
+ "learning_rate": 4.936736155689918e-05,
56
+ "loss": 0.0155,
57
+ "step": 800
58
+ },
59
+ {
60
+ "epoch": 0.24,
61
+ "learning_rate": 4.920021814047156e-05,
62
+ "loss": 0.0122,
63
+ "step": 900
64
+ },
65
+ {
66
+ "epoch": 0.27,
67
+ "learning_rate": 4.901385724729137e-05,
68
+ "loss": 0.0128,
69
+ "step": 1000
70
+ },
71
+ {
72
+ "epoch": 0.3,
73
+ "learning_rate": 4.880842686718711e-05,
74
+ "loss": 0.016,
75
+ "step": 1100
76
+ },
77
+ {
78
+ "epoch": 0.32,
79
+ "learning_rate": 4.858409013313266e-05,
80
+ "loss": 0.0134,
81
+ "step": 1200
82
+ },
83
+ {
84
+ "epoch": 0.35,
85
+ "learning_rate": 4.8341025191702847e-05,
86
+ "loss": 0.0099,
87
+ "step": 1300
88
+ },
89
+ {
90
+ "epoch": 0.38,
91
+ "learning_rate": 4.80794250616066e-05,
92
+ "loss": 0.0102,
93
+ "step": 1400
94
+ },
95
+ {
96
+ "epoch": 0.4,
97
+ "learning_rate": 4.7799497480410125e-05,
98
+ "loss": 0.0109,
99
+ "step": 1500
100
+ },
101
+ {
102
+ "epoch": 0.43,
103
+ "learning_rate": 4.7501464739571836e-05,
104
+ "loss": 0.0117,
105
+ "step": 1600
106
+ },
107
+ {
108
+ "epoch": 0.46,
109
+ "learning_rate": 4.7185563507919895e-05,
110
+ "loss": 0.0154,
111
+ "step": 1700
112
+ },
113
+ {
114
+ "epoch": 0.48,
115
+ "learning_rate": 4.685204464371269e-05,
116
+ "loss": 0.0107,
117
+ "step": 1800
118
+ },
119
+ {
120
+ "epoch": 0.51,
121
+ "learning_rate": 4.6501172995431424e-05,
122
+ "loss": 0.0133,
123
+ "step": 1900
124
+ },
125
+ {
126
+ "epoch": 0.54,
127
+ "learning_rate": 4.6133227191463044e-05,
128
+ "loss": 0.0157,
129
+ "step": 2000
130
+ },
131
+ {
132
+ "epoch": 0.57,
133
+ "learning_rate": 4.574849941884044e-05,
134
+ "loss": 0.0115,
135
+ "step": 2100
136
+ },
137
+ {
138
+ "epoch": 0.59,
139
+ "learning_rate": 4.534729519121574e-05,
140
+ "loss": 0.0135,
141
+ "step": 2200
142
+ },
143
+ {
144
+ "epoch": 0.62,
145
+ "learning_rate": 4.492993310625088e-05,
146
+ "loss": 0.0104,
147
+ "step": 2300
148
+ },
149
+ {
150
+ "epoch": 0.65,
151
+ "learning_rate": 4.449674459261804e-05,
152
+ "loss": 0.0113,
153
+ "step": 2400
154
+ },
155
+ {
156
+ "epoch": 0.67,
157
+ "learning_rate": 4.404807364681105e-05,
158
+ "loss": 0.0075,
159
+ "step": 2500
160
+ },
161
+ {
162
+ "epoch": 0.7,
163
+ "learning_rate": 4.358427655997657e-05,
164
+ "loss": 0.011,
165
+ "step": 2600
166
+ },
167
+ {
168
+ "epoch": 0.73,
169
+ "learning_rate": 4.310572163498205e-05,
170
+ "loss": 0.0103,
171
+ "step": 2700
172
+ },
173
+ {
174
+ "epoch": 0.75,
175
+ "learning_rate": 4.2612788893945176e-05,
176
+ "loss": 0.0126,
177
+ "step": 2800
178
+ },
179
+ {
180
+ "epoch": 0.78,
181
+ "learning_rate": 4.2105869776456944e-05,
182
+ "loss": 0.0084,
183
+ "step": 2900
184
+ },
185
+ {
186
+ "epoch": 0.81,
187
+ "learning_rate": 4.158536682873821e-05,
188
+ "loss": 0.0069,
189
+ "step": 3000
190
+ },
191
+ {
192
+ "epoch": 0.83,
193
+ "learning_rate": 4.1051693383976264e-05,
194
+ "loss": 0.0089,
195
+ "step": 3100
196
+ },
197
+ {
198
+ "epoch": 0.86,
199
+ "learning_rate": 4.050527323409557e-05,
200
+ "loss": 0.0103,
201
+ "step": 3200
202
+ },
203
+ {
204
+ "epoch": 0.89,
205
+ "learning_rate": 3.994654029322313e-05,
206
+ "loss": 0.011,
207
+ "step": 3300
208
+ },
209
+ {
210
+ "epoch": 0.91,
211
+ "learning_rate": 3.937593825311575e-05,
212
+ "loss": 0.0063,
213
+ "step": 3400
214
+ },
215
+ {
216
+ "epoch": 0.94,
217
+ "learning_rate": 3.8793920230822925e-05,
218
+ "loss": 0.0091,
219
+ "step": 3500
220
+ },
221
+ {
222
+ "epoch": 0.97,
223
+ "learning_rate": 3.8200948408864986e-05,
224
+ "loss": 0.0072,
225
+ "step": 3600
226
+ },
227
+ {
228
+ "epoch": 1.0,
229
+ "learning_rate": 3.759749366821241e-05,
230
+ "loss": 0.007,
231
+ "step": 3700
232
+ },
233
+ {
234
+ "epoch": 1.02,
235
+ "learning_rate": 3.698403521435756e-05,
236
+ "loss": 0.0067,
237
+ "step": 3800
238
+ },
239
+ {
240
+ "epoch": 1.05,
241
+ "learning_rate": 3.636106019677602e-05,
242
+ "loss": 0.0055,
243
+ "step": 3900
244
+ },
245
+ {
246
+ "epoch": 1.08,
247
+ "learning_rate": 3.572906332207943e-05,
248
+ "loss": 0.0071,
249
+ "step": 4000
250
+ },
251
+ {
252
+ "epoch": 1.1,
253
+ "learning_rate": 3.5088546461167346e-05,
254
+ "loss": 0.0056,
255
+ "step": 4100
256
+ },
257
+ {
258
+ "epoch": 1.13,
259
+ "learning_rate": 3.4440018250689767e-05,
260
+ "loss": 0.0074,
261
+ "step": 4200
262
+ },
263
+ {
264
+ "epoch": 1.16,
265
+ "learning_rate": 3.3783993689137015e-05,
266
+ "loss": 0.0061,
267
+ "step": 4300
268
+ },
269
+ {
270
+ "epoch": 1.18,
271
+ "learning_rate": 3.312099372787772e-05,
272
+ "loss": 0.0051,
273
+ "step": 4400
274
+ },
275
+ {
276
+ "epoch": 1.21,
277
+ "learning_rate": 3.2451544857469436e-05,
278
+ "loss": 0.0078,
279
+ "step": 4500
280
+ },
281
+ {
282
+ "epoch": 1.24,
283
+ "learning_rate": 3.177617868957078e-05,
284
+ "loss": 0.0064,
285
+ "step": 4600
286
+ },
287
+ {
288
+ "epoch": 1.26,
289
+ "learning_rate": 3.109543153478671e-05,
290
+ "loss": 0.0064,
291
+ "step": 4700
292
+ },
293
+ {
294
+ "epoch": 1.29,
295
+ "learning_rate": 3.040984397678245e-05,
296
+ "loss": 0.0064,
297
+ "step": 4800
298
+ },
299
+ {
300
+ "epoch": 1.32,
301
+ "learning_rate": 2.9719960443004107e-05,
302
+ "loss": 0.0062,
303
+ "step": 4900
304
+ },
305
+ {
306
+ "epoch": 1.35,
307
+ "learning_rate": 2.9026328772347e-05,
308
+ "loss": 0.0056,
309
+ "step": 5000
310
+ }
311
+ ],
312
+ "logging_steps": 100,
313
+ "max_steps": 11148,
314
+ "num_train_epochs": 3,
315
+ "save_steps": 5000,
316
+ "total_flos": 1.044197334217261e+18,
317
+ "trial_name": null,
318
+ "trial_params": null
319
+ }
LLM-Detector-V2-11w/checkpoint-5000/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2501d0db9b5d010a4a25759f877d55c11a9cd335425e4c2cc6f2683c0ebb1612
3
+ size 4600
LLM-Detector-V2-11w/qwen.tiktoken ADDED
The diff for this file is too large to render. See raw diff
 
LLM-Detector-V2-11w/special_tokens_map.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<|im_end|>"
4
+ ],
5
+ "eos_token": "<|endoftext|>",
6
+ "pad_token": "<|endoftext|>"
7
+ }
LLM-Detector-V2-11w/tokenization_qwen.py ADDED
@@ -0,0 +1,276 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Alibaba Cloud.
2
+ #
3
+ # This source code is licensed under the license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ """Tokenization classes for QWen."""
7
+
8
+ import base64
9
+ import logging
10
+ import os
11
+ import unicodedata
12
+ from typing import Collection, Dict, List, Set, Tuple, Union
13
+
14
+ import tiktoken
15
+ from transformers import PreTrainedTokenizer, AddedToken
16
+
17
+ logger = logging.getLogger(__name__)
18
+
19
+
20
+ VOCAB_FILES_NAMES = {"vocab_file": "qwen.tiktoken"}
21
+
22
+ PAT_STR = r"""(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+"""
23
+ ENDOFTEXT = "<|endoftext|>"
24
+ IMSTART = "<|im_start|>"
25
+ IMEND = "<|im_end|>"
26
+ # as the default behavior is changed to allow special tokens in
27
+ # regular texts, the surface forms of special tokens need to be
28
+ # as different as possible to minimize the impact
29
+ EXTRAS = tuple((f"<|extra_{i}|>" for i in range(205)))
30
+ # changed to use actual index to avoid misconfiguration with vocabulary expansion
31
+ SPECIAL_START_ID = 151643
32
+ SPECIAL_TOKENS = tuple(
33
+ enumerate(
34
+ (
35
+ (
36
+ ENDOFTEXT,
37
+ IMSTART,
38
+ IMEND,
39
+ )
40
+ + EXTRAS
41
+ ),
42
+ start=SPECIAL_START_ID,
43
+ )
44
+ )
45
+ SPECIAL_TOKENS_SET = set(t for i, t in SPECIAL_TOKENS)
46
+
47
+
48
+ def _load_tiktoken_bpe(tiktoken_bpe_file: str) -> Dict[bytes, int]:
49
+ with open(tiktoken_bpe_file, "rb") as f:
50
+ contents = f.read()
51
+ return {
52
+ base64.b64decode(token): int(rank)
53
+ for token, rank in (line.split() for line in contents.splitlines() if line)
54
+ }
55
+
56
+
57
+ class QWenTokenizer(PreTrainedTokenizer):
58
+ """QWen tokenizer."""
59
+
60
+ vocab_files_names = VOCAB_FILES_NAMES
61
+
62
+ def __init__(
63
+ self,
64
+ vocab_file,
65
+ errors="replace",
66
+ extra_vocab_file=None,
67
+ **kwargs,
68
+ ):
69
+ super().__init__(**kwargs)
70
+
71
+ # how to handle errors in decoding UTF-8 byte sequences
72
+ # use ignore if you are in streaming inference
73
+ self.errors = errors
74
+
75
+ self.mergeable_ranks = _load_tiktoken_bpe(vocab_file) # type: Dict[bytes, int]
76
+ self.special_tokens = {
77
+ token: index
78
+ for index, token in SPECIAL_TOKENS
79
+ }
80
+
81
+ # try load extra vocab from file
82
+ if extra_vocab_file is not None:
83
+ used_ids = set(self.mergeable_ranks.values()) | set(self.special_tokens.values())
84
+ extra_mergeable_ranks = _load_tiktoken_bpe(extra_vocab_file)
85
+ for token, index in extra_mergeable_ranks.items():
86
+ if token in self.mergeable_ranks:
87
+ logger.info(f"extra token {token} exists, skipping")
88
+ continue
89
+ if index in used_ids:
90
+ logger.info(f'the index {index} for extra token {token} exists, skipping')
91
+ continue
92
+ self.mergeable_ranks[token] = index
93
+ # the index may be sparse after this, but don't worry tiktoken.Encoding will handle this
94
+
95
+ enc = tiktoken.Encoding(
96
+ "Qwen",
97
+ pat_str=PAT_STR,
98
+ mergeable_ranks=self.mergeable_ranks,
99
+ special_tokens=self.special_tokens,
100
+ )
101
+ assert (
102
+ len(self.mergeable_ranks) + len(self.special_tokens) == enc.n_vocab
103
+ ), f"{len(self.mergeable_ranks) + len(self.special_tokens)} != {enc.n_vocab} in encoding"
104
+
105
+ self.decoder = {
106
+ v: k for k, v in self.mergeable_ranks.items()
107
+ } # type: dict[int, bytes|str]
108
+ self.decoder.update({v: k for k, v in self.special_tokens.items()})
109
+
110
+ self.tokenizer = enc # type: tiktoken.Encoding
111
+
112
+ self.eod_id = self.tokenizer.eot_token
113
+ self.im_start_id = self.special_tokens[IMSTART]
114
+ self.im_end_id = self.special_tokens[IMEND]
115
+
116
+ def __getstate__(self):
117
+ # for pickle lovers
118
+ state = self.__dict__.copy()
119
+ del state["tokenizer"]
120
+ return state
121
+
122
+ def __setstate__(self, state):
123
+ # tokenizer is not python native; don't pass it; rebuild it
124
+ self.__dict__.update(state)
125
+ enc = tiktoken.Encoding(
126
+ "Qwen",
127
+ pat_str=PAT_STR,
128
+ mergeable_ranks=self.mergeable_ranks,
129
+ special_tokens=self.special_tokens,
130
+ )
131
+ self.tokenizer = enc
132
+
133
+ def __len__(self) -> int:
134
+ return self.tokenizer.n_vocab
135
+
136
+ def get_vocab(self) -> Dict[bytes, int]:
137
+ return self.mergeable_ranks
138
+
139
+ def convert_tokens_to_ids(
140
+ self, tokens: Union[bytes, str, List[Union[bytes, str]]]
141
+ ) -> List[int]:
142
+ ids = []
143
+ if isinstance(tokens, (str, bytes)):
144
+ if tokens in self.special_tokens:
145
+ return self.special_tokens[tokens]
146
+ else:
147
+ return self.mergeable_ranks.get(tokens)
148
+ for token in tokens:
149
+ if token in self.special_tokens:
150
+ ids.append(self.special_tokens[token])
151
+ else:
152
+ ids.append(self.mergeable_ranks.get(token))
153
+ return ids
154
+
155
+ def _add_tokens(
156
+ self,
157
+ new_tokens: Union[List[str], List[AddedToken]],
158
+ special_tokens: bool = False,
159
+ ) -> int:
160
+ if not special_tokens and new_tokens:
161
+ raise ValueError("Adding regular tokens is not supported")
162
+ for token in new_tokens:
163
+ surface_form = token.content if isinstance(token, AddedToken) else token
164
+ if surface_form not in SPECIAL_TOKENS_SET:
165
+ raise ValueError("Adding unknown special tokens is not supported")
166
+ return 0
167
+
168
+ def save_vocabulary(self, save_directory: str, **kwargs) -> Tuple[str]:
169
+ """
170
+ Save only the vocabulary of the tokenizer (vocabulary).
171
+
172
+ Returns:
173
+ `Tuple(str)`: Paths to the files saved.
174
+ """
175
+ file_path = os.path.join(save_directory, "qwen.tiktoken")
176
+ with open(file_path, "w", encoding="utf8") as w:
177
+ for k, v in self.mergeable_ranks.items():
178
+ line = base64.b64encode(k).decode("utf8") + " " + str(v) + "\n"
179
+ w.write(line)
180
+ return (file_path,)
181
+
182
+ def tokenize(
183
+ self,
184
+ text: str,
185
+ allowed_special: Union[Set, str] = "all",
186
+ disallowed_special: Union[Collection, str] = (),
187
+ **kwargs,
188
+ ) -> List[Union[bytes, str]]:
189
+ """
190
+ Converts a string in a sequence of tokens.
191
+
192
+ Args:
193
+ text (`str`):
194
+ The sequence to be encoded.
195
+ allowed_special (`Literal["all"]` or `set`):
196
+ The surface forms of the tokens to be encoded as special tokens in regular texts.
197
+ Default to "all".
198
+ disallowed_special (`Literal["all"]` or `Collection`):
199
+ The surface forms of the tokens that should not be in regular texts and trigger errors.
200
+ Default to an empty tuple.
201
+
202
+ kwargs (additional keyword arguments, *optional*):
203
+ Will be passed to the underlying model specific encode method.
204
+
205
+ Returns:
206
+ `List[bytes|str]`: The list of tokens.
207
+ """
208
+ tokens = []
209
+ text = unicodedata.normalize("NFC", text)
210
+
211
+ # this implementation takes a detour: text -> token id -> token surface forms
212
+ for t in self.tokenizer.encode(
213
+ text, allowed_special=allowed_special, disallowed_special=disallowed_special
214
+ ):
215
+ tokens.append(self.decoder[t])
216
+ return tokens
217
+
218
+ def convert_tokens_to_string(self, tokens: List[Union[bytes, str]]) -> str:
219
+ """
220
+ Converts a sequence of tokens in a single string.
221
+ """
222
+ text = ""
223
+ temp = b""
224
+ for t in tokens:
225
+ if isinstance(t, str):
226
+ if temp:
227
+ text += temp.decode("utf-8", errors=self.errors)
228
+ temp = b""
229
+ text += t
230
+ elif isinstance(t, bytes):
231
+ temp += t
232
+ else:
233
+ raise TypeError("token should only be of type types or str")
234
+ if temp:
235
+ text += temp.decode("utf-8", errors=self.errors)
236
+ return text
237
+
238
+ @property
239
+ def vocab_size(self):
240
+ return self.tokenizer.n_vocab
241
+
242
+ def _convert_id_to_token(self, index: int) -> Union[bytes, str]:
243
+ """Converts an id to a token, special tokens included"""
244
+ if index in self.decoder:
245
+ return self.decoder[index]
246
+ raise ValueError("unknown ids")
247
+
248
+ def _convert_token_to_id(self, token: Union[bytes, str]) -> int:
249
+ """Converts a token to an id using the vocab, special tokens included"""
250
+ if token in self.special_tokens:
251
+ return self.special_tokens[token]
252
+ if token in self.mergeable_ranks:
253
+ return self.mergeable_ranks[token]
254
+ raise ValueError("unknown token")
255
+
256
+ def _tokenize(self, text: str, **kwargs):
257
+ """
258
+ Converts a string in a sequence of tokens (string), using the tokenizer. Split in words for word-based
259
+ vocabulary or sub-words for sub-word-based vocabularies (BPE/SentencePieces/WordPieces).
260
+
261
+ Do NOT take care of added tokens.
262
+ """
263
+ raise NotImplementedError
264
+
265
+ def _decode(
266
+ self,
267
+ token_ids: Union[int, List[int]],
268
+ skip_special_tokens: bool = False,
269
+ errors: str = None,
270
+ **kwargs,
271
+ ) -> str:
272
+ if isinstance(token_ids, int):
273
+ token_ids = [token_ids]
274
+ if skip_special_tokens:
275
+ token_ids = [i for i in token_ids if i < self.eod_id]
276
+ return self.tokenizer.decode(token_ids, errors=errors or self.errors)
LLM-Detector-V2-11w/tokenizer_config.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoTokenizer": [
4
+ "tokenization_qwen.QWenTokenizer",
5
+ null
6
+ ]
7
+ },
8
+ "clean_up_tokenization_spaces": true,
9
+ "model_max_length": 8192,
10
+ "padding_side": "right",
11
+ "split_special_tokens": false,
12
+ "tokenizer_class": "QWenTokenizer"
13
+ }
LLM-Detector-V2-11w/train_results.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 3.0,
3
+ "train_loss": 0.02652581251227368,
4
+ "train_runtime": 75119.2077,
5
+ "train_samples_per_second": 4.749,
6
+ "train_steps_per_second": 0.148
7
+ }
LLM-Detector-V2-11w/trainer_log.jsonl ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {"current_steps": 100, "total_steps": 11148, "loss": 2.2244, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.9990073706856164e-05, "epoch": 0.03, "percentage": 0.9, "elapsed_time": "0:11:12", "remaining_time": "20:37:47"}
2
+ {"current_steps": 200, "total_steps": 11148, "loss": 0.0286, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.99603027099283e-05, "epoch": 0.05, "percentage": 1.79, "elapsed_time": "0:22:37", "remaining_time": "20:38:29"}
3
+ {"current_steps": 300, "total_steps": 11148, "loss": 0.0144, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.991071065046783e-05, "epoch": 0.08, "percentage": 2.69, "elapsed_time": "0:33:36", "remaining_time": "20:15:19"}
4
+ {"current_steps": 400, "total_steps": 11148, "loss": 0.0223, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.984133690970033e-05, "epoch": 0.11, "percentage": 3.59, "elapsed_time": "0:44:40", "remaining_time": "20:00:36"}
5
+ {"current_steps": 500, "total_steps": 11148, "loss": 0.0179, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.975223657755279e-05, "epoch": 0.13, "percentage": 4.49, "elapsed_time": "0:56:02", "remaining_time": "19:53:35"}
6
+ {"current_steps": 600, "total_steps": 11148, "loss": 0.0246, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.9643480408906496e-05, "epoch": 0.16, "percentage": 5.38, "elapsed_time": "1:07:23", "remaining_time": "19:44:49"}
7
+ {"current_steps": 700, "total_steps": 11148, "loss": 0.0181, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.951515476741036e-05, "epoch": 0.19, "percentage": 6.28, "elapsed_time": "1:18:37", "remaining_time": "19:33:33"}
8
+ {"current_steps": 800, "total_steps": 11148, "loss": 0.0155, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.936736155689918e-05, "epoch": 0.22, "percentage": 7.18, "elapsed_time": "1:29:44", "remaining_time": "19:20:42"}
9
+ {"current_steps": 900, "total_steps": 11148, "loss": 0.0122, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.920021814047156e-05, "epoch": 0.24, "percentage": 8.07, "elapsed_time": "1:41:04", "remaining_time": "19:10:52"}
10
+ {"current_steps": 1000, "total_steps": 11148, "loss": 0.0128, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.901385724729137e-05, "epoch": 0.27, "percentage": 8.97, "elapsed_time": "1:52:26", "remaining_time": "19:01:04"}
11
+ {"current_steps": 1100, "total_steps": 11148, "loss": 0.016, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.880842686718711e-05, "epoch": 0.3, "percentage": 9.87, "elapsed_time": "2:03:33", "remaining_time": "18:48:42"}
12
+ {"current_steps": 1200, "total_steps": 11148, "loss": 0.0134, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.858409013313266e-05, "epoch": 0.32, "percentage": 10.76, "elapsed_time": "2:15:16", "remaining_time": "18:41:23"}
13
+ {"current_steps": 1300, "total_steps": 11148, "loss": 0.0099, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.8341025191702847e-05, "epoch": 0.35, "percentage": 11.66, "elapsed_time": "2:26:27", "remaining_time": "18:29:25"}
14
+ {"current_steps": 1400, "total_steps": 11148, "loss": 0.0102, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.80794250616066e-05, "epoch": 0.38, "percentage": 12.56, "elapsed_time": "2:37:43", "remaining_time": "18:18:11"}
15
+ {"current_steps": 1500, "total_steps": 11148, "loss": 0.0109, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.7799497480410125e-05, "epoch": 0.4, "percentage": 13.46, "elapsed_time": "2:48:51", "remaining_time": "18:06:03"}
16
+ {"current_steps": 1600, "total_steps": 11148, "loss": 0.0117, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.7501464739571836e-05, "epoch": 0.43, "percentage": 14.35, "elapsed_time": "3:00:10", "remaining_time": "17:55:10"}
17
+ {"current_steps": 1700, "total_steps": 11148, "loss": 0.0154, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.7185563507919895e-05, "epoch": 0.46, "percentage": 15.25, "elapsed_time": "3:11:16", "remaining_time": "17:43:00"}
18
+ {"current_steps": 1800, "total_steps": 11148, "loss": 0.0107, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.685204464371269e-05, "epoch": 0.48, "percentage": 16.15, "elapsed_time": "3:22:35", "remaining_time": "17:32:08"}
19
+ {"current_steps": 1900, "total_steps": 11148, "loss": 0.0133, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.6501172995431424e-05, "epoch": 0.51, "percentage": 17.04, "elapsed_time": "3:33:46", "remaining_time": "17:20:28"}
20
+ {"current_steps": 2000, "total_steps": 11148, "loss": 0.0157, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.6133227191463044e-05, "epoch": 0.54, "percentage": 17.94, "elapsed_time": "3:45:13", "remaining_time": "17:10:12"}
21
+ {"current_steps": 2100, "total_steps": 11148, "loss": 0.0115, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.574849941884044e-05, "epoch": 0.57, "percentage": 18.84, "elapsed_time": "3:56:12", "remaining_time": "16:57:42"}
22
+ {"current_steps": 2200, "total_steps": 11148, "loss": 0.0135, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.534729519121574e-05, "epoch": 0.59, "percentage": 19.73, "elapsed_time": "4:07:35", "remaining_time": "16:47:00"}
23
+ {"current_steps": 2300, "total_steps": 11148, "loss": 0.0104, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.492993310625088e-05, "epoch": 0.62, "percentage": 20.63, "elapsed_time": "4:18:55", "remaining_time": "16:36:05"}
24
+ {"current_steps": 2400, "total_steps": 11148, "loss": 0.0113, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.449674459261804e-05, "epoch": 0.65, "percentage": 21.53, "elapsed_time": "4:30:14", "remaining_time": "16:25:00"}
25
+ {"current_steps": 2500, "total_steps": 11148, "loss": 0.0075, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.404807364681105e-05, "epoch": 0.67, "percentage": 22.43, "elapsed_time": "4:41:29", "remaining_time": "16:13:45"}
26
+ {"current_steps": 2600, "total_steps": 11148, "loss": 0.011, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.358427655997657e-05, "epoch": 0.7, "percentage": 23.32, "elapsed_time": "4:52:40", "remaining_time": "16:02:13"}
27
+ {"current_steps": 2700, "total_steps": 11148, "loss": 0.0103, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.310572163498205e-05, "epoch": 0.73, "percentage": 24.22, "elapsed_time": "5:04:00", "remaining_time": "15:51:11"}
28
+ {"current_steps": 2800, "total_steps": 11148, "loss": 0.0126, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.2612788893945176e-05, "epoch": 0.75, "percentage": 25.12, "elapsed_time": "5:15:26", "remaining_time": "15:40:28"}
29
+ {"current_steps": 2900, "total_steps": 11148, "loss": 0.0084, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.2105869776456944e-05, "epoch": 0.78, "percentage": 26.01, "elapsed_time": "5:26:33", "remaining_time": "15:28:47"}
30
+ {"current_steps": 3000, "total_steps": 11148, "loss": 0.0069, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.158536682873821e-05, "epoch": 0.81, "percentage": 26.91, "elapsed_time": "5:37:50", "remaining_time": "15:17:34"}
31
+ {"current_steps": 3100, "total_steps": 11148, "loss": 0.0089, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.1051693383976264e-05, "epoch": 0.83, "percentage": 27.81, "elapsed_time": "5:49:28", "remaining_time": "15:07:17"}
32
+ {"current_steps": 3200, "total_steps": 11148, "loss": 0.0103, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.050527323409557e-05, "epoch": 0.86, "percentage": 28.7, "elapsed_time": "6:00:48", "remaining_time": "14:56:08"}
33
+ {"current_steps": 3300, "total_steps": 11148, "loss": 0.011, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.994654029322313e-05, "epoch": 0.89, "percentage": 29.6, "elapsed_time": "6:12:20", "remaining_time": "14:45:29"}
34
+ {"current_steps": 3400, "total_steps": 11148, "loss": 0.0063, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.937593825311575e-05, "epoch": 0.91, "percentage": 30.5, "elapsed_time": "6:23:47", "remaining_time": "14:34:36"}
35
+ {"current_steps": 3500, "total_steps": 11148, "loss": 0.0091, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.8793920230822925e-05, "epoch": 0.94, "percentage": 31.4, "elapsed_time": "6:34:46", "remaining_time": "14:22:39"}
36
+ {"current_steps": 3600, "total_steps": 11148, "loss": 0.0072, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.8200948408864986e-05, "epoch": 0.97, "percentage": 32.29, "elapsed_time": "6:46:02", "remaining_time": "14:11:19"}
37
+ {"current_steps": 3700, "total_steps": 11148, "loss": 0.007, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.759749366821241e-05, "epoch": 1.0, "percentage": 33.19, "elapsed_time": "6:57:15", "remaining_time": "13:59:55"}
38
+ {"current_steps": 3800, "total_steps": 11148, "loss": 0.0067, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.698403521435756e-05, "epoch": 1.02, "percentage": 34.09, "elapsed_time": "7:08:23", "remaining_time": "13:48:22"}
39
+ {"current_steps": 3900, "total_steps": 11148, "loss": 0.0055, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.636106019677602e-05, "epoch": 1.05, "percentage": 34.98, "elapsed_time": "7:19:37", "remaining_time": "13:37:01"}
40
+ {"current_steps": 4000, "total_steps": 11148, "loss": 0.0071, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.572906332207943e-05, "epoch": 1.08, "percentage": 35.88, "elapsed_time": "7:30:50", "remaining_time": "13:25:39"}
41
+ {"current_steps": 4100, "total_steps": 11148, "loss": 0.0056, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.5088546461167346e-05, "epoch": 1.1, "percentage": 36.78, "elapsed_time": "7:42:28", "remaining_time": "13:15:01"}
42
+ {"current_steps": 4200, "total_steps": 11148, "loss": 0.0074, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.4440018250689767e-05, "epoch": 1.13, "percentage": 37.67, "elapsed_time": "7:53:22", "remaining_time": "13:03:06"}
43
+ {"current_steps": 4300, "total_steps": 11148, "loss": 0.0061, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.3783993689137015e-05, "epoch": 1.16, "percentage": 38.57, "elapsed_time": "8:04:39", "remaining_time": "12:51:51"}
44
+ {"current_steps": 4400, "total_steps": 11148, "loss": 0.0051, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.312099372787772e-05, "epoch": 1.18, "percentage": 39.47, "elapsed_time": "8:15:38", "remaining_time": "12:40:08"}
45
+ {"current_steps": 4500, "total_steps": 11148, "loss": 0.0078, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.2451544857469436e-05, "epoch": 1.21, "percentage": 40.37, "elapsed_time": "8:27:19", "remaining_time": "12:29:28"}
46
+ {"current_steps": 4600, "total_steps": 11148, "loss": 0.0064, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.177617868957078e-05, "epoch": 1.24, "percentage": 41.26, "elapsed_time": "8:38:24", "remaining_time": "12:17:56"}
47
+ {"current_steps": 4700, "total_steps": 11148, "loss": 0.0064, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.109543153478671e-05, "epoch": 1.26, "percentage": 42.16, "elapsed_time": "8:49:17", "remaining_time": "12:06:08"}
48
+ {"current_steps": 4800, "total_steps": 11148, "loss": 0.0064, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.040984397678245e-05, "epoch": 1.29, "percentage": 43.06, "elapsed_time": "9:00:24", "remaining_time": "11:54:41"}
49
+ {"current_steps": 4900, "total_steps": 11148, "loss": 0.0062, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.9719960443004107e-05, "epoch": 1.32, "percentage": 43.95, "elapsed_time": "9:11:44", "remaining_time": "11:43:31"}
50
+ {"current_steps": 5000, "total_steps": 11148, "loss": 0.0056, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.9026328772347e-05, "epoch": 1.35, "percentage": 44.85, "elapsed_time": "9:22:47", "remaining_time": "11:32:01"}
51
+ {"current_steps": 5100, "total_steps": 11148, "loss": 0.0096, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.8329499780114865e-05, "epoch": 1.37, "percentage": 45.75, "elapsed_time": "9:33:55", "remaining_time": "11:20:36"}
52
+ {"current_steps": 5200, "total_steps": 11148, "loss": 0.0054, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.763002682061555e-05, "epoch": 1.4, "percentage": 46.65, "elapsed_time": "9:44:58", "remaining_time": "11:09:07"}
53
+ {"current_steps": 5300, "total_steps": 11148, "loss": 0.0049, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.6928465347740434e-05, "epoch": 1.43, "percentage": 47.54, "elapsed_time": "9:56:00", "remaining_time": "10:57:37"}
54
+ {"current_steps": 5400, "total_steps": 11148, "loss": 0.0023, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.6225372473876565e-05, "epoch": 1.45, "percentage": 48.44, "elapsed_time": "10:07:17", "remaining_time": "10:46:25"}
55
+ {"current_steps": 5500, "total_steps": 11148, "loss": 0.0065, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.552835016828629e-05, "epoch": 1.48, "percentage": 49.34, "elapsed_time": "10:18:24", "remaining_time": "10:35:03"}
56
+ {"current_steps": 5600, "total_steps": 11148, "loss": 0.0032, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.4823871621313255e-05, "epoch": 1.51, "percentage": 50.23, "elapsed_time": "10:29:47", "remaining_time": "10:23:56"}
57
+ {"current_steps": 5700, "total_steps": 11148, "loss": 0.0043, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.411953293849365e-05, "epoch": 1.53, "percentage": 51.13, "elapsed_time": "10:40:54", "remaining_time": "10:12:34"}
58
+ {"current_steps": 5800, "total_steps": 11148, "loss": 0.0038, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.341589343760652e-05, "epoch": 1.56, "percentage": 52.03, "elapsed_time": "10:51:35", "remaining_time": "10:00:48"}
59
+ {"current_steps": 5900, "total_steps": 11148, "loss": 0.0048, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.271351188120813e-05, "epoch": 1.59, "percentage": 52.92, "elapsed_time": "11:03:01", "remaining_time": "9:49:45"}
60
+ {"current_steps": 6000, "total_steps": 11148, "loss": 0.0082, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.2012946032916717e-05, "epoch": 1.61, "percentage": 53.82, "elapsed_time": "11:14:20", "remaining_time": "9:38:34"}
61
+ {"current_steps": 6100, "total_steps": 11148, "loss": 0.0046, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.1314752214490396e-05, "epoch": 1.64, "percentage": 54.72, "elapsed_time": "11:25:45", "remaining_time": "9:27:29"}
62
+ {"current_steps": 6200, "total_steps": 11148, "loss": 0.0063, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.061948486405021e-05, "epoch": 1.67, "percentage": 55.62, "elapsed_time": "11:36:47", "remaining_time": "9:16:05"}
63
+ {"current_steps": 6300, "total_steps": 11148, "loss": 0.0052, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.992769609579885e-05, "epoch": 1.7, "percentage": 56.51, "elapsed_time": "11:47:49", "remaining_time": "9:04:41"}
64
+ {"current_steps": 6400, "total_steps": 11148, "loss": 0.0041, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.9239935261584917e-05, "epoch": 1.72, "percentage": 57.41, "elapsed_time": "11:59:07", "remaining_time": "8:53:29"}
65
+ {"current_steps": 6500, "total_steps": 11148, "loss": 0.004, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.8556748514660664e-05, "epoch": 1.75, "percentage": 58.31, "elapsed_time": "12:10:29", "remaining_time": "8:42:21"}
66
+ {"current_steps": 6600, "total_steps": 11148, "loss": 0.0035, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.7878678375979845e-05, "epoch": 1.78, "percentage": 59.2, "elapsed_time": "12:22:04", "remaining_time": "8:31:21"}
67
+ {"current_steps": 6700, "total_steps": 11148, "loss": 0.0066, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.7206263303379948e-05, "epoch": 1.8, "percentage": 60.1, "elapsed_time": "12:33:49", "remaining_time": "8:20:27"}
68
+ {"current_steps": 6800, "total_steps": 11148, "loss": 0.0047, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.654003726399097e-05, "epoch": 1.83, "percentage": 61.0, "elapsed_time": "12:44:59", "remaining_time": "8:09:08"}
69
+ {"current_steps": 6900, "total_steps": 11148, "loss": 0.005, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.5880529310210283e-05, "epoch": 1.86, "percentage": 61.89, "elapsed_time": "12:56:13", "remaining_time": "7:57:53"}
70
+ {"current_steps": 7000, "total_steps": 11148, "loss": 0.0033, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.5228263159580275e-05, "epoch": 1.88, "percentage": 62.79, "elapsed_time": "13:07:30", "remaining_time": "7:46:39"}
71
+ {"current_steps": 7100, "total_steps": 11148, "loss": 0.0059, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.4583756778902463e-05, "epoch": 1.91, "percentage": 63.69, "elapsed_time": "13:18:37", "remaining_time": "7:35:19"}
72
+ {"current_steps": 7200, "total_steps": 11148, "loss": 0.0051, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.3947521972918251e-05, "epoch": 1.94, "percentage": 64.59, "elapsed_time": "13:29:49", "remaining_time": "7:24:03"}
73
+ {"current_steps": 7300, "total_steps": 11148, "loss": 0.0041, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.3320063977883046e-05, "epoch": 1.96, "percentage": 65.48, "elapsed_time": "13:41:06", "remaining_time": "7:12:49"}
74
+ {"current_steps": 7400, "total_steps": 11148, "loss": 0.0049, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.2701881060356396e-05, "epoch": 1.99, "percentage": 66.38, "elapsed_time": "13:52:06", "remaining_time": "7:01:27"}
75
+ {"current_steps": 7500, "total_steps": 11148, "loss": 0.0024, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.209346412152676e-05, "epoch": 2.02, "percentage": 67.28, "elapsed_time": "14:03:11", "remaining_time": "6:50:07"}
76
+ {"current_steps": 7600, "total_steps": 11148, "loss": 0.0035, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.149529630738521e-05, "epoch": 2.04, "percentage": 68.17, "elapsed_time": "14:14:31", "remaining_time": "6:38:55"}
77
+ {"current_steps": 7700, "total_steps": 11148, "loss": 0.0013, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.0907852625057538e-05, "epoch": 2.07, "percentage": 69.07, "elapsed_time": "14:25:35", "remaining_time": "6:27:36"}
78
+ {"current_steps": 7800, "total_steps": 11148, "loss": 0.0014, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.0331599565599464e-05, "epoch": 2.1, "percentage": 69.97, "elapsed_time": "14:36:28", "remaining_time": "6:16:12"}
79
+ {"current_steps": 7900, "total_steps": 11148, "loss": 0.004, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 9.766994733554432e-06, "epoch": 2.13, "percentage": 70.86, "elapsed_time": "14:47:19", "remaining_time": "6:04:48"}
80
+ {"current_steps": 8000, "total_steps": 11148, "loss": 0.0021, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 9.214486483568307e-06, "epoch": 2.15, "percentage": 71.76, "elapsed_time": "14:58:44", "remaining_time": "5:53:39"}
81
+ {"current_steps": 8100, "total_steps": 11148, "loss": 0.0025, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 8.674513564349376e-06, "epoch": 2.18, "percentage": 72.66, "elapsed_time": "15:09:39", "remaining_time": "5:42:17"}
82
+ {"current_steps": 8200, "total_steps": 11148, "loss": 0.0026, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 8.147504770256536e-06, "epoch": 2.21, "percentage": 73.56, "elapsed_time": "15:20:57", "remaining_time": "5:31:05"}
83
+ {"current_steps": 8300, "total_steps": 11148, "loss": 0.0018, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 7.633878600792143e-06, "epoch": 2.23, "percentage": 74.45, "elapsed_time": "15:32:04", "remaining_time": "5:19:49"}
84
+ {"current_steps": 8400, "total_steps": 11148, "loss": 0.0016, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 7.138971709507527e-06, "epoch": 2.26, "percentage": 75.35, "elapsed_time": "15:43:11", "remaining_time": "5:08:33"}
85
+ {"current_steps": 8500, "total_steps": 11148, "loss": 0.003, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 6.653179652954706e-06, "epoch": 2.29, "percentage": 76.25, "elapsed_time": "15:54:31", "remaining_time": "4:57:21"}
86
+ {"current_steps": 8600, "total_steps": 11148, "loss": 0.0011, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 6.181956869763645e-06, "epoch": 2.31, "percentage": 77.14, "elapsed_time": "16:05:52", "remaining_time": "4:46:10"}
87
+ {"current_steps": 8700, "total_steps": 11148, "loss": 0.0024, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 5.725677559572909e-06, "epoch": 2.34, "percentage": 78.04, "elapsed_time": "16:17:01", "remaining_time": "4:34:54"}
88
+ {"current_steps": 8800, "total_steps": 11148, "loss": 0.0007, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 5.284704055357578e-06, "epoch": 2.37, "percentage": 78.94, "elapsed_time": "16:28:18", "remaining_time": "4:23:41"}
89
+ {"current_steps": 8900, "total_steps": 11148, "loss": 0.0017, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.859386535699373e-06, "epoch": 2.39, "percentage": 79.83, "elapsed_time": "16:39:37", "remaining_time": "4:12:29"}
90
+ {"current_steps": 9000, "total_steps": 11148, "loss": 0.0021, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.4500627467086245e-06, "epoch": 2.42, "percentage": 80.73, "elapsed_time": "16:51:12", "remaining_time": "4:01:20"}
91
+ {"current_steps": 9100, "total_steps": 11148, "loss": 0.0016, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.057057733818967e-06, "epoch": 2.45, "percentage": 81.63, "elapsed_time": "17:02:20", "remaining_time": "3:50:04"}
92
+ {"current_steps": 9200, "total_steps": 11148, "loss": 0.0013, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.680683583667599e-06, "epoch": 2.48, "percentage": 82.53, "elapsed_time": "17:13:20", "remaining_time": "3:38:47"}
93
+ {"current_steps": 9300, "total_steps": 11148, "loss": 0.0028, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.321239176266211e-06, "epoch": 2.5, "percentage": 83.42, "elapsed_time": "17:24:23", "remaining_time": "3:27:31"}
94
+ {"current_steps": 9400, "total_steps": 11148, "loss": 0.0007, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.9790099476593393e-06, "epoch": 2.53, "percentage": 84.32, "elapsed_time": "17:35:33", "remaining_time": "3:16:17"}
95
+ {"current_steps": 9500, "total_steps": 11148, "loss": 0.0026, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.654267663258628e-06, "epoch": 2.56, "percentage": 85.22, "elapsed_time": "17:47:00", "remaining_time": "3:05:05"}
96
+ {"current_steps": 9600, "total_steps": 11148, "loss": 0.0013, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.3472702020329696e-06, "epoch": 2.58, "percentage": 86.11, "elapsed_time": "17:58:19", "remaining_time": "2:53:52"}
97
+ {"current_steps": 9700, "total_steps": 11148, "loss": 0.0014, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.0582613517259377e-06, "epoch": 2.61, "percentage": 87.01, "elapsed_time": "18:09:34", "remaining_time": "2:42:39"}
98
+ {"current_steps": 9800, "total_steps": 11148, "loss": 0.0011, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.7874706152630705e-06, "epoch": 2.64, "percentage": 87.91, "elapsed_time": "18:20:45", "remaining_time": "2:31:24"}
99
+ {"current_steps": 9900, "total_steps": 11148, "loss": 0.0022, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.5351130285028214e-06, "epoch": 2.66, "percentage": 88.81, "elapsed_time": "18:31:59", "remaining_time": "2:20:10"}
100
+ {"current_steps": 10000, "total_steps": 11148, "loss": 0.0012, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.3036333720407912e-06, "epoch": 2.69, "percentage": 89.7, "elapsed_time": "18:42:49", "remaining_time": "2:08:54"}
101
+ {"current_steps": 10100, "total_steps": 11148, "loss": 0.0018, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.0885394205533805e-06, "epoch": 2.72, "percentage": 90.6, "elapsed_time": "18:54:12", "remaining_time": "1:57:41"}
102
+ {"current_steps": 10200, "total_steps": 11148, "loss": 0.0021, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 8.924336424426832e-07, "epoch": 2.74, "percentage": 91.5, "elapsed_time": "19:05:08", "remaining_time": "1:46:25"}
103
+ {"current_steps": 10300, "total_steps": 11148, "loss": 0.0022, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 7.154717659839549e-07, "epoch": 2.77, "percentage": 92.39, "elapsed_time": "19:16:30", "remaining_time": "1:35:12"}
104
+ {"current_steps": 10400, "total_steps": 11148, "loss": 0.002, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 5.57794317214072e-07, "epoch": 2.8, "percentage": 93.29, "elapsed_time": "19:27:31", "remaining_time": "1:23:58"}
105
+ {"current_steps": 10500, "total_steps": 11148, "loss": 0.0017, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 4.1952650833933515e-07, "epoch": 2.83, "percentage": 94.19, "elapsed_time": "19:38:44", "remaining_time": "1:12:44"}
106
+ {"current_steps": 10600, "total_steps": 11148, "loss": 0.0024, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 3.007781383039976e-07, "epoch": 2.85, "percentage": 95.08, "elapsed_time": "19:50:06", "remaining_time": "1:01:31"}
107
+ {"current_steps": 10700, "total_steps": 11148, "loss": 0.0011, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.0164350559856714e-07, "epoch": 2.88, "percentage": 95.98, "elapsed_time": "20:01:33", "remaining_time": "0:50:18"}
108
+ {"current_steps": 10800, "total_steps": 11148, "loss": 0.0013, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 1.222013333770422e-07, "epoch": 2.91, "percentage": 96.88, "elapsed_time": "20:12:33", "remaining_time": "0:39:04"}
109
+ {"current_steps": 10900, "total_steps": 11148, "loss": 0.0011, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 6.251470694257356e-08, "epoch": 2.93, "percentage": 97.78, "elapsed_time": "20:24:02", "remaining_time": "0:27:50"}
110
+ {"current_steps": 11000, "total_steps": 11148, "loss": 0.003, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.2631023651226157e-08, "epoch": 2.96, "percentage": 98.67, "elapsed_time": "20:35:15", "remaining_time": "0:16:37"}
111
+ {"current_steps": 11100, "total_steps": 11148, "loss": 0.0026, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": 2.581955273558978e-09, "epoch": 2.99, "percentage": 99.57, "elapsed_time": "20:46:31", "remaining_time": "0:05:23"}
112
+ {"current_steps": 11148, "total_steps": 11148, "loss": null, "eval_loss": null, "predict_loss": null, "reward": null, "learning_rate": null, "epoch": 3.0, "percentage": 100.0, "elapsed_time": "20:51:59", "remaining_time": "0:00:00"}
LLM-Detector-V2-11w/trainer_state.json ADDED
@@ -0,0 +1,694 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_metric": null,
3
+ "best_model_checkpoint": null,
4
+ "epoch": 2.9995963944571504,
5
+ "eval_steps": 500,
6
+ "global_step": 11148,
7
+ "is_hyper_param_search": false,
8
+ "is_local_process_zero": true,
9
+ "is_world_process_zero": true,
10
+ "log_history": [
11
+ {
12
+ "epoch": 0.03,
13
+ "learning_rate": 4.9990073706856164e-05,
14
+ "loss": 2.2244,
15
+ "step": 100
16
+ },
17
+ {
18
+ "epoch": 0.05,
19
+ "learning_rate": 4.99603027099283e-05,
20
+ "loss": 0.0286,
21
+ "step": 200
22
+ },
23
+ {
24
+ "epoch": 0.08,
25
+ "learning_rate": 4.991071065046783e-05,
26
+ "loss": 0.0144,
27
+ "step": 300
28
+ },
29
+ {
30
+ "epoch": 0.11,
31
+ "learning_rate": 4.984133690970033e-05,
32
+ "loss": 0.0223,
33
+ "step": 400
34
+ },
35
+ {
36
+ "epoch": 0.13,
37
+ "learning_rate": 4.975223657755279e-05,
38
+ "loss": 0.0179,
39
+ "step": 500
40
+ },
41
+ {
42
+ "epoch": 0.16,
43
+ "learning_rate": 4.9643480408906496e-05,
44
+ "loss": 0.0246,
45
+ "step": 600
46
+ },
47
+ {
48
+ "epoch": 0.19,
49
+ "learning_rate": 4.951515476741036e-05,
50
+ "loss": 0.0181,
51
+ "step": 700
52
+ },
53
+ {
54
+ "epoch": 0.22,
55
+ "learning_rate": 4.936736155689918e-05,
56
+ "loss": 0.0155,
57
+ "step": 800
58
+ },
59
+ {
60
+ "epoch": 0.24,
61
+ "learning_rate": 4.920021814047156e-05,
62
+ "loss": 0.0122,
63
+ "step": 900
64
+ },
65
+ {
66
+ "epoch": 0.27,
67
+ "learning_rate": 4.901385724729137e-05,
68
+ "loss": 0.0128,
69
+ "step": 1000
70
+ },
71
+ {
72
+ "epoch": 0.3,
73
+ "learning_rate": 4.880842686718711e-05,
74
+ "loss": 0.016,
75
+ "step": 1100
76
+ },
77
+ {
78
+ "epoch": 0.32,
79
+ "learning_rate": 4.858409013313266e-05,
80
+ "loss": 0.0134,
81
+ "step": 1200
82
+ },
83
+ {
84
+ "epoch": 0.35,
85
+ "learning_rate": 4.8341025191702847e-05,
86
+ "loss": 0.0099,
87
+ "step": 1300
88
+ },
89
+ {
90
+ "epoch": 0.38,
91
+ "learning_rate": 4.80794250616066e-05,
92
+ "loss": 0.0102,
93
+ "step": 1400
94
+ },
95
+ {
96
+ "epoch": 0.4,
97
+ "learning_rate": 4.7799497480410125e-05,
98
+ "loss": 0.0109,
99
+ "step": 1500
100
+ },
101
+ {
102
+ "epoch": 0.43,
103
+ "learning_rate": 4.7501464739571836e-05,
104
+ "loss": 0.0117,
105
+ "step": 1600
106
+ },
107
+ {
108
+ "epoch": 0.46,
109
+ "learning_rate": 4.7185563507919895e-05,
110
+ "loss": 0.0154,
111
+ "step": 1700
112
+ },
113
+ {
114
+ "epoch": 0.48,
115
+ "learning_rate": 4.685204464371269e-05,
116
+ "loss": 0.0107,
117
+ "step": 1800
118
+ },
119
+ {
120
+ "epoch": 0.51,
121
+ "learning_rate": 4.6501172995431424e-05,
122
+ "loss": 0.0133,
123
+ "step": 1900
124
+ },
125
+ {
126
+ "epoch": 0.54,
127
+ "learning_rate": 4.6133227191463044e-05,
128
+ "loss": 0.0157,
129
+ "step": 2000
130
+ },
131
+ {
132
+ "epoch": 0.57,
133
+ "learning_rate": 4.574849941884044e-05,
134
+ "loss": 0.0115,
135
+ "step": 2100
136
+ },
137
+ {
138
+ "epoch": 0.59,
139
+ "learning_rate": 4.534729519121574e-05,
140
+ "loss": 0.0135,
141
+ "step": 2200
142
+ },
143
+ {
144
+ "epoch": 0.62,
145
+ "learning_rate": 4.492993310625088e-05,
146
+ "loss": 0.0104,
147
+ "step": 2300
148
+ },
149
+ {
150
+ "epoch": 0.65,
151
+ "learning_rate": 4.449674459261804e-05,
152
+ "loss": 0.0113,
153
+ "step": 2400
154
+ },
155
+ {
156
+ "epoch": 0.67,
157
+ "learning_rate": 4.404807364681105e-05,
158
+ "loss": 0.0075,
159
+ "step": 2500
160
+ },
161
+ {
162
+ "epoch": 0.7,
163
+ "learning_rate": 4.358427655997657e-05,
164
+ "loss": 0.011,
165
+ "step": 2600
166
+ },
167
+ {
168
+ "epoch": 0.73,
169
+ "learning_rate": 4.310572163498205e-05,
170
+ "loss": 0.0103,
171
+ "step": 2700
172
+ },
173
+ {
174
+ "epoch": 0.75,
175
+ "learning_rate": 4.2612788893945176e-05,
176
+ "loss": 0.0126,
177
+ "step": 2800
178
+ },
179
+ {
180
+ "epoch": 0.78,
181
+ "learning_rate": 4.2105869776456944e-05,
182
+ "loss": 0.0084,
183
+ "step": 2900
184
+ },
185
+ {
186
+ "epoch": 0.81,
187
+ "learning_rate": 4.158536682873821e-05,
188
+ "loss": 0.0069,
189
+ "step": 3000
190
+ },
191
+ {
192
+ "epoch": 0.83,
193
+ "learning_rate": 4.1051693383976264e-05,
194
+ "loss": 0.0089,
195
+ "step": 3100
196
+ },
197
+ {
198
+ "epoch": 0.86,
199
+ "learning_rate": 4.050527323409557e-05,
200
+ "loss": 0.0103,
201
+ "step": 3200
202
+ },
203
+ {
204
+ "epoch": 0.89,
205
+ "learning_rate": 3.994654029322313e-05,
206
+ "loss": 0.011,
207
+ "step": 3300
208
+ },
209
+ {
210
+ "epoch": 0.91,
211
+ "learning_rate": 3.937593825311575e-05,
212
+ "loss": 0.0063,
213
+ "step": 3400
214
+ },
215
+ {
216
+ "epoch": 0.94,
217
+ "learning_rate": 3.8793920230822925e-05,
218
+ "loss": 0.0091,
219
+ "step": 3500
220
+ },
221
+ {
222
+ "epoch": 0.97,
223
+ "learning_rate": 3.8200948408864986e-05,
224
+ "loss": 0.0072,
225
+ "step": 3600
226
+ },
227
+ {
228
+ "epoch": 1.0,
229
+ "learning_rate": 3.759749366821241e-05,
230
+ "loss": 0.007,
231
+ "step": 3700
232
+ },
233
+ {
234
+ "epoch": 1.02,
235
+ "learning_rate": 3.698403521435756e-05,
236
+ "loss": 0.0067,
237
+ "step": 3800
238
+ },
239
+ {
240
+ "epoch": 1.05,
241
+ "learning_rate": 3.636106019677602e-05,
242
+ "loss": 0.0055,
243
+ "step": 3900
244
+ },
245
+ {
246
+ "epoch": 1.08,
247
+ "learning_rate": 3.572906332207943e-05,
248
+ "loss": 0.0071,
249
+ "step": 4000
250
+ },
251
+ {
252
+ "epoch": 1.1,
253
+ "learning_rate": 3.5088546461167346e-05,
254
+ "loss": 0.0056,
255
+ "step": 4100
256
+ },
257
+ {
258
+ "epoch": 1.13,
259
+ "learning_rate": 3.4440018250689767e-05,
260
+ "loss": 0.0074,
261
+ "step": 4200
262
+ },
263
+ {
264
+ "epoch": 1.16,
265
+ "learning_rate": 3.3783993689137015e-05,
266
+ "loss": 0.0061,
267
+ "step": 4300
268
+ },
269
+ {
270
+ "epoch": 1.18,
271
+ "learning_rate": 3.312099372787772e-05,
272
+ "loss": 0.0051,
273
+ "step": 4400
274
+ },
275
+ {
276
+ "epoch": 1.21,
277
+ "learning_rate": 3.2451544857469436e-05,
278
+ "loss": 0.0078,
279
+ "step": 4500
280
+ },
281
+ {
282
+ "epoch": 1.24,
283
+ "learning_rate": 3.177617868957078e-05,
284
+ "loss": 0.0064,
285
+ "step": 4600
286
+ },
287
+ {
288
+ "epoch": 1.26,
289
+ "learning_rate": 3.109543153478671e-05,
290
+ "loss": 0.0064,
291
+ "step": 4700
292
+ },
293
+ {
294
+ "epoch": 1.29,
295
+ "learning_rate": 3.040984397678245e-05,
296
+ "loss": 0.0064,
297
+ "step": 4800
298
+ },
299
+ {
300
+ "epoch": 1.32,
301
+ "learning_rate": 2.9719960443004107e-05,
302
+ "loss": 0.0062,
303
+ "step": 4900
304
+ },
305
+ {
306
+ "epoch": 1.35,
307
+ "learning_rate": 2.9026328772347e-05,
308
+ "loss": 0.0056,
309
+ "step": 5000
310
+ },
311
+ {
312
+ "epoch": 1.37,
313
+ "learning_rate": 2.8329499780114865e-05,
314
+ "loss": 0.0096,
315
+ "step": 5100
316
+ },
317
+ {
318
+ "epoch": 1.4,
319
+ "learning_rate": 2.763002682061555e-05,
320
+ "loss": 0.0054,
321
+ "step": 5200
322
+ },
323
+ {
324
+ "epoch": 1.43,
325
+ "learning_rate": 2.6928465347740434e-05,
326
+ "loss": 0.0049,
327
+ "step": 5300
328
+ },
329
+ {
330
+ "epoch": 1.45,
331
+ "learning_rate": 2.6225372473876565e-05,
332
+ "loss": 0.0023,
333
+ "step": 5400
334
+ },
335
+ {
336
+ "epoch": 1.48,
337
+ "learning_rate": 2.552835016828629e-05,
338
+ "loss": 0.0065,
339
+ "step": 5500
340
+ },
341
+ {
342
+ "epoch": 1.51,
343
+ "learning_rate": 2.4823871621313255e-05,
344
+ "loss": 0.0032,
345
+ "step": 5600
346
+ },
347
+ {
348
+ "epoch": 1.53,
349
+ "learning_rate": 2.411953293849365e-05,
350
+ "loss": 0.0043,
351
+ "step": 5700
352
+ },
353
+ {
354
+ "epoch": 1.56,
355
+ "learning_rate": 2.341589343760652e-05,
356
+ "loss": 0.0038,
357
+ "step": 5800
358
+ },
359
+ {
360
+ "epoch": 1.59,
361
+ "learning_rate": 2.271351188120813e-05,
362
+ "loss": 0.0048,
363
+ "step": 5900
364
+ },
365
+ {
366
+ "epoch": 1.61,
367
+ "learning_rate": 2.2012946032916717e-05,
368
+ "loss": 0.0082,
369
+ "step": 6000
370
+ },
371
+ {
372
+ "epoch": 1.64,
373
+ "learning_rate": 2.1314752214490396e-05,
374
+ "loss": 0.0046,
375
+ "step": 6100
376
+ },
377
+ {
378
+ "epoch": 1.67,
379
+ "learning_rate": 2.061948486405021e-05,
380
+ "loss": 0.0063,
381
+ "step": 6200
382
+ },
383
+ {
384
+ "epoch": 1.7,
385
+ "learning_rate": 1.992769609579885e-05,
386
+ "loss": 0.0052,
387
+ "step": 6300
388
+ },
389
+ {
390
+ "epoch": 1.72,
391
+ "learning_rate": 1.9239935261584917e-05,
392
+ "loss": 0.0041,
393
+ "step": 6400
394
+ },
395
+ {
396
+ "epoch": 1.75,
397
+ "learning_rate": 1.8556748514660664e-05,
398
+ "loss": 0.004,
399
+ "step": 6500
400
+ },
401
+ {
402
+ "epoch": 1.78,
403
+ "learning_rate": 1.7878678375979845e-05,
404
+ "loss": 0.0035,
405
+ "step": 6600
406
+ },
407
+ {
408
+ "epoch": 1.8,
409
+ "learning_rate": 1.7206263303379948e-05,
410
+ "loss": 0.0066,
411
+ "step": 6700
412
+ },
413
+ {
414
+ "epoch": 1.83,
415
+ "learning_rate": 1.654003726399097e-05,
416
+ "loss": 0.0047,
417
+ "step": 6800
418
+ },
419
+ {
420
+ "epoch": 1.86,
421
+ "learning_rate": 1.5880529310210283e-05,
422
+ "loss": 0.005,
423
+ "step": 6900
424
+ },
425
+ {
426
+ "epoch": 1.88,
427
+ "learning_rate": 1.5228263159580275e-05,
428
+ "loss": 0.0033,
429
+ "step": 7000
430
+ },
431
+ {
432
+ "epoch": 1.91,
433
+ "learning_rate": 1.4583756778902463e-05,
434
+ "loss": 0.0059,
435
+ "step": 7100
436
+ },
437
+ {
438
+ "epoch": 1.94,
439
+ "learning_rate": 1.3947521972918251e-05,
440
+ "loss": 0.0051,
441
+ "step": 7200
442
+ },
443
+ {
444
+ "epoch": 1.96,
445
+ "learning_rate": 1.3320063977883046e-05,
446
+ "loss": 0.0041,
447
+ "step": 7300
448
+ },
449
+ {
450
+ "epoch": 1.99,
451
+ "learning_rate": 1.2701881060356396e-05,
452
+ "loss": 0.0049,
453
+ "step": 7400
454
+ },
455
+ {
456
+ "epoch": 2.02,
457
+ "learning_rate": 1.209346412152676e-05,
458
+ "loss": 0.0024,
459
+ "step": 7500
460
+ },
461
+ {
462
+ "epoch": 2.04,
463
+ "learning_rate": 1.149529630738521e-05,
464
+ "loss": 0.0035,
465
+ "step": 7600
466
+ },
467
+ {
468
+ "epoch": 2.07,
469
+ "learning_rate": 1.0907852625057538e-05,
470
+ "loss": 0.0013,
471
+ "step": 7700
472
+ },
473
+ {
474
+ "epoch": 2.1,
475
+ "learning_rate": 1.0331599565599464e-05,
476
+ "loss": 0.0014,
477
+ "step": 7800
478
+ },
479
+ {
480
+ "epoch": 2.13,
481
+ "learning_rate": 9.766994733554432e-06,
482
+ "loss": 0.004,
483
+ "step": 7900
484
+ },
485
+ {
486
+ "epoch": 2.15,
487
+ "learning_rate": 9.214486483568307e-06,
488
+ "loss": 0.0021,
489
+ "step": 8000
490
+ },
491
+ {
492
+ "epoch": 2.18,
493
+ "learning_rate": 8.674513564349376e-06,
494
+ "loss": 0.0025,
495
+ "step": 8100
496
+ },
497
+ {
498
+ "epoch": 2.21,
499
+ "learning_rate": 8.147504770256536e-06,
500
+ "loss": 0.0026,
501
+ "step": 8200
502
+ },
503
+ {
504
+ "epoch": 2.23,
505
+ "learning_rate": 7.633878600792143e-06,
506
+ "loss": 0.0018,
507
+ "step": 8300
508
+ },
509
+ {
510
+ "epoch": 2.26,
511
+ "learning_rate": 7.138971709507527e-06,
512
+ "loss": 0.0016,
513
+ "step": 8400
514
+ },
515
+ {
516
+ "epoch": 2.29,
517
+ "learning_rate": 6.653179652954706e-06,
518
+ "loss": 0.003,
519
+ "step": 8500
520
+ },
521
+ {
522
+ "epoch": 2.31,
523
+ "learning_rate": 6.181956869763645e-06,
524
+ "loss": 0.0011,
525
+ "step": 8600
526
+ },
527
+ {
528
+ "epoch": 2.34,
529
+ "learning_rate": 5.725677559572909e-06,
530
+ "loss": 0.0024,
531
+ "step": 8700
532
+ },
533
+ {
534
+ "epoch": 2.37,
535
+ "learning_rate": 5.284704055357578e-06,
536
+ "loss": 0.0007,
537
+ "step": 8800
538
+ },
539
+ {
540
+ "epoch": 2.39,
541
+ "learning_rate": 4.859386535699373e-06,
542
+ "loss": 0.0017,
543
+ "step": 8900
544
+ },
545
+ {
546
+ "epoch": 2.42,
547
+ "learning_rate": 4.4500627467086245e-06,
548
+ "loss": 0.0021,
549
+ "step": 9000
550
+ },
551
+ {
552
+ "epoch": 2.45,
553
+ "learning_rate": 4.057057733818967e-06,
554
+ "loss": 0.0016,
555
+ "step": 9100
556
+ },
557
+ {
558
+ "epoch": 2.48,
559
+ "learning_rate": 3.680683583667599e-06,
560
+ "loss": 0.0013,
561
+ "step": 9200
562
+ },
563
+ {
564
+ "epoch": 2.5,
565
+ "learning_rate": 3.321239176266211e-06,
566
+ "loss": 0.0028,
567
+ "step": 9300
568
+ },
569
+ {
570
+ "epoch": 2.53,
571
+ "learning_rate": 2.9790099476593393e-06,
572
+ "loss": 0.0007,
573
+ "step": 9400
574
+ },
575
+ {
576
+ "epoch": 2.56,
577
+ "learning_rate": 2.654267663258628e-06,
578
+ "loss": 0.0026,
579
+ "step": 9500
580
+ },
581
+ {
582
+ "epoch": 2.58,
583
+ "learning_rate": 2.3472702020329696e-06,
584
+ "loss": 0.0013,
585
+ "step": 9600
586
+ },
587
+ {
588
+ "epoch": 2.61,
589
+ "learning_rate": 2.0582613517259377e-06,
590
+ "loss": 0.0014,
591
+ "step": 9700
592
+ },
593
+ {
594
+ "epoch": 2.64,
595
+ "learning_rate": 1.7874706152630705e-06,
596
+ "loss": 0.0011,
597
+ "step": 9800
598
+ },
599
+ {
600
+ "epoch": 2.66,
601
+ "learning_rate": 1.5351130285028214e-06,
602
+ "loss": 0.0022,
603
+ "step": 9900
604
+ },
605
+ {
606
+ "epoch": 2.69,
607
+ "learning_rate": 1.3036333720407912e-06,
608
+ "loss": 0.0012,
609
+ "step": 10000
610
+ },
611
+ {
612
+ "epoch": 2.72,
613
+ "learning_rate": 1.0885394205533805e-06,
614
+ "loss": 0.0018,
615
+ "step": 10100
616
+ },
617
+ {
618
+ "epoch": 2.74,
619
+ "learning_rate": 8.924336424426832e-07,
620
+ "loss": 0.0021,
621
+ "step": 10200
622
+ },
623
+ {
624
+ "epoch": 2.77,
625
+ "learning_rate": 7.154717659839549e-07,
626
+ "loss": 0.0022,
627
+ "step": 10300
628
+ },
629
+ {
630
+ "epoch": 2.8,
631
+ "learning_rate": 5.57794317214072e-07,
632
+ "loss": 0.002,
633
+ "step": 10400
634
+ },
635
+ {
636
+ "epoch": 2.83,
637
+ "learning_rate": 4.1952650833933515e-07,
638
+ "loss": 0.0017,
639
+ "step": 10500
640
+ },
641
+ {
642
+ "epoch": 2.85,
643
+ "learning_rate": 3.007781383039976e-07,
644
+ "loss": 0.0024,
645
+ "step": 10600
646
+ },
647
+ {
648
+ "epoch": 2.88,
649
+ "learning_rate": 2.0164350559856714e-07,
650
+ "loss": 0.0011,
651
+ "step": 10700
652
+ },
653
+ {
654
+ "epoch": 2.91,
655
+ "learning_rate": 1.222013333770422e-07,
656
+ "loss": 0.0013,
657
+ "step": 10800
658
+ },
659
+ {
660
+ "epoch": 2.93,
661
+ "learning_rate": 6.251470694257356e-08,
662
+ "loss": 0.0011,
663
+ "step": 10900
664
+ },
665
+ {
666
+ "epoch": 2.96,
667
+ "learning_rate": 2.2631023651226157e-08,
668
+ "loss": 0.003,
669
+ "step": 11000
670
+ },
671
+ {
672
+ "epoch": 2.99,
673
+ "learning_rate": 2.581955273558978e-09,
674
+ "loss": 0.0026,
675
+ "step": 11100
676
+ },
677
+ {
678
+ "epoch": 3.0,
679
+ "step": 11148,
680
+ "total_flos": 2.3299941680566764e+18,
681
+ "train_loss": 0.02652581251227368,
682
+ "train_runtime": 75119.2077,
683
+ "train_samples_per_second": 4.749,
684
+ "train_steps_per_second": 0.148
685
+ }
686
+ ],
687
+ "logging_steps": 100,
688
+ "max_steps": 11148,
689
+ "num_train_epochs": 3,
690
+ "save_steps": 5000,
691
+ "total_flos": 2.3299941680566764e+18,
692
+ "trial_name": null,
693
+ "trial_params": null
694
+ }
LLM-Detector-V2-11w/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2501d0db9b5d010a4a25759f877d55c11a9cd335425e4c2cc6f2683c0ebb1612
3
+ size 4600
LLM-Detector-V2-11w/training_loss.png ADDED