Text Generation
PEFT
Safetensors
Arabic
arabic
relation-extraction
qlora
bitsandbytes
multiple-choice
conversational
Instructions to use U4RASD/DRU-RE-Yehia with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use U4RASD/DRU-RE-Yehia with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Navid-AI/Yehia-7B-preview") model = PeftModel.from_pretrained(base_model, "U4RASD/DRU-RE-Yehia") - Notebooks
- Google Colab
- Kaggle
Publish verified DRU-RE-Yehia release
Browse files- .gitattributes +6 -0
- CHANGELOG.md +11 -7
- README.md +59 -29
- download_dataset.py +2 -0
- latest_checkpoint/README.md +207 -0
- latest_checkpoint/adapter_config.json +42 -0
- latest_checkpoint/adapter_model.safetensors +3 -0
- latest_checkpoint/chat_template.jinja +1 -0
- latest_checkpoint/checkpoint_manifest.json +80 -0
- latest_checkpoint/optimizer.pt +3 -0
- latest_checkpoint/rng_state.pth +0 -0
- latest_checkpoint/scheduler.pt +0 -0
- latest_checkpoint/special_tokens_map.json +30 -0
- latest_checkpoint/tokenizer.json +0 -0
- latest_checkpoint/tokenizer.model +3 -0
- latest_checkpoint/tokenizer_config.json +207 -0
- latest_checkpoint/trainer_state.json +1448 -0
- latest_checkpoint/training_args.bin +0 -0
- model.py +1 -0
- predict.py +1 -0
- release/release_manifest.json +76 -4
- setup_env.sh +1 -0
- tools/publish_huggingface.py +8 -0
- tools/restore_latest_checkpoint.py +69 -0
- tools/stage_release.py +131 -5
- tools/verify_release.py +126 -11
.gitattributes
CHANGED
|
@@ -1,2 +1,8 @@
|
|
| 1 |
adapter_model.safetensors filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
tokenizer.model filter=lfs diff=lfs merge=lfs -text
|
|
|
|
| 1 |
adapter_model.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
latest_checkpoint/adapter_model.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
latest_checkpoint/optimizer.pt filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
latest_checkpoint/rng_state.pth filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
latest_checkpoint/scheduler.pt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
latest_checkpoint/training_args.bin filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
latest_checkpoint/tokenizer.model filter=lfs diff=lfs merge=lfs -text
|
| 8 |
tokenizer.model filter=lfs diff=lfs merge=lfs -text
|
CHANGELOG.md
CHANGED
|
@@ -95,10 +95,14 @@ no credentials, machine caches, or abandoned implementation files.
|
|
| 95 |
- Added `tools/publish_huggingface.py`, locked to
|
| 96 |
`U4RASD/DRU-RE-Yehia`, to upload only a verified complete folder and then
|
| 97 |
verify two fresh remote downloads without revealing token values.
|
| 98 |
-
- Added
|
| 99 |
-
fresh-clone deletion gate.
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
- Added `tools/publish_huggingface.py`, locked to
|
| 96 |
`U4RASD/DRU-RE-Yehia`, to upload only a verified complete folder and then
|
| 97 |
verify two fresh remote downloads without revealing token values.
|
| 98 |
+
- Added Azure Git LFS rules for the root adapter and final checkpoint binaries,
|
| 99 |
+
plus a documented fresh-clone deletion gate.
|
| 100 |
+
- Disabled RunPod's optional `hf_transfer` path before every Hub import because
|
| 101 |
+
the pinned environment does not install that optional package; standard Hub
|
| 102 |
+
upload/download remains enabled and was used successfully.
|
| 103 |
+
|
| 104 |
+
At Ahmad's explicit request, the complete latest step-2,943 Trainer checkpoint
|
| 105 |
+
is included with adapter, optimizer, scheduler, RNG, trainer state, tokenizer,
|
| 106 |
+
training arguments, and its own integrity manifest. The root adapter remains
|
| 107 |
+
the selected step-2,750 best inference model. The full gated 7B base, older
|
| 108 |
+
checkpoints, caches, temporary logs, predictions, and secrets remain excluded.
|
README.md
CHANGED
|
@@ -24,15 +24,17 @@ one Arabic option code. The model does not have to reproduce a long relation
|
|
| 24 |
phrase or generate explanatory text.
|
| 25 |
|
| 26 |
This repository contains the clean training, dataset, audit, inference, and
|
| 27 |
-
release-staging source
|
| 28 |
-
|
| 29 |
-
|
|
|
|
| 30 |
|
| 31 |
> **Release status:** all three epochs and the final 1,687-row validation are
|
| 32 |
> complete at global step 2,943. The selected step-2,750 best adapter is staged
|
| 33 |
> at the repository root and passed the complete local release verifier: 448/448
|
| 34 |
> tensors are finite and nonzero, all 41 worked classes are covered, and every
|
| 35 |
-
> manifest hash matches.
|
|
|
|
| 36 |
> `release/hf_remote_verification.json` by the guarded publisher.
|
| 37 |
|
| 38 |
## At a glance
|
|
@@ -105,6 +107,7 @@ DRU-RE-Yehia/
|
|
| 105 |
├── build_examples_appendix.py
|
| 106 |
├── plot_losses.py
|
| 107 |
├── monitor_resources.sh
|
|
|
|
| 108 |
├── stage_release.py
|
| 109 |
├── verify_release.py
|
| 110 |
└── publish_huggingface.py
|
|
@@ -112,7 +115,8 @@ DRU-RE-Yehia/
|
|
| 112 |
|
| 113 |
After a successful release-staging operation, the repository root additionally
|
| 114 |
contains PEFT adapter/tokenizer files and `inference_config.json`; final run
|
| 115 |
-
evidence is placed under `release/`
|
|
|
|
| 116 |
|
| 117 |
## Task definition
|
| 118 |
|
|
@@ -813,7 +817,7 @@ positive micro F1. It is not training loss or teacher-forced validation loss.
|
|
| 813 |
The trainer maintains:
|
| 814 |
|
| 815 |
- `checkpoints/checkpoint-<step>/`: resumable Trainer checkpoints;
|
| 816 |
-
- `latest_checkpoint/`: complete named copy of the
|
| 817 |
- `best_checkpoint/`: complete named copy of the best validation checkpoint;
|
| 818 |
- `best_adapter/`: adapter/tokenizer exported after training completes.
|
| 819 |
|
|
@@ -1108,7 +1112,10 @@ The staging utility refuses to proceed unless:
|
|
| 1108 |
- all-linear evidence reports 225 eligible and 224 wrapped modules with only
|
| 1109 |
LoRA parameters trainable and the output head frozen;
|
| 1110 |
- all 448 saved adapter tensors are finite and nonzero;
|
| 1111 |
-
- the best-checkpoint metric artifact exists
|
|
|
|
|
|
|
|
|
|
| 1112 |
|
| 1113 |
It copies only:
|
| 1114 |
|
|
@@ -1116,7 +1123,9 @@ It copies only:
|
|
| 1116 |
- tokenizer/chat-template files required by the adapter;
|
| 1117 |
- frozen inference configuration, including best-step no-relation bias;
|
| 1118 |
- final run summary and best validation metrics;
|
| 1119 |
-
- small audit evidence and a SHA-256 release manifest
|
|
|
|
|
|
|
| 1120 |
|
| 1121 |
All correctness checks finish before repository files are changed. Each staged
|
| 1122 |
file is copied through a temporary sibling and atomically renamed, preventing an
|
|
@@ -1125,8 +1134,7 @@ interrupted copy from appearing as a complete release artifact.
|
|
| 1125 |
It explicitly excludes:
|
| 1126 |
|
| 1127 |
- Yehia base weights;
|
| 1128 |
-
-
|
| 1129 |
-
- numbered and named resumable checkpoints;
|
| 1130 |
- logs and resource time series;
|
| 1131 |
- per-row validation prediction dumps;
|
| 1132 |
- caches and temporary files.
|
|
@@ -1153,6 +1161,7 @@ The deletion-safe release is intentionally split across durable repositories:
|
|
| 1153 |
| Exact transformed train/validation/official JSONL and resources | Hugging Face dataset `U4RASD/Yehia-RE-SFT` at commit `a060e47f56025778b97344d4d3de60a8fd53be7c` | Retraining and official inference input |
|
| 1154 |
| Entire clean folder in this README, including source, resources, 41 examples, evidence, and release tools | Azure Git and Hugging Face model `U4RASD/DRU-RE-Yehia` | Reproduce, audit, train, and understand the system |
|
| 1155 |
| Best adapter, tokenizer files, `inference_config.json`, final metrics, and release manifest | Root/release directories of the Hugging Face model repo; mirrored to Azure with Git LFS | Actual model inference and checkpoint provenance |
|
|
|
|
| 1156 |
| Yehia 7B base at commit `b9dda4715eafee7e8090d2c83cfe078d75f4ebb8` | Upstream gated `Navid-AI/Yehia-7B-preview` | Required underneath the PEFT adapter |
|
| 1157 |
| Token permissions | An external password manager or secret store, never either repository | Future access to gated/private repositories |
|
| 1158 |
|
|
@@ -1180,9 +1189,11 @@ missing. It also checks:
|
|
| 1180 |
- exact 225 eligible / 224 wrapped all-linear evidence;
|
| 1181 |
- the portable pinned base ID and revision in adapter/inference configs;
|
| 1182 |
- 448 finite, nonzero adapter tensors;
|
|
|
|
|
|
|
| 1183 |
- locked rank 16, alpha 32, dropout 0.05, RS-LoRA settings;
|
| 1184 |
- the SHA-256 and byte size of every staged manifest entry;
|
| 1185 |
-
- absence of full base weights and
|
| 1186 |
- in remote-clean mode, absence of every unrecognized or stale remote file.
|
| 1187 |
|
| 1188 |
This command intentionally fails before the final adapter is staged. A source
|
|
@@ -1214,7 +1225,8 @@ with the experiment record. No token value is printed or persisted.
|
|
| 1214 |
|
| 1215 |
When the Azure DevOps repository URL is supplied, push this same directory—not
|
| 1216 |
the live experiment directory. `.gitattributes` already places
|
| 1217 |
-
|
|
|
|
| 1218 |
|
| 1219 |
```bash
|
| 1220 |
git init -b main
|
|
@@ -1265,16 +1277,32 @@ The durable clean release is sufficient to:
|
|
| 1265 |
- reproduce the transformed dataset;
|
| 1266 |
- retrain from optimizer step 0;
|
| 1267 |
- load the completed best adapter for inference;
|
| 1268 |
-
- reproduce constrained decoding and output mapping
|
|
|
|
| 1269 |
|
| 1270 |
-
|
| 1271 |
-
|
| 1272 |
-
|
| 1273 |
-
training arguments.
|
| 1274 |
-
|
| 1275 |
-
|
| 1276 |
-
|
| 1277 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1278 |
|
| 1279 |
### Deletion gate
|
| 1280 |
|
|
@@ -1283,19 +1311,20 @@ The training machine is safe to delete only after every item below is true:
|
|
| 1283 |
- [ ] Three-epoch training and final 1,687-row validation completed normally.
|
| 1284 |
- [ ] `run_summary.json` says `status=complete`.
|
| 1285 |
- [ ] `tools/stage_release.py` staged the best—not merely latest—adapter.
|
|
|
|
|
|
|
| 1286 |
- [ ] Local `tools/verify_release.py` passed.
|
| 1287 |
- [ ] `tools/publish_huggingface.py` passed its fresh final-download check.
|
| 1288 |
- [ ] The Hugging Face model `final_revision` was recorded.
|
| 1289 |
- [ ] The pinned SFT dataset commit remains remotely readable and hash-verified.
|
| 1290 |
-
- [ ] The entire clean folder was committed to Azure, with
|
| 1291 |
-
|
| 1292 |
- [ ] A fresh Azure clone passed `tools/verify_release.py --remote-clean`.
|
| 1293 |
- [ ] At least one end-to-end inference smoke test passed from a fresh checkout
|
| 1294 |
using the gated pinned Yehia base, prepared input, and staged adapter.
|
| 1295 |
- [ ] Azure Git commit, Hugging Face model commit, Hugging Face dataset commit,
|
| 1296 |
and Yehia base commit were recorded together.
|
| 1297 |
- [ ] Required future repository credentials/permissions exist outside the pod.
|
| 1298 |
-
- [ ] Any optional exact-resume checkpoint desired later was archived separately.
|
| 1299 |
|
| 1300 |
Until that entire gate passes, deleting the pod is premature. After it passes,
|
| 1301 |
temporary caches, plots, rolling logs, downloaded base files, transformed local
|
|
@@ -1451,7 +1480,8 @@ no-relation bias, and decode through the same index. The supplied
|
|
| 1451 |
- The gated 7B base model.
|
| 1452 |
- The 133+ MB transformed JSONL dataset.
|
| 1453 |
- Any source-dataset cache.
|
| 1454 |
-
-
|
|
|
|
| 1455 |
- Notebook prompt experiments.
|
| 1456 |
- Temporary benchmark scripts and abandoned objectives.
|
| 1457 |
- Rolling trainer/resource logs.
|
|
@@ -1459,9 +1489,8 @@ no-relation bias, and decode through the same index. The supplied
|
|
| 1459 |
- A premature adapter snapshot from an incomplete run.
|
| 1460 |
|
| 1461 |
This keeps the model repository understandable while preserving every file
|
| 1462 |
-
needed to download, audit, rebuild, retrain from step 0, evaluate, stage,
|
| 1463 |
-
the selected system
|
| 1464 |
-
described in the durability section above.
|
| 1465 |
|
| 1466 |
## Troubleshooting
|
| 1467 |
|
|
@@ -1548,7 +1577,8 @@ Before claiming a faithful retrain, verify:
|
|
| 1548 |
- [ ] Fresh Hugging Face and Azure downloads both pass remote-clean verification.
|
| 1549 |
- [ ] An end-to-end prepared-input inference passes from a fresh checkout.
|
| 1550 |
- [ ] Immutable Azure, model, dataset, and base revisions are recorded.
|
| 1551 |
-
- [ ]
|
|
|
|
| 1552 |
|
| 1553 |
## Pre-publication responsibility
|
| 1554 |
|
|
|
|
| 24 |
phrase or generate explanatory text.
|
| 25 |
|
| 26 |
This repository contains the clean training, dataset, audit, inference, and
|
| 27 |
+
release-staging source, the selected best inference adapter, and the latest
|
| 28 |
+
complete resumable Trainer checkpoint. It intentionally excludes downloaded
|
| 29 |
+
base weights, local dataset JSONL files, all older numbered checkpoints, caches,
|
| 30 |
+
notebooks, prediction dumps, and rolling logs.
|
| 31 |
|
| 32 |
> **Release status:** all three epochs and the final 1,687-row validation are
|
| 33 |
> complete at global step 2,943. The selected step-2,750 best adapter is staged
|
| 34 |
> at the repository root and passed the complete local release verifier: 448/448
|
| 35 |
> tensors are finite and nonzero, all 41 worked classes are covered, and every
|
| 36 |
+
> manifest hash matches. The full latest step-2,943 optimizer/scheduler/RNG
|
| 37 |
+
> checkpoint is preserved separately under `latest_checkpoint/`. Hugging Face publication provenance is written to
|
| 38 |
> `release/hf_remote_verification.json` by the guarded publisher.
|
| 39 |
|
| 40 |
## At a glance
|
|
|
|
| 107 |
├── build_examples_appendix.py
|
| 108 |
├── plot_losses.py
|
| 109 |
├── monitor_resources.sh
|
| 110 |
+
├── restore_latest_checkpoint.py
|
| 111 |
├── stage_release.py
|
| 112 |
├── verify_release.py
|
| 113 |
└── publish_huggingface.py
|
|
|
|
| 115 |
|
| 116 |
After a successful release-staging operation, the repository root additionally
|
| 117 |
contains PEFT adapter/tokenizer files and `inference_config.json`; final run
|
| 118 |
+
evidence is placed under `release/`, and the complete latest Trainer state is
|
| 119 |
+
placed under `latest_checkpoint/`. Full Yehia base weights are never copied.
|
| 120 |
|
| 121 |
## Task definition
|
| 122 |
|
|
|
|
| 817 |
The trainer maintains:
|
| 818 |
|
| 819 |
- `checkpoints/checkpoint-<step>/`: resumable Trainer checkpoints;
|
| 820 |
+
- `latest_checkpoint/`: complete named copy of the final step-2,943 checkpoint;
|
| 821 |
- `best_checkpoint/`: complete named copy of the best validation checkpoint;
|
| 822 |
- `best_adapter/`: adapter/tokenizer exported after training completes.
|
| 823 |
|
|
|
|
| 1112 |
- all-linear evidence reports 225 eligible and 224 wrapped modules with only
|
| 1113 |
LoRA parameters trainable and the output head frozen;
|
| 1114 |
- all 448 saved adapter tensors are finite and nonzero;
|
| 1115 |
+
- the best-checkpoint metric artifact exists;
|
| 1116 |
+
- `latest_checkpoint/` and numbered `checkpoint-2943/` are byte-identical;
|
| 1117 |
+
- the latest checkpoint has finite adapter/optimizer state, complete scheduler
|
| 1118 |
+
state, trainer global step 2,943, RNG state, and training arguments.
|
| 1119 |
|
| 1120 |
It copies only:
|
| 1121 |
|
|
|
|
| 1123 |
- tokenizer/chat-template files required by the adapter;
|
| 1124 |
- frozen inference configuration, including best-step no-relation bias;
|
| 1125 |
- final run summary and best validation metrics;
|
| 1126 |
+
- small audit evidence and a SHA-256 release manifest;
|
| 1127 |
+
- the complete latest step-2,943 resumable checkpoint, with a separate
|
| 1128 |
+
checkpoint integrity manifest.
|
| 1129 |
|
| 1130 |
All correctness checks finish before repository files are changed. Each staged
|
| 1131 |
file is copied through a temporary sibling and atomically renamed, preventing an
|
|
|
|
| 1134 |
It explicitly excludes:
|
| 1135 |
|
| 1136 |
- Yehia base weights;
|
| 1137 |
+
- all older numbered/named checkpoints other than the staged final latest copy;
|
|
|
|
| 1138 |
- logs and resource time series;
|
| 1139 |
- per-row validation prediction dumps;
|
| 1140 |
- caches and temporary files.
|
|
|
|
| 1161 |
| Exact transformed train/validation/official JSONL and resources | Hugging Face dataset `U4RASD/Yehia-RE-SFT` at commit `a060e47f56025778b97344d4d3de60a8fd53be7c` | Retraining and official inference input |
|
| 1162 |
| Entire clean folder in this README, including source, resources, 41 examples, evidence, and release tools | Azure Git and Hugging Face model `U4RASD/DRU-RE-Yehia` | Reproduce, audit, train, and understand the system |
|
| 1163 |
| Best adapter, tokenizer files, `inference_config.json`, final metrics, and release manifest | Root/release directories of the Hugging Face model repo; mirrored to Azure with Git LFS | Actual model inference and checkpoint provenance |
|
| 1164 |
+
| Latest complete `checkpoint-2943` adapter, optimizer, scheduler, RNG, trainer state, tokenizer, and training arguments | `latest_checkpoint/` in the Hugging Face model repo and Azure Git LFS mirror | Exact archival resume state from the completed run |
|
| 1165 |
| Yehia 7B base at commit `b9dda4715eafee7e8090d2c83cfe078d75f4ebb8` | Upstream gated `Navid-AI/Yehia-7B-preview` | Required underneath the PEFT adapter |
|
| 1166 |
| Token permissions | An external password manager or secret store, never either repository | Future access to gated/private repositories |
|
| 1167 |
|
|
|
|
| 1189 |
- exact 225 eligible / 224 wrapped all-linear evidence;
|
| 1190 |
- the portable pinned base ID and revision in adapter/inference configs;
|
| 1191 |
- 448 finite, nonzero adapter tensors;
|
| 1192 |
+
- the complete step-2,943 checkpoint manifest, adapter, finite optimizer state,
|
| 1193 |
+
final scheduler state, RNG payload, and trainer provenance;
|
| 1194 |
- locked rank 16, alpha 32, dropout 0.05, RS-LoRA settings;
|
| 1195 |
- the SHA-256 and byte size of every staged manifest entry;
|
| 1196 |
+
- absence of full base weights and any unrecognized checkpoint payloads;
|
| 1197 |
- in remote-clean mode, absence of every unrecognized or stale remote file.
|
| 1198 |
|
| 1199 |
This command intentionally fails before the final adapter is staged. A source
|
|
|
|
| 1225 |
|
| 1226 |
When the Azure DevOps repository URL is supplied, push this same directory—not
|
| 1227 |
the live experiment directory. `.gitattributes` already places
|
| 1228 |
+
the root adapter plus large latest-checkpoint binaries under Git LFS. A
|
| 1229 |
+
representative workflow is:
|
| 1230 |
|
| 1231 |
```bash
|
| 1232 |
git init -b main
|
|
|
|
| 1277 |
- reproduce the transformed dataset;
|
| 1278 |
- retrain from optimizer step 0;
|
| 1279 |
- load the completed best adapter for inference;
|
| 1280 |
+
- reproduce constrained decoding and output mapping;
|
| 1281 |
+
- restore the exact latest completed Trainer state from step 2,943.
|
| 1282 |
|
| 1283 |
+
The root `adapter_model.safetensors` is the selected step-2,750 **best inference
|
| 1284 |
+
adapter**. `latest_checkpoint/adapter_model.safetensors` is the different final
|
| 1285 |
+
step-2,943 training state accompanied by its optimizer, scheduler, RNG,
|
| 1286 |
+
trainer state, and training arguments. Applications should use the root best
|
| 1287 |
+
adapter; the checkpoint directory exists for archival resume/recovery.
|
| 1288 |
+
|
| 1289 |
+
To restore it into the default run layout:
|
| 1290 |
+
|
| 1291 |
+
```bash
|
| 1292 |
+
python tools/restore_latest_checkpoint.py
|
| 1293 |
+
```
|
| 1294 |
+
|
| 1295 |
+
This verifies every checkpoint hash and tensor first, then atomically creates:
|
| 1296 |
+
|
| 1297 |
+
```text
|
| 1298 |
+
runs/DRU-RE-Yehia/checkpoints/checkpoint-2943/
|
| 1299 |
+
```
|
| 1300 |
+
|
| 1301 |
+
With the locked three-epoch configuration, that checkpoint is already at the
|
| 1302 |
+
training endpoint, so a normal resume performs no additional optimizer update
|
| 1303 |
+
and proceeds to finalization. Extending it to more epochs or changing the
|
| 1304 |
+
learning-rate schedule is a new experiment, not an exact continuation of the
|
| 1305 |
+
documented run. Older intermediate checkpoints are intentionally excluded.
|
| 1306 |
|
| 1307 |
### Deletion gate
|
| 1308 |
|
|
|
|
| 1311 |
- [ ] Three-epoch training and final 1,687-row validation completed normally.
|
| 1312 |
- [ ] `run_summary.json` says `status=complete`.
|
| 1313 |
- [ ] `tools/stage_release.py` staged the best—not merely latest—adapter.
|
| 1314 |
+
- [ ] `latest_checkpoint/checkpoint_manifest.json` proves the complete final
|
| 1315 |
+
step-2,943 optimizer/scheduler/RNG checkpoint is present.
|
| 1316 |
- [ ] Local `tools/verify_release.py` passed.
|
| 1317 |
- [ ] `tools/publish_huggingface.py` passed its fresh final-download check.
|
| 1318 |
- [ ] The Hugging Face model `final_revision` was recorded.
|
| 1319 |
- [ ] The pinned SFT dataset commit remains remotely readable and hash-verified.
|
| 1320 |
+
- [ ] The entire clean folder was committed to Azure, with root adapter and
|
| 1321 |
+
latest-checkpoint LFS objects present.
|
| 1322 |
- [ ] A fresh Azure clone passed `tools/verify_release.py --remote-clean`.
|
| 1323 |
- [ ] At least one end-to-end inference smoke test passed from a fresh checkout
|
| 1324 |
using the gated pinned Yehia base, prepared input, and staged adapter.
|
| 1325 |
- [ ] Azure Git commit, Hugging Face model commit, Hugging Face dataset commit,
|
| 1326 |
and Yehia base commit were recorded together.
|
| 1327 |
- [ ] Required future repository credentials/permissions exist outside the pod.
|
|
|
|
| 1328 |
|
| 1329 |
Until that entire gate passes, deleting the pod is premature. After it passes,
|
| 1330 |
temporary caches, plots, rolling logs, downloaded base files, transformed local
|
|
|
|
| 1480 |
- The gated 7B base model.
|
| 1481 |
- The 133+ MB transformed JSONL dataset.
|
| 1482 |
- Any source-dataset cache.
|
| 1483 |
+
- Intermediate checkpoints and optimizer states other than the final staged
|
| 1484 |
+
`latest_checkpoint/` copy.
|
| 1485 |
- Notebook prompt experiments.
|
| 1486 |
- Temporary benchmark scripts and abandoned objectives.
|
| 1487 |
- Rolling trainer/resource logs.
|
|
|
|
| 1489 |
- A premature adapter snapshot from an incomplete run.
|
| 1490 |
|
| 1491 |
This keeps the model repository understandable while preserving every file
|
| 1492 |
+
needed to download, audit, rebuild, retrain from step 0, evaluate, stage, use
|
| 1493 |
+
the selected system, and restore the final optimizer state.
|
|
|
|
| 1494 |
|
| 1495 |
## Troubleshooting
|
| 1496 |
|
|
|
|
| 1577 |
- [ ] Fresh Hugging Face and Azure downloads both pass remote-clean verification.
|
| 1578 |
- [ ] An end-to-end prepared-input inference passes from a fresh checkout.
|
| 1579 |
- [ ] Immutable Azure, model, dataset, and base revisions are recorded.
|
| 1580 |
+
- [ ] Only the explicitly manifested final optimizer checkpoint is pushed; no
|
| 1581 |
+
base weights, older checkpoints, logs, caches, or credentials are present.
|
| 1582 |
|
| 1583 |
## Pre-publication responsibility
|
| 1584 |
|
download_dataset.py
CHANGED
|
@@ -10,6 +10,8 @@ import os
|
|
| 10 |
from pathlib import Path
|
| 11 |
from typing import Any, Dict
|
| 12 |
|
|
|
|
|
|
|
| 13 |
from dotenv import load_dotenv
|
| 14 |
from huggingface_hub import snapshot_download
|
| 15 |
|
|
|
|
| 10 |
from pathlib import Path
|
| 11 |
from typing import Any, Dict
|
| 12 |
|
| 13 |
+
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "0"
|
| 14 |
+
|
| 15 |
from dotenv import load_dotenv
|
| 16 |
from huggingface_hub import snapshot_download
|
| 17 |
|
latest_checkpoint/README.md
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
base_model: /root/workspace/models/Yehia-7B-preview
|
| 3 |
+
library_name: peft
|
| 4 |
+
pipeline_tag: text-generation
|
| 5 |
+
tags:
|
| 6 |
+
- base_model:adapter:/root/workspace/models/Yehia-7B-preview
|
| 7 |
+
- lora
|
| 8 |
+
- transformers
|
| 9 |
+
---
|
| 10 |
+
|
| 11 |
+
# Model Card for Model ID
|
| 12 |
+
|
| 13 |
+
<!-- Provide a quick summary of what the model is/does. -->
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
## Model Details
|
| 18 |
+
|
| 19 |
+
### Model Description
|
| 20 |
+
|
| 21 |
+
<!-- Provide a longer summary of what this model is. -->
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
- **Developed by:** [More Information Needed]
|
| 26 |
+
- **Funded by [optional]:** [More Information Needed]
|
| 27 |
+
- **Shared by [optional]:** [More Information Needed]
|
| 28 |
+
- **Model type:** [More Information Needed]
|
| 29 |
+
- **Language(s) (NLP):** [More Information Needed]
|
| 30 |
+
- **License:** [More Information Needed]
|
| 31 |
+
- **Finetuned from model [optional]:** [More Information Needed]
|
| 32 |
+
|
| 33 |
+
### Model Sources [optional]
|
| 34 |
+
|
| 35 |
+
<!-- Provide the basic links for the model. -->
|
| 36 |
+
|
| 37 |
+
- **Repository:** [More Information Needed]
|
| 38 |
+
- **Paper [optional]:** [More Information Needed]
|
| 39 |
+
- **Demo [optional]:** [More Information Needed]
|
| 40 |
+
|
| 41 |
+
## Uses
|
| 42 |
+
|
| 43 |
+
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
| 44 |
+
|
| 45 |
+
### Direct Use
|
| 46 |
+
|
| 47 |
+
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
| 48 |
+
|
| 49 |
+
[More Information Needed]
|
| 50 |
+
|
| 51 |
+
### Downstream Use [optional]
|
| 52 |
+
|
| 53 |
+
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
|
| 54 |
+
|
| 55 |
+
[More Information Needed]
|
| 56 |
+
|
| 57 |
+
### Out-of-Scope Use
|
| 58 |
+
|
| 59 |
+
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
| 60 |
+
|
| 61 |
+
[More Information Needed]
|
| 62 |
+
|
| 63 |
+
## Bias, Risks, and Limitations
|
| 64 |
+
|
| 65 |
+
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
| 66 |
+
|
| 67 |
+
[More Information Needed]
|
| 68 |
+
|
| 69 |
+
### Recommendations
|
| 70 |
+
|
| 71 |
+
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
| 72 |
+
|
| 73 |
+
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
| 74 |
+
|
| 75 |
+
## How to Get Started with the Model
|
| 76 |
+
|
| 77 |
+
Use the code below to get started with the model.
|
| 78 |
+
|
| 79 |
+
[More Information Needed]
|
| 80 |
+
|
| 81 |
+
## Training Details
|
| 82 |
+
|
| 83 |
+
### Training Data
|
| 84 |
+
|
| 85 |
+
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
| 86 |
+
|
| 87 |
+
[More Information Needed]
|
| 88 |
+
|
| 89 |
+
### Training Procedure
|
| 90 |
+
|
| 91 |
+
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
| 92 |
+
|
| 93 |
+
#### Preprocessing [optional]
|
| 94 |
+
|
| 95 |
+
[More Information Needed]
|
| 96 |
+
|
| 97 |
+
|
| 98 |
+
#### Training Hyperparameters
|
| 99 |
+
|
| 100 |
+
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
| 101 |
+
|
| 102 |
+
#### Speeds, Sizes, Times [optional]
|
| 103 |
+
|
| 104 |
+
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
| 105 |
+
|
| 106 |
+
[More Information Needed]
|
| 107 |
+
|
| 108 |
+
## Evaluation
|
| 109 |
+
|
| 110 |
+
<!-- This section describes the evaluation protocols and provides the results. -->
|
| 111 |
+
|
| 112 |
+
### Testing Data, Factors & Metrics
|
| 113 |
+
|
| 114 |
+
#### Testing Data
|
| 115 |
+
|
| 116 |
+
<!-- This should link to a Dataset Card if possible. -->
|
| 117 |
+
|
| 118 |
+
[More Information Needed]
|
| 119 |
+
|
| 120 |
+
#### Factors
|
| 121 |
+
|
| 122 |
+
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
| 123 |
+
|
| 124 |
+
[More Information Needed]
|
| 125 |
+
|
| 126 |
+
#### Metrics
|
| 127 |
+
|
| 128 |
+
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
| 129 |
+
|
| 130 |
+
[More Information Needed]
|
| 131 |
+
|
| 132 |
+
### Results
|
| 133 |
+
|
| 134 |
+
[More Information Needed]
|
| 135 |
+
|
| 136 |
+
#### Summary
|
| 137 |
+
|
| 138 |
+
|
| 139 |
+
|
| 140 |
+
## Model Examination [optional]
|
| 141 |
+
|
| 142 |
+
<!-- Relevant interpretability work for the model goes here -->
|
| 143 |
+
|
| 144 |
+
[More Information Needed]
|
| 145 |
+
|
| 146 |
+
## Environmental Impact
|
| 147 |
+
|
| 148 |
+
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
| 149 |
+
|
| 150 |
+
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
| 151 |
+
|
| 152 |
+
- **Hardware Type:** [More Information Needed]
|
| 153 |
+
- **Hours used:** [More Information Needed]
|
| 154 |
+
- **Cloud Provider:** [More Information Needed]
|
| 155 |
+
- **Compute Region:** [More Information Needed]
|
| 156 |
+
- **Carbon Emitted:** [More Information Needed]
|
| 157 |
+
|
| 158 |
+
## Technical Specifications [optional]
|
| 159 |
+
|
| 160 |
+
### Model Architecture and Objective
|
| 161 |
+
|
| 162 |
+
[More Information Needed]
|
| 163 |
+
|
| 164 |
+
### Compute Infrastructure
|
| 165 |
+
|
| 166 |
+
[More Information Needed]
|
| 167 |
+
|
| 168 |
+
#### Hardware
|
| 169 |
+
|
| 170 |
+
[More Information Needed]
|
| 171 |
+
|
| 172 |
+
#### Software
|
| 173 |
+
|
| 174 |
+
[More Information Needed]
|
| 175 |
+
|
| 176 |
+
## Citation [optional]
|
| 177 |
+
|
| 178 |
+
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
| 179 |
+
|
| 180 |
+
**BibTeX:**
|
| 181 |
+
|
| 182 |
+
[More Information Needed]
|
| 183 |
+
|
| 184 |
+
**APA:**
|
| 185 |
+
|
| 186 |
+
[More Information Needed]
|
| 187 |
+
|
| 188 |
+
## Glossary [optional]
|
| 189 |
+
|
| 190 |
+
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
| 191 |
+
|
| 192 |
+
[More Information Needed]
|
| 193 |
+
|
| 194 |
+
## More Information [optional]
|
| 195 |
+
|
| 196 |
+
[More Information Needed]
|
| 197 |
+
|
| 198 |
+
## Model Card Authors [optional]
|
| 199 |
+
|
| 200 |
+
[More Information Needed]
|
| 201 |
+
|
| 202 |
+
## Model Card Contact
|
| 203 |
+
|
| 204 |
+
[More Information Needed]
|
| 205 |
+
### Framework versions
|
| 206 |
+
|
| 207 |
+
- PEFT 0.17.1
|
latest_checkpoint/adapter_config.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"alpha_pattern": {},
|
| 3 |
+
"auto_mapping": null,
|
| 4 |
+
"base_model_name_or_path": "Navid-AI/Yehia-7B-preview",
|
| 5 |
+
"bias": "none",
|
| 6 |
+
"corda_config": null,
|
| 7 |
+
"eva_config": null,
|
| 8 |
+
"exclude_modules": null,
|
| 9 |
+
"fan_in_fan_out": false,
|
| 10 |
+
"inference_mode": true,
|
| 11 |
+
"init_lora_weights": true,
|
| 12 |
+
"layer_replication": null,
|
| 13 |
+
"layers_pattern": null,
|
| 14 |
+
"layers_to_transform": null,
|
| 15 |
+
"loftq_config": {},
|
| 16 |
+
"lora_alpha": 32,
|
| 17 |
+
"lora_bias": false,
|
| 18 |
+
"lora_dropout": 0.05,
|
| 19 |
+
"megatron_config": null,
|
| 20 |
+
"megatron_core": "megatron.core",
|
| 21 |
+
"modules_to_save": null,
|
| 22 |
+
"peft_type": "LORA",
|
| 23 |
+
"qalora_group_size": 16,
|
| 24 |
+
"r": 16,
|
| 25 |
+
"rank_pattern": {},
|
| 26 |
+
"revision": "b9dda4715eafee7e8090d2c83cfe078d75f4ebb8",
|
| 27 |
+
"target_modules": [
|
| 28 |
+
"down_proj",
|
| 29 |
+
"up_proj",
|
| 30 |
+
"o_proj",
|
| 31 |
+
"gate_proj",
|
| 32 |
+
"k_proj",
|
| 33 |
+
"q_proj",
|
| 34 |
+
"v_proj"
|
| 35 |
+
],
|
| 36 |
+
"target_parameters": null,
|
| 37 |
+
"task_type": "CAUSAL_LM",
|
| 38 |
+
"trainable_token_indices": null,
|
| 39 |
+
"use_dora": false,
|
| 40 |
+
"use_qalora": false,
|
| 41 |
+
"use_rslora": true
|
| 42 |
+
}
|
latest_checkpoint/adapter_model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4390a7f0c09141c9e6c9dc0e82164e7d5a6eb2e07eca3f44c7f76467485bae71
|
| 3 |
+
size 159967880
|
latest_checkpoint/chat_template.jinja
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% set system_message = false %}{% endif %}{% for message in loop_messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if loop.index0 == 0 and system_message != false %}{% set content = '<<SYS>>\n' + system_message + '\n<</SYS>>\n\n' + message['content'] %}{% else %}{% set content = message['content'] %}{% endif %}{% if message['role'] == 'user' %}{{ bos_token + ' [INST] ' + content.strip() + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ ' ' + content.strip() + ' ' + eos_token }}{% endif %}{% endfor %}
|
latest_checkpoint/checkpoint_manifest.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "complete",
|
| 3 |
+
"checkpoint_type": "latest_complete_resumable_trainer_checkpoint",
|
| 4 |
+
"global_step": 2943,
|
| 5 |
+
"best_checkpoint_step": 2750,
|
| 6 |
+
"audit": {
|
| 7 |
+
"global_step": 2943,
|
| 8 |
+
"best_checkpoint_step": 2750,
|
| 9 |
+
"adapter": {
|
| 10 |
+
"tensor_count": 448,
|
| 11 |
+
"finite_tensors": 448,
|
| 12 |
+
"nonzero_tensors": 448
|
| 13 |
+
},
|
| 14 |
+
"optimizer": {
|
| 15 |
+
"tensor_count": 2688,
|
| 16 |
+
"finite_floating_tensor_count": 1792
|
| 17 |
+
},
|
| 18 |
+
"scheduler": {
|
| 19 |
+
"tensor_count": 0,
|
| 20 |
+
"finite_floating_tensor_count": 0
|
| 21 |
+
},
|
| 22 |
+
"rng_state_bytes": 14244,
|
| 23 |
+
"training_args_bytes": 5496
|
| 24 |
+
},
|
| 25 |
+
"files": {
|
| 26 |
+
"README.md": {
|
| 27 |
+
"bytes": 5232,
|
| 28 |
+
"sha256": "32c8a003763070b74cdb20f608f0e5a726570b11d56469cd4b80b2753bd274f4"
|
| 29 |
+
},
|
| 30 |
+
"adapter_config.json": {
|
| 31 |
+
"bytes": 975,
|
| 32 |
+
"sha256": "68656a0760952d4504c6f6cdfb03487622327b6391315289790192bfa6951721"
|
| 33 |
+
},
|
| 34 |
+
"adapter_model.safetensors": {
|
| 35 |
+
"bytes": 159967880,
|
| 36 |
+
"sha256": "4390a7f0c09141c9e6c9dc0e82164e7d5a6eb2e07eca3f44c7f76467485bae71"
|
| 37 |
+
},
|
| 38 |
+
"chat_template.jinja": {
|
| 39 |
+
"bytes": 816,
|
| 40 |
+
"sha256": "f1dff938141b507da4a409b6bb3431382088a97a963acd246a41f2f344ae831f"
|
| 41 |
+
},
|
| 42 |
+
"optimizer.pt": {
|
| 43 |
+
"bytes": 81735892,
|
| 44 |
+
"sha256": "58da25e4579a062fa12ad066e34b666619a4609957fbcc9d246212ca4a431fad"
|
| 45 |
+
},
|
| 46 |
+
"rng_state.pth": {
|
| 47 |
+
"bytes": 14244,
|
| 48 |
+
"sha256": "e1364bce33b92ffd2389bb5e6f0f8bb88878c2a769c50a7e2403c9cd9f3c1fd9"
|
| 49 |
+
},
|
| 50 |
+
"scheduler.pt": {
|
| 51 |
+
"bytes": 1064,
|
| 52 |
+
"sha256": "bd16c6406d87f70b6c298a5e4fb685236ce307ae801894a350532f2e95d3a1fe"
|
| 53 |
+
},
|
| 54 |
+
"special_tokens_map.json": {
|
| 55 |
+
"bytes": 551,
|
| 56 |
+
"sha256": "82d96d7a9e6ced037f12394b7ea6a5b02e6ca87e0d11edaa8d60d9be857ce7db"
|
| 57 |
+
},
|
| 58 |
+
"tokenizer.json": {
|
| 59 |
+
"bytes": 8508152,
|
| 60 |
+
"sha256": "a4ec65a3ef5dee870b4024cf17d9315aff58dc1555e05766f1c18ebfe8405dba"
|
| 61 |
+
},
|
| 62 |
+
"tokenizer.model": {
|
| 63 |
+
"bytes": 1228714,
|
| 64 |
+
"sha256": "feff3deb3537c4a47b77585053ad2aa00484da7907b188e0111cbed1f4592e67"
|
| 65 |
+
},
|
| 66 |
+
"tokenizer_config.json": {
|
| 67 |
+
"bytes": 4402,
|
| 68 |
+
"sha256": "92a93150cc2a9e821e6fc785bbb0aea3cec5d92df529974131efc1c857b52359"
|
| 69 |
+
},
|
| 70 |
+
"trainer_state.json": {
|
| 71 |
+
"bytes": 43812,
|
| 72 |
+
"sha256": "95489ed7a630b99057d444bd7469f2eeb2f9e5f618b077f8f1873f9a1d118251"
|
| 73 |
+
},
|
| 74 |
+
"training_args.bin": {
|
| 75 |
+
"bytes": 5496,
|
| 76 |
+
"sha256": "213db7d4f648a556f875d6706bbb4d0e9ef6f78fecf9b503048cedff8a477c00"
|
| 77 |
+
}
|
| 78 |
+
},
|
| 79 |
+
"full_base_weights_included": false
|
| 80 |
+
}
|
latest_checkpoint/optimizer.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:58da25e4579a062fa12ad066e34b666619a4609957fbcc9d246212ca4a431fad
|
| 3 |
+
size 81735892
|
latest_checkpoint/rng_state.pth
ADDED
|
Binary file (14.2 kB). View file
|
|
|
latest_checkpoint/scheduler.pt
ADDED
|
Binary file (1.06 kB). View file
|
|
|
latest_checkpoint/special_tokens_map.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token": {
|
| 3 |
+
"content": "<s>",
|
| 4 |
+
"lstrip": false,
|
| 5 |
+
"normalized": false,
|
| 6 |
+
"rstrip": false,
|
| 7 |
+
"single_word": false
|
| 8 |
+
},
|
| 9 |
+
"eos_token": {
|
| 10 |
+
"content": "</s>",
|
| 11 |
+
"lstrip": false,
|
| 12 |
+
"normalized": false,
|
| 13 |
+
"rstrip": false,
|
| 14 |
+
"single_word": false
|
| 15 |
+
},
|
| 16 |
+
"pad_token": {
|
| 17 |
+
"content": "</s>",
|
| 18 |
+
"lstrip": false,
|
| 19 |
+
"normalized": false,
|
| 20 |
+
"rstrip": false,
|
| 21 |
+
"single_word": false
|
| 22 |
+
},
|
| 23 |
+
"unk_token": {
|
| 24 |
+
"content": "<unk>",
|
| 25 |
+
"lstrip": false,
|
| 26 |
+
"normalized": false,
|
| 27 |
+
"rstrip": false,
|
| 28 |
+
"single_word": false
|
| 29 |
+
}
|
| 30 |
+
}
|
latest_checkpoint/tokenizer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
latest_checkpoint/tokenizer.model
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:feff3deb3537c4a47b77585053ad2aa00484da7907b188e0111cbed1f4592e67
|
| 3 |
+
size 1228714
|
latest_checkpoint/tokenizer_config.json
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_bos_token": false,
|
| 3 |
+
"add_eos_token": false,
|
| 4 |
+
"add_prefix_space": null,
|
| 5 |
+
"added_tokens_decoder": {
|
| 6 |
+
"0": {
|
| 7 |
+
"content": "<unk>",
|
| 8 |
+
"lstrip": false,
|
| 9 |
+
"normalized": false,
|
| 10 |
+
"rstrip": false,
|
| 11 |
+
"single_word": false,
|
| 12 |
+
"special": true
|
| 13 |
+
},
|
| 14 |
+
"1": {
|
| 15 |
+
"content": "<s>",
|
| 16 |
+
"lstrip": false,
|
| 17 |
+
"normalized": false,
|
| 18 |
+
"rstrip": false,
|
| 19 |
+
"single_word": false,
|
| 20 |
+
"special": true
|
| 21 |
+
},
|
| 22 |
+
"2": {
|
| 23 |
+
"content": "</s>",
|
| 24 |
+
"lstrip": false,
|
| 25 |
+
"normalized": false,
|
| 26 |
+
"rstrip": false,
|
| 27 |
+
"single_word": false,
|
| 28 |
+
"special": true
|
| 29 |
+
},
|
| 30 |
+
"3": {
|
| 31 |
+
"content": "0",
|
| 32 |
+
"lstrip": false,
|
| 33 |
+
"normalized": false,
|
| 34 |
+
"rstrip": false,
|
| 35 |
+
"single_word": false,
|
| 36 |
+
"special": false
|
| 37 |
+
},
|
| 38 |
+
"4": {
|
| 39 |
+
"content": "1",
|
| 40 |
+
"lstrip": false,
|
| 41 |
+
"normalized": false,
|
| 42 |
+
"rstrip": false,
|
| 43 |
+
"single_word": false,
|
| 44 |
+
"special": false
|
| 45 |
+
},
|
| 46 |
+
"5": {
|
| 47 |
+
"content": "2",
|
| 48 |
+
"lstrip": false,
|
| 49 |
+
"normalized": false,
|
| 50 |
+
"rstrip": false,
|
| 51 |
+
"single_word": false,
|
| 52 |
+
"special": false
|
| 53 |
+
},
|
| 54 |
+
"6": {
|
| 55 |
+
"content": "3",
|
| 56 |
+
"lstrip": false,
|
| 57 |
+
"normalized": false,
|
| 58 |
+
"rstrip": false,
|
| 59 |
+
"single_word": false,
|
| 60 |
+
"special": false
|
| 61 |
+
},
|
| 62 |
+
"7": {
|
| 63 |
+
"content": "4",
|
| 64 |
+
"lstrip": false,
|
| 65 |
+
"normalized": false,
|
| 66 |
+
"rstrip": false,
|
| 67 |
+
"single_word": false,
|
| 68 |
+
"special": false
|
| 69 |
+
},
|
| 70 |
+
"8": {
|
| 71 |
+
"content": "5",
|
| 72 |
+
"lstrip": false,
|
| 73 |
+
"normalized": false,
|
| 74 |
+
"rstrip": false,
|
| 75 |
+
"single_word": false,
|
| 76 |
+
"special": false
|
| 77 |
+
},
|
| 78 |
+
"9": {
|
| 79 |
+
"content": "6",
|
| 80 |
+
"lstrip": false,
|
| 81 |
+
"normalized": false,
|
| 82 |
+
"rstrip": false,
|
| 83 |
+
"single_word": false,
|
| 84 |
+
"special": false
|
| 85 |
+
},
|
| 86 |
+
"10": {
|
| 87 |
+
"content": "7",
|
| 88 |
+
"lstrip": false,
|
| 89 |
+
"normalized": false,
|
| 90 |
+
"rstrip": false,
|
| 91 |
+
"single_word": false,
|
| 92 |
+
"special": false
|
| 93 |
+
},
|
| 94 |
+
"11": {
|
| 95 |
+
"content": "8",
|
| 96 |
+
"lstrip": false,
|
| 97 |
+
"normalized": false,
|
| 98 |
+
"rstrip": false,
|
| 99 |
+
"single_word": false,
|
| 100 |
+
"special": false
|
| 101 |
+
},
|
| 102 |
+
"12": {
|
| 103 |
+
"content": "9",
|
| 104 |
+
"lstrip": false,
|
| 105 |
+
"normalized": false,
|
| 106 |
+
"rstrip": false,
|
| 107 |
+
"single_word": false,
|
| 108 |
+
"special": false
|
| 109 |
+
},
|
| 110 |
+
"13": {
|
| 111 |
+
"content": "٠",
|
| 112 |
+
"lstrip": false,
|
| 113 |
+
"normalized": false,
|
| 114 |
+
"rstrip": false,
|
| 115 |
+
"single_word": false,
|
| 116 |
+
"special": false
|
| 117 |
+
},
|
| 118 |
+
"14": {
|
| 119 |
+
"content": "١",
|
| 120 |
+
"lstrip": false,
|
| 121 |
+
"normalized": false,
|
| 122 |
+
"rstrip": false,
|
| 123 |
+
"single_word": false,
|
| 124 |
+
"special": false
|
| 125 |
+
},
|
| 126 |
+
"15": {
|
| 127 |
+
"content": "٢",
|
| 128 |
+
"lstrip": false,
|
| 129 |
+
"normalized": false,
|
| 130 |
+
"rstrip": false,
|
| 131 |
+
"single_word": false,
|
| 132 |
+
"special": false
|
| 133 |
+
},
|
| 134 |
+
"16": {
|
| 135 |
+
"content": "٣",
|
| 136 |
+
"lstrip": false,
|
| 137 |
+
"normalized": false,
|
| 138 |
+
"rstrip": false,
|
| 139 |
+
"single_word": false,
|
| 140 |
+
"special": false
|
| 141 |
+
},
|
| 142 |
+
"17": {
|
| 143 |
+
"content": "٤",
|
| 144 |
+
"lstrip": false,
|
| 145 |
+
"normalized": false,
|
| 146 |
+
"rstrip": false,
|
| 147 |
+
"single_word": false,
|
| 148 |
+
"special": false
|
| 149 |
+
},
|
| 150 |
+
"18": {
|
| 151 |
+
"content": "٥",
|
| 152 |
+
"lstrip": false,
|
| 153 |
+
"normalized": false,
|
| 154 |
+
"rstrip": false,
|
| 155 |
+
"single_word": false,
|
| 156 |
+
"special": false
|
| 157 |
+
},
|
| 158 |
+
"19": {
|
| 159 |
+
"content": "٦",
|
| 160 |
+
"lstrip": false,
|
| 161 |
+
"normalized": false,
|
| 162 |
+
"rstrip": false,
|
| 163 |
+
"single_word": false,
|
| 164 |
+
"special": false
|
| 165 |
+
},
|
| 166 |
+
"20": {
|
| 167 |
+
"content": "٧",
|
| 168 |
+
"lstrip": false,
|
| 169 |
+
"normalized": false,
|
| 170 |
+
"rstrip": false,
|
| 171 |
+
"single_word": false,
|
| 172 |
+
"special": false
|
| 173 |
+
},
|
| 174 |
+
"21": {
|
| 175 |
+
"content": "٨",
|
| 176 |
+
"lstrip": false,
|
| 177 |
+
"normalized": false,
|
| 178 |
+
"rstrip": false,
|
| 179 |
+
"single_word": false,
|
| 180 |
+
"special": false
|
| 181 |
+
},
|
| 182 |
+
"22": {
|
| 183 |
+
"content": "٩",
|
| 184 |
+
"lstrip": false,
|
| 185 |
+
"normalized": false,
|
| 186 |
+
"rstrip": false,
|
| 187 |
+
"single_word": false,
|
| 188 |
+
"special": false
|
| 189 |
+
}
|
| 190 |
+
},
|
| 191 |
+
"bos_token": "<s>",
|
| 192 |
+
"clean_up_tokenization_spaces": false,
|
| 193 |
+
"eos_token": "</s>",
|
| 194 |
+
"extra_special_tokens": {},
|
| 195 |
+
"legacy": false,
|
| 196 |
+
"max_length": null,
|
| 197 |
+
"model_max_length": 1000000000000000019884624838656,
|
| 198 |
+
"pad_to_multiple_of": null,
|
| 199 |
+
"pad_token": "</s>",
|
| 200 |
+
"pad_token_type_id": 0,
|
| 201 |
+
"padding_side": "right",
|
| 202 |
+
"sp_model_kwargs": {},
|
| 203 |
+
"spaces_between_special_tokens": false,
|
| 204 |
+
"tokenizer_class": "LlamaTokenizer",
|
| 205 |
+
"unk_token": "<unk>",
|
| 206 |
+
"use_default_system_prompt": false
|
| 207 |
+
}
|
latest_checkpoint/trainer_state.json
ADDED
|
@@ -0,0 +1,1448 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"best_global_step": 2750,
|
| 3 |
+
"best_metric": 0.6332622601279317,
|
| 4 |
+
"best_model_checkpoint": "outputs/DRU-RE-Yehia-choice-final/checkpoints/checkpoint-2750",
|
| 5 |
+
"epoch": 3.0,
|
| 6 |
+
"eval_steps": 250,
|
| 7 |
+
"global_step": 2943,
|
| 8 |
+
"is_hyper_param_search": false,
|
| 9 |
+
"is_local_process_zero": true,
|
| 10 |
+
"is_world_process_zero": true,
|
| 11 |
+
"log_history": [
|
| 12 |
+
{
|
| 13 |
+
"epoch": 0.02039775624681285,
|
| 14 |
+
"grad_norm": 32.115570068359375,
|
| 15 |
+
"learning_rate": 6.418918918918919e-06,
|
| 16 |
+
"loss": 1.4138,
|
| 17 |
+
"step": 20
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"epoch": 0.0407955124936257,
|
| 21 |
+
"grad_norm": 36.402008056640625,
|
| 22 |
+
"learning_rate": 1.3175675675675675e-05,
|
| 23 |
+
"loss": 1.0761,
|
| 24 |
+
"step": 40
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"epoch": 0.06119326874043855,
|
| 28 |
+
"grad_norm": 36.12466812133789,
|
| 29 |
+
"learning_rate": 1.9932432432432434e-05,
|
| 30 |
+
"loss": 0.9291,
|
| 31 |
+
"step": 60
|
| 32 |
+
},
|
| 33 |
+
{
|
| 34 |
+
"epoch": 0.0815910249872514,
|
| 35 |
+
"grad_norm": 32.74873352050781,
|
| 36 |
+
"learning_rate": 2.668918918918919e-05,
|
| 37 |
+
"loss": 0.8514,
|
| 38 |
+
"step": 80
|
| 39 |
+
},
|
| 40 |
+
{
|
| 41 |
+
"epoch": 0.10198878123406425,
|
| 42 |
+
"grad_norm": 25.69573211669922,
|
| 43 |
+
"learning_rate": 3.344594594594595e-05,
|
| 44 |
+
"loss": 0.7376,
|
| 45 |
+
"step": 100
|
| 46 |
+
},
|
| 47 |
+
{
|
| 48 |
+
"epoch": 0.1223865374808771,
|
| 49 |
+
"grad_norm": 18.53243064880371,
|
| 50 |
+
"learning_rate": 4.0202702702702707e-05,
|
| 51 |
+
"loss": 0.6736,
|
| 52 |
+
"step": 120
|
| 53 |
+
},
|
| 54 |
+
{
|
| 55 |
+
"epoch": 0.14278429372768994,
|
| 56 |
+
"grad_norm": 42.1881217956543,
|
| 57 |
+
"learning_rate": 4.695945945945946e-05,
|
| 58 |
+
"loss": 0.5628,
|
| 59 |
+
"step": 140
|
| 60 |
+
},
|
| 61 |
+
{
|
| 62 |
+
"epoch": 0.1631820499745028,
|
| 63 |
+
"grad_norm": 29.84023666381836,
|
| 64 |
+
"learning_rate": 4.999808915274971e-05,
|
| 65 |
+
"loss": 0.7305,
|
| 66 |
+
"step": 160
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"epoch": 0.18357980622131564,
|
| 70 |
+
"grad_norm": 14.481285095214844,
|
| 71 |
+
"learning_rate": 4.998482510897682e-05,
|
| 72 |
+
"loss": 0.4569,
|
| 73 |
+
"step": 180
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"epoch": 0.2039775624681285,
|
| 77 |
+
"grad_norm": 11.743460655212402,
|
| 78 |
+
"learning_rate": 4.995893540384707e-05,
|
| 79 |
+
"loss": 0.6409,
|
| 80 |
+
"step": 200
|
| 81 |
+
},
|
| 82 |
+
{
|
| 83 |
+
"epoch": 0.22437531871494135,
|
| 84 |
+
"grad_norm": 20.807933807373047,
|
| 85 |
+
"learning_rate": 4.9920433120287726e-05,
|
| 86 |
+
"loss": 0.647,
|
| 87 |
+
"step": 220
|
| 88 |
+
},
|
| 89 |
+
{
|
| 90 |
+
"epoch": 0.2447730749617542,
|
| 91 |
+
"grad_norm": 9.826773643493652,
|
| 92 |
+
"learning_rate": 4.986933771478052e-05,
|
| 93 |
+
"loss": 0.5513,
|
| 94 |
+
"step": 240
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"epoch": 0.25497195308516063,
|
| 98 |
+
"eval_accuracy": 0.6585655008891523,
|
| 99 |
+
"eval_decision_nll": 1.3316565713164505,
|
| 100 |
+
"eval_evaluated_rows": 1687,
|
| 101 |
+
"eval_global_step": 250,
|
| 102 |
+
"eval_invalid_output_rate": 0.0,
|
| 103 |
+
"eval_invalid_outputs": 0,
|
| 104 |
+
"eval_loss": 1.3316565713164505,
|
| 105 |
+
"eval_macro_f1_41": 0.6391334292743345,
|
| 106 |
+
"eval_no_relation_logit_bias": -1.0800000000000387,
|
| 107 |
+
"eval_positive_fn": 345,
|
| 108 |
+
"eval_positive_fp": 398,
|
| 109 |
+
"eval_positive_micro_f1": 0.5842193620593173,
|
| 110 |
+
"eval_positive_micro_precision": 0.5673913043478261,
|
| 111 |
+
"eval_positive_micro_recall": 0.6020761245674741,
|
| 112 |
+
"eval_positive_tp": 522,
|
| 113 |
+
"eval_raw_accuracy": 0.6674570243034973,
|
| 114 |
+
"eval_raw_macro_f1_41": 0.6304263381181072,
|
| 115 |
+
"eval_raw_positive_micro_f1": 0.5753588516746412,
|
| 116 |
+
"eval_raw_positive_micro_precision": 0.5975155279503106,
|
| 117 |
+
"eval_raw_positive_micro_recall": 0.5547866205305652,
|
| 118 |
+
"eval_raw_weighted_f1_41": 0.644239845397826,
|
| 119 |
+
"eval_rows": 1687,
|
| 120 |
+
"eval_unconstrained_accuracy": 0.6674570243034973,
|
| 121 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 122 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 123 |
+
"eval_unconstrained_macro_f1_41": 0.6304263381181072,
|
| 124 |
+
"eval_unconstrained_positive_micro_f1": 0.5753588516746412,
|
| 125 |
+
"eval_unconstrained_positive_micro_precision": 0.5975155279503106,
|
| 126 |
+
"eval_unconstrained_positive_micro_recall": 0.5547866205305652,
|
| 127 |
+
"eval_unconstrained_weighted_f1_41": 0.644239845397826,
|
| 128 |
+
"eval_weighted_f1_41": 0.6476916479143388,
|
| 129 |
+
"step": 250
|
| 130 |
+
},
|
| 131 |
+
{
|
| 132 |
+
"epoch": 0.26517083120856705,
|
| 133 |
+
"grad_norm": 15.046053886413574,
|
| 134 |
+
"learning_rate": 4.98056750075297e-05,
|
| 135 |
+
"loss": 0.4321,
|
| 136 |
+
"step": 260
|
| 137 |
+
},
|
| 138 |
+
{
|
| 139 |
+
"epoch": 0.2855685874553799,
|
| 140 |
+
"grad_norm": 11.937222480773926,
|
| 141 |
+
"learning_rate": 4.972947716941413e-05,
|
| 142 |
+
"loss": 0.4411,
|
| 143 |
+
"step": 280
|
| 144 |
+
},
|
| 145 |
+
{
|
| 146 |
+
"epoch": 0.3059663437021928,
|
| 147 |
+
"grad_norm": 11.15040111541748,
|
| 148 |
+
"learning_rate": 4.9640782705730394e-05,
|
| 149 |
+
"loss": 0.4402,
|
| 150 |
+
"step": 300
|
| 151 |
+
},
|
| 152 |
+
{
|
| 153 |
+
"epoch": 0.3263640999490056,
|
| 154 |
+
"grad_norm": 9.428462982177734,
|
| 155 |
+
"learning_rate": 4.953963643673468e-05,
|
| 156 |
+
"loss": 0.4287,
|
| 157 |
+
"step": 320
|
| 158 |
+
},
|
| 159 |
+
{
|
| 160 |
+
"epoch": 0.34676185619581845,
|
| 161 |
+
"grad_norm": 25.721332550048828,
|
| 162 |
+
"learning_rate": 4.9426089474993696e-05,
|
| 163 |
+
"loss": 0.5057,
|
| 164 |
+
"step": 340
|
| 165 |
+
},
|
| 166 |
+
{
|
| 167 |
+
"epoch": 0.3671596124426313,
|
| 168 |
+
"grad_norm": 8.766318321228027,
|
| 169 |
+
"learning_rate": 4.930019919955576e-05,
|
| 170 |
+
"loss": 0.3315,
|
| 171 |
+
"step": 360
|
| 172 |
+
},
|
| 173 |
+
{
|
| 174 |
+
"epoch": 0.3875573686894442,
|
| 175 |
+
"grad_norm": 10.508740425109863,
|
| 176 |
+
"learning_rate": 4.916202922695526e-05,
|
| 177 |
+
"loss": 0.4607,
|
| 178 |
+
"step": 380
|
| 179 |
+
},
|
| 180 |
+
{
|
| 181 |
+
"epoch": 0.407955124936257,
|
| 182 |
+
"grad_norm": 4.016866683959961,
|
| 183 |
+
"learning_rate": 4.901164937906511e-05,
|
| 184 |
+
"loss": 0.2961,
|
| 185 |
+
"step": 400
|
| 186 |
+
},
|
| 187 |
+
{
|
| 188 |
+
"epoch": 0.42835288118306986,
|
| 189 |
+
"grad_norm": 21.203813552856445,
|
| 190 |
+
"learning_rate": 4.884913564781346e-05,
|
| 191 |
+
"loss": 0.3825,
|
| 192 |
+
"step": 420
|
| 193 |
+
},
|
| 194 |
+
{
|
| 195 |
+
"epoch": 0.4487506374298827,
|
| 196 |
+
"grad_norm": 2.3917906284332275,
|
| 197 |
+
"learning_rate": 4.867457015678244e-05,
|
| 198 |
+
"loss": 0.4058,
|
| 199 |
+
"step": 440
|
| 200 |
+
},
|
| 201 |
+
{
|
| 202 |
+
"epoch": 0.4691483936766956,
|
| 203 |
+
"grad_norm": 19.52354621887207,
|
| 204 |
+
"learning_rate": 4.848804111970836e-05,
|
| 205 |
+
"loss": 0.3567,
|
| 206 |
+
"step": 460
|
| 207 |
+
},
|
| 208 |
+
{
|
| 209 |
+
"epoch": 0.4895461499235084,
|
| 210 |
+
"grad_norm": 19.423274993896484,
|
| 211 |
+
"learning_rate": 4.8289642795904433e-05,
|
| 212 |
+
"loss": 0.3384,
|
| 213 |
+
"step": 480
|
| 214 |
+
},
|
| 215 |
+
{
|
| 216 |
+
"epoch": 0.5099439061703213,
|
| 217 |
+
"grad_norm": 4.385583877563477,
|
| 218 |
+
"learning_rate": 4.807947544262839e-05,
|
| 219 |
+
"loss": 0.3797,
|
| 220 |
+
"step": 500
|
| 221 |
+
},
|
| 222 |
+
{
|
| 223 |
+
"epoch": 0.5099439061703213,
|
| 224 |
+
"eval_accuracy": 0.6822762299940723,
|
| 225 |
+
"eval_decision_nll": 1.3185705768334208,
|
| 226 |
+
"eval_evaluated_rows": 1687,
|
| 227 |
+
"eval_global_step": 500,
|
| 228 |
+
"eval_invalid_output_rate": 0.0,
|
| 229 |
+
"eval_invalid_outputs": 0,
|
| 230 |
+
"eval_loss": 1.3185705768334208,
|
| 231 |
+
"eval_macro_f1_41": 0.6691422803869735,
|
| 232 |
+
"eval_no_relation_logit_bias": 0.31999999999995643,
|
| 233 |
+
"eval_positive_fn": 333,
|
| 234 |
+
"eval_positive_fp": 389,
|
| 235 |
+
"eval_positive_micro_f1": 0.5966480446927374,
|
| 236 |
+
"eval_positive_micro_precision": 0.5785482123510293,
|
| 237 |
+
"eval_positive_micro_recall": 0.615916955017301,
|
| 238 |
+
"eval_positive_tp": 534,
|
| 239 |
+
"eval_raw_accuracy": 0.6716064018968583,
|
| 240 |
+
"eval_raw_macro_f1_41": 0.6698756813978369,
|
| 241 |
+
"eval_raw_positive_micro_f1": 0.5944474686989656,
|
| 242 |
+
"eval_raw_positive_micro_precision": 0.5628865979381443,
|
| 243 |
+
"eval_raw_positive_micro_recall": 0.629757785467128,
|
| 244 |
+
"eval_raw_weighted_f1_41": 0.6513946323858064,
|
| 245 |
+
"eval_rows": 1687,
|
| 246 |
+
"eval_unconstrained_accuracy": 0.6716064018968583,
|
| 247 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 248 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 249 |
+
"eval_unconstrained_macro_f1_41": 0.6698756813978369,
|
| 250 |
+
"eval_unconstrained_positive_micro_f1": 0.5944474686989656,
|
| 251 |
+
"eval_unconstrained_positive_micro_precision": 0.5628865979381443,
|
| 252 |
+
"eval_unconstrained_positive_micro_recall": 0.629757785467128,
|
| 253 |
+
"eval_unconstrained_weighted_f1_41": 0.6513946323858064,
|
| 254 |
+
"eval_weighted_f1_41": 0.6589857809303985,
|
| 255 |
+
"step": 500
|
| 256 |
+
},
|
| 257 |
+
{
|
| 258 |
+
"epoch": 0.5303416624171341,
|
| 259 |
+
"grad_norm": 2.1002912521362305,
|
| 260 |
+
"learning_rate": 4.785764526441913e-05,
|
| 261 |
+
"loss": 0.3829,
|
| 262 |
+
"step": 520
|
| 263 |
+
},
|
| 264 |
+
{
|
| 265 |
+
"epoch": 0.5507394186639469,
|
| 266 |
+
"grad_norm": 12.052459716796875,
|
| 267 |
+
"learning_rate": 4.762426435942812e-05,
|
| 268 |
+
"loss": 0.3276,
|
| 269 |
+
"step": 540
|
| 270 |
+
},
|
| 271 |
+
{
|
| 272 |
+
"epoch": 0.5711371749107598,
|
| 273 |
+
"grad_norm": 11.039682388305664,
|
| 274 |
+
"learning_rate": 4.7379450662772394e-05,
|
| 275 |
+
"loss": 0.337,
|
| 276 |
+
"step": 560
|
| 277 |
+
},
|
| 278 |
+
{
|
| 279 |
+
"epoch": 0.5915349311575727,
|
| 280 |
+
"grad_norm": 4.882332801818848,
|
| 281 |
+
"learning_rate": 4.7123327886938076e-05,
|
| 282 |
+
"loss": 0.3724,
|
| 283 |
+
"step": 580
|
| 284 |
+
},
|
| 285 |
+
{
|
| 286 |
+
"epoch": 0.6119326874043856,
|
| 287 |
+
"grad_norm": 4.446337699890137,
|
| 288 |
+
"learning_rate": 4.685602545926432e-05,
|
| 289 |
+
"loss": 0.2834,
|
| 290 |
+
"step": 600
|
| 291 |
+
},
|
| 292 |
+
{
|
| 293 |
+
"epoch": 0.6323304436511984,
|
| 294 |
+
"grad_norm": 10.867338180541992,
|
| 295 |
+
"learning_rate": 4.657767845653943e-05,
|
| 296 |
+
"loss": 0.4342,
|
| 297 |
+
"step": 620
|
| 298 |
+
},
|
| 299 |
+
{
|
| 300 |
+
"epoch": 0.6527281998980112,
|
| 301 |
+
"grad_norm": 0.6202830672264099,
|
| 302 |
+
"learning_rate": 4.628842753674203e-05,
|
| 303 |
+
"loss": 0.2548,
|
| 304 |
+
"step": 640
|
| 305 |
+
},
|
| 306 |
+
{
|
| 307 |
+
"epoch": 0.6731259561448241,
|
| 308 |
+
"grad_norm": 0.782004177570343,
|
| 309 |
+
"learning_rate": 4.598841886796192e-05,
|
| 310 |
+
"loss": 0.2398,
|
| 311 |
+
"step": 660
|
| 312 |
+
},
|
| 313 |
+
{
|
| 314 |
+
"epoch": 0.6935237123916369,
|
| 315 |
+
"grad_norm": 3.5981996059417725,
|
| 316 |
+
"learning_rate": 4.5677804054536544e-05,
|
| 317 |
+
"loss": 0.3756,
|
| 318 |
+
"step": 680
|
| 319 |
+
},
|
| 320 |
+
{
|
| 321 |
+
"epoch": 0.7139214686384497,
|
| 322 |
+
"grad_norm": 12.359613418579102,
|
| 323 |
+
"learning_rate": 4.5356740060440194e-05,
|
| 324 |
+
"loss": 0.3284,
|
| 325 |
+
"step": 700
|
| 326 |
+
},
|
| 327 |
+
{
|
| 328 |
+
"epoch": 0.7343192248852626,
|
| 329 |
+
"grad_norm": 4.867230415344238,
|
| 330 |
+
"learning_rate": 4.502538912996499e-05,
|
| 331 |
+
"loss": 0.3286,
|
| 332 |
+
"step": 720
|
| 333 |
+
},
|
| 334 |
+
{
|
| 335 |
+
"epoch": 0.7547169811320755,
|
| 336 |
+
"grad_norm": 26.788902282714844,
|
| 337 |
+
"learning_rate": 4.468391870573342e-05,
|
| 338 |
+
"loss": 0.2513,
|
| 339 |
+
"step": 740
|
| 340 |
+
},
|
| 341 |
+
{
|
| 342 |
+
"epoch": 0.7649158592554819,
|
| 343 |
+
"eval_accuracy": 0.6609365737996443,
|
| 344 |
+
"eval_decision_nll": 1.5595358801651227,
|
| 345 |
+
"eval_evaluated_rows": 1687,
|
| 346 |
+
"eval_global_step": 750,
|
| 347 |
+
"eval_invalid_output_rate": 0.0,
|
| 348 |
+
"eval_invalid_outputs": 0,
|
| 349 |
+
"eval_loss": 1.5595358801651227,
|
| 350 |
+
"eval_macro_f1_41": 0.6404558346600874,
|
| 351 |
+
"eval_no_relation_logit_bias": -0.64000000000004,
|
| 352 |
+
"eval_positive_fn": 362,
|
| 353 |
+
"eval_positive_fp": 349,
|
| 354 |
+
"eval_positive_micro_f1": 0.5868680999418943,
|
| 355 |
+
"eval_positive_micro_precision": 0.5913348946135831,
|
| 356 |
+
"eval_positive_micro_recall": 0.5824682814302191,
|
| 357 |
+
"eval_positive_tp": 505,
|
| 358 |
+
"eval_raw_accuracy": 0.6644931831653823,
|
| 359 |
+
"eval_raw_macro_f1_41": 0.6435209638657218,
|
| 360 |
+
"eval_raw_positive_micro_f1": 0.5820359281437126,
|
| 361 |
+
"eval_raw_positive_micro_precision": 0.6052303860523038,
|
| 362 |
+
"eval_raw_positive_micro_recall": 0.5605536332179931,
|
| 363 |
+
"eval_raw_weighted_f1_41": 0.6447652943100252,
|
| 364 |
+
"eval_rows": 1687,
|
| 365 |
+
"eval_unconstrained_accuracy": 0.6644931831653823,
|
| 366 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 367 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 368 |
+
"eval_unconstrained_macro_f1_41": 0.6435209638657218,
|
| 369 |
+
"eval_unconstrained_positive_micro_f1": 0.5820359281437126,
|
| 370 |
+
"eval_unconstrained_positive_micro_precision": 0.6052303860523038,
|
| 371 |
+
"eval_unconstrained_positive_micro_recall": 0.5605536332179931,
|
| 372 |
+
"eval_unconstrained_weighted_f1_41": 0.6447652943100252,
|
| 373 |
+
"eval_weighted_f1_41": 0.6460930593744794,
|
| 374 |
+
"step": 750
|
| 375 |
+
},
|
| 376 |
+
{
|
| 377 |
+
"epoch": 0.7751147373788884,
|
| 378 |
+
"grad_norm": 9.591691970825195,
|
| 379 |
+
"learning_rate": 4.433250134408401e-05,
|
| 380 |
+
"loss": 0.2574,
|
| 381 |
+
"step": 760
|
| 382 |
+
},
|
| 383 |
+
{
|
| 384 |
+
"epoch": 0.7955124936257012,
|
| 385 |
+
"grad_norm": 4.1339945793151855,
|
| 386 |
+
"learning_rate": 4.39713146278729e-05,
|
| 387 |
+
"loss": 0.3176,
|
| 388 |
+
"step": 780
|
| 389 |
+
},
|
| 390 |
+
{
|
| 391 |
+
"epoch": 0.815910249872514,
|
| 392 |
+
"grad_norm": 6.561213493347168,
|
| 393 |
+
"learning_rate": 4.3600541076735346e-05,
|
| 394 |
+
"loss": 0.1778,
|
| 395 |
+
"step": 800
|
| 396 |
+
},
|
| 397 |
+
{
|
| 398 |
+
"epoch": 0.8363080061193269,
|
| 399 |
+
"grad_norm": 16.542247772216797,
|
| 400 |
+
"learning_rate": 4.322036805485245e-05,
|
| 401 |
+
"loss": 0.3041,
|
| 402 |
+
"step": 820
|
| 403 |
+
},
|
| 404 |
+
{
|
| 405 |
+
"epoch": 0.8567057623661397,
|
| 406 |
+
"grad_norm": 0.9108038544654846,
|
| 407 |
+
"learning_rate": 4.283098767626984e-05,
|
| 408 |
+
"loss": 0.2437,
|
| 409 |
+
"step": 840
|
| 410 |
+
},
|
| 411 |
+
{
|
| 412 |
+
"epoch": 0.8771035186129525,
|
| 413 |
+
"grad_norm": 3.841179847717285,
|
| 414 |
+
"learning_rate": 4.243259670781611e-05,
|
| 415 |
+
"loss": 0.3884,
|
| 416 |
+
"step": 860
|
| 417 |
+
},
|
| 418 |
+
{
|
| 419 |
+
"epoch": 0.8975012748597654,
|
| 420 |
+
"grad_norm": 10.145074844360352,
|
| 421 |
+
"learning_rate": 4.202539646966993e-05,
|
| 422 |
+
"loss": 0.2895,
|
| 423 |
+
"step": 880
|
| 424 |
+
},
|
| 425 |
+
{
|
| 426 |
+
"epoch": 0.9178990311065782,
|
| 427 |
+
"grad_norm": 0.8870783448219299,
|
| 428 |
+
"learning_rate": 4.1609592733626335e-05,
|
| 429 |
+
"loss": 0.2225,
|
| 430 |
+
"step": 900
|
| 431 |
+
},
|
| 432 |
+
{
|
| 433 |
+
"epoch": 0.9382967873533912,
|
| 434 |
+
"grad_norm": 0.04693833366036415,
|
| 435 |
+
"learning_rate": 4.118539561911339e-05,
|
| 436 |
+
"loss": 0.1843,
|
| 437 |
+
"step": 920
|
| 438 |
+
},
|
| 439 |
+
{
|
| 440 |
+
"epoch": 0.958694543600204,
|
| 441 |
+
"grad_norm": 8.443830490112305,
|
| 442 |
+
"learning_rate": 4.075301948701186e-05,
|
| 443 |
+
"loss": 0.2522,
|
| 444 |
+
"step": 940
|
| 445 |
+
},
|
| 446 |
+
{
|
| 447 |
+
"epoch": 0.9790922998470168,
|
| 448 |
+
"grad_norm": 0.20142008364200592,
|
| 449 |
+
"learning_rate": 4.031268283133158e-05,
|
| 450 |
+
"loss": 0.2275,
|
| 451 |
+
"step": 960
|
| 452 |
+
},
|
| 453 |
+
{
|
| 454 |
+
"epoch": 0.9994900560938297,
|
| 455 |
+
"grad_norm": 3.326535940170288,
|
| 456 |
+
"learning_rate": 3.986460816879913e-05,
|
| 457 |
+
"loss": 0.2407,
|
| 458 |
+
"step": 980
|
| 459 |
+
},
|
| 460 |
+
{
|
| 461 |
+
"epoch": 1.0193778684344723,
|
| 462 |
+
"grad_norm": 15.066499710083008,
|
| 463 |
+
"learning_rate": 3.9409021926412795e-05,
|
| 464 |
+
"loss": 0.2335,
|
| 465 |
+
"step": 1000
|
| 466 |
+
},
|
| 467 |
+
{
|
| 468 |
+
"epoch": 1.0193778684344723,
|
| 469 |
+
"eval_accuracy": 0.6597510373443983,
|
| 470 |
+
"eval_decision_nll": 1.9229287061029874,
|
| 471 |
+
"eval_evaluated_rows": 1687,
|
| 472 |
+
"eval_global_step": 1000,
|
| 473 |
+
"eval_invalid_output_rate": 0.0,
|
| 474 |
+
"eval_invalid_outputs": 0,
|
| 475 |
+
"eval_loss": 1.9229287061029874,
|
| 476 |
+
"eval_macro_f1_41": 0.6841875774786024,
|
| 477 |
+
"eval_no_relation_logit_bias": -4.340000000000028,
|
| 478 |
+
"eval_positive_fn": 306,
|
| 479 |
+
"eval_positive_fp": 448,
|
| 480 |
+
"eval_positive_micro_f1": 0.5980810234541578,
|
| 481 |
+
"eval_positive_micro_precision": 0.55599603567889,
|
| 482 |
+
"eval_positive_micro_recall": 0.6470588235294118,
|
| 483 |
+
"eval_positive_tp": 561,
|
| 484 |
+
"eval_raw_accuracy": 0.6674570243034973,
|
| 485 |
+
"eval_raw_macro_f1_41": 0.6585356377059267,
|
| 486 |
+
"eval_raw_positive_micro_f1": 0.5758477096966093,
|
| 487 |
+
"eval_raw_positive_micro_precision": 0.5945945945945946,
|
| 488 |
+
"eval_raw_positive_micro_recall": 0.558246828143022,
|
| 489 |
+
"eval_raw_weighted_f1_41": 0.6389810017230654,
|
| 490 |
+
"eval_rows": 1687,
|
| 491 |
+
"eval_unconstrained_accuracy": 0.6674570243034973,
|
| 492 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 493 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 494 |
+
"eval_unconstrained_macro_f1_41": 0.6585356377059267,
|
| 495 |
+
"eval_unconstrained_positive_micro_f1": 0.5758477096966093,
|
| 496 |
+
"eval_unconstrained_positive_micro_precision": 0.5945945945945946,
|
| 497 |
+
"eval_unconstrained_positive_micro_recall": 0.558246828143022,
|
| 498 |
+
"eval_unconstrained_weighted_f1_41": 0.6389810017230654,
|
| 499 |
+
"eval_weighted_f1_41": 0.6457988065135049,
|
| 500 |
+
"step": 1000
|
| 501 |
+
},
|
| 502 |
+
{
|
| 503 |
+
"epoch": 1.039775624681285,
|
| 504 |
+
"grad_norm": 1.4003945589065552,
|
| 505 |
+
"learning_rate": 3.8946154327021434e-05,
|
| 506 |
+
"loss": 0.257,
|
| 507 |
+
"step": 1020
|
| 508 |
+
},
|
| 509 |
+
{
|
| 510 |
+
"epoch": 1.060173380928098,
|
| 511 |
+
"grad_norm": 9.492857933044434,
|
| 512 |
+
"learning_rate": 3.8476239272985284e-05,
|
| 513 |
+
"loss": 0.2098,
|
| 514 |
+
"step": 1040
|
| 515 |
+
},
|
| 516 |
+
{
|
| 517 |
+
"epoch": 1.0805711371749107,
|
| 518 |
+
"grad_norm": 0.42550796270370483,
|
| 519 |
+
"learning_rate": 3.7999514227977304e-05,
|
| 520 |
+
"loss": 0.1815,
|
| 521 |
+
"step": 1060
|
| 522 |
+
},
|
| 523 |
+
{
|
| 524 |
+
"epoch": 1.1009688934217237,
|
| 525 |
+
"grad_norm": 13.100898742675781,
|
| 526 |
+
"learning_rate": 3.751622009698492e-05,
|
| 527 |
+
"loss": 0.2888,
|
| 528 |
+
"step": 1080
|
| 529 |
+
},
|
| 530 |
+
{
|
| 531 |
+
"epoch": 1.1213666496685364,
|
| 532 |
+
"grad_norm": 19.209449768066406,
|
| 533 |
+
"learning_rate": 3.702660110457272e-05,
|
| 534 |
+
"loss": 0.1834,
|
| 535 |
+
"step": 1100
|
| 536 |
+
},
|
| 537 |
+
{
|
| 538 |
+
"epoch": 1.1417644059153493,
|
| 539 |
+
"grad_norm": 24.14339256286621,
|
| 540 |
+
"learning_rate": 3.65309046714677e-05,
|
| 541 |
+
"loss": 0.2111,
|
| 542 |
+
"step": 1120
|
| 543 |
+
},
|
| 544 |
+
{
|
| 545 |
+
"epoch": 1.1621621621621623,
|
| 546 |
+
"grad_norm": 1.1118710041046143,
|
| 547 |
+
"learning_rate": 3.602938128952933e-05,
|
| 548 |
+
"loss": 0.1372,
|
| 549 |
+
"step": 1140
|
| 550 |
+
},
|
| 551 |
+
{
|
| 552 |
+
"epoch": 1.182559918408975,
|
| 553 |
+
"grad_norm": 0.1752534657716751,
|
| 554 |
+
"learning_rate": 3.5522284395167724e-05,
|
| 555 |
+
"loss": 0.1914,
|
| 556 |
+
"step": 1160
|
| 557 |
+
},
|
| 558 |
+
{
|
| 559 |
+
"epoch": 1.202957674655788,
|
| 560 |
+
"grad_norm": 9.813786506652832,
|
| 561 |
+
"learning_rate": 3.50098702412738e-05,
|
| 562 |
+
"loss": 0.1248,
|
| 563 |
+
"step": 1180
|
| 564 |
+
},
|
| 565 |
+
{
|
| 566 |
+
"epoch": 1.2233554309026007,
|
| 567 |
+
"grad_norm": 16.98102569580078,
|
| 568 |
+
"learning_rate": 3.4492397767726195e-05,
|
| 569 |
+
"loss": 0.2289,
|
| 570 |
+
"step": 1200
|
| 571 |
+
},
|
| 572 |
+
{
|
| 573 |
+
"epoch": 1.2437531871494136,
|
| 574 |
+
"grad_norm": 0.7757235765457153,
|
| 575 |
+
"learning_rate": 3.397012847054035e-05,
|
| 576 |
+
"loss": 0.1747,
|
| 577 |
+
"step": 1220
|
| 578 |
+
},
|
| 579 |
+
{
|
| 580 |
+
"epoch": 1.2641509433962264,
|
| 581 |
+
"grad_norm": 0.39124366641044617,
|
| 582 |
+
"learning_rate": 3.34433262697259e-05,
|
| 583 |
+
"loss": 0.1529,
|
| 584 |
+
"step": 1240
|
| 585 |
+
},
|
| 586 |
+
{
|
| 587 |
+
"epoch": 1.2743498215196327,
|
| 588 |
+
"eval_accuracy": 0.6342620035566093,
|
| 589 |
+
"eval_decision_nll": 2.0380127403110038,
|
| 590 |
+
"eval_evaluated_rows": 1687,
|
| 591 |
+
"eval_global_step": 1250,
|
| 592 |
+
"eval_invalid_output_rate": 0.0,
|
| 593 |
+
"eval_invalid_outputs": 0,
|
| 594 |
+
"eval_loss": 2.0380127403110038,
|
| 595 |
+
"eval_macro_f1_41": 0.6698930909088061,
|
| 596 |
+
"eval_no_relation_logit_bias": -3.390000000000033,
|
| 597 |
+
"eval_positive_fn": 296,
|
| 598 |
+
"eval_positive_fp": 495,
|
| 599 |
+
"eval_positive_micro_f1": 0.5907915157785825,
|
| 600 |
+
"eval_positive_micro_precision": 0.5356472795497186,
|
| 601 |
+
"eval_positive_micro_recall": 0.6585928489042676,
|
| 602 |
+
"eval_positive_tp": 571,
|
| 603 |
+
"eval_raw_accuracy": 0.6544161232957914,
|
| 604 |
+
"eval_raw_macro_f1_41": 0.6698988570776612,
|
| 605 |
+
"eval_raw_positive_micro_f1": 0.5903814262023218,
|
| 606 |
+
"eval_raw_positive_micro_precision": 0.5668789808917197,
|
| 607 |
+
"eval_raw_positive_micro_recall": 0.615916955017301,
|
| 608 |
+
"eval_raw_weighted_f1_41": 0.6424805452797219,
|
| 609 |
+
"eval_rows": 1687,
|
| 610 |
+
"eval_unconstrained_accuracy": 0.6544161232957914,
|
| 611 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 612 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 613 |
+
"eval_unconstrained_macro_f1_41": 0.6698988570776612,
|
| 614 |
+
"eval_unconstrained_positive_micro_f1": 0.5903814262023218,
|
| 615 |
+
"eval_unconstrained_positive_micro_precision": 0.5668789808917197,
|
| 616 |
+
"eval_unconstrained_positive_micro_recall": 0.615916955017301,
|
| 617 |
+
"eval_unconstrained_weighted_f1_41": 0.6424805452797219,
|
| 618 |
+
"eval_weighted_f1_41": 0.6300222619645572,
|
| 619 |
+
"step": 1250
|
| 620 |
+
},
|
| 621 |
+
{
|
| 622 |
+
"epoch": 1.2845486996430393,
|
| 623 |
+
"grad_norm": 22.90714454650879,
|
| 624 |
+
"learning_rate": 3.2912257375919126e-05,
|
| 625 |
+
"loss": 0.1949,
|
| 626 |
+
"step": 1260
|
| 627 |
+
},
|
| 628 |
+
{
|
| 629 |
+
"epoch": 1.3049464558898523,
|
| 630 |
+
"grad_norm": 0.18795835971832275,
|
| 631 |
+
"learning_rate": 3.237719015585787e-05,
|
| 632 |
+
"loss": 0.1413,
|
| 633 |
+
"step": 1280
|
| 634 |
+
},
|
| 635 |
+
{
|
| 636 |
+
"epoch": 1.325344212136665,
|
| 637 |
+
"grad_norm": 14.755730628967285,
|
| 638 |
+
"learning_rate": 3.1838394996766946e-05,
|
| 639 |
+
"loss": 0.1334,
|
| 640 |
+
"step": 1300
|
| 641 |
+
},
|
| 642 |
+
{
|
| 643 |
+
"epoch": 1.3457419683834777,
|
| 644 |
+
"grad_norm": 5.208130359649658,
|
| 645 |
+
"learning_rate": 3.12961441697225e-05,
|
| 646 |
+
"loss": 0.1567,
|
| 647 |
+
"step": 1320
|
| 648 |
+
},
|
| 649 |
+
{
|
| 650 |
+
"epoch": 1.3661397246302907,
|
| 651 |
+
"grad_norm": 21.01090431213379,
|
| 652 |
+
"learning_rate": 3.075071169206437e-05,
|
| 653 |
+
"loss": 0.1725,
|
| 654 |
+
"step": 1340
|
| 655 |
+
},
|
| 656 |
+
{
|
| 657 |
+
"epoch": 1.3865374808771036,
|
| 658 |
+
"grad_norm": 10.819672584533691,
|
| 659 |
+
"learning_rate": 3.0202373188926037e-05,
|
| 660 |
+
"loss": 0.1455,
|
| 661 |
+
"step": 1360
|
| 662 |
+
},
|
| 663 |
+
{
|
| 664 |
+
"epoch": 1.4069352371239163,
|
| 665 |
+
"grad_norm": 13.872186660766602,
|
| 666 |
+
"learning_rate": 2.965140575395211e-05,
|
| 667 |
+
"loss": 0.1137,
|
| 668 |
+
"step": 1380
|
| 669 |
+
},
|
| 670 |
+
{
|
| 671 |
+
"epoch": 1.4273329933707293,
|
| 672 |
+
"grad_norm": 0.21544072031974792,
|
| 673 |
+
"learning_rate": 2.9098087809273743e-05,
|
| 674 |
+
"loss": 0.243,
|
| 675 |
+
"step": 1400
|
| 676 |
+
},
|
| 677 |
+
{
|
| 678 |
+
"epoch": 1.447730749617542,
|
| 679 |
+
"grad_norm": 16.329748153686523,
|
| 680 |
+
"learning_rate": 2.854269896481261e-05,
|
| 681 |
+
"loss": 0.1533,
|
| 682 |
+
"step": 1420
|
| 683 |
+
},
|
| 684 |
+
{
|
| 685 |
+
"epoch": 1.468128505864355,
|
| 686 |
+
"grad_norm": 0.31907919049263,
|
| 687 |
+
"learning_rate": 2.7985519876984795e-05,
|
| 688 |
+
"loss": 0.1507,
|
| 689 |
+
"step": 1440
|
| 690 |
+
},
|
| 691 |
+
{
|
| 692 |
+
"epoch": 1.4885262621111677,
|
| 693 |
+
"grad_norm": 6.718308925628662,
|
| 694 |
+
"learning_rate": 2.7426832106875772e-05,
|
| 695 |
+
"loss": 0.1287,
|
| 696 |
+
"step": 1460
|
| 697 |
+
},
|
| 698 |
+
{
|
| 699 |
+
"epoch": 1.5089240183579806,
|
| 700 |
+
"grad_norm": 0.5384275317192078,
|
| 701 |
+
"learning_rate": 2.6866917977958246e-05,
|
| 702 |
+
"loss": 0.1687,
|
| 703 |
+
"step": 1480
|
| 704 |
+
},
|
| 705 |
+
{
|
| 706 |
+
"epoch": 1.5293217746047936,
|
| 707 |
+
"grad_norm": 2.506664514541626,
|
| 708 |
+
"learning_rate": 2.6306060433424712e-05,
|
| 709 |
+
"loss": 0.1143,
|
| 710 |
+
"step": 1500
|
| 711 |
+
},
|
| 712 |
+
{
|
| 713 |
+
"epoch": 1.5293217746047936,
|
| 714 |
+
"eval_accuracy": 0.7030231179608772,
|
| 715 |
+
"eval_decision_nll": 2.2493974038956783,
|
| 716 |
+
"eval_evaluated_rows": 1687,
|
| 717 |
+
"eval_global_step": 1500,
|
| 718 |
+
"eval_invalid_output_rate": 0.0,
|
| 719 |
+
"eval_invalid_outputs": 0,
|
| 720 |
+
"eval_loss": 2.2493974038956783,
|
| 721 |
+
"eval_macro_f1_41": 0.6625316285831848,
|
| 722 |
+
"eval_no_relation_logit_bias": -7.1200000000000205,
|
| 723 |
+
"eval_positive_fn": 288,
|
| 724 |
+
"eval_positive_fp": 385,
|
| 725 |
+
"eval_positive_micro_f1": 0.6324412889131622,
|
| 726 |
+
"eval_positive_micro_precision": 0.6006224066390041,
|
| 727 |
+
"eval_positive_micro_recall": 0.6678200692041523,
|
| 728 |
+
"eval_positive_tp": 579,
|
| 729 |
+
"eval_raw_accuracy": 0.6870183758150563,
|
| 730 |
+
"eval_raw_macro_f1_41": 0.610806649098418,
|
| 731 |
+
"eval_raw_positive_micro_f1": 0.5806861499364676,
|
| 732 |
+
"eval_raw_positive_micro_precision": 0.6463932107496464,
|
| 733 |
+
"eval_raw_positive_micro_recall": 0.5271049596309112,
|
| 734 |
+
"eval_raw_weighted_f1_41": 0.6527180202093893,
|
| 735 |
+
"eval_rows": 1687,
|
| 736 |
+
"eval_unconstrained_accuracy": 0.6870183758150563,
|
| 737 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 738 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 739 |
+
"eval_unconstrained_macro_f1_41": 0.610806649098418,
|
| 740 |
+
"eval_unconstrained_positive_micro_f1": 0.5806861499364676,
|
| 741 |
+
"eval_unconstrained_positive_micro_precision": 0.6463932107496464,
|
| 742 |
+
"eval_unconstrained_positive_micro_recall": 0.5271049596309112,
|
| 743 |
+
"eval_unconstrained_weighted_f1_41": 0.6527180202093893,
|
| 744 |
+
"eval_weighted_f1_41": 0.6849216700402462,
|
| 745 |
+
"step": 1500
|
| 746 |
+
},
|
| 747 |
+
{
|
| 748 |
+
"epoch": 1.5497195308516063,
|
| 749 |
+
"grad_norm": 12.772496223449707,
|
| 750 |
+
"learning_rate": 2.5744542893206924e-05,
|
| 751 |
+
"loss": 0.1322,
|
| 752 |
+
"step": 1520
|
| 753 |
+
},
|
| 754 |
+
{
|
| 755 |
+
"epoch": 1.570117287098419,
|
| 756 |
+
"grad_norm": 10.884116172790527,
|
| 757 |
+
"learning_rate": 2.5182649110754324e-05,
|
| 758 |
+
"loss": 0.1996,
|
| 759 |
+
"step": 1540
|
| 760 |
+
},
|
| 761 |
+
{
|
| 762 |
+
"epoch": 1.590515043345232,
|
| 763 |
+
"grad_norm": 2.9933547973632812,
|
| 764 |
+
"learning_rate": 2.4620663029644068e-05,
|
| 765 |
+
"loss": 0.139,
|
| 766 |
+
"step": 1560
|
| 767 |
+
},
|
| 768 |
+
{
|
| 769 |
+
"epoch": 1.610912799592045,
|
| 770 |
+
"grad_norm": 4.138698101043701,
|
| 771 |
+
"learning_rate": 2.4058868640094857e-05,
|
| 772 |
+
"loss": 0.1658,
|
| 773 |
+
"step": 1580
|
| 774 |
+
},
|
| 775 |
+
{
|
| 776 |
+
"epoch": 1.6313105558388576,
|
| 777 |
+
"grad_norm": 35.998722076416016,
|
| 778 |
+
"learning_rate": 2.3497549835457328e-05,
|
| 779 |
+
"loss": 0.1253,
|
| 780 |
+
"step": 1600
|
| 781 |
+
},
|
| 782 |
+
{
|
| 783 |
+
"epoch": 1.6517083120856706,
|
| 784 |
+
"grad_norm": 15.26508617401123,
|
| 785 |
+
"learning_rate": 2.293699026875322e-05,
|
| 786 |
+
"loss": 0.1585,
|
| 787 |
+
"step": 1620
|
| 788 |
+
},
|
| 789 |
+
{
|
| 790 |
+
"epoch": 1.6721060683324835,
|
| 791 |
+
"grad_norm": 0.22217246890068054,
|
| 792 |
+
"learning_rate": 2.2377473209336214e-05,
|
| 793 |
+
"loss": 0.129,
|
| 794 |
+
"step": 1640
|
| 795 |
+
},
|
| 796 |
+
{
|
| 797 |
+
"epoch": 1.6925038245792963,
|
| 798 |
+
"grad_norm": 6.413891315460205,
|
| 799 |
+
"learning_rate": 2.1819281399746392e-05,
|
| 800 |
+
"loss": 0.1019,
|
| 801 |
+
"step": 1660
|
| 802 |
+
},
|
| 803 |
+
{
|
| 804 |
+
"epoch": 1.712901580826109,
|
| 805 |
+
"grad_norm": 0.07089672237634659,
|
| 806 |
+
"learning_rate": 2.126269691283117e-05,
|
| 807 |
+
"loss": 0.1216,
|
| 808 |
+
"step": 1680
|
| 809 |
+
},
|
| 810 |
+
{
|
| 811 |
+
"epoch": 1.733299337072922,
|
| 812 |
+
"grad_norm": 0.10279195755720139,
|
| 813 |
+
"learning_rate": 2.070800100920442e-05,
|
| 814 |
+
"loss": 0.1457,
|
| 815 |
+
"step": 1700
|
| 816 |
+
},
|
| 817 |
+
{
|
| 818 |
+
"epoch": 1.753697093319735,
|
| 819 |
+
"grad_norm": 4.6941633224487305,
|
| 820 |
+
"learning_rate": 2.015547399511624e-05,
|
| 821 |
+
"loss": 0.1023,
|
| 822 |
+
"step": 1720
|
| 823 |
+
},
|
| 824 |
+
{
|
| 825 |
+
"epoch": 1.7740948495665476,
|
| 826 |
+
"grad_norm": 0.09467876702547073,
|
| 827 |
+
"learning_rate": 1.960539508080485e-05,
|
| 828 |
+
"loss": 0.0874,
|
| 829 |
+
"step": 1740
|
| 830 |
+
},
|
| 831 |
+
{
|
| 832 |
+
"epoch": 1.784293727689954,
|
| 833 |
+
"eval_accuracy": 0.6882039122703023,
|
| 834 |
+
"eval_decision_nll": 2.1201932841528786,
|
| 835 |
+
"eval_evaluated_rows": 1687,
|
| 836 |
+
"eval_global_step": 1750,
|
| 837 |
+
"eval_invalid_output_rate": 0.0,
|
| 838 |
+
"eval_invalid_outputs": 0,
|
| 839 |
+
"eval_loss": 2.1201932841528786,
|
| 840 |
+
"eval_macro_f1_41": 0.6429354759970077,
|
| 841 |
+
"eval_no_relation_logit_bias": -3.970000000000031,
|
| 842 |
+
"eval_positive_fn": 329,
|
| 843 |
+
"eval_positive_fp": 352,
|
| 844 |
+
"eval_positive_micro_f1": 0.6124075128059191,
|
| 845 |
+
"eval_positive_micro_precision": 0.604494382022472,
|
| 846 |
+
"eval_positive_micro_recall": 0.6205305651672434,
|
| 847 |
+
"eval_positive_tp": 538,
|
| 848 |
+
"eval_raw_accuracy": 0.6899822169531713,
|
| 849 |
+
"eval_raw_macro_f1_41": 0.6036357001053071,
|
| 850 |
+
"eval_raw_positive_micro_f1": 0.5940353012781497,
|
| 851 |
+
"eval_raw_positive_micro_precision": 0.6288659793814433,
|
| 852 |
+
"eval_raw_positive_micro_recall": 0.5628604382929643,
|
| 853 |
+
"eval_raw_weighted_f1_41": 0.6622892735295407,
|
| 854 |
+
"eval_rows": 1687,
|
| 855 |
+
"eval_unconstrained_accuracy": 0.6899822169531713,
|
| 856 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 857 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 858 |
+
"eval_unconstrained_macro_f1_41": 0.6036357001053071,
|
| 859 |
+
"eval_unconstrained_positive_micro_f1": 0.5940353012781497,
|
| 860 |
+
"eval_unconstrained_positive_micro_precision": 0.6288659793814433,
|
| 861 |
+
"eval_unconstrained_positive_micro_recall": 0.5628604382929643,
|
| 862 |
+
"eval_unconstrained_weighted_f1_41": 0.6622892735295407,
|
| 863 |
+
"eval_weighted_f1_41": 0.6686562598836959,
|
| 864 |
+
"step": 1750
|
| 865 |
+
},
|
| 866 |
+
{
|
| 867 |
+
"epoch": 1.7944926058133606,
|
| 868 |
+
"grad_norm": 9.511631965637207,
|
| 869 |
+
"learning_rate": 1.9058042239402378e-05,
|
| 870 |
+
"loss": 0.1082,
|
| 871 |
+
"step": 1760
|
| 872 |
+
},
|
| 873 |
+
{
|
| 874 |
+
"epoch": 1.8148903620601735,
|
| 875 |
+
"grad_norm": 26.438539505004883,
|
| 876 |
+
"learning_rate": 1.8513692066465866e-05,
|
| 877 |
+
"loss": 0.1342,
|
| 878 |
+
"step": 1780
|
| 879 |
+
},
|
| 880 |
+
{
|
| 881 |
+
"epoch": 1.8352881183069862,
|
| 882 |
+
"grad_norm": 0.6027206778526306,
|
| 883 |
+
"learning_rate": 1.7972619640204296e-05,
|
| 884 |
+
"loss": 0.1355,
|
| 885 |
+
"step": 1800
|
| 886 |
+
},
|
| 887 |
+
{
|
| 888 |
+
"epoch": 1.855685874553799,
|
| 889 |
+
"grad_norm": 35.500850677490234,
|
| 890 |
+
"learning_rate": 1.7435098382472486e-05,
|
| 891 |
+
"loss": 0.1114,
|
| 892 |
+
"step": 1820
|
| 893 |
+
},
|
| 894 |
+
{
|
| 895 |
+
"epoch": 1.876083630800612,
|
| 896 |
+
"grad_norm": 0.8295138478279114,
|
| 897 |
+
"learning_rate": 1.690139992060195e-05,
|
| 898 |
+
"loss": 0.1182,
|
| 899 |
+
"step": 1840
|
| 900 |
+
},
|
| 901 |
+
{
|
| 902 |
+
"epoch": 1.8964813870474249,
|
| 903 |
+
"grad_norm": 0.09546128660440445,
|
| 904 |
+
"learning_rate": 1.637179395013853e-05,
|
| 905 |
+
"loss": 0.1547,
|
| 906 |
+
"step": 1860
|
| 907 |
+
},
|
| 908 |
+
{
|
| 909 |
+
"epoch": 1.9168791432942376,
|
| 910 |
+
"grad_norm": 4.773397445678711,
|
| 911 |
+
"learning_rate": 1.584654809855639e-05,
|
| 912 |
+
"loss": 0.0366,
|
| 913 |
+
"step": 1880
|
| 914 |
+
},
|
| 915 |
+
{
|
| 916 |
+
"epoch": 1.9372768995410505,
|
| 917 |
+
"grad_norm": 0.06276191771030426,
|
| 918 |
+
"learning_rate": 1.5325927790016858e-05,
|
| 919 |
+
"loss": 0.1077,
|
| 920 |
+
"step": 1900
|
| 921 |
+
},
|
| 922 |
+
{
|
| 923 |
+
"epoch": 1.9576746557878635,
|
| 924 |
+
"grad_norm": 0.0431281216442585,
|
| 925 |
+
"learning_rate": 1.4810196111240898e-05,
|
| 926 |
+
"loss": 0.0775,
|
| 927 |
+
"step": 1920
|
| 928 |
+
},
|
| 929 |
+
{
|
| 930 |
+
"epoch": 1.9780724120346762,
|
| 931 |
+
"grad_norm": 0.09372670948505402,
|
| 932 |
+
"learning_rate": 1.429961367856256e-05,
|
| 933 |
+
"loss": 0.1194,
|
| 934 |
+
"step": 1940
|
| 935 |
+
},
|
| 936 |
+
{
|
| 937 |
+
"epoch": 1.998470168281489,
|
| 938 |
+
"grad_norm": 0.04784310609102249,
|
| 939 |
+
"learning_rate": 1.3794438506230967e-05,
|
| 940 |
+
"loss": 0.0708,
|
| 941 |
+
"step": 1960
|
| 942 |
+
},
|
| 943 |
+
{
|
| 944 |
+
"epoch": 2.0183579806221315,
|
| 945 |
+
"grad_norm": 0.1206798180937767,
|
| 946 |
+
"learning_rate": 1.3294925876027112e-05,
|
| 947 |
+
"loss": 0.0389,
|
| 948 |
+
"step": 1980
|
| 949 |
+
},
|
| 950 |
+
{
|
| 951 |
+
"epoch": 2.0387557368689446,
|
| 952 |
+
"grad_norm": 0.05475665628910065,
|
| 953 |
+
"learning_rate": 1.2801328208261526e-05,
|
| 954 |
+
"loss": 0.0852,
|
| 955 |
+
"step": 2000
|
| 956 |
+
},
|
| 957 |
+
{
|
| 958 |
+
"epoch": 2.0387557368689446,
|
| 959 |
+
"eval_accuracy": 0.7012448132780082,
|
| 960 |
+
"eval_decision_nll": 2.2389320018521834,
|
| 961 |
+
"eval_evaluated_rows": 1687,
|
| 962 |
+
"eval_global_step": 2000,
|
| 963 |
+
"eval_invalid_output_rate": 0.0,
|
| 964 |
+
"eval_invalid_outputs": 0,
|
| 965 |
+
"eval_loss": 2.2389320018521834,
|
| 966 |
+
"eval_macro_f1_41": 0.6462471485102084,
|
| 967 |
+
"eval_no_relation_logit_bias": -4.370000000000029,
|
| 968 |
+
"eval_positive_fn": 321,
|
| 969 |
+
"eval_positive_fp": 346,
|
| 970 |
+
"eval_positive_micro_f1": 0.6208072768618533,
|
| 971 |
+
"eval_positive_micro_precision": 0.6121076233183856,
|
| 972 |
+
"eval_positive_micro_recall": 0.629757785467128,
|
| 973 |
+
"eval_positive_tp": 546,
|
| 974 |
+
"eval_raw_accuracy": 0.6941315945465323,
|
| 975 |
+
"eval_raw_macro_f1_41": 0.6097002065413685,
|
| 976 |
+
"eval_raw_positive_micro_f1": 0.5943627450980392,
|
| 977 |
+
"eval_raw_positive_micro_precision": 0.6339869281045751,
|
| 978 |
+
"eval_raw_positive_micro_recall": 0.5594002306805075,
|
| 979 |
+
"eval_raw_weighted_f1_41": 0.6648000936336502,
|
| 980 |
+
"eval_rows": 1687,
|
| 981 |
+
"eval_unconstrained_accuracy": 0.6941315945465323,
|
| 982 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 983 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 984 |
+
"eval_unconstrained_macro_f1_41": 0.6097002065413685,
|
| 985 |
+
"eval_unconstrained_positive_micro_f1": 0.5943627450980392,
|
| 986 |
+
"eval_unconstrained_positive_micro_precision": 0.6339869281045751,
|
| 987 |
+
"eval_unconstrained_positive_micro_recall": 0.5594002306805075,
|
| 988 |
+
"eval_unconstrained_weighted_f1_41": 0.6648000936336502,
|
| 989 |
+
"eval_weighted_f1_41": 0.6814423147512597,
|
| 990 |
+
"step": 2000
|
| 991 |
+
},
|
| 992 |
+
{
|
| 993 |
+
"epoch": 2.0591534931157573,
|
| 994 |
+
"grad_norm": 27.940425872802734,
|
| 995 |
+
"learning_rate": 1.2313894934217907e-05,
|
| 996 |
+
"loss": 0.1449,
|
| 997 |
+
"step": 2020
|
| 998 |
+
},
|
| 999 |
+
{
|
| 1000 |
+
"epoch": 2.07955124936257,
|
| 1001 |
+
"grad_norm": 0.05362895876169205,
|
| 1002 |
+
"learning_rate": 1.183287237010719e-05,
|
| 1003 |
+
"loss": 0.08,
|
| 1004 |
+
"step": 2040
|
| 1005 |
+
},
|
| 1006 |
+
{
|
| 1007 |
+
"epoch": 2.099949005609383,
|
| 1008 |
+
"grad_norm": 0.28913530707359314,
|
| 1009 |
+
"learning_rate": 1.1358503592595837e-05,
|
| 1010 |
+
"loss": 0.0454,
|
| 1011 |
+
"step": 2060
|
| 1012 |
+
},
|
| 1013 |
+
{
|
| 1014 |
+
"epoch": 2.120346761856196,
|
| 1015 |
+
"grad_norm": 0.01951238326728344,
|
| 1016 |
+
"learning_rate": 1.0891028315971105e-05,
|
| 1017 |
+
"loss": 0.097,
|
| 1018 |
+
"step": 2080
|
| 1019 |
+
},
|
| 1020 |
+
{
|
| 1021 |
+
"epoch": 2.1407445181030087,
|
| 1022 |
+
"grad_norm": 0.04203539341688156,
|
| 1023 |
+
"learning_rate": 1.0430682771005456e-05,
|
| 1024 |
+
"loss": 0.0559,
|
| 1025 |
+
"step": 2100
|
| 1026 |
+
},
|
| 1027 |
+
{
|
| 1028 |
+
"epoch": 2.1611422743498214,
|
| 1029 |
+
"grad_norm": 0.2714548110961914,
|
| 1030 |
+
"learning_rate": 9.977699585581324e-06,
|
| 1031 |
+
"loss": 0.0539,
|
| 1032 |
+
"step": 2120
|
| 1033 |
+
},
|
| 1034 |
+
{
|
| 1035 |
+
"epoch": 2.1815400305966346,
|
| 1036 |
+
"grad_norm": 22.596508026123047,
|
| 1037 |
+
"learning_rate": 9.532307667136493e-06,
|
| 1038 |
+
"loss": 0.12,
|
| 1039 |
+
"step": 2140
|
| 1040 |
+
},
|
| 1041 |
+
{
|
| 1042 |
+
"epoch": 2.2019377868434473,
|
| 1043 |
+
"grad_norm": 24.418514251708984,
|
| 1044 |
+
"learning_rate": 9.094732086989608e-06,
|
| 1045 |
+
"loss": 0.1384,
|
| 1046 |
+
"step": 2160
|
| 1047 |
+
},
|
| 1048 |
+
{
|
| 1049 |
+
"epoch": 2.22233554309026,
|
| 1050 |
+
"grad_norm": 9.244231224060059,
|
| 1051 |
+
"learning_rate": 8.665193966604157e-06,
|
| 1052 |
+
"loss": 0.0604,
|
| 1053 |
+
"step": 2180
|
| 1054 |
+
},
|
| 1055 |
+
{
|
| 1056 |
+
"epoch": 2.2427332993370728,
|
| 1057 |
+
"grad_norm": 0.3614042401313782,
|
| 1058 |
+
"learning_rate": 8.243910365848448e-06,
|
| 1059 |
+
"loss": 0.0793,
|
| 1060 |
+
"step": 2200
|
| 1061 |
+
},
|
| 1062 |
+
{
|
| 1063 |
+
"epoch": 2.263131055583886,
|
| 1064 |
+
"grad_norm": 2.0732710361480713,
|
| 1065 |
+
"learning_rate": 7.831094173308056e-06,
|
| 1066 |
+
"loss": 0.1103,
|
| 1067 |
+
"step": 2220
|
| 1068 |
+
},
|
| 1069 |
+
{
|
| 1070 |
+
"epoch": 2.2835288118306987,
|
| 1071 |
+
"grad_norm": 0.01613030396401882,
|
| 1072 |
+
"learning_rate": 7.4269539987061625e-06,
|
| 1073 |
+
"loss": 0.0436,
|
| 1074 |
+
"step": 2240
|
| 1075 |
+
},
|
| 1076 |
+
{
|
| 1077 |
+
"epoch": 2.293727689954105,
|
| 1078 |
+
"eval_accuracy": 0.6935388263189093,
|
| 1079 |
+
"eval_decision_nll": 2.150244537584161,
|
| 1080 |
+
"eval_evaluated_rows": 1687,
|
| 1081 |
+
"eval_global_step": 2250,
|
| 1082 |
+
"eval_invalid_output_rate": 0.0,
|
| 1083 |
+
"eval_invalid_outputs": 0,
|
| 1084 |
+
"eval_loss": 2.150244537584161,
|
| 1085 |
+
"eval_macro_f1_41": 0.6849303140069825,
|
| 1086 |
+
"eval_no_relation_logit_bias": -5.940000000000023,
|
| 1087 |
+
"eval_positive_fn": 273,
|
| 1088 |
+
"eval_positive_fp": 426,
|
| 1089 |
+
"eval_positive_micro_f1": 0.629570747217806,
|
| 1090 |
+
"eval_positive_micro_precision": 0.5823529411764706,
|
| 1091 |
+
"eval_positive_micro_recall": 0.6851211072664359,
|
| 1092 |
+
"eval_positive_tp": 594,
|
| 1093 |
+
"eval_raw_accuracy": 0.6905749851807943,
|
| 1094 |
+
"eval_raw_macro_f1_41": 0.6524529256483073,
|
| 1095 |
+
"eval_raw_positive_micro_f1": 0.5938069216757741,
|
| 1096 |
+
"eval_raw_positive_micro_precision": 0.6269230769230769,
|
| 1097 |
+
"eval_raw_positive_micro_recall": 0.5640138408304498,
|
| 1098 |
+
"eval_raw_weighted_f1_41": 0.660259626008938,
|
| 1099 |
+
"eval_rows": 1687,
|
| 1100 |
+
"eval_unconstrained_accuracy": 0.6905749851807943,
|
| 1101 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 1102 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 1103 |
+
"eval_unconstrained_macro_f1_41": 0.6524529256483073,
|
| 1104 |
+
"eval_unconstrained_positive_micro_f1": 0.5938069216757741,
|
| 1105 |
+
"eval_unconstrained_positive_micro_precision": 0.6269230769230769,
|
| 1106 |
+
"eval_unconstrained_positive_micro_recall": 0.5640138408304498,
|
| 1107 |
+
"eval_unconstrained_weighted_f1_41": 0.660259626008938,
|
| 1108 |
+
"eval_weighted_f1_41": 0.6790266875399904,
|
| 1109 |
+
"step": 2250
|
| 1110 |
+
},
|
| 1111 |
+
{
|
| 1112 |
+
"epoch": 2.3039265680775114,
|
| 1113 |
+
"grad_norm": 0.03432675823569298,
|
| 1114 |
+
"learning_rate": 7.031694067486136e-06,
|
| 1115 |
+
"loss": 0.0656,
|
| 1116 |
+
"step": 2260
|
| 1117 |
+
},
|
| 1118 |
+
{
|
| 1119 |
+
"epoch": 2.3243243243243246,
|
| 1120 |
+
"grad_norm": 0.025095023214817047,
|
| 1121 |
+
"learning_rate": 6.645514117609616e-06,
|
| 1122 |
+
"loss": 0.0861,
|
| 1123 |
+
"step": 2280
|
| 1124 |
+
},
|
| 1125 |
+
{
|
| 1126 |
+
"epoch": 2.3447220805711373,
|
| 1127 |
+
"grad_norm": 16.071243286132812,
|
| 1128 |
+
"learning_rate": 6.268609298622327e-06,
|
| 1129 |
+
"loss": 0.0985,
|
| 1130 |
+
"step": 2300
|
| 1131 |
+
},
|
| 1132 |
+
{
|
| 1133 |
+
"epoch": 2.36511983681795,
|
| 1134 |
+
"grad_norm": 0.029141830280423164,
|
| 1135 |
+
"learning_rate": 5.901170073038523e-06,
|
| 1136 |
+
"loss": 0.0491,
|
| 1137 |
+
"step": 2320
|
| 1138 |
+
},
|
| 1139 |
+
{
|
| 1140 |
+
"epoch": 2.3855175930647627,
|
| 1141 |
+
"grad_norm": 35.70805358886719,
|
| 1142 |
+
"learning_rate": 5.543382120093946e-06,
|
| 1143 |
+
"loss": 0.0867,
|
| 1144 |
+
"step": 2340
|
| 1145 |
+
},
|
| 1146 |
+
{
|
| 1147 |
+
"epoch": 2.405915349311576,
|
| 1148 |
+
"grad_norm": 0.045629482716321945,
|
| 1149 |
+
"learning_rate": 5.195426241915963e-06,
|
| 1150 |
+
"loss": 0.021,
|
| 1151 |
+
"step": 2360
|
| 1152 |
+
},
|
| 1153 |
+
{
|
| 1154 |
+
"epoch": 2.4263131055583886,
|
| 1155 |
+
"grad_norm": 0.0359937809407711,
|
| 1156 |
+
"learning_rate": 4.857478272158217e-06,
|
| 1157 |
+
"loss": 0.0821,
|
| 1158 |
+
"step": 2380
|
| 1159 |
+
},
|
| 1160 |
+
{
|
| 1161 |
+
"epoch": 2.4467108618052014,
|
| 1162 |
+
"grad_norm": 7.41368293762207,
|
| 1163 |
+
"learning_rate": 4.529708987146114e-06,
|
| 1164 |
+
"loss": 0.1018,
|
| 1165 |
+
"step": 2400
|
| 1166 |
+
},
|
| 1167 |
+
{
|
| 1168 |
+
"epoch": 2.467108618052014,
|
| 1169 |
+
"grad_norm": 0.17788079380989075,
|
| 1170 |
+
"learning_rate": 4.212284019577792e-06,
|
| 1171 |
+
"loss": 0.0669,
|
| 1172 |
+
"step": 2420
|
| 1173 |
+
},
|
| 1174 |
+
{
|
| 1175 |
+
"epoch": 2.4875063742988273,
|
| 1176 |
+
"grad_norm": 0.026721414178609848,
|
| 1177 |
+
"learning_rate": 3.905363774824492e-06,
|
| 1178 |
+
"loss": 0.0176,
|
| 1179 |
+
"step": 2440
|
| 1180 |
+
},
|
| 1181 |
+
{
|
| 1182 |
+
"epoch": 2.50790413054564,
|
| 1183 |
+
"grad_norm": 0.28086280822753906,
|
| 1184 |
+
"learning_rate": 3.609103349872342e-06,
|
| 1185 |
+
"loss": 0.0158,
|
| 1186 |
+
"step": 2460
|
| 1187 |
+
},
|
| 1188 |
+
{
|
| 1189 |
+
"epoch": 2.5283018867924527,
|
| 1190 |
+
"grad_norm": 0.16154006123542786,
|
| 1191 |
+
"learning_rate": 3.323652454946774e-06,
|
| 1192 |
+
"loss": 0.0125,
|
| 1193 |
+
"step": 2480
|
| 1194 |
+
},
|
| 1195 |
+
{
|
| 1196 |
+
"epoch": 2.5486996430392654,
|
| 1197 |
+
"grad_norm": 27.4371337890625,
|
| 1198 |
+
"learning_rate": 3.0491553378589084e-06,
|
| 1199 |
+
"loss": 0.0363,
|
| 1200 |
+
"step": 2500
|
| 1201 |
+
},
|
| 1202 |
+
{
|
| 1203 |
+
"epoch": 2.5486996430392654,
|
| 1204 |
+
"eval_accuracy": 0.6923532898636633,
|
| 1205 |
+
"eval_decision_nll": 2.3230580910466165,
|
| 1206 |
+
"eval_evaluated_rows": 1687,
|
| 1207 |
+
"eval_global_step": 2500,
|
| 1208 |
+
"eval_invalid_output_rate": 0.0,
|
| 1209 |
+
"eval_invalid_outputs": 0,
|
| 1210 |
+
"eval_loss": 2.3230580910466165,
|
| 1211 |
+
"eval_macro_f1_41": 0.6831361552053256,
|
| 1212 |
+
"eval_no_relation_logit_bias": -5.8600000000000225,
|
| 1213 |
+
"eval_positive_fn": 288,
|
| 1214 |
+
"eval_positive_fp": 402,
|
| 1215 |
+
"eval_positive_micro_f1": 0.6266233766233766,
|
| 1216 |
+
"eval_positive_micro_precision": 0.5902140672782875,
|
| 1217 |
+
"eval_positive_micro_recall": 0.6678200692041523,
|
| 1218 |
+
"eval_positive_tp": 579,
|
| 1219 |
+
"eval_raw_accuracy": 0.6923532898636633,
|
| 1220 |
+
"eval_raw_macro_f1_41": 0.6521268255671399,
|
| 1221 |
+
"eval_raw_positive_micro_f1": 0.599880023995201,
|
| 1222 |
+
"eval_raw_positive_micro_precision": 0.625,
|
| 1223 |
+
"eval_raw_positive_micro_recall": 0.5767012687427913,
|
| 1224 |
+
"eval_raw_weighted_f1_41": 0.663769934218916,
|
| 1225 |
+
"eval_rows": 1687,
|
| 1226 |
+
"eval_unconstrained_accuracy": 0.6923532898636633,
|
| 1227 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 1228 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 1229 |
+
"eval_unconstrained_macro_f1_41": 0.6521268255671399,
|
| 1230 |
+
"eval_unconstrained_positive_micro_f1": 0.599880023995201,
|
| 1231 |
+
"eval_unconstrained_positive_micro_precision": 0.625,
|
| 1232 |
+
"eval_unconstrained_positive_micro_recall": 0.5767012687427913,
|
| 1233 |
+
"eval_unconstrained_weighted_f1_41": 0.663769934218916,
|
| 1234 |
+
"eval_weighted_f1_41": 0.6767481730025282,
|
| 1235 |
+
"step": 2500
|
| 1236 |
+
},
|
| 1237 |
+
{
|
| 1238 |
+
"epoch": 2.5690973992860786,
|
| 1239 |
+
"grad_norm": 7.680412769317627,
|
| 1240 |
+
"learning_rate": 2.7857507111123755e-06,
|
| 1241 |
+
"loss": 0.0525,
|
| 1242 |
+
"step": 2520
|
| 1243 |
+
},
|
| 1244 |
+
{
|
| 1245 |
+
"epoch": 2.5894951555328913,
|
| 1246 |
+
"grad_norm": 17.607656478881836,
|
| 1247 |
+
"learning_rate": 2.533571681807295e-06,
|
| 1248 |
+
"loss": 0.0413,
|
| 1249 |
+
"step": 2540
|
| 1250 |
+
},
|
| 1251 |
+
{
|
| 1252 |
+
"epoch": 2.6098929117797045,
|
| 1253 |
+
"grad_norm": 0.10886464267969131,
|
| 1254 |
+
"learning_rate": 2.2927456843768206e-06,
|
| 1255 |
+
"loss": 0.104,
|
| 1256 |
+
"step": 2560
|
| 1257 |
+
},
|
| 1258 |
+
{
|
| 1259 |
+
"epoch": 2.6302906680265172,
|
| 1260 |
+
"grad_norm": 0.00933705735951662,
|
| 1261 |
+
"learning_rate": 2.0633944161903144e-06,
|
| 1262 |
+
"loss": 0.0434,
|
| 1263 |
+
"step": 2580
|
| 1264 |
+
},
|
| 1265 |
+
{
|
| 1266 |
+
"epoch": 2.65068842427333,
|
| 1267 |
+
"grad_norm": 0.08042579889297485,
|
| 1268 |
+
"learning_rate": 1.8456337760555915e-06,
|
| 1269 |
+
"loss": 0.0449,
|
| 1270 |
+
"step": 2600
|
| 1271 |
+
},
|
| 1272 |
+
{
|
| 1273 |
+
"epoch": 2.6710861805201427,
|
| 1274 |
+
"grad_norm": 0.31250545382499695,
|
| 1275 |
+
"learning_rate": 1.639573805651437e-06,
|
| 1276 |
+
"loss": 0.0805,
|
| 1277 |
+
"step": 2620
|
| 1278 |
+
},
|
| 1279 |
+
{
|
| 1280 |
+
"epoch": 2.6914839367669554,
|
| 1281 |
+
"grad_norm": 0.017284924164414406,
|
| 1282 |
+
"learning_rate": 1.4453186339199037e-06,
|
| 1283 |
+
"loss": 0.065,
|
| 1284 |
+
"step": 2640
|
| 1285 |
+
},
|
| 1286 |
+
{
|
| 1287 |
+
"epoch": 2.7118816930137686,
|
| 1288 |
+
"grad_norm": 0.13521786034107208,
|
| 1289 |
+
"learning_rate": 1.2629664244464463e-06,
|
| 1290 |
+
"loss": 0.0517,
|
| 1291 |
+
"step": 2660
|
| 1292 |
+
},
|
| 1293 |
+
{
|
| 1294 |
+
"epoch": 2.7322794492605813,
|
| 1295 |
+
"grad_norm": 55.31725311279297,
|
| 1296 |
+
"learning_rate": 1.0926093258546655e-06,
|
| 1297 |
+
"loss": 0.0267,
|
| 1298 |
+
"step": 2680
|
| 1299 |
+
},
|
| 1300 |
+
{
|
| 1301 |
+
"epoch": 2.752677205507394,
|
| 1302 |
+
"grad_norm": 0.017036089673638344,
|
| 1303 |
+
"learning_rate": 9.343334252405133e-07,
|
| 1304 |
+
"loss": 0.0397,
|
| 1305 |
+
"step": 2700
|
| 1306 |
+
},
|
| 1307 |
+
{
|
| 1308 |
+
"epoch": 2.773074961754207,
|
| 1309 |
+
"grad_norm": 0.18307919800281525,
|
| 1310 |
+
"learning_rate": 7.88218704669641e-07,
|
| 1311 |
+
"loss": 0.0858,
|
| 1312 |
+
"step": 2720
|
| 1313 |
+
},
|
| 1314 |
+
{
|
| 1315 |
+
"epoch": 2.79347271800102,
|
| 1316 |
+
"grad_norm": 12.35401725769043,
|
| 1317 |
+
"learning_rate": 6.543390007598016e-07,
|
| 1318 |
+
"loss": 0.1114,
|
| 1319 |
+
"step": 2740
|
| 1320 |
+
},
|
| 1321 |
+
{
|
| 1322 |
+
"epoch": 2.8036715961244263,
|
| 1323 |
+
"eval_accuracy": 0.6970954356846473,
|
| 1324 |
+
"eval_decision_nll": 2.2821931980316217,
|
| 1325 |
+
"eval_evaluated_rows": 1687,
|
| 1326 |
+
"eval_global_step": 2750,
|
| 1327 |
+
"eval_invalid_output_rate": 0.0,
|
| 1328 |
+
"eval_invalid_outputs": 0,
|
| 1329 |
+
"eval_loss": 2.2821931980316217,
|
| 1330 |
+
"eval_macro_f1_41": 0.6888990793956042,
|
| 1331 |
+
"eval_no_relation_logit_bias": -6.6600000000000215,
|
| 1332 |
+
"eval_positive_fn": 273,
|
| 1333 |
+
"eval_positive_fp": 415,
|
| 1334 |
+
"eval_positive_micro_f1": 0.6332622601279317,
|
| 1335 |
+
"eval_positive_micro_precision": 0.5887016848364718,
|
| 1336 |
+
"eval_positive_micro_recall": 0.6851211072664359,
|
| 1337 |
+
"eval_positive_tp": 594,
|
| 1338 |
+
"eval_raw_accuracy": 0.6917605216360403,
|
| 1339 |
+
"eval_raw_macro_f1_41": 0.6508407746399698,
|
| 1340 |
+
"eval_raw_positive_micro_f1": 0.5953827460510328,
|
| 1341 |
+
"eval_raw_positive_micro_precision": 0.6290115532734275,
|
| 1342 |
+
"eval_raw_positive_micro_recall": 0.5651672433679354,
|
| 1343 |
+
"eval_raw_weighted_f1_41": 0.6620183629552824,
|
| 1344 |
+
"eval_rows": 1687,
|
| 1345 |
+
"eval_unconstrained_accuracy": 0.6917605216360403,
|
| 1346 |
+
"eval_unconstrained_invalid_output_rate": 0.0,
|
| 1347 |
+
"eval_unconstrained_invalid_outputs": 0,
|
| 1348 |
+
"eval_unconstrained_macro_f1_41": 0.6508407746399698,
|
| 1349 |
+
"eval_unconstrained_positive_micro_f1": 0.5953827460510328,
|
| 1350 |
+
"eval_unconstrained_positive_micro_precision": 0.6290115532734275,
|
| 1351 |
+
"eval_unconstrained_positive_micro_recall": 0.5651672433679354,
|
| 1352 |
+
"eval_unconstrained_weighted_f1_41": 0.6620183629552824,
|
| 1353 |
+
"eval_weighted_f1_41": 0.6828491038015017,
|
| 1354 |
+
"step": 2750
|
| 1355 |
+
},
|
| 1356 |
+
{
|
| 1357 |
+
"epoch": 2.8138704742478327,
|
| 1358 |
+
"grad_norm": 0.687584638595581,
|
| 1359 |
+
"learning_rate": 5.327619673687528e-07,
|
| 1360 |
+
"loss": 0.0261,
|
| 1361 |
+
"step": 2760
|
| 1362 |
+
},
|
| 1363 |
+
{
|
| 1364 |
+
"epoch": 2.8342682304946454,
|
| 1365 |
+
"grad_norm": 0.028698189184069633,
|
| 1366 |
+
"learning_rate": 4.235490414065263e-07,
|
| 1367 |
+
"loss": 0.0681,
|
| 1368 |
+
"step": 2780
|
| 1369 |
+
},
|
| 1370 |
+
{
|
| 1371 |
+
"epoch": 2.8546659867414585,
|
| 1372 |
+
"grad_norm": 0.0782444030046463,
|
| 1373 |
+
"learning_rate": 3.2675541178931456e-07,
|
| 1374 |
+
"loss": 0.0228,
|
| 1375 |
+
"step": 2800
|
| 1376 |
+
},
|
| 1377 |
+
{
|
| 1378 |
+
"epoch": 2.8750637429882713,
|
| 1379 |
+
"grad_norm": 0.04141950607299805,
|
| 1380 |
+
"learning_rate": 2.424299915506828e-07,
|
| 1381 |
+
"loss": 0.0459,
|
| 1382 |
+
"step": 2820
|
| 1383 |
+
},
|
| 1384 |
+
{
|
| 1385 |
+
"epoch": 2.895461499235084,
|
| 1386 |
+
"grad_norm": 24.31253433227539,
|
| 1387 |
+
"learning_rate": 1.7061539312417108e-07,
|
| 1388 |
+
"loss": 0.0676,
|
| 1389 |
+
"step": 2840
|
| 1390 |
+
},
|
| 1391 |
+
{
|
| 1392 |
+
"epoch": 2.915859255481897,
|
| 1393 |
+
"grad_norm": 0.10220429301261902,
|
| 1394 |
+
"learning_rate": 1.1134790680984996e-07,
|
| 1395 |
+
"loss": 0.0602,
|
| 1396 |
+
"step": 2860
|
| 1397 |
+
},
|
| 1398 |
+
{
|
| 1399 |
+
"epoch": 2.93625701172871,
|
| 1400 |
+
"grad_norm": 4.274705410003662,
|
| 1401 |
+
"learning_rate": 6.465748243559556e-08,
|
| 1402 |
+
"loss": 0.0713,
|
| 1403 |
+
"step": 2880
|
| 1404 |
+
},
|
| 1405 |
+
{
|
| 1406 |
+
"epoch": 2.9566547679755226,
|
| 1407 |
+
"grad_norm": 0.014307630248367786,
|
| 1408 |
+
"learning_rate": 3.056771422247362e-08,
|
| 1409 |
+
"loss": 0.0698,
|
| 1410 |
+
"step": 2900
|
| 1411 |
+
},
|
| 1412 |
+
{
|
| 1413 |
+
"epoch": 2.9770525242223354,
|
| 1414 |
+
"grad_norm": 0.08406448364257812,
|
| 1415 |
+
"learning_rate": 9.095828861771516e-09,
|
| 1416 |
+
"loss": 0.137,
|
| 1417 |
+
"step": 2920
|
| 1418 |
+
},
|
| 1419 |
+
{
|
| 1420 |
+
"epoch": 2.9974502804691485,
|
| 1421 |
+
"grad_norm": 0.06355658918619156,
|
| 1422 |
+
"learning_rate": 2.526768098060073e-10,
|
| 1423 |
+
"loss": 0.0307,
|
| 1424 |
+
"step": 2940
|
| 1425 |
+
}
|
| 1426 |
+
],
|
| 1427 |
+
"logging_steps": 20,
|
| 1428 |
+
"max_steps": 2943,
|
| 1429 |
+
"num_input_tokens_seen": 0,
|
| 1430 |
+
"num_train_epochs": 3,
|
| 1431 |
+
"save_steps": 250,
|
| 1432 |
+
"stateful_callbacks": {
|
| 1433 |
+
"TrainerControl": {
|
| 1434 |
+
"args": {
|
| 1435 |
+
"should_epoch_stop": false,
|
| 1436 |
+
"should_evaluate": false,
|
| 1437 |
+
"should_log": false,
|
| 1438 |
+
"should_save": true,
|
| 1439 |
+
"should_training_stop": true
|
| 1440 |
+
},
|
| 1441 |
+
"attributes": {}
|
| 1442 |
+
}
|
| 1443 |
+
},
|
| 1444 |
+
"total_flos": 5.100502627428434e+17,
|
| 1445 |
+
"train_batch_size": 4,
|
| 1446 |
+
"trial_name": null,
|
| 1447 |
+
"trial_params": null
|
| 1448 |
+
}
|
latest_checkpoint/training_args.bin
ADDED
|
Binary file (5.5 kB). View file
|
|
|
model.py
CHANGED
|
@@ -24,6 +24,7 @@ from pathlib import Path
|
|
| 24 |
from typing import Any, Dict, Iterable, List, Mapping, Optional, Sequence, Tuple
|
| 25 |
|
| 26 |
os.environ.setdefault("TOKENIZERS_PARALLELISM", "false")
|
|
|
|
| 27 |
|
| 28 |
import bitsandbytes as bnb
|
| 29 |
import numpy as np
|
|
|
|
| 24 |
from typing import Any, Dict, Iterable, List, Mapping, Optional, Sequence, Tuple
|
| 25 |
|
| 26 |
os.environ.setdefault("TOKENIZERS_PARALLELISM", "false")
|
| 27 |
+
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "0"
|
| 28 |
|
| 29 |
import bitsandbytes as bnb
|
| 30 |
import numpy as np
|
predict.py
CHANGED
|
@@ -10,6 +10,7 @@ from pathlib import Path
|
|
| 10 |
from typing import Any, Dict, Iterable, List, Mapping
|
| 11 |
|
| 12 |
os.environ.setdefault("TOKENIZERS_PARALLELISM", "false")
|
|
|
|
| 13 |
|
| 14 |
import torch
|
| 15 |
from dotenv import load_dotenv
|
|
|
|
| 10 |
from typing import Any, Dict, Iterable, List, Mapping
|
| 11 |
|
| 12 |
os.environ.setdefault("TOKENIZERS_PARALLELISM", "false")
|
| 13 |
+
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "0"
|
| 14 |
|
| 15 |
import torch
|
| 16 |
from dotenv import load_dotenv
|
release/release_manifest.json
CHANGED
|
@@ -8,6 +8,25 @@
|
|
| 8 |
"finite_tensors": 448,
|
| 9 |
"nonzero_tensors": 448
|
| 10 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
"files": {
|
| 12 |
"adapter_config.json": {
|
| 13 |
"bytes": 975,
|
|
@@ -61,6 +80,62 @@
|
|
| 61 |
"bytes": 504,
|
| 62 |
"sha256": "d00476c1b9072f1b30b5fed98fbf484f2ca53f4fcef5baa96918343f39f786c8"
|
| 63 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
"release/best_validation_metrics.json": {
|
| 65 |
"bytes": 1369,
|
| 66 |
"sha256": "a2d588206ad639c5b02cdee82e3698ac96919b11e8ea1783df5fd540b9e1ea54"
|
|
@@ -96,10 +171,7 @@
|
|
| 96 |
},
|
| 97 |
"excluded": [
|
| 98 |
"base model weights",
|
| 99 |
-
"
|
| 100 |
-
"scheduler state",
|
| 101 |
-
"RNG state",
|
| 102 |
-
"numbered checkpoints",
|
| 103 |
"training logs",
|
| 104 |
"prediction dumps",
|
| 105 |
"caches"
|
|
|
|
| 8 |
"finite_tensors": 448,
|
| 9 |
"nonzero_tensors": 448
|
| 10 |
},
|
| 11 |
+
"latest_checkpoint": {
|
| 12 |
+
"global_step": 2943,
|
| 13 |
+
"best_checkpoint_step": 2750,
|
| 14 |
+
"adapter": {
|
| 15 |
+
"tensor_count": 448,
|
| 16 |
+
"finite_tensors": 448,
|
| 17 |
+
"nonzero_tensors": 448
|
| 18 |
+
},
|
| 19 |
+
"optimizer": {
|
| 20 |
+
"tensor_count": 2688,
|
| 21 |
+
"finite_floating_tensor_count": 1792
|
| 22 |
+
},
|
| 23 |
+
"scheduler": {
|
| 24 |
+
"tensor_count": 0,
|
| 25 |
+
"finite_floating_tensor_count": 0
|
| 26 |
+
},
|
| 27 |
+
"rng_state_bytes": 14244,
|
| 28 |
+
"training_args_bytes": 5496
|
| 29 |
+
},
|
| 30 |
"files": {
|
| 31 |
"adapter_config.json": {
|
| 32 |
"bytes": 975,
|
|
|
|
| 80 |
"bytes": 504,
|
| 81 |
"sha256": "d00476c1b9072f1b30b5fed98fbf484f2ca53f4fcef5baa96918343f39f786c8"
|
| 82 |
},
|
| 83 |
+
"latest_checkpoint/README.md": {
|
| 84 |
+
"bytes": 5232,
|
| 85 |
+
"sha256": "32c8a003763070b74cdb20f608f0e5a726570b11d56469cd4b80b2753bd274f4"
|
| 86 |
+
},
|
| 87 |
+
"latest_checkpoint/adapter_config.json": {
|
| 88 |
+
"bytes": 975,
|
| 89 |
+
"sha256": "68656a0760952d4504c6f6cdfb03487622327b6391315289790192bfa6951721"
|
| 90 |
+
},
|
| 91 |
+
"latest_checkpoint/adapter_model.safetensors": {
|
| 92 |
+
"bytes": 159967880,
|
| 93 |
+
"sha256": "4390a7f0c09141c9e6c9dc0e82164e7d5a6eb2e07eca3f44c7f76467485bae71"
|
| 94 |
+
},
|
| 95 |
+
"latest_checkpoint/chat_template.jinja": {
|
| 96 |
+
"bytes": 816,
|
| 97 |
+
"sha256": "f1dff938141b507da4a409b6bb3431382088a97a963acd246a41f2f344ae831f"
|
| 98 |
+
},
|
| 99 |
+
"latest_checkpoint/checkpoint_manifest.json": {
|
| 100 |
+
"bytes": 2447,
|
| 101 |
+
"sha256": "5094be1262aa9ac08dd2f3671151ae7166ac699805a734967d2194dc095a554f"
|
| 102 |
+
},
|
| 103 |
+
"latest_checkpoint/optimizer.pt": {
|
| 104 |
+
"bytes": 81735892,
|
| 105 |
+
"sha256": "58da25e4579a062fa12ad066e34b666619a4609957fbcc9d246212ca4a431fad"
|
| 106 |
+
},
|
| 107 |
+
"latest_checkpoint/rng_state.pth": {
|
| 108 |
+
"bytes": 14244,
|
| 109 |
+
"sha256": "e1364bce33b92ffd2389bb5e6f0f8bb88878c2a769c50a7e2403c9cd9f3c1fd9"
|
| 110 |
+
},
|
| 111 |
+
"latest_checkpoint/scheduler.pt": {
|
| 112 |
+
"bytes": 1064,
|
| 113 |
+
"sha256": "bd16c6406d87f70b6c298a5e4fb685236ce307ae801894a350532f2e95d3a1fe"
|
| 114 |
+
},
|
| 115 |
+
"latest_checkpoint/special_tokens_map.json": {
|
| 116 |
+
"bytes": 551,
|
| 117 |
+
"sha256": "82d96d7a9e6ced037f12394b7ea6a5b02e6ca87e0d11edaa8d60d9be857ce7db"
|
| 118 |
+
},
|
| 119 |
+
"latest_checkpoint/tokenizer.json": {
|
| 120 |
+
"bytes": 8508152,
|
| 121 |
+
"sha256": "a4ec65a3ef5dee870b4024cf17d9315aff58dc1555e05766f1c18ebfe8405dba"
|
| 122 |
+
},
|
| 123 |
+
"latest_checkpoint/tokenizer.model": {
|
| 124 |
+
"bytes": 1228714,
|
| 125 |
+
"sha256": "feff3deb3537c4a47b77585053ad2aa00484da7907b188e0111cbed1f4592e67"
|
| 126 |
+
},
|
| 127 |
+
"latest_checkpoint/tokenizer_config.json": {
|
| 128 |
+
"bytes": 4402,
|
| 129 |
+
"sha256": "92a93150cc2a9e821e6fc785bbb0aea3cec5d92df529974131efc1c857b52359"
|
| 130 |
+
},
|
| 131 |
+
"latest_checkpoint/trainer_state.json": {
|
| 132 |
+
"bytes": 43812,
|
| 133 |
+
"sha256": "95489ed7a630b99057d444bd7469f2eeb2f9e5f618b077f8f1873f9a1d118251"
|
| 134 |
+
},
|
| 135 |
+
"latest_checkpoint/training_args.bin": {
|
| 136 |
+
"bytes": 5496,
|
| 137 |
+
"sha256": "213db7d4f648a556f875d6706bbb4d0e9ef6f78fecf9b503048cedff8a477c00"
|
| 138 |
+
},
|
| 139 |
"release/best_validation_metrics.json": {
|
| 140 |
"bytes": 1369,
|
| 141 |
"sha256": "a2d588206ad639c5b02cdee82e3698ac96919b11e8ea1783df5fd540b9e1ea54"
|
|
|
|
| 171 |
},
|
| 172 |
"excluded": [
|
| 173 |
"base model weights",
|
| 174 |
+
"numbered checkpoints other than the staged latest step-2943 copy",
|
|
|
|
|
|
|
|
|
|
| 175 |
"training logs",
|
| 176 |
"prediction dumps",
|
| 177 |
"caches"
|
setup_env.sh
CHANGED
|
@@ -54,6 +54,7 @@ python -m py_compile \
|
|
| 54 |
tools/build_examples_appendix.py \
|
| 55 |
tools/plot_losses.py \
|
| 56 |
tools/publish_huggingface.py \
|
|
|
|
| 57 |
tools/stage_release.py \
|
| 58 |
tools/verify_release.py
|
| 59 |
python re_sft_common.py
|
|
|
|
| 54 |
tools/build_examples_appendix.py \
|
| 55 |
tools/plot_losses.py \
|
| 56 |
tools/publish_huggingface.py \
|
| 57 |
+
tools/restore_latest_checkpoint.py \
|
| 58 |
tools/stage_release.py \
|
| 59 |
tools/verify_release.py
|
| 60 |
python re_sft_common.py
|
tools/publish_huggingface.py
CHANGED
|
@@ -15,6 +15,8 @@ import tempfile
|
|
| 15 |
from datetime import datetime, timezone
|
| 16 |
from pathlib import Path
|
| 17 |
|
|
|
|
|
|
|
| 18 |
from dotenv import load_dotenv
|
| 19 |
from huggingface_hub import HfApi, snapshot_download
|
| 20 |
|
|
@@ -100,6 +102,7 @@ def main() -> None:
|
|
| 100 |
"local_release": {
|
| 101 |
"manifest": local["manifest"],
|
| 102 |
"adapter": local["adapter"],
|
|
|
|
| 103 |
"worked_examples": local["worked_examples"],
|
| 104 |
},
|
| 105 |
"fresh_snapshot_verification": {
|
|
@@ -107,6 +110,7 @@ def main() -> None:
|
|
| 107 |
"revision": remote["revision"],
|
| 108 |
"manifest": remote["manifest"],
|
| 109 |
"adapter": remote["adapter"],
|
|
|
|
| 110 |
"worked_examples": remote["worked_examples"],
|
| 111 |
"remote_clean_mode": remote["remote_clean_mode"],
|
| 112 |
},
|
|
@@ -134,6 +138,10 @@ def main() -> None:
|
|
| 134 |
"final_revision": final_revision,
|
| 135 |
"fresh_final_download_verified": final_remote["status"] == "passed",
|
| 136 |
"adapter_tensors": final_remote["adapter"]["tensors"],
|
|
|
|
|
|
|
|
|
|
|
|
|
| 137 |
"worked_example_classes": final_remote["worked_examples"]["classes"],
|
| 138 |
"token_values_printed": False,
|
| 139 |
},
|
|
|
|
| 15 |
from datetime import datetime, timezone
|
| 16 |
from pathlib import Path
|
| 17 |
|
| 18 |
+
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "0"
|
| 19 |
+
|
| 20 |
from dotenv import load_dotenv
|
| 21 |
from huggingface_hub import HfApi, snapshot_download
|
| 22 |
|
|
|
|
| 102 |
"local_release": {
|
| 103 |
"manifest": local["manifest"],
|
| 104 |
"adapter": local["adapter"],
|
| 105 |
+
"latest_checkpoint": local["latest_checkpoint"],
|
| 106 |
"worked_examples": local["worked_examples"],
|
| 107 |
},
|
| 108 |
"fresh_snapshot_verification": {
|
|
|
|
| 110 |
"revision": remote["revision"],
|
| 111 |
"manifest": remote["manifest"],
|
| 112 |
"adapter": remote["adapter"],
|
| 113 |
+
"latest_checkpoint": remote["latest_checkpoint"],
|
| 114 |
"worked_examples": remote["worked_examples"],
|
| 115 |
"remote_clean_mode": remote["remote_clean_mode"],
|
| 116 |
},
|
|
|
|
| 138 |
"final_revision": final_revision,
|
| 139 |
"fresh_final_download_verified": final_remote["status"] == "passed",
|
| 140 |
"adapter_tensors": final_remote["adapter"]["tensors"],
|
| 141 |
+
"latest_checkpoint_global_step": final_remote["latest_checkpoint"][
|
| 142 |
+
"global_step"
|
| 143 |
+
],
|
| 144 |
+
"latest_checkpoint_files": final_remote["latest_checkpoint"]["files"],
|
| 145 |
"worked_example_classes": final_remote["worked_examples"]["classes"],
|
| 146 |
"token_values_printed": False,
|
| 147 |
},
|
tools/restore_latest_checkpoint.py
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""Restore the published step-2943 Trainer checkpoint into a run directory."""
|
| 3 |
+
|
| 4 |
+
from __future__ import annotations
|
| 5 |
+
|
| 6 |
+
import argparse
|
| 7 |
+
import json
|
| 8 |
+
import os
|
| 9 |
+
import shutil
|
| 10 |
+
from pathlib import Path
|
| 11 |
+
|
| 12 |
+
from dotenv import load_dotenv
|
| 13 |
+
|
| 14 |
+
from verify_release import verify_latest_checkpoint
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
ROOT = Path(__file__).resolve().parents[1]
|
| 18 |
+
load_dotenv(ROOT / ".env")
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
def resolve(value: str) -> Path:
|
| 22 |
+
path = Path(value)
|
| 23 |
+
return path if path.is_absolute() else ROOT / path
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
def main() -> None:
|
| 27 |
+
parser = argparse.ArgumentParser()
|
| 28 |
+
parser.add_argument(
|
| 29 |
+
"--output-dir",
|
| 30 |
+
default=os.environ.get("CHOICE_OUTPUT_DIR", "runs/DRU-RE-Yehia"),
|
| 31 |
+
help="Trainer run root that will receive checkpoints/checkpoint-2943.",
|
| 32 |
+
)
|
| 33 |
+
parser.add_argument("--overwrite", action="store_true")
|
| 34 |
+
args = parser.parse_args()
|
| 35 |
+
|
| 36 |
+
audit = verify_latest_checkpoint(ROOT)
|
| 37 |
+
source = ROOT / "latest_checkpoint"
|
| 38 |
+
output = resolve(args.output_dir)
|
| 39 |
+
destination = output / "checkpoints/checkpoint-2943"
|
| 40 |
+
temporary = output / "checkpoints/.checkpoint-2943.restoring"
|
| 41 |
+
if destination.exists() and not args.overwrite:
|
| 42 |
+
raise RuntimeError(
|
| 43 |
+
f"Destination already exists: {destination}. Use --overwrite only intentionally."
|
| 44 |
+
)
|
| 45 |
+
if temporary.exists():
|
| 46 |
+
shutil.rmtree(temporary)
|
| 47 |
+
temporary.parent.mkdir(parents=True, exist_ok=True)
|
| 48 |
+
shutil.copytree(source, temporary)
|
| 49 |
+
if destination.exists():
|
| 50 |
+
shutil.rmtree(destination)
|
| 51 |
+
os.replace(temporary, destination)
|
| 52 |
+
print(
|
| 53 |
+
json.dumps(
|
| 54 |
+
{
|
| 55 |
+
"status": "passed",
|
| 56 |
+
"source": str(source),
|
| 57 |
+
"destination": str(destination),
|
| 58 |
+
"global_step": audit["global_step"],
|
| 59 |
+
"checkpoint_files": audit["files"],
|
| 60 |
+
"full_base_weights_included": False,
|
| 61 |
+
},
|
| 62 |
+
ensure_ascii=False,
|
| 63 |
+
indent=2,
|
| 64 |
+
)
|
| 65 |
+
)
|
| 66 |
+
|
| 67 |
+
|
| 68 |
+
if __name__ == "__main__":
|
| 69 |
+
main()
|
tools/stage_release.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
#!/usr/bin/env python3
|
| 2 |
-
"""Stage
|
| 3 |
|
| 4 |
from __future__ import annotations
|
| 5 |
|
|
@@ -29,6 +29,14 @@ ADAPTER_FILES = {
|
|
| 29 |
"tokenizer.model",
|
| 30 |
"tokenizer_config.json",
|
| 31 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
EVIDENCE_FILES = {
|
| 33 |
"all_linear_eligible_modules.json",
|
| 34 |
"decision_token_inventory.json",
|
|
@@ -94,6 +102,115 @@ def validate_adapter_tensors(path: Path) -> Dict[str, Any]:
|
|
| 94 |
return {"tensor_count": tensor_count, "finite_tensors": tensor_count, "nonzero_tensors": nonzero_count}
|
| 95 |
|
| 96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 97 |
def metric_step(path: Path) -> int:
|
| 98 |
match = re.search(r"step_(\d+)\.json$", path.name)
|
| 99 |
if not match:
|
|
@@ -205,6 +322,7 @@ def main() -> None:
|
|
| 205 |
f"Refusing release: LoRA evidence {key}={lora.get(key)!r}, expected {expected!r}"
|
| 206 |
)
|
| 207 |
tensor_audit = validate_adapter_tensors(source / "adapter_model.safetensors")
|
|
|
|
| 208 |
|
| 209 |
# All correctness checks above complete before the repository is modified.
|
| 210 |
copied = []
|
|
@@ -221,6 +339,16 @@ def main() -> None:
|
|
| 221 |
staged_adapter_config["revision"] = base_model_revision
|
| 222 |
write_json(repo_dir / "adapter_config.json", staged_adapter_config)
|
| 223 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 224 |
release_dir = repo_dir / "release"
|
| 225 |
release_dir.mkdir(parents=True, exist_ok=True)
|
| 226 |
for source_path, destination in (
|
|
@@ -289,6 +417,7 @@ def main() -> None:
|
|
| 289 |
"selection_metric": "positive_micro_f1",
|
| 290 |
"selection_metric_value": best_metrics["positive_micro_f1"],
|
| 291 |
"adapter_tensor_audit": tensor_audit,
|
|
|
|
| 292 |
"files": {
|
| 293 |
str(path.relative_to(repo_dir)): {
|
| 294 |
"bytes": path.stat().st_size,
|
|
@@ -298,10 +427,7 @@ def main() -> None:
|
|
| 298 |
},
|
| 299 |
"excluded": [
|
| 300 |
"base model weights",
|
| 301 |
-
"
|
| 302 |
-
"scheduler state",
|
| 303 |
-
"RNG state",
|
| 304 |
-
"numbered checkpoints",
|
| 305 |
"training logs",
|
| 306 |
"prediction dumps",
|
| 307 |
"caches",
|
|
|
|
| 1 |
#!/usr/bin/env python3
|
| 2 |
+
"""Stage the completed best adapter, latest resumable state, and evidence."""
|
| 3 |
|
| 4 |
from __future__ import annotations
|
| 5 |
|
|
|
|
| 29 |
"tokenizer.model",
|
| 30 |
"tokenizer_config.json",
|
| 31 |
}
|
| 32 |
+
LATEST_CHECKPOINT_FILES = ADAPTER_FILES | {
|
| 33 |
+
"README.md",
|
| 34 |
+
"optimizer.pt",
|
| 35 |
+
"rng_state.pth",
|
| 36 |
+
"scheduler.pt",
|
| 37 |
+
"trainer_state.json",
|
| 38 |
+
"training_args.bin",
|
| 39 |
+
}
|
| 40 |
EVIDENCE_FILES = {
|
| 41 |
"all_linear_eligible_modules.json",
|
| 42 |
"decision_token_inventory.json",
|
|
|
|
| 102 |
return {"tensor_count": tensor_count, "finite_tensors": tensor_count, "nonzero_tensors": nonzero_count}
|
| 103 |
|
| 104 |
|
| 105 |
+
def validate_tensor_tree(
|
| 106 |
+
value: Any, label: str, require_tensor: bool = True
|
| 107 |
+
) -> Dict[str, int]:
|
| 108 |
+
tensor_count = 0
|
| 109 |
+
floating_tensor_count = 0
|
| 110 |
+
stack = [value]
|
| 111 |
+
while stack:
|
| 112 |
+
current = stack.pop()
|
| 113 |
+
if isinstance(current, dict):
|
| 114 |
+
stack.extend(current.values())
|
| 115 |
+
elif isinstance(current, (list, tuple)):
|
| 116 |
+
stack.extend(current)
|
| 117 |
+
elif isinstance(current, torch.Tensor):
|
| 118 |
+
tensor_count += 1
|
| 119 |
+
if current.is_floating_point() or current.is_complex():
|
| 120 |
+
floating_tensor_count += 1
|
| 121 |
+
if not torch.isfinite(current).all().item():
|
| 122 |
+
raise RuntimeError(f"Refusing release: non-finite tensor in {label}")
|
| 123 |
+
if require_tensor and tensor_count == 0:
|
| 124 |
+
raise RuntimeError(f"Refusing release: no tensors found in {label}")
|
| 125 |
+
return {
|
| 126 |
+
"tensor_count": tensor_count,
|
| 127 |
+
"finite_floating_tensor_count": floating_tensor_count,
|
| 128 |
+
}
|
| 129 |
+
|
| 130 |
+
|
| 131 |
+
def validate_latest_checkpoint(run_dir: Path) -> Dict[str, Any]:
|
| 132 |
+
latest = run_dir / "latest_checkpoint"
|
| 133 |
+
numbered = run_dir / "checkpoints" / "checkpoint-2943"
|
| 134 |
+
for directory in (latest, numbered):
|
| 135 |
+
if not directory.is_dir():
|
| 136 |
+
raise FileNotFoundError(directory)
|
| 137 |
+
for name in sorted(LATEST_CHECKPOINT_FILES):
|
| 138 |
+
if not (directory / name).is_file():
|
| 139 |
+
raise FileNotFoundError(directory / name)
|
| 140 |
+
for name in sorted(LATEST_CHECKPOINT_FILES):
|
| 141 |
+
if sha256(latest / name) != sha256(numbered / name):
|
| 142 |
+
raise RuntimeError(f"Refusing release: latest checkpoint diverges for {name}")
|
| 143 |
+
|
| 144 |
+
state = read_json(latest / "trainer_state.json")
|
| 145 |
+
if state.get("global_step") != 2943:
|
| 146 |
+
raise RuntimeError("Refusing release: latest checkpoint is not global step 2943")
|
| 147 |
+
if not str(state.get("best_model_checkpoint", "")).endswith("checkpoint-2750"):
|
| 148 |
+
raise RuntimeError("Refusing release: latest checkpoint has wrong best-checkpoint provenance")
|
| 149 |
+
adapter = validate_adapter_tensors(latest / "adapter_model.safetensors")
|
| 150 |
+
optimizer = torch.load(latest / "optimizer.pt", map_location="cpu", weights_only=True)
|
| 151 |
+
scheduler = torch.load(latest / "scheduler.pt", map_location="cpu", weights_only=True)
|
| 152 |
+
if scheduler.get("last_epoch") != 2943 or scheduler.get("_step_count") != 2944:
|
| 153 |
+
raise RuntimeError("Refusing release: latest scheduler state is incomplete")
|
| 154 |
+
return {
|
| 155 |
+
"global_step": 2943,
|
| 156 |
+
"best_checkpoint_step": 2750,
|
| 157 |
+
"adapter": adapter,
|
| 158 |
+
"optimizer": validate_tensor_tree(optimizer, "latest_checkpoint/optimizer.pt"),
|
| 159 |
+
"scheduler": validate_tensor_tree(
|
| 160 |
+
scheduler, "latest_checkpoint/scheduler.pt", require_tensor=False
|
| 161 |
+
),
|
| 162 |
+
"rng_state_bytes": (latest / "rng_state.pth").stat().st_size,
|
| 163 |
+
"training_args_bytes": (latest / "training_args.bin").stat().st_size,
|
| 164 |
+
}
|
| 165 |
+
|
| 166 |
+
|
| 167 |
+
def stage_latest_checkpoint(
|
| 168 |
+
source: Path,
|
| 169 |
+
repo_dir: Path,
|
| 170 |
+
base_model_id: str,
|
| 171 |
+
base_model_revision: str,
|
| 172 |
+
audit: Dict[str, Any],
|
| 173 |
+
) -> list[Path]:
|
| 174 |
+
temporary = repo_dir / ".latest_checkpoint.staging"
|
| 175 |
+
destination = repo_dir / "latest_checkpoint"
|
| 176 |
+
if temporary.exists():
|
| 177 |
+
shutil.rmtree(temporary)
|
| 178 |
+
temporary.mkdir(parents=True)
|
| 179 |
+
for name in sorted(LATEST_CHECKPOINT_FILES):
|
| 180 |
+
shutil.copy2(source / name, temporary / name)
|
| 181 |
+
|
| 182 |
+
adapter_config = read_json(temporary / "adapter_config.json")
|
| 183 |
+
adapter_config["base_model_name_or_path"] = base_model_id
|
| 184 |
+
adapter_config["revision"] = base_model_revision
|
| 185 |
+
write_json(temporary / "adapter_config.json", adapter_config)
|
| 186 |
+
manifest_files = {
|
| 187 |
+
name: {
|
| 188 |
+
"bytes": (temporary / name).stat().st_size,
|
| 189 |
+
"sha256": sha256(temporary / name),
|
| 190 |
+
}
|
| 191 |
+
for name in sorted(LATEST_CHECKPOINT_FILES)
|
| 192 |
+
}
|
| 193 |
+
write_json(
|
| 194 |
+
temporary / "checkpoint_manifest.json",
|
| 195 |
+
{
|
| 196 |
+
"status": "complete",
|
| 197 |
+
"checkpoint_type": "latest_complete_resumable_trainer_checkpoint",
|
| 198 |
+
"global_step": 2943,
|
| 199 |
+
"best_checkpoint_step": 2750,
|
| 200 |
+
"audit": audit,
|
| 201 |
+
"files": manifest_files,
|
| 202 |
+
"full_base_weights_included": False,
|
| 203 |
+
},
|
| 204 |
+
)
|
| 205 |
+
if destination.exists():
|
| 206 |
+
shutil.rmtree(destination)
|
| 207 |
+
os.replace(temporary, destination)
|
| 208 |
+
return [
|
| 209 |
+
destination / name
|
| 210 |
+
for name in sorted(LATEST_CHECKPOINT_FILES | {"checkpoint_manifest.json"})
|
| 211 |
+
]
|
| 212 |
+
|
| 213 |
+
|
| 214 |
def metric_step(path: Path) -> int:
|
| 215 |
match = re.search(r"step_(\d+)\.json$", path.name)
|
| 216 |
if not match:
|
|
|
|
| 322 |
f"Refusing release: LoRA evidence {key}={lora.get(key)!r}, expected {expected!r}"
|
| 323 |
)
|
| 324 |
tensor_audit = validate_adapter_tensors(source / "adapter_model.safetensors")
|
| 325 |
+
latest_checkpoint_audit = validate_latest_checkpoint(run_dir)
|
| 326 |
|
| 327 |
# All correctness checks above complete before the repository is modified.
|
| 328 |
copied = []
|
|
|
|
| 339 |
staged_adapter_config["revision"] = base_model_revision
|
| 340 |
write_json(repo_dir / "adapter_config.json", staged_adapter_config)
|
| 341 |
|
| 342 |
+
copied.extend(
|
| 343 |
+
stage_latest_checkpoint(
|
| 344 |
+
run_dir / "latest_checkpoint",
|
| 345 |
+
repo_dir,
|
| 346 |
+
base_model_id,
|
| 347 |
+
base_model_revision,
|
| 348 |
+
latest_checkpoint_audit,
|
| 349 |
+
)
|
| 350 |
+
)
|
| 351 |
+
|
| 352 |
release_dir = repo_dir / "release"
|
| 353 |
release_dir.mkdir(parents=True, exist_ok=True)
|
| 354 |
for source_path, destination in (
|
|
|
|
| 417 |
"selection_metric": "positive_micro_f1",
|
| 418 |
"selection_metric_value": best_metrics["positive_micro_f1"],
|
| 419 |
"adapter_tensor_audit": tensor_audit,
|
| 420 |
+
"latest_checkpoint": latest_checkpoint_audit,
|
| 421 |
"files": {
|
| 422 |
str(path.relative_to(repo_dir)): {
|
| 423 |
"bytes": path.stat().st_size,
|
|
|
|
| 427 |
},
|
| 428 |
"excluded": [
|
| 429 |
"base model weights",
|
| 430 |
+
"numbered checkpoints other than the staged latest step-2943 copy",
|
|
|
|
|
|
|
|
|
|
| 431 |
"training logs",
|
| 432 |
"prediction dumps",
|
| 433 |
"caches",
|
tools/verify_release.py
CHANGED
|
@@ -50,6 +50,7 @@ REQUIRED_SOURCE = {
|
|
| 50 |
"tools/monitor_resources.sh",
|
| 51 |
"tools/plot_losses.py",
|
| 52 |
"tools/publish_huggingface.py",
|
|
|
|
| 53 |
"tools/stage_release.py",
|
| 54 |
"tools/verify_release.py",
|
| 55 |
"resources/wojood_ontology.json",
|
|
@@ -88,6 +89,25 @@ REQUIRED_RELEASE = {
|
|
| 88 |
"release/validation_history.json",
|
| 89 |
"release/release_manifest.json",
|
| 90 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
OPTIONAL_CLEAN_FILES = {
|
| 92 |
"evidence/README.md",
|
| 93 |
"evidence/train_class_counts.json",
|
|
@@ -195,8 +215,7 @@ def verify_lora_evidence(root: Path) -> Dict[str, Any]:
|
|
| 195 |
return dict(expected)
|
| 196 |
|
| 197 |
|
| 198 |
-
def
|
| 199 |
-
config = read_json(root / "adapter_config.json")
|
| 200 |
locked: Mapping[str, Any] = {
|
| 201 |
"r": 16,
|
| 202 |
"lora_alpha": 32,
|
|
@@ -209,7 +228,9 @@ def verify_adapter(root: Path) -> Dict[str, Any]:
|
|
| 209 |
}
|
| 210 |
for key, value in locked.items():
|
| 211 |
if config.get(key) != value:
|
| 212 |
-
raise RuntimeError(
|
|
|
|
|
|
|
| 213 |
expected_resolved_targets = {
|
| 214 |
"q_proj",
|
| 215 |
"k_proj",
|
|
@@ -220,27 +241,111 @@ def verify_adapter(root: Path) -> Dict[str, Any]:
|
|
| 220 |
"down_proj",
|
| 221 |
}
|
| 222 |
if set(config.get("target_modules") or []) != expected_resolved_targets:
|
| 223 |
-
raise RuntimeError("
|
| 224 |
if config.get("modules_to_save") is not None:
|
| 225 |
-
raise RuntimeError("
|
|
|
|
|
|
|
|
|
|
| 226 |
|
| 227 |
tensor_count = 0
|
| 228 |
nonzero_count = 0
|
| 229 |
-
with safe_open(
|
| 230 |
for name in handle.keys():
|
| 231 |
tensor = handle.get_tensor(name)
|
| 232 |
tensor_count += 1
|
| 233 |
if not torch.isfinite(tensor).all().item():
|
| 234 |
-
raise RuntimeError(f"
|
| 235 |
if torch.count_nonzero(tensor).item() > 0:
|
| 236 |
nonzero_count += 1
|
| 237 |
if tensor_count != 448 or nonzero_count != 448:
|
| 238 |
raise RuntimeError(
|
| 239 |
-
f"Expected 448 finite/nonzero
|
| 240 |
)
|
| 241 |
return {"tensors": tensor_count, "finite": tensor_count, "nonzero": nonzero_count}
|
| 242 |
|
| 243 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 244 |
def verify_inference_config(root: Path) -> Dict[str, Any]:
|
| 245 |
config = read_json(root / "inference_config.json")
|
| 246 |
expected = {
|
|
@@ -347,7 +452,9 @@ def verify_manifest(root: Path) -> Dict[str, Any]:
|
|
| 347 |
"release/run_summary.json",
|
| 348 |
"release/run_config.json",
|
| 349 |
"release/best_validation_metrics.json",
|
|
|
|
| 350 |
}
|
|
|
|
| 351 |
if not required_manifested.issubset(files):
|
| 352 |
raise RuntimeError("Release manifest omits one or more critical release artifacts")
|
| 353 |
return {"manifested_files": len(files), "best_checkpoint_step": manifest.get("best_checkpoint_step")}
|
|
@@ -389,14 +496,20 @@ def reject_accidental_payloads(root: Path, require_remote_clean: bool) -> None:
|
|
| 389 |
# publisher explicitly ignores them. Do not inspect their payloads
|
| 390 |
# as if they were part of the clean release tree.
|
| 391 |
continue
|
| 392 |
-
|
|
|
|
| 393 |
raise RuntimeError(f"Training/base payload must not be published: {relative}")
|
| 394 |
if path.is_file() and path.suffix == ".safetensors" and path.name != "adapter_model.safetensors":
|
| 395 |
raise RuntimeError(f"Unexpected safetensors payload: {relative}")
|
| 396 |
if require_remote_clean and (root / ".env").exists():
|
| 397 |
raise RuntimeError("A remote release checkout must never contain .env")
|
| 398 |
if require_remote_clean:
|
| 399 |
-
allowed =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 400 |
unexpected = []
|
| 401 |
for path in root.rglob("*"):
|
| 402 |
if not path.is_file():
|
|
@@ -417,6 +530,7 @@ def verify_release(root: Path, require_remote_clean: bool = False) -> Dict[str,
|
|
| 417 |
root = root.resolve()
|
| 418 |
require_files(root, REQUIRED_SOURCE)
|
| 419 |
require_files(root, REQUIRED_RELEASE)
|
|
|
|
| 420 |
reject_accidental_payloads(root, require_remote_clean=require_remote_clean)
|
| 421 |
inference = verify_inference_config(root)
|
| 422 |
result = {
|
|
@@ -428,11 +542,12 @@ def verify_release(root: Path, require_remote_clean: bool = False) -> Dict[str,
|
|
| 428 |
"base_model": verify_base_evidence(root),
|
| 429 |
"lora": verify_lora_evidence(root),
|
| 430 |
"adapter": verify_adapter(root),
|
|
|
|
| 431 |
"inference": inference,
|
| 432 |
"final_run": verify_final_run(root, inference),
|
| 433 |
"manifest": verify_manifest(root),
|
| 434 |
"remote_clean_mode": require_remote_clean,
|
| 435 |
-
"
|
| 436 |
}
|
| 437 |
return result
|
| 438 |
|
|
|
|
| 50 |
"tools/monitor_resources.sh",
|
| 51 |
"tools/plot_losses.py",
|
| 52 |
"tools/publish_huggingface.py",
|
| 53 |
+
"tools/restore_latest_checkpoint.py",
|
| 54 |
"tools/stage_release.py",
|
| 55 |
"tools/verify_release.py",
|
| 56 |
"resources/wojood_ontology.json",
|
|
|
|
| 89 |
"release/validation_history.json",
|
| 90 |
"release/release_manifest.json",
|
| 91 |
}
|
| 92 |
+
LATEST_CHECKPOINT_NAMES = {
|
| 93 |
+
"README.md",
|
| 94 |
+
"adapter_config.json",
|
| 95 |
+
"adapter_model.safetensors",
|
| 96 |
+
"chat_template.jinja",
|
| 97 |
+
"checkpoint_manifest.json",
|
| 98 |
+
"optimizer.pt",
|
| 99 |
+
"rng_state.pth",
|
| 100 |
+
"scheduler.pt",
|
| 101 |
+
"special_tokens_map.json",
|
| 102 |
+
"tokenizer.json",
|
| 103 |
+
"tokenizer.model",
|
| 104 |
+
"tokenizer_config.json",
|
| 105 |
+
"trainer_state.json",
|
| 106 |
+
"training_args.bin",
|
| 107 |
+
}
|
| 108 |
+
REQUIRED_LATEST_CHECKPOINT = {
|
| 109 |
+
f"latest_checkpoint/{name}" for name in LATEST_CHECKPOINT_NAMES
|
| 110 |
+
}
|
| 111 |
OPTIONAL_CLEAN_FILES = {
|
| 112 |
"evidence/README.md",
|
| 113 |
"evidence/train_class_counts.json",
|
|
|
|
| 215 |
return dict(expected)
|
| 216 |
|
| 217 |
|
| 218 |
+
def verify_adapter_config(config: Mapping[str, Any], label: str) -> None:
|
|
|
|
| 219 |
locked: Mapping[str, Any] = {
|
| 220 |
"r": 16,
|
| 221 |
"lora_alpha": 32,
|
|
|
|
| 228 |
}
|
| 229 |
for key, value in locked.items():
|
| 230 |
if config.get(key) != value:
|
| 231 |
+
raise RuntimeError(
|
| 232 |
+
f"{label} adapter config {key}={config.get(key)!r}, expected {value!r}"
|
| 233 |
+
)
|
| 234 |
expected_resolved_targets = {
|
| 235 |
"q_proj",
|
| 236 |
"k_proj",
|
|
|
|
| 241 |
"down_proj",
|
| 242 |
}
|
| 243 |
if set(config.get("target_modules") or []) != expected_resolved_targets:
|
| 244 |
+
raise RuntimeError(f"{label} has an unexpected resolved target-module set")
|
| 245 |
if config.get("modules_to_save") is not None:
|
| 246 |
+
raise RuntimeError(f"{label} unexpectedly saves additional non-LoRA modules")
|
| 247 |
+
|
| 248 |
+
|
| 249 |
+
def verify_adapter_safetensors(path: Path, label: str) -> Dict[str, Any]:
|
| 250 |
|
| 251 |
tensor_count = 0
|
| 252 |
nonzero_count = 0
|
| 253 |
+
with safe_open(path, framework="pt", device="cpu") as handle:
|
| 254 |
for name in handle.keys():
|
| 255 |
tensor = handle.get_tensor(name)
|
| 256 |
tensor_count += 1
|
| 257 |
if not torch.isfinite(tensor).all().item():
|
| 258 |
+
raise RuntimeError(f"{label} contains non-finite tensor {name}")
|
| 259 |
if torch.count_nonzero(tensor).item() > 0:
|
| 260 |
nonzero_count += 1
|
| 261 |
if tensor_count != 448 or nonzero_count != 448:
|
| 262 |
raise RuntimeError(
|
| 263 |
+
f"Expected 448 finite/nonzero {label} tensors, found {tensor_count}/{nonzero_count}"
|
| 264 |
)
|
| 265 |
return {"tensors": tensor_count, "finite": tensor_count, "nonzero": nonzero_count}
|
| 266 |
|
| 267 |
|
| 268 |
+
def verify_adapter(root: Path) -> Dict[str, Any]:
|
| 269 |
+
verify_adapter_config(read_json(root / "adapter_config.json"), "root adapter")
|
| 270 |
+
return verify_adapter_safetensors(
|
| 271 |
+
root / "adapter_model.safetensors", "root adapter"
|
| 272 |
+
)
|
| 273 |
+
|
| 274 |
+
|
| 275 |
+
def verify_tensor_tree(
|
| 276 |
+
value: Any, label: str, require_tensor: bool = True
|
| 277 |
+
) -> Dict[str, int]:
|
| 278 |
+
tensor_count = 0
|
| 279 |
+
floating_tensor_count = 0
|
| 280 |
+
stack = [value]
|
| 281 |
+
while stack:
|
| 282 |
+
current = stack.pop()
|
| 283 |
+
if isinstance(current, dict):
|
| 284 |
+
stack.extend(current.values())
|
| 285 |
+
elif isinstance(current, (list, tuple)):
|
| 286 |
+
stack.extend(current)
|
| 287 |
+
elif isinstance(current, torch.Tensor):
|
| 288 |
+
tensor_count += 1
|
| 289 |
+
if current.is_floating_point() or current.is_complex():
|
| 290 |
+
floating_tensor_count += 1
|
| 291 |
+
if not torch.isfinite(current).all().item():
|
| 292 |
+
raise RuntimeError(f"Non-finite tensor in {label}")
|
| 293 |
+
if require_tensor and tensor_count == 0:
|
| 294 |
+
raise RuntimeError(f"No tensors found in {label}")
|
| 295 |
+
return {
|
| 296 |
+
"tensor_count": tensor_count,
|
| 297 |
+
"finite_floating_tensor_count": floating_tensor_count,
|
| 298 |
+
}
|
| 299 |
+
|
| 300 |
+
|
| 301 |
+
def verify_latest_checkpoint(root: Path) -> Dict[str, Any]:
|
| 302 |
+
directory = root / "latest_checkpoint"
|
| 303 |
+
state = read_json(directory / "trainer_state.json")
|
| 304 |
+
if state.get("global_step") != 2943:
|
| 305 |
+
raise RuntimeError("Latest checkpoint is not global step 2943")
|
| 306 |
+
if not str(state.get("best_model_checkpoint", "")).endswith("checkpoint-2750"):
|
| 307 |
+
raise RuntimeError("Latest checkpoint has incorrect best-checkpoint provenance")
|
| 308 |
+
verify_adapter_config(
|
| 309 |
+
read_json(directory / "adapter_config.json"), "latest checkpoint"
|
| 310 |
+
)
|
| 311 |
+
adapter = verify_adapter_safetensors(
|
| 312 |
+
directory / "adapter_model.safetensors", "latest checkpoint adapter"
|
| 313 |
+
)
|
| 314 |
+
optimizer = torch.load(
|
| 315 |
+
directory / "optimizer.pt", map_location="cpu", weights_only=True
|
| 316 |
+
)
|
| 317 |
+
scheduler = torch.load(
|
| 318 |
+
directory / "scheduler.pt", map_location="cpu", weights_only=True
|
| 319 |
+
)
|
| 320 |
+
if scheduler.get("last_epoch") != 2943 or scheduler.get("_step_count") != 2944:
|
| 321 |
+
raise RuntimeError("Latest checkpoint scheduler state is incomplete")
|
| 322 |
+
optimizer_audit = verify_tensor_tree(optimizer, "latest checkpoint optimizer")
|
| 323 |
+
scheduler_audit = verify_tensor_tree(
|
| 324 |
+
scheduler, "latest checkpoint scheduler", require_tensor=False
|
| 325 |
+
)
|
| 326 |
+
|
| 327 |
+
manifest = read_json(directory / "checkpoint_manifest.json")
|
| 328 |
+
if manifest.get("status") != "complete" or manifest.get("global_step") != 2943:
|
| 329 |
+
raise RuntimeError("Latest checkpoint manifest is incomplete")
|
| 330 |
+
files = manifest.get("files") or {}
|
| 331 |
+
expected_names = LATEST_CHECKPOINT_NAMES - {"checkpoint_manifest.json"}
|
| 332 |
+
if set(files) != expected_names:
|
| 333 |
+
raise RuntimeError("Latest checkpoint manifest has the wrong file inventory")
|
| 334 |
+
for name, expected in files.items():
|
| 335 |
+
path = directory / name
|
| 336 |
+
if path.stat().st_size != expected.get("bytes") or sha256(path) != expected.get("sha256"):
|
| 337 |
+
raise RuntimeError(f"Latest checkpoint manifest mismatch for {name}")
|
| 338 |
+
return {
|
| 339 |
+
"status": "complete",
|
| 340 |
+
"global_step": 2943,
|
| 341 |
+
"best_checkpoint_step": 2750,
|
| 342 |
+
"adapter": adapter,
|
| 343 |
+
"optimizer": optimizer_audit,
|
| 344 |
+
"scheduler": scheduler_audit,
|
| 345 |
+
"files": len(files) + 1,
|
| 346 |
+
}
|
| 347 |
+
|
| 348 |
+
|
| 349 |
def verify_inference_config(root: Path) -> Dict[str, Any]:
|
| 350 |
config = read_json(root / "inference_config.json")
|
| 351 |
expected = {
|
|
|
|
| 452 |
"release/run_summary.json",
|
| 453 |
"release/run_config.json",
|
| 454 |
"release/best_validation_metrics.json",
|
| 455 |
+
"latest_checkpoint/checkpoint_manifest.json",
|
| 456 |
}
|
| 457 |
+
required_manifested.update(REQUIRED_LATEST_CHECKPOINT)
|
| 458 |
if not required_manifested.issubset(files):
|
| 459 |
raise RuntimeError("Release manifest omits one or more critical release artifacts")
|
| 460 |
return {"manifested_files": len(files), "best_checkpoint_step": manifest.get("best_checkpoint_step")}
|
|
|
|
| 496 |
# publisher explicitly ignores them. Do not inspect their payloads
|
| 497 |
# as if they were part of the clean release tree.
|
| 498 |
continue
|
| 499 |
+
relative_name = relative.as_posix()
|
| 500 |
+
if path.is_file() and path.name in forbidden_names and relative_name not in REQUIRED_LATEST_CHECKPOINT:
|
| 501 |
raise RuntimeError(f"Training/base payload must not be published: {relative}")
|
| 502 |
if path.is_file() and path.suffix == ".safetensors" and path.name != "adapter_model.safetensors":
|
| 503 |
raise RuntimeError(f"Unexpected safetensors payload: {relative}")
|
| 504 |
if require_remote_clean and (root / ".env").exists():
|
| 505 |
raise RuntimeError("A remote release checkout must never contain .env")
|
| 506 |
if require_remote_clean:
|
| 507 |
+
allowed = (
|
| 508 |
+
REQUIRED_SOURCE
|
| 509 |
+
| REQUIRED_RELEASE
|
| 510 |
+
| REQUIRED_LATEST_CHECKPOINT
|
| 511 |
+
| OPTIONAL_CLEAN_FILES
|
| 512 |
+
)
|
| 513 |
unexpected = []
|
| 514 |
for path in root.rglob("*"):
|
| 515 |
if not path.is_file():
|
|
|
|
| 530 |
root = root.resolve()
|
| 531 |
require_files(root, REQUIRED_SOURCE)
|
| 532 |
require_files(root, REQUIRED_RELEASE)
|
| 533 |
+
require_files(root, REQUIRED_LATEST_CHECKPOINT)
|
| 534 |
reject_accidental_payloads(root, require_remote_clean=require_remote_clean)
|
| 535 |
inference = verify_inference_config(root)
|
| 536 |
result = {
|
|
|
|
| 542 |
"base_model": verify_base_evidence(root),
|
| 543 |
"lora": verify_lora_evidence(root),
|
| 544 |
"adapter": verify_adapter(root),
|
| 545 |
+
"latest_checkpoint": verify_latest_checkpoint(root),
|
| 546 |
"inference": inference,
|
| 547 |
"final_run": verify_final_run(root, inference),
|
| 548 |
"manifest": verify_manifest(root),
|
| 549 |
"remote_clean_mode": require_remote_clean,
|
| 550 |
+
"gated_base_access_evidence_verified": True,
|
| 551 |
}
|
| 552 |
return result
|
| 553 |
|