artificialguybr commited on
Commit
d505fa6
·
1 Parent(s): c180f90

Adicionando novos arquivos de modelo, incluindo subpastas

Browse files
checkpoint-381/config.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "stabilityai/stablelm-3b-4e1t",
3
+ "architectures": [
4
+ "StableLMEpochForCausalLM"
5
+ ],
6
+ "auto_map": {
7
+ "AutoConfig": "configuration_stablelm_epoch.StableLMEpochConfig",
8
+ "AutoModelForCausalLM": "modeling_stablelm_epoch.StableLMEpochForCausalLM"
9
+ },
10
+ "bos_token_id": 0,
11
+ "eos_token_id": 0,
12
+ "hidden_act": "silu",
13
+ "hidden_size": 2560,
14
+ "initializer_range": 0.02,
15
+ "intermediate_size": 6912,
16
+ "max_position_embeddings": 4096,
17
+ "model_type": "stablelm_epoch",
18
+ "norm_eps": 1e-05,
19
+ "num_attention_heads": 32,
20
+ "num_heads": 32,
21
+ "num_hidden_layers": 32,
22
+ "num_key_value_heads": 32,
23
+ "rope_pct": 0.25,
24
+ "rope_theta": 10000,
25
+ "rotary_scaling_factor": 1.0,
26
+ "tie_word_embeddings": false,
27
+ "torch_dtype": "float32",
28
+ "transformers_version": "4.34.1",
29
+ "use_cache": false,
30
+ "vocab_size": 50304
31
+ }
checkpoint-381/configuration_stablelm_epoch.py ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2023 Stability and The HuggingFace Inc. team. All rights reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ """ StableLM Epoch model configuration"""
16
+ from transformers import PretrainedConfig
17
+ from transformers.utils import logging
18
+
19
+
20
+ logger = logging.get_logger(__name__)
21
+
22
+
23
+ class StableLMEpochConfig(PretrainedConfig):
24
+ r"""
25
+ Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
26
+ documentation from [`PretrainedConfig`] for more information.
27
+
28
+ Args:
29
+ vocab_size (`int`, *optional*, defaults to 50_304):
30
+ Vocabulary size of the StableLM model. Defines the number of different tokens that
31
+ can be represented by the `inputs_ids` passed when calling [`StableLMEpochModel`].
32
+ intermediate_size (`int`, *optional*, defaults to 6912):
33
+ Dimension of the MLP representations.
34
+ hidden_size (`int`, *optional*, defaults to 2560):
35
+ Dimension of the decoder layers and the pooler layer.
36
+ num_hidden_layers (`int`, *optional*, defaults to 32):
37
+ Number of hidden layers in the Transformer decoder.
38
+ num_attention_heads (`int`, *optional*, defaults to 32):
39
+ Number of attention heads for each attention layer in the Transformer encoder.
40
+ num_key_value_heads (`int`, *optional*):
41
+ This is the number of key_value heads that should be used to implement Grouped Query Attention. If
42
+ `num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if
43
+ `num_key_value_heads=1 the model will use Multi Query Attention (MQA) otherwise GQA is used. When
44
+ converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed
45
+ by meanpooling all the original heads within that group. For more details checkout [this
46
+ paper](https://arxiv.org/pdf/2305.13245.pdf). If it is not specified, will default to
47
+ `num_attention_heads`.
48
+ hidden_act (`str` or `function`, *optional*, defaults to `"silu"`):
49
+ The non-linear activation function (function or string).
50
+ rope_pct (`float`, *optional*, defaults to 1.0):
51
+ Percentage of hidden dimensions to allocate to rotary embeddings.
52
+ rope_theta (`float`, *optional*, defaults to 10000.0):
53
+ The base period of the RoPE embeddings.
54
+ max_position_embeddings (`int`, *optional*, defaults to 2048):
55
+ The maximum sequence length that this model might ever be used with.
56
+ Typically set this to something large just in case (e.g., 512 or 1024 or 2048).
57
+ initializer_range (`float`, *optional*, defaults to 1e-5):
58
+ The standard deviation of the truncated_normal_initializer for initializing
59
+ all weight matrices.
60
+ norm_eps (`float`, *optional*, defaults to 1e-8):
61
+ The epsilon used by the normalization layers.
62
+ use_cache (`bool`, *optional*, defaults to `True`):
63
+ Whether or not the model should return the last key/values attentions
64
+ (not used by all models). Only relevant if `config.is_decoder=True`.
65
+ tie_word_embeddings(`bool`, *optional*, defaults to `False`):
66
+ Whether to tie weight embeddings
67
+ """
68
+ model_type = "stablelm_epoch"
69
+ keys_to_ignore_at_inference = ["past_key_values"]
70
+
71
+ def __init__(
72
+ self,
73
+ vocab_size=50_304,
74
+ intermediate_size=6912,
75
+ hidden_size=2560,
76
+ num_hidden_layers=32,
77
+ num_attention_heads=32,
78
+ num_key_value_heads=32,
79
+ hidden_act="silu",
80
+ rope_pct=0.25,
81
+ rope_theta=10_000,
82
+ max_position_embeddings=4096,
83
+ initializer_range=0.02,
84
+ norm_eps=1.0e-5,
85
+ use_cache=True,
86
+ bos_token_id=0,
87
+ eos_token_id=2,
88
+ tie_word_embeddings=False,
89
+ **kwargs,
90
+ ):
91
+ self.vocab_size = vocab_size
92
+ self.max_position_embeddings = max_position_embeddings
93
+ self.intermediate_size = intermediate_size
94
+ self.hidden_size = hidden_size
95
+ self.num_hidden_layers = num_hidden_layers
96
+ self.num_attention_heads = num_attention_heads
97
+ self.num_key_value_heads = num_key_value_heads
98
+ self.hidden_act = hidden_act
99
+ self.rope_pct = rope_pct
100
+ self.rope_theta = rope_theta
101
+ self.initializer_range = initializer_range
102
+ self.norm_eps = norm_eps
103
+ self.use_cache = use_cache
104
+ self.tie_word_embeddings = tie_word_embeddings
105
+ super().__init__(
106
+ bos_token_id=bos_token_id,
107
+ eos_token_id=eos_token_id,
108
+ tie_word_embeddings=tie_word_embeddings,
109
+ **kwargs,
110
+ )
checkpoint-381/generation_config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 0,
4
+ "eos_token_id": 0,
5
+ "transformers_version": "4.34.1"
6
+ }
checkpoint-381/modeling_stablelm_epoch.py ADDED
@@ -0,0 +1,687 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2023 Stability AI, EleutherAI, and The HuggingFace Inc. team. All rights reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ # This code is based off the following work:
17
+ # https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/modeling_llama.py
18
+ # https://github.com/huggingface/transformers/blob/main/src/transformers/models/gpt_neox/modeling_gpt_neox.py
19
+ """ PyTorch StableLM Epoch model. """
20
+ from typing import Optional, Tuple, Union
21
+ import math
22
+
23
+ import torch
24
+ import torch.utils.checkpoint
25
+ from torch import nn
26
+ from torch.nn import CrossEntropyLoss
27
+ from transformers.modeling_outputs import (
28
+ BaseModelOutputWithPast,
29
+ CausalLMOutputWithPast,
30
+ )
31
+ from transformers.modeling_utils import PreTrainedModel
32
+ from transformers.utils import logging
33
+ from .configuration_stablelm_epoch import StableLMEpochConfig
34
+
35
+
36
+ logger = logging.get_logger(__name__)
37
+
38
+
39
+ # Copied from transformers.models.bart.modeling_bart._make_causal_mask
40
+ def _make_causal_mask(
41
+ input_ids_shape: torch.Size,
42
+ dtype: torch.dtype,
43
+ device: torch.device,
44
+ past_key_values_length: int = 0,
45
+ ):
46
+ """Make causal mask used for bi-directional self-attention."""
47
+ batch_size, tgt_len = input_ids_shape
48
+ mask = torch.full((tgt_len, tgt_len), torch.finfo(torch.float16).min, device=device)
49
+ mask_cond = torch.arange(mask.size(-1), device=device)
50
+ mask.masked_fill_(mask_cond < (mask_cond + 1).view(mask.size(-1), 1), 0)
51
+ mask = mask.to(dtype)
52
+ if past_key_values_length > 0:
53
+ mask = torch.cat([torch.zeros(tgt_len, past_key_values_length, dtype=dtype, device=device), mask], dim=-1)
54
+ return mask[None, None, :, :].expand(batch_size, 1, tgt_len, tgt_len + past_key_values_length)
55
+
56
+
57
+ # Copied from transformers.models.bart.modeling_bart._expand_mask
58
+ def _expand_mask(mask: torch.Tensor, dtype: torch.dtype, tgt_len: Optional[int] = None):
59
+ """Expands attention_mask from `[batch_size, seq_len]` to `[batch_size, 1, tgt_seq_len, src_seq_len]`."""
60
+ batch_size, src_len = mask.size()
61
+ tgt_len = tgt_len if tgt_len is not None else src_len
62
+
63
+ expanded_mask = mask[:, None, None, :].expand(batch_size, 1, tgt_len, src_len).to(dtype)
64
+ inverted_mask = 1.0 - expanded_mask
65
+
66
+ return inverted_mask.masked_fill(
67
+ inverted_mask.to(torch.bool), torch.finfo(dtype).min
68
+ )
69
+
70
+
71
+ class RotaryEmbedding(nn.Module):
72
+ def __init__(
73
+ self,
74
+ dim: int,
75
+ max_position_embeddings: int,
76
+ base: int = 10_000,
77
+ device: Optional[torch.device] = None,
78
+ ):
79
+ super().__init__()
80
+
81
+ self.dim = dim
82
+ self.max_position_embeddings = max_position_embeddings
83
+ self.base = base
84
+ inv_freq = 1.0 / (self.base ** (torch.arange(0, self.dim, 2, device=device, dtype=torch.float32) / self.dim))
85
+ self.register_buffer("inv_freq", inv_freq, persistent=False)
86
+
87
+ # Build here to make `torch.jit.trace` work.
88
+ self._set_cos_sin_cache(
89
+ seq_len=max_position_embeddings, device=self.inv_freq.device, dtype=torch.get_default_dtype(),
90
+ )
91
+
92
+ def _set_cos_sin_cache(self, seq_len: int, device: torch.device, dtype: torch.dtype):
93
+ self.max_seq_len_cached = seq_len
94
+ t = torch.arange(self.max_seq_len_cached, device=device, dtype=torch.float32)
95
+
96
+ # Don't do einsum, it converts fp32 to fp16 under AMP
97
+ # freqs = torch.einsum("i,j->ij", t, self.inv_freq)
98
+ freqs = torch.outer(t, self.inv_freq)
99
+ # Different from paper, but it uses a different permutation in order to obtain the same calculation
100
+ emb = torch.cat((freqs, freqs), dim=-1)
101
+ self.register_buffer("cos_cached", emb.cos()[None, None, :, :].to(dtype), persistent=False)
102
+ self.register_buffer("sin_cached", emb.sin()[None, None, :, :].to(dtype), persistent=False)
103
+
104
+ def forward(self, x: torch.Tensor, seq_len: Optional[int] = None):
105
+ # x: [batch_size, num_heads, seq_len, head_size]
106
+ if seq_len > self.max_seq_len_cached:
107
+ self._set_cos_sin_cache(seq_len=seq_len, device=x.device, dtype=torch.get_default_dtype())
108
+ return (
109
+ self.cos_cached[:, :, :seq_len, ...].to(dtype=x.dtype),
110
+ self.sin_cached[:, :, :seq_len, ...].to(dtype=x.dtype),
111
+ )
112
+
113
+
114
+ def rotate_half(x: torch.Tensor):
115
+ """Rotates half the hidden dims of the input."""
116
+ x1, x2 = torch.chunk(x, 2, dim=-1)
117
+ return torch.cat((-x2, x1), dim=-1)
118
+
119
+
120
+ def apply_rotary_pos_emb(q, k, cos, sin, position_ids):
121
+ # The first two dimensions of cos and sin are always 1, so we can `squeeze` them.
122
+ cos = cos.squeeze(1).squeeze(0) # [seq_len, dim]
123
+ sin = sin.squeeze(1).squeeze(0) # [seq_len, dim]
124
+ cos = cos[position_ids].unsqueeze(1) # [batch_size, 1, seq_len, dim]
125
+ sin = sin[position_ids].unsqueeze(1) # [batch_size, 1, seq_len, dim]
126
+ q_embed = (q * cos) + (rotate_half(q) * sin)
127
+ k_embed = (k * cos) + (rotate_half(k) * sin)
128
+ return q_embed, k_embed
129
+
130
+
131
+ class MLP(nn.Module):
132
+ def __init__(self, config: StableLMEpochConfig):
133
+ super().__init__()
134
+ self.config = config
135
+ self.hidden_size = config.hidden_size
136
+ self.intermediate_size = config.intermediate_size
137
+ self.gate_proj = nn.Linear(config.hidden_size, config.intermediate_size, bias=False)
138
+ self.up_proj = nn.Linear(config.hidden_size, config.intermediate_size, bias=False)
139
+ self.down_proj = nn.Linear(config.intermediate_size, config.hidden_size, bias=False)
140
+ self.act_fn = nn.SiLU()
141
+
142
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
143
+ return self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x))
144
+
145
+
146
+ def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor:
147
+ """
148
+ This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch,
149
+ num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim)
150
+ """
151
+ batch, num_key_value_heads, slen, head_dim = hidden_states.shape
152
+ if n_rep == 1:
153
+ return hidden_states
154
+ hidden_states = hidden_states[:, :, None, :, :].expand(batch, num_key_value_heads, n_rep, slen, head_dim)
155
+ return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim)
156
+
157
+
158
+ class Attention(nn.Module):
159
+ def __init__(self, config: StableLMEpochConfig):
160
+ super().__init__()
161
+ self.config = config
162
+ self.hidden_size = config.hidden_size
163
+ self.num_heads = config.num_attention_heads
164
+ self.head_dim = self.hidden_size // self.num_heads
165
+ self.num_key_value_heads = config.num_key_value_heads
166
+ self.num_key_value_groups = self.num_heads // self.num_key_value_heads
167
+ self.max_position_embeddings = config.max_position_embeddings
168
+
169
+ if (self.head_dim * self.num_heads) != self.hidden_size:
170
+ raise ValueError(
171
+ f"hidden_size must be divisible by num_heads (got `hidden_size`: {self.hidden_size}"
172
+ f" and `num_heads`: {self.num_heads})."
173
+ )
174
+ self.q_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim, bias=False)
175
+ self.k_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim, bias=False)
176
+ self.v_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim, bias=False)
177
+ self.o_proj = nn.Linear(self.hidden_size, self.hidden_size, bias=False)
178
+
179
+ self._init_rope()
180
+
181
+ def _init_rope(self):
182
+ self.rotary_ndims = int(self.head_dim * self.config.rope_pct)
183
+ self.rotary_emb = RotaryEmbedding(
184
+ self.rotary_ndims,
185
+ max_position_embeddings=self.config.max_position_embeddings,
186
+ base=self.config.rope_theta,
187
+ )
188
+
189
+ def forward(
190
+ self,
191
+ hidden_states: torch.FloatTensor,
192
+ attention_mask: torch.FloatTensor,
193
+ position_ids: torch.LongTensor,
194
+ past_key_value: Optional[Tuple[torch.Tensor]] = None,
195
+ output_attentions: Optional[bool] = False,
196
+ use_cache: Optional[bool] = False,
197
+ ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]:
198
+ bsz, q_len, _ = hidden_states.size()
199
+
200
+ query_states = self.q_proj(hidden_states)
201
+ key_states = self.k_proj(hidden_states)
202
+ value_states = self.v_proj(hidden_states)
203
+
204
+ query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2)
205
+ key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2)
206
+ value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2)
207
+
208
+ query_rot = query_states[..., : self.rotary_ndims]
209
+ query_pass = query_states[..., self.rotary_ndims :]
210
+ key_rot = key_states[..., : self.rotary_ndims]
211
+ key_pass = key_states[..., self.rotary_ndims :]
212
+
213
+ kv_seq_len = key_states.shape[-2]
214
+ if past_key_value is not None:
215
+ kv_seq_len += past_key_value[0].shape[-2]
216
+ cos, sin = self.rotary_emb(value_states, seq_len=kv_seq_len)
217
+ query_states, key_states = apply_rotary_pos_emb(query_rot, key_rot, cos, sin, position_ids)
218
+
219
+ # [batch_size, num_heads, seq_len, head_dim]
220
+ query_states = torch.cat((query_states, query_pass), dim=-1)
221
+ key_states = torch.cat((key_states, key_pass), dim=-1)
222
+
223
+ if past_key_value is not None:
224
+ # Reuse k, v, self_attention
225
+ key_states = torch.cat((past_key_value[0], key_states), dim=2)
226
+ value_states = torch.cat((past_key_value[1], value_states), dim=2)
227
+
228
+ past_key_value = (key_states, value_states) if use_cache else None
229
+
230
+ # Repeat k/v heads if n_kv_heads < n_heads
231
+ key_states = repeat_kv(key_states, self.num_key_value_groups)
232
+ value_states = repeat_kv(value_states, self.num_key_value_groups)
233
+
234
+ attn_weights = torch.matmul(query_states, key_states.transpose(2, 3)) / math.sqrt(self.head_dim)
235
+
236
+ if attn_weights.size() != (bsz, self.num_heads, q_len, kv_seq_len):
237
+ raise ValueError(
238
+ f"Attention weights should be of size {(bsz, self.num_heads, q_len, kv_seq_len)}, but is"
239
+ f" {attn_weights.size()}"
240
+ )
241
+
242
+ if attention_mask is not None:
243
+ if attention_mask.size() != (bsz, 1, q_len, kv_seq_len):
244
+ raise ValueError(
245
+ f"Attention mask should be of size {(bsz, 1, q_len, kv_seq_len)}, but is {attention_mask.size()}"
246
+ )
247
+ attn_weights = attn_weights + attention_mask
248
+
249
+ # Upcast attention to fp32
250
+ attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32).to(query_states.dtype)
251
+ attn_output = torch.matmul(attn_weights, value_states)
252
+
253
+ if attn_output.size() != (bsz, self.num_heads, q_len, self.head_dim):
254
+ raise ValueError(
255
+ f"`attn_output` should be of size {(bsz, self.num_heads, q_len, self.head_dim)}, but is"
256
+ f" {attn_output.size()}"
257
+ )
258
+
259
+ # Merge heads
260
+ attn_output = attn_output.transpose(1, 2).contiguous()
261
+ attn_output = attn_output.reshape(bsz, q_len, self.hidden_size)
262
+
263
+ # Final linear projection
264
+ attn_output = self.o_proj(attn_output)
265
+
266
+ if not output_attentions:
267
+ attn_weights = None
268
+
269
+ return attn_output, attn_weights, past_key_value
270
+
271
+
272
+ class DecoderLayer(nn.Module):
273
+ def __init__(self, config: StableLMEpochConfig):
274
+ super().__init__()
275
+ self.self_attn = Attention(config)
276
+ self.mlp = MLP(config)
277
+ self.input_layernorm = nn.LayerNorm(config.hidden_size, eps=config.norm_eps)
278
+ self.post_attention_layernorm = nn.LayerNorm(config.hidden_size, eps=config.norm_eps)
279
+
280
+ def forward(
281
+ self,
282
+ hidden_states: Optional[torch.FloatTensor],
283
+ attention_mask: Optional[torch.FloatTensor] = None,
284
+ position_ids: Optional[torch.LongTensor] = None,
285
+ past_key_value: Optional[Tuple[torch.Tensor]] = None,
286
+ output_attentions: Optional[bool] = False,
287
+ use_cache: Optional[bool] = False,
288
+ ) -> Union[Tuple[torch.Tensor], Optional[Tuple[torch.Tensor, Tuple[torch.FloatTensor, ...]]]]:
289
+ residual = hidden_states
290
+
291
+ hidden_states = self.input_layernorm(hidden_states)
292
+
293
+ # Self Attention
294
+ hidden_states, self_attn_weights, present_key_value = self.self_attn(
295
+ hidden_states=hidden_states,
296
+ attention_mask=attention_mask,
297
+ position_ids=position_ids,
298
+ past_key_value=past_key_value,
299
+ output_attentions=output_attentions,
300
+ use_cache=use_cache,
301
+ )
302
+ hidden_states = residual + hidden_states
303
+
304
+ # Fully Connected
305
+ residual = hidden_states
306
+ hidden_states = self.post_attention_layernorm(hidden_states)
307
+ hidden_states = self.mlp(hidden_states)
308
+ hidden_states = residual + hidden_states
309
+
310
+ outputs = (hidden_states,)
311
+
312
+ if output_attentions:
313
+ outputs += (self_attn_weights,)
314
+
315
+ if use_cache:
316
+ outputs += (present_key_value,)
317
+
318
+ return outputs
319
+
320
+
321
+ class StableLMEpochPreTrainedModel(PreTrainedModel):
322
+ """An abstract class to handle weights initialization and a simple interface
323
+ for downloading and loading pretrained models.
324
+ """
325
+
326
+ config_class = StableLMEpochConfig
327
+ base_model_prefix = "transformer"
328
+ supports_gradient_checkpointing = True
329
+ _no_split_modules = ["DecoderLayer"]
330
+ _skip_keys_device_placement = "past_key_values"
331
+
332
+ def _init_weights(self, module: nn.Module):
333
+ """Initialize the weights"""
334
+ if isinstance(module, nn.Linear):
335
+ module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)
336
+ if module.bias is not None:
337
+ module.bias.data.zero_()
338
+ elif isinstance(module, nn.Embedding):
339
+ module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)
340
+ if module.padding_idx is not None:
341
+ module.weight.data[module.padding_idx].zero_()
342
+ elif isinstance(module, nn.LayerNorm):
343
+ module.bias.data.zero_()
344
+ module.weight.data.fill_(1.0)
345
+
346
+ def _set_gradient_checkpointing(self, module: nn.Module, value=False):
347
+ if isinstance(module, StableLMEpochModel):
348
+ module.gradient_checkpointing = value
349
+
350
+
351
+ class StableLMEpochModel(StableLMEpochPreTrainedModel):
352
+ def __init__(self, config: StableLMEpochConfig):
353
+ super().__init__(config)
354
+ self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, config.pad_token_id)
355
+ self.layers = nn.ModuleList([DecoderLayer(config) for _ in range(config.num_hidden_layers)])
356
+ self.norm = nn.LayerNorm(config.hidden_size, eps=config.norm_eps)
357
+
358
+ self.gradient_checkpointing = False
359
+ # Initialize weights and apply final processing
360
+ self.post_init()
361
+
362
+ def get_input_embeddings(self):
363
+ return self.embed_tokens
364
+
365
+ def set_input_embeddings(self, value: nn.Module):
366
+ self.embed_tokens = value
367
+
368
+ # Copied from transformers.models.bart.modeling_bart.BartDecoder._prepare_decoder_attention_mask
369
+ def _prepare_decoder_attention_mask(
370
+ self,
371
+ attention_mask: torch.Tensor,
372
+ input_shape: torch.Size,
373
+ inputs_embeds: torch.Tensor,
374
+ past_key_values_length: int,
375
+ ):
376
+ # Create causal mask
377
+ # [batch_size, seq_len] -> [batch_size, 1, tgt_seq_len, src_seq_len]
378
+ combined_attention_mask = None
379
+ if input_shape[-1] > 1:
380
+ combined_attention_mask = _make_causal_mask(
381
+ input_shape,
382
+ inputs_embeds.dtype,
383
+ device=inputs_embeds.device,
384
+ past_key_values_length=past_key_values_length,
385
+ )
386
+
387
+ if attention_mask is not None:
388
+ # [batch_size, seq_len] -> [batch_size, 1, tgt_seq_len, src_seq_len]
389
+ expanded_attn_mask = _expand_mask(
390
+ attention_mask, inputs_embeds.dtype, tgt_len=input_shape[-1]
391
+ ).to(inputs_embeds.device)
392
+ combined_attention_mask = expanded_attn_mask if combined_attention_mask is None else expanded_attn_mask + combined_attention_mask
393
+
394
+ return combined_attention_mask
395
+
396
+ def forward(
397
+ self,
398
+ input_ids: Optional[torch.LongTensor] = None,
399
+ attention_mask: Optional[torch.FloatTensor] = None,
400
+ position_ids: Optional[torch.LongTensor] = None,
401
+ past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None,
402
+ inputs_embeds: Optional[torch.FloatTensor] = None,
403
+ use_cache: Optional[bool] = None,
404
+ output_attentions: Optional[bool] = None,
405
+ output_hidden_states: Optional[bool] = None,
406
+ return_dict: Optional[bool] = None,
407
+ ) -> Union[Tuple, BaseModelOutputWithPast]:
408
+ output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions
409
+ output_hidden_states = output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states
410
+ use_cache = use_cache if use_cache is not None else self.config.use_cache
411
+
412
+ return_dict = return_dict if return_dict is not None else self.config.use_return_dict
413
+
414
+ # Retrieve input_ids and inputs_embeds
415
+ if input_ids is not None and inputs_embeds is not None:
416
+ raise ValueError(
417
+ "You cannot specify both decoder_input_ids and decoder_inputs_embeds at the same time"
418
+ )
419
+ elif input_ids is not None:
420
+ batch_size, seq_length = input_ids.shape
421
+ elif inputs_embeds is not None:
422
+ batch_size, seq_length, _ = inputs_embeds.shape
423
+ else:
424
+ raise ValueError(
425
+ "You have to specify either decoder_input_ids or decoder_inputs_embeds"
426
+ )
427
+
428
+ seq_length_with_past = seq_length
429
+ past_key_values_length = 0
430
+
431
+ if past_key_values is not None:
432
+ past_key_values_length = past_key_values[0][0].shape[2]
433
+ seq_length_with_past = seq_length_with_past + past_key_values_length
434
+
435
+ if position_ids is None:
436
+ device = input_ids.device if input_ids is not None else inputs_embeds.device
437
+ position_ids = torch.arange(
438
+ past_key_values_length,
439
+ seq_length + past_key_values_length,
440
+ dtype=torch.long,
441
+ device=device,
442
+ )
443
+ position_ids = position_ids.unsqueeze(0).view(-1, seq_length)
444
+ else:
445
+ position_ids = position_ids.view(-1, seq_length).long()
446
+
447
+ if inputs_embeds is None:
448
+ inputs_embeds = self.embed_tokens(input_ids)
449
+ # Embed positions
450
+ if attention_mask is None:
451
+ attention_mask = torch.ones(
452
+ (batch_size, seq_length_with_past),
453
+ dtype=torch.bool,
454
+ device=inputs_embeds.device,
455
+ )
456
+ attention_mask = self._prepare_decoder_attention_mask(
457
+ attention_mask,
458
+ (batch_size, seq_length),
459
+ inputs_embeds,
460
+ past_key_values_length,
461
+ )
462
+
463
+ hidden_states = inputs_embeds
464
+
465
+ if self.gradient_checkpointing and self.training:
466
+ if use_cache:
467
+ logger.warning(
468
+ "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`..."
469
+ )
470
+ use_cache = False
471
+
472
+ # Decoder layers
473
+ all_hidden_states = () if output_hidden_states else None
474
+ all_self_attns = () if output_attentions else None
475
+ next_decoder_cache = () if use_cache else None
476
+
477
+ for idx, decoder_layer in enumerate(self.layers):
478
+ if output_hidden_states:
479
+ all_hidden_states += (hidden_states,)
480
+
481
+ past_key_value = (
482
+ past_key_values[idx] if past_key_values is not None else None
483
+ )
484
+
485
+ if self.gradient_checkpointing and self.training:
486
+
487
+ def create_custom_forward(module):
488
+ def custom_forward(*inputs):
489
+ # None for past_key_value
490
+ return module(*inputs, past_key_value, output_attentions)
491
+
492
+ return custom_forward
493
+
494
+ layer_outputs = torch.utils.checkpoint.checkpoint(
495
+ create_custom_forward(decoder_layer),
496
+ hidden_states,
497
+ attention_mask,
498
+ position_ids,
499
+ )
500
+ else:
501
+ layer_outputs = decoder_layer(
502
+ hidden_states,
503
+ attention_mask=attention_mask,
504
+ position_ids=position_ids,
505
+ past_key_value=past_key_value,
506
+ output_attentions=output_attentions,
507
+ use_cache=use_cache,
508
+ )
509
+
510
+ hidden_states = layer_outputs[0]
511
+
512
+ if use_cache:
513
+ next_decoder_cache += (layer_outputs[2 if output_attentions else 1],)
514
+
515
+ if output_attentions:
516
+ all_self_attns += (layer_outputs[1],)
517
+
518
+ hidden_states = self.norm(hidden_states)
519
+
520
+ # Add hidden states from the last decoder layer
521
+ if output_hidden_states:
522
+ all_hidden_states += (hidden_states,)
523
+
524
+ next_cache = next_decoder_cache if use_cache else None
525
+ if not return_dict:
526
+ return tuple(
527
+ v
528
+ for v in [hidden_states, next_cache, all_hidden_states, all_self_attns]
529
+ if v is not None
530
+ )
531
+ return BaseModelOutputWithPast(
532
+ last_hidden_state=hidden_states,
533
+ past_key_values=next_cache,
534
+ hidden_states=all_hidden_states,
535
+ attentions=all_self_attns,
536
+ )
537
+
538
+
539
+ class StableLMEpochForCausalLM(StableLMEpochPreTrainedModel):
540
+ _tied_weights_keys = ["lm_head.weight"]
541
+
542
+ def __init__(self, config: StableLMEpochConfig):
543
+ super().__init__(config)
544
+
545
+ self.model = StableLMEpochModel(config)
546
+ self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False)
547
+
548
+ # Initialize weights and apply final processing
549
+ self.post_init()
550
+
551
+ def get_input_embeddings(self):
552
+ return self.model.embed_tokens
553
+
554
+ def set_input_embeddings(self, value):
555
+ self.model.embed_tokens = value
556
+
557
+ def get_output_embeddings(self):
558
+ return self.lm_head
559
+
560
+ def set_output_embeddings(self, new_embeddings: nn.Module):
561
+ self.lm_head = new_embeddings
562
+
563
+ def get_decoder(self):
564
+ return self.model
565
+
566
+ def set_decoder(self, decoder):
567
+ self.model = decoder
568
+
569
+ def forward(
570
+ self,
571
+ input_ids: Optional[torch.LongTensor] = None,
572
+ attention_mask: Optional[torch.FloatTensor] = None,
573
+ position_ids: Optional[torch.LongTensor] = None,
574
+ past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None,
575
+ inputs_embeds: Optional[torch.FloatTensor] = None,
576
+ labels: Optional[torch.LongTensor] = None,
577
+ use_cache: Optional[bool] = None,
578
+ output_attentions: Optional[bool] = None,
579
+ output_hidden_states: Optional[bool] = None,
580
+ return_dict: Optional[bool] = None,
581
+ ) -> Union[Tuple, CausalLMOutputWithPast]:
582
+ output_attentions = (
583
+ output_attentions
584
+ if output_attentions is not None
585
+ else self.config.output_attentions
586
+ )
587
+ output_hidden_states = (
588
+ output_hidden_states
589
+ if output_hidden_states is not None
590
+ else self.config.output_hidden_states
591
+ )
592
+ return_dict = (
593
+ return_dict if return_dict is not None else self.config.use_return_dict
594
+ )
595
+
596
+ # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn)
597
+ outputs = self.model(
598
+ input_ids,
599
+ attention_mask=attention_mask,
600
+ position_ids=position_ids,
601
+ past_key_values=past_key_values,
602
+ inputs_embeds=inputs_embeds,
603
+ use_cache=use_cache,
604
+ output_attentions=output_attentions,
605
+ output_hidden_states=output_hidden_states,
606
+ return_dict=return_dict,
607
+ )
608
+
609
+ hidden_states = outputs[0]
610
+ logits = self.lm_head(hidden_states).float()
611
+
612
+ loss = None
613
+ if labels is not None:
614
+ # Shift so that tokens < n predict n
615
+ shift_logits = logits[..., :-1, :].contiguous()
616
+ shift_labels = labels[..., 1:].contiguous()
617
+ # Flatten the tokens
618
+ loss_fct = CrossEntropyLoss()
619
+ shift_logits = shift_logits.view(-1, self.config.vocab_size)
620
+ shift_labels = shift_labels.view(-1)
621
+ # Enable model parallelism
622
+ shift_labels = shift_labels.to(shift_logits.device)
623
+ loss = loss_fct(shift_logits, shift_labels)
624
+
625
+ if not return_dict:
626
+ output = (logits,) + outputs[1:]
627
+ return (loss,) + output if loss is not None else output
628
+
629
+ return CausalLMOutputWithPast(
630
+ loss=loss,
631
+ logits=logits,
632
+ past_key_values=outputs.past_key_values,
633
+ hidden_states=outputs.hidden_states,
634
+ attentions=outputs.attentions,
635
+ )
636
+
637
+ def prepare_inputs_for_generation(
638
+ self,
639
+ input_ids,
640
+ past_key_values: Optional[torch.Tensor] = None,
641
+ attention_mask: Optional[torch.Tensor] = None,
642
+ inputs_embeds: Optional[torch.Tensor] = None,
643
+ **kwargs,
644
+ ):
645
+ # Trim decoder_input_ids if past is used
646
+ if past_key_values and past_key_values[0] is not None:
647
+ input_ids = input_ids[:, -1:]
648
+
649
+ position_ids = kwargs.get("position_ids", None)
650
+ if attention_mask is not None and position_ids is None:
651
+ # Create position_ids on the fly for batch generation
652
+ position_ids = attention_mask.long().cumsum(-1) - 1
653
+ position_ids.masked_fill_(attention_mask == 0, 1)
654
+ if past_key_values:
655
+ position_ids = position_ids[:, -1].unsqueeze(-1)
656
+
657
+ # If `inputs_embeds` are passed, we only want to use them in the 1st generation step
658
+ if inputs_embeds is not None and past_key_values is None:
659
+ model_inputs = {"inputs_embeds": inputs_embeds}
660
+ else:
661
+ model_inputs = {"input_ids": input_ids}
662
+
663
+ model_inputs.update(
664
+ {
665
+ "attention_mask": attention_mask,
666
+ "past_key_values": past_key_values,
667
+ "use_cache": kwargs.get("use_cache"),
668
+ "position_ids": position_ids,
669
+ }
670
+ )
671
+ return model_inputs
672
+
673
+ @staticmethod
674
+ def _reorder_cache(past_key_values, beam_idx):
675
+ reordered_past = ()
676
+ for layer_past in past_key_values:
677
+ reordered_past += (
678
+ tuple(
679
+ past_state.index_select(0, beam_idx.to(past_state.device))
680
+ for past_state in layer_past
681
+ ),
682
+ )
683
+ return reordered_past
684
+
685
+
686
+ StableLMEpochConfig.register_for_auto_class()
687
+ StableLMEpochForCausalLM.register_for_auto_class("AutoModelForCausalLM")
checkpoint-381/optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:371856f931233dd717fba719b46c33cca387985553211cf056b2a91b45ea877a
3
+ size 12213648093
checkpoint-381/pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0533e722b0fe05fceeec40e132e52c4e538eb8f172958a4c46d28c0456fc0a75
3
+ size 6106785781
checkpoint-381/rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c2bad8ffde323ea4d873d4ea6f601f2ad8074201b415660915f2d39a92b3907b
3
+ size 14575
checkpoint-381/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fcb0cd5ac25ae442cf685ac09869370725a6819fe2382a5d0923e2611beea8d1
3
+ size 627
checkpoint-381/trainer_state.json ADDED
@@ -0,0 +1,2305 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_metric": null,
3
+ "best_model_checkpoint": null,
4
+ "epoch": 1.0178660878276842,
5
+ "eval_steps": 500,
6
+ "global_step": 381,
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.0,
13
+ "learning_rate": 2e-08,
14
+ "loss": 1.1427,
15
+ "step": 1
16
+ },
17
+ {
18
+ "epoch": 0.01,
19
+ "learning_rate": 4e-08,
20
+ "loss": 1.1555,
21
+ "step": 2
22
+ },
23
+ {
24
+ "epoch": 0.01,
25
+ "learning_rate": 6.000000000000001e-08,
26
+ "loss": 1.1633,
27
+ "step": 3
28
+ },
29
+ {
30
+ "epoch": 0.01,
31
+ "learning_rate": 8e-08,
32
+ "loss": 1.1405,
33
+ "step": 4
34
+ },
35
+ {
36
+ "epoch": 0.01,
37
+ "learning_rate": 1e-07,
38
+ "loss": 1.1607,
39
+ "step": 5
40
+ },
41
+ {
42
+ "epoch": 0.02,
43
+ "learning_rate": 1.2000000000000002e-07,
44
+ "loss": 1.1587,
45
+ "step": 6
46
+ },
47
+ {
48
+ "epoch": 0.02,
49
+ "learning_rate": 1.4e-07,
50
+ "loss": 1.1463,
51
+ "step": 7
52
+ },
53
+ {
54
+ "epoch": 0.02,
55
+ "learning_rate": 1.6e-07,
56
+ "loss": 1.1764,
57
+ "step": 8
58
+ },
59
+ {
60
+ "epoch": 0.02,
61
+ "learning_rate": 1.8e-07,
62
+ "loss": 1.1509,
63
+ "step": 9
64
+ },
65
+ {
66
+ "epoch": 0.03,
67
+ "learning_rate": 2e-07,
68
+ "loss": 1.1516,
69
+ "step": 10
70
+ },
71
+ {
72
+ "epoch": 0.03,
73
+ "learning_rate": 2.2e-07,
74
+ "loss": 1.1589,
75
+ "step": 11
76
+ },
77
+ {
78
+ "epoch": 0.03,
79
+ "learning_rate": 2.4000000000000003e-07,
80
+ "loss": 1.1416,
81
+ "step": 12
82
+ },
83
+ {
84
+ "epoch": 0.03,
85
+ "learning_rate": 2.6e-07,
86
+ "loss": 1.1474,
87
+ "step": 13
88
+ },
89
+ {
90
+ "epoch": 0.04,
91
+ "learning_rate": 2.8e-07,
92
+ "loss": 1.1785,
93
+ "step": 14
94
+ },
95
+ {
96
+ "epoch": 0.04,
97
+ "learning_rate": 3e-07,
98
+ "loss": 1.1259,
99
+ "step": 15
100
+ },
101
+ {
102
+ "epoch": 0.04,
103
+ "learning_rate": 3.2e-07,
104
+ "loss": 1.1578,
105
+ "step": 16
106
+ },
107
+ {
108
+ "epoch": 0.05,
109
+ "learning_rate": 3.4e-07,
110
+ "loss": 1.1406,
111
+ "step": 17
112
+ },
113
+ {
114
+ "epoch": 0.05,
115
+ "learning_rate": 3.6e-07,
116
+ "loss": 1.1533,
117
+ "step": 18
118
+ },
119
+ {
120
+ "epoch": 0.05,
121
+ "learning_rate": 3.7999999999999996e-07,
122
+ "loss": 1.1593,
123
+ "step": 19
124
+ },
125
+ {
126
+ "epoch": 0.05,
127
+ "learning_rate": 4e-07,
128
+ "loss": 1.1401,
129
+ "step": 20
130
+ },
131
+ {
132
+ "epoch": 0.06,
133
+ "learning_rate": 4.2e-07,
134
+ "loss": 1.1595,
135
+ "step": 21
136
+ },
137
+ {
138
+ "epoch": 0.06,
139
+ "learning_rate": 4.4e-07,
140
+ "loss": 1.1482,
141
+ "step": 22
142
+ },
143
+ {
144
+ "epoch": 0.06,
145
+ "learning_rate": 4.6e-07,
146
+ "loss": 1.1682,
147
+ "step": 23
148
+ },
149
+ {
150
+ "epoch": 0.06,
151
+ "learning_rate": 4.800000000000001e-07,
152
+ "loss": 1.1453,
153
+ "step": 24
154
+ },
155
+ {
156
+ "epoch": 0.07,
157
+ "learning_rate": 5e-07,
158
+ "loss": 1.1329,
159
+ "step": 25
160
+ },
161
+ {
162
+ "epoch": 0.07,
163
+ "learning_rate": 5.2e-07,
164
+ "loss": 1.1488,
165
+ "step": 26
166
+ },
167
+ {
168
+ "epoch": 0.07,
169
+ "learning_rate": 5.399999999999999e-07,
170
+ "loss": 1.1528,
171
+ "step": 27
172
+ },
173
+ {
174
+ "epoch": 0.07,
175
+ "learning_rate": 5.6e-07,
176
+ "loss": 1.1463,
177
+ "step": 28
178
+ },
179
+ {
180
+ "epoch": 0.08,
181
+ "learning_rate": 5.8e-07,
182
+ "loss": 1.1445,
183
+ "step": 29
184
+ },
185
+ {
186
+ "epoch": 0.08,
187
+ "learning_rate": 6e-07,
188
+ "loss": 1.1578,
189
+ "step": 30
190
+ },
191
+ {
192
+ "epoch": 0.08,
193
+ "learning_rate": 6.2e-07,
194
+ "loss": 1.1523,
195
+ "step": 31
196
+ },
197
+ {
198
+ "epoch": 0.09,
199
+ "learning_rate": 6.4e-07,
200
+ "loss": 1.1547,
201
+ "step": 32
202
+ },
203
+ {
204
+ "epoch": 0.09,
205
+ "learning_rate": 6.6e-07,
206
+ "loss": 1.1309,
207
+ "step": 33
208
+ },
209
+ {
210
+ "epoch": 0.09,
211
+ "learning_rate": 6.8e-07,
212
+ "loss": 1.1249,
213
+ "step": 34
214
+ },
215
+ {
216
+ "epoch": 0.09,
217
+ "learning_rate": 7.000000000000001e-07,
218
+ "loss": 1.1774,
219
+ "step": 35
220
+ },
221
+ {
222
+ "epoch": 0.1,
223
+ "learning_rate": 7.2e-07,
224
+ "loss": 1.124,
225
+ "step": 36
226
+ },
227
+ {
228
+ "epoch": 0.1,
229
+ "learning_rate": 7.4e-07,
230
+ "loss": 1.1485,
231
+ "step": 37
232
+ },
233
+ {
234
+ "epoch": 0.1,
235
+ "learning_rate": 7.599999999999999e-07,
236
+ "loss": 1.1442,
237
+ "step": 38
238
+ },
239
+ {
240
+ "epoch": 0.1,
241
+ "learning_rate": 7.8e-07,
242
+ "loss": 1.1106,
243
+ "step": 39
244
+ },
245
+ {
246
+ "epoch": 0.11,
247
+ "learning_rate": 8e-07,
248
+ "loss": 1.1494,
249
+ "step": 40
250
+ },
251
+ {
252
+ "epoch": 0.11,
253
+ "learning_rate": 8.2e-07,
254
+ "loss": 1.1084,
255
+ "step": 41
256
+ },
257
+ {
258
+ "epoch": 0.11,
259
+ "learning_rate": 8.4e-07,
260
+ "loss": 1.1244,
261
+ "step": 42
262
+ },
263
+ {
264
+ "epoch": 0.11,
265
+ "learning_rate": 8.6e-07,
266
+ "loss": 1.1482,
267
+ "step": 43
268
+ },
269
+ {
270
+ "epoch": 0.12,
271
+ "learning_rate": 8.8e-07,
272
+ "loss": 1.1164,
273
+ "step": 44
274
+ },
275
+ {
276
+ "epoch": 0.12,
277
+ "learning_rate": 8.999999999999999e-07,
278
+ "loss": 1.1382,
279
+ "step": 45
280
+ },
281
+ {
282
+ "epoch": 0.12,
283
+ "learning_rate": 9.2e-07,
284
+ "loss": 1.131,
285
+ "step": 46
286
+ },
287
+ {
288
+ "epoch": 0.13,
289
+ "learning_rate": 9.4e-07,
290
+ "loss": 1.1241,
291
+ "step": 47
292
+ },
293
+ {
294
+ "epoch": 0.13,
295
+ "learning_rate": 9.600000000000001e-07,
296
+ "loss": 1.1159,
297
+ "step": 48
298
+ },
299
+ {
300
+ "epoch": 0.13,
301
+ "learning_rate": 9.800000000000001e-07,
302
+ "loss": 1.1291,
303
+ "step": 49
304
+ },
305
+ {
306
+ "epoch": 0.13,
307
+ "learning_rate": 1e-06,
308
+ "loss": 1.1361,
309
+ "step": 50
310
+ },
311
+ {
312
+ "epoch": 0.14,
313
+ "learning_rate": 1.02e-06,
314
+ "loss": 1.126,
315
+ "step": 51
316
+ },
317
+ {
318
+ "epoch": 0.14,
319
+ "learning_rate": 1.04e-06,
320
+ "loss": 1.1184,
321
+ "step": 52
322
+ },
323
+ {
324
+ "epoch": 0.14,
325
+ "learning_rate": 1.06e-06,
326
+ "loss": 1.1193,
327
+ "step": 53
328
+ },
329
+ {
330
+ "epoch": 0.14,
331
+ "learning_rate": 1.0799999999999998e-06,
332
+ "loss": 1.1187,
333
+ "step": 54
334
+ },
335
+ {
336
+ "epoch": 0.15,
337
+ "learning_rate": 1.1e-06,
338
+ "loss": 1.1145,
339
+ "step": 55
340
+ },
341
+ {
342
+ "epoch": 0.15,
343
+ "learning_rate": 1.12e-06,
344
+ "loss": 1.1019,
345
+ "step": 56
346
+ },
347
+ {
348
+ "epoch": 0.15,
349
+ "learning_rate": 1.14e-06,
350
+ "loss": 1.1157,
351
+ "step": 57
352
+ },
353
+ {
354
+ "epoch": 0.15,
355
+ "learning_rate": 1.16e-06,
356
+ "loss": 1.1024,
357
+ "step": 58
358
+ },
359
+ {
360
+ "epoch": 0.16,
361
+ "learning_rate": 1.18e-06,
362
+ "loss": 1.098,
363
+ "step": 59
364
+ },
365
+ {
366
+ "epoch": 0.16,
367
+ "learning_rate": 1.2e-06,
368
+ "loss": 1.0946,
369
+ "step": 60
370
+ },
371
+ {
372
+ "epoch": 0.16,
373
+ "learning_rate": 1.22e-06,
374
+ "loss": 1.0818,
375
+ "step": 61
376
+ },
377
+ {
378
+ "epoch": 0.17,
379
+ "learning_rate": 1.24e-06,
380
+ "loss": 1.121,
381
+ "step": 62
382
+ },
383
+ {
384
+ "epoch": 0.17,
385
+ "learning_rate": 1.26e-06,
386
+ "loss": 1.09,
387
+ "step": 63
388
+ },
389
+ {
390
+ "epoch": 0.17,
391
+ "learning_rate": 1.28e-06,
392
+ "loss": 1.0958,
393
+ "step": 64
394
+ },
395
+ {
396
+ "epoch": 0.17,
397
+ "learning_rate": 1.3e-06,
398
+ "loss": 1.0888,
399
+ "step": 65
400
+ },
401
+ {
402
+ "epoch": 0.18,
403
+ "learning_rate": 1.32e-06,
404
+ "loss": 1.0793,
405
+ "step": 66
406
+ },
407
+ {
408
+ "epoch": 0.18,
409
+ "learning_rate": 1.3399999999999999e-06,
410
+ "loss": 1.0929,
411
+ "step": 67
412
+ },
413
+ {
414
+ "epoch": 0.18,
415
+ "learning_rate": 1.36e-06,
416
+ "loss": 1.0685,
417
+ "step": 68
418
+ },
419
+ {
420
+ "epoch": 0.18,
421
+ "learning_rate": 1.38e-06,
422
+ "loss": 1.0888,
423
+ "step": 69
424
+ },
425
+ {
426
+ "epoch": 0.19,
427
+ "learning_rate": 1.4000000000000001e-06,
428
+ "loss": 1.0688,
429
+ "step": 70
430
+ },
431
+ {
432
+ "epoch": 0.19,
433
+ "learning_rate": 1.42e-06,
434
+ "loss": 1.0627,
435
+ "step": 71
436
+ },
437
+ {
438
+ "epoch": 0.19,
439
+ "learning_rate": 1.44e-06,
440
+ "loss": 1.0627,
441
+ "step": 72
442
+ },
443
+ {
444
+ "epoch": 0.2,
445
+ "learning_rate": 1.46e-06,
446
+ "loss": 1.0858,
447
+ "step": 73
448
+ },
449
+ {
450
+ "epoch": 0.2,
451
+ "learning_rate": 1.48e-06,
452
+ "loss": 1.0517,
453
+ "step": 74
454
+ },
455
+ {
456
+ "epoch": 0.2,
457
+ "learning_rate": 1.4999999999999998e-06,
458
+ "loss": 1.0626,
459
+ "step": 75
460
+ },
461
+ {
462
+ "epoch": 0.2,
463
+ "learning_rate": 1.5199999999999998e-06,
464
+ "loss": 1.0708,
465
+ "step": 76
466
+ },
467
+ {
468
+ "epoch": 0.21,
469
+ "learning_rate": 1.54e-06,
470
+ "loss": 1.0391,
471
+ "step": 77
472
+ },
473
+ {
474
+ "epoch": 0.21,
475
+ "learning_rate": 1.56e-06,
476
+ "loss": 1.0436,
477
+ "step": 78
478
+ },
479
+ {
480
+ "epoch": 0.21,
481
+ "learning_rate": 1.58e-06,
482
+ "loss": 1.0396,
483
+ "step": 79
484
+ },
485
+ {
486
+ "epoch": 0.21,
487
+ "learning_rate": 1.6e-06,
488
+ "loss": 1.0334,
489
+ "step": 80
490
+ },
491
+ {
492
+ "epoch": 0.22,
493
+ "learning_rate": 1.62e-06,
494
+ "loss": 1.0291,
495
+ "step": 81
496
+ },
497
+ {
498
+ "epoch": 0.22,
499
+ "learning_rate": 1.64e-06,
500
+ "loss": 1.0421,
501
+ "step": 82
502
+ },
503
+ {
504
+ "epoch": 0.22,
505
+ "learning_rate": 1.66e-06,
506
+ "loss": 1.0493,
507
+ "step": 83
508
+ },
509
+ {
510
+ "epoch": 0.22,
511
+ "learning_rate": 1.68e-06,
512
+ "loss": 1.0293,
513
+ "step": 84
514
+ },
515
+ {
516
+ "epoch": 0.23,
517
+ "learning_rate": 1.7e-06,
518
+ "loss": 1.0766,
519
+ "step": 85
520
+ },
521
+ {
522
+ "epoch": 0.23,
523
+ "learning_rate": 1.72e-06,
524
+ "loss": 1.058,
525
+ "step": 86
526
+ },
527
+ {
528
+ "epoch": 0.23,
529
+ "learning_rate": 1.74e-06,
530
+ "loss": 1.0244,
531
+ "step": 87
532
+ },
533
+ {
534
+ "epoch": 0.24,
535
+ "learning_rate": 1.76e-06,
536
+ "loss": 1.0399,
537
+ "step": 88
538
+ },
539
+ {
540
+ "epoch": 0.24,
541
+ "learning_rate": 1.78e-06,
542
+ "loss": 1.0272,
543
+ "step": 89
544
+ },
545
+ {
546
+ "epoch": 0.24,
547
+ "learning_rate": 1.7999999999999997e-06,
548
+ "loss": 1.029,
549
+ "step": 90
550
+ },
551
+ {
552
+ "epoch": 0.24,
553
+ "learning_rate": 1.82e-06,
554
+ "loss": 1.0477,
555
+ "step": 91
556
+ },
557
+ {
558
+ "epoch": 0.25,
559
+ "learning_rate": 1.84e-06,
560
+ "loss": 1.0166,
561
+ "step": 92
562
+ },
563
+ {
564
+ "epoch": 0.25,
565
+ "learning_rate": 1.8600000000000002e-06,
566
+ "loss": 1.0309,
567
+ "step": 93
568
+ },
569
+ {
570
+ "epoch": 0.25,
571
+ "learning_rate": 1.88e-06,
572
+ "loss": 1.0135,
573
+ "step": 94
574
+ },
575
+ {
576
+ "epoch": 0.25,
577
+ "learning_rate": 1.8999999999999998e-06,
578
+ "loss": 1.0226,
579
+ "step": 95
580
+ },
581
+ {
582
+ "epoch": 0.26,
583
+ "learning_rate": 1.9200000000000003e-06,
584
+ "loss": 1.0402,
585
+ "step": 96
586
+ },
587
+ {
588
+ "epoch": 0.26,
589
+ "learning_rate": 1.94e-06,
590
+ "loss": 1.0252,
591
+ "step": 97
592
+ },
593
+ {
594
+ "epoch": 0.26,
595
+ "learning_rate": 1.9600000000000003e-06,
596
+ "loss": 1.0064,
597
+ "step": 98
598
+ },
599
+ {
600
+ "epoch": 0.26,
601
+ "learning_rate": 1.98e-06,
602
+ "loss": 0.9967,
603
+ "step": 99
604
+ },
605
+ {
606
+ "epoch": 0.27,
607
+ "learning_rate": 2e-06,
608
+ "loss": 1.0094,
609
+ "step": 100
610
+ },
611
+ {
612
+ "epoch": 0.27,
613
+ "learning_rate": 2.02e-06,
614
+ "loss": 0.9938,
615
+ "step": 101
616
+ },
617
+ {
618
+ "epoch": 0.27,
619
+ "learning_rate": 2.04e-06,
620
+ "loss": 1.0199,
621
+ "step": 102
622
+ },
623
+ {
624
+ "epoch": 0.28,
625
+ "learning_rate": 2.0599999999999998e-06,
626
+ "loss": 1.005,
627
+ "step": 103
628
+ },
629
+ {
630
+ "epoch": 0.28,
631
+ "learning_rate": 2.08e-06,
632
+ "loss": 1.0016,
633
+ "step": 104
634
+ },
635
+ {
636
+ "epoch": 0.28,
637
+ "learning_rate": 2.1e-06,
638
+ "loss": 1.0169,
639
+ "step": 105
640
+ },
641
+ {
642
+ "epoch": 0.28,
643
+ "learning_rate": 2.12e-06,
644
+ "loss": 0.978,
645
+ "step": 106
646
+ },
647
+ {
648
+ "epoch": 0.29,
649
+ "learning_rate": 2.14e-06,
650
+ "loss": 0.9787,
651
+ "step": 107
652
+ },
653
+ {
654
+ "epoch": 0.29,
655
+ "learning_rate": 2.1599999999999996e-06,
656
+ "loss": 0.9992,
657
+ "step": 108
658
+ },
659
+ {
660
+ "epoch": 0.29,
661
+ "learning_rate": 2.18e-06,
662
+ "loss": 0.985,
663
+ "step": 109
664
+ },
665
+ {
666
+ "epoch": 0.29,
667
+ "learning_rate": 2.2e-06,
668
+ "loss": 0.9832,
669
+ "step": 110
670
+ },
671
+ {
672
+ "epoch": 0.3,
673
+ "learning_rate": 2.22e-06,
674
+ "loss": 0.9922,
675
+ "step": 111
676
+ },
677
+ {
678
+ "epoch": 0.3,
679
+ "learning_rate": 2.24e-06,
680
+ "loss": 0.9882,
681
+ "step": 112
682
+ },
683
+ {
684
+ "epoch": 0.3,
685
+ "learning_rate": 2.26e-06,
686
+ "loss": 0.979,
687
+ "step": 113
688
+ },
689
+ {
690
+ "epoch": 0.3,
691
+ "learning_rate": 2.28e-06,
692
+ "loss": 0.9866,
693
+ "step": 114
694
+ },
695
+ {
696
+ "epoch": 0.31,
697
+ "learning_rate": 2.3e-06,
698
+ "loss": 0.97,
699
+ "step": 115
700
+ },
701
+ {
702
+ "epoch": 0.31,
703
+ "learning_rate": 2.32e-06,
704
+ "loss": 1.0042,
705
+ "step": 116
706
+ },
707
+ {
708
+ "epoch": 0.31,
709
+ "learning_rate": 2.34e-06,
710
+ "loss": 0.9778,
711
+ "step": 117
712
+ },
713
+ {
714
+ "epoch": 0.32,
715
+ "learning_rate": 2.36e-06,
716
+ "loss": 0.9906,
717
+ "step": 118
718
+ },
719
+ {
720
+ "epoch": 0.32,
721
+ "learning_rate": 2.38e-06,
722
+ "loss": 0.9547,
723
+ "step": 119
724
+ },
725
+ {
726
+ "epoch": 0.32,
727
+ "learning_rate": 2.4e-06,
728
+ "loss": 0.9792,
729
+ "step": 120
730
+ },
731
+ {
732
+ "epoch": 0.32,
733
+ "learning_rate": 2.4199999999999997e-06,
734
+ "loss": 0.964,
735
+ "step": 121
736
+ },
737
+ {
738
+ "epoch": 0.33,
739
+ "learning_rate": 2.44e-06,
740
+ "loss": 0.9797,
741
+ "step": 122
742
+ },
743
+ {
744
+ "epoch": 0.33,
745
+ "learning_rate": 2.4599999999999997e-06,
746
+ "loss": 0.9576,
747
+ "step": 123
748
+ },
749
+ {
750
+ "epoch": 0.33,
751
+ "learning_rate": 2.48e-06,
752
+ "loss": 0.9795,
753
+ "step": 124
754
+ },
755
+ {
756
+ "epoch": 0.33,
757
+ "learning_rate": 2.5e-06,
758
+ "loss": 0.9619,
759
+ "step": 125
760
+ },
761
+ {
762
+ "epoch": 0.34,
763
+ "learning_rate": 2.52e-06,
764
+ "loss": 0.9756,
765
+ "step": 126
766
+ },
767
+ {
768
+ "epoch": 0.34,
769
+ "learning_rate": 2.5400000000000002e-06,
770
+ "loss": 0.9678,
771
+ "step": 127
772
+ },
773
+ {
774
+ "epoch": 0.34,
775
+ "learning_rate": 2.56e-06,
776
+ "loss": 0.973,
777
+ "step": 128
778
+ },
779
+ {
780
+ "epoch": 0.34,
781
+ "learning_rate": 2.58e-06,
782
+ "loss": 0.9581,
783
+ "step": 129
784
+ },
785
+ {
786
+ "epoch": 0.35,
787
+ "learning_rate": 2.6e-06,
788
+ "loss": 0.9559,
789
+ "step": 130
790
+ },
791
+ {
792
+ "epoch": 0.35,
793
+ "learning_rate": 2.62e-06,
794
+ "loss": 0.9623,
795
+ "step": 131
796
+ },
797
+ {
798
+ "epoch": 0.35,
799
+ "learning_rate": 2.64e-06,
800
+ "loss": 0.9608,
801
+ "step": 132
802
+ },
803
+ {
804
+ "epoch": 0.36,
805
+ "learning_rate": 2.66e-06,
806
+ "loss": 0.9599,
807
+ "step": 133
808
+ },
809
+ {
810
+ "epoch": 0.36,
811
+ "learning_rate": 2.6799999999999998e-06,
812
+ "loss": 0.9481,
813
+ "step": 134
814
+ },
815
+ {
816
+ "epoch": 0.36,
817
+ "learning_rate": 2.7e-06,
818
+ "loss": 0.951,
819
+ "step": 135
820
+ },
821
+ {
822
+ "epoch": 0.36,
823
+ "learning_rate": 2.72e-06,
824
+ "loss": 0.9553,
825
+ "step": 136
826
+ },
827
+ {
828
+ "epoch": 0.37,
829
+ "learning_rate": 2.7399999999999996e-06,
830
+ "loss": 0.9471,
831
+ "step": 137
832
+ },
833
+ {
834
+ "epoch": 0.37,
835
+ "learning_rate": 2.76e-06,
836
+ "loss": 0.9228,
837
+ "step": 138
838
+ },
839
+ {
840
+ "epoch": 0.37,
841
+ "learning_rate": 2.78e-06,
842
+ "loss": 0.9411,
843
+ "step": 139
844
+ },
845
+ {
846
+ "epoch": 0.37,
847
+ "learning_rate": 2.8000000000000003e-06,
848
+ "loss": 0.9541,
849
+ "step": 140
850
+ },
851
+ {
852
+ "epoch": 0.38,
853
+ "learning_rate": 2.82e-06,
854
+ "loss": 0.9318,
855
+ "step": 141
856
+ },
857
+ {
858
+ "epoch": 0.38,
859
+ "learning_rate": 2.84e-06,
860
+ "loss": 0.9113,
861
+ "step": 142
862
+ },
863
+ {
864
+ "epoch": 0.38,
865
+ "learning_rate": 2.86e-06,
866
+ "loss": 0.9316,
867
+ "step": 143
868
+ },
869
+ {
870
+ "epoch": 0.38,
871
+ "learning_rate": 2.88e-06,
872
+ "loss": 0.9326,
873
+ "step": 144
874
+ },
875
+ {
876
+ "epoch": 0.39,
877
+ "learning_rate": 2.9e-06,
878
+ "loss": 0.9471,
879
+ "step": 145
880
+ },
881
+ {
882
+ "epoch": 0.39,
883
+ "learning_rate": 2.92e-06,
884
+ "loss": 0.9234,
885
+ "step": 146
886
+ },
887
+ {
888
+ "epoch": 0.39,
889
+ "learning_rate": 2.94e-06,
890
+ "loss": 0.9384,
891
+ "step": 147
892
+ },
893
+ {
894
+ "epoch": 0.4,
895
+ "learning_rate": 2.96e-06,
896
+ "loss": 0.9317,
897
+ "step": 148
898
+ },
899
+ {
900
+ "epoch": 0.4,
901
+ "learning_rate": 2.98e-06,
902
+ "loss": 0.9157,
903
+ "step": 149
904
+ },
905
+ {
906
+ "epoch": 0.4,
907
+ "learning_rate": 2.9999999999999997e-06,
908
+ "loss": 0.9411,
909
+ "step": 150
910
+ },
911
+ {
912
+ "epoch": 0.4,
913
+ "learning_rate": 3.02e-06,
914
+ "loss": 0.9566,
915
+ "step": 151
916
+ },
917
+ {
918
+ "epoch": 0.41,
919
+ "learning_rate": 3.0399999999999997e-06,
920
+ "loss": 0.9443,
921
+ "step": 152
922
+ },
923
+ {
924
+ "epoch": 0.41,
925
+ "learning_rate": 3.06e-06,
926
+ "loss": 0.9215,
927
+ "step": 153
928
+ },
929
+ {
930
+ "epoch": 0.41,
931
+ "learning_rate": 3.08e-06,
932
+ "loss": 0.9129,
933
+ "step": 154
934
+ },
935
+ {
936
+ "epoch": 0.41,
937
+ "learning_rate": 3.1e-06,
938
+ "loss": 0.9175,
939
+ "step": 155
940
+ },
941
+ {
942
+ "epoch": 0.42,
943
+ "learning_rate": 3.12e-06,
944
+ "loss": 0.9309,
945
+ "step": 156
946
+ },
947
+ {
948
+ "epoch": 0.42,
949
+ "learning_rate": 3.14e-06,
950
+ "loss": 0.9185,
951
+ "step": 157
952
+ },
953
+ {
954
+ "epoch": 0.42,
955
+ "learning_rate": 3.16e-06,
956
+ "loss": 0.9196,
957
+ "step": 158
958
+ },
959
+ {
960
+ "epoch": 0.42,
961
+ "learning_rate": 3.18e-06,
962
+ "loss": 0.9038,
963
+ "step": 159
964
+ },
965
+ {
966
+ "epoch": 0.43,
967
+ "learning_rate": 3.2e-06,
968
+ "loss": 0.9205,
969
+ "step": 160
970
+ },
971
+ {
972
+ "epoch": 0.43,
973
+ "learning_rate": 3.22e-06,
974
+ "loss": 0.9308,
975
+ "step": 161
976
+ },
977
+ {
978
+ "epoch": 0.43,
979
+ "learning_rate": 3.24e-06,
980
+ "loss": 0.939,
981
+ "step": 162
982
+ },
983
+ {
984
+ "epoch": 0.44,
985
+ "learning_rate": 3.2599999999999997e-06,
986
+ "loss": 0.9211,
987
+ "step": 163
988
+ },
989
+ {
990
+ "epoch": 0.44,
991
+ "learning_rate": 3.28e-06,
992
+ "loss": 0.9214,
993
+ "step": 164
994
+ },
995
+ {
996
+ "epoch": 0.44,
997
+ "learning_rate": 3.2999999999999997e-06,
998
+ "loss": 0.9243,
999
+ "step": 165
1000
+ },
1001
+ {
1002
+ "epoch": 0.44,
1003
+ "learning_rate": 3.32e-06,
1004
+ "loss": 0.9098,
1005
+ "step": 166
1006
+ },
1007
+ {
1008
+ "epoch": 0.45,
1009
+ "learning_rate": 3.3399999999999998e-06,
1010
+ "loss": 0.9223,
1011
+ "step": 167
1012
+ },
1013
+ {
1014
+ "epoch": 0.45,
1015
+ "learning_rate": 3.36e-06,
1016
+ "loss": 0.9213,
1017
+ "step": 168
1018
+ },
1019
+ {
1020
+ "epoch": 0.45,
1021
+ "learning_rate": 3.3800000000000002e-06,
1022
+ "loss": 0.9059,
1023
+ "step": 169
1024
+ },
1025
+ {
1026
+ "epoch": 0.45,
1027
+ "learning_rate": 3.4e-06,
1028
+ "loss": 0.8938,
1029
+ "step": 170
1030
+ },
1031
+ {
1032
+ "epoch": 0.46,
1033
+ "learning_rate": 3.42e-06,
1034
+ "loss": 0.9139,
1035
+ "step": 171
1036
+ },
1037
+ {
1038
+ "epoch": 0.46,
1039
+ "learning_rate": 3.44e-06,
1040
+ "loss": 0.898,
1041
+ "step": 172
1042
+ },
1043
+ {
1044
+ "epoch": 0.46,
1045
+ "learning_rate": 3.46e-06,
1046
+ "loss": 0.9103,
1047
+ "step": 173
1048
+ },
1049
+ {
1050
+ "epoch": 0.46,
1051
+ "learning_rate": 3.48e-06,
1052
+ "loss": 0.9042,
1053
+ "step": 174
1054
+ },
1055
+ {
1056
+ "epoch": 0.47,
1057
+ "learning_rate": 3.5e-06,
1058
+ "loss": 0.8833,
1059
+ "step": 175
1060
+ },
1061
+ {
1062
+ "epoch": 0.47,
1063
+ "learning_rate": 3.52e-06,
1064
+ "loss": 0.8933,
1065
+ "step": 176
1066
+ },
1067
+ {
1068
+ "epoch": 0.47,
1069
+ "learning_rate": 3.5399999999999996e-06,
1070
+ "loss": 0.9022,
1071
+ "step": 177
1072
+ },
1073
+ {
1074
+ "epoch": 0.48,
1075
+ "learning_rate": 3.56e-06,
1076
+ "loss": 0.9141,
1077
+ "step": 178
1078
+ },
1079
+ {
1080
+ "epoch": 0.48,
1081
+ "learning_rate": 3.58e-06,
1082
+ "loss": 0.9089,
1083
+ "step": 179
1084
+ },
1085
+ {
1086
+ "epoch": 0.48,
1087
+ "learning_rate": 3.5999999999999994e-06,
1088
+ "loss": 0.9007,
1089
+ "step": 180
1090
+ },
1091
+ {
1092
+ "epoch": 0.48,
1093
+ "learning_rate": 3.6199999999999996e-06,
1094
+ "loss": 0.8985,
1095
+ "step": 181
1096
+ },
1097
+ {
1098
+ "epoch": 0.49,
1099
+ "learning_rate": 3.64e-06,
1100
+ "loss": 0.8977,
1101
+ "step": 182
1102
+ },
1103
+ {
1104
+ "epoch": 0.49,
1105
+ "learning_rate": 3.66e-06,
1106
+ "loss": 0.8996,
1107
+ "step": 183
1108
+ },
1109
+ {
1110
+ "epoch": 0.49,
1111
+ "learning_rate": 3.68e-06,
1112
+ "loss": 0.8999,
1113
+ "step": 184
1114
+ },
1115
+ {
1116
+ "epoch": 0.49,
1117
+ "learning_rate": 3.7e-06,
1118
+ "loss": 0.9141,
1119
+ "step": 185
1120
+ },
1121
+ {
1122
+ "epoch": 0.5,
1123
+ "learning_rate": 3.7200000000000004e-06,
1124
+ "loss": 0.8918,
1125
+ "step": 186
1126
+ },
1127
+ {
1128
+ "epoch": 0.5,
1129
+ "learning_rate": 3.7399999999999998e-06,
1130
+ "loss": 0.9008,
1131
+ "step": 187
1132
+ },
1133
+ {
1134
+ "epoch": 0.5,
1135
+ "learning_rate": 3.76e-06,
1136
+ "loss": 0.9021,
1137
+ "step": 188
1138
+ },
1139
+ {
1140
+ "epoch": 0.5,
1141
+ "learning_rate": 3.7800000000000002e-06,
1142
+ "loss": 0.8951,
1143
+ "step": 189
1144
+ },
1145
+ {
1146
+ "epoch": 0.51,
1147
+ "learning_rate": 3.7999999999999996e-06,
1148
+ "loss": 0.9089,
1149
+ "step": 190
1150
+ },
1151
+ {
1152
+ "epoch": 0.51,
1153
+ "learning_rate": 3.82e-06,
1154
+ "loss": 0.8966,
1155
+ "step": 191
1156
+ },
1157
+ {
1158
+ "epoch": 0.51,
1159
+ "learning_rate": 3.8400000000000005e-06,
1160
+ "loss": 0.8937,
1161
+ "step": 192
1162
+ },
1163
+ {
1164
+ "epoch": 0.52,
1165
+ "learning_rate": 3.8599999999999995e-06,
1166
+ "loss": 0.8969,
1167
+ "step": 193
1168
+ },
1169
+ {
1170
+ "epoch": 0.52,
1171
+ "learning_rate": 3.88e-06,
1172
+ "loss": 0.8719,
1173
+ "step": 194
1174
+ },
1175
+ {
1176
+ "epoch": 0.52,
1177
+ "learning_rate": 3.9e-06,
1178
+ "loss": 0.884,
1179
+ "step": 195
1180
+ },
1181
+ {
1182
+ "epoch": 0.52,
1183
+ "learning_rate": 3.920000000000001e-06,
1184
+ "loss": 0.8809,
1185
+ "step": 196
1186
+ },
1187
+ {
1188
+ "epoch": 0.53,
1189
+ "learning_rate": 3.9399999999999995e-06,
1190
+ "loss": 0.8711,
1191
+ "step": 197
1192
+ },
1193
+ {
1194
+ "epoch": 0.53,
1195
+ "learning_rate": 3.96e-06,
1196
+ "loss": 0.877,
1197
+ "step": 198
1198
+ },
1199
+ {
1200
+ "epoch": 0.53,
1201
+ "learning_rate": 3.98e-06,
1202
+ "loss": 0.8892,
1203
+ "step": 199
1204
+ },
1205
+ {
1206
+ "epoch": 0.53,
1207
+ "learning_rate": 4e-06,
1208
+ "loss": 0.8781,
1209
+ "step": 200
1210
+ },
1211
+ {
1212
+ "epoch": 0.54,
1213
+ "learning_rate": 4.02e-06,
1214
+ "loss": 0.8697,
1215
+ "step": 201
1216
+ },
1217
+ {
1218
+ "epoch": 0.54,
1219
+ "learning_rate": 4.04e-06,
1220
+ "loss": 0.8745,
1221
+ "step": 202
1222
+ },
1223
+ {
1224
+ "epoch": 0.54,
1225
+ "learning_rate": 4.059999999999999e-06,
1226
+ "loss": 0.8738,
1227
+ "step": 203
1228
+ },
1229
+ {
1230
+ "epoch": 0.54,
1231
+ "learning_rate": 4.08e-06,
1232
+ "loss": 0.8804,
1233
+ "step": 204
1234
+ },
1235
+ {
1236
+ "epoch": 0.55,
1237
+ "learning_rate": 4.1000000000000006e-06,
1238
+ "loss": 0.8843,
1239
+ "step": 205
1240
+ },
1241
+ {
1242
+ "epoch": 0.55,
1243
+ "learning_rate": 4.1199999999999995e-06,
1244
+ "loss": 0.8736,
1245
+ "step": 206
1246
+ },
1247
+ {
1248
+ "epoch": 0.55,
1249
+ "learning_rate": 4.14e-06,
1250
+ "loss": 0.8689,
1251
+ "step": 207
1252
+ },
1253
+ {
1254
+ "epoch": 0.56,
1255
+ "learning_rate": 4.16e-06,
1256
+ "loss": 0.8614,
1257
+ "step": 208
1258
+ },
1259
+ {
1260
+ "epoch": 0.56,
1261
+ "learning_rate": 4.180000000000001e-06,
1262
+ "loss": 0.866,
1263
+ "step": 209
1264
+ },
1265
+ {
1266
+ "epoch": 0.56,
1267
+ "learning_rate": 4.2e-06,
1268
+ "loss": 0.8598,
1269
+ "step": 210
1270
+ },
1271
+ {
1272
+ "epoch": 0.56,
1273
+ "learning_rate": 4.22e-06,
1274
+ "loss": 0.878,
1275
+ "step": 211
1276
+ },
1277
+ {
1278
+ "epoch": 0.57,
1279
+ "learning_rate": 4.24e-06,
1280
+ "loss": 0.8624,
1281
+ "step": 212
1282
+ },
1283
+ {
1284
+ "epoch": 0.57,
1285
+ "learning_rate": 4.26e-06,
1286
+ "loss": 0.8788,
1287
+ "step": 213
1288
+ },
1289
+ {
1290
+ "epoch": 0.57,
1291
+ "learning_rate": 4.28e-06,
1292
+ "loss": 0.8713,
1293
+ "step": 214
1294
+ },
1295
+ {
1296
+ "epoch": 0.57,
1297
+ "learning_rate": 4.3e-06,
1298
+ "loss": 0.8682,
1299
+ "step": 215
1300
+ },
1301
+ {
1302
+ "epoch": 0.58,
1303
+ "learning_rate": 4.319999999999999e-06,
1304
+ "loss": 0.8827,
1305
+ "step": 216
1306
+ },
1307
+ {
1308
+ "epoch": 0.58,
1309
+ "learning_rate": 4.34e-06,
1310
+ "loss": 0.8754,
1311
+ "step": 217
1312
+ },
1313
+ {
1314
+ "epoch": 0.58,
1315
+ "learning_rate": 4.36e-06,
1316
+ "loss": 0.8867,
1317
+ "step": 218
1318
+ },
1319
+ {
1320
+ "epoch": 0.59,
1321
+ "learning_rate": 4.3799999999999996e-06,
1322
+ "loss": 0.8707,
1323
+ "step": 219
1324
+ },
1325
+ {
1326
+ "epoch": 0.59,
1327
+ "learning_rate": 4.4e-06,
1328
+ "loss": 0.8655,
1329
+ "step": 220
1330
+ },
1331
+ {
1332
+ "epoch": 0.59,
1333
+ "learning_rate": 4.42e-06,
1334
+ "loss": 0.8503,
1335
+ "step": 221
1336
+ },
1337
+ {
1338
+ "epoch": 0.59,
1339
+ "learning_rate": 4.44e-06,
1340
+ "loss": 0.8674,
1341
+ "step": 222
1342
+ },
1343
+ {
1344
+ "epoch": 0.6,
1345
+ "learning_rate": 4.46e-06,
1346
+ "loss": 0.8507,
1347
+ "step": 223
1348
+ },
1349
+ {
1350
+ "epoch": 0.6,
1351
+ "learning_rate": 4.48e-06,
1352
+ "loss": 0.8668,
1353
+ "step": 224
1354
+ },
1355
+ {
1356
+ "epoch": 0.6,
1357
+ "learning_rate": 4.5e-06,
1358
+ "loss": 0.8548,
1359
+ "step": 225
1360
+ },
1361
+ {
1362
+ "epoch": 0.6,
1363
+ "learning_rate": 4.52e-06,
1364
+ "loss": 0.8756,
1365
+ "step": 226
1366
+ },
1367
+ {
1368
+ "epoch": 0.61,
1369
+ "learning_rate": 4.54e-06,
1370
+ "loss": 0.8424,
1371
+ "step": 227
1372
+ },
1373
+ {
1374
+ "epoch": 0.61,
1375
+ "learning_rate": 4.56e-06,
1376
+ "loss": 0.8501,
1377
+ "step": 228
1378
+ },
1379
+ {
1380
+ "epoch": 0.61,
1381
+ "learning_rate": 4.579999999999999e-06,
1382
+ "loss": 0.8633,
1383
+ "step": 229
1384
+ },
1385
+ {
1386
+ "epoch": 0.61,
1387
+ "learning_rate": 4.6e-06,
1388
+ "loss": 0.859,
1389
+ "step": 230
1390
+ },
1391
+ {
1392
+ "epoch": 0.62,
1393
+ "learning_rate": 4.62e-06,
1394
+ "loss": 0.8497,
1395
+ "step": 231
1396
+ },
1397
+ {
1398
+ "epoch": 0.62,
1399
+ "learning_rate": 4.64e-06,
1400
+ "loss": 0.8491,
1401
+ "step": 232
1402
+ },
1403
+ {
1404
+ "epoch": 0.62,
1405
+ "learning_rate": 4.6599999999999994e-06,
1406
+ "loss": 0.8596,
1407
+ "step": 233
1408
+ },
1409
+ {
1410
+ "epoch": 0.63,
1411
+ "learning_rate": 4.68e-06,
1412
+ "loss": 0.8636,
1413
+ "step": 234
1414
+ },
1415
+ {
1416
+ "epoch": 0.63,
1417
+ "learning_rate": 4.7e-06,
1418
+ "loss": 0.8677,
1419
+ "step": 235
1420
+ },
1421
+ {
1422
+ "epoch": 0.63,
1423
+ "learning_rate": 4.72e-06,
1424
+ "loss": 0.8605,
1425
+ "step": 236
1426
+ },
1427
+ {
1428
+ "epoch": 0.63,
1429
+ "learning_rate": 4.74e-06,
1430
+ "loss": 0.8493,
1431
+ "step": 237
1432
+ },
1433
+ {
1434
+ "epoch": 0.64,
1435
+ "learning_rate": 4.76e-06,
1436
+ "loss": 0.8367,
1437
+ "step": 238
1438
+ },
1439
+ {
1440
+ "epoch": 0.64,
1441
+ "learning_rate": 4.78e-06,
1442
+ "loss": 0.8443,
1443
+ "step": 239
1444
+ },
1445
+ {
1446
+ "epoch": 0.64,
1447
+ "learning_rate": 4.8e-06,
1448
+ "loss": 0.8464,
1449
+ "step": 240
1450
+ },
1451
+ {
1452
+ "epoch": 0.64,
1453
+ "learning_rate": 4.8200000000000004e-06,
1454
+ "loss": 0.8588,
1455
+ "step": 241
1456
+ },
1457
+ {
1458
+ "epoch": 0.65,
1459
+ "learning_rate": 4.839999999999999e-06,
1460
+ "loss": 0.8502,
1461
+ "step": 242
1462
+ },
1463
+ {
1464
+ "epoch": 0.65,
1465
+ "learning_rate": 4.86e-06,
1466
+ "loss": 0.849,
1467
+ "step": 243
1468
+ },
1469
+ {
1470
+ "epoch": 0.65,
1471
+ "learning_rate": 4.88e-06,
1472
+ "loss": 0.8576,
1473
+ "step": 244
1474
+ },
1475
+ {
1476
+ "epoch": 0.65,
1477
+ "learning_rate": 4.9e-06,
1478
+ "loss": 0.8418,
1479
+ "step": 245
1480
+ },
1481
+ {
1482
+ "epoch": 0.66,
1483
+ "learning_rate": 4.9199999999999995e-06,
1484
+ "loss": 0.8717,
1485
+ "step": 246
1486
+ },
1487
+ {
1488
+ "epoch": 0.66,
1489
+ "learning_rate": 4.94e-06,
1490
+ "loss": 0.8529,
1491
+ "step": 247
1492
+ },
1493
+ {
1494
+ "epoch": 0.66,
1495
+ "learning_rate": 4.96e-06,
1496
+ "loss": 0.8328,
1497
+ "step": 248
1498
+ },
1499
+ {
1500
+ "epoch": 0.67,
1501
+ "learning_rate": 4.98e-06,
1502
+ "loss": 0.85,
1503
+ "step": 249
1504
+ },
1505
+ {
1506
+ "epoch": 0.67,
1507
+ "learning_rate": 5e-06,
1508
+ "loss": 0.8376,
1509
+ "step": 250
1510
+ },
1511
+ {
1512
+ "epoch": 0.67,
1513
+ "learning_rate": 5.02e-06,
1514
+ "loss": 0.8431,
1515
+ "step": 251
1516
+ },
1517
+ {
1518
+ "epoch": 0.67,
1519
+ "learning_rate": 5.04e-06,
1520
+ "loss": 0.8446,
1521
+ "step": 252
1522
+ },
1523
+ {
1524
+ "epoch": 0.68,
1525
+ "learning_rate": 5.06e-06,
1526
+ "loss": 0.8424,
1527
+ "step": 253
1528
+ },
1529
+ {
1530
+ "epoch": 0.68,
1531
+ "learning_rate": 5.0800000000000005e-06,
1532
+ "loss": 0.8377,
1533
+ "step": 254
1534
+ },
1535
+ {
1536
+ "epoch": 0.68,
1537
+ "learning_rate": 5.0999999999999995e-06,
1538
+ "loss": 0.8453,
1539
+ "step": 255
1540
+ },
1541
+ {
1542
+ "epoch": 0.68,
1543
+ "learning_rate": 5.12e-06,
1544
+ "loss": 0.8591,
1545
+ "step": 256
1546
+ },
1547
+ {
1548
+ "epoch": 0.69,
1549
+ "learning_rate": 5.14e-06,
1550
+ "loss": 0.8536,
1551
+ "step": 257
1552
+ },
1553
+ {
1554
+ "epoch": 0.69,
1555
+ "learning_rate": 5.16e-06,
1556
+ "loss": 0.8399,
1557
+ "step": 258
1558
+ },
1559
+ {
1560
+ "epoch": 0.69,
1561
+ "learning_rate": 5.1799999999999995e-06,
1562
+ "loss": 0.8259,
1563
+ "step": 259
1564
+ },
1565
+ {
1566
+ "epoch": 0.69,
1567
+ "learning_rate": 5.2e-06,
1568
+ "loss": 0.8399,
1569
+ "step": 260
1570
+ },
1571
+ {
1572
+ "epoch": 0.7,
1573
+ "learning_rate": 5.219999999999999e-06,
1574
+ "loss": 0.8443,
1575
+ "step": 261
1576
+ },
1577
+ {
1578
+ "epoch": 0.7,
1579
+ "learning_rate": 5.24e-06,
1580
+ "loss": 0.8331,
1581
+ "step": 262
1582
+ },
1583
+ {
1584
+ "epoch": 0.7,
1585
+ "learning_rate": 5.2600000000000005e-06,
1586
+ "loss": 0.8268,
1587
+ "step": 263
1588
+ },
1589
+ {
1590
+ "epoch": 0.71,
1591
+ "learning_rate": 5.28e-06,
1592
+ "loss": 0.8338,
1593
+ "step": 264
1594
+ },
1595
+ {
1596
+ "epoch": 0.71,
1597
+ "learning_rate": 5.3e-06,
1598
+ "loss": 0.8287,
1599
+ "step": 265
1600
+ },
1601
+ {
1602
+ "epoch": 0.71,
1603
+ "learning_rate": 5.32e-06,
1604
+ "loss": 0.8273,
1605
+ "step": 266
1606
+ },
1607
+ {
1608
+ "epoch": 0.71,
1609
+ "learning_rate": 5.3400000000000005e-06,
1610
+ "loss": 0.8471,
1611
+ "step": 267
1612
+ },
1613
+ {
1614
+ "epoch": 0.72,
1615
+ "learning_rate": 5.3599999999999995e-06,
1616
+ "loss": 0.8364,
1617
+ "step": 268
1618
+ },
1619
+ {
1620
+ "epoch": 0.72,
1621
+ "learning_rate": 5.38e-06,
1622
+ "loss": 0.8167,
1623
+ "step": 269
1624
+ },
1625
+ {
1626
+ "epoch": 0.72,
1627
+ "learning_rate": 5.4e-06,
1628
+ "loss": 0.8433,
1629
+ "step": 270
1630
+ },
1631
+ {
1632
+ "epoch": 0.72,
1633
+ "learning_rate": 5.42e-06,
1634
+ "loss": 0.8163,
1635
+ "step": 271
1636
+ },
1637
+ {
1638
+ "epoch": 0.73,
1639
+ "learning_rate": 5.44e-06,
1640
+ "loss": 0.8186,
1641
+ "step": 272
1642
+ },
1643
+ {
1644
+ "epoch": 0.73,
1645
+ "learning_rate": 5.46e-06,
1646
+ "loss": 0.8491,
1647
+ "step": 273
1648
+ },
1649
+ {
1650
+ "epoch": 0.73,
1651
+ "learning_rate": 5.479999999999999e-06,
1652
+ "loss": 0.8222,
1653
+ "step": 274
1654
+ },
1655
+ {
1656
+ "epoch": 0.73,
1657
+ "learning_rate": 5.5e-06,
1658
+ "loss": 0.8362,
1659
+ "step": 275
1660
+ },
1661
+ {
1662
+ "epoch": 0.74,
1663
+ "learning_rate": 5.52e-06,
1664
+ "loss": 0.8375,
1665
+ "step": 276
1666
+ },
1667
+ {
1668
+ "epoch": 0.74,
1669
+ "learning_rate": 5.54e-06,
1670
+ "loss": 0.7934,
1671
+ "step": 277
1672
+ },
1673
+ {
1674
+ "epoch": 0.74,
1675
+ "learning_rate": 5.56e-06,
1676
+ "loss": 0.8096,
1677
+ "step": 278
1678
+ },
1679
+ {
1680
+ "epoch": 0.75,
1681
+ "learning_rate": 5.58e-06,
1682
+ "loss": 0.8185,
1683
+ "step": 279
1684
+ },
1685
+ {
1686
+ "epoch": 0.75,
1687
+ "learning_rate": 5.600000000000001e-06,
1688
+ "loss": 0.8126,
1689
+ "step": 280
1690
+ },
1691
+ {
1692
+ "epoch": 0.75,
1693
+ "learning_rate": 5.6199999999999996e-06,
1694
+ "loss": 0.8297,
1695
+ "step": 281
1696
+ },
1697
+ {
1698
+ "epoch": 0.75,
1699
+ "learning_rate": 5.64e-06,
1700
+ "loss": 0.8196,
1701
+ "step": 282
1702
+ },
1703
+ {
1704
+ "epoch": 0.76,
1705
+ "learning_rate": 5.66e-06,
1706
+ "loss": 0.8251,
1707
+ "step": 283
1708
+ },
1709
+ {
1710
+ "epoch": 0.76,
1711
+ "learning_rate": 5.68e-06,
1712
+ "loss": 0.8291,
1713
+ "step": 284
1714
+ },
1715
+ {
1716
+ "epoch": 0.76,
1717
+ "learning_rate": 5.7e-06,
1718
+ "loss": 0.8067,
1719
+ "step": 285
1720
+ },
1721
+ {
1722
+ "epoch": 0.76,
1723
+ "learning_rate": 5.72e-06,
1724
+ "loss": 0.8171,
1725
+ "step": 286
1726
+ },
1727
+ {
1728
+ "epoch": 0.77,
1729
+ "learning_rate": 5.739999999999999e-06,
1730
+ "loss": 0.8091,
1731
+ "step": 287
1732
+ },
1733
+ {
1734
+ "epoch": 0.77,
1735
+ "learning_rate": 5.76e-06,
1736
+ "loss": 0.8149,
1737
+ "step": 288
1738
+ },
1739
+ {
1740
+ "epoch": 0.77,
1741
+ "learning_rate": 5.78e-06,
1742
+ "loss": 0.8393,
1743
+ "step": 289
1744
+ },
1745
+ {
1746
+ "epoch": 0.77,
1747
+ "learning_rate": 5.8e-06,
1748
+ "loss": 0.8157,
1749
+ "step": 290
1750
+ },
1751
+ {
1752
+ "epoch": 0.78,
1753
+ "learning_rate": 5.819999999999999e-06,
1754
+ "loss": 0.8043,
1755
+ "step": 291
1756
+ },
1757
+ {
1758
+ "epoch": 0.78,
1759
+ "learning_rate": 5.84e-06,
1760
+ "loss": 0.8166,
1761
+ "step": 292
1762
+ },
1763
+ {
1764
+ "epoch": 0.78,
1765
+ "learning_rate": 5.860000000000001e-06,
1766
+ "loss": 0.8022,
1767
+ "step": 293
1768
+ },
1769
+ {
1770
+ "epoch": 0.79,
1771
+ "learning_rate": 5.88e-06,
1772
+ "loss": 0.7949,
1773
+ "step": 294
1774
+ },
1775
+ {
1776
+ "epoch": 0.79,
1777
+ "learning_rate": 5.9e-06,
1778
+ "loss": 0.8102,
1779
+ "step": 295
1780
+ },
1781
+ {
1782
+ "epoch": 0.79,
1783
+ "learning_rate": 5.92e-06,
1784
+ "loss": 0.81,
1785
+ "step": 296
1786
+ },
1787
+ {
1788
+ "epoch": 0.79,
1789
+ "learning_rate": 5.94e-06,
1790
+ "loss": 0.8104,
1791
+ "step": 297
1792
+ },
1793
+ {
1794
+ "epoch": 0.8,
1795
+ "learning_rate": 5.96e-06,
1796
+ "loss": 0.8089,
1797
+ "step": 298
1798
+ },
1799
+ {
1800
+ "epoch": 0.8,
1801
+ "learning_rate": 5.98e-06,
1802
+ "loss": 0.824,
1803
+ "step": 299
1804
+ },
1805
+ {
1806
+ "epoch": 0.8,
1807
+ "learning_rate": 5.999999999999999e-06,
1808
+ "loss": 0.8145,
1809
+ "step": 300
1810
+ },
1811
+ {
1812
+ "epoch": 0.8,
1813
+ "learning_rate": 6.02e-06,
1814
+ "loss": 0.8085,
1815
+ "step": 301
1816
+ },
1817
+ {
1818
+ "epoch": 0.81,
1819
+ "learning_rate": 6.04e-06,
1820
+ "loss": 0.8183,
1821
+ "step": 302
1822
+ },
1823
+ {
1824
+ "epoch": 0.81,
1825
+ "learning_rate": 6.0600000000000004e-06,
1826
+ "loss": 0.8114,
1827
+ "step": 303
1828
+ },
1829
+ {
1830
+ "epoch": 0.81,
1831
+ "learning_rate": 6.079999999999999e-06,
1832
+ "loss": 0.8112,
1833
+ "step": 304
1834
+ },
1835
+ {
1836
+ "epoch": 0.81,
1837
+ "learning_rate": 6.1e-06,
1838
+ "loss": 0.8308,
1839
+ "step": 305
1840
+ },
1841
+ {
1842
+ "epoch": 0.82,
1843
+ "learning_rate": 6.12e-06,
1844
+ "loss": 0.8303,
1845
+ "step": 306
1846
+ },
1847
+ {
1848
+ "epoch": 0.82,
1849
+ "learning_rate": 6.14e-06,
1850
+ "loss": 0.8287,
1851
+ "step": 307
1852
+ },
1853
+ {
1854
+ "epoch": 0.82,
1855
+ "learning_rate": 6.16e-06,
1856
+ "loss": 0.7957,
1857
+ "step": 308
1858
+ },
1859
+ {
1860
+ "epoch": 0.83,
1861
+ "learning_rate": 6.18e-06,
1862
+ "loss": 0.817,
1863
+ "step": 309
1864
+ },
1865
+ {
1866
+ "epoch": 0.83,
1867
+ "learning_rate": 6.2e-06,
1868
+ "loss": 0.8209,
1869
+ "step": 310
1870
+ },
1871
+ {
1872
+ "epoch": 0.83,
1873
+ "learning_rate": 6.22e-06,
1874
+ "loss": 0.8019,
1875
+ "step": 311
1876
+ },
1877
+ {
1878
+ "epoch": 0.83,
1879
+ "learning_rate": 6.24e-06,
1880
+ "loss": 0.8099,
1881
+ "step": 312
1882
+ },
1883
+ {
1884
+ "epoch": 0.84,
1885
+ "learning_rate": 6.259999999999999e-06,
1886
+ "loss": 0.8275,
1887
+ "step": 313
1888
+ },
1889
+ {
1890
+ "epoch": 0.84,
1891
+ "learning_rate": 6.28e-06,
1892
+ "loss": 0.814,
1893
+ "step": 314
1894
+ },
1895
+ {
1896
+ "epoch": 0.84,
1897
+ "learning_rate": 6.3e-06,
1898
+ "loss": 0.7992,
1899
+ "step": 315
1900
+ },
1901
+ {
1902
+ "epoch": 0.84,
1903
+ "learning_rate": 6.32e-06,
1904
+ "loss": 0.7964,
1905
+ "step": 316
1906
+ },
1907
+ {
1908
+ "epoch": 0.85,
1909
+ "learning_rate": 6.3399999999999994e-06,
1910
+ "loss": 0.8013,
1911
+ "step": 317
1912
+ },
1913
+ {
1914
+ "epoch": 0.85,
1915
+ "learning_rate": 6.36e-06,
1916
+ "loss": 0.8023,
1917
+ "step": 318
1918
+ },
1919
+ {
1920
+ "epoch": 0.85,
1921
+ "learning_rate": 6.38e-06,
1922
+ "loss": 0.8074,
1923
+ "step": 319
1924
+ },
1925
+ {
1926
+ "epoch": 0.85,
1927
+ "learning_rate": 6.4e-06,
1928
+ "loss": 0.8154,
1929
+ "step": 320
1930
+ },
1931
+ {
1932
+ "epoch": 0.86,
1933
+ "learning_rate": 6.42e-06,
1934
+ "loss": 0.7984,
1935
+ "step": 321
1936
+ },
1937
+ {
1938
+ "epoch": 0.86,
1939
+ "learning_rate": 6.44e-06,
1940
+ "loss": 0.7987,
1941
+ "step": 322
1942
+ },
1943
+ {
1944
+ "epoch": 0.86,
1945
+ "learning_rate": 6.46e-06,
1946
+ "loss": 0.8007,
1947
+ "step": 323
1948
+ },
1949
+ {
1950
+ "epoch": 0.87,
1951
+ "learning_rate": 6.48e-06,
1952
+ "loss": 0.7999,
1953
+ "step": 324
1954
+ },
1955
+ {
1956
+ "epoch": 0.87,
1957
+ "learning_rate": 6.5000000000000004e-06,
1958
+ "loss": 0.8107,
1959
+ "step": 325
1960
+ },
1961
+ {
1962
+ "epoch": 0.87,
1963
+ "learning_rate": 6.519999999999999e-06,
1964
+ "loss": 0.7928,
1965
+ "step": 326
1966
+ },
1967
+ {
1968
+ "epoch": 0.87,
1969
+ "learning_rate": 6.54e-06,
1970
+ "loss": 0.8033,
1971
+ "step": 327
1972
+ },
1973
+ {
1974
+ "epoch": 0.88,
1975
+ "learning_rate": 6.56e-06,
1976
+ "loss": 0.802,
1977
+ "step": 328
1978
+ },
1979
+ {
1980
+ "epoch": 0.88,
1981
+ "learning_rate": 6.58e-06,
1982
+ "loss": 0.8056,
1983
+ "step": 329
1984
+ },
1985
+ {
1986
+ "epoch": 0.88,
1987
+ "learning_rate": 6.5999999999999995e-06,
1988
+ "loss": 0.7857,
1989
+ "step": 330
1990
+ },
1991
+ {
1992
+ "epoch": 0.88,
1993
+ "learning_rate": 6.62e-06,
1994
+ "loss": 0.8046,
1995
+ "step": 331
1996
+ },
1997
+ {
1998
+ "epoch": 0.89,
1999
+ "learning_rate": 6.64e-06,
2000
+ "loss": 0.7865,
2001
+ "step": 332
2002
+ },
2003
+ {
2004
+ "epoch": 0.89,
2005
+ "learning_rate": 6.66e-06,
2006
+ "loss": 0.814,
2007
+ "step": 333
2008
+ },
2009
+ {
2010
+ "epoch": 0.89,
2011
+ "learning_rate": 6.6799999999999996e-06,
2012
+ "loss": 0.7934,
2013
+ "step": 334
2014
+ },
2015
+ {
2016
+ "epoch": 0.89,
2017
+ "learning_rate": 6.7e-06,
2018
+ "loss": 0.7893,
2019
+ "step": 335
2020
+ },
2021
+ {
2022
+ "epoch": 0.9,
2023
+ "learning_rate": 6.72e-06,
2024
+ "loss": 0.7984,
2025
+ "step": 336
2026
+ },
2027
+ {
2028
+ "epoch": 0.9,
2029
+ "learning_rate": 6.74e-06,
2030
+ "loss": 0.7932,
2031
+ "step": 337
2032
+ },
2033
+ {
2034
+ "epoch": 0.9,
2035
+ "learning_rate": 6.7600000000000005e-06,
2036
+ "loss": 0.7886,
2037
+ "step": 338
2038
+ },
2039
+ {
2040
+ "epoch": 0.91,
2041
+ "learning_rate": 6.7799999999999995e-06,
2042
+ "loss": 0.7925,
2043
+ "step": 339
2044
+ },
2045
+ {
2046
+ "epoch": 0.91,
2047
+ "learning_rate": 6.8e-06,
2048
+ "loss": 0.7872,
2049
+ "step": 340
2050
+ },
2051
+ {
2052
+ "epoch": 0.91,
2053
+ "learning_rate": 6.82e-06,
2054
+ "loss": 0.8191,
2055
+ "step": 341
2056
+ },
2057
+ {
2058
+ "epoch": 0.91,
2059
+ "learning_rate": 6.84e-06,
2060
+ "loss": 0.7994,
2061
+ "step": 342
2062
+ },
2063
+ {
2064
+ "epoch": 0.92,
2065
+ "learning_rate": 6.8599999999999995e-06,
2066
+ "loss": 0.8014,
2067
+ "step": 343
2068
+ },
2069
+ {
2070
+ "epoch": 0.92,
2071
+ "learning_rate": 6.88e-06,
2072
+ "loss": 0.7998,
2073
+ "step": 344
2074
+ },
2075
+ {
2076
+ "epoch": 0.92,
2077
+ "learning_rate": 6.9e-06,
2078
+ "loss": 0.7809,
2079
+ "step": 345
2080
+ },
2081
+ {
2082
+ "epoch": 0.92,
2083
+ "learning_rate": 6.92e-06,
2084
+ "loss": 0.7845,
2085
+ "step": 346
2086
+ },
2087
+ {
2088
+ "epoch": 0.93,
2089
+ "learning_rate": 6.94e-06,
2090
+ "loss": 0.7795,
2091
+ "step": 347
2092
+ },
2093
+ {
2094
+ "epoch": 0.93,
2095
+ "learning_rate": 6.96e-06,
2096
+ "loss": 0.7959,
2097
+ "step": 348
2098
+ },
2099
+ {
2100
+ "epoch": 0.93,
2101
+ "learning_rate": 6.979999999999999e-06,
2102
+ "loss": 0.7848,
2103
+ "step": 349
2104
+ },
2105
+ {
2106
+ "epoch": 0.94,
2107
+ "learning_rate": 7e-06,
2108
+ "loss": 0.7915,
2109
+ "step": 350
2110
+ },
2111
+ {
2112
+ "epoch": 0.94,
2113
+ "learning_rate": 6.999986848712049e-06,
2114
+ "loss": 0.7891,
2115
+ "step": 351
2116
+ },
2117
+ {
2118
+ "epoch": 0.94,
2119
+ "learning_rate": 6.999947394947031e-06,
2120
+ "loss": 0.7838,
2121
+ "step": 352
2122
+ },
2123
+ {
2124
+ "epoch": 0.94,
2125
+ "learning_rate": 6.999881639001441e-06,
2126
+ "loss": 0.8101,
2127
+ "step": 353
2128
+ },
2129
+ {
2130
+ "epoch": 0.95,
2131
+ "learning_rate": 6.999789581369437e-06,
2132
+ "loss": 0.8062,
2133
+ "step": 354
2134
+ },
2135
+ {
2136
+ "epoch": 0.95,
2137
+ "learning_rate": 6.999671222742834e-06,
2138
+ "loss": 0.7923,
2139
+ "step": 355
2140
+ },
2141
+ {
2142
+ "epoch": 0.95,
2143
+ "learning_rate": 6.999526564011098e-06,
2144
+ "loss": 0.8033,
2145
+ "step": 356
2146
+ },
2147
+ {
2148
+ "epoch": 0.95,
2149
+ "learning_rate": 6.999355606261343e-06,
2150
+ "loss": 0.7905,
2151
+ "step": 357
2152
+ },
2153
+ {
2154
+ "epoch": 0.96,
2155
+ "learning_rate": 6.999158350778321e-06,
2156
+ "loss": 0.7833,
2157
+ "step": 358
2158
+ },
2159
+ {
2160
+ "epoch": 0.96,
2161
+ "learning_rate": 6.998934799044413e-06,
2162
+ "loss": 0.7916,
2163
+ "step": 359
2164
+ },
2165
+ {
2166
+ "epoch": 0.96,
2167
+ "learning_rate": 6.9986849527396114e-06,
2168
+ "loss": 0.7848,
2169
+ "step": 360
2170
+ },
2171
+ {
2172
+ "epoch": 0.96,
2173
+ "learning_rate": 6.998408813741518e-06,
2174
+ "loss": 0.7888,
2175
+ "step": 361
2176
+ },
2177
+ {
2178
+ "epoch": 0.97,
2179
+ "learning_rate": 6.9981063841253256e-06,
2180
+ "loss": 0.7971,
2181
+ "step": 362
2182
+ },
2183
+ {
2184
+ "epoch": 0.97,
2185
+ "learning_rate": 6.997777666163796e-06,
2186
+ "loss": 0.7947,
2187
+ "step": 363
2188
+ },
2189
+ {
2190
+ "epoch": 0.97,
2191
+ "learning_rate": 6.997422662327253e-06,
2192
+ "loss": 0.7943,
2193
+ "step": 364
2194
+ },
2195
+ {
2196
+ "epoch": 0.98,
2197
+ "learning_rate": 6.9970413752835595e-06,
2198
+ "loss": 0.7864,
2199
+ "step": 365
2200
+ },
2201
+ {
2202
+ "epoch": 0.98,
2203
+ "learning_rate": 6.996633807898094e-06,
2204
+ "loss": 0.8132,
2205
+ "step": 366
2206
+ },
2207
+ {
2208
+ "epoch": 0.98,
2209
+ "learning_rate": 6.996199963233736e-06,
2210
+ "loss": 0.7814,
2211
+ "step": 367
2212
+ },
2213
+ {
2214
+ "epoch": 0.98,
2215
+ "learning_rate": 6.995739844550836e-06,
2216
+ "loss": 0.8083,
2217
+ "step": 368
2218
+ },
2219
+ {
2220
+ "epoch": 0.99,
2221
+ "learning_rate": 6.995253455307197e-06,
2222
+ "loss": 0.7831,
2223
+ "step": 369
2224
+ },
2225
+ {
2226
+ "epoch": 0.99,
2227
+ "learning_rate": 6.994740799158044e-06,
2228
+ "loss": 0.7775,
2229
+ "step": 370
2230
+ },
2231
+ {
2232
+ "epoch": 0.99,
2233
+ "learning_rate": 6.994201879955999e-06,
2234
+ "loss": 0.7969,
2235
+ "step": 371
2236
+ },
2237
+ {
2238
+ "epoch": 0.99,
2239
+ "learning_rate": 6.993636701751052e-06,
2240
+ "loss": 0.7726,
2241
+ "step": 372
2242
+ },
2243
+ {
2244
+ "epoch": 1.0,
2245
+ "learning_rate": 6.993045268790529e-06,
2246
+ "loss": 0.783,
2247
+ "step": 373
2248
+ },
2249
+ {
2250
+ "epoch": 1.0,
2251
+ "learning_rate": 6.9924275855190615e-06,
2252
+ "loss": 0.7802,
2253
+ "step": 374
2254
+ },
2255
+ {
2256
+ "epoch": 1.0,
2257
+ "learning_rate": 6.991783656578554e-06,
2258
+ "loss": 0.7885,
2259
+ "step": 375
2260
+ },
2261
+ {
2262
+ "epoch": 1.0,
2263
+ "learning_rate": 6.991113486808145e-06,
2264
+ "loss": 0.7916,
2265
+ "step": 376
2266
+ },
2267
+ {
2268
+ "epoch": 1.01,
2269
+ "learning_rate": 6.990417081244175e-06,
2270
+ "loss": 0.7961,
2271
+ "step": 377
2272
+ },
2273
+ {
2274
+ "epoch": 1.01,
2275
+ "learning_rate": 6.989694445120147e-06,
2276
+ "loss": 0.7912,
2277
+ "step": 378
2278
+ },
2279
+ {
2280
+ "epoch": 1.01,
2281
+ "learning_rate": 6.9889455838666875e-06,
2282
+ "loss": 0.7711,
2283
+ "step": 379
2284
+ },
2285
+ {
2286
+ "epoch": 1.02,
2287
+ "learning_rate": 6.988170503111504e-06,
2288
+ "loss": 0.7695,
2289
+ "step": 380
2290
+ },
2291
+ {
2292
+ "epoch": 1.02,
2293
+ "learning_rate": 6.987369208679347e-06,
2294
+ "loss": 0.7693,
2295
+ "step": 381
2296
+ }
2297
+ ],
2298
+ "logging_steps": 1,
2299
+ "max_steps": 1496,
2300
+ "num_train_epochs": 4,
2301
+ "save_steps": 500,
2302
+ "total_flos": 6.35040259173974e+18,
2303
+ "trial_name": null,
2304
+ "trial_params": null
2305
+ }
checkpoint-381/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:46e4ff946a52f7ad865e9875e81fb905b4052faefbb3e2ea02b382193a53532b
3
+ size 4539
checkpoint-763/config.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "stabilityai/stablelm-3b-4e1t",
3
+ "architectures": [
4
+ "StableLMEpochForCausalLM"
5
+ ],
6
+ "auto_map": {
7
+ "AutoConfig": "configuration_stablelm_epoch.StableLMEpochConfig",
8
+ "AutoModelForCausalLM": "modeling_stablelm_epoch.StableLMEpochForCausalLM"
9
+ },
10
+ "bos_token_id": 0,
11
+ "eos_token_id": 0,
12
+ "hidden_act": "silu",
13
+ "hidden_size": 2560,
14
+ "initializer_range": 0.02,
15
+ "intermediate_size": 6912,
16
+ "max_position_embeddings": 4096,
17
+ "model_type": "stablelm_epoch",
18
+ "norm_eps": 1e-05,
19
+ "num_attention_heads": 32,
20
+ "num_heads": 32,
21
+ "num_hidden_layers": 32,
22
+ "num_key_value_heads": 32,
23
+ "rope_pct": 0.25,
24
+ "rope_theta": 10000,
25
+ "rotary_scaling_factor": 1.0,
26
+ "tie_word_embeddings": false,
27
+ "torch_dtype": "float32",
28
+ "transformers_version": "4.34.1",
29
+ "use_cache": false,
30
+ "vocab_size": 50304
31
+ }
checkpoint-763/configuration_stablelm_epoch.py ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2023 Stability and The HuggingFace Inc. team. All rights reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ """ StableLM Epoch model configuration"""
16
+ from transformers import PretrainedConfig
17
+ from transformers.utils import logging
18
+
19
+
20
+ logger = logging.get_logger(__name__)
21
+
22
+
23
+ class StableLMEpochConfig(PretrainedConfig):
24
+ r"""
25
+ Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
26
+ documentation from [`PretrainedConfig`] for more information.
27
+
28
+ Args:
29
+ vocab_size (`int`, *optional*, defaults to 50_304):
30
+ Vocabulary size of the StableLM model. Defines the number of different tokens that
31
+ can be represented by the `inputs_ids` passed when calling [`StableLMEpochModel`].
32
+ intermediate_size (`int`, *optional*, defaults to 6912):
33
+ Dimension of the MLP representations.
34
+ hidden_size (`int`, *optional*, defaults to 2560):
35
+ Dimension of the decoder layers and the pooler layer.
36
+ num_hidden_layers (`int`, *optional*, defaults to 32):
37
+ Number of hidden layers in the Transformer decoder.
38
+ num_attention_heads (`int`, *optional*, defaults to 32):
39
+ Number of attention heads for each attention layer in the Transformer encoder.
40
+ num_key_value_heads (`int`, *optional*):
41
+ This is the number of key_value heads that should be used to implement Grouped Query Attention. If
42
+ `num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if
43
+ `num_key_value_heads=1 the model will use Multi Query Attention (MQA) otherwise GQA is used. When
44
+ converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed
45
+ by meanpooling all the original heads within that group. For more details checkout [this
46
+ paper](https://arxiv.org/pdf/2305.13245.pdf). If it is not specified, will default to
47
+ `num_attention_heads`.
48
+ hidden_act (`str` or `function`, *optional*, defaults to `"silu"`):
49
+ The non-linear activation function (function or string).
50
+ rope_pct (`float`, *optional*, defaults to 1.0):
51
+ Percentage of hidden dimensions to allocate to rotary embeddings.
52
+ rope_theta (`float`, *optional*, defaults to 10000.0):
53
+ The base period of the RoPE embeddings.
54
+ max_position_embeddings (`int`, *optional*, defaults to 2048):
55
+ The maximum sequence length that this model might ever be used with.
56
+ Typically set this to something large just in case (e.g., 512 or 1024 or 2048).
57
+ initializer_range (`float`, *optional*, defaults to 1e-5):
58
+ The standard deviation of the truncated_normal_initializer for initializing
59
+ all weight matrices.
60
+ norm_eps (`float`, *optional*, defaults to 1e-8):
61
+ The epsilon used by the normalization layers.
62
+ use_cache (`bool`, *optional*, defaults to `True`):
63
+ Whether or not the model should return the last key/values attentions
64
+ (not used by all models). Only relevant if `config.is_decoder=True`.
65
+ tie_word_embeddings(`bool`, *optional*, defaults to `False`):
66
+ Whether to tie weight embeddings
67
+ """
68
+ model_type = "stablelm_epoch"
69
+ keys_to_ignore_at_inference = ["past_key_values"]
70
+
71
+ def __init__(
72
+ self,
73
+ vocab_size=50_304,
74
+ intermediate_size=6912,
75
+ hidden_size=2560,
76
+ num_hidden_layers=32,
77
+ num_attention_heads=32,
78
+ num_key_value_heads=32,
79
+ hidden_act="silu",
80
+ rope_pct=0.25,
81
+ rope_theta=10_000,
82
+ max_position_embeddings=4096,
83
+ initializer_range=0.02,
84
+ norm_eps=1.0e-5,
85
+ use_cache=True,
86
+ bos_token_id=0,
87
+ eos_token_id=2,
88
+ tie_word_embeddings=False,
89
+ **kwargs,
90
+ ):
91
+ self.vocab_size = vocab_size
92
+ self.max_position_embeddings = max_position_embeddings
93
+ self.intermediate_size = intermediate_size
94
+ self.hidden_size = hidden_size
95
+ self.num_hidden_layers = num_hidden_layers
96
+ self.num_attention_heads = num_attention_heads
97
+ self.num_key_value_heads = num_key_value_heads
98
+ self.hidden_act = hidden_act
99
+ self.rope_pct = rope_pct
100
+ self.rope_theta = rope_theta
101
+ self.initializer_range = initializer_range
102
+ self.norm_eps = norm_eps
103
+ self.use_cache = use_cache
104
+ self.tie_word_embeddings = tie_word_embeddings
105
+ super().__init__(
106
+ bos_token_id=bos_token_id,
107
+ eos_token_id=eos_token_id,
108
+ tie_word_embeddings=tie_word_embeddings,
109
+ **kwargs,
110
+ )
checkpoint-763/generation_config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 0,
4
+ "eos_token_id": 0,
5
+ "transformers_version": "4.34.1"
6
+ }
checkpoint-763/modeling_stablelm_epoch.py ADDED
@@ -0,0 +1,687 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2023 Stability AI, EleutherAI, and The HuggingFace Inc. team. All rights reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ # This code is based off the following work:
17
+ # https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/modeling_llama.py
18
+ # https://github.com/huggingface/transformers/blob/main/src/transformers/models/gpt_neox/modeling_gpt_neox.py
19
+ """ PyTorch StableLM Epoch model. """
20
+ from typing import Optional, Tuple, Union
21
+ import math
22
+
23
+ import torch
24
+ import torch.utils.checkpoint
25
+ from torch import nn
26
+ from torch.nn import CrossEntropyLoss
27
+ from transformers.modeling_outputs import (
28
+ BaseModelOutputWithPast,
29
+ CausalLMOutputWithPast,
30
+ )
31
+ from transformers.modeling_utils import PreTrainedModel
32
+ from transformers.utils import logging
33
+ from .configuration_stablelm_epoch import StableLMEpochConfig
34
+
35
+
36
+ logger = logging.get_logger(__name__)
37
+
38
+
39
+ # Copied from transformers.models.bart.modeling_bart._make_causal_mask
40
+ def _make_causal_mask(
41
+ input_ids_shape: torch.Size,
42
+ dtype: torch.dtype,
43
+ device: torch.device,
44
+ past_key_values_length: int = 0,
45
+ ):
46
+ """Make causal mask used for bi-directional self-attention."""
47
+ batch_size, tgt_len = input_ids_shape
48
+ mask = torch.full((tgt_len, tgt_len), torch.finfo(torch.float16).min, device=device)
49
+ mask_cond = torch.arange(mask.size(-1), device=device)
50
+ mask.masked_fill_(mask_cond < (mask_cond + 1).view(mask.size(-1), 1), 0)
51
+ mask = mask.to(dtype)
52
+ if past_key_values_length > 0:
53
+ mask = torch.cat([torch.zeros(tgt_len, past_key_values_length, dtype=dtype, device=device), mask], dim=-1)
54
+ return mask[None, None, :, :].expand(batch_size, 1, tgt_len, tgt_len + past_key_values_length)
55
+
56
+
57
+ # Copied from transformers.models.bart.modeling_bart._expand_mask
58
+ def _expand_mask(mask: torch.Tensor, dtype: torch.dtype, tgt_len: Optional[int] = None):
59
+ """Expands attention_mask from `[batch_size, seq_len]` to `[batch_size, 1, tgt_seq_len, src_seq_len]`."""
60
+ batch_size, src_len = mask.size()
61
+ tgt_len = tgt_len if tgt_len is not None else src_len
62
+
63
+ expanded_mask = mask[:, None, None, :].expand(batch_size, 1, tgt_len, src_len).to(dtype)
64
+ inverted_mask = 1.0 - expanded_mask
65
+
66
+ return inverted_mask.masked_fill(
67
+ inverted_mask.to(torch.bool), torch.finfo(dtype).min
68
+ )
69
+
70
+
71
+ class RotaryEmbedding(nn.Module):
72
+ def __init__(
73
+ self,
74
+ dim: int,
75
+ max_position_embeddings: int,
76
+ base: int = 10_000,
77
+ device: Optional[torch.device] = None,
78
+ ):
79
+ super().__init__()
80
+
81
+ self.dim = dim
82
+ self.max_position_embeddings = max_position_embeddings
83
+ self.base = base
84
+ inv_freq = 1.0 / (self.base ** (torch.arange(0, self.dim, 2, device=device, dtype=torch.float32) / self.dim))
85
+ self.register_buffer("inv_freq", inv_freq, persistent=False)
86
+
87
+ # Build here to make `torch.jit.trace` work.
88
+ self._set_cos_sin_cache(
89
+ seq_len=max_position_embeddings, device=self.inv_freq.device, dtype=torch.get_default_dtype(),
90
+ )
91
+
92
+ def _set_cos_sin_cache(self, seq_len: int, device: torch.device, dtype: torch.dtype):
93
+ self.max_seq_len_cached = seq_len
94
+ t = torch.arange(self.max_seq_len_cached, device=device, dtype=torch.float32)
95
+
96
+ # Don't do einsum, it converts fp32 to fp16 under AMP
97
+ # freqs = torch.einsum("i,j->ij", t, self.inv_freq)
98
+ freqs = torch.outer(t, self.inv_freq)
99
+ # Different from paper, but it uses a different permutation in order to obtain the same calculation
100
+ emb = torch.cat((freqs, freqs), dim=-1)
101
+ self.register_buffer("cos_cached", emb.cos()[None, None, :, :].to(dtype), persistent=False)
102
+ self.register_buffer("sin_cached", emb.sin()[None, None, :, :].to(dtype), persistent=False)
103
+
104
+ def forward(self, x: torch.Tensor, seq_len: Optional[int] = None):
105
+ # x: [batch_size, num_heads, seq_len, head_size]
106
+ if seq_len > self.max_seq_len_cached:
107
+ self._set_cos_sin_cache(seq_len=seq_len, device=x.device, dtype=torch.get_default_dtype())
108
+ return (
109
+ self.cos_cached[:, :, :seq_len, ...].to(dtype=x.dtype),
110
+ self.sin_cached[:, :, :seq_len, ...].to(dtype=x.dtype),
111
+ )
112
+
113
+
114
+ def rotate_half(x: torch.Tensor):
115
+ """Rotates half the hidden dims of the input."""
116
+ x1, x2 = torch.chunk(x, 2, dim=-1)
117
+ return torch.cat((-x2, x1), dim=-1)
118
+
119
+
120
+ def apply_rotary_pos_emb(q, k, cos, sin, position_ids):
121
+ # The first two dimensions of cos and sin are always 1, so we can `squeeze` them.
122
+ cos = cos.squeeze(1).squeeze(0) # [seq_len, dim]
123
+ sin = sin.squeeze(1).squeeze(0) # [seq_len, dim]
124
+ cos = cos[position_ids].unsqueeze(1) # [batch_size, 1, seq_len, dim]
125
+ sin = sin[position_ids].unsqueeze(1) # [batch_size, 1, seq_len, dim]
126
+ q_embed = (q * cos) + (rotate_half(q) * sin)
127
+ k_embed = (k * cos) + (rotate_half(k) * sin)
128
+ return q_embed, k_embed
129
+
130
+
131
+ class MLP(nn.Module):
132
+ def __init__(self, config: StableLMEpochConfig):
133
+ super().__init__()
134
+ self.config = config
135
+ self.hidden_size = config.hidden_size
136
+ self.intermediate_size = config.intermediate_size
137
+ self.gate_proj = nn.Linear(config.hidden_size, config.intermediate_size, bias=False)
138
+ self.up_proj = nn.Linear(config.hidden_size, config.intermediate_size, bias=False)
139
+ self.down_proj = nn.Linear(config.intermediate_size, config.hidden_size, bias=False)
140
+ self.act_fn = nn.SiLU()
141
+
142
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
143
+ return self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x))
144
+
145
+
146
+ def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor:
147
+ """
148
+ This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch,
149
+ num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim)
150
+ """
151
+ batch, num_key_value_heads, slen, head_dim = hidden_states.shape
152
+ if n_rep == 1:
153
+ return hidden_states
154
+ hidden_states = hidden_states[:, :, None, :, :].expand(batch, num_key_value_heads, n_rep, slen, head_dim)
155
+ return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim)
156
+
157
+
158
+ class Attention(nn.Module):
159
+ def __init__(self, config: StableLMEpochConfig):
160
+ super().__init__()
161
+ self.config = config
162
+ self.hidden_size = config.hidden_size
163
+ self.num_heads = config.num_attention_heads
164
+ self.head_dim = self.hidden_size // self.num_heads
165
+ self.num_key_value_heads = config.num_key_value_heads
166
+ self.num_key_value_groups = self.num_heads // self.num_key_value_heads
167
+ self.max_position_embeddings = config.max_position_embeddings
168
+
169
+ if (self.head_dim * self.num_heads) != self.hidden_size:
170
+ raise ValueError(
171
+ f"hidden_size must be divisible by num_heads (got `hidden_size`: {self.hidden_size}"
172
+ f" and `num_heads`: {self.num_heads})."
173
+ )
174
+ self.q_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim, bias=False)
175
+ self.k_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim, bias=False)
176
+ self.v_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim, bias=False)
177
+ self.o_proj = nn.Linear(self.hidden_size, self.hidden_size, bias=False)
178
+
179
+ self._init_rope()
180
+
181
+ def _init_rope(self):
182
+ self.rotary_ndims = int(self.head_dim * self.config.rope_pct)
183
+ self.rotary_emb = RotaryEmbedding(
184
+ self.rotary_ndims,
185
+ max_position_embeddings=self.config.max_position_embeddings,
186
+ base=self.config.rope_theta,
187
+ )
188
+
189
+ def forward(
190
+ self,
191
+ hidden_states: torch.FloatTensor,
192
+ attention_mask: torch.FloatTensor,
193
+ position_ids: torch.LongTensor,
194
+ past_key_value: Optional[Tuple[torch.Tensor]] = None,
195
+ output_attentions: Optional[bool] = False,
196
+ use_cache: Optional[bool] = False,
197
+ ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]:
198
+ bsz, q_len, _ = hidden_states.size()
199
+
200
+ query_states = self.q_proj(hidden_states)
201
+ key_states = self.k_proj(hidden_states)
202
+ value_states = self.v_proj(hidden_states)
203
+
204
+ query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2)
205
+ key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2)
206
+ value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2)
207
+
208
+ query_rot = query_states[..., : self.rotary_ndims]
209
+ query_pass = query_states[..., self.rotary_ndims :]
210
+ key_rot = key_states[..., : self.rotary_ndims]
211
+ key_pass = key_states[..., self.rotary_ndims :]
212
+
213
+ kv_seq_len = key_states.shape[-2]
214
+ if past_key_value is not None:
215
+ kv_seq_len += past_key_value[0].shape[-2]
216
+ cos, sin = self.rotary_emb(value_states, seq_len=kv_seq_len)
217
+ query_states, key_states = apply_rotary_pos_emb(query_rot, key_rot, cos, sin, position_ids)
218
+
219
+ # [batch_size, num_heads, seq_len, head_dim]
220
+ query_states = torch.cat((query_states, query_pass), dim=-1)
221
+ key_states = torch.cat((key_states, key_pass), dim=-1)
222
+
223
+ if past_key_value is not None:
224
+ # Reuse k, v, self_attention
225
+ key_states = torch.cat((past_key_value[0], key_states), dim=2)
226
+ value_states = torch.cat((past_key_value[1], value_states), dim=2)
227
+
228
+ past_key_value = (key_states, value_states) if use_cache else None
229
+
230
+ # Repeat k/v heads if n_kv_heads < n_heads
231
+ key_states = repeat_kv(key_states, self.num_key_value_groups)
232
+ value_states = repeat_kv(value_states, self.num_key_value_groups)
233
+
234
+ attn_weights = torch.matmul(query_states, key_states.transpose(2, 3)) / math.sqrt(self.head_dim)
235
+
236
+ if attn_weights.size() != (bsz, self.num_heads, q_len, kv_seq_len):
237
+ raise ValueError(
238
+ f"Attention weights should be of size {(bsz, self.num_heads, q_len, kv_seq_len)}, but is"
239
+ f" {attn_weights.size()}"
240
+ )
241
+
242
+ if attention_mask is not None:
243
+ if attention_mask.size() != (bsz, 1, q_len, kv_seq_len):
244
+ raise ValueError(
245
+ f"Attention mask should be of size {(bsz, 1, q_len, kv_seq_len)}, but is {attention_mask.size()}"
246
+ )
247
+ attn_weights = attn_weights + attention_mask
248
+
249
+ # Upcast attention to fp32
250
+ attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32).to(query_states.dtype)
251
+ attn_output = torch.matmul(attn_weights, value_states)
252
+
253
+ if attn_output.size() != (bsz, self.num_heads, q_len, self.head_dim):
254
+ raise ValueError(
255
+ f"`attn_output` should be of size {(bsz, self.num_heads, q_len, self.head_dim)}, but is"
256
+ f" {attn_output.size()}"
257
+ )
258
+
259
+ # Merge heads
260
+ attn_output = attn_output.transpose(1, 2).contiguous()
261
+ attn_output = attn_output.reshape(bsz, q_len, self.hidden_size)
262
+
263
+ # Final linear projection
264
+ attn_output = self.o_proj(attn_output)
265
+
266
+ if not output_attentions:
267
+ attn_weights = None
268
+
269
+ return attn_output, attn_weights, past_key_value
270
+
271
+
272
+ class DecoderLayer(nn.Module):
273
+ def __init__(self, config: StableLMEpochConfig):
274
+ super().__init__()
275
+ self.self_attn = Attention(config)
276
+ self.mlp = MLP(config)
277
+ self.input_layernorm = nn.LayerNorm(config.hidden_size, eps=config.norm_eps)
278
+ self.post_attention_layernorm = nn.LayerNorm(config.hidden_size, eps=config.norm_eps)
279
+
280
+ def forward(
281
+ self,
282
+ hidden_states: Optional[torch.FloatTensor],
283
+ attention_mask: Optional[torch.FloatTensor] = None,
284
+ position_ids: Optional[torch.LongTensor] = None,
285
+ past_key_value: Optional[Tuple[torch.Tensor]] = None,
286
+ output_attentions: Optional[bool] = False,
287
+ use_cache: Optional[bool] = False,
288
+ ) -> Union[Tuple[torch.Tensor], Optional[Tuple[torch.Tensor, Tuple[torch.FloatTensor, ...]]]]:
289
+ residual = hidden_states
290
+
291
+ hidden_states = self.input_layernorm(hidden_states)
292
+
293
+ # Self Attention
294
+ hidden_states, self_attn_weights, present_key_value = self.self_attn(
295
+ hidden_states=hidden_states,
296
+ attention_mask=attention_mask,
297
+ position_ids=position_ids,
298
+ past_key_value=past_key_value,
299
+ output_attentions=output_attentions,
300
+ use_cache=use_cache,
301
+ )
302
+ hidden_states = residual + hidden_states
303
+
304
+ # Fully Connected
305
+ residual = hidden_states
306
+ hidden_states = self.post_attention_layernorm(hidden_states)
307
+ hidden_states = self.mlp(hidden_states)
308
+ hidden_states = residual + hidden_states
309
+
310
+ outputs = (hidden_states,)
311
+
312
+ if output_attentions:
313
+ outputs += (self_attn_weights,)
314
+
315
+ if use_cache:
316
+ outputs += (present_key_value,)
317
+
318
+ return outputs
319
+
320
+
321
+ class StableLMEpochPreTrainedModel(PreTrainedModel):
322
+ """An abstract class to handle weights initialization and a simple interface
323
+ for downloading and loading pretrained models.
324
+ """
325
+
326
+ config_class = StableLMEpochConfig
327
+ base_model_prefix = "transformer"
328
+ supports_gradient_checkpointing = True
329
+ _no_split_modules = ["DecoderLayer"]
330
+ _skip_keys_device_placement = "past_key_values"
331
+
332
+ def _init_weights(self, module: nn.Module):
333
+ """Initialize the weights"""
334
+ if isinstance(module, nn.Linear):
335
+ module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)
336
+ if module.bias is not None:
337
+ module.bias.data.zero_()
338
+ elif isinstance(module, nn.Embedding):
339
+ module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)
340
+ if module.padding_idx is not None:
341
+ module.weight.data[module.padding_idx].zero_()
342
+ elif isinstance(module, nn.LayerNorm):
343
+ module.bias.data.zero_()
344
+ module.weight.data.fill_(1.0)
345
+
346
+ def _set_gradient_checkpointing(self, module: nn.Module, value=False):
347
+ if isinstance(module, StableLMEpochModel):
348
+ module.gradient_checkpointing = value
349
+
350
+
351
+ class StableLMEpochModel(StableLMEpochPreTrainedModel):
352
+ def __init__(self, config: StableLMEpochConfig):
353
+ super().__init__(config)
354
+ self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, config.pad_token_id)
355
+ self.layers = nn.ModuleList([DecoderLayer(config) for _ in range(config.num_hidden_layers)])
356
+ self.norm = nn.LayerNorm(config.hidden_size, eps=config.norm_eps)
357
+
358
+ self.gradient_checkpointing = False
359
+ # Initialize weights and apply final processing
360
+ self.post_init()
361
+
362
+ def get_input_embeddings(self):
363
+ return self.embed_tokens
364
+
365
+ def set_input_embeddings(self, value: nn.Module):
366
+ self.embed_tokens = value
367
+
368
+ # Copied from transformers.models.bart.modeling_bart.BartDecoder._prepare_decoder_attention_mask
369
+ def _prepare_decoder_attention_mask(
370
+ self,
371
+ attention_mask: torch.Tensor,
372
+ input_shape: torch.Size,
373
+ inputs_embeds: torch.Tensor,
374
+ past_key_values_length: int,
375
+ ):
376
+ # Create causal mask
377
+ # [batch_size, seq_len] -> [batch_size, 1, tgt_seq_len, src_seq_len]
378
+ combined_attention_mask = None
379
+ if input_shape[-1] > 1:
380
+ combined_attention_mask = _make_causal_mask(
381
+ input_shape,
382
+ inputs_embeds.dtype,
383
+ device=inputs_embeds.device,
384
+ past_key_values_length=past_key_values_length,
385
+ )
386
+
387
+ if attention_mask is not None:
388
+ # [batch_size, seq_len] -> [batch_size, 1, tgt_seq_len, src_seq_len]
389
+ expanded_attn_mask = _expand_mask(
390
+ attention_mask, inputs_embeds.dtype, tgt_len=input_shape[-1]
391
+ ).to(inputs_embeds.device)
392
+ combined_attention_mask = expanded_attn_mask if combined_attention_mask is None else expanded_attn_mask + combined_attention_mask
393
+
394
+ return combined_attention_mask
395
+
396
+ def forward(
397
+ self,
398
+ input_ids: Optional[torch.LongTensor] = None,
399
+ attention_mask: Optional[torch.FloatTensor] = None,
400
+ position_ids: Optional[torch.LongTensor] = None,
401
+ past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None,
402
+ inputs_embeds: Optional[torch.FloatTensor] = None,
403
+ use_cache: Optional[bool] = None,
404
+ output_attentions: Optional[bool] = None,
405
+ output_hidden_states: Optional[bool] = None,
406
+ return_dict: Optional[bool] = None,
407
+ ) -> Union[Tuple, BaseModelOutputWithPast]:
408
+ output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions
409
+ output_hidden_states = output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states
410
+ use_cache = use_cache if use_cache is not None else self.config.use_cache
411
+
412
+ return_dict = return_dict if return_dict is not None else self.config.use_return_dict
413
+
414
+ # Retrieve input_ids and inputs_embeds
415
+ if input_ids is not None and inputs_embeds is not None:
416
+ raise ValueError(
417
+ "You cannot specify both decoder_input_ids and decoder_inputs_embeds at the same time"
418
+ )
419
+ elif input_ids is not None:
420
+ batch_size, seq_length = input_ids.shape
421
+ elif inputs_embeds is not None:
422
+ batch_size, seq_length, _ = inputs_embeds.shape
423
+ else:
424
+ raise ValueError(
425
+ "You have to specify either decoder_input_ids or decoder_inputs_embeds"
426
+ )
427
+
428
+ seq_length_with_past = seq_length
429
+ past_key_values_length = 0
430
+
431
+ if past_key_values is not None:
432
+ past_key_values_length = past_key_values[0][0].shape[2]
433
+ seq_length_with_past = seq_length_with_past + past_key_values_length
434
+
435
+ if position_ids is None:
436
+ device = input_ids.device if input_ids is not None else inputs_embeds.device
437
+ position_ids = torch.arange(
438
+ past_key_values_length,
439
+ seq_length + past_key_values_length,
440
+ dtype=torch.long,
441
+ device=device,
442
+ )
443
+ position_ids = position_ids.unsqueeze(0).view(-1, seq_length)
444
+ else:
445
+ position_ids = position_ids.view(-1, seq_length).long()
446
+
447
+ if inputs_embeds is None:
448
+ inputs_embeds = self.embed_tokens(input_ids)
449
+ # Embed positions
450
+ if attention_mask is None:
451
+ attention_mask = torch.ones(
452
+ (batch_size, seq_length_with_past),
453
+ dtype=torch.bool,
454
+ device=inputs_embeds.device,
455
+ )
456
+ attention_mask = self._prepare_decoder_attention_mask(
457
+ attention_mask,
458
+ (batch_size, seq_length),
459
+ inputs_embeds,
460
+ past_key_values_length,
461
+ )
462
+
463
+ hidden_states = inputs_embeds
464
+
465
+ if self.gradient_checkpointing and self.training:
466
+ if use_cache:
467
+ logger.warning(
468
+ "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`..."
469
+ )
470
+ use_cache = False
471
+
472
+ # Decoder layers
473
+ all_hidden_states = () if output_hidden_states else None
474
+ all_self_attns = () if output_attentions else None
475
+ next_decoder_cache = () if use_cache else None
476
+
477
+ for idx, decoder_layer in enumerate(self.layers):
478
+ if output_hidden_states:
479
+ all_hidden_states += (hidden_states,)
480
+
481
+ past_key_value = (
482
+ past_key_values[idx] if past_key_values is not None else None
483
+ )
484
+
485
+ if self.gradient_checkpointing and self.training:
486
+
487
+ def create_custom_forward(module):
488
+ def custom_forward(*inputs):
489
+ # None for past_key_value
490
+ return module(*inputs, past_key_value, output_attentions)
491
+
492
+ return custom_forward
493
+
494
+ layer_outputs = torch.utils.checkpoint.checkpoint(
495
+ create_custom_forward(decoder_layer),
496
+ hidden_states,
497
+ attention_mask,
498
+ position_ids,
499
+ )
500
+ else:
501
+ layer_outputs = decoder_layer(
502
+ hidden_states,
503
+ attention_mask=attention_mask,
504
+ position_ids=position_ids,
505
+ past_key_value=past_key_value,
506
+ output_attentions=output_attentions,
507
+ use_cache=use_cache,
508
+ )
509
+
510
+ hidden_states = layer_outputs[0]
511
+
512
+ if use_cache:
513
+ next_decoder_cache += (layer_outputs[2 if output_attentions else 1],)
514
+
515
+ if output_attentions:
516
+ all_self_attns += (layer_outputs[1],)
517
+
518
+ hidden_states = self.norm(hidden_states)
519
+
520
+ # Add hidden states from the last decoder layer
521
+ if output_hidden_states:
522
+ all_hidden_states += (hidden_states,)
523
+
524
+ next_cache = next_decoder_cache if use_cache else None
525
+ if not return_dict:
526
+ return tuple(
527
+ v
528
+ for v in [hidden_states, next_cache, all_hidden_states, all_self_attns]
529
+ if v is not None
530
+ )
531
+ return BaseModelOutputWithPast(
532
+ last_hidden_state=hidden_states,
533
+ past_key_values=next_cache,
534
+ hidden_states=all_hidden_states,
535
+ attentions=all_self_attns,
536
+ )
537
+
538
+
539
+ class StableLMEpochForCausalLM(StableLMEpochPreTrainedModel):
540
+ _tied_weights_keys = ["lm_head.weight"]
541
+
542
+ def __init__(self, config: StableLMEpochConfig):
543
+ super().__init__(config)
544
+
545
+ self.model = StableLMEpochModel(config)
546
+ self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False)
547
+
548
+ # Initialize weights and apply final processing
549
+ self.post_init()
550
+
551
+ def get_input_embeddings(self):
552
+ return self.model.embed_tokens
553
+
554
+ def set_input_embeddings(self, value):
555
+ self.model.embed_tokens = value
556
+
557
+ def get_output_embeddings(self):
558
+ return self.lm_head
559
+
560
+ def set_output_embeddings(self, new_embeddings: nn.Module):
561
+ self.lm_head = new_embeddings
562
+
563
+ def get_decoder(self):
564
+ return self.model
565
+
566
+ def set_decoder(self, decoder):
567
+ self.model = decoder
568
+
569
+ def forward(
570
+ self,
571
+ input_ids: Optional[torch.LongTensor] = None,
572
+ attention_mask: Optional[torch.FloatTensor] = None,
573
+ position_ids: Optional[torch.LongTensor] = None,
574
+ past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None,
575
+ inputs_embeds: Optional[torch.FloatTensor] = None,
576
+ labels: Optional[torch.LongTensor] = None,
577
+ use_cache: Optional[bool] = None,
578
+ output_attentions: Optional[bool] = None,
579
+ output_hidden_states: Optional[bool] = None,
580
+ return_dict: Optional[bool] = None,
581
+ ) -> Union[Tuple, CausalLMOutputWithPast]:
582
+ output_attentions = (
583
+ output_attentions
584
+ if output_attentions is not None
585
+ else self.config.output_attentions
586
+ )
587
+ output_hidden_states = (
588
+ output_hidden_states
589
+ if output_hidden_states is not None
590
+ else self.config.output_hidden_states
591
+ )
592
+ return_dict = (
593
+ return_dict if return_dict is not None else self.config.use_return_dict
594
+ )
595
+
596
+ # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn)
597
+ outputs = self.model(
598
+ input_ids,
599
+ attention_mask=attention_mask,
600
+ position_ids=position_ids,
601
+ past_key_values=past_key_values,
602
+ inputs_embeds=inputs_embeds,
603
+ use_cache=use_cache,
604
+ output_attentions=output_attentions,
605
+ output_hidden_states=output_hidden_states,
606
+ return_dict=return_dict,
607
+ )
608
+
609
+ hidden_states = outputs[0]
610
+ logits = self.lm_head(hidden_states).float()
611
+
612
+ loss = None
613
+ if labels is not None:
614
+ # Shift so that tokens < n predict n
615
+ shift_logits = logits[..., :-1, :].contiguous()
616
+ shift_labels = labels[..., 1:].contiguous()
617
+ # Flatten the tokens
618
+ loss_fct = CrossEntropyLoss()
619
+ shift_logits = shift_logits.view(-1, self.config.vocab_size)
620
+ shift_labels = shift_labels.view(-1)
621
+ # Enable model parallelism
622
+ shift_labels = shift_labels.to(shift_logits.device)
623
+ loss = loss_fct(shift_logits, shift_labels)
624
+
625
+ if not return_dict:
626
+ output = (logits,) + outputs[1:]
627
+ return (loss,) + output if loss is not None else output
628
+
629
+ return CausalLMOutputWithPast(
630
+ loss=loss,
631
+ logits=logits,
632
+ past_key_values=outputs.past_key_values,
633
+ hidden_states=outputs.hidden_states,
634
+ attentions=outputs.attentions,
635
+ )
636
+
637
+ def prepare_inputs_for_generation(
638
+ self,
639
+ input_ids,
640
+ past_key_values: Optional[torch.Tensor] = None,
641
+ attention_mask: Optional[torch.Tensor] = None,
642
+ inputs_embeds: Optional[torch.Tensor] = None,
643
+ **kwargs,
644
+ ):
645
+ # Trim decoder_input_ids if past is used
646
+ if past_key_values and past_key_values[0] is not None:
647
+ input_ids = input_ids[:, -1:]
648
+
649
+ position_ids = kwargs.get("position_ids", None)
650
+ if attention_mask is not None and position_ids is None:
651
+ # Create position_ids on the fly for batch generation
652
+ position_ids = attention_mask.long().cumsum(-1) - 1
653
+ position_ids.masked_fill_(attention_mask == 0, 1)
654
+ if past_key_values:
655
+ position_ids = position_ids[:, -1].unsqueeze(-1)
656
+
657
+ # If `inputs_embeds` are passed, we only want to use them in the 1st generation step
658
+ if inputs_embeds is not None and past_key_values is None:
659
+ model_inputs = {"inputs_embeds": inputs_embeds}
660
+ else:
661
+ model_inputs = {"input_ids": input_ids}
662
+
663
+ model_inputs.update(
664
+ {
665
+ "attention_mask": attention_mask,
666
+ "past_key_values": past_key_values,
667
+ "use_cache": kwargs.get("use_cache"),
668
+ "position_ids": position_ids,
669
+ }
670
+ )
671
+ return model_inputs
672
+
673
+ @staticmethod
674
+ def _reorder_cache(past_key_values, beam_idx):
675
+ reordered_past = ()
676
+ for layer_past in past_key_values:
677
+ reordered_past += (
678
+ tuple(
679
+ past_state.index_select(0, beam_idx.to(past_state.device))
680
+ for past_state in layer_past
681
+ ),
682
+ )
683
+ return reordered_past
684
+
685
+
686
+ StableLMEpochConfig.register_for_auto_class()
687
+ StableLMEpochForCausalLM.register_for_auto_class("AutoModelForCausalLM")
checkpoint-763/optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4ec9eeb238895d7117b73340b1d702cf05fb3c7cf1b17f0a191c6162bc12e226
3
+ size 12213648093
checkpoint-763/pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:828c2f2c0047a5da1df719f8a4b3a107cd5576ab0e26b3428c6ad2dc85173766
3
+ size 6106785781
checkpoint-763/rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c6869750f95a25c4e970298a33adf90e2d7ab52680bf3317239bff1b10103235
3
+ size 14575
checkpoint-763/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e131988c613ca08947220b6fc96c0cca14f03e41478d45f3eaa22fd86b322ee3
3
+ size 627
checkpoint-763/trainer_state.json ADDED
@@ -0,0 +1,4597 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_metric": null,
3
+ "best_model_checkpoint": null,
4
+ "epoch": 2.0182835197862747,
5
+ "eval_steps": 500,
6
+ "global_step": 763,
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.0,
13
+ "learning_rate": 2e-08,
14
+ "loss": 1.1427,
15
+ "step": 1
16
+ },
17
+ {
18
+ "epoch": 0.01,
19
+ "learning_rate": 4e-08,
20
+ "loss": 1.1555,
21
+ "step": 2
22
+ },
23
+ {
24
+ "epoch": 0.01,
25
+ "learning_rate": 6.000000000000001e-08,
26
+ "loss": 1.1633,
27
+ "step": 3
28
+ },
29
+ {
30
+ "epoch": 0.01,
31
+ "learning_rate": 8e-08,
32
+ "loss": 1.1405,
33
+ "step": 4
34
+ },
35
+ {
36
+ "epoch": 0.01,
37
+ "learning_rate": 1e-07,
38
+ "loss": 1.1607,
39
+ "step": 5
40
+ },
41
+ {
42
+ "epoch": 0.02,
43
+ "learning_rate": 1.2000000000000002e-07,
44
+ "loss": 1.1587,
45
+ "step": 6
46
+ },
47
+ {
48
+ "epoch": 0.02,
49
+ "learning_rate": 1.4e-07,
50
+ "loss": 1.1463,
51
+ "step": 7
52
+ },
53
+ {
54
+ "epoch": 0.02,
55
+ "learning_rate": 1.6e-07,
56
+ "loss": 1.1764,
57
+ "step": 8
58
+ },
59
+ {
60
+ "epoch": 0.02,
61
+ "learning_rate": 1.8e-07,
62
+ "loss": 1.1509,
63
+ "step": 9
64
+ },
65
+ {
66
+ "epoch": 0.03,
67
+ "learning_rate": 2e-07,
68
+ "loss": 1.1516,
69
+ "step": 10
70
+ },
71
+ {
72
+ "epoch": 0.03,
73
+ "learning_rate": 2.2e-07,
74
+ "loss": 1.1589,
75
+ "step": 11
76
+ },
77
+ {
78
+ "epoch": 0.03,
79
+ "learning_rate": 2.4000000000000003e-07,
80
+ "loss": 1.1416,
81
+ "step": 12
82
+ },
83
+ {
84
+ "epoch": 0.03,
85
+ "learning_rate": 2.6e-07,
86
+ "loss": 1.1474,
87
+ "step": 13
88
+ },
89
+ {
90
+ "epoch": 0.04,
91
+ "learning_rate": 2.8e-07,
92
+ "loss": 1.1785,
93
+ "step": 14
94
+ },
95
+ {
96
+ "epoch": 0.04,
97
+ "learning_rate": 3e-07,
98
+ "loss": 1.1259,
99
+ "step": 15
100
+ },
101
+ {
102
+ "epoch": 0.04,
103
+ "learning_rate": 3.2e-07,
104
+ "loss": 1.1578,
105
+ "step": 16
106
+ },
107
+ {
108
+ "epoch": 0.05,
109
+ "learning_rate": 3.4e-07,
110
+ "loss": 1.1406,
111
+ "step": 17
112
+ },
113
+ {
114
+ "epoch": 0.05,
115
+ "learning_rate": 3.6e-07,
116
+ "loss": 1.1533,
117
+ "step": 18
118
+ },
119
+ {
120
+ "epoch": 0.05,
121
+ "learning_rate": 3.7999999999999996e-07,
122
+ "loss": 1.1593,
123
+ "step": 19
124
+ },
125
+ {
126
+ "epoch": 0.05,
127
+ "learning_rate": 4e-07,
128
+ "loss": 1.1401,
129
+ "step": 20
130
+ },
131
+ {
132
+ "epoch": 0.06,
133
+ "learning_rate": 4.2e-07,
134
+ "loss": 1.1595,
135
+ "step": 21
136
+ },
137
+ {
138
+ "epoch": 0.06,
139
+ "learning_rate": 4.4e-07,
140
+ "loss": 1.1482,
141
+ "step": 22
142
+ },
143
+ {
144
+ "epoch": 0.06,
145
+ "learning_rate": 4.6e-07,
146
+ "loss": 1.1682,
147
+ "step": 23
148
+ },
149
+ {
150
+ "epoch": 0.06,
151
+ "learning_rate": 4.800000000000001e-07,
152
+ "loss": 1.1453,
153
+ "step": 24
154
+ },
155
+ {
156
+ "epoch": 0.07,
157
+ "learning_rate": 5e-07,
158
+ "loss": 1.1329,
159
+ "step": 25
160
+ },
161
+ {
162
+ "epoch": 0.07,
163
+ "learning_rate": 5.2e-07,
164
+ "loss": 1.1488,
165
+ "step": 26
166
+ },
167
+ {
168
+ "epoch": 0.07,
169
+ "learning_rate": 5.399999999999999e-07,
170
+ "loss": 1.1528,
171
+ "step": 27
172
+ },
173
+ {
174
+ "epoch": 0.07,
175
+ "learning_rate": 5.6e-07,
176
+ "loss": 1.1463,
177
+ "step": 28
178
+ },
179
+ {
180
+ "epoch": 0.08,
181
+ "learning_rate": 5.8e-07,
182
+ "loss": 1.1445,
183
+ "step": 29
184
+ },
185
+ {
186
+ "epoch": 0.08,
187
+ "learning_rate": 6e-07,
188
+ "loss": 1.1578,
189
+ "step": 30
190
+ },
191
+ {
192
+ "epoch": 0.08,
193
+ "learning_rate": 6.2e-07,
194
+ "loss": 1.1523,
195
+ "step": 31
196
+ },
197
+ {
198
+ "epoch": 0.09,
199
+ "learning_rate": 6.4e-07,
200
+ "loss": 1.1547,
201
+ "step": 32
202
+ },
203
+ {
204
+ "epoch": 0.09,
205
+ "learning_rate": 6.6e-07,
206
+ "loss": 1.1309,
207
+ "step": 33
208
+ },
209
+ {
210
+ "epoch": 0.09,
211
+ "learning_rate": 6.8e-07,
212
+ "loss": 1.1249,
213
+ "step": 34
214
+ },
215
+ {
216
+ "epoch": 0.09,
217
+ "learning_rate": 7.000000000000001e-07,
218
+ "loss": 1.1774,
219
+ "step": 35
220
+ },
221
+ {
222
+ "epoch": 0.1,
223
+ "learning_rate": 7.2e-07,
224
+ "loss": 1.124,
225
+ "step": 36
226
+ },
227
+ {
228
+ "epoch": 0.1,
229
+ "learning_rate": 7.4e-07,
230
+ "loss": 1.1485,
231
+ "step": 37
232
+ },
233
+ {
234
+ "epoch": 0.1,
235
+ "learning_rate": 7.599999999999999e-07,
236
+ "loss": 1.1442,
237
+ "step": 38
238
+ },
239
+ {
240
+ "epoch": 0.1,
241
+ "learning_rate": 7.8e-07,
242
+ "loss": 1.1106,
243
+ "step": 39
244
+ },
245
+ {
246
+ "epoch": 0.11,
247
+ "learning_rate": 8e-07,
248
+ "loss": 1.1494,
249
+ "step": 40
250
+ },
251
+ {
252
+ "epoch": 0.11,
253
+ "learning_rate": 8.2e-07,
254
+ "loss": 1.1084,
255
+ "step": 41
256
+ },
257
+ {
258
+ "epoch": 0.11,
259
+ "learning_rate": 8.4e-07,
260
+ "loss": 1.1244,
261
+ "step": 42
262
+ },
263
+ {
264
+ "epoch": 0.11,
265
+ "learning_rate": 8.6e-07,
266
+ "loss": 1.1482,
267
+ "step": 43
268
+ },
269
+ {
270
+ "epoch": 0.12,
271
+ "learning_rate": 8.8e-07,
272
+ "loss": 1.1164,
273
+ "step": 44
274
+ },
275
+ {
276
+ "epoch": 0.12,
277
+ "learning_rate": 8.999999999999999e-07,
278
+ "loss": 1.1382,
279
+ "step": 45
280
+ },
281
+ {
282
+ "epoch": 0.12,
283
+ "learning_rate": 9.2e-07,
284
+ "loss": 1.131,
285
+ "step": 46
286
+ },
287
+ {
288
+ "epoch": 0.13,
289
+ "learning_rate": 9.4e-07,
290
+ "loss": 1.1241,
291
+ "step": 47
292
+ },
293
+ {
294
+ "epoch": 0.13,
295
+ "learning_rate": 9.600000000000001e-07,
296
+ "loss": 1.1159,
297
+ "step": 48
298
+ },
299
+ {
300
+ "epoch": 0.13,
301
+ "learning_rate": 9.800000000000001e-07,
302
+ "loss": 1.1291,
303
+ "step": 49
304
+ },
305
+ {
306
+ "epoch": 0.13,
307
+ "learning_rate": 1e-06,
308
+ "loss": 1.1361,
309
+ "step": 50
310
+ },
311
+ {
312
+ "epoch": 0.14,
313
+ "learning_rate": 1.02e-06,
314
+ "loss": 1.126,
315
+ "step": 51
316
+ },
317
+ {
318
+ "epoch": 0.14,
319
+ "learning_rate": 1.04e-06,
320
+ "loss": 1.1184,
321
+ "step": 52
322
+ },
323
+ {
324
+ "epoch": 0.14,
325
+ "learning_rate": 1.06e-06,
326
+ "loss": 1.1193,
327
+ "step": 53
328
+ },
329
+ {
330
+ "epoch": 0.14,
331
+ "learning_rate": 1.0799999999999998e-06,
332
+ "loss": 1.1187,
333
+ "step": 54
334
+ },
335
+ {
336
+ "epoch": 0.15,
337
+ "learning_rate": 1.1e-06,
338
+ "loss": 1.1145,
339
+ "step": 55
340
+ },
341
+ {
342
+ "epoch": 0.15,
343
+ "learning_rate": 1.12e-06,
344
+ "loss": 1.1019,
345
+ "step": 56
346
+ },
347
+ {
348
+ "epoch": 0.15,
349
+ "learning_rate": 1.14e-06,
350
+ "loss": 1.1157,
351
+ "step": 57
352
+ },
353
+ {
354
+ "epoch": 0.15,
355
+ "learning_rate": 1.16e-06,
356
+ "loss": 1.1024,
357
+ "step": 58
358
+ },
359
+ {
360
+ "epoch": 0.16,
361
+ "learning_rate": 1.18e-06,
362
+ "loss": 1.098,
363
+ "step": 59
364
+ },
365
+ {
366
+ "epoch": 0.16,
367
+ "learning_rate": 1.2e-06,
368
+ "loss": 1.0946,
369
+ "step": 60
370
+ },
371
+ {
372
+ "epoch": 0.16,
373
+ "learning_rate": 1.22e-06,
374
+ "loss": 1.0818,
375
+ "step": 61
376
+ },
377
+ {
378
+ "epoch": 0.17,
379
+ "learning_rate": 1.24e-06,
380
+ "loss": 1.121,
381
+ "step": 62
382
+ },
383
+ {
384
+ "epoch": 0.17,
385
+ "learning_rate": 1.26e-06,
386
+ "loss": 1.09,
387
+ "step": 63
388
+ },
389
+ {
390
+ "epoch": 0.17,
391
+ "learning_rate": 1.28e-06,
392
+ "loss": 1.0958,
393
+ "step": 64
394
+ },
395
+ {
396
+ "epoch": 0.17,
397
+ "learning_rate": 1.3e-06,
398
+ "loss": 1.0888,
399
+ "step": 65
400
+ },
401
+ {
402
+ "epoch": 0.18,
403
+ "learning_rate": 1.32e-06,
404
+ "loss": 1.0793,
405
+ "step": 66
406
+ },
407
+ {
408
+ "epoch": 0.18,
409
+ "learning_rate": 1.3399999999999999e-06,
410
+ "loss": 1.0929,
411
+ "step": 67
412
+ },
413
+ {
414
+ "epoch": 0.18,
415
+ "learning_rate": 1.36e-06,
416
+ "loss": 1.0685,
417
+ "step": 68
418
+ },
419
+ {
420
+ "epoch": 0.18,
421
+ "learning_rate": 1.38e-06,
422
+ "loss": 1.0888,
423
+ "step": 69
424
+ },
425
+ {
426
+ "epoch": 0.19,
427
+ "learning_rate": 1.4000000000000001e-06,
428
+ "loss": 1.0688,
429
+ "step": 70
430
+ },
431
+ {
432
+ "epoch": 0.19,
433
+ "learning_rate": 1.42e-06,
434
+ "loss": 1.0627,
435
+ "step": 71
436
+ },
437
+ {
438
+ "epoch": 0.19,
439
+ "learning_rate": 1.44e-06,
440
+ "loss": 1.0627,
441
+ "step": 72
442
+ },
443
+ {
444
+ "epoch": 0.2,
445
+ "learning_rate": 1.46e-06,
446
+ "loss": 1.0858,
447
+ "step": 73
448
+ },
449
+ {
450
+ "epoch": 0.2,
451
+ "learning_rate": 1.48e-06,
452
+ "loss": 1.0517,
453
+ "step": 74
454
+ },
455
+ {
456
+ "epoch": 0.2,
457
+ "learning_rate": 1.4999999999999998e-06,
458
+ "loss": 1.0626,
459
+ "step": 75
460
+ },
461
+ {
462
+ "epoch": 0.2,
463
+ "learning_rate": 1.5199999999999998e-06,
464
+ "loss": 1.0708,
465
+ "step": 76
466
+ },
467
+ {
468
+ "epoch": 0.21,
469
+ "learning_rate": 1.54e-06,
470
+ "loss": 1.0391,
471
+ "step": 77
472
+ },
473
+ {
474
+ "epoch": 0.21,
475
+ "learning_rate": 1.56e-06,
476
+ "loss": 1.0436,
477
+ "step": 78
478
+ },
479
+ {
480
+ "epoch": 0.21,
481
+ "learning_rate": 1.58e-06,
482
+ "loss": 1.0396,
483
+ "step": 79
484
+ },
485
+ {
486
+ "epoch": 0.21,
487
+ "learning_rate": 1.6e-06,
488
+ "loss": 1.0334,
489
+ "step": 80
490
+ },
491
+ {
492
+ "epoch": 0.22,
493
+ "learning_rate": 1.62e-06,
494
+ "loss": 1.0291,
495
+ "step": 81
496
+ },
497
+ {
498
+ "epoch": 0.22,
499
+ "learning_rate": 1.64e-06,
500
+ "loss": 1.0421,
501
+ "step": 82
502
+ },
503
+ {
504
+ "epoch": 0.22,
505
+ "learning_rate": 1.66e-06,
506
+ "loss": 1.0493,
507
+ "step": 83
508
+ },
509
+ {
510
+ "epoch": 0.22,
511
+ "learning_rate": 1.68e-06,
512
+ "loss": 1.0293,
513
+ "step": 84
514
+ },
515
+ {
516
+ "epoch": 0.23,
517
+ "learning_rate": 1.7e-06,
518
+ "loss": 1.0766,
519
+ "step": 85
520
+ },
521
+ {
522
+ "epoch": 0.23,
523
+ "learning_rate": 1.72e-06,
524
+ "loss": 1.058,
525
+ "step": 86
526
+ },
527
+ {
528
+ "epoch": 0.23,
529
+ "learning_rate": 1.74e-06,
530
+ "loss": 1.0244,
531
+ "step": 87
532
+ },
533
+ {
534
+ "epoch": 0.24,
535
+ "learning_rate": 1.76e-06,
536
+ "loss": 1.0399,
537
+ "step": 88
538
+ },
539
+ {
540
+ "epoch": 0.24,
541
+ "learning_rate": 1.78e-06,
542
+ "loss": 1.0272,
543
+ "step": 89
544
+ },
545
+ {
546
+ "epoch": 0.24,
547
+ "learning_rate": 1.7999999999999997e-06,
548
+ "loss": 1.029,
549
+ "step": 90
550
+ },
551
+ {
552
+ "epoch": 0.24,
553
+ "learning_rate": 1.82e-06,
554
+ "loss": 1.0477,
555
+ "step": 91
556
+ },
557
+ {
558
+ "epoch": 0.25,
559
+ "learning_rate": 1.84e-06,
560
+ "loss": 1.0166,
561
+ "step": 92
562
+ },
563
+ {
564
+ "epoch": 0.25,
565
+ "learning_rate": 1.8600000000000002e-06,
566
+ "loss": 1.0309,
567
+ "step": 93
568
+ },
569
+ {
570
+ "epoch": 0.25,
571
+ "learning_rate": 1.88e-06,
572
+ "loss": 1.0135,
573
+ "step": 94
574
+ },
575
+ {
576
+ "epoch": 0.25,
577
+ "learning_rate": 1.8999999999999998e-06,
578
+ "loss": 1.0226,
579
+ "step": 95
580
+ },
581
+ {
582
+ "epoch": 0.26,
583
+ "learning_rate": 1.9200000000000003e-06,
584
+ "loss": 1.0402,
585
+ "step": 96
586
+ },
587
+ {
588
+ "epoch": 0.26,
589
+ "learning_rate": 1.94e-06,
590
+ "loss": 1.0252,
591
+ "step": 97
592
+ },
593
+ {
594
+ "epoch": 0.26,
595
+ "learning_rate": 1.9600000000000003e-06,
596
+ "loss": 1.0064,
597
+ "step": 98
598
+ },
599
+ {
600
+ "epoch": 0.26,
601
+ "learning_rate": 1.98e-06,
602
+ "loss": 0.9967,
603
+ "step": 99
604
+ },
605
+ {
606
+ "epoch": 0.27,
607
+ "learning_rate": 2e-06,
608
+ "loss": 1.0094,
609
+ "step": 100
610
+ },
611
+ {
612
+ "epoch": 0.27,
613
+ "learning_rate": 2.02e-06,
614
+ "loss": 0.9938,
615
+ "step": 101
616
+ },
617
+ {
618
+ "epoch": 0.27,
619
+ "learning_rate": 2.04e-06,
620
+ "loss": 1.0199,
621
+ "step": 102
622
+ },
623
+ {
624
+ "epoch": 0.28,
625
+ "learning_rate": 2.0599999999999998e-06,
626
+ "loss": 1.005,
627
+ "step": 103
628
+ },
629
+ {
630
+ "epoch": 0.28,
631
+ "learning_rate": 2.08e-06,
632
+ "loss": 1.0016,
633
+ "step": 104
634
+ },
635
+ {
636
+ "epoch": 0.28,
637
+ "learning_rate": 2.1e-06,
638
+ "loss": 1.0169,
639
+ "step": 105
640
+ },
641
+ {
642
+ "epoch": 0.28,
643
+ "learning_rate": 2.12e-06,
644
+ "loss": 0.978,
645
+ "step": 106
646
+ },
647
+ {
648
+ "epoch": 0.29,
649
+ "learning_rate": 2.14e-06,
650
+ "loss": 0.9787,
651
+ "step": 107
652
+ },
653
+ {
654
+ "epoch": 0.29,
655
+ "learning_rate": 2.1599999999999996e-06,
656
+ "loss": 0.9992,
657
+ "step": 108
658
+ },
659
+ {
660
+ "epoch": 0.29,
661
+ "learning_rate": 2.18e-06,
662
+ "loss": 0.985,
663
+ "step": 109
664
+ },
665
+ {
666
+ "epoch": 0.29,
667
+ "learning_rate": 2.2e-06,
668
+ "loss": 0.9832,
669
+ "step": 110
670
+ },
671
+ {
672
+ "epoch": 0.3,
673
+ "learning_rate": 2.22e-06,
674
+ "loss": 0.9922,
675
+ "step": 111
676
+ },
677
+ {
678
+ "epoch": 0.3,
679
+ "learning_rate": 2.24e-06,
680
+ "loss": 0.9882,
681
+ "step": 112
682
+ },
683
+ {
684
+ "epoch": 0.3,
685
+ "learning_rate": 2.26e-06,
686
+ "loss": 0.979,
687
+ "step": 113
688
+ },
689
+ {
690
+ "epoch": 0.3,
691
+ "learning_rate": 2.28e-06,
692
+ "loss": 0.9866,
693
+ "step": 114
694
+ },
695
+ {
696
+ "epoch": 0.31,
697
+ "learning_rate": 2.3e-06,
698
+ "loss": 0.97,
699
+ "step": 115
700
+ },
701
+ {
702
+ "epoch": 0.31,
703
+ "learning_rate": 2.32e-06,
704
+ "loss": 1.0042,
705
+ "step": 116
706
+ },
707
+ {
708
+ "epoch": 0.31,
709
+ "learning_rate": 2.34e-06,
710
+ "loss": 0.9778,
711
+ "step": 117
712
+ },
713
+ {
714
+ "epoch": 0.32,
715
+ "learning_rate": 2.36e-06,
716
+ "loss": 0.9906,
717
+ "step": 118
718
+ },
719
+ {
720
+ "epoch": 0.32,
721
+ "learning_rate": 2.38e-06,
722
+ "loss": 0.9547,
723
+ "step": 119
724
+ },
725
+ {
726
+ "epoch": 0.32,
727
+ "learning_rate": 2.4e-06,
728
+ "loss": 0.9792,
729
+ "step": 120
730
+ },
731
+ {
732
+ "epoch": 0.32,
733
+ "learning_rate": 2.4199999999999997e-06,
734
+ "loss": 0.964,
735
+ "step": 121
736
+ },
737
+ {
738
+ "epoch": 0.33,
739
+ "learning_rate": 2.44e-06,
740
+ "loss": 0.9797,
741
+ "step": 122
742
+ },
743
+ {
744
+ "epoch": 0.33,
745
+ "learning_rate": 2.4599999999999997e-06,
746
+ "loss": 0.9576,
747
+ "step": 123
748
+ },
749
+ {
750
+ "epoch": 0.33,
751
+ "learning_rate": 2.48e-06,
752
+ "loss": 0.9795,
753
+ "step": 124
754
+ },
755
+ {
756
+ "epoch": 0.33,
757
+ "learning_rate": 2.5e-06,
758
+ "loss": 0.9619,
759
+ "step": 125
760
+ },
761
+ {
762
+ "epoch": 0.34,
763
+ "learning_rate": 2.52e-06,
764
+ "loss": 0.9756,
765
+ "step": 126
766
+ },
767
+ {
768
+ "epoch": 0.34,
769
+ "learning_rate": 2.5400000000000002e-06,
770
+ "loss": 0.9678,
771
+ "step": 127
772
+ },
773
+ {
774
+ "epoch": 0.34,
775
+ "learning_rate": 2.56e-06,
776
+ "loss": 0.973,
777
+ "step": 128
778
+ },
779
+ {
780
+ "epoch": 0.34,
781
+ "learning_rate": 2.58e-06,
782
+ "loss": 0.9581,
783
+ "step": 129
784
+ },
785
+ {
786
+ "epoch": 0.35,
787
+ "learning_rate": 2.6e-06,
788
+ "loss": 0.9559,
789
+ "step": 130
790
+ },
791
+ {
792
+ "epoch": 0.35,
793
+ "learning_rate": 2.62e-06,
794
+ "loss": 0.9623,
795
+ "step": 131
796
+ },
797
+ {
798
+ "epoch": 0.35,
799
+ "learning_rate": 2.64e-06,
800
+ "loss": 0.9608,
801
+ "step": 132
802
+ },
803
+ {
804
+ "epoch": 0.36,
805
+ "learning_rate": 2.66e-06,
806
+ "loss": 0.9599,
807
+ "step": 133
808
+ },
809
+ {
810
+ "epoch": 0.36,
811
+ "learning_rate": 2.6799999999999998e-06,
812
+ "loss": 0.9481,
813
+ "step": 134
814
+ },
815
+ {
816
+ "epoch": 0.36,
817
+ "learning_rate": 2.7e-06,
818
+ "loss": 0.951,
819
+ "step": 135
820
+ },
821
+ {
822
+ "epoch": 0.36,
823
+ "learning_rate": 2.72e-06,
824
+ "loss": 0.9553,
825
+ "step": 136
826
+ },
827
+ {
828
+ "epoch": 0.37,
829
+ "learning_rate": 2.7399999999999996e-06,
830
+ "loss": 0.9471,
831
+ "step": 137
832
+ },
833
+ {
834
+ "epoch": 0.37,
835
+ "learning_rate": 2.76e-06,
836
+ "loss": 0.9228,
837
+ "step": 138
838
+ },
839
+ {
840
+ "epoch": 0.37,
841
+ "learning_rate": 2.78e-06,
842
+ "loss": 0.9411,
843
+ "step": 139
844
+ },
845
+ {
846
+ "epoch": 0.37,
847
+ "learning_rate": 2.8000000000000003e-06,
848
+ "loss": 0.9541,
849
+ "step": 140
850
+ },
851
+ {
852
+ "epoch": 0.38,
853
+ "learning_rate": 2.82e-06,
854
+ "loss": 0.9318,
855
+ "step": 141
856
+ },
857
+ {
858
+ "epoch": 0.38,
859
+ "learning_rate": 2.84e-06,
860
+ "loss": 0.9113,
861
+ "step": 142
862
+ },
863
+ {
864
+ "epoch": 0.38,
865
+ "learning_rate": 2.86e-06,
866
+ "loss": 0.9316,
867
+ "step": 143
868
+ },
869
+ {
870
+ "epoch": 0.38,
871
+ "learning_rate": 2.88e-06,
872
+ "loss": 0.9326,
873
+ "step": 144
874
+ },
875
+ {
876
+ "epoch": 0.39,
877
+ "learning_rate": 2.9e-06,
878
+ "loss": 0.9471,
879
+ "step": 145
880
+ },
881
+ {
882
+ "epoch": 0.39,
883
+ "learning_rate": 2.92e-06,
884
+ "loss": 0.9234,
885
+ "step": 146
886
+ },
887
+ {
888
+ "epoch": 0.39,
889
+ "learning_rate": 2.94e-06,
890
+ "loss": 0.9384,
891
+ "step": 147
892
+ },
893
+ {
894
+ "epoch": 0.4,
895
+ "learning_rate": 2.96e-06,
896
+ "loss": 0.9317,
897
+ "step": 148
898
+ },
899
+ {
900
+ "epoch": 0.4,
901
+ "learning_rate": 2.98e-06,
902
+ "loss": 0.9157,
903
+ "step": 149
904
+ },
905
+ {
906
+ "epoch": 0.4,
907
+ "learning_rate": 2.9999999999999997e-06,
908
+ "loss": 0.9411,
909
+ "step": 150
910
+ },
911
+ {
912
+ "epoch": 0.4,
913
+ "learning_rate": 3.02e-06,
914
+ "loss": 0.9566,
915
+ "step": 151
916
+ },
917
+ {
918
+ "epoch": 0.41,
919
+ "learning_rate": 3.0399999999999997e-06,
920
+ "loss": 0.9443,
921
+ "step": 152
922
+ },
923
+ {
924
+ "epoch": 0.41,
925
+ "learning_rate": 3.06e-06,
926
+ "loss": 0.9215,
927
+ "step": 153
928
+ },
929
+ {
930
+ "epoch": 0.41,
931
+ "learning_rate": 3.08e-06,
932
+ "loss": 0.9129,
933
+ "step": 154
934
+ },
935
+ {
936
+ "epoch": 0.41,
937
+ "learning_rate": 3.1e-06,
938
+ "loss": 0.9175,
939
+ "step": 155
940
+ },
941
+ {
942
+ "epoch": 0.42,
943
+ "learning_rate": 3.12e-06,
944
+ "loss": 0.9309,
945
+ "step": 156
946
+ },
947
+ {
948
+ "epoch": 0.42,
949
+ "learning_rate": 3.14e-06,
950
+ "loss": 0.9185,
951
+ "step": 157
952
+ },
953
+ {
954
+ "epoch": 0.42,
955
+ "learning_rate": 3.16e-06,
956
+ "loss": 0.9196,
957
+ "step": 158
958
+ },
959
+ {
960
+ "epoch": 0.42,
961
+ "learning_rate": 3.18e-06,
962
+ "loss": 0.9038,
963
+ "step": 159
964
+ },
965
+ {
966
+ "epoch": 0.43,
967
+ "learning_rate": 3.2e-06,
968
+ "loss": 0.9205,
969
+ "step": 160
970
+ },
971
+ {
972
+ "epoch": 0.43,
973
+ "learning_rate": 3.22e-06,
974
+ "loss": 0.9308,
975
+ "step": 161
976
+ },
977
+ {
978
+ "epoch": 0.43,
979
+ "learning_rate": 3.24e-06,
980
+ "loss": 0.939,
981
+ "step": 162
982
+ },
983
+ {
984
+ "epoch": 0.44,
985
+ "learning_rate": 3.2599999999999997e-06,
986
+ "loss": 0.9211,
987
+ "step": 163
988
+ },
989
+ {
990
+ "epoch": 0.44,
991
+ "learning_rate": 3.28e-06,
992
+ "loss": 0.9214,
993
+ "step": 164
994
+ },
995
+ {
996
+ "epoch": 0.44,
997
+ "learning_rate": 3.2999999999999997e-06,
998
+ "loss": 0.9243,
999
+ "step": 165
1000
+ },
1001
+ {
1002
+ "epoch": 0.44,
1003
+ "learning_rate": 3.32e-06,
1004
+ "loss": 0.9098,
1005
+ "step": 166
1006
+ },
1007
+ {
1008
+ "epoch": 0.45,
1009
+ "learning_rate": 3.3399999999999998e-06,
1010
+ "loss": 0.9223,
1011
+ "step": 167
1012
+ },
1013
+ {
1014
+ "epoch": 0.45,
1015
+ "learning_rate": 3.36e-06,
1016
+ "loss": 0.9213,
1017
+ "step": 168
1018
+ },
1019
+ {
1020
+ "epoch": 0.45,
1021
+ "learning_rate": 3.3800000000000002e-06,
1022
+ "loss": 0.9059,
1023
+ "step": 169
1024
+ },
1025
+ {
1026
+ "epoch": 0.45,
1027
+ "learning_rate": 3.4e-06,
1028
+ "loss": 0.8938,
1029
+ "step": 170
1030
+ },
1031
+ {
1032
+ "epoch": 0.46,
1033
+ "learning_rate": 3.42e-06,
1034
+ "loss": 0.9139,
1035
+ "step": 171
1036
+ },
1037
+ {
1038
+ "epoch": 0.46,
1039
+ "learning_rate": 3.44e-06,
1040
+ "loss": 0.898,
1041
+ "step": 172
1042
+ },
1043
+ {
1044
+ "epoch": 0.46,
1045
+ "learning_rate": 3.46e-06,
1046
+ "loss": 0.9103,
1047
+ "step": 173
1048
+ },
1049
+ {
1050
+ "epoch": 0.46,
1051
+ "learning_rate": 3.48e-06,
1052
+ "loss": 0.9042,
1053
+ "step": 174
1054
+ },
1055
+ {
1056
+ "epoch": 0.47,
1057
+ "learning_rate": 3.5e-06,
1058
+ "loss": 0.8833,
1059
+ "step": 175
1060
+ },
1061
+ {
1062
+ "epoch": 0.47,
1063
+ "learning_rate": 3.52e-06,
1064
+ "loss": 0.8933,
1065
+ "step": 176
1066
+ },
1067
+ {
1068
+ "epoch": 0.47,
1069
+ "learning_rate": 3.5399999999999996e-06,
1070
+ "loss": 0.9022,
1071
+ "step": 177
1072
+ },
1073
+ {
1074
+ "epoch": 0.48,
1075
+ "learning_rate": 3.56e-06,
1076
+ "loss": 0.9141,
1077
+ "step": 178
1078
+ },
1079
+ {
1080
+ "epoch": 0.48,
1081
+ "learning_rate": 3.58e-06,
1082
+ "loss": 0.9089,
1083
+ "step": 179
1084
+ },
1085
+ {
1086
+ "epoch": 0.48,
1087
+ "learning_rate": 3.5999999999999994e-06,
1088
+ "loss": 0.9007,
1089
+ "step": 180
1090
+ },
1091
+ {
1092
+ "epoch": 0.48,
1093
+ "learning_rate": 3.6199999999999996e-06,
1094
+ "loss": 0.8985,
1095
+ "step": 181
1096
+ },
1097
+ {
1098
+ "epoch": 0.49,
1099
+ "learning_rate": 3.64e-06,
1100
+ "loss": 0.8977,
1101
+ "step": 182
1102
+ },
1103
+ {
1104
+ "epoch": 0.49,
1105
+ "learning_rate": 3.66e-06,
1106
+ "loss": 0.8996,
1107
+ "step": 183
1108
+ },
1109
+ {
1110
+ "epoch": 0.49,
1111
+ "learning_rate": 3.68e-06,
1112
+ "loss": 0.8999,
1113
+ "step": 184
1114
+ },
1115
+ {
1116
+ "epoch": 0.49,
1117
+ "learning_rate": 3.7e-06,
1118
+ "loss": 0.9141,
1119
+ "step": 185
1120
+ },
1121
+ {
1122
+ "epoch": 0.5,
1123
+ "learning_rate": 3.7200000000000004e-06,
1124
+ "loss": 0.8918,
1125
+ "step": 186
1126
+ },
1127
+ {
1128
+ "epoch": 0.5,
1129
+ "learning_rate": 3.7399999999999998e-06,
1130
+ "loss": 0.9008,
1131
+ "step": 187
1132
+ },
1133
+ {
1134
+ "epoch": 0.5,
1135
+ "learning_rate": 3.76e-06,
1136
+ "loss": 0.9021,
1137
+ "step": 188
1138
+ },
1139
+ {
1140
+ "epoch": 0.5,
1141
+ "learning_rate": 3.7800000000000002e-06,
1142
+ "loss": 0.8951,
1143
+ "step": 189
1144
+ },
1145
+ {
1146
+ "epoch": 0.51,
1147
+ "learning_rate": 3.7999999999999996e-06,
1148
+ "loss": 0.9089,
1149
+ "step": 190
1150
+ },
1151
+ {
1152
+ "epoch": 0.51,
1153
+ "learning_rate": 3.82e-06,
1154
+ "loss": 0.8966,
1155
+ "step": 191
1156
+ },
1157
+ {
1158
+ "epoch": 0.51,
1159
+ "learning_rate": 3.8400000000000005e-06,
1160
+ "loss": 0.8937,
1161
+ "step": 192
1162
+ },
1163
+ {
1164
+ "epoch": 0.52,
1165
+ "learning_rate": 3.8599999999999995e-06,
1166
+ "loss": 0.8969,
1167
+ "step": 193
1168
+ },
1169
+ {
1170
+ "epoch": 0.52,
1171
+ "learning_rate": 3.88e-06,
1172
+ "loss": 0.8719,
1173
+ "step": 194
1174
+ },
1175
+ {
1176
+ "epoch": 0.52,
1177
+ "learning_rate": 3.9e-06,
1178
+ "loss": 0.884,
1179
+ "step": 195
1180
+ },
1181
+ {
1182
+ "epoch": 0.52,
1183
+ "learning_rate": 3.920000000000001e-06,
1184
+ "loss": 0.8809,
1185
+ "step": 196
1186
+ },
1187
+ {
1188
+ "epoch": 0.53,
1189
+ "learning_rate": 3.9399999999999995e-06,
1190
+ "loss": 0.8711,
1191
+ "step": 197
1192
+ },
1193
+ {
1194
+ "epoch": 0.53,
1195
+ "learning_rate": 3.96e-06,
1196
+ "loss": 0.877,
1197
+ "step": 198
1198
+ },
1199
+ {
1200
+ "epoch": 0.53,
1201
+ "learning_rate": 3.98e-06,
1202
+ "loss": 0.8892,
1203
+ "step": 199
1204
+ },
1205
+ {
1206
+ "epoch": 0.53,
1207
+ "learning_rate": 4e-06,
1208
+ "loss": 0.8781,
1209
+ "step": 200
1210
+ },
1211
+ {
1212
+ "epoch": 0.54,
1213
+ "learning_rate": 4.02e-06,
1214
+ "loss": 0.8697,
1215
+ "step": 201
1216
+ },
1217
+ {
1218
+ "epoch": 0.54,
1219
+ "learning_rate": 4.04e-06,
1220
+ "loss": 0.8745,
1221
+ "step": 202
1222
+ },
1223
+ {
1224
+ "epoch": 0.54,
1225
+ "learning_rate": 4.059999999999999e-06,
1226
+ "loss": 0.8738,
1227
+ "step": 203
1228
+ },
1229
+ {
1230
+ "epoch": 0.54,
1231
+ "learning_rate": 4.08e-06,
1232
+ "loss": 0.8804,
1233
+ "step": 204
1234
+ },
1235
+ {
1236
+ "epoch": 0.55,
1237
+ "learning_rate": 4.1000000000000006e-06,
1238
+ "loss": 0.8843,
1239
+ "step": 205
1240
+ },
1241
+ {
1242
+ "epoch": 0.55,
1243
+ "learning_rate": 4.1199999999999995e-06,
1244
+ "loss": 0.8736,
1245
+ "step": 206
1246
+ },
1247
+ {
1248
+ "epoch": 0.55,
1249
+ "learning_rate": 4.14e-06,
1250
+ "loss": 0.8689,
1251
+ "step": 207
1252
+ },
1253
+ {
1254
+ "epoch": 0.56,
1255
+ "learning_rate": 4.16e-06,
1256
+ "loss": 0.8614,
1257
+ "step": 208
1258
+ },
1259
+ {
1260
+ "epoch": 0.56,
1261
+ "learning_rate": 4.180000000000001e-06,
1262
+ "loss": 0.866,
1263
+ "step": 209
1264
+ },
1265
+ {
1266
+ "epoch": 0.56,
1267
+ "learning_rate": 4.2e-06,
1268
+ "loss": 0.8598,
1269
+ "step": 210
1270
+ },
1271
+ {
1272
+ "epoch": 0.56,
1273
+ "learning_rate": 4.22e-06,
1274
+ "loss": 0.878,
1275
+ "step": 211
1276
+ },
1277
+ {
1278
+ "epoch": 0.57,
1279
+ "learning_rate": 4.24e-06,
1280
+ "loss": 0.8624,
1281
+ "step": 212
1282
+ },
1283
+ {
1284
+ "epoch": 0.57,
1285
+ "learning_rate": 4.26e-06,
1286
+ "loss": 0.8788,
1287
+ "step": 213
1288
+ },
1289
+ {
1290
+ "epoch": 0.57,
1291
+ "learning_rate": 4.28e-06,
1292
+ "loss": 0.8713,
1293
+ "step": 214
1294
+ },
1295
+ {
1296
+ "epoch": 0.57,
1297
+ "learning_rate": 4.3e-06,
1298
+ "loss": 0.8682,
1299
+ "step": 215
1300
+ },
1301
+ {
1302
+ "epoch": 0.58,
1303
+ "learning_rate": 4.319999999999999e-06,
1304
+ "loss": 0.8827,
1305
+ "step": 216
1306
+ },
1307
+ {
1308
+ "epoch": 0.58,
1309
+ "learning_rate": 4.34e-06,
1310
+ "loss": 0.8754,
1311
+ "step": 217
1312
+ },
1313
+ {
1314
+ "epoch": 0.58,
1315
+ "learning_rate": 4.36e-06,
1316
+ "loss": 0.8867,
1317
+ "step": 218
1318
+ },
1319
+ {
1320
+ "epoch": 0.59,
1321
+ "learning_rate": 4.3799999999999996e-06,
1322
+ "loss": 0.8707,
1323
+ "step": 219
1324
+ },
1325
+ {
1326
+ "epoch": 0.59,
1327
+ "learning_rate": 4.4e-06,
1328
+ "loss": 0.8655,
1329
+ "step": 220
1330
+ },
1331
+ {
1332
+ "epoch": 0.59,
1333
+ "learning_rate": 4.42e-06,
1334
+ "loss": 0.8503,
1335
+ "step": 221
1336
+ },
1337
+ {
1338
+ "epoch": 0.59,
1339
+ "learning_rate": 4.44e-06,
1340
+ "loss": 0.8674,
1341
+ "step": 222
1342
+ },
1343
+ {
1344
+ "epoch": 0.6,
1345
+ "learning_rate": 4.46e-06,
1346
+ "loss": 0.8507,
1347
+ "step": 223
1348
+ },
1349
+ {
1350
+ "epoch": 0.6,
1351
+ "learning_rate": 4.48e-06,
1352
+ "loss": 0.8668,
1353
+ "step": 224
1354
+ },
1355
+ {
1356
+ "epoch": 0.6,
1357
+ "learning_rate": 4.5e-06,
1358
+ "loss": 0.8548,
1359
+ "step": 225
1360
+ },
1361
+ {
1362
+ "epoch": 0.6,
1363
+ "learning_rate": 4.52e-06,
1364
+ "loss": 0.8756,
1365
+ "step": 226
1366
+ },
1367
+ {
1368
+ "epoch": 0.61,
1369
+ "learning_rate": 4.54e-06,
1370
+ "loss": 0.8424,
1371
+ "step": 227
1372
+ },
1373
+ {
1374
+ "epoch": 0.61,
1375
+ "learning_rate": 4.56e-06,
1376
+ "loss": 0.8501,
1377
+ "step": 228
1378
+ },
1379
+ {
1380
+ "epoch": 0.61,
1381
+ "learning_rate": 4.579999999999999e-06,
1382
+ "loss": 0.8633,
1383
+ "step": 229
1384
+ },
1385
+ {
1386
+ "epoch": 0.61,
1387
+ "learning_rate": 4.6e-06,
1388
+ "loss": 0.859,
1389
+ "step": 230
1390
+ },
1391
+ {
1392
+ "epoch": 0.62,
1393
+ "learning_rate": 4.62e-06,
1394
+ "loss": 0.8497,
1395
+ "step": 231
1396
+ },
1397
+ {
1398
+ "epoch": 0.62,
1399
+ "learning_rate": 4.64e-06,
1400
+ "loss": 0.8491,
1401
+ "step": 232
1402
+ },
1403
+ {
1404
+ "epoch": 0.62,
1405
+ "learning_rate": 4.6599999999999994e-06,
1406
+ "loss": 0.8596,
1407
+ "step": 233
1408
+ },
1409
+ {
1410
+ "epoch": 0.63,
1411
+ "learning_rate": 4.68e-06,
1412
+ "loss": 0.8636,
1413
+ "step": 234
1414
+ },
1415
+ {
1416
+ "epoch": 0.63,
1417
+ "learning_rate": 4.7e-06,
1418
+ "loss": 0.8677,
1419
+ "step": 235
1420
+ },
1421
+ {
1422
+ "epoch": 0.63,
1423
+ "learning_rate": 4.72e-06,
1424
+ "loss": 0.8605,
1425
+ "step": 236
1426
+ },
1427
+ {
1428
+ "epoch": 0.63,
1429
+ "learning_rate": 4.74e-06,
1430
+ "loss": 0.8493,
1431
+ "step": 237
1432
+ },
1433
+ {
1434
+ "epoch": 0.64,
1435
+ "learning_rate": 4.76e-06,
1436
+ "loss": 0.8367,
1437
+ "step": 238
1438
+ },
1439
+ {
1440
+ "epoch": 0.64,
1441
+ "learning_rate": 4.78e-06,
1442
+ "loss": 0.8443,
1443
+ "step": 239
1444
+ },
1445
+ {
1446
+ "epoch": 0.64,
1447
+ "learning_rate": 4.8e-06,
1448
+ "loss": 0.8464,
1449
+ "step": 240
1450
+ },
1451
+ {
1452
+ "epoch": 0.64,
1453
+ "learning_rate": 4.8200000000000004e-06,
1454
+ "loss": 0.8588,
1455
+ "step": 241
1456
+ },
1457
+ {
1458
+ "epoch": 0.65,
1459
+ "learning_rate": 4.839999999999999e-06,
1460
+ "loss": 0.8502,
1461
+ "step": 242
1462
+ },
1463
+ {
1464
+ "epoch": 0.65,
1465
+ "learning_rate": 4.86e-06,
1466
+ "loss": 0.849,
1467
+ "step": 243
1468
+ },
1469
+ {
1470
+ "epoch": 0.65,
1471
+ "learning_rate": 4.88e-06,
1472
+ "loss": 0.8576,
1473
+ "step": 244
1474
+ },
1475
+ {
1476
+ "epoch": 0.65,
1477
+ "learning_rate": 4.9e-06,
1478
+ "loss": 0.8418,
1479
+ "step": 245
1480
+ },
1481
+ {
1482
+ "epoch": 0.66,
1483
+ "learning_rate": 4.9199999999999995e-06,
1484
+ "loss": 0.8717,
1485
+ "step": 246
1486
+ },
1487
+ {
1488
+ "epoch": 0.66,
1489
+ "learning_rate": 4.94e-06,
1490
+ "loss": 0.8529,
1491
+ "step": 247
1492
+ },
1493
+ {
1494
+ "epoch": 0.66,
1495
+ "learning_rate": 4.96e-06,
1496
+ "loss": 0.8328,
1497
+ "step": 248
1498
+ },
1499
+ {
1500
+ "epoch": 0.67,
1501
+ "learning_rate": 4.98e-06,
1502
+ "loss": 0.85,
1503
+ "step": 249
1504
+ },
1505
+ {
1506
+ "epoch": 0.67,
1507
+ "learning_rate": 5e-06,
1508
+ "loss": 0.8376,
1509
+ "step": 250
1510
+ },
1511
+ {
1512
+ "epoch": 0.67,
1513
+ "learning_rate": 5.02e-06,
1514
+ "loss": 0.8431,
1515
+ "step": 251
1516
+ },
1517
+ {
1518
+ "epoch": 0.67,
1519
+ "learning_rate": 5.04e-06,
1520
+ "loss": 0.8446,
1521
+ "step": 252
1522
+ },
1523
+ {
1524
+ "epoch": 0.68,
1525
+ "learning_rate": 5.06e-06,
1526
+ "loss": 0.8424,
1527
+ "step": 253
1528
+ },
1529
+ {
1530
+ "epoch": 0.68,
1531
+ "learning_rate": 5.0800000000000005e-06,
1532
+ "loss": 0.8377,
1533
+ "step": 254
1534
+ },
1535
+ {
1536
+ "epoch": 0.68,
1537
+ "learning_rate": 5.0999999999999995e-06,
1538
+ "loss": 0.8453,
1539
+ "step": 255
1540
+ },
1541
+ {
1542
+ "epoch": 0.68,
1543
+ "learning_rate": 5.12e-06,
1544
+ "loss": 0.8591,
1545
+ "step": 256
1546
+ },
1547
+ {
1548
+ "epoch": 0.69,
1549
+ "learning_rate": 5.14e-06,
1550
+ "loss": 0.8536,
1551
+ "step": 257
1552
+ },
1553
+ {
1554
+ "epoch": 0.69,
1555
+ "learning_rate": 5.16e-06,
1556
+ "loss": 0.8399,
1557
+ "step": 258
1558
+ },
1559
+ {
1560
+ "epoch": 0.69,
1561
+ "learning_rate": 5.1799999999999995e-06,
1562
+ "loss": 0.8259,
1563
+ "step": 259
1564
+ },
1565
+ {
1566
+ "epoch": 0.69,
1567
+ "learning_rate": 5.2e-06,
1568
+ "loss": 0.8399,
1569
+ "step": 260
1570
+ },
1571
+ {
1572
+ "epoch": 0.7,
1573
+ "learning_rate": 5.219999999999999e-06,
1574
+ "loss": 0.8443,
1575
+ "step": 261
1576
+ },
1577
+ {
1578
+ "epoch": 0.7,
1579
+ "learning_rate": 5.24e-06,
1580
+ "loss": 0.8331,
1581
+ "step": 262
1582
+ },
1583
+ {
1584
+ "epoch": 0.7,
1585
+ "learning_rate": 5.2600000000000005e-06,
1586
+ "loss": 0.8268,
1587
+ "step": 263
1588
+ },
1589
+ {
1590
+ "epoch": 0.71,
1591
+ "learning_rate": 5.28e-06,
1592
+ "loss": 0.8338,
1593
+ "step": 264
1594
+ },
1595
+ {
1596
+ "epoch": 0.71,
1597
+ "learning_rate": 5.3e-06,
1598
+ "loss": 0.8287,
1599
+ "step": 265
1600
+ },
1601
+ {
1602
+ "epoch": 0.71,
1603
+ "learning_rate": 5.32e-06,
1604
+ "loss": 0.8273,
1605
+ "step": 266
1606
+ },
1607
+ {
1608
+ "epoch": 0.71,
1609
+ "learning_rate": 5.3400000000000005e-06,
1610
+ "loss": 0.8471,
1611
+ "step": 267
1612
+ },
1613
+ {
1614
+ "epoch": 0.72,
1615
+ "learning_rate": 5.3599999999999995e-06,
1616
+ "loss": 0.8364,
1617
+ "step": 268
1618
+ },
1619
+ {
1620
+ "epoch": 0.72,
1621
+ "learning_rate": 5.38e-06,
1622
+ "loss": 0.8167,
1623
+ "step": 269
1624
+ },
1625
+ {
1626
+ "epoch": 0.72,
1627
+ "learning_rate": 5.4e-06,
1628
+ "loss": 0.8433,
1629
+ "step": 270
1630
+ },
1631
+ {
1632
+ "epoch": 0.72,
1633
+ "learning_rate": 5.42e-06,
1634
+ "loss": 0.8163,
1635
+ "step": 271
1636
+ },
1637
+ {
1638
+ "epoch": 0.73,
1639
+ "learning_rate": 5.44e-06,
1640
+ "loss": 0.8186,
1641
+ "step": 272
1642
+ },
1643
+ {
1644
+ "epoch": 0.73,
1645
+ "learning_rate": 5.46e-06,
1646
+ "loss": 0.8491,
1647
+ "step": 273
1648
+ },
1649
+ {
1650
+ "epoch": 0.73,
1651
+ "learning_rate": 5.479999999999999e-06,
1652
+ "loss": 0.8222,
1653
+ "step": 274
1654
+ },
1655
+ {
1656
+ "epoch": 0.73,
1657
+ "learning_rate": 5.5e-06,
1658
+ "loss": 0.8362,
1659
+ "step": 275
1660
+ },
1661
+ {
1662
+ "epoch": 0.74,
1663
+ "learning_rate": 5.52e-06,
1664
+ "loss": 0.8375,
1665
+ "step": 276
1666
+ },
1667
+ {
1668
+ "epoch": 0.74,
1669
+ "learning_rate": 5.54e-06,
1670
+ "loss": 0.7934,
1671
+ "step": 277
1672
+ },
1673
+ {
1674
+ "epoch": 0.74,
1675
+ "learning_rate": 5.56e-06,
1676
+ "loss": 0.8096,
1677
+ "step": 278
1678
+ },
1679
+ {
1680
+ "epoch": 0.75,
1681
+ "learning_rate": 5.58e-06,
1682
+ "loss": 0.8185,
1683
+ "step": 279
1684
+ },
1685
+ {
1686
+ "epoch": 0.75,
1687
+ "learning_rate": 5.600000000000001e-06,
1688
+ "loss": 0.8126,
1689
+ "step": 280
1690
+ },
1691
+ {
1692
+ "epoch": 0.75,
1693
+ "learning_rate": 5.6199999999999996e-06,
1694
+ "loss": 0.8297,
1695
+ "step": 281
1696
+ },
1697
+ {
1698
+ "epoch": 0.75,
1699
+ "learning_rate": 5.64e-06,
1700
+ "loss": 0.8196,
1701
+ "step": 282
1702
+ },
1703
+ {
1704
+ "epoch": 0.76,
1705
+ "learning_rate": 5.66e-06,
1706
+ "loss": 0.8251,
1707
+ "step": 283
1708
+ },
1709
+ {
1710
+ "epoch": 0.76,
1711
+ "learning_rate": 5.68e-06,
1712
+ "loss": 0.8291,
1713
+ "step": 284
1714
+ },
1715
+ {
1716
+ "epoch": 0.76,
1717
+ "learning_rate": 5.7e-06,
1718
+ "loss": 0.8067,
1719
+ "step": 285
1720
+ },
1721
+ {
1722
+ "epoch": 0.76,
1723
+ "learning_rate": 5.72e-06,
1724
+ "loss": 0.8171,
1725
+ "step": 286
1726
+ },
1727
+ {
1728
+ "epoch": 0.77,
1729
+ "learning_rate": 5.739999999999999e-06,
1730
+ "loss": 0.8091,
1731
+ "step": 287
1732
+ },
1733
+ {
1734
+ "epoch": 0.77,
1735
+ "learning_rate": 5.76e-06,
1736
+ "loss": 0.8149,
1737
+ "step": 288
1738
+ },
1739
+ {
1740
+ "epoch": 0.77,
1741
+ "learning_rate": 5.78e-06,
1742
+ "loss": 0.8393,
1743
+ "step": 289
1744
+ },
1745
+ {
1746
+ "epoch": 0.77,
1747
+ "learning_rate": 5.8e-06,
1748
+ "loss": 0.8157,
1749
+ "step": 290
1750
+ },
1751
+ {
1752
+ "epoch": 0.78,
1753
+ "learning_rate": 5.819999999999999e-06,
1754
+ "loss": 0.8043,
1755
+ "step": 291
1756
+ },
1757
+ {
1758
+ "epoch": 0.78,
1759
+ "learning_rate": 5.84e-06,
1760
+ "loss": 0.8166,
1761
+ "step": 292
1762
+ },
1763
+ {
1764
+ "epoch": 0.78,
1765
+ "learning_rate": 5.860000000000001e-06,
1766
+ "loss": 0.8022,
1767
+ "step": 293
1768
+ },
1769
+ {
1770
+ "epoch": 0.79,
1771
+ "learning_rate": 5.88e-06,
1772
+ "loss": 0.7949,
1773
+ "step": 294
1774
+ },
1775
+ {
1776
+ "epoch": 0.79,
1777
+ "learning_rate": 5.9e-06,
1778
+ "loss": 0.8102,
1779
+ "step": 295
1780
+ },
1781
+ {
1782
+ "epoch": 0.79,
1783
+ "learning_rate": 5.92e-06,
1784
+ "loss": 0.81,
1785
+ "step": 296
1786
+ },
1787
+ {
1788
+ "epoch": 0.79,
1789
+ "learning_rate": 5.94e-06,
1790
+ "loss": 0.8104,
1791
+ "step": 297
1792
+ },
1793
+ {
1794
+ "epoch": 0.8,
1795
+ "learning_rate": 5.96e-06,
1796
+ "loss": 0.8089,
1797
+ "step": 298
1798
+ },
1799
+ {
1800
+ "epoch": 0.8,
1801
+ "learning_rate": 5.98e-06,
1802
+ "loss": 0.824,
1803
+ "step": 299
1804
+ },
1805
+ {
1806
+ "epoch": 0.8,
1807
+ "learning_rate": 5.999999999999999e-06,
1808
+ "loss": 0.8145,
1809
+ "step": 300
1810
+ },
1811
+ {
1812
+ "epoch": 0.8,
1813
+ "learning_rate": 6.02e-06,
1814
+ "loss": 0.8085,
1815
+ "step": 301
1816
+ },
1817
+ {
1818
+ "epoch": 0.81,
1819
+ "learning_rate": 6.04e-06,
1820
+ "loss": 0.8183,
1821
+ "step": 302
1822
+ },
1823
+ {
1824
+ "epoch": 0.81,
1825
+ "learning_rate": 6.0600000000000004e-06,
1826
+ "loss": 0.8114,
1827
+ "step": 303
1828
+ },
1829
+ {
1830
+ "epoch": 0.81,
1831
+ "learning_rate": 6.079999999999999e-06,
1832
+ "loss": 0.8112,
1833
+ "step": 304
1834
+ },
1835
+ {
1836
+ "epoch": 0.81,
1837
+ "learning_rate": 6.1e-06,
1838
+ "loss": 0.8308,
1839
+ "step": 305
1840
+ },
1841
+ {
1842
+ "epoch": 0.82,
1843
+ "learning_rate": 6.12e-06,
1844
+ "loss": 0.8303,
1845
+ "step": 306
1846
+ },
1847
+ {
1848
+ "epoch": 0.82,
1849
+ "learning_rate": 6.14e-06,
1850
+ "loss": 0.8287,
1851
+ "step": 307
1852
+ },
1853
+ {
1854
+ "epoch": 0.82,
1855
+ "learning_rate": 6.16e-06,
1856
+ "loss": 0.7957,
1857
+ "step": 308
1858
+ },
1859
+ {
1860
+ "epoch": 0.83,
1861
+ "learning_rate": 6.18e-06,
1862
+ "loss": 0.817,
1863
+ "step": 309
1864
+ },
1865
+ {
1866
+ "epoch": 0.83,
1867
+ "learning_rate": 6.2e-06,
1868
+ "loss": 0.8209,
1869
+ "step": 310
1870
+ },
1871
+ {
1872
+ "epoch": 0.83,
1873
+ "learning_rate": 6.22e-06,
1874
+ "loss": 0.8019,
1875
+ "step": 311
1876
+ },
1877
+ {
1878
+ "epoch": 0.83,
1879
+ "learning_rate": 6.24e-06,
1880
+ "loss": 0.8099,
1881
+ "step": 312
1882
+ },
1883
+ {
1884
+ "epoch": 0.84,
1885
+ "learning_rate": 6.259999999999999e-06,
1886
+ "loss": 0.8275,
1887
+ "step": 313
1888
+ },
1889
+ {
1890
+ "epoch": 0.84,
1891
+ "learning_rate": 6.28e-06,
1892
+ "loss": 0.814,
1893
+ "step": 314
1894
+ },
1895
+ {
1896
+ "epoch": 0.84,
1897
+ "learning_rate": 6.3e-06,
1898
+ "loss": 0.7992,
1899
+ "step": 315
1900
+ },
1901
+ {
1902
+ "epoch": 0.84,
1903
+ "learning_rate": 6.32e-06,
1904
+ "loss": 0.7964,
1905
+ "step": 316
1906
+ },
1907
+ {
1908
+ "epoch": 0.85,
1909
+ "learning_rate": 6.3399999999999994e-06,
1910
+ "loss": 0.8013,
1911
+ "step": 317
1912
+ },
1913
+ {
1914
+ "epoch": 0.85,
1915
+ "learning_rate": 6.36e-06,
1916
+ "loss": 0.8023,
1917
+ "step": 318
1918
+ },
1919
+ {
1920
+ "epoch": 0.85,
1921
+ "learning_rate": 6.38e-06,
1922
+ "loss": 0.8074,
1923
+ "step": 319
1924
+ },
1925
+ {
1926
+ "epoch": 0.85,
1927
+ "learning_rate": 6.4e-06,
1928
+ "loss": 0.8154,
1929
+ "step": 320
1930
+ },
1931
+ {
1932
+ "epoch": 0.86,
1933
+ "learning_rate": 6.42e-06,
1934
+ "loss": 0.7984,
1935
+ "step": 321
1936
+ },
1937
+ {
1938
+ "epoch": 0.86,
1939
+ "learning_rate": 6.44e-06,
1940
+ "loss": 0.7987,
1941
+ "step": 322
1942
+ },
1943
+ {
1944
+ "epoch": 0.86,
1945
+ "learning_rate": 6.46e-06,
1946
+ "loss": 0.8007,
1947
+ "step": 323
1948
+ },
1949
+ {
1950
+ "epoch": 0.87,
1951
+ "learning_rate": 6.48e-06,
1952
+ "loss": 0.7999,
1953
+ "step": 324
1954
+ },
1955
+ {
1956
+ "epoch": 0.87,
1957
+ "learning_rate": 6.5000000000000004e-06,
1958
+ "loss": 0.8107,
1959
+ "step": 325
1960
+ },
1961
+ {
1962
+ "epoch": 0.87,
1963
+ "learning_rate": 6.519999999999999e-06,
1964
+ "loss": 0.7928,
1965
+ "step": 326
1966
+ },
1967
+ {
1968
+ "epoch": 0.87,
1969
+ "learning_rate": 6.54e-06,
1970
+ "loss": 0.8033,
1971
+ "step": 327
1972
+ },
1973
+ {
1974
+ "epoch": 0.88,
1975
+ "learning_rate": 6.56e-06,
1976
+ "loss": 0.802,
1977
+ "step": 328
1978
+ },
1979
+ {
1980
+ "epoch": 0.88,
1981
+ "learning_rate": 6.58e-06,
1982
+ "loss": 0.8056,
1983
+ "step": 329
1984
+ },
1985
+ {
1986
+ "epoch": 0.88,
1987
+ "learning_rate": 6.5999999999999995e-06,
1988
+ "loss": 0.7857,
1989
+ "step": 330
1990
+ },
1991
+ {
1992
+ "epoch": 0.88,
1993
+ "learning_rate": 6.62e-06,
1994
+ "loss": 0.8046,
1995
+ "step": 331
1996
+ },
1997
+ {
1998
+ "epoch": 0.89,
1999
+ "learning_rate": 6.64e-06,
2000
+ "loss": 0.7865,
2001
+ "step": 332
2002
+ },
2003
+ {
2004
+ "epoch": 0.89,
2005
+ "learning_rate": 6.66e-06,
2006
+ "loss": 0.814,
2007
+ "step": 333
2008
+ },
2009
+ {
2010
+ "epoch": 0.89,
2011
+ "learning_rate": 6.6799999999999996e-06,
2012
+ "loss": 0.7934,
2013
+ "step": 334
2014
+ },
2015
+ {
2016
+ "epoch": 0.89,
2017
+ "learning_rate": 6.7e-06,
2018
+ "loss": 0.7893,
2019
+ "step": 335
2020
+ },
2021
+ {
2022
+ "epoch": 0.9,
2023
+ "learning_rate": 6.72e-06,
2024
+ "loss": 0.7984,
2025
+ "step": 336
2026
+ },
2027
+ {
2028
+ "epoch": 0.9,
2029
+ "learning_rate": 6.74e-06,
2030
+ "loss": 0.7932,
2031
+ "step": 337
2032
+ },
2033
+ {
2034
+ "epoch": 0.9,
2035
+ "learning_rate": 6.7600000000000005e-06,
2036
+ "loss": 0.7886,
2037
+ "step": 338
2038
+ },
2039
+ {
2040
+ "epoch": 0.91,
2041
+ "learning_rate": 6.7799999999999995e-06,
2042
+ "loss": 0.7925,
2043
+ "step": 339
2044
+ },
2045
+ {
2046
+ "epoch": 0.91,
2047
+ "learning_rate": 6.8e-06,
2048
+ "loss": 0.7872,
2049
+ "step": 340
2050
+ },
2051
+ {
2052
+ "epoch": 0.91,
2053
+ "learning_rate": 6.82e-06,
2054
+ "loss": 0.8191,
2055
+ "step": 341
2056
+ },
2057
+ {
2058
+ "epoch": 0.91,
2059
+ "learning_rate": 6.84e-06,
2060
+ "loss": 0.7994,
2061
+ "step": 342
2062
+ },
2063
+ {
2064
+ "epoch": 0.92,
2065
+ "learning_rate": 6.8599999999999995e-06,
2066
+ "loss": 0.8014,
2067
+ "step": 343
2068
+ },
2069
+ {
2070
+ "epoch": 0.92,
2071
+ "learning_rate": 6.88e-06,
2072
+ "loss": 0.7998,
2073
+ "step": 344
2074
+ },
2075
+ {
2076
+ "epoch": 0.92,
2077
+ "learning_rate": 6.9e-06,
2078
+ "loss": 0.7809,
2079
+ "step": 345
2080
+ },
2081
+ {
2082
+ "epoch": 0.92,
2083
+ "learning_rate": 6.92e-06,
2084
+ "loss": 0.7845,
2085
+ "step": 346
2086
+ },
2087
+ {
2088
+ "epoch": 0.93,
2089
+ "learning_rate": 6.94e-06,
2090
+ "loss": 0.7795,
2091
+ "step": 347
2092
+ },
2093
+ {
2094
+ "epoch": 0.93,
2095
+ "learning_rate": 6.96e-06,
2096
+ "loss": 0.7959,
2097
+ "step": 348
2098
+ },
2099
+ {
2100
+ "epoch": 0.93,
2101
+ "learning_rate": 6.979999999999999e-06,
2102
+ "loss": 0.7848,
2103
+ "step": 349
2104
+ },
2105
+ {
2106
+ "epoch": 0.94,
2107
+ "learning_rate": 7e-06,
2108
+ "loss": 0.7915,
2109
+ "step": 350
2110
+ },
2111
+ {
2112
+ "epoch": 0.94,
2113
+ "learning_rate": 6.999986848712049e-06,
2114
+ "loss": 0.7891,
2115
+ "step": 351
2116
+ },
2117
+ {
2118
+ "epoch": 0.94,
2119
+ "learning_rate": 6.999947394947031e-06,
2120
+ "loss": 0.7838,
2121
+ "step": 352
2122
+ },
2123
+ {
2124
+ "epoch": 0.94,
2125
+ "learning_rate": 6.999881639001441e-06,
2126
+ "loss": 0.8101,
2127
+ "step": 353
2128
+ },
2129
+ {
2130
+ "epoch": 0.95,
2131
+ "learning_rate": 6.999789581369437e-06,
2132
+ "loss": 0.8062,
2133
+ "step": 354
2134
+ },
2135
+ {
2136
+ "epoch": 0.95,
2137
+ "learning_rate": 6.999671222742834e-06,
2138
+ "loss": 0.7923,
2139
+ "step": 355
2140
+ },
2141
+ {
2142
+ "epoch": 0.95,
2143
+ "learning_rate": 6.999526564011098e-06,
2144
+ "loss": 0.8033,
2145
+ "step": 356
2146
+ },
2147
+ {
2148
+ "epoch": 0.95,
2149
+ "learning_rate": 6.999355606261343e-06,
2150
+ "loss": 0.7905,
2151
+ "step": 357
2152
+ },
2153
+ {
2154
+ "epoch": 0.96,
2155
+ "learning_rate": 6.999158350778321e-06,
2156
+ "loss": 0.7833,
2157
+ "step": 358
2158
+ },
2159
+ {
2160
+ "epoch": 0.96,
2161
+ "learning_rate": 6.998934799044413e-06,
2162
+ "loss": 0.7916,
2163
+ "step": 359
2164
+ },
2165
+ {
2166
+ "epoch": 0.96,
2167
+ "learning_rate": 6.9986849527396114e-06,
2168
+ "loss": 0.7848,
2169
+ "step": 360
2170
+ },
2171
+ {
2172
+ "epoch": 0.96,
2173
+ "learning_rate": 6.998408813741518e-06,
2174
+ "loss": 0.7888,
2175
+ "step": 361
2176
+ },
2177
+ {
2178
+ "epoch": 0.97,
2179
+ "learning_rate": 6.9981063841253256e-06,
2180
+ "loss": 0.7971,
2181
+ "step": 362
2182
+ },
2183
+ {
2184
+ "epoch": 0.97,
2185
+ "learning_rate": 6.997777666163796e-06,
2186
+ "loss": 0.7947,
2187
+ "step": 363
2188
+ },
2189
+ {
2190
+ "epoch": 0.97,
2191
+ "learning_rate": 6.997422662327253e-06,
2192
+ "loss": 0.7943,
2193
+ "step": 364
2194
+ },
2195
+ {
2196
+ "epoch": 0.98,
2197
+ "learning_rate": 6.9970413752835595e-06,
2198
+ "loss": 0.7864,
2199
+ "step": 365
2200
+ },
2201
+ {
2202
+ "epoch": 0.98,
2203
+ "learning_rate": 6.996633807898094e-06,
2204
+ "loss": 0.8132,
2205
+ "step": 366
2206
+ },
2207
+ {
2208
+ "epoch": 0.98,
2209
+ "learning_rate": 6.996199963233736e-06,
2210
+ "loss": 0.7814,
2211
+ "step": 367
2212
+ },
2213
+ {
2214
+ "epoch": 0.98,
2215
+ "learning_rate": 6.995739844550836e-06,
2216
+ "loss": 0.8083,
2217
+ "step": 368
2218
+ },
2219
+ {
2220
+ "epoch": 0.99,
2221
+ "learning_rate": 6.995253455307197e-06,
2222
+ "loss": 0.7831,
2223
+ "step": 369
2224
+ },
2225
+ {
2226
+ "epoch": 0.99,
2227
+ "learning_rate": 6.994740799158044e-06,
2228
+ "loss": 0.7775,
2229
+ "step": 370
2230
+ },
2231
+ {
2232
+ "epoch": 0.99,
2233
+ "learning_rate": 6.994201879955999e-06,
2234
+ "loss": 0.7969,
2235
+ "step": 371
2236
+ },
2237
+ {
2238
+ "epoch": 0.99,
2239
+ "learning_rate": 6.993636701751052e-06,
2240
+ "loss": 0.7726,
2241
+ "step": 372
2242
+ },
2243
+ {
2244
+ "epoch": 1.0,
2245
+ "learning_rate": 6.993045268790529e-06,
2246
+ "loss": 0.783,
2247
+ "step": 373
2248
+ },
2249
+ {
2250
+ "epoch": 1.0,
2251
+ "learning_rate": 6.9924275855190615e-06,
2252
+ "loss": 0.7802,
2253
+ "step": 374
2254
+ },
2255
+ {
2256
+ "epoch": 1.0,
2257
+ "learning_rate": 6.991783656578554e-06,
2258
+ "loss": 0.7885,
2259
+ "step": 375
2260
+ },
2261
+ {
2262
+ "epoch": 1.0,
2263
+ "learning_rate": 6.991113486808145e-06,
2264
+ "loss": 0.7916,
2265
+ "step": 376
2266
+ },
2267
+ {
2268
+ "epoch": 1.01,
2269
+ "learning_rate": 6.990417081244175e-06,
2270
+ "loss": 0.7961,
2271
+ "step": 377
2272
+ },
2273
+ {
2274
+ "epoch": 1.01,
2275
+ "learning_rate": 6.989694445120147e-06,
2276
+ "loss": 0.7912,
2277
+ "step": 378
2278
+ },
2279
+ {
2280
+ "epoch": 1.01,
2281
+ "learning_rate": 6.9889455838666875e-06,
2282
+ "loss": 0.7711,
2283
+ "step": 379
2284
+ },
2285
+ {
2286
+ "epoch": 1.02,
2287
+ "learning_rate": 6.988170503111504e-06,
2288
+ "loss": 0.7695,
2289
+ "step": 380
2290
+ },
2291
+ {
2292
+ "epoch": 1.02,
2293
+ "learning_rate": 6.987369208679347e-06,
2294
+ "loss": 0.7693,
2295
+ "step": 381
2296
+ },
2297
+ {
2298
+ "epoch": 1.0,
2299
+ "learning_rate": 6.986541706591961e-06,
2300
+ "loss": 0.7944,
2301
+ "step": 382
2302
+ },
2303
+ {
2304
+ "epoch": 1.0,
2305
+ "learning_rate": 6.985688003068041e-06,
2306
+ "loss": 0.7792,
2307
+ "step": 383
2308
+ },
2309
+ {
2310
+ "epoch": 1.01,
2311
+ "learning_rate": 6.984808104523189e-06,
2312
+ "loss": 0.7852,
2313
+ "step": 384
2314
+ },
2315
+ {
2316
+ "epoch": 1.01,
2317
+ "learning_rate": 6.983902017569859e-06,
2318
+ "loss": 0.7866,
2319
+ "step": 385
2320
+ },
2321
+ {
2322
+ "epoch": 1.01,
2323
+ "learning_rate": 6.982969749017318e-06,
2324
+ "loss": 0.7708,
2325
+ "step": 386
2326
+ },
2327
+ {
2328
+ "epoch": 1.01,
2329
+ "learning_rate": 6.982011305871581e-06,
2330
+ "loss": 0.7979,
2331
+ "step": 387
2332
+ },
2333
+ {
2334
+ "epoch": 1.02,
2335
+ "learning_rate": 6.981026695335371e-06,
2336
+ "loss": 0.7729,
2337
+ "step": 388
2338
+ },
2339
+ {
2340
+ "epoch": 1.02,
2341
+ "learning_rate": 6.980015924808057e-06,
2342
+ "loss": 0.7846,
2343
+ "step": 389
2344
+ },
2345
+ {
2346
+ "epoch": 1.02,
2347
+ "learning_rate": 6.978979001885602e-06,
2348
+ "loss": 0.8077,
2349
+ "step": 390
2350
+ },
2351
+ {
2352
+ "epoch": 1.02,
2353
+ "learning_rate": 6.9779159343605024e-06,
2354
+ "loss": 0.7805,
2355
+ "step": 391
2356
+ },
2357
+ {
2358
+ "epoch": 1.03,
2359
+ "learning_rate": 6.9768267302217355e-06,
2360
+ "loss": 0.7984,
2361
+ "step": 392
2362
+ },
2363
+ {
2364
+ "epoch": 1.03,
2365
+ "learning_rate": 6.975711397654693e-06,
2366
+ "loss": 0.775,
2367
+ "step": 393
2368
+ },
2369
+ {
2370
+ "epoch": 1.03,
2371
+ "learning_rate": 6.974569945041124e-06,
2372
+ "loss": 0.7771,
2373
+ "step": 394
2374
+ },
2375
+ {
2376
+ "epoch": 1.04,
2377
+ "learning_rate": 6.97340238095907e-06,
2378
+ "loss": 0.7963,
2379
+ "step": 395
2380
+ },
2381
+ {
2382
+ "epoch": 1.04,
2383
+ "learning_rate": 6.972208714182799e-06,
2384
+ "loss": 0.7831,
2385
+ "step": 396
2386
+ },
2387
+ {
2388
+ "epoch": 1.04,
2389
+ "learning_rate": 6.970988953682744e-06,
2390
+ "loss": 0.7892,
2391
+ "step": 397
2392
+ },
2393
+ {
2394
+ "epoch": 1.04,
2395
+ "learning_rate": 6.96974310862543e-06,
2396
+ "loss": 0.7852,
2397
+ "step": 398
2398
+ },
2399
+ {
2400
+ "epoch": 1.05,
2401
+ "learning_rate": 6.9684711883734115e-06,
2402
+ "loss": 0.7965,
2403
+ "step": 399
2404
+ },
2405
+ {
2406
+ "epoch": 1.05,
2407
+ "learning_rate": 6.9671732024851965e-06,
2408
+ "loss": 0.766,
2409
+ "step": 400
2410
+ },
2411
+ {
2412
+ "epoch": 1.05,
2413
+ "learning_rate": 6.965849160715176e-06,
2414
+ "loss": 0.7918,
2415
+ "step": 401
2416
+ },
2417
+ {
2418
+ "epoch": 1.05,
2419
+ "learning_rate": 6.964499073013553e-06,
2420
+ "loss": 0.767,
2421
+ "step": 402
2422
+ },
2423
+ {
2424
+ "epoch": 1.06,
2425
+ "learning_rate": 6.963122949526267e-06,
2426
+ "loss": 0.7807,
2427
+ "step": 403
2428
+ },
2429
+ {
2430
+ "epoch": 1.06,
2431
+ "learning_rate": 6.961720800594914e-06,
2432
+ "loss": 0.7976,
2433
+ "step": 404
2434
+ },
2435
+ {
2436
+ "epoch": 1.06,
2437
+ "learning_rate": 6.960292636756675e-06,
2438
+ "loss": 0.7732,
2439
+ "step": 405
2440
+ },
2441
+ {
2442
+ "epoch": 1.06,
2443
+ "learning_rate": 6.9588384687442315e-06,
2444
+ "loss": 0.7791,
2445
+ "step": 406
2446
+ },
2447
+ {
2448
+ "epoch": 1.07,
2449
+ "learning_rate": 6.957358307485689e-06,
2450
+ "loss": 0.7776,
2451
+ "step": 407
2452
+ },
2453
+ {
2454
+ "epoch": 1.07,
2455
+ "learning_rate": 6.9558521641044894e-06,
2456
+ "loss": 0.7885,
2457
+ "step": 408
2458
+ },
2459
+ {
2460
+ "epoch": 1.07,
2461
+ "learning_rate": 6.954320049919333e-06,
2462
+ "loss": 0.7852,
2463
+ "step": 409
2464
+ },
2465
+ {
2466
+ "epoch": 1.08,
2467
+ "learning_rate": 6.952761976444094e-06,
2468
+ "loss": 0.7919,
2469
+ "step": 410
2470
+ },
2471
+ {
2472
+ "epoch": 1.08,
2473
+ "learning_rate": 6.9511779553877245e-06,
2474
+ "loss": 0.7863,
2475
+ "step": 411
2476
+ },
2477
+ {
2478
+ "epoch": 1.08,
2479
+ "learning_rate": 6.949567998654181e-06,
2480
+ "loss": 0.7738,
2481
+ "step": 412
2482
+ },
2483
+ {
2484
+ "epoch": 1.08,
2485
+ "learning_rate": 6.947932118342319e-06,
2486
+ "loss": 0.7629,
2487
+ "step": 413
2488
+ },
2489
+ {
2490
+ "epoch": 1.09,
2491
+ "learning_rate": 6.946270326745818e-06,
2492
+ "loss": 0.7802,
2493
+ "step": 414
2494
+ },
2495
+ {
2496
+ "epoch": 1.09,
2497
+ "learning_rate": 6.944582636353076e-06,
2498
+ "loss": 0.7803,
2499
+ "step": 415
2500
+ },
2501
+ {
2502
+ "epoch": 1.09,
2503
+ "learning_rate": 6.942869059847123e-06,
2504
+ "loss": 0.8036,
2505
+ "step": 416
2506
+ },
2507
+ {
2508
+ "epoch": 1.09,
2509
+ "learning_rate": 6.941129610105525e-06,
2510
+ "loss": 0.772,
2511
+ "step": 417
2512
+ },
2513
+ {
2514
+ "epoch": 1.1,
2515
+ "learning_rate": 6.939364300200283e-06,
2516
+ "loss": 0.7958,
2517
+ "step": 418
2518
+ },
2519
+ {
2520
+ "epoch": 1.1,
2521
+ "learning_rate": 6.93757314339774e-06,
2522
+ "loss": 0.7837,
2523
+ "step": 419
2524
+ },
2525
+ {
2526
+ "epoch": 1.1,
2527
+ "learning_rate": 6.935756153158478e-06,
2528
+ "loss": 0.7632,
2529
+ "step": 420
2530
+ },
2531
+ {
2532
+ "epoch": 1.1,
2533
+ "learning_rate": 6.933913343137219e-06,
2534
+ "loss": 0.7921,
2535
+ "step": 421
2536
+ },
2537
+ {
2538
+ "epoch": 1.11,
2539
+ "learning_rate": 6.9320447271827186e-06,
2540
+ "loss": 0.793,
2541
+ "step": 422
2542
+ },
2543
+ {
2544
+ "epoch": 1.11,
2545
+ "learning_rate": 6.930150319337667e-06,
2546
+ "loss": 0.789,
2547
+ "step": 423
2548
+ },
2549
+ {
2550
+ "epoch": 1.11,
2551
+ "learning_rate": 6.92823013383858e-06,
2552
+ "loss": 0.7785,
2553
+ "step": 424
2554
+ },
2555
+ {
2556
+ "epoch": 1.12,
2557
+ "learning_rate": 6.9262841851156935e-06,
2558
+ "loss": 0.7719,
2559
+ "step": 425
2560
+ },
2561
+ {
2562
+ "epoch": 1.12,
2563
+ "learning_rate": 6.924312487792855e-06,
2564
+ "loss": 0.791,
2565
+ "step": 426
2566
+ },
2567
+ {
2568
+ "epoch": 1.12,
2569
+ "learning_rate": 6.922315056687412e-06,
2570
+ "loss": 0.795,
2571
+ "step": 427
2572
+ },
2573
+ {
2574
+ "epoch": 1.12,
2575
+ "learning_rate": 6.920291906810102e-06,
2576
+ "loss": 0.7837,
2577
+ "step": 428
2578
+ },
2579
+ {
2580
+ "epoch": 1.13,
2581
+ "learning_rate": 6.918243053364941e-06,
2582
+ "loss": 0.8042,
2583
+ "step": 429
2584
+ },
2585
+ {
2586
+ "epoch": 1.13,
2587
+ "learning_rate": 6.916168511749106e-06,
2588
+ "loss": 0.78,
2589
+ "step": 430
2590
+ },
2591
+ {
2592
+ "epoch": 1.13,
2593
+ "learning_rate": 6.914068297552825e-06,
2594
+ "loss": 0.7781,
2595
+ "step": 431
2596
+ },
2597
+ {
2598
+ "epoch": 1.13,
2599
+ "learning_rate": 6.9119424265592495e-06,
2600
+ "loss": 0.7679,
2601
+ "step": 432
2602
+ },
2603
+ {
2604
+ "epoch": 1.14,
2605
+ "learning_rate": 6.909790914744349e-06,
2606
+ "loss": 0.761,
2607
+ "step": 433
2608
+ },
2609
+ {
2610
+ "epoch": 1.14,
2611
+ "learning_rate": 6.907613778276779e-06,
2612
+ "loss": 0.7773,
2613
+ "step": 434
2614
+ },
2615
+ {
2616
+ "epoch": 1.14,
2617
+ "learning_rate": 6.90541103351777e-06,
2618
+ "loss": 0.7817,
2619
+ "step": 435
2620
+ },
2621
+ {
2622
+ "epoch": 1.14,
2623
+ "learning_rate": 6.903182697020994e-06,
2624
+ "loss": 0.7634,
2625
+ "step": 436
2626
+ },
2627
+ {
2628
+ "epoch": 1.15,
2629
+ "learning_rate": 6.90092878553245e-06,
2630
+ "loss": 0.7739,
2631
+ "step": 437
2632
+ },
2633
+ {
2634
+ "epoch": 1.15,
2635
+ "learning_rate": 6.898649315990332e-06,
2636
+ "loss": 0.7679,
2637
+ "step": 438
2638
+ },
2639
+ {
2640
+ "epoch": 1.15,
2641
+ "learning_rate": 6.896344305524902e-06,
2642
+ "loss": 0.7755,
2643
+ "step": 439
2644
+ },
2645
+ {
2646
+ "epoch": 1.16,
2647
+ "learning_rate": 6.894013771458362e-06,
2648
+ "loss": 0.7964,
2649
+ "step": 440
2650
+ },
2651
+ {
2652
+ "epoch": 1.16,
2653
+ "learning_rate": 6.891657731304729e-06,
2654
+ "loss": 0.7756,
2655
+ "step": 441
2656
+ },
2657
+ {
2658
+ "epoch": 1.16,
2659
+ "learning_rate": 6.889276202769695e-06,
2660
+ "loss": 0.7938,
2661
+ "step": 442
2662
+ },
2663
+ {
2664
+ "epoch": 1.16,
2665
+ "learning_rate": 6.886869203750498e-06,
2666
+ "loss": 0.7752,
2667
+ "step": 443
2668
+ },
2669
+ {
2670
+ "epoch": 1.17,
2671
+ "learning_rate": 6.884436752335787e-06,
2672
+ "loss": 0.7724,
2673
+ "step": 444
2674
+ },
2675
+ {
2676
+ "epoch": 1.17,
2677
+ "learning_rate": 6.881978866805488e-06,
2678
+ "loss": 0.7867,
2679
+ "step": 445
2680
+ },
2681
+ {
2682
+ "epoch": 1.17,
2683
+ "learning_rate": 6.879495565630666e-06,
2684
+ "loss": 0.7843,
2685
+ "step": 446
2686
+ },
2687
+ {
2688
+ "epoch": 1.17,
2689
+ "learning_rate": 6.87698686747338e-06,
2690
+ "loss": 0.7912,
2691
+ "step": 447
2692
+ },
2693
+ {
2694
+ "epoch": 1.18,
2695
+ "learning_rate": 6.8744527911865535e-06,
2696
+ "loss": 0.7851,
2697
+ "step": 448
2698
+ },
2699
+ {
2700
+ "epoch": 1.18,
2701
+ "learning_rate": 6.871893355813823e-06,
2702
+ "loss": 0.7682,
2703
+ "step": 449
2704
+ },
2705
+ {
2706
+ "epoch": 1.18,
2707
+ "learning_rate": 6.869308580589402e-06,
2708
+ "loss": 0.7538,
2709
+ "step": 450
2710
+ },
2711
+ {
2712
+ "epoch": 1.18,
2713
+ "learning_rate": 6.866698484937932e-06,
2714
+ "loss": 0.7906,
2715
+ "step": 451
2716
+ },
2717
+ {
2718
+ "epoch": 1.19,
2719
+ "learning_rate": 6.864063088474338e-06,
2720
+ "loss": 0.7771,
2721
+ "step": 452
2722
+ },
2723
+ {
2724
+ "epoch": 1.19,
2725
+ "learning_rate": 6.861402411003682e-06,
2726
+ "loss": 0.7749,
2727
+ "step": 453
2728
+ },
2729
+ {
2730
+ "epoch": 1.19,
2731
+ "learning_rate": 6.858716472521012e-06,
2732
+ "loss": 0.77,
2733
+ "step": 454
2734
+ },
2735
+ {
2736
+ "epoch": 1.2,
2737
+ "learning_rate": 6.856005293211217e-06,
2738
+ "loss": 0.7723,
2739
+ "step": 455
2740
+ },
2741
+ {
2742
+ "epoch": 1.2,
2743
+ "learning_rate": 6.853268893448865e-06,
2744
+ "loss": 0.7714,
2745
+ "step": 456
2746
+ },
2747
+ {
2748
+ "epoch": 1.2,
2749
+ "learning_rate": 6.850507293798059e-06,
2750
+ "loss": 0.7736,
2751
+ "step": 457
2752
+ },
2753
+ {
2754
+ "epoch": 1.2,
2755
+ "learning_rate": 6.847720515012284e-06,
2756
+ "loss": 0.7748,
2757
+ "step": 458
2758
+ },
2759
+ {
2760
+ "epoch": 1.21,
2761
+ "learning_rate": 6.8449085780342395e-06,
2762
+ "loss": 0.7886,
2763
+ "step": 459
2764
+ },
2765
+ {
2766
+ "epoch": 1.21,
2767
+ "learning_rate": 6.842071503995695e-06,
2768
+ "loss": 0.7771,
2769
+ "step": 460
2770
+ },
2771
+ {
2772
+ "epoch": 1.21,
2773
+ "learning_rate": 6.839209314217322e-06,
2774
+ "loss": 0.8013,
2775
+ "step": 461
2776
+ },
2777
+ {
2778
+ "epoch": 1.21,
2779
+ "learning_rate": 6.83632203020854e-06,
2780
+ "loss": 0.7785,
2781
+ "step": 462
2782
+ },
2783
+ {
2784
+ "epoch": 1.22,
2785
+ "learning_rate": 6.8334096736673505e-06,
2786
+ "loss": 0.778,
2787
+ "step": 463
2788
+ },
2789
+ {
2790
+ "epoch": 1.22,
2791
+ "learning_rate": 6.830472266480176e-06,
2792
+ "loss": 0.7811,
2793
+ "step": 464
2794
+ },
2795
+ {
2796
+ "epoch": 1.22,
2797
+ "learning_rate": 6.827509830721694e-06,
2798
+ "loss": 0.7668,
2799
+ "step": 465
2800
+ },
2801
+ {
2802
+ "epoch": 1.22,
2803
+ "learning_rate": 6.824522388654676e-06,
2804
+ "loss": 0.7761,
2805
+ "step": 466
2806
+ },
2807
+ {
2808
+ "epoch": 1.23,
2809
+ "learning_rate": 6.821509962729811e-06,
2810
+ "loss": 0.7784,
2811
+ "step": 467
2812
+ },
2813
+ {
2814
+ "epoch": 1.23,
2815
+ "learning_rate": 6.818472575585549e-06,
2816
+ "loss": 0.7844,
2817
+ "step": 468
2818
+ },
2819
+ {
2820
+ "epoch": 1.23,
2821
+ "learning_rate": 6.8154102500479155e-06,
2822
+ "loss": 0.7892,
2823
+ "step": 469
2824
+ },
2825
+ {
2826
+ "epoch": 1.24,
2827
+ "learning_rate": 6.812323009130357e-06,
2828
+ "loss": 0.7758,
2829
+ "step": 470
2830
+ },
2831
+ {
2832
+ "epoch": 1.24,
2833
+ "learning_rate": 6.809210876033554e-06,
2834
+ "loss": 0.7931,
2835
+ "step": 471
2836
+ },
2837
+ {
2838
+ "epoch": 1.24,
2839
+ "learning_rate": 6.806073874145257e-06,
2840
+ "loss": 0.771,
2841
+ "step": 472
2842
+ },
2843
+ {
2844
+ "epoch": 1.24,
2845
+ "learning_rate": 6.802912027040099e-06,
2846
+ "loss": 0.7969,
2847
+ "step": 473
2848
+ },
2849
+ {
2850
+ "epoch": 1.25,
2851
+ "learning_rate": 6.799725358479433e-06,
2852
+ "loss": 0.7696,
2853
+ "step": 474
2854
+ },
2855
+ {
2856
+ "epoch": 1.25,
2857
+ "learning_rate": 6.79651389241114e-06,
2858
+ "loss": 0.7863,
2859
+ "step": 475
2860
+ },
2861
+ {
2862
+ "epoch": 1.25,
2863
+ "learning_rate": 6.793277652969458e-06,
2864
+ "loss": 0.778,
2865
+ "step": 476
2866
+ },
2867
+ {
2868
+ "epoch": 1.25,
2869
+ "learning_rate": 6.790016664474797e-06,
2870
+ "loss": 0.768,
2871
+ "step": 477
2872
+ },
2873
+ {
2874
+ "epoch": 1.26,
2875
+ "learning_rate": 6.786730951433557e-06,
2876
+ "loss": 0.7675,
2877
+ "step": 478
2878
+ },
2879
+ {
2880
+ "epoch": 1.26,
2881
+ "learning_rate": 6.78342053853794e-06,
2882
+ "loss": 0.7711,
2883
+ "step": 479
2884
+ },
2885
+ {
2886
+ "epoch": 1.26,
2887
+ "learning_rate": 6.780085450665775e-06,
2888
+ "loss": 0.7677,
2889
+ "step": 480
2890
+ },
2891
+ {
2892
+ "epoch": 1.26,
2893
+ "learning_rate": 6.776725712880315e-06,
2894
+ "loss": 0.7544,
2895
+ "step": 481
2896
+ },
2897
+ {
2898
+ "epoch": 1.27,
2899
+ "learning_rate": 6.773341350430065e-06,
2900
+ "loss": 0.7687,
2901
+ "step": 482
2902
+ },
2903
+ {
2904
+ "epoch": 1.27,
2905
+ "learning_rate": 6.769932388748583e-06,
2906
+ "loss": 0.7768,
2907
+ "step": 483
2908
+ },
2909
+ {
2910
+ "epoch": 1.27,
2911
+ "learning_rate": 6.766498853454287e-06,
2912
+ "loss": 0.7783,
2913
+ "step": 484
2914
+ },
2915
+ {
2916
+ "epoch": 1.28,
2917
+ "learning_rate": 6.763040770350272e-06,
2918
+ "loss": 0.7832,
2919
+ "step": 485
2920
+ },
2921
+ {
2922
+ "epoch": 1.28,
2923
+ "learning_rate": 6.759558165424105e-06,
2924
+ "loss": 0.763,
2925
+ "step": 486
2926
+ },
2927
+ {
2928
+ "epoch": 1.28,
2929
+ "learning_rate": 6.75605106484764e-06,
2930
+ "loss": 0.7656,
2931
+ "step": 487
2932
+ },
2933
+ {
2934
+ "epoch": 1.28,
2935
+ "learning_rate": 6.752519494976812e-06,
2936
+ "loss": 0.7685,
2937
+ "step": 488
2938
+ },
2939
+ {
2940
+ "epoch": 1.29,
2941
+ "learning_rate": 6.748963482351447e-06,
2942
+ "loss": 0.7724,
2943
+ "step": 489
2944
+ },
2945
+ {
2946
+ "epoch": 1.29,
2947
+ "learning_rate": 6.745383053695056e-06,
2948
+ "loss": 0.7693,
2949
+ "step": 490
2950
+ },
2951
+ {
2952
+ "epoch": 1.29,
2953
+ "learning_rate": 6.741778235914637e-06,
2954
+ "loss": 0.7815,
2955
+ "step": 491
2956
+ },
2957
+ {
2958
+ "epoch": 1.29,
2959
+ "learning_rate": 6.738149056100475e-06,
2960
+ "loss": 0.7702,
2961
+ "step": 492
2962
+ },
2963
+ {
2964
+ "epoch": 1.3,
2965
+ "learning_rate": 6.734495541525934e-06,
2966
+ "loss": 0.7744,
2967
+ "step": 493
2968
+ },
2969
+ {
2970
+ "epoch": 1.3,
2971
+ "learning_rate": 6.730817719647257e-06,
2972
+ "loss": 0.766,
2973
+ "step": 494
2974
+ },
2975
+ {
2976
+ "epoch": 1.3,
2977
+ "learning_rate": 6.727115618103354e-06,
2978
+ "loss": 0.7582,
2979
+ "step": 495
2980
+ },
2981
+ {
2982
+ "epoch": 1.3,
2983
+ "learning_rate": 6.7233892647156e-06,
2984
+ "loss": 0.7821,
2985
+ "step": 496
2986
+ },
2987
+ {
2988
+ "epoch": 1.31,
2989
+ "learning_rate": 6.719638687487618e-06,
2990
+ "loss": 0.7831,
2991
+ "step": 497
2992
+ },
2993
+ {
2994
+ "epoch": 1.31,
2995
+ "learning_rate": 6.71586391460508e-06,
2996
+ "loss": 0.7501,
2997
+ "step": 498
2998
+ },
2999
+ {
3000
+ "epoch": 1.31,
3001
+ "learning_rate": 6.712064974435485e-06,
3002
+ "loss": 0.783,
3003
+ "step": 499
3004
+ },
3005
+ {
3006
+ "epoch": 1.32,
3007
+ "learning_rate": 6.708241895527952e-06,
3008
+ "loss": 0.7857,
3009
+ "step": 500
3010
+ },
3011
+ {
3012
+ "epoch": 1.32,
3013
+ "learning_rate": 6.704394706613e-06,
3014
+ "loss": 0.7757,
3015
+ "step": 501
3016
+ },
3017
+ {
3018
+ "epoch": 1.32,
3019
+ "learning_rate": 6.700523436602338e-06,
3020
+ "loss": 0.7651,
3021
+ "step": 502
3022
+ },
3023
+ {
3024
+ "epoch": 1.32,
3025
+ "learning_rate": 6.696628114588645e-06,
3026
+ "loss": 0.7759,
3027
+ "step": 503
3028
+ },
3029
+ {
3030
+ "epoch": 1.33,
3031
+ "learning_rate": 6.69270876984535e-06,
3032
+ "loss": 0.7801,
3033
+ "step": 504
3034
+ },
3035
+ {
3036
+ "epoch": 1.33,
3037
+ "learning_rate": 6.688765431826413e-06,
3038
+ "loss": 0.7662,
3039
+ "step": 505
3040
+ },
3041
+ {
3042
+ "epoch": 1.33,
3043
+ "learning_rate": 6.6847981301661046e-06,
3044
+ "loss": 0.7566,
3045
+ "step": 506
3046
+ },
3047
+ {
3048
+ "epoch": 1.33,
3049
+ "learning_rate": 6.680806894678784e-06,
3050
+ "loss": 0.7733,
3051
+ "step": 507
3052
+ },
3053
+ {
3054
+ "epoch": 1.34,
3055
+ "learning_rate": 6.676791755358671e-06,
3056
+ "loss": 0.754,
3057
+ "step": 508
3058
+ },
3059
+ {
3060
+ "epoch": 1.34,
3061
+ "learning_rate": 6.6727527423796255e-06,
3062
+ "loss": 0.7871,
3063
+ "step": 509
3064
+ },
3065
+ {
3066
+ "epoch": 1.34,
3067
+ "learning_rate": 6.668689886094918e-06,
3068
+ "loss": 0.7614,
3069
+ "step": 510
3070
+ },
3071
+ {
3072
+ "epoch": 1.35,
3073
+ "learning_rate": 6.664603217037001e-06,
3074
+ "loss": 0.7691,
3075
+ "step": 511
3076
+ },
3077
+ {
3078
+ "epoch": 1.35,
3079
+ "learning_rate": 6.66049276591728e-06,
3080
+ "loss": 0.7669,
3081
+ "step": 512
3082
+ },
3083
+ {
3084
+ "epoch": 1.35,
3085
+ "learning_rate": 6.656358563625887e-06,
3086
+ "loss": 0.7487,
3087
+ "step": 513
3088
+ },
3089
+ {
3090
+ "epoch": 1.35,
3091
+ "learning_rate": 6.6522006412314404e-06,
3092
+ "loss": 0.7689,
3093
+ "step": 514
3094
+ },
3095
+ {
3096
+ "epoch": 1.36,
3097
+ "learning_rate": 6.648019029980816e-06,
3098
+ "loss": 0.7628,
3099
+ "step": 515
3100
+ },
3101
+ {
3102
+ "epoch": 1.36,
3103
+ "learning_rate": 6.643813761298915e-06,
3104
+ "loss": 0.7426,
3105
+ "step": 516
3106
+ },
3107
+ {
3108
+ "epoch": 1.36,
3109
+ "learning_rate": 6.6395848667884215e-06,
3110
+ "loss": 0.7693,
3111
+ "step": 517
3112
+ },
3113
+ {
3114
+ "epoch": 1.36,
3115
+ "learning_rate": 6.635332378229571e-06,
3116
+ "loss": 0.7734,
3117
+ "step": 518
3118
+ },
3119
+ {
3120
+ "epoch": 1.37,
3121
+ "learning_rate": 6.631056327579905e-06,
3122
+ "loss": 0.7633,
3123
+ "step": 519
3124
+ },
3125
+ {
3126
+ "epoch": 1.37,
3127
+ "learning_rate": 6.626756746974038e-06,
3128
+ "loss": 0.7947,
3129
+ "step": 520
3130
+ },
3131
+ {
3132
+ "epoch": 1.37,
3133
+ "learning_rate": 6.622433668723412e-06,
3134
+ "loss": 0.7693,
3135
+ "step": 521
3136
+ },
3137
+ {
3138
+ "epoch": 1.37,
3139
+ "learning_rate": 6.6180871253160525e-06,
3140
+ "loss": 0.7843,
3141
+ "step": 522
3142
+ },
3143
+ {
3144
+ "epoch": 1.38,
3145
+ "learning_rate": 6.613717149416329e-06,
3146
+ "loss": 0.7569,
3147
+ "step": 523
3148
+ },
3149
+ {
3150
+ "epoch": 1.38,
3151
+ "learning_rate": 6.609323773864704e-06,
3152
+ "loss": 0.7652,
3153
+ "step": 524
3154
+ },
3155
+ {
3156
+ "epoch": 1.38,
3157
+ "learning_rate": 6.60490703167749e-06,
3158
+ "loss": 0.7715,
3159
+ "step": 525
3160
+ },
3161
+ {
3162
+ "epoch": 1.39,
3163
+ "learning_rate": 6.6004669560466e-06,
3164
+ "loss": 0.778,
3165
+ "step": 526
3166
+ },
3167
+ {
3168
+ "epoch": 1.39,
3169
+ "learning_rate": 6.596003580339301e-06,
3170
+ "loss": 0.7888,
3171
+ "step": 527
3172
+ },
3173
+ {
3174
+ "epoch": 1.39,
3175
+ "learning_rate": 6.5915169380979565e-06,
3176
+ "loss": 0.7567,
3177
+ "step": 528
3178
+ },
3179
+ {
3180
+ "epoch": 1.39,
3181
+ "learning_rate": 6.58700706303978e-06,
3182
+ "loss": 0.768,
3183
+ "step": 529
3184
+ },
3185
+ {
3186
+ "epoch": 1.4,
3187
+ "learning_rate": 6.58247398905658e-06,
3188
+ "loss": 0.7729,
3189
+ "step": 530
3190
+ },
3191
+ {
3192
+ "epoch": 1.4,
3193
+ "learning_rate": 6.577917750214508e-06,
3194
+ "loss": 0.767,
3195
+ "step": 531
3196
+ },
3197
+ {
3198
+ "epoch": 1.4,
3199
+ "learning_rate": 6.573338380753795e-06,
3200
+ "loss": 0.7601,
3201
+ "step": 532
3202
+ },
3203
+ {
3204
+ "epoch": 1.4,
3205
+ "learning_rate": 6.568735915088504e-06,
3206
+ "loss": 0.7714,
3207
+ "step": 533
3208
+ },
3209
+ {
3210
+ "epoch": 1.41,
3211
+ "learning_rate": 6.564110387806263e-06,
3212
+ "loss": 0.7579,
3213
+ "step": 534
3214
+ },
3215
+ {
3216
+ "epoch": 1.41,
3217
+ "learning_rate": 6.5594618336680095e-06,
3218
+ "loss": 0.7693,
3219
+ "step": 535
3220
+ },
3221
+ {
3222
+ "epoch": 1.41,
3223
+ "learning_rate": 6.55479028760773e-06,
3224
+ "loss": 0.7818,
3225
+ "step": 536
3226
+ },
3227
+ {
3228
+ "epoch": 1.41,
3229
+ "learning_rate": 6.550095784732193e-06,
3230
+ "loss": 0.7641,
3231
+ "step": 537
3232
+ },
3233
+ {
3234
+ "epoch": 1.42,
3235
+ "learning_rate": 6.54537836032069e-06,
3236
+ "loss": 0.7658,
3237
+ "step": 538
3238
+ },
3239
+ {
3240
+ "epoch": 1.42,
3241
+ "learning_rate": 6.5406380498247695e-06,
3242
+ "loss": 0.7655,
3243
+ "step": 539
3244
+ },
3245
+ {
3246
+ "epoch": 1.42,
3247
+ "learning_rate": 6.535874888867964e-06,
3248
+ "loss": 0.7664,
3249
+ "step": 540
3250
+ },
3251
+ {
3252
+ "epoch": 1.43,
3253
+ "learning_rate": 6.531088913245536e-06,
3254
+ "loss": 0.7706,
3255
+ "step": 541
3256
+ },
3257
+ {
3258
+ "epoch": 1.43,
3259
+ "learning_rate": 6.526280158924192e-06,
3260
+ "loss": 0.771,
3261
+ "step": 542
3262
+ },
3263
+ {
3264
+ "epoch": 1.43,
3265
+ "learning_rate": 6.521448662041825e-06,
3266
+ "loss": 0.7582,
3267
+ "step": 543
3268
+ },
3269
+ {
3270
+ "epoch": 1.43,
3271
+ "learning_rate": 6.516594458907243e-06,
3272
+ "loss": 0.7743,
3273
+ "step": 544
3274
+ },
3275
+ {
3276
+ "epoch": 1.44,
3277
+ "learning_rate": 6.511717585999884e-06,
3278
+ "loss": 0.7657,
3279
+ "step": 545
3280
+ },
3281
+ {
3282
+ "epoch": 1.44,
3283
+ "learning_rate": 6.5068180799695556e-06,
3284
+ "loss": 0.7699,
3285
+ "step": 546
3286
+ },
3287
+ {
3288
+ "epoch": 1.44,
3289
+ "learning_rate": 6.501895977636151e-06,
3290
+ "loss": 0.7675,
3291
+ "step": 547
3292
+ },
3293
+ {
3294
+ "epoch": 1.44,
3295
+ "learning_rate": 6.4969513159893755e-06,
3296
+ "loss": 0.7887,
3297
+ "step": 548
3298
+ },
3299
+ {
3300
+ "epoch": 1.45,
3301
+ "learning_rate": 6.49198413218847e-06,
3302
+ "loss": 0.7647,
3303
+ "step": 549
3304
+ },
3305
+ {
3306
+ "epoch": 1.45,
3307
+ "learning_rate": 6.4869944635619266e-06,
3308
+ "loss": 0.7672,
3309
+ "step": 550
3310
+ },
3311
+ {
3312
+ "epoch": 1.45,
3313
+ "learning_rate": 6.4819823476072154e-06,
3314
+ "loss": 0.7506,
3315
+ "step": 551
3316
+ },
3317
+ {
3318
+ "epoch": 1.45,
3319
+ "learning_rate": 6.476947821990495e-06,
3320
+ "loss": 0.7772,
3321
+ "step": 552
3322
+ },
3323
+ {
3324
+ "epoch": 1.46,
3325
+ "learning_rate": 6.471890924546335e-06,
3326
+ "loss": 0.7484,
3327
+ "step": 553
3328
+ },
3329
+ {
3330
+ "epoch": 1.46,
3331
+ "learning_rate": 6.466811693277429e-06,
3332
+ "loss": 0.7668,
3333
+ "step": 554
3334
+ },
3335
+ {
3336
+ "epoch": 1.46,
3337
+ "learning_rate": 6.4617101663543115e-06,
3338
+ "loss": 0.7762,
3339
+ "step": 555
3340
+ },
3341
+ {
3342
+ "epoch": 1.47,
3343
+ "learning_rate": 6.456586382115066e-06,
3344
+ "loss": 0.7797,
3345
+ "step": 556
3346
+ },
3347
+ {
3348
+ "epoch": 1.47,
3349
+ "learning_rate": 6.4514403790650435e-06,
3350
+ "loss": 0.7401,
3351
+ "step": 557
3352
+ },
3353
+ {
3354
+ "epoch": 1.47,
3355
+ "learning_rate": 6.4462721958765695e-06,
3356
+ "loss": 0.7589,
3357
+ "step": 558
3358
+ },
3359
+ {
3360
+ "epoch": 1.47,
3361
+ "learning_rate": 6.441081871388649e-06,
3362
+ "loss": 0.7648,
3363
+ "step": 559
3364
+ },
3365
+ {
3366
+ "epoch": 1.48,
3367
+ "learning_rate": 6.435869444606687e-06,
3368
+ "loss": 0.7714,
3369
+ "step": 560
3370
+ },
3371
+ {
3372
+ "epoch": 1.48,
3373
+ "learning_rate": 6.430634954702182e-06,
3374
+ "loss": 0.7544,
3375
+ "step": 561
3376
+ },
3377
+ {
3378
+ "epoch": 1.48,
3379
+ "learning_rate": 6.42537844101244e-06,
3380
+ "loss": 0.7706,
3381
+ "step": 562
3382
+ },
3383
+ {
3384
+ "epoch": 1.48,
3385
+ "learning_rate": 6.420099943040274e-06,
3386
+ "loss": 0.7833,
3387
+ "step": 563
3388
+ },
3389
+ {
3390
+ "epoch": 1.49,
3391
+ "learning_rate": 6.414799500453712e-06,
3392
+ "loss": 0.7769,
3393
+ "step": 564
3394
+ },
3395
+ {
3396
+ "epoch": 1.49,
3397
+ "learning_rate": 6.409477153085693e-06,
3398
+ "loss": 0.7537,
3399
+ "step": 565
3400
+ },
3401
+ {
3402
+ "epoch": 1.49,
3403
+ "learning_rate": 6.404132940933776e-06,
3404
+ "loss": 0.773,
3405
+ "step": 566
3406
+ },
3407
+ {
3408
+ "epoch": 1.49,
3409
+ "learning_rate": 6.398766904159829e-06,
3410
+ "loss": 0.7794,
3411
+ "step": 567
3412
+ },
3413
+ {
3414
+ "epoch": 1.5,
3415
+ "learning_rate": 6.393379083089736e-06,
3416
+ "loss": 0.7687,
3417
+ "step": 568
3418
+ },
3419
+ {
3420
+ "epoch": 1.5,
3421
+ "learning_rate": 6.387969518213087e-06,
3422
+ "loss": 0.7838,
3423
+ "step": 569
3424
+ },
3425
+ {
3426
+ "epoch": 1.5,
3427
+ "learning_rate": 6.382538250182883e-06,
3428
+ "loss": 0.7789,
3429
+ "step": 570
3430
+ },
3431
+ {
3432
+ "epoch": 1.51,
3433
+ "learning_rate": 6.377085319815218e-06,
3434
+ "loss": 0.7616,
3435
+ "step": 571
3436
+ },
3437
+ {
3438
+ "epoch": 1.51,
3439
+ "learning_rate": 6.371610768088981e-06,
3440
+ "loss": 0.772,
3441
+ "step": 572
3442
+ },
3443
+ {
3444
+ "epoch": 1.51,
3445
+ "learning_rate": 6.366114636145552e-06,
3446
+ "loss": 0.7507,
3447
+ "step": 573
3448
+ },
3449
+ {
3450
+ "epoch": 1.51,
3451
+ "learning_rate": 6.360596965288476e-06,
3452
+ "loss": 0.7573,
3453
+ "step": 574
3454
+ },
3455
+ {
3456
+ "epoch": 1.52,
3457
+ "learning_rate": 6.3550577969831725e-06,
3458
+ "loss": 0.7706,
3459
+ "step": 575
3460
+ },
3461
+ {
3462
+ "epoch": 1.52,
3463
+ "learning_rate": 6.3494971728566115e-06,
3464
+ "loss": 0.7783,
3465
+ "step": 576
3466
+ },
3467
+ {
3468
+ "epoch": 1.52,
3469
+ "learning_rate": 6.343915134697002e-06,
3470
+ "loss": 0.7667,
3471
+ "step": 577
3472
+ },
3473
+ {
3474
+ "epoch": 1.52,
3475
+ "learning_rate": 6.338311724453484e-06,
3476
+ "loss": 0.7681,
3477
+ "step": 578
3478
+ },
3479
+ {
3480
+ "epoch": 1.53,
3481
+ "learning_rate": 6.332686984235804e-06,
3482
+ "loss": 0.7756,
3483
+ "step": 579
3484
+ },
3485
+ {
3486
+ "epoch": 1.53,
3487
+ "learning_rate": 6.327040956314011e-06,
3488
+ "loss": 0.7616,
3489
+ "step": 580
3490
+ },
3491
+ {
3492
+ "epoch": 1.53,
3493
+ "learning_rate": 6.321373683118123e-06,
3494
+ "loss": 0.7762,
3495
+ "step": 581
3496
+ },
3497
+ {
3498
+ "epoch": 1.53,
3499
+ "learning_rate": 6.315685207237823e-06,
3500
+ "loss": 0.773,
3501
+ "step": 582
3502
+ },
3503
+ {
3504
+ "epoch": 1.54,
3505
+ "learning_rate": 6.309975571422131e-06,
3506
+ "loss": 0.7471,
3507
+ "step": 583
3508
+ },
3509
+ {
3510
+ "epoch": 1.54,
3511
+ "learning_rate": 6.304244818579083e-06,
3512
+ "loss": 0.7537,
3513
+ "step": 584
3514
+ },
3515
+ {
3516
+ "epoch": 1.54,
3517
+ "learning_rate": 6.298492991775411e-06,
3518
+ "loss": 0.7712,
3519
+ "step": 585
3520
+ },
3521
+ {
3522
+ "epoch": 1.55,
3523
+ "learning_rate": 6.292720134236218e-06,
3524
+ "loss": 0.7735,
3525
+ "step": 586
3526
+ },
3527
+ {
3528
+ "epoch": 1.55,
3529
+ "learning_rate": 6.286926289344656e-06,
3530
+ "loss": 0.7456,
3531
+ "step": 587
3532
+ },
3533
+ {
3534
+ "epoch": 1.55,
3535
+ "learning_rate": 6.2811115006415916e-06,
3536
+ "loss": 0.7729,
3537
+ "step": 588
3538
+ },
3539
+ {
3540
+ "epoch": 1.55,
3541
+ "learning_rate": 6.275275811825288e-06,
3542
+ "loss": 0.7844,
3543
+ "step": 589
3544
+ },
3545
+ {
3546
+ "epoch": 1.56,
3547
+ "learning_rate": 6.269419266751077e-06,
3548
+ "loss": 0.7748,
3549
+ "step": 590
3550
+ },
3551
+ {
3552
+ "epoch": 1.56,
3553
+ "learning_rate": 6.263541909431018e-06,
3554
+ "loss": 0.7601,
3555
+ "step": 591
3556
+ },
3557
+ {
3558
+ "epoch": 1.56,
3559
+ "learning_rate": 6.257643784033581e-06,
3560
+ "loss": 0.7783,
3561
+ "step": 592
3562
+ },
3563
+ {
3564
+ "epoch": 1.56,
3565
+ "learning_rate": 6.251724934883305e-06,
3566
+ "loss": 0.7934,
3567
+ "step": 593
3568
+ },
3569
+ {
3570
+ "epoch": 1.57,
3571
+ "learning_rate": 6.245785406460471e-06,
3572
+ "loss": 0.7638,
3573
+ "step": 594
3574
+ },
3575
+ {
3576
+ "epoch": 1.57,
3577
+ "learning_rate": 6.239825243400762e-06,
3578
+ "loss": 0.7636,
3579
+ "step": 595
3580
+ },
3581
+ {
3582
+ "epoch": 1.57,
3583
+ "learning_rate": 6.233844490494934e-06,
3584
+ "loss": 0.764,
3585
+ "step": 596
3586
+ },
3587
+ {
3588
+ "epoch": 1.57,
3589
+ "learning_rate": 6.227843192688475e-06,
3590
+ "loss": 0.7677,
3591
+ "step": 597
3592
+ },
3593
+ {
3594
+ "epoch": 1.58,
3595
+ "learning_rate": 6.221821395081267e-06,
3596
+ "loss": 0.7657,
3597
+ "step": 598
3598
+ },
3599
+ {
3600
+ "epoch": 1.58,
3601
+ "learning_rate": 6.21577914292725e-06,
3602
+ "loss": 0.7745,
3603
+ "step": 599
3604
+ },
3605
+ {
3606
+ "epoch": 1.58,
3607
+ "learning_rate": 6.209716481634081e-06,
3608
+ "loss": 0.7658,
3609
+ "step": 600
3610
+ },
3611
+ {
3612
+ "epoch": 1.59,
3613
+ "learning_rate": 6.20363345676279e-06,
3614
+ "loss": 0.7726,
3615
+ "step": 601
3616
+ },
3617
+ {
3618
+ "epoch": 1.59,
3619
+ "learning_rate": 6.1975301140274415e-06,
3620
+ "loss": 0.7627,
3621
+ "step": 602
3622
+ },
3623
+ {
3624
+ "epoch": 1.59,
3625
+ "learning_rate": 6.1914064992947875e-06,
3626
+ "loss": 0.7601,
3627
+ "step": 603
3628
+ },
3629
+ {
3630
+ "epoch": 1.59,
3631
+ "learning_rate": 6.1852626585839265e-06,
3632
+ "loss": 0.758,
3633
+ "step": 604
3634
+ },
3635
+ {
3636
+ "epoch": 1.6,
3637
+ "learning_rate": 6.179098638065954e-06,
3638
+ "loss": 0.7636,
3639
+ "step": 605
3640
+ },
3641
+ {
3642
+ "epoch": 1.6,
3643
+ "learning_rate": 6.172914484063619e-06,
3644
+ "loss": 0.7678,
3645
+ "step": 606
3646
+ },
3647
+ {
3648
+ "epoch": 1.6,
3649
+ "learning_rate": 6.166710243050972e-06,
3650
+ "loss": 0.7489,
3651
+ "step": 607
3652
+ },
3653
+ {
3654
+ "epoch": 1.6,
3655
+ "learning_rate": 6.160485961653018e-06,
3656
+ "loss": 0.7629,
3657
+ "step": 608
3658
+ },
3659
+ {
3660
+ "epoch": 1.61,
3661
+ "learning_rate": 6.154241686645368e-06,
3662
+ "loss": 0.7684,
3663
+ "step": 609
3664
+ },
3665
+ {
3666
+ "epoch": 1.61,
3667
+ "learning_rate": 6.147977464953884e-06,
3668
+ "loss": 0.7567,
3669
+ "step": 610
3670
+ },
3671
+ {
3672
+ "epoch": 1.61,
3673
+ "learning_rate": 6.141693343654327e-06,
3674
+ "loss": 0.7699,
3675
+ "step": 611
3676
+ },
3677
+ {
3678
+ "epoch": 1.61,
3679
+ "learning_rate": 6.135389369972006e-06,
3680
+ "loss": 0.7728,
3681
+ "step": 612
3682
+ },
3683
+ {
3684
+ "epoch": 1.62,
3685
+ "learning_rate": 6.129065591281419e-06,
3686
+ "loss": 0.7455,
3687
+ "step": 613
3688
+ },
3689
+ {
3690
+ "epoch": 1.62,
3691
+ "learning_rate": 6.1227220551059e-06,
3692
+ "loss": 0.7448,
3693
+ "step": 614
3694
+ },
3695
+ {
3696
+ "epoch": 1.62,
3697
+ "learning_rate": 6.116358809117262e-06,
3698
+ "loss": 0.7585,
3699
+ "step": 615
3700
+ },
3701
+ {
3702
+ "epoch": 1.63,
3703
+ "learning_rate": 6.109975901135435e-06,
3704
+ "loss": 0.7339,
3705
+ "step": 616
3706
+ },
3707
+ {
3708
+ "epoch": 1.63,
3709
+ "learning_rate": 6.1035733791281125e-06,
3710
+ "loss": 0.7715,
3711
+ "step": 617
3712
+ },
3713
+ {
3714
+ "epoch": 1.63,
3715
+ "learning_rate": 6.097151291210385e-06,
3716
+ "loss": 0.7648,
3717
+ "step": 618
3718
+ },
3719
+ {
3720
+ "epoch": 1.63,
3721
+ "learning_rate": 6.090709685644382e-06,
3722
+ "loss": 0.7566,
3723
+ "step": 619
3724
+ },
3725
+ {
3726
+ "epoch": 1.64,
3727
+ "learning_rate": 6.084248610838911e-06,
3728
+ "loss": 0.753,
3729
+ "step": 620
3730
+ },
3731
+ {
3732
+ "epoch": 1.64,
3733
+ "learning_rate": 6.077768115349088e-06,
3734
+ "loss": 0.7709,
3735
+ "step": 621
3736
+ },
3737
+ {
3738
+ "epoch": 1.64,
3739
+ "learning_rate": 6.071268247875976e-06,
3740
+ "loss": 0.756,
3741
+ "step": 622
3742
+ },
3743
+ {
3744
+ "epoch": 1.64,
3745
+ "learning_rate": 6.064749057266223e-06,
3746
+ "loss": 0.7812,
3747
+ "step": 623
3748
+ },
3749
+ {
3750
+ "epoch": 1.65,
3751
+ "learning_rate": 6.058210592511687e-06,
3752
+ "loss": 0.7728,
3753
+ "step": 624
3754
+ },
3755
+ {
3756
+ "epoch": 1.65,
3757
+ "learning_rate": 6.05165290274907e-06,
3758
+ "loss": 0.7775,
3759
+ "step": 625
3760
+ },
3761
+ {
3762
+ "epoch": 1.65,
3763
+ "learning_rate": 6.045076037259554e-06,
3764
+ "loss": 0.7655,
3765
+ "step": 626
3766
+ },
3767
+ {
3768
+ "epoch": 1.65,
3769
+ "learning_rate": 6.038480045468426e-06,
3770
+ "loss": 0.7668,
3771
+ "step": 627
3772
+ },
3773
+ {
3774
+ "epoch": 1.66,
3775
+ "learning_rate": 6.03186497694471e-06,
3776
+ "loss": 0.7593,
3777
+ "step": 628
3778
+ },
3779
+ {
3780
+ "epoch": 1.66,
3781
+ "learning_rate": 6.025230881400785e-06,
3782
+ "loss": 0.7666,
3783
+ "step": 629
3784
+ },
3785
+ {
3786
+ "epoch": 1.66,
3787
+ "learning_rate": 6.0185778086920245e-06,
3788
+ "loss": 0.7841,
3789
+ "step": 630
3790
+ },
3791
+ {
3792
+ "epoch": 1.67,
3793
+ "learning_rate": 6.011905808816416e-06,
3794
+ "loss": 0.7709,
3795
+ "step": 631
3796
+ },
3797
+ {
3798
+ "epoch": 1.67,
3799
+ "learning_rate": 6.0052149319141795e-06,
3800
+ "loss": 0.7763,
3801
+ "step": 632
3802
+ },
3803
+ {
3804
+ "epoch": 1.67,
3805
+ "learning_rate": 5.998505228267403e-06,
3806
+ "loss": 0.7759,
3807
+ "step": 633
3808
+ },
3809
+ {
3810
+ "epoch": 1.67,
3811
+ "learning_rate": 5.991776748299656e-06,
3812
+ "loss": 0.7607,
3813
+ "step": 634
3814
+ },
3815
+ {
3816
+ "epoch": 1.68,
3817
+ "learning_rate": 5.985029542575608e-06,
3818
+ "loss": 0.7639,
3819
+ "step": 635
3820
+ },
3821
+ {
3822
+ "epoch": 1.68,
3823
+ "learning_rate": 5.978263661800657e-06,
3824
+ "loss": 0.7745,
3825
+ "step": 636
3826
+ },
3827
+ {
3828
+ "epoch": 1.68,
3829
+ "learning_rate": 5.971479156820547e-06,
3830
+ "loss": 0.7635,
3831
+ "step": 637
3832
+ },
3833
+ {
3834
+ "epoch": 1.68,
3835
+ "learning_rate": 5.964676078620975e-06,
3836
+ "loss": 0.7504,
3837
+ "step": 638
3838
+ },
3839
+ {
3840
+ "epoch": 1.69,
3841
+ "learning_rate": 5.957854478327225e-06,
3842
+ "loss": 0.7548,
3843
+ "step": 639
3844
+ },
3845
+ {
3846
+ "epoch": 1.69,
3847
+ "learning_rate": 5.95101440720377e-06,
3848
+ "loss": 0.7677,
3849
+ "step": 640
3850
+ },
3851
+ {
3852
+ "epoch": 1.69,
3853
+ "learning_rate": 5.944155916653893e-06,
3854
+ "loss": 0.7543,
3855
+ "step": 641
3856
+ },
3857
+ {
3858
+ "epoch": 1.7,
3859
+ "learning_rate": 5.9372790582192985e-06,
3860
+ "loss": 0.7651,
3861
+ "step": 642
3862
+ },
3863
+ {
3864
+ "epoch": 1.7,
3865
+ "learning_rate": 5.930383883579727e-06,
3866
+ "loss": 0.7578,
3867
+ "step": 643
3868
+ },
3869
+ {
3870
+ "epoch": 1.7,
3871
+ "learning_rate": 5.923470444552567e-06,
3872
+ "loss": 0.7588,
3873
+ "step": 644
3874
+ },
3875
+ {
3876
+ "epoch": 1.7,
3877
+ "learning_rate": 5.91653879309246e-06,
3878
+ "loss": 0.755,
3879
+ "step": 645
3880
+ },
3881
+ {
3882
+ "epoch": 1.71,
3883
+ "learning_rate": 5.909588981290919e-06,
3884
+ "loss": 0.7546,
3885
+ "step": 646
3886
+ },
3887
+ {
3888
+ "epoch": 1.71,
3889
+ "learning_rate": 5.90262106137593e-06,
3890
+ "loss": 0.752,
3891
+ "step": 647
3892
+ },
3893
+ {
3894
+ "epoch": 1.71,
3895
+ "learning_rate": 5.895635085711562e-06,
3896
+ "loss": 0.7806,
3897
+ "step": 648
3898
+ },
3899
+ {
3900
+ "epoch": 1.71,
3901
+ "learning_rate": 5.8886311067975745e-06,
3902
+ "loss": 0.7765,
3903
+ "step": 649
3904
+ },
3905
+ {
3906
+ "epoch": 1.72,
3907
+ "learning_rate": 5.8816091772690205e-06,
3908
+ "loss": 0.7637,
3909
+ "step": 650
3910
+ },
3911
+ {
3912
+ "epoch": 1.72,
3913
+ "learning_rate": 5.87456934989585e-06,
3914
+ "loss": 0.7792,
3915
+ "step": 651
3916
+ },
3917
+ {
3918
+ "epoch": 1.72,
3919
+ "learning_rate": 5.867511677582522e-06,
3920
+ "loss": 0.7492,
3921
+ "step": 652
3922
+ },
3923
+ {
3924
+ "epoch": 1.72,
3925
+ "learning_rate": 5.860436213367597e-06,
3926
+ "loss": 0.7509,
3927
+ "step": 653
3928
+ },
3929
+ {
3930
+ "epoch": 1.73,
3931
+ "learning_rate": 5.85334301042334e-06,
3932
+ "loss": 0.7514,
3933
+ "step": 654
3934
+ },
3935
+ {
3936
+ "epoch": 1.73,
3937
+ "learning_rate": 5.846232122055325e-06,
3938
+ "loss": 0.7695,
3939
+ "step": 655
3940
+ },
3941
+ {
3942
+ "epoch": 1.73,
3943
+ "learning_rate": 5.839103601702033e-06,
3944
+ "loss": 0.7693,
3945
+ "step": 656
3946
+ },
3947
+ {
3948
+ "epoch": 1.74,
3949
+ "learning_rate": 5.83195750293445e-06,
3950
+ "loss": 0.7466,
3951
+ "step": 657
3952
+ },
3953
+ {
3954
+ "epoch": 1.74,
3955
+ "learning_rate": 5.824793879455662e-06,
3956
+ "loss": 0.7652,
3957
+ "step": 658
3958
+ },
3959
+ {
3960
+ "epoch": 1.74,
3961
+ "learning_rate": 5.817612785100454e-06,
3962
+ "loss": 0.7558,
3963
+ "step": 659
3964
+ },
3965
+ {
3966
+ "epoch": 1.74,
3967
+ "learning_rate": 5.8104142738349076e-06,
3968
+ "loss": 0.7638,
3969
+ "step": 660
3970
+ },
3971
+ {
3972
+ "epoch": 1.75,
3973
+ "learning_rate": 5.803198399755989e-06,
3974
+ "loss": 0.7717,
3975
+ "step": 661
3976
+ },
3977
+ {
3978
+ "epoch": 1.75,
3979
+ "learning_rate": 5.795965217091152e-06,
3980
+ "loss": 0.7551,
3981
+ "step": 662
3982
+ },
3983
+ {
3984
+ "epoch": 1.75,
3985
+ "learning_rate": 5.788714780197918e-06,
3986
+ "loss": 0.7692,
3987
+ "step": 663
3988
+ },
3989
+ {
3990
+ "epoch": 1.75,
3991
+ "learning_rate": 5.7814471435634775e-06,
3992
+ "loss": 0.7454,
3993
+ "step": 664
3994
+ },
3995
+ {
3996
+ "epoch": 1.76,
3997
+ "learning_rate": 5.774162361804279e-06,
3998
+ "loss": 0.7591,
3999
+ "step": 665
4000
+ },
4001
+ {
4002
+ "epoch": 1.76,
4003
+ "learning_rate": 5.7668604896656145e-06,
4004
+ "loss": 0.7511,
4005
+ "step": 666
4006
+ },
4007
+ {
4008
+ "epoch": 1.76,
4009
+ "learning_rate": 5.7595415820212105e-06,
4010
+ "loss": 0.757,
4011
+ "step": 667
4012
+ },
4013
+ {
4014
+ "epoch": 1.76,
4015
+ "learning_rate": 5.752205693872819e-06,
4016
+ "loss": 0.7593,
4017
+ "step": 668
4018
+ },
4019
+ {
4020
+ "epoch": 1.77,
4021
+ "learning_rate": 5.7448528803497975e-06,
4022
+ "loss": 0.7667,
4023
+ "step": 669
4024
+ },
4025
+ {
4026
+ "epoch": 1.77,
4027
+ "learning_rate": 5.737483196708698e-06,
4028
+ "loss": 0.766,
4029
+ "step": 670
4030
+ },
4031
+ {
4032
+ "epoch": 1.77,
4033
+ "learning_rate": 5.730096698332854e-06,
4034
+ "loss": 0.7675,
4035
+ "step": 671
4036
+ },
4037
+ {
4038
+ "epoch": 1.78,
4039
+ "learning_rate": 5.722693440731961e-06,
4040
+ "loss": 0.7549,
4041
+ "step": 672
4042
+ },
4043
+ {
4044
+ "epoch": 1.78,
4045
+ "learning_rate": 5.715273479541661e-06,
4046
+ "loss": 0.7377,
4047
+ "step": 673
4048
+ },
4049
+ {
4050
+ "epoch": 1.78,
4051
+ "learning_rate": 5.707836870523121e-06,
4052
+ "loss": 0.748,
4053
+ "step": 674
4054
+ },
4055
+ {
4056
+ "epoch": 1.78,
4057
+ "learning_rate": 5.700383669562621e-06,
4058
+ "loss": 0.7765,
4059
+ "step": 675
4060
+ },
4061
+ {
4062
+ "epoch": 1.79,
4063
+ "learning_rate": 5.692913932671127e-06,
4064
+ "loss": 0.7583,
4065
+ "step": 676
4066
+ },
4067
+ {
4068
+ "epoch": 1.79,
4069
+ "learning_rate": 5.685427715983874e-06,
4070
+ "loss": 0.7747,
4071
+ "step": 677
4072
+ },
4073
+ {
4074
+ "epoch": 1.79,
4075
+ "learning_rate": 5.677925075759944e-06,
4076
+ "loss": 0.7733,
4077
+ "step": 678
4078
+ },
4079
+ {
4080
+ "epoch": 1.79,
4081
+ "learning_rate": 5.670406068381839e-06,
4082
+ "loss": 0.7632,
4083
+ "step": 679
4084
+ },
4085
+ {
4086
+ "epoch": 1.8,
4087
+ "learning_rate": 5.662870750355062e-06,
4088
+ "loss": 0.7824,
4089
+ "step": 680
4090
+ },
4091
+ {
4092
+ "epoch": 1.8,
4093
+ "learning_rate": 5.655319178307693e-06,
4094
+ "loss": 0.7623,
4095
+ "step": 681
4096
+ },
4097
+ {
4098
+ "epoch": 1.8,
4099
+ "learning_rate": 5.647751408989961e-06,
4100
+ "loss": 0.7601,
4101
+ "step": 682
4102
+ },
4103
+ {
4104
+ "epoch": 1.8,
4105
+ "learning_rate": 5.640167499273813e-06,
4106
+ "loss": 0.7556,
4107
+ "step": 683
4108
+ },
4109
+ {
4110
+ "epoch": 1.81,
4111
+ "learning_rate": 5.632567506152498e-06,
4112
+ "loss": 0.7711,
4113
+ "step": 684
4114
+ },
4115
+ {
4116
+ "epoch": 1.81,
4117
+ "learning_rate": 5.624951486740128e-06,
4118
+ "loss": 0.7567,
4119
+ "step": 685
4120
+ },
4121
+ {
4122
+ "epoch": 1.81,
4123
+ "learning_rate": 5.617319498271254e-06,
4124
+ "loss": 0.7585,
4125
+ "step": 686
4126
+ },
4127
+ {
4128
+ "epoch": 1.82,
4129
+ "learning_rate": 5.609671598100434e-06,
4130
+ "loss": 0.7467,
4131
+ "step": 687
4132
+ },
4133
+ {
4134
+ "epoch": 1.82,
4135
+ "learning_rate": 5.6020078437018046e-06,
4136
+ "loss": 0.7504,
4137
+ "step": 688
4138
+ },
4139
+ {
4140
+ "epoch": 1.82,
4141
+ "learning_rate": 5.594328292668647e-06,
4142
+ "loss": 0.7736,
4143
+ "step": 689
4144
+ },
4145
+ {
4146
+ "epoch": 1.82,
4147
+ "learning_rate": 5.586633002712952e-06,
4148
+ "loss": 0.7626,
4149
+ "step": 690
4150
+ },
4151
+ {
4152
+ "epoch": 1.83,
4153
+ "learning_rate": 5.578922031664992e-06,
4154
+ "loss": 0.7627,
4155
+ "step": 691
4156
+ },
4157
+ {
4158
+ "epoch": 1.83,
4159
+ "learning_rate": 5.571195437472881e-06,
4160
+ "loss": 0.7522,
4161
+ "step": 692
4162
+ },
4163
+ {
4164
+ "epoch": 1.83,
4165
+ "learning_rate": 5.563453278202141e-06,
4166
+ "loss": 0.7572,
4167
+ "step": 693
4168
+ },
4169
+ {
4170
+ "epoch": 1.83,
4171
+ "learning_rate": 5.555695612035269e-06,
4172
+ "loss": 0.7501,
4173
+ "step": 694
4174
+ },
4175
+ {
4176
+ "epoch": 1.84,
4177
+ "learning_rate": 5.547922497271293e-06,
4178
+ "loss": 0.7641,
4179
+ "step": 695
4180
+ },
4181
+ {
4182
+ "epoch": 1.84,
4183
+ "learning_rate": 5.54013399232534e-06,
4184
+ "loss": 0.769,
4185
+ "step": 696
4186
+ },
4187
+ {
4188
+ "epoch": 1.84,
4189
+ "learning_rate": 5.532330155728192e-06,
4190
+ "loss": 0.7741,
4191
+ "step": 697
4192
+ },
4193
+ {
4194
+ "epoch": 1.84,
4195
+ "learning_rate": 5.524511046125852e-06,
4196
+ "loss": 0.7799,
4197
+ "step": 698
4198
+ },
4199
+ {
4200
+ "epoch": 1.85,
4201
+ "learning_rate": 5.516676722279097e-06,
4202
+ "loss": 0.7538,
4203
+ "step": 699
4204
+ },
4205
+ {
4206
+ "epoch": 1.85,
4207
+ "learning_rate": 5.50882724306304e-06,
4208
+ "loss": 0.769,
4209
+ "step": 700
4210
+ },
4211
+ {
4212
+ "epoch": 1.85,
4213
+ "learning_rate": 5.500962667466689e-06,
4214
+ "loss": 0.7714,
4215
+ "step": 701
4216
+ },
4217
+ {
4218
+ "epoch": 1.86,
4219
+ "learning_rate": 5.4930830545925e-06,
4220
+ "loss": 0.7627,
4221
+ "step": 702
4222
+ },
4223
+ {
4224
+ "epoch": 1.86,
4225
+ "learning_rate": 5.485188463655933e-06,
4226
+ "loss": 0.7669,
4227
+ "step": 703
4228
+ },
4229
+ {
4230
+ "epoch": 1.86,
4231
+ "learning_rate": 5.477278953985013e-06,
4232
+ "loss": 0.7449,
4233
+ "step": 704
4234
+ },
4235
+ {
4236
+ "epoch": 1.86,
4237
+ "learning_rate": 5.469354585019874e-06,
4238
+ "loss": 0.7427,
4239
+ "step": 705
4240
+ },
4241
+ {
4242
+ "epoch": 1.87,
4243
+ "learning_rate": 5.461415416312322e-06,
4244
+ "loss": 0.7405,
4245
+ "step": 706
4246
+ },
4247
+ {
4248
+ "epoch": 1.87,
4249
+ "learning_rate": 5.453461507525382e-06,
4250
+ "loss": 0.7655,
4251
+ "step": 707
4252
+ },
4253
+ {
4254
+ "epoch": 1.87,
4255
+ "learning_rate": 5.4454929184328505e-06,
4256
+ "loss": 0.7592,
4257
+ "step": 708
4258
+ },
4259
+ {
4260
+ "epoch": 1.87,
4261
+ "learning_rate": 5.437509708918847e-06,
4262
+ "loss": 0.7678,
4263
+ "step": 709
4264
+ },
4265
+ {
4266
+ "epoch": 1.88,
4267
+ "learning_rate": 5.429511938977365e-06,
4268
+ "loss": 0.7652,
4269
+ "step": 710
4270
+ },
4271
+ {
4272
+ "epoch": 1.88,
4273
+ "learning_rate": 5.421499668711819e-06,
4274
+ "loss": 0.7534,
4275
+ "step": 711
4276
+ },
4277
+ {
4278
+ "epoch": 1.88,
4279
+ "learning_rate": 5.4134729583345936e-06,
4280
+ "loss": 0.7434,
4281
+ "step": 712
4282
+ },
4283
+ {
4284
+ "epoch": 1.88,
4285
+ "learning_rate": 5.405431868166591e-06,
4286
+ "loss": 0.7676,
4287
+ "step": 713
4288
+ },
4289
+ {
4290
+ "epoch": 1.89,
4291
+ "learning_rate": 5.3973764586367775e-06,
4292
+ "loss": 0.7609,
4293
+ "step": 714
4294
+ },
4295
+ {
4296
+ "epoch": 1.89,
4297
+ "learning_rate": 5.389306790281732e-06,
4298
+ "loss": 0.776,
4299
+ "step": 715
4300
+ },
4301
+ {
4302
+ "epoch": 1.89,
4303
+ "learning_rate": 5.381222923745186e-06,
4304
+ "loss": 0.7525,
4305
+ "step": 716
4306
+ },
4307
+ {
4308
+ "epoch": 1.9,
4309
+ "learning_rate": 5.3731249197775734e-06,
4310
+ "loss": 0.7476,
4311
+ "step": 717
4312
+ },
4313
+ {
4314
+ "epoch": 1.9,
4315
+ "learning_rate": 5.365012839235568e-06,
4316
+ "loss": 0.7695,
4317
+ "step": 718
4318
+ },
4319
+ {
4320
+ "epoch": 1.9,
4321
+ "learning_rate": 5.356886743081632e-06,
4322
+ "loss": 0.7484,
4323
+ "step": 719
4324
+ },
4325
+ {
4326
+ "epoch": 1.9,
4327
+ "learning_rate": 5.348746692383553e-06,
4328
+ "loss": 0.7758,
4329
+ "step": 720
4330
+ },
4331
+ {
4332
+ "epoch": 1.91,
4333
+ "learning_rate": 5.34059274831399e-06,
4334
+ "loss": 0.7764,
4335
+ "step": 721
4336
+ },
4337
+ {
4338
+ "epoch": 1.91,
4339
+ "learning_rate": 5.33242497215001e-06,
4340
+ "loss": 0.7557,
4341
+ "step": 722
4342
+ },
4343
+ {
4344
+ "epoch": 1.91,
4345
+ "learning_rate": 5.324243425272624e-06,
4346
+ "loss": 0.7578,
4347
+ "step": 723
4348
+ },
4349
+ {
4350
+ "epoch": 1.91,
4351
+ "learning_rate": 5.316048169166339e-06,
4352
+ "loss": 0.7841,
4353
+ "step": 724
4354
+ },
4355
+ {
4356
+ "epoch": 1.92,
4357
+ "learning_rate": 5.30783926541868e-06,
4358
+ "loss": 0.7584,
4359
+ "step": 725
4360
+ },
4361
+ {
4362
+ "epoch": 1.92,
4363
+ "learning_rate": 5.299616775719737e-06,
4364
+ "loss": 0.7628,
4365
+ "step": 726
4366
+ },
4367
+ {
4368
+ "epoch": 1.92,
4369
+ "learning_rate": 5.2913807618616975e-06,
4370
+ "loss": 0.7618,
4371
+ "step": 727
4372
+ },
4373
+ {
4374
+ "epoch": 1.92,
4375
+ "learning_rate": 5.283131285738386e-06,
4376
+ "loss": 0.7585,
4377
+ "step": 728
4378
+ },
4379
+ {
4380
+ "epoch": 1.93,
4381
+ "learning_rate": 5.274868409344793e-06,
4382
+ "loss": 0.7537,
4383
+ "step": 729
4384
+ },
4385
+ {
4386
+ "epoch": 1.93,
4387
+ "learning_rate": 5.266592194776616e-06,
4388
+ "loss": 0.7753,
4389
+ "step": 730
4390
+ },
4391
+ {
4392
+ "epoch": 1.93,
4393
+ "learning_rate": 5.258302704229784e-06,
4394
+ "loss": 0.7528,
4395
+ "step": 731
4396
+ },
4397
+ {
4398
+ "epoch": 1.94,
4399
+ "learning_rate": 5.25e-06,
4400
+ "loss": 0.7833,
4401
+ "step": 732
4402
+ },
4403
+ {
4404
+ "epoch": 1.94,
4405
+ "learning_rate": 5.241684144482266e-06,
4406
+ "loss": 0.7568,
4407
+ "step": 733
4408
+ },
4409
+ {
4410
+ "epoch": 1.94,
4411
+ "learning_rate": 5.233355200170416e-06,
4412
+ "loss": 0.7591,
4413
+ "step": 734
4414
+ },
4415
+ {
4416
+ "epoch": 1.94,
4417
+ "learning_rate": 5.225013229656649e-06,
4418
+ "loss": 0.7611,
4419
+ "step": 735
4420
+ },
4421
+ {
4422
+ "epoch": 1.95,
4423
+ "learning_rate": 5.216658295631052e-06,
4424
+ "loss": 0.7563,
4425
+ "step": 736
4426
+ },
4427
+ {
4428
+ "epoch": 1.95,
4429
+ "learning_rate": 5.208290460881136e-06,
4430
+ "loss": 0.7676,
4431
+ "step": 737
4432
+ },
4433
+ {
4434
+ "epoch": 1.95,
4435
+ "learning_rate": 5.199909788291361e-06,
4436
+ "loss": 0.7736,
4437
+ "step": 738
4438
+ },
4439
+ {
4440
+ "epoch": 1.95,
4441
+ "learning_rate": 5.1915163408426645e-06,
4442
+ "loss": 0.7544,
4443
+ "step": 739
4444
+ },
4445
+ {
4446
+ "epoch": 1.96,
4447
+ "learning_rate": 5.183110181611983e-06,
4448
+ "loss": 0.7441,
4449
+ "step": 740
4450
+ },
4451
+ {
4452
+ "epoch": 1.96,
4453
+ "learning_rate": 5.174691373771788e-06,
4454
+ "loss": 0.7579,
4455
+ "step": 741
4456
+ },
4457
+ {
4458
+ "epoch": 1.96,
4459
+ "learning_rate": 5.166259980589603e-06,
4460
+ "loss": 0.7773,
4461
+ "step": 742
4462
+ },
4463
+ {
4464
+ "epoch": 1.96,
4465
+ "learning_rate": 5.157816065427529e-06,
4466
+ "loss": 0.7492,
4467
+ "step": 743
4468
+ },
4469
+ {
4470
+ "epoch": 1.97,
4471
+ "learning_rate": 5.149359691741772e-06,
4472
+ "loss": 0.7707,
4473
+ "step": 744
4474
+ },
4475
+ {
4476
+ "epoch": 1.97,
4477
+ "learning_rate": 5.1408909230821635e-06,
4478
+ "loss": 0.7464,
4479
+ "step": 745
4480
+ },
4481
+ {
4482
+ "epoch": 1.97,
4483
+ "learning_rate": 5.132409823091685e-06,
4484
+ "loss": 0.7513,
4485
+ "step": 746
4486
+ },
4487
+ {
4488
+ "epoch": 1.98,
4489
+ "learning_rate": 5.123916455505986e-06,
4490
+ "loss": 0.7552,
4491
+ "step": 747
4492
+ },
4493
+ {
4494
+ "epoch": 1.98,
4495
+ "learning_rate": 5.1154108841529075e-06,
4496
+ "loss": 0.7706,
4497
+ "step": 748
4498
+ },
4499
+ {
4500
+ "epoch": 1.98,
4501
+ "learning_rate": 5.106893172952004e-06,
4502
+ "loss": 0.7581,
4503
+ "step": 749
4504
+ },
4505
+ {
4506
+ "epoch": 1.98,
4507
+ "learning_rate": 5.098363385914059e-06,
4508
+ "loss": 0.7519,
4509
+ "step": 750
4510
+ },
4511
+ {
4512
+ "epoch": 1.99,
4513
+ "learning_rate": 5.089821587140607e-06,
4514
+ "loss": 0.7698,
4515
+ "step": 751
4516
+ },
4517
+ {
4518
+ "epoch": 1.99,
4519
+ "learning_rate": 5.081267840823451e-06,
4520
+ "loss": 0.747,
4521
+ "step": 752
4522
+ },
4523
+ {
4524
+ "epoch": 1.99,
4525
+ "learning_rate": 5.0727022112441795e-06,
4526
+ "loss": 0.7374,
4527
+ "step": 753
4528
+ },
4529
+ {
4530
+ "epoch": 1.99,
4531
+ "learning_rate": 5.064124762773687e-06,
4532
+ "loss": 0.7555,
4533
+ "step": 754
4534
+ },
4535
+ {
4536
+ "epoch": 2.0,
4537
+ "learning_rate": 5.055535559871682e-06,
4538
+ "loss": 0.7688,
4539
+ "step": 755
4540
+ },
4541
+ {
4542
+ "epoch": 2.0,
4543
+ "learning_rate": 5.046934667086212e-06,
4544
+ "loss": 0.75,
4545
+ "step": 756
4546
+ },
4547
+ {
4548
+ "epoch": 2.0,
4549
+ "learning_rate": 5.038322149053172e-06,
4550
+ "loss": 0.7457,
4551
+ "step": 757
4552
+ },
4553
+ {
4554
+ "epoch": 2.0,
4555
+ "learning_rate": 5.029698070495822e-06,
4556
+ "loss": 0.7543,
4557
+ "step": 758
4558
+ },
4559
+ {
4560
+ "epoch": 2.01,
4561
+ "learning_rate": 5.021062496224301e-06,
4562
+ "loss": 0.7317,
4563
+ "step": 759
4564
+ },
4565
+ {
4566
+ "epoch": 2.01,
4567
+ "learning_rate": 5.012415491135133e-06,
4568
+ "loss": 0.7653,
4569
+ "step": 760
4570
+ },
4571
+ {
4572
+ "epoch": 2.01,
4573
+ "learning_rate": 5.0037571202107525e-06,
4574
+ "loss": 0.7702,
4575
+ "step": 761
4576
+ },
4577
+ {
4578
+ "epoch": 2.02,
4579
+ "learning_rate": 4.995087448519005e-06,
4580
+ "loss": 0.7647,
4581
+ "step": 762
4582
+ },
4583
+ {
4584
+ "epoch": 2.02,
4585
+ "learning_rate": 4.986406541212659e-06,
4586
+ "loss": 0.7484,
4587
+ "step": 763
4588
+ }
4589
+ ],
4590
+ "logging_steps": 1,
4591
+ "max_steps": 1496,
4592
+ "num_train_epochs": 4,
4593
+ "save_steps": 500,
4594
+ "total_flos": 1.2700841023456543e+19,
4595
+ "trial_name": null,
4596
+ "trial_params": null
4597
+ }
checkpoint-763/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:46e4ff946a52f7ad865e9875e81fb905b4052faefbb3e2ea02b382193a53532b
3
+ size 4539
config.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "stabilityai/stablelm-3b-4e1t",
3
+ "architectures": [
4
+ "StableLMEpochForCausalLM"
5
+ ],
6
+ "auto_map": {
7
+ "AutoConfig": "configuration_stablelm_epoch.StableLMEpochConfig",
8
+ "AutoModelForCausalLM": "modeling_stablelm_epoch.StableLMEpochForCausalLM"
9
+ },
10
+ "bos_token_id": 0,
11
+ "eos_token_id": 0,
12
+ "hidden_act": "silu",
13
+ "hidden_size": 2560,
14
+ "initializer_range": 0.02,
15
+ "intermediate_size": 6912,
16
+ "max_position_embeddings": 4096,
17
+ "model_type": "stablelm_epoch",
18
+ "norm_eps": 1e-05,
19
+ "num_attention_heads": 32,
20
+ "num_heads": 32,
21
+ "num_hidden_layers": 32,
22
+ "num_key_value_heads": 32,
23
+ "rope_pct": 0.25,
24
+ "rope_theta": 10000,
25
+ "rotary_scaling_factor": 1.0,
26
+ "tie_word_embeddings": false,
27
+ "torch_dtype": "float32",
28
+ "transformers_version": "4.34.1",
29
+ "use_cache": false,
30
+ "vocab_size": 50304
31
+ }
configuration_stablelm_epoch.py ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2023 Stability and The HuggingFace Inc. team. All rights reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ """ StableLM Epoch model configuration"""
16
+ from transformers import PretrainedConfig
17
+ from transformers.utils import logging
18
+
19
+
20
+ logger = logging.get_logger(__name__)
21
+
22
+
23
+ class StableLMEpochConfig(PretrainedConfig):
24
+ r"""
25
+ Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
26
+ documentation from [`PretrainedConfig`] for more information.
27
+
28
+ Args:
29
+ vocab_size (`int`, *optional*, defaults to 50_304):
30
+ Vocabulary size of the StableLM model. Defines the number of different tokens that
31
+ can be represented by the `inputs_ids` passed when calling [`StableLMEpochModel`].
32
+ intermediate_size (`int`, *optional*, defaults to 6912):
33
+ Dimension of the MLP representations.
34
+ hidden_size (`int`, *optional*, defaults to 2560):
35
+ Dimension of the decoder layers and the pooler layer.
36
+ num_hidden_layers (`int`, *optional*, defaults to 32):
37
+ Number of hidden layers in the Transformer decoder.
38
+ num_attention_heads (`int`, *optional*, defaults to 32):
39
+ Number of attention heads for each attention layer in the Transformer encoder.
40
+ num_key_value_heads (`int`, *optional*):
41
+ This is the number of key_value heads that should be used to implement Grouped Query Attention. If
42
+ `num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if
43
+ `num_key_value_heads=1 the model will use Multi Query Attention (MQA) otherwise GQA is used. When
44
+ converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed
45
+ by meanpooling all the original heads within that group. For more details checkout [this
46
+ paper](https://arxiv.org/pdf/2305.13245.pdf). If it is not specified, will default to
47
+ `num_attention_heads`.
48
+ hidden_act (`str` or `function`, *optional*, defaults to `"silu"`):
49
+ The non-linear activation function (function or string).
50
+ rope_pct (`float`, *optional*, defaults to 1.0):
51
+ Percentage of hidden dimensions to allocate to rotary embeddings.
52
+ rope_theta (`float`, *optional*, defaults to 10000.0):
53
+ The base period of the RoPE embeddings.
54
+ max_position_embeddings (`int`, *optional*, defaults to 2048):
55
+ The maximum sequence length that this model might ever be used with.
56
+ Typically set this to something large just in case (e.g., 512 or 1024 or 2048).
57
+ initializer_range (`float`, *optional*, defaults to 1e-5):
58
+ The standard deviation of the truncated_normal_initializer for initializing
59
+ all weight matrices.
60
+ norm_eps (`float`, *optional*, defaults to 1e-8):
61
+ The epsilon used by the normalization layers.
62
+ use_cache (`bool`, *optional*, defaults to `True`):
63
+ Whether or not the model should return the last key/values attentions
64
+ (not used by all models). Only relevant if `config.is_decoder=True`.
65
+ tie_word_embeddings(`bool`, *optional*, defaults to `False`):
66
+ Whether to tie weight embeddings
67
+ """
68
+ model_type = "stablelm_epoch"
69
+ keys_to_ignore_at_inference = ["past_key_values"]
70
+
71
+ def __init__(
72
+ self,
73
+ vocab_size=50_304,
74
+ intermediate_size=6912,
75
+ hidden_size=2560,
76
+ num_hidden_layers=32,
77
+ num_attention_heads=32,
78
+ num_key_value_heads=32,
79
+ hidden_act="silu",
80
+ rope_pct=0.25,
81
+ rope_theta=10_000,
82
+ max_position_embeddings=4096,
83
+ initializer_range=0.02,
84
+ norm_eps=1.0e-5,
85
+ use_cache=True,
86
+ bos_token_id=0,
87
+ eos_token_id=2,
88
+ tie_word_embeddings=False,
89
+ **kwargs,
90
+ ):
91
+ self.vocab_size = vocab_size
92
+ self.max_position_embeddings = max_position_embeddings
93
+ self.intermediate_size = intermediate_size
94
+ self.hidden_size = hidden_size
95
+ self.num_hidden_layers = num_hidden_layers
96
+ self.num_attention_heads = num_attention_heads
97
+ self.num_key_value_heads = num_key_value_heads
98
+ self.hidden_act = hidden_act
99
+ self.rope_pct = rope_pct
100
+ self.rope_theta = rope_theta
101
+ self.initializer_range = initializer_range
102
+ self.norm_eps = norm_eps
103
+ self.use_cache = use_cache
104
+ self.tie_word_embeddings = tie_word_embeddings
105
+ super().__init__(
106
+ bos_token_id=bos_token_id,
107
+ eos_token_id=eos_token_id,
108
+ tie_word_embeddings=tie_word_embeddings,
109
+ **kwargs,
110
+ )
generation_config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 0,
4
+ "eos_token_id": 0,
5
+ "transformers_version": "4.34.1"
6
+ }
modeling_stablelm_epoch.py ADDED
@@ -0,0 +1,687 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2023 Stability AI, EleutherAI, and The HuggingFace Inc. team. All rights reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ # This code is based off the following work:
17
+ # https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/modeling_llama.py
18
+ # https://github.com/huggingface/transformers/blob/main/src/transformers/models/gpt_neox/modeling_gpt_neox.py
19
+ """ PyTorch StableLM Epoch model. """
20
+ from typing import Optional, Tuple, Union
21
+ import math
22
+
23
+ import torch
24
+ import torch.utils.checkpoint
25
+ from torch import nn
26
+ from torch.nn import CrossEntropyLoss
27
+ from transformers.modeling_outputs import (
28
+ BaseModelOutputWithPast,
29
+ CausalLMOutputWithPast,
30
+ )
31
+ from transformers.modeling_utils import PreTrainedModel
32
+ from transformers.utils import logging
33
+ from .configuration_stablelm_epoch import StableLMEpochConfig
34
+
35
+
36
+ logger = logging.get_logger(__name__)
37
+
38
+
39
+ # Copied from transformers.models.bart.modeling_bart._make_causal_mask
40
+ def _make_causal_mask(
41
+ input_ids_shape: torch.Size,
42
+ dtype: torch.dtype,
43
+ device: torch.device,
44
+ past_key_values_length: int = 0,
45
+ ):
46
+ """Make causal mask used for bi-directional self-attention."""
47
+ batch_size, tgt_len = input_ids_shape
48
+ mask = torch.full((tgt_len, tgt_len), torch.finfo(torch.float16).min, device=device)
49
+ mask_cond = torch.arange(mask.size(-1), device=device)
50
+ mask.masked_fill_(mask_cond < (mask_cond + 1).view(mask.size(-1), 1), 0)
51
+ mask = mask.to(dtype)
52
+ if past_key_values_length > 0:
53
+ mask = torch.cat([torch.zeros(tgt_len, past_key_values_length, dtype=dtype, device=device), mask], dim=-1)
54
+ return mask[None, None, :, :].expand(batch_size, 1, tgt_len, tgt_len + past_key_values_length)
55
+
56
+
57
+ # Copied from transformers.models.bart.modeling_bart._expand_mask
58
+ def _expand_mask(mask: torch.Tensor, dtype: torch.dtype, tgt_len: Optional[int] = None):
59
+ """Expands attention_mask from `[batch_size, seq_len]` to `[batch_size, 1, tgt_seq_len, src_seq_len]`."""
60
+ batch_size, src_len = mask.size()
61
+ tgt_len = tgt_len if tgt_len is not None else src_len
62
+
63
+ expanded_mask = mask[:, None, None, :].expand(batch_size, 1, tgt_len, src_len).to(dtype)
64
+ inverted_mask = 1.0 - expanded_mask
65
+
66
+ return inverted_mask.masked_fill(
67
+ inverted_mask.to(torch.bool), torch.finfo(dtype).min
68
+ )
69
+
70
+
71
+ class RotaryEmbedding(nn.Module):
72
+ def __init__(
73
+ self,
74
+ dim: int,
75
+ max_position_embeddings: int,
76
+ base: int = 10_000,
77
+ device: Optional[torch.device] = None,
78
+ ):
79
+ super().__init__()
80
+
81
+ self.dim = dim
82
+ self.max_position_embeddings = max_position_embeddings
83
+ self.base = base
84
+ inv_freq = 1.0 / (self.base ** (torch.arange(0, self.dim, 2, device=device, dtype=torch.float32) / self.dim))
85
+ self.register_buffer("inv_freq", inv_freq, persistent=False)
86
+
87
+ # Build here to make `torch.jit.trace` work.
88
+ self._set_cos_sin_cache(
89
+ seq_len=max_position_embeddings, device=self.inv_freq.device, dtype=torch.get_default_dtype(),
90
+ )
91
+
92
+ def _set_cos_sin_cache(self, seq_len: int, device: torch.device, dtype: torch.dtype):
93
+ self.max_seq_len_cached = seq_len
94
+ t = torch.arange(self.max_seq_len_cached, device=device, dtype=torch.float32)
95
+
96
+ # Don't do einsum, it converts fp32 to fp16 under AMP
97
+ # freqs = torch.einsum("i,j->ij", t, self.inv_freq)
98
+ freqs = torch.outer(t, self.inv_freq)
99
+ # Different from paper, but it uses a different permutation in order to obtain the same calculation
100
+ emb = torch.cat((freqs, freqs), dim=-1)
101
+ self.register_buffer("cos_cached", emb.cos()[None, None, :, :].to(dtype), persistent=False)
102
+ self.register_buffer("sin_cached", emb.sin()[None, None, :, :].to(dtype), persistent=False)
103
+
104
+ def forward(self, x: torch.Tensor, seq_len: Optional[int] = None):
105
+ # x: [batch_size, num_heads, seq_len, head_size]
106
+ if seq_len > self.max_seq_len_cached:
107
+ self._set_cos_sin_cache(seq_len=seq_len, device=x.device, dtype=torch.get_default_dtype())
108
+ return (
109
+ self.cos_cached[:, :, :seq_len, ...].to(dtype=x.dtype),
110
+ self.sin_cached[:, :, :seq_len, ...].to(dtype=x.dtype),
111
+ )
112
+
113
+
114
+ def rotate_half(x: torch.Tensor):
115
+ """Rotates half the hidden dims of the input."""
116
+ x1, x2 = torch.chunk(x, 2, dim=-1)
117
+ return torch.cat((-x2, x1), dim=-1)
118
+
119
+
120
+ def apply_rotary_pos_emb(q, k, cos, sin, position_ids):
121
+ # The first two dimensions of cos and sin are always 1, so we can `squeeze` them.
122
+ cos = cos.squeeze(1).squeeze(0) # [seq_len, dim]
123
+ sin = sin.squeeze(1).squeeze(0) # [seq_len, dim]
124
+ cos = cos[position_ids].unsqueeze(1) # [batch_size, 1, seq_len, dim]
125
+ sin = sin[position_ids].unsqueeze(1) # [batch_size, 1, seq_len, dim]
126
+ q_embed = (q * cos) + (rotate_half(q) * sin)
127
+ k_embed = (k * cos) + (rotate_half(k) * sin)
128
+ return q_embed, k_embed
129
+
130
+
131
+ class MLP(nn.Module):
132
+ def __init__(self, config: StableLMEpochConfig):
133
+ super().__init__()
134
+ self.config = config
135
+ self.hidden_size = config.hidden_size
136
+ self.intermediate_size = config.intermediate_size
137
+ self.gate_proj = nn.Linear(config.hidden_size, config.intermediate_size, bias=False)
138
+ self.up_proj = nn.Linear(config.hidden_size, config.intermediate_size, bias=False)
139
+ self.down_proj = nn.Linear(config.intermediate_size, config.hidden_size, bias=False)
140
+ self.act_fn = nn.SiLU()
141
+
142
+ def forward(self, x: torch.Tensor) -> torch.Tensor:
143
+ return self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x))
144
+
145
+
146
+ def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor:
147
+ """
148
+ This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch,
149
+ num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim)
150
+ """
151
+ batch, num_key_value_heads, slen, head_dim = hidden_states.shape
152
+ if n_rep == 1:
153
+ return hidden_states
154
+ hidden_states = hidden_states[:, :, None, :, :].expand(batch, num_key_value_heads, n_rep, slen, head_dim)
155
+ return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim)
156
+
157
+
158
+ class Attention(nn.Module):
159
+ def __init__(self, config: StableLMEpochConfig):
160
+ super().__init__()
161
+ self.config = config
162
+ self.hidden_size = config.hidden_size
163
+ self.num_heads = config.num_attention_heads
164
+ self.head_dim = self.hidden_size // self.num_heads
165
+ self.num_key_value_heads = config.num_key_value_heads
166
+ self.num_key_value_groups = self.num_heads // self.num_key_value_heads
167
+ self.max_position_embeddings = config.max_position_embeddings
168
+
169
+ if (self.head_dim * self.num_heads) != self.hidden_size:
170
+ raise ValueError(
171
+ f"hidden_size must be divisible by num_heads (got `hidden_size`: {self.hidden_size}"
172
+ f" and `num_heads`: {self.num_heads})."
173
+ )
174
+ self.q_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim, bias=False)
175
+ self.k_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim, bias=False)
176
+ self.v_proj = nn.Linear(self.hidden_size, self.num_key_value_heads * self.head_dim, bias=False)
177
+ self.o_proj = nn.Linear(self.hidden_size, self.hidden_size, bias=False)
178
+
179
+ self._init_rope()
180
+
181
+ def _init_rope(self):
182
+ self.rotary_ndims = int(self.head_dim * self.config.rope_pct)
183
+ self.rotary_emb = RotaryEmbedding(
184
+ self.rotary_ndims,
185
+ max_position_embeddings=self.config.max_position_embeddings,
186
+ base=self.config.rope_theta,
187
+ )
188
+
189
+ def forward(
190
+ self,
191
+ hidden_states: torch.FloatTensor,
192
+ attention_mask: torch.FloatTensor,
193
+ position_ids: torch.LongTensor,
194
+ past_key_value: Optional[Tuple[torch.Tensor]] = None,
195
+ output_attentions: Optional[bool] = False,
196
+ use_cache: Optional[bool] = False,
197
+ ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]:
198
+ bsz, q_len, _ = hidden_states.size()
199
+
200
+ query_states = self.q_proj(hidden_states)
201
+ key_states = self.k_proj(hidden_states)
202
+ value_states = self.v_proj(hidden_states)
203
+
204
+ query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2)
205
+ key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2)
206
+ value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2)
207
+
208
+ query_rot = query_states[..., : self.rotary_ndims]
209
+ query_pass = query_states[..., self.rotary_ndims :]
210
+ key_rot = key_states[..., : self.rotary_ndims]
211
+ key_pass = key_states[..., self.rotary_ndims :]
212
+
213
+ kv_seq_len = key_states.shape[-2]
214
+ if past_key_value is not None:
215
+ kv_seq_len += past_key_value[0].shape[-2]
216
+ cos, sin = self.rotary_emb(value_states, seq_len=kv_seq_len)
217
+ query_states, key_states = apply_rotary_pos_emb(query_rot, key_rot, cos, sin, position_ids)
218
+
219
+ # [batch_size, num_heads, seq_len, head_dim]
220
+ query_states = torch.cat((query_states, query_pass), dim=-1)
221
+ key_states = torch.cat((key_states, key_pass), dim=-1)
222
+
223
+ if past_key_value is not None:
224
+ # Reuse k, v, self_attention
225
+ key_states = torch.cat((past_key_value[0], key_states), dim=2)
226
+ value_states = torch.cat((past_key_value[1], value_states), dim=2)
227
+
228
+ past_key_value = (key_states, value_states) if use_cache else None
229
+
230
+ # Repeat k/v heads if n_kv_heads < n_heads
231
+ key_states = repeat_kv(key_states, self.num_key_value_groups)
232
+ value_states = repeat_kv(value_states, self.num_key_value_groups)
233
+
234
+ attn_weights = torch.matmul(query_states, key_states.transpose(2, 3)) / math.sqrt(self.head_dim)
235
+
236
+ if attn_weights.size() != (bsz, self.num_heads, q_len, kv_seq_len):
237
+ raise ValueError(
238
+ f"Attention weights should be of size {(bsz, self.num_heads, q_len, kv_seq_len)}, but is"
239
+ f" {attn_weights.size()}"
240
+ )
241
+
242
+ if attention_mask is not None:
243
+ if attention_mask.size() != (bsz, 1, q_len, kv_seq_len):
244
+ raise ValueError(
245
+ f"Attention mask should be of size {(bsz, 1, q_len, kv_seq_len)}, but is {attention_mask.size()}"
246
+ )
247
+ attn_weights = attn_weights + attention_mask
248
+
249
+ # Upcast attention to fp32
250
+ attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32).to(query_states.dtype)
251
+ attn_output = torch.matmul(attn_weights, value_states)
252
+
253
+ if attn_output.size() != (bsz, self.num_heads, q_len, self.head_dim):
254
+ raise ValueError(
255
+ f"`attn_output` should be of size {(bsz, self.num_heads, q_len, self.head_dim)}, but is"
256
+ f" {attn_output.size()}"
257
+ )
258
+
259
+ # Merge heads
260
+ attn_output = attn_output.transpose(1, 2).contiguous()
261
+ attn_output = attn_output.reshape(bsz, q_len, self.hidden_size)
262
+
263
+ # Final linear projection
264
+ attn_output = self.o_proj(attn_output)
265
+
266
+ if not output_attentions:
267
+ attn_weights = None
268
+
269
+ return attn_output, attn_weights, past_key_value
270
+
271
+
272
+ class DecoderLayer(nn.Module):
273
+ def __init__(self, config: StableLMEpochConfig):
274
+ super().__init__()
275
+ self.self_attn = Attention(config)
276
+ self.mlp = MLP(config)
277
+ self.input_layernorm = nn.LayerNorm(config.hidden_size, eps=config.norm_eps)
278
+ self.post_attention_layernorm = nn.LayerNorm(config.hidden_size, eps=config.norm_eps)
279
+
280
+ def forward(
281
+ self,
282
+ hidden_states: Optional[torch.FloatTensor],
283
+ attention_mask: Optional[torch.FloatTensor] = None,
284
+ position_ids: Optional[torch.LongTensor] = None,
285
+ past_key_value: Optional[Tuple[torch.Tensor]] = None,
286
+ output_attentions: Optional[bool] = False,
287
+ use_cache: Optional[bool] = False,
288
+ ) -> Union[Tuple[torch.Tensor], Optional[Tuple[torch.Tensor, Tuple[torch.FloatTensor, ...]]]]:
289
+ residual = hidden_states
290
+
291
+ hidden_states = self.input_layernorm(hidden_states)
292
+
293
+ # Self Attention
294
+ hidden_states, self_attn_weights, present_key_value = self.self_attn(
295
+ hidden_states=hidden_states,
296
+ attention_mask=attention_mask,
297
+ position_ids=position_ids,
298
+ past_key_value=past_key_value,
299
+ output_attentions=output_attentions,
300
+ use_cache=use_cache,
301
+ )
302
+ hidden_states = residual + hidden_states
303
+
304
+ # Fully Connected
305
+ residual = hidden_states
306
+ hidden_states = self.post_attention_layernorm(hidden_states)
307
+ hidden_states = self.mlp(hidden_states)
308
+ hidden_states = residual + hidden_states
309
+
310
+ outputs = (hidden_states,)
311
+
312
+ if output_attentions:
313
+ outputs += (self_attn_weights,)
314
+
315
+ if use_cache:
316
+ outputs += (present_key_value,)
317
+
318
+ return outputs
319
+
320
+
321
+ class StableLMEpochPreTrainedModel(PreTrainedModel):
322
+ """An abstract class to handle weights initialization and a simple interface
323
+ for downloading and loading pretrained models.
324
+ """
325
+
326
+ config_class = StableLMEpochConfig
327
+ base_model_prefix = "transformer"
328
+ supports_gradient_checkpointing = True
329
+ _no_split_modules = ["DecoderLayer"]
330
+ _skip_keys_device_placement = "past_key_values"
331
+
332
+ def _init_weights(self, module: nn.Module):
333
+ """Initialize the weights"""
334
+ if isinstance(module, nn.Linear):
335
+ module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)
336
+ if module.bias is not None:
337
+ module.bias.data.zero_()
338
+ elif isinstance(module, nn.Embedding):
339
+ module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)
340
+ if module.padding_idx is not None:
341
+ module.weight.data[module.padding_idx].zero_()
342
+ elif isinstance(module, nn.LayerNorm):
343
+ module.bias.data.zero_()
344
+ module.weight.data.fill_(1.0)
345
+
346
+ def _set_gradient_checkpointing(self, module: nn.Module, value=False):
347
+ if isinstance(module, StableLMEpochModel):
348
+ module.gradient_checkpointing = value
349
+
350
+
351
+ class StableLMEpochModel(StableLMEpochPreTrainedModel):
352
+ def __init__(self, config: StableLMEpochConfig):
353
+ super().__init__(config)
354
+ self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, config.pad_token_id)
355
+ self.layers = nn.ModuleList([DecoderLayer(config) for _ in range(config.num_hidden_layers)])
356
+ self.norm = nn.LayerNorm(config.hidden_size, eps=config.norm_eps)
357
+
358
+ self.gradient_checkpointing = False
359
+ # Initialize weights and apply final processing
360
+ self.post_init()
361
+
362
+ def get_input_embeddings(self):
363
+ return self.embed_tokens
364
+
365
+ def set_input_embeddings(self, value: nn.Module):
366
+ self.embed_tokens = value
367
+
368
+ # Copied from transformers.models.bart.modeling_bart.BartDecoder._prepare_decoder_attention_mask
369
+ def _prepare_decoder_attention_mask(
370
+ self,
371
+ attention_mask: torch.Tensor,
372
+ input_shape: torch.Size,
373
+ inputs_embeds: torch.Tensor,
374
+ past_key_values_length: int,
375
+ ):
376
+ # Create causal mask
377
+ # [batch_size, seq_len] -> [batch_size, 1, tgt_seq_len, src_seq_len]
378
+ combined_attention_mask = None
379
+ if input_shape[-1] > 1:
380
+ combined_attention_mask = _make_causal_mask(
381
+ input_shape,
382
+ inputs_embeds.dtype,
383
+ device=inputs_embeds.device,
384
+ past_key_values_length=past_key_values_length,
385
+ )
386
+
387
+ if attention_mask is not None:
388
+ # [batch_size, seq_len] -> [batch_size, 1, tgt_seq_len, src_seq_len]
389
+ expanded_attn_mask = _expand_mask(
390
+ attention_mask, inputs_embeds.dtype, tgt_len=input_shape[-1]
391
+ ).to(inputs_embeds.device)
392
+ combined_attention_mask = expanded_attn_mask if combined_attention_mask is None else expanded_attn_mask + combined_attention_mask
393
+
394
+ return combined_attention_mask
395
+
396
+ def forward(
397
+ self,
398
+ input_ids: Optional[torch.LongTensor] = None,
399
+ attention_mask: Optional[torch.FloatTensor] = None,
400
+ position_ids: Optional[torch.LongTensor] = None,
401
+ past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None,
402
+ inputs_embeds: Optional[torch.FloatTensor] = None,
403
+ use_cache: Optional[bool] = None,
404
+ output_attentions: Optional[bool] = None,
405
+ output_hidden_states: Optional[bool] = None,
406
+ return_dict: Optional[bool] = None,
407
+ ) -> Union[Tuple, BaseModelOutputWithPast]:
408
+ output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions
409
+ output_hidden_states = output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states
410
+ use_cache = use_cache if use_cache is not None else self.config.use_cache
411
+
412
+ return_dict = return_dict if return_dict is not None else self.config.use_return_dict
413
+
414
+ # Retrieve input_ids and inputs_embeds
415
+ if input_ids is not None and inputs_embeds is not None:
416
+ raise ValueError(
417
+ "You cannot specify both decoder_input_ids and decoder_inputs_embeds at the same time"
418
+ )
419
+ elif input_ids is not None:
420
+ batch_size, seq_length = input_ids.shape
421
+ elif inputs_embeds is not None:
422
+ batch_size, seq_length, _ = inputs_embeds.shape
423
+ else:
424
+ raise ValueError(
425
+ "You have to specify either decoder_input_ids or decoder_inputs_embeds"
426
+ )
427
+
428
+ seq_length_with_past = seq_length
429
+ past_key_values_length = 0
430
+
431
+ if past_key_values is not None:
432
+ past_key_values_length = past_key_values[0][0].shape[2]
433
+ seq_length_with_past = seq_length_with_past + past_key_values_length
434
+
435
+ if position_ids is None:
436
+ device = input_ids.device if input_ids is not None else inputs_embeds.device
437
+ position_ids = torch.arange(
438
+ past_key_values_length,
439
+ seq_length + past_key_values_length,
440
+ dtype=torch.long,
441
+ device=device,
442
+ )
443
+ position_ids = position_ids.unsqueeze(0).view(-1, seq_length)
444
+ else:
445
+ position_ids = position_ids.view(-1, seq_length).long()
446
+
447
+ if inputs_embeds is None:
448
+ inputs_embeds = self.embed_tokens(input_ids)
449
+ # Embed positions
450
+ if attention_mask is None:
451
+ attention_mask = torch.ones(
452
+ (batch_size, seq_length_with_past),
453
+ dtype=torch.bool,
454
+ device=inputs_embeds.device,
455
+ )
456
+ attention_mask = self._prepare_decoder_attention_mask(
457
+ attention_mask,
458
+ (batch_size, seq_length),
459
+ inputs_embeds,
460
+ past_key_values_length,
461
+ )
462
+
463
+ hidden_states = inputs_embeds
464
+
465
+ if self.gradient_checkpointing and self.training:
466
+ if use_cache:
467
+ logger.warning(
468
+ "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`..."
469
+ )
470
+ use_cache = False
471
+
472
+ # Decoder layers
473
+ all_hidden_states = () if output_hidden_states else None
474
+ all_self_attns = () if output_attentions else None
475
+ next_decoder_cache = () if use_cache else None
476
+
477
+ for idx, decoder_layer in enumerate(self.layers):
478
+ if output_hidden_states:
479
+ all_hidden_states += (hidden_states,)
480
+
481
+ past_key_value = (
482
+ past_key_values[idx] if past_key_values is not None else None
483
+ )
484
+
485
+ if self.gradient_checkpointing and self.training:
486
+
487
+ def create_custom_forward(module):
488
+ def custom_forward(*inputs):
489
+ # None for past_key_value
490
+ return module(*inputs, past_key_value, output_attentions)
491
+
492
+ return custom_forward
493
+
494
+ layer_outputs = torch.utils.checkpoint.checkpoint(
495
+ create_custom_forward(decoder_layer),
496
+ hidden_states,
497
+ attention_mask,
498
+ position_ids,
499
+ )
500
+ else:
501
+ layer_outputs = decoder_layer(
502
+ hidden_states,
503
+ attention_mask=attention_mask,
504
+ position_ids=position_ids,
505
+ past_key_value=past_key_value,
506
+ output_attentions=output_attentions,
507
+ use_cache=use_cache,
508
+ )
509
+
510
+ hidden_states = layer_outputs[0]
511
+
512
+ if use_cache:
513
+ next_decoder_cache += (layer_outputs[2 if output_attentions else 1],)
514
+
515
+ if output_attentions:
516
+ all_self_attns += (layer_outputs[1],)
517
+
518
+ hidden_states = self.norm(hidden_states)
519
+
520
+ # Add hidden states from the last decoder layer
521
+ if output_hidden_states:
522
+ all_hidden_states += (hidden_states,)
523
+
524
+ next_cache = next_decoder_cache if use_cache else None
525
+ if not return_dict:
526
+ return tuple(
527
+ v
528
+ for v in [hidden_states, next_cache, all_hidden_states, all_self_attns]
529
+ if v is not None
530
+ )
531
+ return BaseModelOutputWithPast(
532
+ last_hidden_state=hidden_states,
533
+ past_key_values=next_cache,
534
+ hidden_states=all_hidden_states,
535
+ attentions=all_self_attns,
536
+ )
537
+
538
+
539
+ class StableLMEpochForCausalLM(StableLMEpochPreTrainedModel):
540
+ _tied_weights_keys = ["lm_head.weight"]
541
+
542
+ def __init__(self, config: StableLMEpochConfig):
543
+ super().__init__(config)
544
+
545
+ self.model = StableLMEpochModel(config)
546
+ self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False)
547
+
548
+ # Initialize weights and apply final processing
549
+ self.post_init()
550
+
551
+ def get_input_embeddings(self):
552
+ return self.model.embed_tokens
553
+
554
+ def set_input_embeddings(self, value):
555
+ self.model.embed_tokens = value
556
+
557
+ def get_output_embeddings(self):
558
+ return self.lm_head
559
+
560
+ def set_output_embeddings(self, new_embeddings: nn.Module):
561
+ self.lm_head = new_embeddings
562
+
563
+ def get_decoder(self):
564
+ return self.model
565
+
566
+ def set_decoder(self, decoder):
567
+ self.model = decoder
568
+
569
+ def forward(
570
+ self,
571
+ input_ids: Optional[torch.LongTensor] = None,
572
+ attention_mask: Optional[torch.FloatTensor] = None,
573
+ position_ids: Optional[torch.LongTensor] = None,
574
+ past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None,
575
+ inputs_embeds: Optional[torch.FloatTensor] = None,
576
+ labels: Optional[torch.LongTensor] = None,
577
+ use_cache: Optional[bool] = None,
578
+ output_attentions: Optional[bool] = None,
579
+ output_hidden_states: Optional[bool] = None,
580
+ return_dict: Optional[bool] = None,
581
+ ) -> Union[Tuple, CausalLMOutputWithPast]:
582
+ output_attentions = (
583
+ output_attentions
584
+ if output_attentions is not None
585
+ else self.config.output_attentions
586
+ )
587
+ output_hidden_states = (
588
+ output_hidden_states
589
+ if output_hidden_states is not None
590
+ else self.config.output_hidden_states
591
+ )
592
+ return_dict = (
593
+ return_dict if return_dict is not None else self.config.use_return_dict
594
+ )
595
+
596
+ # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn)
597
+ outputs = self.model(
598
+ input_ids,
599
+ attention_mask=attention_mask,
600
+ position_ids=position_ids,
601
+ past_key_values=past_key_values,
602
+ inputs_embeds=inputs_embeds,
603
+ use_cache=use_cache,
604
+ output_attentions=output_attentions,
605
+ output_hidden_states=output_hidden_states,
606
+ return_dict=return_dict,
607
+ )
608
+
609
+ hidden_states = outputs[0]
610
+ logits = self.lm_head(hidden_states).float()
611
+
612
+ loss = None
613
+ if labels is not None:
614
+ # Shift so that tokens < n predict n
615
+ shift_logits = logits[..., :-1, :].contiguous()
616
+ shift_labels = labels[..., 1:].contiguous()
617
+ # Flatten the tokens
618
+ loss_fct = CrossEntropyLoss()
619
+ shift_logits = shift_logits.view(-1, self.config.vocab_size)
620
+ shift_labels = shift_labels.view(-1)
621
+ # Enable model parallelism
622
+ shift_labels = shift_labels.to(shift_logits.device)
623
+ loss = loss_fct(shift_logits, shift_labels)
624
+
625
+ if not return_dict:
626
+ output = (logits,) + outputs[1:]
627
+ return (loss,) + output if loss is not None else output
628
+
629
+ return CausalLMOutputWithPast(
630
+ loss=loss,
631
+ logits=logits,
632
+ past_key_values=outputs.past_key_values,
633
+ hidden_states=outputs.hidden_states,
634
+ attentions=outputs.attentions,
635
+ )
636
+
637
+ def prepare_inputs_for_generation(
638
+ self,
639
+ input_ids,
640
+ past_key_values: Optional[torch.Tensor] = None,
641
+ attention_mask: Optional[torch.Tensor] = None,
642
+ inputs_embeds: Optional[torch.Tensor] = None,
643
+ **kwargs,
644
+ ):
645
+ # Trim decoder_input_ids if past is used
646
+ if past_key_values and past_key_values[0] is not None:
647
+ input_ids = input_ids[:, -1:]
648
+
649
+ position_ids = kwargs.get("position_ids", None)
650
+ if attention_mask is not None and position_ids is None:
651
+ # Create position_ids on the fly for batch generation
652
+ position_ids = attention_mask.long().cumsum(-1) - 1
653
+ position_ids.masked_fill_(attention_mask == 0, 1)
654
+ if past_key_values:
655
+ position_ids = position_ids[:, -1].unsqueeze(-1)
656
+
657
+ # If `inputs_embeds` are passed, we only want to use them in the 1st generation step
658
+ if inputs_embeds is not None and past_key_values is None:
659
+ model_inputs = {"inputs_embeds": inputs_embeds}
660
+ else:
661
+ model_inputs = {"input_ids": input_ids}
662
+
663
+ model_inputs.update(
664
+ {
665
+ "attention_mask": attention_mask,
666
+ "past_key_values": past_key_values,
667
+ "use_cache": kwargs.get("use_cache"),
668
+ "position_ids": position_ids,
669
+ }
670
+ )
671
+ return model_inputs
672
+
673
+ @staticmethod
674
+ def _reorder_cache(past_key_values, beam_idx):
675
+ reordered_past = ()
676
+ for layer_past in past_key_values:
677
+ reordered_past += (
678
+ tuple(
679
+ past_state.index_select(0, beam_idx.to(past_state.device))
680
+ for past_state in layer_past
681
+ ),
682
+ )
683
+ return reordered_past
684
+
685
+
686
+ StableLMEpochConfig.register_for_auto_class()
687
+ StableLMEpochForCausalLM.register_for_auto_class("AutoModelForCausalLM")
pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:50626311715a9622d3ed0e8f2cb9cee829d1272bd686da8674539e0c78fc0b1a
3
+ size 6106785781
special_tokens_map.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": "<|endoftext|>",
3
+ "eos_token": {
4
+ "content": "<|im_end|>",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false
9
+ },
10
+ "pad_token": {
11
+ "content": "[PAD]",
12
+ "lstrip": false,
13
+ "normalized": false,
14
+ "rstrip": false,
15
+ "single_word": false
16
+ },
17
+ "unk_token": "<|endoftext|>"
18
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,236 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "added_tokens_decoder": {
4
+ "0": {
5
+ "content": "<|endoftext|>",
6
+ "lstrip": false,
7
+ "normalized": false,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "1": {
13
+ "content": "<|padding|>",
14
+ "lstrip": false,
15
+ "normalized": false,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": true
19
+ },
20
+ "50254": {
21
+ "content": " ",
22
+ "lstrip": false,
23
+ "normalized": true,
24
+ "rstrip": false,
25
+ "single_word": false,
26
+ "special": false
27
+ },
28
+ "50255": {
29
+ "content": " ",
30
+ "lstrip": false,
31
+ "normalized": true,
32
+ "rstrip": false,
33
+ "single_word": false,
34
+ "special": false
35
+ },
36
+ "50256": {
37
+ "content": " ",
38
+ "lstrip": false,
39
+ "normalized": true,
40
+ "rstrip": false,
41
+ "single_word": false,
42
+ "special": false
43
+ },
44
+ "50257": {
45
+ "content": " ",
46
+ "lstrip": false,
47
+ "normalized": true,
48
+ "rstrip": false,
49
+ "single_word": false,
50
+ "special": false
51
+ },
52
+ "50258": {
53
+ "content": " ",
54
+ "lstrip": false,
55
+ "normalized": true,
56
+ "rstrip": false,
57
+ "single_word": false,
58
+ "special": false
59
+ },
60
+ "50259": {
61
+ "content": " ",
62
+ "lstrip": false,
63
+ "normalized": true,
64
+ "rstrip": false,
65
+ "single_word": false,
66
+ "special": false
67
+ },
68
+ "50260": {
69
+ "content": " ",
70
+ "lstrip": false,
71
+ "normalized": true,
72
+ "rstrip": false,
73
+ "single_word": false,
74
+ "special": false
75
+ },
76
+ "50261": {
77
+ "content": " ",
78
+ "lstrip": false,
79
+ "normalized": true,
80
+ "rstrip": false,
81
+ "single_word": false,
82
+ "special": false
83
+ },
84
+ "50262": {
85
+ "content": " ",
86
+ "lstrip": false,
87
+ "normalized": true,
88
+ "rstrip": false,
89
+ "single_word": false,
90
+ "special": false
91
+ },
92
+ "50263": {
93
+ "content": " ",
94
+ "lstrip": false,
95
+ "normalized": true,
96
+ "rstrip": false,
97
+ "single_word": false,
98
+ "special": false
99
+ },
100
+ "50264": {
101
+ "content": " ",
102
+ "lstrip": false,
103
+ "normalized": true,
104
+ "rstrip": false,
105
+ "single_word": false,
106
+ "special": false
107
+ },
108
+ "50265": {
109
+ "content": " ",
110
+ "lstrip": false,
111
+ "normalized": true,
112
+ "rstrip": false,
113
+ "single_word": false,
114
+ "special": false
115
+ },
116
+ "50266": {
117
+ "content": " ",
118
+ "lstrip": false,
119
+ "normalized": true,
120
+ "rstrip": false,
121
+ "single_word": false,
122
+ "special": false
123
+ },
124
+ "50267": {
125
+ "content": " ",
126
+ "lstrip": false,
127
+ "normalized": true,
128
+ "rstrip": false,
129
+ "single_word": false,
130
+ "special": false
131
+ },
132
+ "50268": {
133
+ "content": " ",
134
+ "lstrip": false,
135
+ "normalized": true,
136
+ "rstrip": false,
137
+ "single_word": false,
138
+ "special": false
139
+ },
140
+ "50269": {
141
+ "content": " ",
142
+ "lstrip": false,
143
+ "normalized": true,
144
+ "rstrip": false,
145
+ "single_word": false,
146
+ "special": false
147
+ },
148
+ "50270": {
149
+ "content": " ",
150
+ "lstrip": false,
151
+ "normalized": true,
152
+ "rstrip": false,
153
+ "single_word": false,
154
+ "special": false
155
+ },
156
+ "50271": {
157
+ "content": " ",
158
+ "lstrip": false,
159
+ "normalized": true,
160
+ "rstrip": false,
161
+ "single_word": false,
162
+ "special": false
163
+ },
164
+ "50272": {
165
+ "content": " ",
166
+ "lstrip": false,
167
+ "normalized": true,
168
+ "rstrip": false,
169
+ "single_word": false,
170
+ "special": false
171
+ },
172
+ "50273": {
173
+ "content": " ",
174
+ "lstrip": false,
175
+ "normalized": true,
176
+ "rstrip": false,
177
+ "single_word": false,
178
+ "special": false
179
+ },
180
+ "50274": {
181
+ "content": " ",
182
+ "lstrip": false,
183
+ "normalized": true,
184
+ "rstrip": false,
185
+ "single_word": false,
186
+ "special": false
187
+ },
188
+ "50275": {
189
+ "content": " ",
190
+ "lstrip": false,
191
+ "normalized": true,
192
+ "rstrip": false,
193
+ "single_word": false,
194
+ "special": false
195
+ },
196
+ "50276": {
197
+ "content": " ",
198
+ "lstrip": false,
199
+ "normalized": true,
200
+ "rstrip": false,
201
+ "single_word": false,
202
+ "special": false
203
+ },
204
+ "50277": {
205
+ "content": "[PAD]",
206
+ "lstrip": false,
207
+ "normalized": false,
208
+ "rstrip": false,
209
+ "single_word": false,
210
+ "special": true
211
+ },
212
+ "50278": {
213
+ "content": "<|im_end|>",
214
+ "lstrip": false,
215
+ "normalized": false,
216
+ "rstrip": false,
217
+ "single_word": false,
218
+ "special": false
219
+ },
220
+ "50279": {
221
+ "content": "<|im_start|>",
222
+ "lstrip": false,
223
+ "normalized": false,
224
+ "rstrip": false,
225
+ "single_word": false,
226
+ "special": false
227
+ }
228
+ },
229
+ "bos_token": "<|endoftext|>",
230
+ "clean_up_tokenization_spaces": true,
231
+ "eos_token": "<|im_end|>",
232
+ "model_max_length": 1000000000000000019884624838656,
233
+ "pad_token": "[PAD]",
234
+ "tokenizer_class": "GPTNeoXTokenizer",
235
+ "unk_token": "<|endoftext|>"
236
+ }