ajaxdavis commited on
Commit
2b28792
·
verified ·
1 Parent(s): 5e50bf2

Publish Donto-Qwen3.8-27B V15 adapter, model card, checkpoints, evaluations, sources, and evidence

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. CHECKSUMS.sha256 +70 -0
  3. CITATION.cff +13 -0
  4. LICENSE +202 -0
  5. NOTICE +15 -0
  6. README.md +427 -0
  7. adapter_config.json +42 -0
  8. adapter_model.safetensors +3 -0
  9. artifacts/CHECKSUMS.sha256 +12 -0
  10. artifacts/TRAINING-COMPLETE.json +7 -0
  11. artifacts/final-validation-metrics.json +7 -0
  12. artifacts/lora-target-audit.json +0 -0
  13. artifacts/run-contract.json +36 -0
  14. artifacts/training-manifest.json +324 -0
  15. chat_template.jinja +170 -0
  16. docs/FREEZE-RECEIPT-20260825.md +38 -0
  17. docs/LAUNCH-RECEIPT.md +25 -0
  18. docs/PILOT-LIVE-V11-REPAIR-REJECTION-20260823.md +55 -0
  19. docs/PILOT-LIVE-V12-CLEAN-REJECTION-20260823.md +42 -0
  20. docs/PILOT-LIVE-V13-FULL746-SEMANTIC-MISMATCH-AUDIT-20260824.md +82 -0
  21. docs/PILOT-LIVE-V14-DENSE-UNIT-REJECTION-20260825.md +30 -0
  22. docs/PILOT-LIVE-V15-EXHAUSTIVE-UNIT-CORPUS-AUDIT-20260825.md +51 -0
  23. docs/PILOT-LIVE-V15-EXHAUSTIVE-UNIT-POSTTRAIN-RUNBOOK.md +43 -0
  24. docs/QWEN-DONTO-80-PERCENT-GOLD-PLAN-20260822.md +638 -0
  25. docs/UPSTREAM-ADAPTER-README.md +207 -0
  26. evaluation/pilot-live-v15-exhaustive-unit-r16-v1-synthetic-gold100-graph-first-v1.json +0 -0
  27. evaluation/pilot-live-v15-exhaustive-unit-r16-v1-validation-canary1.json +173 -0
  28. evaluation/pilot-live-v15-exhaustive-unit-r16-v1-validation-first30.json +1414 -0
  29. evaluation/pilot-live-v15-exhaustive-unit-r16-v1-validation-full1085.json +0 -0
  30. examples/structured_client.py +65 -0
  31. examples/vllm_serve.sh +24 -0
  32. requirements.txt +11 -0
  33. runtime/vllm-conditional/REMAPPING-MANIFEST.json +30 -0
  34. runtime/vllm-conditional/adapter_config.json +55 -0
  35. runtime/vllm-conditional/adapter_model.safetensors +3 -0
  36. runtime/vllm-conditional/chat_template.jinja +170 -0
  37. schemas/tools.json +72 -0
  38. tokenizer.json +3 -0
  39. tokenizer_config.json +32 -0
  40. training/checkpoints/checkpoint-100/CHECKSUMS.sha256 +8 -0
  41. training/checkpoints/checkpoint-100/adapter_config.json +42 -0
  42. training/checkpoints/checkpoint-100/adapter_model.safetensors +3 -0
  43. training/checkpoints/checkpoint-100/scheduler.pt +3 -0
  44. training/checkpoints/checkpoint-100/trainer_state.json +734 -0
  45. training/checkpoints/checkpoint-200/CHECKSUMS.sha256 +8 -0
  46. training/checkpoints/checkpoint-200/adapter_config.json +42 -0
  47. training/checkpoints/checkpoint-200/adapter_model.safetensors +3 -0
  48. training/checkpoints/checkpoint-200/scheduler.pt +3 -0
  49. training/checkpoints/checkpoint-200/trainer_state.json +1434 -0
  50. training/checkpoints/checkpoint-300/CHECKSUMS.sha256 +8 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
CHECKSUMS.sha256 ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 684888c0ebb17f374298b65ee2807526c066094c701bcc7ebbe1c1095f494fc1 ./.cache/huggingface/.gitignore
2
+ f6572428f6d5e1575e73a1502895a8731f10757dfbb634909c6e154b849af91d ./.cache/huggingface/CACHEDIR.TAG
3
+ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 ./.cache/huggingface/download/LICENSE.lock
4
+ f10121ed978e33b6a028ec65fa64dc4527284e04f699f7f77a0467f529c3ec7d ./.cache/huggingface/download/LICENSE.metadata
5
+ 2c665b32eba1dee799828601543195336a603c797febb25820aab5752a231e18 ./CITATION.cff
6
+ bbedc3fda3305820b977265f01b8619d87570a6739de3a5582c3464840f1e57a ./LICENSE
7
+ e869b03b051e13fdbebeff829c6a6f7a8e4362356c71bf43a2e9eaef9743bb99 ./NOTICE
8
+ 0e5575f8f1e6309d259ad6fca1c24b37bbe19d7209595443b9b5f291510b8d13 ./README.md
9
+ a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875 ./adapter_config.json
10
+ 40d11bcad20061f8291741c4dd8a3701405902f336c27b60592d62d6b2f7a974 ./adapter_model.safetensors
11
+ 62560e8ae9721b4b4562f14d2dac25599cf2a1ea4fb501d7f1b6e925eb6ca711 ./artifacts/TRAINING-COMPLETE.json
12
+ 6ed1f5f3e4860e7c38d7eb84d30cf257d3c970bcd754b03a41d3aeb080cdaf4c ./artifacts/final-validation-metrics.json
13
+ a4ca57bb984b9d54a5a1ebb3da4344e58095bc78d4a841df4854f78b2d4521f8 ./artifacts/lora-target-audit.json
14
+ daa769c6a66465db682d7ce9a977d4541fbc54ac10737e1b5b32ee72c38e5e3d ./artifacts/run-contract.json
15
+ 361cd89313733d55f09f3650c45314b47c4f0d267f00dabc0243a26ec7c27945 ./artifacts/training-manifest.json
16
+ c3cf9e34abf4f9e36c2d72165aa9c132d3e2a725b6c2586aaa3a8af9d7a81041 ./chat_template.jinja
17
+ 0a8dbe65cf3f49b8f52a6b8bbd676b69ead955543bdbf2ece2a566e77b0a9ff3 ./docs/FREEZE-RECEIPT-20260825.md
18
+ 9c7835a5d54da635bd080fa46ce160b7a06290ec84291f0f23fa6edd912ddf51 ./docs/LAUNCH-RECEIPT.md
19
+ 7284a6ad2978bf12381b6494202ad6ec489f7a5d8a69108492f238c8956974be ./docs/PILOT-LIVE-V11-REPAIR-REJECTION-20260823.md
20
+ fdb7f90d5cf3bbff282e306beb8434ac44bcb5d614684d2f720602c3ad4b64ae ./docs/PILOT-LIVE-V12-CLEAN-REJECTION-20260823.md
21
+ 2c4d0cef6635dbe267932fbafde5c27f84c98936800660d44de407f63d8cda29 ./docs/PILOT-LIVE-V13-FULL746-SEMANTIC-MISMATCH-AUDIT-20260824.md
22
+ 1d6ebc4a51aee9649d70f42f742adcdfa25120f911119e9d574272fdc808daae ./docs/PILOT-LIVE-V14-DENSE-UNIT-REJECTION-20260825.md
23
+ 28c8d29bbc76452b26344cf60d36cc0d031c6505d61967b9b90f3d37ec252936 ./docs/PILOT-LIVE-V15-EXHAUSTIVE-UNIT-CORPUS-AUDIT-20260825.md
24
+ 09f714c4fa50389c8ea288f022b1dcc6b41a79ddf6635608845bf0c7af789545 ./docs/PILOT-LIVE-V15-EXHAUSTIVE-UNIT-POSTTRAIN-RUNBOOK.md
25
+ c840ed5dc16397892d8ed500edec93b50ca53f085a1a87f1ab76075a46d3bab2 ./docs/QWEN-DONTO-80-PERCENT-GOLD-PLAN-20260822.md
26
+ df9859f741f75a96a958b358a1c08817e5fa6ff4a8fe8eed85a01add501ae7f1 ./docs/UPSTREAM-ADAPTER-README.md
27
+ a21e32e6db21f217af4ad7fc66cbcb3836f0607567bdaab9fcc5c11859e2fd55 ./evaluation/pilot-live-v15-exhaustive-unit-r16-v1-synthetic-gold100-graph-first-v1.json
28
+ a459ed4cad93c641adc89c65a86bb2b1a854628425889ab5d953ad655417822a ./evaluation/pilot-live-v15-exhaustive-unit-r16-v1-validation-canary1.json
29
+ d9fdbd84546d6f8542f3c1c18643c747316f0238c3f4d0fc7643cf657824d682 ./evaluation/pilot-live-v15-exhaustive-unit-r16-v1-validation-first30.json
30
+ 4459693147cf25149ed6241fd935ea0f45406a86dc55110aad51886d228c5408 ./evaluation/pilot-live-v15-exhaustive-unit-r16-v1-validation-full1085.json
31
+ e517d72ceb6443863aaa0a0759b1a021b35dffe25efb41b2fd333b241181b4df ./examples/structured_client.py
32
+ 50c827e62870a6f496a72fb9d8b153775b37c304e2fcd8421b7b49ecb1f0e08c ./examples/vllm_serve.sh
33
+ 358bb8cb878a339f569b1dce8835fe3cf3c8fd1595d9128a35b3c371835c93da ./requirements.txt
34
+ a873c6e1c16de73d9fc5b964893ff2812307005b87fdc71066cb70fe06d730ed ./runtime/vllm-conditional/REMAPPING-MANIFEST.json
35
+ 1f8abcefc88d6db74239c889fd2246c94b45da3b58c9d68ba8360692b39f06a2 ./runtime/vllm-conditional/adapter_config.json
36
+ 28df663ffa70bf541cafff2c9bb60df11e4fe000a2ea9124b346a9cc3eb20d8b ./runtime/vllm-conditional/adapter_model.safetensors
37
+ c3cf9e34abf4f9e36c2d72165aa9c132d3e2a725b6c2586aaa3a8af9d7a81041 ./runtime/vllm-conditional/chat_template.jinja
38
+ e02cf3c20831eed00a05598f42f324f9112f7c283b9cd0cef43af96e294c93ab ./schemas/tools.json
39
+ 06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523 ./tokenizer.json
40
+ 66e427c470fe580fe8c7b5725d857af23d8417e37fae62667ec698306a19987b ./tokenizer_config.json
41
+ a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875 ./training/checkpoints/checkpoint-100/adapter_config.json
42
+ ac0fc8a29bdf8bd0de70dd275333cd6cd82e328a161ea86ac44e5e956bb85e67 ./training/checkpoints/checkpoint-100/adapter_model.safetensors
43
+ 61f4fb0f34daf13abf304a22501429019f5b65ec145513f2a2ded5685f8e4142 ./training/checkpoints/checkpoint-100/scheduler.pt
44
+ 3257b63824c8c43da377913156b18400525c69caea5bca71c671d6eb49b5a75c ./training/checkpoints/checkpoint-100/trainer_state.json
45
+ a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875 ./training/checkpoints/checkpoint-200/adapter_config.json
46
+ 8a2dd645a8a3acb7b698820dd0538c355a193825a29513eed313622dcedb16b1 ./training/checkpoints/checkpoint-200/adapter_model.safetensors
47
+ 532c3998af11254097768cba2a02356701312926356a1ae080ad6f6e41462901 ./training/checkpoints/checkpoint-200/scheduler.pt
48
+ 0f0e0df58888e81b7d798a7e444b81fe3df1e548ee1200c602a94e5a6eb29651 ./training/checkpoints/checkpoint-200/trainer_state.json
49
+ a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875 ./training/checkpoints/checkpoint-300/adapter_config.json
50
+ 2a65244dee566d1ab4ab27232900310e26d237bf56fabed898b94dde78082d55 ./training/checkpoints/checkpoint-300/adapter_model.safetensors
51
+ 841de5b0dcb7b1f112e703b0f661382afd353bc1755625a5460203340f9c49c8 ./training/checkpoints/checkpoint-300/scheduler.pt
52
+ 0e1ab6c3974bd751288735034a6a0e376652f6dfec572cff12d2383ca595770f ./training/checkpoints/checkpoint-300/trainer_state.json
53
+ a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875 ./training/checkpoints/checkpoint-400/adapter_config.json
54
+ 937f14fcb44105142f2af3c75e8f9b9c3614d3978dc1f228997662dd40777e0b ./training/checkpoints/checkpoint-400/adapter_model.safetensors
55
+ c42c4df6e3a8d1e7914e0dfeeb99d3defa7a882254b6ae7ab009633a6f88bb3c ./training/checkpoints/checkpoint-400/scheduler.pt
56
+ 3a006e15b2854db0f82937577fd1746b553c11c15d1f03128ad60c977563e72e ./training/checkpoints/checkpoint-400/trainer_state.json
57
+ a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875 ./training/checkpoints/checkpoint-500/adapter_config.json
58
+ ccb510ff3b190867557acdd232bf3f729ba9ea6ee59cd42abdecd937c13f0114 ./training/checkpoints/checkpoint-500/adapter_model.safetensors
59
+ 9ff1e247e14de7dd875634e2a89a8a71736f63a4820c8ea62f41d0929f00aab4 ./training/checkpoints/checkpoint-500/scheduler.pt
60
+ c6f7d21f711bb03ecbbf826b81c5cba1295a7f90899e11a7d3f8dc54c390e778 ./training/checkpoints/checkpoint-500/trainer_state.json
61
+ 55549bf2ae4398ef1a1ceaacf54cbd0ee2b7527bb416f21868af71b7b130b732 ./training/logs/pilot-live-v15-exhaustive-unit-r16-lr2e5-seed38-v1.log
62
+ 7f7985f694a816fc7af105de21801438deb6fedbcfca992feb36e4bbacb64bb9 ./training/logs/pilot-live-v15-exhaustive-unit-r16-v1-bnb-canary.log
63
+ 4d479698a708a91ec31a9ac62f194d242b52526704f4874d663960edab10b2bc ./training/source/audit_rendered_rows.py
64
+ 84611c3c6b915099b216245bbe5f6bca9ac0a4de68a2fba257ad43e9ffa527d0 ./training/source/donto-qwen38-eval-corpus.rs
65
+ 8a6b2bd79db30000784f46f72377286da85a2cc8e7151f7dc61e4b0f5a3fc8af ./training/source/donto-qwen38-synthetic-corpus.rs
66
+ f7fd5e06f763f89b8ffd51e615e76d0bfd76154b59f0541f38b4833a92b3e903 ./training/source/donto-qwen38-training-corpus.rs
67
+ 2ef9f31ca98ece56ce3732362a1c2917b9375e0e18c260b358ccfcacbfd14572 ./training/source/remap_qwen38_adapter_for_vllm_conditional.py
68
+ 236bac7e50741e934fc42e4f6aa512f32b0b14985e908bb60520573c9a81cfee ./training/source/runpod_train_candidate.sh
69
+ a487c4aea264ee1490ce2eb5fcb7bbce5c3b91351639ddbfdfe55da93487e937 ./training/source/start_runpod_quality_canary.sh
70
+ 994d3f888fe3d18f115ac050d59aa68a524ef160dc7f2073a83d4a8568b82d79 ./training/source/train_qwen38_donto_3090.py
CITATION.cff ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ cff-version: 1.2.0
2
+ message: "If you use this adapter, please cite it as below."
3
+ title: "Donto-Qwen3.8-27B Predicate Extractor V15"
4
+ type: software
5
+ authors:
6
+ - family-names: Davis
7
+ given-names: Thomas
8
+ repository-code: "https://huggingface.co/ajaxdavis/donto-qwen3.8-27b-predicate-extractor"
9
+ url: "https://huggingface.co/ajaxdavis/donto-qwen3.8-27b-predicate-extractor"
10
+ license: Apache-2.0
11
+ version: "15"
12
+ date-released: "2026-08-25"
13
+
LICENSE ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright 2026 Alibaba Cloud
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
NOTICE ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Donto-Qwen3.8-27B Predicate Extractor V15
2
+
3
+ Copyright 2026 Thomas Davis
4
+
5
+ This distribution contains a LoRA adapter derived from Qwen/Qwen3.8-27B at
6
+ revision 1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0. Qwen3.8-27B is distributed
7
+ under the Apache License 2.0. The upstream base weights are not included here.
8
+
9
+ The runtime, training, and evaluation stack uses open-source projects including
10
+ Transformers, PEFT, PyTorch, bitsandbytes, Liger Kernel, and vLLM. Their respective
11
+ licences remain applicable.
12
+
13
+ The linked dataset has separate mixed-provenance licensing terms. Model and code
14
+ licensing does not automatically relicense source excerpts in that dataset.
15
+
README.md ADDED
@@ -0,0 +1,427 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ base_model: Qwen/Qwen3.8-27B
4
+ base_model_relation: adapter
5
+ library_name: peft
6
+ pipeline_tag: text-generation
7
+ language:
8
+ - en
9
+ datasets:
10
+ - ajaxdavis/donto-qwen3.8-27b-predicate-extraction-data
11
+ tags:
12
+ - qwen3.8
13
+ - qwen3_5
14
+ - peft
15
+ - lora
16
+ - qlora
17
+ - information-extraction
18
+ - relation-extraction
19
+ - knowledge-graph
20
+ - structured-output
21
+ - tool-calling
22
+ - donto
23
+ model-index:
24
+ - name: Donto-Qwen3.8-27B Predicate Extractor V15
25
+ results:
26
+ - task:
27
+ type: text-generation
28
+ name: Structured predicate extraction
29
+ dataset:
30
+ type: ajaxdavis/donto-qwen3.8-27b-predicate-extraction-data
31
+ name: Graph-First Gold 100
32
+ split: test
33
+ metrics:
34
+ - type: exact_recall
35
+ name: Exact fact recall
36
+ value: 0.8920944173847883
37
+ - type: exact_precision
38
+ name: Exact fact precision
39
+ value: 0.8944402704733283
40
+ - type: tool_call_success_rate
41
+ name: Structured tool-call success
42
+ value: 1.0
43
+ ---
44
+
45
+ # Donto-Qwen3.8-27B Predicate Extractor
46
+
47
+ > **An experimental, anchor-free, abundance-oriented predicate-extraction LoRA for short English document chunks.**
48
+
49
+ This repository contains the selected **V15** adapter for
50
+ [`Qwen/Qwen3.8-27B`](https://huggingface.co/Qwen/Qwen3.8-27B), pinned to base
51
+ revision `1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0`. It turns a general Qwen3.8
52
+ language backbone into a specialist that emits validated Donto fact objects
53
+ instead of conversational prose.
54
+
55
+ The headline result is **89.21% exact recall and 89.44% exact precision** over a
56
+ frozen, source- and template-disjoint, 100-document graph-first synthetic gold
57
+ suite containing 5,338 target facts. All 2,718 forced structured calls succeeded.
58
+
59
+ This is a research release, not a claim that open-world extraction is solved.
60
+ Read [What the score does and does not mean](#what-the-score-does-and-does-not-mean)
61
+ and [Limitations](#limitations) before deploying it.
62
+
63
+ ## The ambition
64
+
65
+ Knowledge systems were designed for a world in which producing structured claims
66
+ was scarce. Generative models invert that constraint: candidate properties and
67
+ relations can be produced in abundance. The new problem is not merely generating
68
+ one summary or one canonical graph. It is holding a large, multi-directional,
69
+ possibly contradictory field of claims without erasing disagreement.
70
+
71
+ Donto is built for that second problem. It is a contradiction-preserving claim
72
+ substrate: emit free predicates now; preserve separate claims; defer ontology
73
+ alignment, entity resolution, joining, standing, and reconciliation to later
74
+ query-time processes. **Donto-Qwen is the extraction front door.** Its job is to
75
+ read a bounded source unit carefully and produce many compact candidate claims
76
+ that the larger Donto system can hold, compare, cite, align, and re-rank.
77
+
78
+ The purpose of this adapter is deliberately narrower than general chat:
79
+
80
+ 1. recover atomic subject–predicate–object relations;
81
+ 2. preserve attribution, negation, modality, qualification, and disagreement;
82
+ 3. represent direct claims separately from derived or hypothetical views;
83
+ 4. use free, concise predicates instead of forcing every source into a fixed
84
+ ontology;
85
+ 5. stop cleanly when a bounded extraction task is exhausted;
86
+ 6. return only a validated tool call—never prose around hand-parsed JSON.
87
+
88
+ ## What this model is
89
+
90
+ | Property | Value |
91
+ |---|---|
92
+ | Release | V15 / `pilot-live-v15-exhaustive-unit-r16-v1` |
93
+ | Base | Qwen3.8-27B, exact revision `1d4bf0f...` |
94
+ | Artifact | PEFT LoRA adapter; base weights are not duplicated here |
95
+ | Primary modality | Text; the Qwen vision tower was neither trained nor evaluated |
96
+ | Intended context | Short document chunks; trained and served at 4,096 tokens |
97
+ | Output | Forced `submit_facts` tool call |
98
+ | Fact fields | `s`, `p`, `o`, `c`, `h` |
99
+ | Anchors | Disabled in this release |
100
+ | Thinking | Disabled for training and evaluated serving |
101
+ | Training hardware | One NVIDIA RTX 3090, 24 GB |
102
+ | Training method | 4-bit NF4 QLoRA, BF16 compute, rank 16 |
103
+ | Status | Experimental predicate extractor; not a general assistant |
104
+
105
+ This adapter changes the base model's **behaviour**, not its underlying factual
106
+ knowledge. It does not intrinsically make Qwen3.8 decode faster. Its efficiency
107
+ advantages come from short inputs, compact structured outputs, shared prompt
108
+ prefixes, fewer retries, and greater document concurrency.
109
+
110
+ ## Output contract
111
+
112
+ Every call must produce the `submit_facts` tool with this shape:
113
+
114
+ ```json
115
+ {
116
+ "facts": [
117
+ {
118
+ "s": "ex:review-panel",
119
+ "p": "postponed",
120
+ "o": "ex:deployment",
121
+ "c": 0.99,
122
+ "h": false
123
+ },
124
+ {
125
+ "s": "ex:postponement-wasted-money",
126
+ "p": "contrastsWith",
127
+ "o": "ex:postponement-protected-staff",
128
+ "c": 0.92,
129
+ "h": true
130
+ }
131
+ ],
132
+ "more_supported_facts": false
133
+ }
134
+ ```
135
+
136
+ - `s`: subject IRI, normally a stable `ex:kebab-case` identifier.
137
+ - `p`: concise camelCase free predicate, with standard RDF predicates allowed.
138
+ - `o`: entity IRI or string, numeric, or Boolean literal.
139
+ - `c`: model confidence in `[0, 1]`; this is **not calibrated probability**.
140
+ - `h`: `false` for direct/source-licensed claims; `true` for a derived,
141
+ interpretive, hypothetical, or otherwise non-direct view.
142
+ - `more_supported_facts`: continuation signal for the current bounded task.
143
+
144
+ The exact OpenAI-compatible tool declaration is in [`schemas/tools.json`](schemas/tools.json).
145
+
146
+ ## Extraction architecture used for the reported scores
147
+
148
+ The benchmark did not ask one vague prompt to "extract everything." Each document
149
+ was traversed through explicit bounded tasks:
150
+
151
+ | Stage | Purpose |
152
+ |---|---|
153
+ | Metadata | Document, creator, date, and topic relations |
154
+ | D0 | Atomic propositions directly expressed in a source unit |
155
+ | Local residual | Recover a deliberately omitted supported fact, then prove exhaustion |
156
+ | D1 unit | Licensed semantic views and local relational expansion |
157
+ | D2 | Discourse-level, contrastive, causal, or interpretive relations (`h:true`) |
158
+ | Structural batches | Relations over the dynamically discovered entity inventory |
159
+ | Global residual | Final bounded coverage audit |
160
+
161
+ This decomposition is important. A single generic extraction prompt is not
162
+ expected to reproduce the published multi-stage score.
163
+
164
+ ## Results
165
+
166
+ ### Headline evaluations
167
+
168
+ | Evaluation | Documents | Calls | Gold facts | Exact recall | Exact precision | Mean document recall | 95% bootstrap recall floor | Structured success |
169
+ |---|---:|---:|---:|---:|---:|---:|---:|---:|
170
+ | Source-disjoint V15 validation | 40 | 1,085 | 2,140 | **93.32%** | **93.89%** | 93.36% | 91.74% | 100% |
171
+ | Frozen graph-first Gold 100 | 100 | 2,718 | 5,338 | **89.21%** | **89.44%** | 89.50% | **87.82%** | 100% |
172
+
173
+ Gold 100 also produced:
174
+
175
+ - 4,762 exact matches from 5,338 targets;
176
+ - 5,324 valid predicted facts;
177
+ - zero failed calls;
178
+ - zero malformed fact objects;
179
+ - zero duplicate exact items;
180
+ - two reflexive entity errors.
181
+
182
+ ### Gold 100 by task
183
+
184
+ | Task | Calls | Targets | Exact recall | Exact precision |
185
+ |---|---:|---:|---:|---:|
186
+ | D0 direct extraction | 428 | 1,751 | **75.10%** | **75.14%** |
187
+ | D1 unit views | 766 | 645 | 95.35% | 97.77% |
188
+ | D2 discourse views | 212 | 446 | 93.72% | 94.78% |
189
+ | Metadata | 100 | 361 | 95.01% | 95.28% |
190
+ | Global residual | 200 | 300 | 96.33% | 96.01% |
191
+ | Local residual | 590 | 162 | 97.53% | 98.14% |
192
+ | Structural batches | 322 | 1,673 | 97.07% | 96.55% |
193
+
194
+ The overall release clears the project's predeclared 80% aggregate-gold target,
195
+ but the direct D0 slice does not. That distinction is intentional and public.
196
+ The weakest blind families were long wetlands argument/procurement documents;
197
+ the strongest were bounded incidents, metadata, residual stopping, and structural
198
+ relations.
199
+
200
+ Full row-level outputs—not summaries alone—are published under [`evaluation/`](evaluation/).
201
+
202
+ ## What the score does and does not mean
203
+
204
+ The metric uses one-to-one **exact keys** over `(s, p, o, h)`. A supported free
205
+ predicate synonym or stable entity alias receives no credit, which can make the
206
+ score conservative. Conversely, the gold documents are programmatically generated
207
+ from explicit graphs and templates. They measure controlled compositional transfer,
208
+ not the full ambiguity, OCR damage, genre diversity, or factual uncertainty of
209
+ unseen real-world documents.
210
+
211
+ The 100-document suite was generated after V15 training, then frozen and hashed
212
+ before the first V15 inference. It has:
213
+
214
+ - 100 unique document hashes;
215
+ - 73 parent templates;
216
+ - zero source-hash overlap with the 240 V15 training/validation documents;
217
+ - zero parent-template overlap with the 102 training/validation templates;
218
+ - 45–59 unique gold facts per document (mean 52.88).
219
+
220
+ The run used one seed. It is not a multi-seed reliability estimate and is not a
221
+ human-blind real-document benchmark. The prior real `llm_nerd` fixture was heavily
222
+ used for development diagnosis and is therefore not presented as blind evidence.
223
+
224
+ ## Training data
225
+
226
+ All distributable training, validation, validator, gold, manifest, and audit files
227
+ are published at
228
+ [`ajaxdavis/donto-qwen3.8-27b-predicate-extraction-data`](https://huggingface.co/datasets/ajaxdavis/donto-qwen3.8-27b-predicate-extraction-data).
229
+
230
+ Canonical V15 training mixture:
231
+
232
+ - 4,255 training rows;
233
+ - 9,013 target facts;
234
+ - 200 source families;
235
+ - 4,123 synthetic task rows from 152 generated documents;
236
+ - 132 reviewed-real rows from 48 source families;
237
+ - 1,085 validation rows with 2,140 facts from 40 source- and template-disjoint
238
+ synthetic documents;
239
+ - no training/validation source-family overlap;
240
+ - no training/validation parent-template overlap;
241
+ - every rendered row below the 4,096-token contract.
242
+
243
+ The dataset card separates synthetic and reviewed-real provenance and explains its
244
+ mixed licensing status.
245
+
246
+ ## Training recipe
247
+
248
+ | Parameter | Value |
249
+ |---|---|
250
+ | Base revision | `1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0` |
251
+ | Seed | 38 |
252
+ | Epochs / optimizer steps | 1 / 532 |
253
+ | LoRA rank / alpha / dropout | 16 / 32 / 0.05 |
254
+ | Trainable parameters | 116,727,808 |
255
+ | Learning rate | `2e-5`, cosine decay |
256
+ | Warmup | 5% / 27 steps |
257
+ | Microbatch / accumulation | 1 / 8 |
258
+ | Maximum length | 4,096 |
259
+ | Quantization | bitsandbytes NF4, double quantization |
260
+ | Compute | BF16; TF32 enabled |
261
+ | Optimizer | paged AdamW 8-bit |
262
+ | Kernel | Liger enabled |
263
+ | Gradient checkpointing | Enabled, non-reentrant |
264
+ | Train runtime | 20,860 seconds including epoch evaluation |
265
+ | Final explicit eval loss | `0.0010853700805455446` |
266
+
267
+ ### Hybrid-layer LoRA coverage
268
+
269
+ Qwen3.8-27B contains 48 Gated DeltaNet layers and 16 full-attention layers. A
270
+ generic `q_proj`/`v_proj` LoRA recipe would miss most recurrent projections.
271
+ This adapter explicitly targeted **496 language modules / 992 LoRA tensors** and
272
+ no vision module:
273
+
274
+ - 48 each: `linear_attn.in_proj_qkv`, `in_proj_z`, `in_proj_a`, `in_proj_b`,
275
+ `out_proj`;
276
+ - 16 each: `self_attn.q_proj`, `k_proj`, `v_proj`, `o_proj`;
277
+ - 64 each: `mlp.gate_proj`, `up_proj`, `down_proj`.
278
+
279
+ The complete name-level audit is [`artifacts/lora-target-audit.json`](artifacts/lora-target-audit.json).
280
+
281
+ ## Serving with vLLM on one RTX 3090
282
+
283
+ The physically tested path used vLLM 0.27.1, Transformers 5.15.0,
284
+ bitsandbytes 0.50.1, a 4,096-token limit, four concurrent sequences, and prefix
285
+ caching. vLLM required the tensor-preserving conditional-key remap under
286
+ [`runtime/vllm-conditional/`](runtime/vllm-conditional/); the root adapter remains
287
+ the canonical native PEFT artifact.
288
+
289
+ ```bash
290
+ hf download ajaxdavis/donto-qwen3.8-27b-predicate-extractor \
291
+ --local-dir ./donto-qwen
292
+
293
+ vllm serve Qwen/Qwen3.8-27B \
294
+ --served-model-name qwen3.8-27b \
295
+ --language-model-only \
296
+ --quantization bitsandbytes \
297
+ --load-format bitsandbytes \
298
+ --dtype bfloat16 \
299
+ --max-model-len 4096 \
300
+ --max-num-seqs 4 \
301
+ --max-num-batched-tokens 2048 \
302
+ --enable-prefix-caching \
303
+ --generation-config vllm \
304
+ --reasoning-parser qwen3 \
305
+ --enable-auto-tool-choice \
306
+ --tool-call-parser qwen3_coder \
307
+ --enable-lora \
308
+ --lora-modules donto-qwen=./donto-qwen/runtime/vllm-conditional \
309
+ --max-loras 1 \
310
+ --max-lora-rank 16
311
+ ```
312
+
313
+ The exact tested launcher includes additional GPU-specific cache and attention
314
+ flags and is preserved at [`training/source/start_runpod_quality_canary.sh`](training/source/start_runpod_quality_canary.sh).
315
+
316
+ Then call the forced tool and validate its arguments with a real schema. A complete
317
+ Pydantic/OpenAI-compatible example is in [`examples/structured_client.py`](examples/structured_client.py).
318
+
319
+ ## Native PEFT use
320
+
321
+ The root `adapter_model.safetensors` is the canonical PEFT adapter. Load it over
322
+ the exact pinned base revision with current Transformers and PEFT. The training
323
+ script in [`training/source/train_qwen38_donto_3090.py`](training/source/train_qwen38_donto_3090.py)
324
+ contains the memory-safe text-only 3090 loader and exact QLoRA configuration.
325
+
326
+ Do not attach the root native adapter directly to vLLM if its Qwen3.8 key resolver
327
+ expects the conditional language-model root; use the verified remap supplied in
328
+ `runtime/vllm-conditional`.
329
+
330
+ ## Efficiency profile
331
+
332
+ - Adapter weights are about 467 MB; the base model remains the dominant memory
333
+ and compute cost.
334
+ - The adapter does not improve raw decode tokens/second by itself.
335
+ - Short chunks reduce prefill and KV-cache costs.
336
+ - Prefix caching reuses the large common tool/prompt prefix across documents.
337
+ - The anchor-free five-field format reduces output tokens per useful fact.
338
+ - Four concurrent sequences fit in the physically tested 24 GB 3090 serving path.
339
+ - Gold 100 completed 2,718 structured calls in 8,511 seconds at concurrency four,
340
+ about 19.2 bounded decisions per minute. This is not a generic tokens/second
341
+ benchmark.
342
+
343
+ ## Limitations
344
+
345
+ 1. **Direct extraction is the weakest blind slice.** Gold-100 D0 exact recall and
346
+ precision are both about 75%.
347
+ 2. **Synthetic-domain bias.** The main quantitative evidence comes from generated
348
+ graph/template documents, not a large human-authored blind corpus.
349
+ 3. **One training seed.** The recipe has not been repeated across multiple seeds.
350
+ 4. **Two reflexive errors occurred** in Gold 100. Role direction and reflexivity
351
+ still require downstream validation.
352
+ 5. **No evidence anchors.** This release deliberately omits source spans. A separate
353
+ citer or human review is required when provenance is important.
354
+ 6. **Free predicates are not ontology alignment.** Predicate and entity aliases may
355
+ vary; alignment belongs downstream.
356
+ 7. **Confidence is uncalibrated.** Do not interpret `c` as a probability of truth.
357
+ 8. **`h:true` is not established fact.** It marks derived or interpretive output.
358
+ 9. **Not a contradiction resolver.** It may emit incompatible claims by design;
359
+ Donto preserves and later ranks them.
360
+ 10. **Not for unattended high-stakes use.** Legal, medical, financial, historical,
361
+ or personal claims require source review.
362
+ 11. **Not a general assistant.** Fine-tuning trades conversational versatility for
363
+ structured extraction behaviour.
364
+ 12. **Multimodal behaviour is unevaluated.** No vision module was adapted.
365
+
366
+ ## Development history and negative results
367
+
368
+ This release is the fifteenth curriculum iteration, trained fresh from the pinned
369
+ stock base. Rejected adapters were never reused as weight bases. The repository
370
+ preserves rejection reports for V11–V14 because the failures are informative:
371
+
372
+ - V11 learned structured calls but missed its precision gate and had semantic
373
+ contamination in one generator family.
374
+ - V12 completed finitely but was too terse and failed real-document coverage.
375
+ - V13 reached strong source-disjoint exact metrics but retained role/scope errors.
376
+ - V14 nearly memorized its supervised contract (about 99% exact) yet transferred
377
+ poorly to the real development document because its curriculum rewarded short,
378
+ clean pages.
379
+ - V15 started fresh and taught dense D0 pages, nonempty recovery passes, explicit
380
+ exhaustion, larger local D1 views, and broader graph families.
381
+
382
+ See [`docs/`](docs/) for the plan, audits, launch receipt, runbook, and complete
383
+ negative-result reports.
384
+
385
+ ## Reproducibility and integrity
386
+
387
+ - Native final adapter SHA-256:
388
+ `40d11bcad20061f8291741c4dd8a3701405902f336c27b60592d62d6b2f7a974`
389
+ - vLLM remapped adapter SHA-256:
390
+ `28df663ffa70bf541cafff2c9bb60df11e4fe000a2ea9124b346a9cc3eb20d8b`
391
+ - Training corpus SHA-256:
392
+ `1b3630d00d11476c7f1e941a60a442a5eb5eb57dd882b7d188ef9b85d461e738`
393
+ - V15 validation SHA-256:
394
+ `c360e8296e5ec7973f2fab8416d0b30e2aa850fe6b2cc618bb3fa52894d818b2`
395
+ - Gold-100 dataset SHA-256:
396
+ `6f16c87d06c2a0b850321b8750e54a63364937cfa2823f34f698f6c00f160f1c`
397
+ - Gold-100 evaluation SHA-256:
398
+ `a21e32e6db21f217af4ad7fc66cbcb3836f0607567bdaab9fcc5c11859e2fd55`
399
+
400
+ The repository includes intermediate adapter checkpoints 100–500, trainer states,
401
+ the exact trainer/evaluator/generator sources, training and serving logs, run
402
+ contracts, target-module audit, and full row-level evaluation outputs. Unsafe and
403
+ unnecessary optimizer/RNG pickle states are not part of the public release.
404
+
405
+ ## Licence and acknowledgements
406
+
407
+ The adapter and code are released under Apache-2.0, consistent with the pinned
408
+ Qwen3.8-27B base. Dataset licensing is documented separately because the corpus
409
+ contains both generated material and a small reviewed-real research tier.
410
+
411
+ Built on Qwen3.8-27B, PEFT, Transformers, bitsandbytes, Liger Kernel, and vLLM.
412
+ The practical RTX 3090 serving work was informed by
413
+ [`syv-ai/qwen38-27b-rtx3090`](https://github.com/syv-ai/qwen38-27b-rtx3090).
414
+
415
+ ## Citation
416
+
417
+ ```bibtex
418
+ @misc{donto_qwen38_v15_2026,
419
+ author = {Davis, Thomas},
420
+ title = {Donto-Qwen3.8-27B Predicate Extractor V15},
421
+ year = {2026},
422
+ publisher = {Hugging Face},
423
+ howpublished = {\url{https://huggingface.co/ajaxdavis/donto-qwen3.8-27b-predicate-extractor}},
424
+ note = {Experimental LoRA adapter for structured Donto predicate extraction}
425
+ }
426
+ ```
427
+
adapter_config.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "Qwen/Qwen3.8-27B",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 32,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.05,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "monteclora_config": null,
27
+ "peft_type": "LORA",
28
+ "peft_version": "0.20.0",
29
+ "qalora_group_size": 16,
30
+ "r": 16,
31
+ "rank_pattern": {},
32
+ "revision": "1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0",
33
+ "target_modules": ".*(?:language_model\\.)?layers\\.\\d+\\.(?:self_attn\\.(?:q_proj|k_proj|v_proj|o_proj)|linear_attn\\.(?:in_proj_qkv|in_proj_z|in_proj_a|in_proj_b|out_proj)|mlp\\.(?:gate_proj|up_proj|down_proj))$",
34
+ "target_parameters": null,
35
+ "task_type": "CAUSAL_LM",
36
+ "trainable_token_indices": null,
37
+ "use_bdlora": null,
38
+ "use_dora": false,
39
+ "use_qalora": false,
40
+ "use_rslora": false,
41
+ "velora_config": null
42
+ }
adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:40d11bcad20061f8291741c4dd8a3701405902f336c27b60592d62d6b2f7a974
3
+ size 467047680
artifacts/CHECKSUMS.sha256 ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 62560e8ae9721b4b4562f14d2dac25599cf2a1ea4fb501d7f1b6e925eb6ca711 TRAINING-COMPLETE.json
2
+ 6ed1f5f3e4860e7c38d7eb84d30cf257d3c970bcd754b03a41d3aeb080cdaf4c final-validation-metrics.json
3
+ df9859f741f75a96a958b358a1c08817e5fa6ff4a8fe8eed85a01add501ae7f1 final/README.md
4
+ a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875 final/adapter_config.json
5
+ 40d11bcad20061f8291741c4dd8a3701405902f336c27b60592d62d6b2f7a974 final/adapter_model.safetensors
6
+ c3cf9e34abf4f9e36c2d72165aa9c132d3e2a725b6c2586aaa3a8af9d7a81041 final/chat_template.jinja
7
+ 06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523 final/tokenizer.json
8
+ 66e427c470fe580fe8c7b5725d857af23d8417e37fae62667ec698306a19987b final/tokenizer_config.json
9
+ 175111135c9d40b63054d1ef321345f80de8c4d21717241624ae93bced357d6c final/training_args.bin
10
+ a4ca57bb984b9d54a5a1ebb3da4344e58095bc78d4a841df4854f78b2d4521f8 lora-target-audit.json
11
+ daa769c6a66465db682d7ce9a977d4541fbc54ac10737e1b5b32ee72c38e5e3d run-contract.json
12
+ 361cd89313733d55f09f3650c45314b47c4f0d267f00dabc0243a26ec7c27945 training-manifest.json
artifacts/TRAINING-COMPLETE.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "blind_holdout_opened": false,
3
+ "final_adapter_config_sha256": "a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875",
4
+ "final_adapter_sha256": "40d11bcad20061f8291741c4dd8a3701405902f336c27b60592d62d6b2f7a974",
5
+ "metrics_sha256": "6ed1f5f3e4860e7c38d7eb84d30cf257d3c970bcd754b03a41d3aeb080cdaf4c",
6
+ "status": "training_complete_not_yet_accepted"
7
+ }
artifacts/final-validation-metrics.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 1.0,
3
+ "eval_loss": 0.0010853700805455446,
4
+ "eval_runtime": 1556.9529,
5
+ "eval_samples_per_second": 0.697,
6
+ "eval_steps_per_second": 0.697
7
+ }
artifacts/lora-target-audit.json ADDED
The diff for this file is too large to render. See raw diff
 
artifacts/run-contract.json ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "base_model": "/workspace/models/Qwen3.8-27B-BF16",
3
+ "base_revision_requested": "1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0",
4
+ "contract": "donto-qwen38-bounded-task-no-thinking-completion-only-v7",
5
+ "dataset_audit_sha256": "7cd156217b16636a2c918ddd737dd33b0ee2a712e773dab0984a0dcd91d52c7d",
6
+ "dataset_manifest_sha256": "26e3376dc6b99f8b1392a868dd0365a65ae0f1e4e20721cf994ad2f46d1a3231",
7
+ "epochs": 1.0,
8
+ "first_train_prompt_token_ids_sha256": "5ea6c0d6c390fa133f0df6940952e4d7c581839d337769d4df84ac5b301d2a66",
9
+ "first_train_prompt_tokens": 1134,
10
+ "first_validation_prompt_token_ids_sha256": "55db291b7138c75b1cb0300e15536b8da8ccc2d8b668630c628fa5ae115460d9",
11
+ "first_validation_prompt_tokens": 1133,
12
+ "gradient_accumulation": 8,
13
+ "learning_rate": 2e-05,
14
+ "liger_kernel": true,
15
+ "lora_rank": 16,
16
+ "lora_use_rslora": false,
17
+ "max_len": 4096,
18
+ "max_steps": -1,
19
+ "run_id": "pilot-live-v15-exhaustive-unit-r16-lr2e5-seed38-v1",
20
+ "save_steps": 100,
21
+ "seed": 38,
22
+ "smoke_longest": false,
23
+ "tool_name": "submit_facts",
24
+ "tools_sha256": "e02cf3c20831eed00a05598f42f324f9112f7c283b9cd0cef43af96e294c93ab",
25
+ "tools_transport_sha256": "8945d9bfd5e68ea50537c4cae5476fcfa9efd4e99ab80c9b71bc4bfcbd5826b1",
26
+ "train_files": [
27
+ {
28
+ "name": "train.jsonl",
29
+ "sha256": "1b3630d00d11476c7f1e941a60a442a5eb5eb57dd882b7d188ef9b85d461e738"
30
+ }
31
+ ],
32
+ "train_sha256": "1b3630d00d11476c7f1e941a60a442a5eb5eb57dd882b7d188ef9b85d461e738",
33
+ "trainer_source_sha256": "994d3f888fe3d18f115ac050d59aa68a524ef160dc7f2073a83d4a8568b82d79",
34
+ "validation_sha256": "c360e8296e5ec7973f2fab8416d0b30e2aa850fe6b2cc618bb3fa52894d818b2",
35
+ "warmup_ratio": 0.05
36
+ }
artifacts/training-manifest.json ADDED
@@ -0,0 +1,324 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "base_model": "/workspace/models/Qwen3.8-27B-BF16",
3
+ "base_revision_requested": "1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0",
4
+ "base_revision_resolved": "1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0",
5
+ "blind_holdout_opened": false,
6
+ "contract": "donto-qwen38-bounded-task-no-thinking-completion-only-v7",
7
+ "dataset_audit_sha256": "7cd156217b16636a2c918ddd737dd33b0ee2a712e773dab0984a0dcd91d52c7d",
8
+ "dataset_manifest_sha256": "26e3376dc6b99f8b1392a868dd0365a65ae0f1e4e20721cf994ad2f46d1a3231",
9
+ "epochs": 1.0,
10
+ "first_train_prompt_token_ids_sha256": "5ea6c0d6c390fa133f0df6940952e4d7c581839d337769d4df84ac5b301d2a66",
11
+ "first_train_prompt_tokens": 1134,
12
+ "first_validation_prompt_token_ids_sha256": "55db291b7138c75b1cb0300e15536b8da8ccc2d8b668630c628fa5ae115460d9",
13
+ "first_validation_prompt_tokens": 1133,
14
+ "gradient_accumulation": 8,
15
+ "host": {
16
+ "bf16_supported": true,
17
+ "cuda_version": "12.8",
18
+ "gpu_name": "NVIDIA GeForce RTX 3090",
19
+ "gpu_total_gib": 23.558,
20
+ "output_free_gib_before_training": 308835.961,
21
+ "qwen3_5_recurrent_kernels_available": true
22
+ },
23
+ "learning_rate": 2e-05,
24
+ "liger_kernel": true,
25
+ "lora_rank": 16,
26
+ "lora_target_audit": {
27
+ "artifact": "lora-target-audit.json",
28
+ "targeted_module_count": 496,
29
+ "targeted_parameter_count": 992
30
+ },
31
+ "lora_use_rslora": false,
32
+ "max_len": 4096,
33
+ "max_steps": -1,
34
+ "memory_safe_3090_prepare": {
35
+ "frozen_embedding_dtype": "torch.bfloat16",
36
+ "upcast_norm_parameter_count": 209,
37
+ "upcast_norm_parameter_names": [
38
+ "model.layers.0.linear_attn.norm.weight",
39
+ "model.layers.0.input_layernorm.weight",
40
+ "model.layers.0.post_attention_layernorm.weight",
41
+ "model.layers.1.linear_attn.norm.weight",
42
+ "model.layers.1.input_layernorm.weight",
43
+ "model.layers.1.post_attention_layernorm.weight",
44
+ "model.layers.2.linear_attn.norm.weight",
45
+ "model.layers.2.input_layernorm.weight",
46
+ "model.layers.2.post_attention_layernorm.weight",
47
+ "model.layers.3.self_attn.q_norm.weight",
48
+ "model.layers.3.self_attn.k_norm.weight",
49
+ "model.layers.3.input_layernorm.weight",
50
+ "model.layers.3.post_attention_layernorm.weight",
51
+ "model.layers.4.linear_attn.norm.weight",
52
+ "model.layers.4.input_layernorm.weight",
53
+ "model.layers.4.post_attention_layernorm.weight",
54
+ "model.layers.5.linear_attn.norm.weight",
55
+ "model.layers.5.input_layernorm.weight",
56
+ "model.layers.5.post_attention_layernorm.weight",
57
+ "model.layers.6.linear_attn.norm.weight",
58
+ "model.layers.6.input_layernorm.weight",
59
+ "model.layers.6.post_attention_layernorm.weight",
60
+ "model.layers.7.self_attn.q_norm.weight",
61
+ "model.layers.7.self_attn.k_norm.weight",
62
+ "model.layers.7.input_layernorm.weight",
63
+ "model.layers.7.post_attention_layernorm.weight",
64
+ "model.layers.8.linear_attn.norm.weight",
65
+ "model.layers.8.input_layernorm.weight",
66
+ "model.layers.8.post_attention_layernorm.weight",
67
+ "model.layers.9.linear_attn.norm.weight",
68
+ "model.layers.9.input_layernorm.weight",
69
+ "model.layers.9.post_attention_layernorm.weight",
70
+ "model.layers.10.linear_attn.norm.weight",
71
+ "model.layers.10.input_layernorm.weight",
72
+ "model.layers.10.post_attention_layernorm.weight",
73
+ "model.layers.11.self_attn.q_norm.weight",
74
+ "model.layers.11.self_attn.k_norm.weight",
75
+ "model.layers.11.input_layernorm.weight",
76
+ "model.layers.11.post_attention_layernorm.weight",
77
+ "model.layers.12.linear_attn.norm.weight",
78
+ "model.layers.12.input_layernorm.weight",
79
+ "model.layers.12.post_attention_layernorm.weight",
80
+ "model.layers.13.linear_attn.norm.weight",
81
+ "model.layers.13.input_layernorm.weight",
82
+ "model.layers.13.post_attention_layernorm.weight",
83
+ "model.layers.14.linear_attn.norm.weight",
84
+ "model.layers.14.input_layernorm.weight",
85
+ "model.layers.14.post_attention_layernorm.weight",
86
+ "model.layers.15.self_attn.q_norm.weight",
87
+ "model.layers.15.self_attn.k_norm.weight",
88
+ "model.layers.15.input_layernorm.weight",
89
+ "model.layers.15.post_attention_layernorm.weight",
90
+ "model.layers.16.linear_attn.norm.weight",
91
+ "model.layers.16.input_layernorm.weight",
92
+ "model.layers.16.post_attention_layernorm.weight",
93
+ "model.layers.17.linear_attn.norm.weight",
94
+ "model.layers.17.input_layernorm.weight",
95
+ "model.layers.17.post_attention_layernorm.weight",
96
+ "model.layers.18.linear_attn.norm.weight",
97
+ "model.layers.18.input_layernorm.weight",
98
+ "model.layers.18.post_attention_layernorm.weight",
99
+ "model.layers.19.self_attn.q_norm.weight",
100
+ "model.layers.19.self_attn.k_norm.weight",
101
+ "model.layers.19.input_layernorm.weight",
102
+ "model.layers.19.post_attention_layernorm.weight",
103
+ "model.layers.20.linear_attn.norm.weight",
104
+ "model.layers.20.input_layernorm.weight",
105
+ "model.layers.20.post_attention_layernorm.weight",
106
+ "model.layers.21.linear_attn.norm.weight",
107
+ "model.layers.21.input_layernorm.weight",
108
+ "model.layers.21.post_attention_layernorm.weight",
109
+ "model.layers.22.linear_attn.norm.weight",
110
+ "model.layers.22.input_layernorm.weight",
111
+ "model.layers.22.post_attention_layernorm.weight",
112
+ "model.layers.23.self_attn.q_norm.weight",
113
+ "model.layers.23.self_attn.k_norm.weight",
114
+ "model.layers.23.input_layernorm.weight",
115
+ "model.layers.23.post_attention_layernorm.weight",
116
+ "model.layers.24.linear_attn.norm.weight",
117
+ "model.layers.24.input_layernorm.weight",
118
+ "model.layers.24.post_attention_layernorm.weight",
119
+ "model.layers.25.linear_attn.norm.weight",
120
+ "model.layers.25.input_layernorm.weight",
121
+ "model.layers.25.post_attention_layernorm.weight",
122
+ "model.layers.26.linear_attn.norm.weight",
123
+ "model.layers.26.input_layernorm.weight",
124
+ "model.layers.26.post_attention_layernorm.weight",
125
+ "model.layers.27.self_attn.q_norm.weight",
126
+ "model.layers.27.self_attn.k_norm.weight",
127
+ "model.layers.27.input_layernorm.weight",
128
+ "model.layers.27.post_attention_layernorm.weight",
129
+ "model.layers.28.linear_attn.norm.weight",
130
+ "model.layers.28.input_layernorm.weight",
131
+ "model.layers.28.post_attention_layernorm.weight",
132
+ "model.layers.29.linear_attn.norm.weight",
133
+ "model.layers.29.input_layernorm.weight",
134
+ "model.layers.29.post_attention_layernorm.weight",
135
+ "model.layers.30.linear_attn.norm.weight",
136
+ "model.layers.30.input_layernorm.weight",
137
+ "model.layers.30.post_attention_layernorm.weight",
138
+ "model.layers.31.self_attn.q_norm.weight",
139
+ "model.layers.31.self_attn.k_norm.weight",
140
+ "model.layers.31.input_layernorm.weight",
141
+ "model.layers.31.post_attention_layernorm.weight",
142
+ "model.layers.32.linear_attn.norm.weight",
143
+ "model.layers.32.input_layernorm.weight",
144
+ "model.layers.32.post_attention_layernorm.weight",
145
+ "model.layers.33.linear_attn.norm.weight",
146
+ "model.layers.33.input_layernorm.weight",
147
+ "model.layers.33.post_attention_layernorm.weight",
148
+ "model.layers.34.linear_attn.norm.weight",
149
+ "model.layers.34.input_layernorm.weight",
150
+ "model.layers.34.post_attention_layernorm.weight",
151
+ "model.layers.35.self_attn.q_norm.weight",
152
+ "model.layers.35.self_attn.k_norm.weight",
153
+ "model.layers.35.input_layernorm.weight",
154
+ "model.layers.35.post_attention_layernorm.weight",
155
+ "model.layers.36.linear_attn.norm.weight",
156
+ "model.layers.36.input_layernorm.weight",
157
+ "model.layers.36.post_attention_layernorm.weight",
158
+ "model.layers.37.linear_attn.norm.weight",
159
+ "model.layers.37.input_layernorm.weight",
160
+ "model.layers.37.post_attention_layernorm.weight",
161
+ "model.layers.38.linear_attn.norm.weight",
162
+ "model.layers.38.input_layernorm.weight",
163
+ "model.layers.38.post_attention_layernorm.weight",
164
+ "model.layers.39.self_attn.q_norm.weight",
165
+ "model.layers.39.self_attn.k_norm.weight",
166
+ "model.layers.39.input_layernorm.weight",
167
+ "model.layers.39.post_attention_layernorm.weight",
168
+ "model.layers.40.linear_attn.norm.weight",
169
+ "model.layers.40.input_layernorm.weight",
170
+ "model.layers.40.post_attention_layernorm.weight",
171
+ "model.layers.41.linear_attn.norm.weight",
172
+ "model.layers.41.input_layernorm.weight",
173
+ "model.layers.41.post_attention_layernorm.weight",
174
+ "model.layers.42.linear_attn.norm.weight",
175
+ "model.layers.42.input_layernorm.weight",
176
+ "model.layers.42.post_attention_layernorm.weight",
177
+ "model.layers.43.self_attn.q_norm.weight",
178
+ "model.layers.43.self_attn.k_norm.weight",
179
+ "model.layers.43.input_layernorm.weight",
180
+ "model.layers.43.post_attention_layernorm.weight",
181
+ "model.layers.44.linear_attn.norm.weight",
182
+ "model.layers.44.input_layernorm.weight",
183
+ "model.layers.44.post_attention_layernorm.weight",
184
+ "model.layers.45.linear_attn.norm.weight",
185
+ "model.layers.45.input_layernorm.weight",
186
+ "model.layers.45.post_attention_layernorm.weight",
187
+ "model.layers.46.linear_attn.norm.weight",
188
+ "model.layers.46.input_layernorm.weight",
189
+ "model.layers.46.post_attention_layernorm.weight",
190
+ "model.layers.47.self_attn.q_norm.weight",
191
+ "model.layers.47.self_attn.k_norm.weight",
192
+ "model.layers.47.input_layernorm.weight",
193
+ "model.layers.47.post_attention_layernorm.weight",
194
+ "model.layers.48.linear_attn.norm.weight",
195
+ "model.layers.48.input_layernorm.weight",
196
+ "model.layers.48.post_attention_layernorm.weight",
197
+ "model.layers.49.linear_attn.norm.weight",
198
+ "model.layers.49.input_layernorm.weight",
199
+ "model.layers.49.post_attention_layernorm.weight",
200
+ "model.layers.50.linear_attn.norm.weight",
201
+ "model.layers.50.input_layernorm.weight",
202
+ "model.layers.50.post_attention_layernorm.weight",
203
+ "model.layers.51.self_attn.q_norm.weight",
204
+ "model.layers.51.self_attn.k_norm.weight",
205
+ "model.layers.51.input_layernorm.weight",
206
+ "model.layers.51.post_attention_layernorm.weight",
207
+ "model.layers.52.linear_attn.norm.weight",
208
+ "model.layers.52.input_layernorm.weight",
209
+ "model.layers.52.post_attention_layernorm.weight",
210
+ "model.layers.53.linear_attn.norm.weight",
211
+ "model.layers.53.input_layernorm.weight",
212
+ "model.layers.53.post_attention_layernorm.weight",
213
+ "model.layers.54.linear_attn.norm.weight",
214
+ "model.layers.54.input_layernorm.weight",
215
+ "model.layers.54.post_attention_layernorm.weight",
216
+ "model.layers.55.self_attn.q_norm.weight",
217
+ "model.layers.55.self_attn.k_norm.weight",
218
+ "model.layers.55.input_layernorm.weight",
219
+ "model.layers.55.post_attention_layernorm.weight",
220
+ "model.layers.56.linear_attn.norm.weight",
221
+ "model.layers.56.input_layernorm.weight",
222
+ "model.layers.56.post_attention_layernorm.weight",
223
+ "model.layers.57.linear_attn.norm.weight",
224
+ "model.layers.57.input_layernorm.weight",
225
+ "model.layers.57.post_attention_layernorm.weight",
226
+ "model.layers.58.linear_attn.norm.weight",
227
+ "model.layers.58.input_layernorm.weight",
228
+ "model.layers.58.post_attention_layernorm.weight",
229
+ "model.layers.59.self_attn.q_norm.weight",
230
+ "model.layers.59.self_attn.k_norm.weight",
231
+ "model.layers.59.input_layernorm.weight",
232
+ "model.layers.59.post_attention_layernorm.weight",
233
+ "model.layers.60.linear_attn.norm.weight",
234
+ "model.layers.60.input_layernorm.weight",
235
+ "model.layers.60.post_attention_layernorm.weight",
236
+ "model.layers.61.linear_attn.norm.weight",
237
+ "model.layers.61.input_layernorm.weight",
238
+ "model.layers.61.post_attention_layernorm.weight",
239
+ "model.layers.62.linear_attn.norm.weight",
240
+ "model.layers.62.input_layernorm.weight",
241
+ "model.layers.62.post_attention_layernorm.weight",
242
+ "model.layers.63.self_attn.q_norm.weight",
243
+ "model.layers.63.self_attn.k_norm.weight",
244
+ "model.layers.63.input_layernorm.weight",
245
+ "model.layers.63.post_attention_layernorm.weight",
246
+ "model.norm.weight"
247
+ ]
248
+ },
249
+ "packages": {
250
+ "accelerate": "1.14.0",
251
+ "bitsandbytes": "0.50.1",
252
+ "causal-conv1d": "1.7.0",
253
+ "fla-core": "0.5.2",
254
+ "flash-linear-attention": "0.5.2",
255
+ "huggingface-hub": "1.28.0",
256
+ "liger-kernel": "0.8.2",
257
+ "peft": "0.20.0",
258
+ "torch": "2.8.0+cu128",
259
+ "transformers": "5.15.0"
260
+ },
261
+ "resume": false,
262
+ "run_id": "pilot-live-v15-exhaustive-unit-r16-lr2e5-seed38-v1",
263
+ "save_steps": 100,
264
+ "seed": 38,
265
+ "smoke_longest": false,
266
+ "tool_name": "submit_facts",
267
+ "tools_sha256": "e02cf3c20831eed00a05598f42f324f9112f7c283b9cd0cef43af96e294c93ab",
268
+ "tools_transport_sha256": "8945d9bfd5e68ea50537c4cae5476fcfa9efd4e99ab80c9b71bc4bfcbd5826b1",
269
+ "train_files": [
270
+ {
271
+ "name": "train.jsonl",
272
+ "sha256": "1b3630d00d11476c7f1e941a60a442a5eb5eb57dd882b7d188ef9b85d461e738"
273
+ }
274
+ ],
275
+ "train_sha256": "1b3630d00d11476c7f1e941a60a442a5eb5eb57dd882b7d188ef9b85d461e738",
276
+ "train_stats": {
277
+ "components": [
278
+ {
279
+ "dropped": 0,
280
+ "kept": 4255,
281
+ "loss_mode_counts": {
282
+ "full_assistant": 4255
283
+ },
284
+ "max_loss_tokens": 639,
285
+ "max_tokens": 3109,
286
+ "mean_loss_tokens": 147.76,
287
+ "mean_tokens": 1363.21,
288
+ "min_loss_tokens": 44,
289
+ "min_tokens": 964,
290
+ "path": "/workspace/donto-qwen80/data/pilot-training-live-v15-exhaustive-unit-v3/train.jsonl",
291
+ "rows": 4255
292
+ }
293
+ ],
294
+ "dropped": 0,
295
+ "kept": 4255,
296
+ "loss_mode_counts": {
297
+ "full_assistant": 4255
298
+ },
299
+ "max_loss_tokens": 639,
300
+ "max_tokens": 3109,
301
+ "mean_loss_tokens": 147.76,
302
+ "mean_tokens": 1363.21,
303
+ "min_loss_tokens": 44,
304
+ "min_tokens": 964,
305
+ "rows": 4255
306
+ },
307
+ "trainer_source_sha256": "994d3f888fe3d18f115ac050d59aa68a524ef160dc7f2073a83d4a8568b82d79",
308
+ "validation_sha256": "c360e8296e5ec7973f2fab8416d0b30e2aa850fe6b2cc618bb3fa52894d818b2",
309
+ "validation_stats": {
310
+ "dropped": 0,
311
+ "kept": 1085,
312
+ "loss_mode_counts": {
313
+ "full_assistant": 1085
314
+ },
315
+ "max_loss_tokens": 627,
316
+ "max_tokens": 2198,
317
+ "mean_loss_tokens": 140.61,
318
+ "mean_tokens": 1346.18,
319
+ "min_loss_tokens": 44,
320
+ "min_tokens": 964,
321
+ "rows": 1085
322
+ },
323
+ "warmup_ratio": 0.05
324
+ }
chat_template.jinja ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
4
+ {%- if content is string %}
5
+ {{- content }}
6
+ {%- elif content is iterable and content is not mapping %}
7
+ {%- for item in content %}
8
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
9
+ {%- if is_system_content %}
10
+ {{- raise_exception('System message cannot contain images.') }}
11
+ {%- endif %}
12
+ {%- if do_vision_count %}
13
+ {%- set image_count.value = image_count.value + 1 %}
14
+ {%- endif %}
15
+ {%- if add_vision_id %}
16
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
17
+ {%- endif %}
18
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
19
+ {%- elif 'video' in item or item.type == 'video' %}
20
+ {%- if is_system_content %}
21
+ {{- raise_exception('System message cannot contain videos.') }}
22
+ {%- endif %}
23
+ {%- if do_vision_count %}
24
+ {%- set video_count.value = video_count.value + 1 %}
25
+ {%- endif %}
26
+ {%- if add_vision_id %}
27
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
28
+ {%- endif %}
29
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
30
+ {%- elif 'text' in item %}
31
+ {{- item.text }}
32
+ {%- else %}
33
+ {{- raise_exception('Unexpected item type in content.') }}
34
+ {%- endif %}
35
+ {%- endfor %}
36
+ {%- elif content is none or content is undefined %}
37
+ {{- '' }}
38
+ {%- else %}
39
+ {{- raise_exception('Unexpected content type.') }}
40
+ {%- endif %}
41
+ {%- endmacro %}
42
+ {%- if not messages %}
43
+ {{- raise_exception('No messages provided.') }}
44
+ {%- endif %}
45
+ {%- set reasoning_instructions = '' %}
46
+ {%- if enable_thinking is undefined or enable_thinking is true %}
47
+ {%- set resolved_reasoning_effort = reasoning_effort|default('xhigh') %}
48
+ {%- if resolved_reasoning_effort not in ('xhigh', 'medium', 'low') %}
49
+ {{- raise_exception('Unexpected reasoning effort ' ~ reasoning_effort ~ '. Supported types are xhigh (default), medium, and low.') }}
50
+ {%- endif %}
51
+ {%- if resolved_reasoning_effort == 'xhigh' %}
52
+ {%- set reasoning_instructions = 'Reasoning effort is set to xhigh. Please think carefully through the task, validate key assumptions, consider plausible alternatives, and prioritize correctness, consistency, and clarity in the final answer.' %}
53
+ {%- elif resolved_reasoning_effort == 'low' %}
54
+ {%- set reasoning_instructions = 'Reasoning effort is set to low. Keep your thinking brief and focused, moving directly to the conclusion without unnecessary elaboration.' %}
55
+ {%- endif %}
56
+ {%- endif %}
57
+ {%- if tools and tools is iterable and tools is not mapping %}
58
+ {{- '<|im_start|>system\n' }}
59
+ {%- if reasoning_instructions %}
60
+ {{- reasoning_instructions + '\n\n' }}
61
+ {%- endif %}
62
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
63
+ {%- for tool in tools %}
64
+ {{- "\n" }}
65
+ {{- tool | tojson }}
66
+ {%- endfor %}
67
+ {{- "\n</tools>" }}
68
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
69
+ {%- if messages[0].role == 'system' %}
70
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
71
+ {%- if content %}
72
+ {{- '\n\n' + content }}
73
+ {%- endif %}
74
+ {%- endif %}
75
+ {{- '<|im_end|>\n' }}
76
+ {%- else %}
77
+ {%- if messages[0].role == 'system' %}
78
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
79
+ {%- if content %}
80
+ {{- '<|im_start|>system\n' + (reasoning_instructions + '\n\n' if reasoning_instructions else '') + content + '<|im_end|>\n' }}
81
+ {%- elif reasoning_instructions %}
82
+ {{- '<|im_start|>system\n' + reasoning_instructions + '<|im_end|>\n' }}
83
+ {%- endif %}
84
+ {%- elif reasoning_instructions %}
85
+ {{- '<|im_start|>system\n' + reasoning_instructions + '<|im_end|>\n' }}
86
+ {%- endif %}
87
+ {%- endif %}
88
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
89
+ {%- for message in messages[::-1] %}
90
+ {%- set index = (messages|length - 1) - loop.index0 %}
91
+ {%- if ns.multi_step_tool and message.role == "user" %}
92
+ {%- set content = render_content(message.content, false)|trim %}
93
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
94
+ {%- set ns.multi_step_tool = false %}
95
+ {%- set ns.last_query_index = index %}
96
+ {%- endif %}
97
+ {%- endif %}
98
+ {%- endfor %}
99
+ {%- if ns.multi_step_tool %}
100
+ {{- raise_exception('No user query found in messages.') }}
101
+ {%- endif %}
102
+ {%- for message in messages %}
103
+ {%- set content = render_content(message.content, true)|trim %}
104
+ {%- if message.role == "system" %}
105
+ {%- if not loop.first %}
106
+ {{- raise_exception('System message must be at the beginning.') }}
107
+ {%- endif %}
108
+ {%- elif message.role == "user" %}
109
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
110
+ {%- elif message.role == "assistant" %}
111
+ {%- set reasoning_content = '' %}
112
+ {%- if message.reasoning_content is string %}
113
+ {%- set reasoning_content = message.reasoning_content %}
114
+ {%- endif %}
115
+ {%- set reasoning_content = reasoning_content|trim %}
116
+ {%- if preserve_thinking is undefined or preserve_thinking is true or loop.index0 > ns.last_query_index %}
117
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
118
+ {%- else %}
119
+ {{- '<|im_start|>' + message.role + '\n' + content }}
120
+ {%- endif %}
121
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
122
+ {%- for tool_call in message.tool_calls %}
123
+ {%- if tool_call.function is defined %}
124
+ {%- set tool_call = tool_call.function %}
125
+ {%- endif %}
126
+ {%- if loop.first %}
127
+ {%- if content|trim %}
128
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
129
+ {%- else %}
130
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
131
+ {%- endif %}
132
+ {%- else %}
133
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
134
+ {%- endif %}
135
+ {%- if tool_call.arguments is defined and tool_call.arguments != '' %}
136
+ {%- for args_name, args_value in tool_call.arguments|items %}
137
+ {{- '<parameter=' + args_name + '>\n' }}
138
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
139
+ {{- args_value }}
140
+ {{- '\n</parameter>\n' }}
141
+ {%- endfor %}
142
+ {%- endif %}
143
+ {{- '</function>\n</tool_call>' }}
144
+ {%- endfor %}
145
+ {%- endif %}
146
+ {{- '<|im_end|>\n' }}
147
+ {%- elif message.role == "tool" %}
148
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
149
+ {{- '<|im_start|>user' }}
150
+ {%- endif %}
151
+ {{- '\n<tool_response>\n' }}
152
+ {{- content }}
153
+ {{- '\n</tool_response>' }}
154
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
155
+ {{- '<|im_end|>\n' }}
156
+ {%- elif loop.last %}
157
+ {{- '<|im_end|>\n' }}
158
+ {%- endif %}
159
+ {%- else %}
160
+ {{- raise_exception('Unexpected message role.') }}
161
+ {%- endif %}
162
+ {%- endfor %}
163
+ {%- if add_generation_prompt %}
164
+ {{- '<|im_start|>assistant\n' }}
165
+ {%- if enable_thinking is defined and enable_thinking is false %}
166
+ {{- '<think>\n\n</think>\n\n' }}
167
+ {%- else %}
168
+ {{- '<think>\n' }}
169
+ {%- endif %}
170
+ {%- endif %}
docs/FREEZE-RECEIPT-20260825.md ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Synthetic Gold 100 Graph-First V1 — Freeze Receipt
2
+
3
+ Frozen at `2026-08-25T10:57:55Z`, before any V15 inference over this suite.
4
+
5
+ ## Scope
6
+
7
+ - 100 unique graph-first synthetic documents
8
+ - 2,718 structured extraction decisions
9
+ - 5,338 row-level target facts
10
+ - 5,288 document-level unique `(s,p,o)` facts
11
+ - 45–59 unique gold facts per document; mean 52.88
12
+ - 73 blind parent templates
13
+ - domains and constructions: aviation incidents, diplomatic quotations, mining and clinical-scheduling conditionals, argument chains, nested beliefs, procurement, appointments, and coalitions
14
+
15
+ ## Leakage audit against V15
16
+
17
+ Compared with `pilot-training-live-v15-exhaustive-unit-v3`:
18
+
19
+ - blind unique source hashes: 100
20
+ - V15 train/validation unique source hashes: 240
21
+ - source-hash overlap: 0
22
+ - blind unique parent templates: 73
23
+ - V15 train/validation unique parent templates: 102
24
+ - parent-template overlap: 0
25
+ - four operator/admission fixture hashes: hard excluded
26
+
27
+ The generator's structural audit passed all checks in `audit.json`. The blind suite was not opened during construction or audit.
28
+
29
+ ## Frozen hashes
30
+
31
+ - `sealed-blind.jsonl`: `6f16c87d06c2a0b850321b8750e54a63364937cfa2823f34f698f6c00f160f1c`
32
+ - `validator-sealed-blind.jsonl`: `19a293e9d3bb142cb737b9fbef311508b7867934bd2c00c80adb13ba10342a5e`
33
+ - `tools.json`: `e02cf3c20831eed00a05598f42f324f9112f7c283b9cd0cef43af96e294c93ab`
34
+ - `validator-tools.json`: `2c85d9fe1da85b9b6a00698ebd34776adfa453d12f3eef5397ab8149c5081549`
35
+ - `manifest.json`: `dd46f14c743880a1a4692406ae6fa88db80dc06e89ff70ae85b8d7fb00b8bcd5`
36
+ - `audit.json`: `4b04ecc9fa3e3ccddabe14189396cf38cf555c17088565e57e8f2dd40835a3e8`
37
+
38
+ The canonical extraction score is exact structured fact recall/precision over all 2,718 decisions, reported globally, by task, template, and document. This is intentionally stricter than a one-prompt-per-document count test.
docs/LAUNCH-RECEIPT.md ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # V15 full-pilot launch receipt
2
+
3
+ - UTC launch: 2026-08-25T00:34Z
4
+ - Run ID: `pilot-live-v15-exhaustive-unit-r16-lr2e5-seed38-v1`
5
+ - RunPod pod: `wydkrrvhi4iqbv`
6
+ - GPU: one NVIDIA GeForce RTX 3090, 24,576 MiB
7
+ - Remote trainer PID: `14504`
8
+ - Base: `/workspace/models/Qwen3.8-27B-BF16`, pinned revision `1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0`
9
+ - Corpus: `/workspace/donto-qwen80/data/pilot-training-live-v15-exhaustive-unit-v3`
10
+ - Trainer SHA-256: `994d3f888fe3d18f115ac050d59aa68a524ef160dc7f2073a83d4a8568b82d79`
11
+ - Launcher SHA-256: `236bac7e50741e934fc42e4f6aa512f32b0b14985e908bb60520573c9a81cfee`
12
+ - Recipe: rank 16, no rsLoRA, LR 2e-5, seed 38, gradient accumulation 8, one epoch, warmup ratio 0.05, maximum length 4096, checkpoint every 100 steps.
13
+ - Expected optimizer steps: 532 from 4,255 training rows.
14
+ - Blind/admission sources: not opened.
15
+
16
+ This receipt records launch only. It is not evidence that training completed or that the resulting model passed quality admission.
17
+
18
+ ## Verified live state
19
+
20
+ - First optimizer step completed with loss 0.1898; subsequent steady-state steps averaged about 36–38 seconds.
21
+ - At step 29/532 the process remained alive, GPU utilization was 100%, VRAM was 21,576 MiB, temperature was 63°C, and the most recent loss was 0.1105.
22
+ - `donto-qwen-v15-checkpoint-mirror.service` is active and will checksum-mirror every completed 100-step checkpoint.
23
+ - `donto-qwen-v15-final-artifact-mirror.service` is active and will copy final artifacts only after the trainer exits with `TRAINING-COMPLETE.json` and a final adapter.
24
+ - The complete physical longest-row smoke bundle is already checksum-mirrored at the sibling `smoke-pilot-live-v15-exhaustive-unit-r16-longest-v1/` directory.
25
+ - Production extraction remains paused; sealed admission fixtures remain unopened.
docs/PILOT-LIVE-V11-REPAIR-REJECTION-20260823.md ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Pilot live V11 repair rejection
2
+
3
+ The candidate `pilot-live-v11-repair-r16-lr2e5-seed38-v1` is rejected. It is
4
+ retained as a negative result and must not be used as the weight base for a
5
+ later adapter.
6
+
7
+ ## Source-disjoint structured validation
8
+
9
+ - artifact: `results/pilot-live-v11-repair-r16-v1-validation-full428.json`
10
+ - SHA-256: `2bf90e6e09eb5c5b75c872c463f5715cf624afe572e530d992a3ab64f2300cb1`
11
+ - 428/428 successful structured tool calls
12
+ - 1,584/1,792 exact target facts recovered (88.39% recall)
13
+ - 1,584/1,780 exact predicted facts matched (88.99% precision)
14
+ - zero malformed, duplicate-key, or reflexive items
15
+ - bootstrap 95% lower recall bound: 77.10%
16
+
17
+ Recall exceeded the E2 floor, but exact precision missed the declared 90% gate.
18
+ The largest mismatch cluster was stable entity/event identifier divergence; this
19
+ does not excuse the failed predeclared gate.
20
+
21
+ ## Real `llm_nerd` development diagnosis
22
+
23
+ - artifact: `results/pilot-live-v11-repair-r16-v1-llm-nerd-expansion4-no-validator-repeat1.json`
24
+ - SHA-256: `c2a6f7578a3967b95182cb0e4905f46ad35fa925a05ba25b8c6829dd8340e77c`
25
+ - finite completion: yes
26
+ - facts: 54
27
+ - stage errors: zero
28
+ - conservative semantic score: 16/46 substantive, including 12/27 direct and
29
+ 4/19 derived; 12/36 structural; 28/82 whole gold
30
+ - seven clear role, qualifier, modality, or layer errors
31
+ - many structural alias duplicates
32
+
33
+ The hash-bound adjudication is
34
+ `adjudication/pilot-live-v11-repair-llm-nerd-ledger-v1.json`.
35
+
36
+ ## Corpus-integrity finding
37
+
38
+ The V11 `abundance-argument` generator preserved no literal fixture text, but it
39
+ reproduced the development fixture's complete semantic narrative arc too closely:
40
+ belief and scope, unreliable dealings, vendor and lender unavailability,
41
+ leadership selection, threat countering, alliance dependency, attacks and
42
+ diminishing, and a self-defeating conclusion. That violates the plan's explicit
43
+ ban on close paraphrases. The fact that the candidate still failed does not make
44
+ the contamination acceptable.
45
+
46
+ The template is quarantined as non-compiling negative-result code. The V12
47
+ repair replaces it with four independent capability families whose stories do
48
+ not combine the fixture arc: belief/evidence, procurement consequences,
49
+ appointment/quotation, and coalition strategy.
50
+
51
+ ## Next action
52
+
53
+ Train a fresh-stock V12 pilot on the clean, source-disjoint corpus. Do not train
54
+ the validator yet: the principal failure remains missing semantic families, and
55
+ a validator cannot add them.
docs/PILOT-LIVE-V12-CLEAN-REJECTION-20260823.md ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Pilot live-v12 clean rejection
2
+
3
+ `pilot-live-v12-clean-d1weighted-r16-lr2e5-seed38-v1` is rejected and must not
4
+ be promoted or used as the starting weights for another candidate.
5
+
6
+ The serving-path corpus validation completed all 346 rows with no failed tool
7
+ calls. It achieved 900/1260 exact recall (71.43%), above the pilot advance floor
8
+ of 65%, with 81.12% exact structural recall. The 30-row direct semantic review
9
+ found 97/99 supported predictions (97.98%). Those results establish that the
10
+ adapter is structurally usable and that the clean curriculum is learnable.
11
+
12
+ The real `llm_nerd` development target nevertheless failed decisively. Three
13
+ bounded deterministic repeats emitted 47, 46, and 47 facts. All were finite and
14
+ had zero stage errors, but no 47-fact trajectory can meet the 67/82 whole-gold
15
+ gate. Conservative one-to-one review of repeat 1 scored:
16
+
17
+ - substantive: 18/46;
18
+ - direct: 13/27;
19
+ - derived: 5/19;
20
+ - structural: 7/36;
21
+ - whole gold: 25/82;
22
+ - unique-supported precision: 32/44 (72.73%);
23
+ - clear role, scope, reflexive, or support errors: 12.
24
+
25
+ The failure is not an open-ended stopping loop. Every unit and expansion layer
26
+ finished. It is a coverage-granularity and role-control failure: every D0 unit
27
+ returned exactly two facts; structural expansion stopped after ten facts; and
28
+ global D1 generation introduced backwards or semantic-self relations.
29
+
30
+ The next experiment will retain the finite controller but make coverage state
31
+ local and explicit: bounded per-unit D0 follow-ups, source-bound D1 expansion,
32
+ and structural batches over the dynamically discovered entity inventory. If
33
+ that architectural ceiling remains below the gold gate, the resulting
34
+ source-bound misses become clean on-policy supervision for a fresh-stock V13
35
+ coverage adapter. The sealed admission documents and blind suite remain unopened.
36
+
37
+ Evidence:
38
+
39
+ - full validation: `results/pilot-live-v12-clean-d1weighted-r16-v1-validation-full346.json`;
40
+ - first-30 review: `adjudication/pilot-live-v12-clean-validation-first30-semantic-review-v1.json`;
41
+ - real-document ledger: `adjudication/pilot-live-v12-clean-llm-nerd-ledger-v1.json`;
42
+ - complete canary log: `runpod-runs/pilot-live-v12-clean-d1weighted-r16-lr2e5-seed38-v1/serving-evidence/pilot-live-v12-clean-d1weighted-r16-v1-bnb-canary.log`.
docs/PILOT-LIVE-V13-FULL746-SEMANTIC-MISMATCH-AUDIT-20260824.md ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # V13 full-746 semantic mismatch audit
2
+
3
+ **Candidate:** `pilot-live-v13-controller-aligned-r16-v1`
4
+ **Evaluator:** `implementation-snapshot-live-v23/donto-qwen38-eval-corpus`
5
+ **Result:** `pilot-live-v13-controller-aligned-r16-v1-validation-full746.json`
6
+ **Scope:** non-blind source-disjoint pilot validation only
7
+
8
+ ## Measured result
9
+
10
+ The run completed 746/746 forced `submit_facts` calls with no failed or malformed
11
+ call, no invalid fact object, no duplicate exact item, and no reflexive entity
12
+ item.
13
+
14
+ ```text
15
+ target facts 1260
16
+ predicted facts 1252
17
+ exact one-to-one matches 1128
18
+ exact recall 0.8952380952380953
19
+ exact precision 0.9009584664536742
20
+ bootstrap 95% recall floor 0.8696338577824516
21
+ mean document exact recall 0.8998281895665682
22
+ tool-call success 1.0
23
+ ```
24
+
25
+ The 1128 exact matches are themselves source-bound reviewed targets. Because all
26
+ 124 non-exact predictions are already treated as unsupported in the exact
27
+ denominator, `1128 / 1252 = 0.900958` is a conservative supported-precision
28
+ lower bound. Giving semantic credit to a supported free-predicate synonym or
29
+ stable entity alias can only raise that value. The pilot therefore clears the
30
+ declared 0.90 precision floor without relying on generous semantic matching.
31
+
32
+ ## Complete non-exact-row review
33
+
34
+ All 86 rows containing a non-exact target or prediction were read directly
35
+ against their target and source-bound task prompt. Classification is at the row
36
+ level, so a mixed row may contain both a useful supported alternative and an
37
+ omission or incorrect role.
38
+
39
+ | Classification | Count | Row indexes |
40
+ |---|---:|---|
41
+ | Supported alternate, stable alias, or harmless structural granularity | 40 | 63, 95, 139, 152, 158, 183, 190, 245, 248, 251, 280, 284, 293, 347, 354, 366, 369, 377, 386, 439, 465, 469, 504, 505, 512, 523, 525, 531, 547, 556, 587, 590, 657, 669, 690, 714, 716, 720, 727, 742 |
42
+ | Omission only; no extra prediction to assess | 10 | 130, 205, 320, 367, 393, 467, 693, 705, 712, 740 |
43
+ | Clear redundant, unsupported, role-direction, or scope error | 16 | 5, 126, 171, 176, 317, 332, 334, 336, 436, 520, 544, 621, 707, 709, 730, 736 |
44
+ | Mixed supported alternative plus omission or questionable relation | 20 | 96, 135, 150, 167, 169, 179, 232, 281, 311, 328, 339, 363, 420, 468, 503, 542, 552, 653, 701, 739 |
45
+
46
+ These four sets contain all 86 mismatch rows exactly once.
47
+
48
+ ## Failure patterns that remain real
49
+
50
+ - Row 5 drifts from Oona's requested recording action to an unrelated automatic
51
+ behavior.
52
+ - Rows 171, 176, 332, 336, 436, 520, 544, 621, 709, and 736 contain a reversed
53
+ or substituted subject/object role.
54
+ - Rows 126, 317, and 334 emit a structurally invalid label or a redundant/newness
55
+ failure.
56
+ - Rows 707 and 730 invent the wrong causal or strategic direction.
57
+ - D2 is the weakest exact stage: 73/100 target facts, with 0.8022 exact
58
+ precision. Its misses concentrate in qualification, discourse scope, and
59
+ reified strategic conclusions rather than tool formatting.
60
+
61
+ ## Stage breakdown
62
+
63
+ | Task | Recall | Precision | Calls |
64
+ |---|---:|---:|---:|
65
+ | D0 | 0.8843 | 0.8843 | 108 |
66
+ | D1 unit | 0.8973 | 0.8912 | 190 |
67
+ | D2 | 0.7300 | 0.8022 | 50 |
68
+ | Metadata | 0.9643 | 0.9878 | 24 |
69
+ | Residual | 0.8333 | 0.8219 | 48 |
70
+ | Residual unit | 0.9060 | 0.8993 | 230 |
71
+ | Structural batch | 0.9335 | 0.9360 | 72 |
72
+
73
+ ## Gate decision
74
+
75
+ V13 passes the controller-aligned pilot structured gate and may proceed to the
76
+ three deterministic non-blind `llm_nerd` development trajectories. This is not
77
+ acceptance: the real-document gate independently requires 38/46 substantive,
78
+ 22/27 direct, 16/19 derived, 29/36 structural, 67/82 whole-gold, at least 0.90
79
+ unique supported precision, no more than one clear role/reflexive error, and
80
+ finite valid completion in every repeat.
81
+
82
+ The blind holdout and three synthetic admission documents remain unopened.
docs/PILOT-LIVE-V14-DENSE-UNIT-REJECTION-20260825.md ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Pilot live-v14 dense-unit rejection
2
+
3
+ `pilot-live-v14-dense-unit-r16-lr2e5-seed38-v1` and its checkpoint/scaling variants are rejected. They must not be promoted or used as starting weights for another candidate.
4
+
5
+ V14 learned its supervised contract extremely well. The complete source-disjoint validation run finished all 1,214 rows with no failed tool calls, 2,071/2,092 exact recall (98.996%), 2,071/2,085 exact precision (99.329%), and a 98.412% bootstrap lower bound. Checkpoint 500 scored 46/46 on its first 30 validation rows. These results establish learnability, formatting reliability, and a useful stopping point near 500 steps.
6
+
7
+ The real `llm_nerd` development document still failed decisively. The best breadth probe was checkpoint 500 under the frozen live-v26 controller. It completed finitely with no stage errors and emitted 75 facts, but conservative one-to-one review scored:
8
+
9
+ - substantive: 15/46;
10
+ - direct: 10/27;
11
+ - derived: 5/19;
12
+ - structural: 17/36;
13
+ - whole gold: 32/82;
14
+ - unique-supported precision: 47/65 (72.31%);
15
+ - clear role, scope, reflexive, or support errors: 18.
16
+
17
+ The 0.75 LoRA-scale ablation also failed: its first 30 supervised rows fell to 41/46 exact recall and 41/47 precision, while its real-document run emitted only 61 facts and retained serious role errors. Scale 0.50 collapsed further to 22/46 recall and 22/73 precision. LoRA scaling is therefore not the remedy.
18
+
19
+ The failure is a curriculum-transfer mismatch. V14 capped dense D0 targets at four facts, taught empty local residuals, and rewarded clean short pages. The live controller asks for more exhaustive atomic coverage. Checkpoint 500 increased raw volume, but the added facts were mainly aliases, duplicates, malformed inverses, and incorrect role assignments—not the missing vendor, bank, causal, alliance-participant, behavior-mode, discourse, and structural families.
20
+
21
+ V15 consequently starts fresh from the pinned stock base. It teaches three-to-seven-fact dense D0 pages, leaves one supported dense-unit fact for a nonempty residual recovery pass, follows that with an explicit empty terminal, increases local D1 capacity, and broadens source/template families. No V14 weights are reused. The three synthetic admission documents and sealed blind suite remain unopened.
22
+
23
+ Evidence:
24
+
25
+ - full supervised validation: `results/pilot-live-v14-dense-unit-r16-v1-validation-full1214.json`;
26
+ - checkpoint-500 supervised probe: `results/pilot-live-v14-dense-unit-r16-step500-validation-first30.json`;
27
+ - checkpoint-500 real trajectory: `results/pilot-live-v14-dense-unit-r16-step500-controller-livev26-llm-nerd-repeat1.json`;
28
+ - manual ledger: `adjudication/pilot-live-v14-dense-unit-step500-llm-nerd-ledger-v1.json`;
29
+ - 0.75-scale validation and trajectory: `results/pilot-live-v14-dense-unit-r16-scale075-validation-first30.json` and `results/pilot-live-v14-dense-unit-r16-scale075-controller-livev26-llm-nerd-repeat1.json`;
30
+ - 0.50-scale validation: `results/pilot-live-v14-dense-unit-r16-scale050-validation-first30.json`.
docs/PILOT-LIVE-V15-EXHAUSTIVE-UNIT-CORPUS-AUDIT-20260825.md ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Pilot live-v15 exhaustive-unit corpus audit
2
+
3
+ The canonical V15 pilot corpus is admitted for development training. This is a corpus/runtime-contract decision only; it is not model-quality admission.
4
+
5
+ ## Immutable inputs
6
+
7
+ - source corpus: `pilot-corpus-live-v15-exhaustive-unit-v3/`;
8
+ - trainer corpus: `pilot-training-live-v15-exhaustive-unit-v3/`;
9
+ - train: 4,255 rows, 9,013 target facts, 200 source families;
10
+ - validation: 1,085 rows, 2,140 target facts, 40 source-disjoint families;
11
+ - source-family overlap: 0;
12
+ - parent-template overlap: 0;
13
+ - blind rows used: 0;
14
+ - excluded operator/admission source hashes: 4.
15
+
16
+ The training split combines 4,123 synthetic rows from 152 synthetic documents with 132 reviewed-real rows from 48 source families. Validation contains 40 different synthetic source/template families. The `llm_nerd` source, Trump/China/Russia development literals, three synthetic admission documents, and sealed blind suite are absent from the trainer inputs.
17
+
18
+ ## V15 task-shape correction
19
+
20
+ The prior V14 curriculum taught clean but terse pages. V15 changes the supervised state distribution:
21
+
22
+ - dense D0 pages contain three to seven direct facts rather than being capped at four;
23
+ - every dense unit deliberately leaves one supported fact for a nonempty local residual recovery pass;
24
+ - the next identical residual audit is explicitly empty, teaching finite exhaustion after recovery;
25
+ - local D1 pass one may contain up to twelve licensed views, followed by an empty terminal pass;
26
+ - half of synthetic documents come from the new incident, quotation, conditional, argument, belief, procurement, appointment, and coalition depth families;
27
+ - reviewed-real rows remain in the source-balanced mixture.
28
+
29
+ Training-task counts for the canonical train split include 646 D0 rows with 2,641 facts, 893 local residual rows with 247 recovery facts and 646 explicit empty terminals, 1,159 local D1 rows with 988 facts and 646 empty terminals, plus document metadata, global residual, D2, structural, and reviewed-real rows.
30
+
31
+ ## Hashes
32
+
33
+ - `train.jsonl`: `1b3630d00d11476c7f1e941a60a442a5eb5b57dd882b7d188ef9b85d461e738`;
34
+ - `validation.jsonl`: `c360e8296e5ec7973f2fab8416d0b30e2aa850fe6b2cc618bb3fa52894d818b2`;
35
+ - `tools.json`: `e02cf3c20831eed00a05598f42f324f9112f7c283b9cd0cef43af96e294c93ab`;
36
+ - derived `manifest.json`: `26e3376dc6b99f8b1392a868dd0365a65ae0f1e4e20721cf994ad2f46d1a3231`;
37
+ - derived `audit.json`: `7cd156217b16636a2c918ddd737dd33b0ee2a712e773dab0984a0dcd91d52c7d`;
38
+ - rendered-row audit: `03d5c82f6ea3deb387e80a1100d9715af742363d5579a50959d1ede560cb61b3`;
39
+ - exact trainer run contract: `0a6e1976e11147a198598aab158523f0fc676adde260a496b167e67dbc4e8860`;
40
+ - live tokenizer contract receipt: `2eaef29c9158852e6376facd89bf0f4ecc108dcd42558e36e072f7fbab841144`;
41
+ - trainer source: `994d3f888fe3d18f115ac050d59aa68a524ef160dc7f2073a83d4a8568b82d79`.
42
+
43
+ ## Render and physical checks
44
+
45
+ All 4,255 train and 1,085 validation rows render below the 4,096-token contract. Train spans 964–3,109 tokens; validation spans 964–2,198; over-limit rows are zero. The live vLLM tokenizer reproduced the first validation prompt at exactly 1,133 tokens with the expected token hash.
46
+
47
+ The physical longest-row smoke ran on the approved RTX 3090 using the exact pinned training environment. It completed one real optimizer step over 3,109- and 3,020-token training rows, ran validation at 2,198 tokens, produced normal loss/eval metrics, adapted exactly 496 language modules with 116,727,808 trainable parameters and 992 LoRA tensors, touched no vision module, wrote `TRAINING-COMPLETE.json`, and returned GPU allocation to idle. Its complete 1,192,924,351-byte tree is independently checksum-mirrored at `runpod-runs/smoke-pilot-live-v15-exhaustive-unit-r16-longest-v1/`.
48
+
49
+ ## Decision
50
+
51
+ The V15 corpus and physical runtime contract pass the development-training gate. They do not establish semantic transfer. The full seed-38 pilot must still pass supervised serving checks and the manually adjudicated real-document gold gate before any multi-seed or sealed admission work.
docs/PILOT-LIVE-V15-EXHAUSTIVE-UNIT-POSTTRAIN-RUNBOOK.md ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # V15 exhaustive-unit pilot post-training runbook
2
+
3
+ This runbook is bound to `pilot-live-v15-exhaustive-unit-r16-lr2e5-seed38-v1`. It does not enable a production lane or open the three synthetic admission documents or sealed 100-document suite.
4
+
5
+ ## 1. Completion and durability
6
+
7
+ Require all 532 optimizer steps, epoch validation, explicit final validation, `TRAINING-COMPLETE.json`, clean exit of the exact trainer PID, and GPU allocation returned near zero. Checkpoint 100/200/300/400/500 directories must be mirrored to the mounted drive with stable before/after remote hashes and exact local reconciliation. Copy and reconcile the complete final run tree and detached training log separately.
8
+
9
+ Treat a PID exit without `TRAINING-COMPLETE.json` as failure. Do not infer success from a final adapter directory alone.
10
+
11
+ ## 2. Tensor-preserving conversion
12
+
13
+ Convert the trainer-native final adapter with the conditional vLLM remapper. Require 992 tensors, the conditional language-model key root, all twelve expected target suffixes, no vision tensor, and `tensor_values_changed=false`. Perform the same conversion for checkpoint 500 so the planned early-stop comparison remains available.
14
+
15
+ ## 3. Isolated BF16 canary
16
+
17
+ Start the isolated BF16-bitsandbytes vLLM canary with one adapter at a time, maximum model length 4,096, maximum sequences 4, prefix caching enabled, thinking disabled, greedy decoding, and zero presence/frequency penalties. Verify `/v1/models`, one forced `submit_facts` tool call, bounded memory, and the exact tokenizer contract before corpus evaluation.
18
+
19
+ Production extraction controls remain paused throughout development evaluation.
20
+
21
+ ## 4. Non-blind evaluation sequence
22
+
23
+ For the final adapter:
24
+
25
+ 1. Evaluate the first 30 V15 validation rows with concurrency 4 and 1,024 output tokens.
26
+ 2. Require 30/30 valid tool calls and no reflexive or malformed outputs. Continue to all 1,085 rows only if exact recall is at least 80% and exact precision is at least 90%.
27
+ 3. Evaluate the full V15 validation set and preserve task, stratum, and source-family breakdowns.
28
+ 4. Run `llm_nerd` through the frozen live-v27 controller with metadata, residual, D1, D2, and structural stages enabled and validator disabled.
29
+ 5. Run three deterministic repeats. Require bounded completion and zero malformed calls in all three.
30
+ 6. Manually adjudicate every unique prediction one-to-one against the frozen 46 substantive and 36 structural families.
31
+
32
+ The real-document gate is at least 38/46 substantive, including 22/27 direct and 16/19 derived, at least 29/36 structural and 67/82 whole, at least 90% unique-supported precision, and no more than one clear role-direction or reflexive error.
33
+
34
+ If the final adapter misses because the last 32 steps made it terser, run the same sequence on checkpoint 500. This comparison was fixed before seeing V15 outputs and does not authorize arbitrary checkpoint fishing.
35
+
36
+ ## 5. Branch decision
37
+
38
+ - If both final and checkpoint 500 fail substantive recall, reject V15 and use only non-blind trajectories to correct the coverage curriculum. Do not inherit rejected weights.
39
+ - If recall passes but precision or role direction fails, build the source-bound validator/repair adapter from on-policy mistakes and rerun the same development gate.
40
+ - If one V15 checkpoint passes every development gate, freeze its recipe and train seeds 38, 73, and 211 sequentially from the pinned stock base on the same approved RTX 3090. At least two of three must pass.
41
+ - Only after recipe freeze and multi-seed confirmation may the three synthetic admission documents and sealed suite be opened once.
42
+
43
+ Quantization and production packaging begin only after BF16 semantic admission. The RTX 3090 quantized system must remain within three recall points of its BF16 result.
docs/QWEN-DONTO-80-PERCENT-GOLD-PLAN-20260822.md ADDED
@@ -0,0 +1,638 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Qwen Donto plan for at least 80% gold coverage
2
+
3
+ **Date:** 2026-08-22
4
+ **Decision requested:** how to move the local Donto Qwen3.8-27B system from its
5
+ current low-recall predicate extraction to at least 80% of the adjudicated Codex
6
+ gold.
7
+ **Scope of this document:** corpus construction, retraining, inference
8
+ orchestration, semantic validation, evaluation, quantization, deployment, and
9
+ cost. This is a plan and research record. No training or production-lane restart
10
+ was performed while producing it.
11
+
12
+ ## Executive verdict
13
+
14
+ The 80% target is credible, but not by training another stop boolean or merely
15
+ asking the current one-page prompt to be more exhaustive.
16
+
17
+ The shortest credible route is:
18
+
19
+ 1. expose every source unit to the extractor;
20
+ 2. train a new coverage adapter on direct, inverse/decomposed, discourse, and
21
+ structural tasks that the current corpus does not teach;
22
+ 3. train a small second adapter to reject or repair reversed roles and scope
23
+ errors using candidates generated by Qwen itself;
24
+ 4. let a finite Rust controller, not Qwen's `more_supported_facts` prediction,
25
+ determine when the chunk is complete;
26
+ 5. admit the quantized RTX 3090 system only after semantic one-to-one evaluation
27
+ reaches the declared gate.
28
+
29
+ The primary gate is **at least 38/46 substantive gold rows** on the `llm_nerd`
30
+ fixture: at least 22/27 directly licensed rows and 16/19 derived or interpretive
31
+ rows. This is 82.6%, giving one row of margin above the literal 37/46 threshold.
32
+
33
+ The literal whole-gold companion gate is **at least 67/82 rows**: the substantive
34
+ gate plus at least 29/36 structural type/label rows. Structural rows are reported
35
+ separately so mechanically expanding labels cannot disguise poor predicate
36
+ understanding.
37
+
38
+ This fixture is a development diagnostic, not release evidence. The same recipe
39
+ must also average at least 80% substantive semantic recall on a source-disjoint
40
+ suite while maintaining at least 90% unique supported-fact precision.
41
+
42
+ ## Why 80% is attainable from the evidence already collected
43
+
44
+ The best no-training source-unit run recovered these 20 substantive gold rows:
45
+
46
+ ```text
47
+ G5 G6 G7 G8 G9 G11 G13 G14 G15 G17 G20 G23 G25 G26 G31 G34 G37 G42 G44 G45
48
+ ```
49
+
50
+ That result contains 16 direct rows and four derived rows. It gives a concrete
51
+ bridge to the target:
52
+
53
+ | Increment | New recoverable rows | Running total |
54
+ |---|---|---:|
55
+ | Current source-unit result | 20 reviewed matches | 20/46 |
56
+ | Supply document metadata and run document-topic extraction | G1-G4 | 24/46 |
57
+ | Licensed inverse/decomposition pass over accepted direct facts | G10, G12, G16, G18, G21, G24, G27, G32 | 32/46 |
58
+ | Recover any five remaining causal/reified/discourse rows | Five of G19, G22, G28, G29, G30, G33, G35, G36, G38-G41, G43, G46 | **37/46** |
59
+ | Declared margin target | At least one further row | **38/46** |
60
+
61
+ The inverse increment is not a hard-coded predicate table. It is a trained,
62
+ source-checked D1 generation task that emits a new semantic view only when the
63
+ source plus accepted D0 fact licenses it. Free predicates remain free.
64
+
65
+ This arithmetic is not a claimed future score. It demonstrates that the system
66
+ does not have to solve all 26 remaining misses to reach 80%. It needs metadata,
67
+ reliable learned inverse/decomposition behavior, and five to six improvements in
68
+ the hard causal/reification/discourse set.
69
+
70
+ ## Exact target and evaluation contract
71
+
72
+ ### Gold taxonomy
73
+
74
+ The machine-readable gold contains:
75
+
76
+ | Tier | Rows | 80% floor | Plan gate |
77
+ |---|---:|---:|---:|
78
+ | Substantive direct (`h:false`, G1-G46) | 27 | 22 | 22 |
79
+ | Substantive derived/interpretive (`h:true`, G1-G46) | 19 | 16 | 16 |
80
+ | All substantive | 46 | 37 | **38** |
81
+ | Structural `rdf:type` / `rdfs:label` | 36 | 29 | **29** |
82
+ | Whole gold | 82 | 66 | **67** |
83
+
84
+ ### Matching rule
85
+
86
+ Exact free-predicate string equality remains a conservative debugging signal, not
87
+ the primary score. Evaluation uses one-to-one semantic fact families:
88
+
89
+ - one generated fact may satisfy at most one gold row;
90
+ - inverses count separately only where the gold explicitly includes the inverse;
91
+ - subject/object direction, polarity, modality, temporal scope, attribution, and
92
+ important qualifiers must agree;
93
+ - a vague whole-clause CURIE cannot match a more atomic gold proposition merely
94
+ because its spelling contains the right words;
95
+ - unsupported facts count against precision even when another fact matches gold;
96
+ - structural rows never contribute to the substantive score.
97
+
98
+ This follows the fact-synset principle in BenchIE and avoids both exact-string
99
+ under-credit and duplicate padding.
100
+
101
+ ### Admission gates
102
+
103
+ The `llm_nerd` development fixture must satisfy all of:
104
+
105
+ - substantive recall at least 38/46;
106
+ - direct recall at least 22/27;
107
+ - derived/interpretive recall at least 16/19;
108
+ - structural recall at least 29/36 when structural mode is enabled;
109
+ - unique supported-fact precision at least 90%;
110
+ - no more than one clear role-direction or reflexive error;
111
+ - zero malformed tool calls across three deterministic repeats;
112
+ - bounded completion because all scheduled stages finish, not because the model
113
+ introspects global semantic exhaustion.
114
+
115
+ The source-disjoint admission suite must satisfy:
116
+
117
+ - mean substantive recall at least 80%;
118
+ - lower 95% bootstrap confidence bound at least 75%;
119
+ - no evaluation stratum below 70% recall;
120
+ - mean unique supported-fact precision at least 90%;
121
+ - role/direction error rate below 2%;
122
+ - quantized RTX 3090 recall no more than three percentage points below the BF16
123
+ adapter result.
124
+
125
+ ## What the current model was actually trained to do
126
+
127
+ The V3/V10 supervised pool is much narrower than the new gold contract:
128
+
129
+ - 48 training source families and six validation families;
130
+ - 881 training target facts and 79 validation facts;
131
+ - the 881 training targets contain 600 reviewed semantic facts plus 281 generated
132
+ `rdfs:label` rows;
133
+ - **zero** training targets have `h:true`;
134
+ - **zero** training targets use `rdf:type`;
135
+ - the training contract is direct, exact-anchor extraction with pagination and a
136
+ continuation flag;
137
+ - later V5-V11 variants mostly reweighted or repartitioned these same source
138
+ families rather than adding new semantic supervision.
139
+
140
+ The current adapter was therefore never given positive training examples for the
141
+ 19 `h:true` substantive rows in this gold, never taught type expansion, and was
142
+ deployed behind a prompt that explicitly forbids inverse, derived, hypothesis,
143
+ type, and label output. Expecting it to reach 80% of the new contract is a task
144
+ mismatch, not merely undertraining.
145
+
146
+ The old V10 H100 run processed roughly 9.85 million rendered token positions in
147
+ 5,731 seconds. Its low validation loss measured imitation of the narrow training
148
+ serialization; it did not measure semantic coverage against the new gold.
149
+
150
+ ## Failure-to-component map
151
+
152
+ ### Currently recovered substantive rows
153
+
154
+ | Gold rows | Capability already demonstrated |
155
+ |---|---|
156
+ | G5-G9 | belief, scope, and conditional decomposition |
157
+ | G11 | evidence relation |
158
+ | G13-G15, G17 | characterizations, counterparty relation, relative clause |
159
+ | G20, G23, G25 | vendor/bank inability and geographic qualifier |
160
+ | G26 | quoted leadership advocacy |
161
+ | G31, G34, G37 | counter-China relation and alliance dependency |
162
+ | G42, G44, G45 | contrast and author stance |
163
+ | G6 | at least one useful inverse |
164
+
165
+ ### Missing substantive rows
166
+
167
+ | Gold rows | Failure family | Planned recovery component |
168
+ |---|---|---|
169
+ | G1-G2 | author metadata was absent | metadata envelope plus metadata task |
170
+ | G3-G4 | no document-as-entity topic pass | document-level D0/D1 pass |
171
+ | G10, G12, G16, G18, G21, G24, G27, G32 | licensed inverses/decompositions omitted | D1 adapter task conditioned on accepted D0 ledger |
172
+ | G19, G22 | consequence relation lost | source-unit D0 curriculum for causal markers and coordinated scope |
173
+ | G28 | quote/coreference reference omitted | quotation plus coreference task |
174
+ | G29-G30 | pragmatic implication plus inverse | separately labelled D2 task |
175
+ | G33 | strategic event not reified | event/proposition reification curriculum |
176
+ | G35-G36 | alternate alliance view and enabling relation | D1 relation-aware expansion |
177
+ | G38-G39 | coordinated behavior entity not reified | coordination and event-mode examples |
178
+ | G40-G41 | implied actor/target direction | D2 role inference plus validator |
179
+ | G43 | cross-sentence strategic consequence | D2 discourse task |
180
+ | G46 | argument-level conclusion | document-level D2 task |
181
+
182
+ ### Structural rows
183
+
184
+ The 36 structural rows are not one undifferentiated problem:
185
+
186
+ - 18 label rows come from an entity inventory and source/metadata display names;
187
+ - 18 type rows require open-ended model classification;
188
+ - their prerequisite is creating the correct entity, event, group, worldview,
189
+ effort, alliance, and approach nodes during D0/D1 extraction.
190
+
191
+ The structural pass should consume the accepted entity inventory after semantic
192
+ extraction. It should not compete with D0 fact generation for the same output page.
193
+
194
+ ## The target runtime architecture
195
+
196
+ ```text
197
+ chunk text + document metadata
198
+ -> finite source-unit planner
199
+ -> parallel per-unit D0 extraction adapter
200
+ -> per-unit role/scope validator adapter
201
+ -> accepted D0 ledger
202
+ -> D1 licensed inverse/decomposition pass
203
+ -> optional D2 discourse/interpretation pass
204
+ -> entity type/label pass
205
+ -> semantic-family retrieval and deduplication
206
+ -> Donto ingest
207
+ ```
208
+
209
+ ### Stage 0: metadata envelope
210
+
211
+ Always pass document IRI, author/creator when known, title, date, source kind, and
212
+ the chunk's parent identifiers. The model may then emit document relations such as
213
+ authorship and subject matter. Metadata-derived facts remain provenance-labelled
214
+ so they cannot be mistaken for body-text assertions.
215
+
216
+ ### Stage 1: finite source traversal
217
+
218
+ Partition the already-small Donto chunk into overlapping proposition-bearing
219
+ units. Use stable source-relative IDs. The planner must cover:
220
+
221
+ - finite verbs and predicative adjectives;
222
+ - coordinated predicates and objects;
223
+ - conditionals and consequences;
224
+ - relative clauses and anaphora;
225
+ - quotations and their referents;
226
+ - contrastive branches;
227
+ - document-level argument conclusions.
228
+
229
+ The controller schedules every unit. Qwen's `more_supported_facts` bit does not
230
+ control document completion. A final full-chunk residual pass checks for an
231
+ unassigned proposition, but cannot create an unbounded loop.
232
+
233
+ Within difficult units, the planner may also produce a dynamic entity/event-pair
234
+ worklist and ask the extractor who did or was what to whom for each pair. This is
235
+ relation-aware QA, not a fixed relation taxonomy. It applies the useful
236
+ discriminative-to-generative idea while preserving Donto's free predicates.
237
+
238
+ ### Stage 2: D0 direct extraction
239
+
240
+ Each unit is a short structured-output call. The generated internal record adds
241
+ two fields that are stripped before public ingest:
242
+
243
+ ```json
244
+ {
245
+ "sourceUnitId": "u04",
246
+ "layer": "D0",
247
+ "s": "ex:donald-trump",
248
+ "p": "unableToFind",
249
+ "o": "ex:bank-outside-russia",
250
+ "c": 0.98,
251
+ "h": false
252
+ }
253
+ ```
254
+
255
+ Train the model to split conjunctions, preserve qualifiers, create event or
256
+ proposition entities only when necessary, and read the relation back from subject
257
+ to object before submission.
258
+
259
+ ### Stage 3: learned validator/repairer
260
+
261
+ For each candidate, provide the source unit, resolved local context, and candidate
262
+ fact. Force one of:
263
+
264
+ ```text
265
+ ACCEPT | REVERSE | REWRITE | REJECT | AMBIGUOUS
266
+ ```
267
+
268
+ `REVERSE` and `REWRITE` require a complete replacement fact. This targets the
269
+ five clear hosted errors without asking one broad verifier to regenerate the whole
270
+ ledger. The no-training experiment showed that broad verification either failed
271
+ its tool call or over-pruned good facts.
272
+
273
+ ### Stage 4: D1 semantic views
274
+
275
+ Condition on the accepted D0 ledger and source. Generate useful new, source-
276
+ licensed inverses, decompositions, evidential links, and event relations. Mark
277
+ every row `h:true`. Do not use a hand-maintained inverse-predicate dictionary.
278
+
279
+ ### Stage 5: D2 discourse interpretations
280
+
281
+ Run a separate bounded task for stance, irony, contradictions, likely omitted
282
+ roles, and cross-sentence consequences. D2 is allowed to abstain. Its facts are
283
+ `h:true` and separately measurable. It never prolongs D0 traversal.
284
+
285
+ ### Stage 6: structural expansion
286
+
287
+ Given the accepted entity inventory, emit one label and, where supported, one
288
+ open-ended type per entity. Labels should prefer source or metadata wording. This
289
+ stage is separately switchable and cannot inflate substantive recall.
290
+
291
+ ### Stage 7: semantic aggregation
292
+
293
+ Use the existing Donto embeddings/alignment system to retrieve candidate
294
+ equivalents. A learned source-aware classifier decides semantic family,
295
+ contradiction, and novelty. Store equivalent surface variants in audit provenance
296
+ rather than deleting them. This follows Donto's emit-free/defer-joining model and
297
+ does not introduce a predicate synonym table.
298
+
299
+ ## Training corpus plan
300
+
301
+ ### Splits and scale
302
+
303
+ Do not train on the `llm_nerd` source, close paraphrases of it, its gold, or model
304
+ outputs labelled against it. Keep it as a development fixture.
305
+
306
+ Build in two rounds:
307
+
308
+ | Round | Training sources | Validation sources | Purpose |
309
+ |---|---:|---:|---|
310
+ | Pilot | existing 48 plus at least 100 new | 30 new | establish whether the architecture reaches 65-70% source-disjoint recall |
311
+ | Main | 400-500 total | 60 new | reach and stabilize the 80% target |
312
+
313
+ Preserve a separate sealed 100-source blind suite. Source families, near
314
+ duplicates, document parents, and synthetic templates must be disjoint across all
315
+ splits.
316
+
317
+ The main corpus should target approximately:
318
+
319
+ - 15,000-25,000 accepted substantive facts;
320
+ - 8,000-15,000 D0 unit-generation rows;
321
+ - 4,000-8,000 D1/D2 and structural rows;
322
+ - 15,000-30,000 validator decisions, including Qwen-induced mistakes.
323
+
324
+ These are planning ranges. Progress is decided by semantic learning curves, not
325
+ by reaching a decorative row count.
326
+
327
+ ### Source diversity
328
+
329
+ Stratify real Donto chunks across argumentative comments, news/narrative prose,
330
+ historical OCR, technical/log material, academic analysis, and
331
+ genealogical/administrative records. Within every stratum deliberately sample:
332
+
333
+ - conditionals, negation, modality, attribution, quotation, and reported speech;
334
+ - coordination and shared modifiers;
335
+ - relative clauses and pronouns;
336
+ - causal/evidential markers;
337
+ - temporal and geographic qualifiers;
338
+ - evaluative language and cross-sentence conclusions.
339
+
340
+ Source-balanced batching prevents a high-volume source or repeated predicate
341
+ family from dominating the gradient.
342
+
343
+ ### Teacher construction
344
+
345
+ Use Codex SOTA with the canonical Donto abundance contract as the teacher, in
346
+ separate source-first passes:
347
+
348
+ 1. source-unit plan;
349
+ 2. D0 direct gold;
350
+ 3. D1 licensed views;
351
+ 4. D2 interpretations;
352
+ 5. entity type/label inventory;
353
+ 6. independent source-bound validation and repair.
354
+
355
+ Retain the teacher prompt, rendered input, tool schema, raw output, adjudication,
356
+ source hash, model/version, and accepted/rejected IDs. Human-review a stratified
357
+ sample and every disputed or high-impact row. Do not use the OpenRouter-hosted
358
+ Qwen output as teacher truth; use it to generate realistic student mistakes.
359
+
360
+ ### Synthetic data
361
+
362
+ Use structure-to-text generation aggressively when reviewed real families are
363
+ the limiting resource, while keeping the counts explicit:
364
+
365
+ 1. specify a small target graph with roles, qualifiers, inverse views, and layer;
366
+ 2. ask the teacher to write natural text that expresses it;
367
+ 3. independently re-extract from the text;
368
+ 4. retain only facts supported by both the source-first review and graph contract.
369
+
370
+ This is valuable for rare role/scope patterns because generating text from a
371
+ known structure is easier to audit than inventing labels for arbitrary text.
372
+ Synthetic and real data remain separately counted and reported.
373
+
374
+ ### On-policy hard negatives
375
+
376
+ After each candidate adapter:
377
+
378
+ 1. run it on training sources only;
379
+ 2. capture role reversals, reflexive edges, dropped coordination, scope leakage,
380
+ opaque clause objects, unsupported causality, duplicates, and tool-call
381
+ failures;
382
+ 3. have the source-bound teacher label or repair those exact visited states;
383
+ 4. aggregate them into the next validator/extractor corpus.
384
+
385
+ This DAgger-like loop fixes the distribution gap between pristine teacher
386
+ histories and the states created by Qwen's own prior outputs.
387
+
388
+ ## Training recipe
389
+
390
+ ### Coverage adapter
391
+
392
+ Start every candidate from the pinned stock Qwen3.8-27B revision. Never continue
393
+ from V3-V11.
394
+
395
+ Recommended first recipe:
396
+
397
+ - QLoRA with NF4, double quantization, and BF16 compute;
398
+ - 8,192-token maximum after measuring the new rendered-length distribution; no
399
+ truncation or dropped rows;
400
+ - completion/assistant-only loss;
401
+ - source-balanced, length-bucketed batches;
402
+ - one epoch initially, cosine schedule, 3-5% warmup;
403
+ - learning-rate ablation at `1e-5`, `2e-5`, and `5e-5` on the pilot;
404
+ - compare rank-16 conventional LoRA against rank-32 rsLoRA;
405
+ - dropout 0.05;
406
+ - semantic recall/precision checkpoint selection, not aggregate validation loss.
407
+
408
+ The final learning rate and rank are deliberately not declared in advance. The
409
+ old 5e-5/rank-16 recipe optimized a different task and adapted an incomplete
410
+ module set.
411
+
412
+ ### Correct hybrid-module targets
413
+
414
+ The existing V10 adapter missed every Gated DeltaNet input projection. The
415
+ patched trainer now defines the required 496 text-only modules:
416
+
417
+ | Family | Count |
418
+ |---|---:|
419
+ | Full-attention `q_proj/k_proj/v_proj/o_proj` | 64 |
420
+ | DeltaNet `in_proj_qkv/in_proj_z/in_proj_a/in_proj_b/out_proj` | 240 |
421
+ | MLP `gate_proj/up_proj/down_proj` | 192 |
422
+ | Vision modules | 0 |
423
+
424
+ Every run must persist the resolved module and parameter names and fail before
425
+ training if the census differs. PEFT's QLoRA guidance recommends adapting all
426
+ linear layers; the language-backbone regex achieves that without touching the
427
+ vision tower.
428
+
429
+ ### Validator adapter
430
+
431
+ Train a separate rank-16 adapter on the five-way validation/repair task. A
432
+ separate adapter prevents extraction abundance from competing directly with
433
+ conservative rejection. vLLM can serve multiple LoRA adapters over one base.
434
+
435
+ Begin with structured SFT. After SFT, optionally test a short DPO phase using
436
+ accepted/repaired output as chosen and the student's defective output as rejected:
437
+
438
+ - start around `1e-6` learning rate and `beta=0.1`;
439
+ - keep the reference adapter frozen;
440
+ - run no more than a partial epoch before evaluation;
441
+ - retain DPO only if it improves source-disjoint precision without reducing
442
+ recall or tool-call reliability.
443
+
444
+ DPO is an ablation, not an article of faith. Structured repair SFT may be enough.
445
+
446
+ ### Task mixture
447
+
448
+ Use explicit task contracts rather than mixing every behavior in one unlabelled
449
+ assistant distribution:
450
+
451
+ | Task | Initial sampling weight |
452
+ |---|---:|
453
+ | Source-unit D0 extraction | 45% |
454
+ | D1 inverse/decomposition | 20% |
455
+ | D2 discourse interpretation | 10% |
456
+ | Metadata/topic extraction | 5% |
457
+ | Entity type/label expansion | 10% |
458
+ | Residual coverage probe | 10% |
459
+
460
+ The validator corpus is trained separately. Rebalance these weights using per-task
461
+ validation metrics; do not replicate the same terminal row dozens of times.
462
+
463
+ ### What not to train again
464
+
465
+ - no global `more_supported_facts` objective as the completion authority;
466
+ - no 18K raw multi-page histories merely to teach stopping;
467
+ - no anchor copying objective while anchors are out of scope;
468
+ - no type/label facts mixed into the same capped page as substantive D0 facts;
469
+ - no rejected adapter as the starting weights;
470
+ - no evaluation fixture or close paraphrase in training;
471
+ - no exact predicate vocabulary or inverse lookup table.
472
+
473
+ ## Experiment ladder
474
+
475
+ Run the following sequentially, stopping a branch as soon as it fails its gate:
476
+
477
+ | Experiment | Change from previous | Required result |
478
+ |---|---|---|
479
+ | E0 | Frozen current local unit pipeline | Reproduce baseline and manual score |
480
+ | E1 | New controller, metadata, D1/D2/structural stages; no retraining | Establish architectural ceiling and error corpus |
481
+ | E2 | Pilot D0/D1 coverage SFT, corrected 496-module target set | At least 65% substantive recall on new development sources; precision at least 90% |
482
+ | E3 | Add on-policy validator SFT | Halve role/scope error rate without losing more than two recall points |
483
+ | E4 | Add D2 and structural curriculum | `llm_nerd` at least 38/46 and 67/82; new-suite mean at least 75% |
484
+ | E5 | Scale to 400-500 source families | New-suite mean at least 80% and all admission gates |
485
+ | E6 | Rank/LR/seed confirmation | Same recipe passes with at least two of three seeds |
486
+ | E7 | W4A16 RTX 3090 deployment | No more than three recall points below BF16 and runtime stability passes |
487
+
488
+ Required ablations:
489
+
490
+ - corrected DeltaNet inputs versus the old incomplete target set;
491
+ - rank 16 versus rank 32 rsLoRA;
492
+ - gold-only training versus gold plus on-policy hard negatives;
493
+ - one combined adapter versus separate validator adapter;
494
+ - D0 only versus D0+D1 versus D0+D1+D2;
495
+ - BF16 adapter versus runtime LoRA over the exact W4A16 base;
496
+ - prefix cache/MTP enabled versus disabled for quality parity;
497
+ - 4K versus 8K training context after length measurement.
498
+
499
+ ## Evaluation suite
500
+
501
+ ### Development
502
+
503
+ - retain the current six sources as deterministic regression fixtures;
504
+ - retain `llm_nerd` as the explicit 80%-gold development target;
505
+ - add 60 source-disjoint development documents with complete fact-synset gold;
506
+ - report direct, D1, D2, structural, precision, recall, duplicate rate, role errors,
507
+ tool-call failures, and calls after exhaustion separately.
508
+
509
+ ### Blind
510
+
511
+ - seal 100 source-disjoint documents before main training;
512
+ - include at least ten documents from each important source/failure stratum;
513
+ - evaluate complete trajectories, not a sample of isolated emitted facts;
514
+ - adjudicate identity-blind against the stock model, V10, the new BF16 adapter,
515
+ and the quantized RTX 3090 system;
516
+ - keep every miss, false positive, contradiction, and reviewer disagreement.
517
+
518
+ ### Learning curves
519
+
520
+ At 100, 200, 300, 400, and 500 training source families, evaluate the same frozen
521
+ development suite. Stop adding data only when the curve flattens and the 80% gate
522
+ is stable across seeds. The number of duplicated rows is not a substitute for
523
+ independent sources.
524
+
525
+ ## Hardware, time, and cost
526
+
527
+ Train and serve only on the operator-selected RunPod RTX 3090. The rendered
528
+ training rows top out at 2,263 tokens for coverage and 2,562 for the validator,
529
+ so 4K retains the entire corpus. Standard full-vocabulary cross-entropy exceeded
530
+ 24GB on the longest row; Liger fused loss completed the maximum-row smoke at a
531
+ safe working set. Training cost is therefore budgeted from measured optimizer
532
+ step time on this exact card, not from the old H100 run or raw row count.
533
+
534
+ Planning envelope:
535
+
536
+ | Work | Measured/projected RTX 3090 time |
537
+ |---|---:|
538
+ | Pilot coverage adapter | about 1.5-2 hours including validation/save |
539
+ | Pilot validator adapter | about 1 hour including validation/save |
540
+ | Main coverage candidate per seed | about 6 hours plus semantic evaluation |
541
+ | Main validator candidate | about 4 hours plus semantic evaluation |
542
+ | Two-of-three seed confirmation | run sequentially; approximately 12-18 hours for coverage |
543
+
544
+ These are measured projections, not guarantees or price quotes. Do not start a
545
+ run until the immutable dataset, rendered-length audit, run contract, fused-loss
546
+ maximum-row smoke, and storage floor pass.
547
+
548
+ Serve the admitted system first on the RTX 3090. The 8GB RTX 3070 remains an
549
+ offload experiment, not the quality target. The `syv-ai/qwen38-27b-rtx3090`
550
+ runtime optimizations are useful after semantic admission:
551
+
552
+ - keep prefix caching because every unit call shares the same instruction,
553
+ schema, document, and ledger prefix;
554
+ - retain exact speculative decoding/MTP only after parity tests;
555
+ - use the short-context profile because Donto already chunks documents;
556
+ - batch independent units from one or several documents;
557
+ - do not enable more aggressive lossy activation or cache quantization until the
558
+ 80% suite proves no material regression.
559
+
560
+ If runtime LoRA over the exact W4 base loses more than three recall points against
561
+ BF16, merge into a high-precision base, requantize using representative structured
562
+ extraction trajectories, and rerun every semantic gate.
563
+
564
+ ## Operational safeguards
565
+
566
+ - Keep the production extraction lane paused through E0-E6.
567
+ - Use a separate opt-in `qwen-quality-canary` lane for E7.
568
+ - Never expose blind targets to the trainer, teacher, prompt designer, or
569
+ candidate selector.
570
+ - Hash every source, split, prompt, schema, rendered fixture, model revision,
571
+ adapter, quantization artifact, evaluation packet, and score file.
572
+ - Train fresh from stock for every candidate.
573
+ - Persist failures and rejected adapters; never silently promote the best-looking
574
+ single seed.
575
+ - Verify actual GPU progress, output growth, RAM/swap, and billed pod lifetime.
576
+ - Stop and terminate the RTX 3090 pod immediately after durable artifacts are copied and
577
+ hash-verified.
578
+
579
+ ## Recommended execution order
580
+
581
+ 1. Freeze the 46-row substantive and 82-row whole-gold match ledgers.
582
+ 2. Implement the finite multi-stage controller behind a non-production flag.
583
+ 3. Run E1 with current Qwen locally and capture exact on-policy errors.
584
+ 4. Build and audit the 100-new-source pilot corpus.
585
+ 5. Run the corrected module-target/rank/LR pilot ablations from stock.
586
+ 6. Train the validator on the pilot model's own mistakes.
587
+ 7. Evaluate E2-E4 on `llm_nerd` and 60 new development sources.
588
+ 8. If the learning curve supports the target, expand to 400-500 training sources.
589
+ 9. Train three final seeds, select by source-disjoint semantic metrics, and open
590
+ the blind packet once.
591
+ 10. Quantize/serve on the RTX 3090 canary and compare complete trajectories.
592
+ 11. Promote only after all semantic and runtime gates pass.
593
+
594
+ ## The plan in one sentence
595
+
596
+ Train Qwen to exhaust short source units and generate separately labelled D0/D1/D2
597
+ views, train a second Qwen adapter on its own role/scope mistakes, and let a finite
598
+ controller assemble the result; this is the most credible route from the measured
599
+ 20/46 baseline to at least 38/46 without turning Donto into a fixed-ontology
600
+ extractor.
601
+
602
+ ## Primary research and implementation sources
603
+
604
+ - Qwen3.8 model and reasoning/tool-use contract:
605
+ https://huggingface.co/Qwen/Qwen3.8-27B
606
+ - PEFT LoRA targeting and QLoRA guidance:
607
+ https://huggingface.co/docs/peft/package_reference/lora
608
+ - QLoRA:
609
+ https://arxiv.org/abs/2305.14314
610
+ - Rank-stabilized LoRA:
611
+ https://arxiv.org/abs/2312.03732
612
+ - TRL assistant/completion-only SFT:
613
+ https://huggingface.co/docs/trl/sft_trainer
614
+ - DPO and TRL implementation:
615
+ https://arxiv.org/abs/2305.18290
616
+ and https://huggingface.co/docs/trl/en/dpo_trainer
617
+ - Iterative extraction conditioned on prior results (IMoJIE):
618
+ https://aclanthology.org/2020.acl-main.521/
619
+ - QA-aligned relation extraction (QA4RE):
620
+ https://aclanthology.org/2023.findings-acl.50/
621
+ - Relation-aware two-stage extraction:
622
+ https://aclanthology.org/2025.starsem-1.22/
623
+ - Discriminative-to-generative candidate guidance:
624
+ https://aclanthology.org/2026.acl-long.2093/
625
+ - Discovery, denoising, and prediction for open relations:
626
+ https://aclanthology.org/2025.emnlp-main.459/
627
+ - Fact-synset evaluation (BenchIE):
628
+ https://aclanthology.org/2022.acl-long.307/
629
+ - Synthetic structure-to-text information extraction:
630
+ https://arxiv.org/abs/2303.04132
631
+ - On-policy dataset aggregation:
632
+ https://proceedings.mlr.press/v15/ross11a.html
633
+ - vLLM multi-adapter serving:
634
+ https://docs.vllm.ai/en/stable/features/lora/
635
+ - RTX 3090 Qwen3.8 serving and measured optimization tradeoffs:
636
+ https://github.com/syv-ai/qwen38-27b-rtx3090
637
+ - Current RunPod pricing:
638
+ https://www.runpod.io/pricing
docs/UPSTREAM-ADAPTER-README.md ADDED
@@ -0,0 +1,207 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: /workspace/models/Qwen3.8-27B-BF16
3
+ library_name: peft
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - base_model:adapter:/workspace/models/Qwen3.8-27B-BF16
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.20.0
evaluation/pilot-live-v15-exhaustive-unit-r16-v1-synthetic-gold100-graph-first-v1.json ADDED
The diff for this file is too large to render. See raw diff
 
evaluation/pilot-live-v15-exhaustive-unit-r16-v1-validation-canary1.json ADDED
@@ -0,0 +1,173 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "aggregate": {
3
+ "counts": {
4
+ "calls_failed": 0,
5
+ "calls_ok": 1,
6
+ "duplicate_items": 0,
7
+ "invalid_predicted_items": 0,
8
+ "matched_items": 2,
9
+ "predicted_items": 3,
10
+ "reflexive_entity_items": 0,
11
+ "rows": 1,
12
+ "target_items": 3,
13
+ "valid_predicted_items": 3
14
+ },
15
+ "exact_precision": 0.6666666666666666,
16
+ "exact_recall": 0.6666666666666666,
17
+ "tool_call_success_rate": 1.0
18
+ },
19
+ "bootstrap_95pct_lower_bound": 0.6666666666666666,
20
+ "by_document": {
21
+ "rail-incident-000": {
22
+ "counts": {
23
+ "calls_failed": 0,
24
+ "calls_ok": 1,
25
+ "duplicate_items": 0,
26
+ "invalid_predicted_items": 0,
27
+ "matched_items": 2,
28
+ "predicted_items": 3,
29
+ "reflexive_entity_items": 0,
30
+ "rows": 1,
31
+ "target_items": 3,
32
+ "valid_predicted_items": 3
33
+ },
34
+ "exact_precision": 0.6666666666666666,
35
+ "exact_recall": 0.6666666666666666,
36
+ "tool_call_success_rate": 1.0
37
+ }
38
+ },
39
+ "by_group": {
40
+ "substantive": {
41
+ "counts": {
42
+ "calls_failed": 0,
43
+ "calls_ok": 1,
44
+ "duplicate_items": 0,
45
+ "invalid_predicted_items": 0,
46
+ "matched_items": 2,
47
+ "predicted_items": 3,
48
+ "reflexive_entity_items": 0,
49
+ "rows": 1,
50
+ "target_items": 3,
51
+ "valid_predicted_items": 3
52
+ },
53
+ "exact_precision": 0.6666666666666666,
54
+ "exact_recall": 0.6666666666666666,
55
+ "tool_call_success_rate": 1.0
56
+ }
57
+ },
58
+ "by_stratum": {
59
+ "incident-rail-style0": {
60
+ "counts": {
61
+ "calls_failed": 0,
62
+ "calls_ok": 1,
63
+ "duplicate_items": 0,
64
+ "invalid_predicted_items": 0,
65
+ "matched_items": 2,
66
+ "predicted_items": 3,
67
+ "reflexive_entity_items": 0,
68
+ "rows": 1,
69
+ "target_items": 3,
70
+ "valid_predicted_items": 3
71
+ },
72
+ "exact_precision": 0.6666666666666666,
73
+ "exact_recall": 0.6666666666666666,
74
+ "tool_call_success_rate": 1.0
75
+ }
76
+ },
77
+ "by_task": {
78
+ "metadata": {
79
+ "counts": {
80
+ "calls_failed": 0,
81
+ "calls_ok": 1,
82
+ "duplicate_items": 0,
83
+ "invalid_predicted_items": 0,
84
+ "matched_items": 2,
85
+ "predicted_items": 3,
86
+ "reflexive_entity_items": 0,
87
+ "rows": 1,
88
+ "target_items": 3,
89
+ "valid_predicted_items": 3
90
+ },
91
+ "exact_precision": 0.6666666666666666,
92
+ "exact_recall": 0.6666666666666666,
93
+ "tool_call_success_rate": 1.0
94
+ }
95
+ },
96
+ "manifest": {
97
+ "args": {
98
+ "allow_blind": false,
99
+ "concurrency": 1,
100
+ "dataset": "/mnt/donto-data/donto-resources/extraction/qwen38-distill-20260818/80-percent-gold-plan-20260822/pilot-training-live-v15-exhaustive-unit-v3/validation.jsonl",
101
+ "limit": 1,
102
+ "max_tokens": 1024,
103
+ "model": "pilot-live-v15-exhaustive-unit-r16-v1",
104
+ "output": "/mnt/donto-data/donto-resources/extraction/qwen38-distill-20260818/80-percent-gold-plan-20260822/results/pilot-live-v15-exhaustive-unit-r16-v1-validation-canary1.json",
105
+ "provider": "runpod",
106
+ "tasks": [],
107
+ "timeout_seconds": 300,
108
+ "tools": "/mnt/donto-data/donto-resources/extraction/qwen38-distill-20260818/80-percent-gold-plan-20260822/pilot-training-live-v15-exhaustive-unit-v3/tools.json"
109
+ },
110
+ "binary_sha256": "b0e7092557edd51a3fd5e22edc61649319cc010b07c9e8e9d92a93988e9a4f03",
111
+ "blind_holdout_opened": false,
112
+ "created_at": "2026-08-25T09:20:52.126747637+00:00",
113
+ "dataset": "/mnt/donto-data/donto-resources/extraction/qwen38-distill-20260818/80-percent-gold-plan-20260822/pilot-training-live-v15-exhaustive-unit-v3/validation.jsonl",
114
+ "dataset_sha256": "c360e8296e5ec7973f2fab8416d0b30e2aa850fe6b2cc618bb3fa52894d818b2",
115
+ "elapsed_ms": 9603,
116
+ "git_hash": "12ab526",
117
+ "model": "pilot-live-v15-exhaustive-unit-r16-v1",
118
+ "provider": "runpod",
119
+ "schema": "donto-qwen38-structured-corpus-eval-v1",
120
+ "tool_name": "submit_facts",
121
+ "tools": "/mnt/donto-data/donto-resources/extraction/qwen38-distill-20260818/80-percent-gold-plan-20260822/pilot-training-live-v15-exhaustive-unit-v3/tools.json",
122
+ "tools_sha256": "e02cf3c20831eed00a05598f42f324f9112f7c283b9cd0cef43af96e294c93ab"
123
+ },
124
+ "mean_document_exact_recall": 0.6666666666666666,
125
+ "rows": [
126
+ {
127
+ "arguments": {
128
+ "facts": [
129
+ {
130
+ "c": 0.99,
131
+ "h": false,
132
+ "o": "ex:ari-alder-000",
133
+ "p": "createdBy",
134
+ "s": "ex:rail-operations-review-000"
135
+ },
136
+ {
137
+ "c": 0.99,
138
+ "h": false,
139
+ "o": "2032-01-01",
140
+ "p": "dated",
141
+ "s": "ex:rail-operations-review-000"
142
+ },
143
+ {
144
+ "c": 0.99,
145
+ "h": false,
146
+ "o": "ex:rail-review-panel-000",
147
+ "p": "discusses",
148
+ "s": "ex:rail-operations-review-000"
149
+ }
150
+ ],
151
+ "more_supported_facts": false
152
+ },
153
+ "counts": {
154
+ "calls_failed": 0,
155
+ "calls_ok": 1,
156
+ "duplicate_items": 0,
157
+ "invalid_predicted_items": 0,
158
+ "matched_items": 2,
159
+ "predicted_items": 3,
160
+ "reflexive_entity_items": 0,
161
+ "rows": 1,
162
+ "target_items": 3,
163
+ "valid_predicted_items": 3
164
+ },
165
+ "document_id": "rail-incident-000",
166
+ "elapsed_ms": 9435,
167
+ "error": null,
168
+ "index": 0,
169
+ "parent_template": "incident-rail-style0",
170
+ "task": "metadata"
171
+ }
172
+ ]
173
+ }
evaluation/pilot-live-v15-exhaustive-unit-r16-v1-validation-first30.json ADDED
@@ -0,0 +1,1414 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "aggregate": {
3
+ "counts": {
4
+ "calls_failed": 0,
5
+ "calls_ok": 30,
6
+ "duplicate_items": 0,
7
+ "invalid_predicted_items": 0,
8
+ "matched_items": 52,
9
+ "predicted_items": 57,
10
+ "reflexive_entity_items": 0,
11
+ "rows": 30,
12
+ "target_items": 57,
13
+ "valid_predicted_items": 57
14
+ },
15
+ "exact_precision": 0.9122807017543859,
16
+ "exact_recall": 0.9122807017543859,
17
+ "tool_call_success_rate": 1.0
18
+ },
19
+ "bootstrap_95pct_lower_bound": 0.8913043478260869,
20
+ "by_document": {
21
+ "rail-incident-000": {
22
+ "counts": {
23
+ "calls_failed": 0,
24
+ "calls_ok": 26,
25
+ "duplicate_items": 0,
26
+ "invalid_predicted_items": 0,
27
+ "matched_items": 41,
28
+ "predicted_items": 46,
29
+ "reflexive_entity_items": 0,
30
+ "rows": 26,
31
+ "target_items": 46,
32
+ "valid_predicted_items": 46
33
+ },
34
+ "exact_precision": 0.8913043478260869,
35
+ "exact_recall": 0.8913043478260869,
36
+ "tool_call_success_rate": 1.0
37
+ },
38
+ "university-quote-001": {
39
+ "counts": {
40
+ "calls_failed": 0,
41
+ "calls_ok": 4,
42
+ "duplicate_items": 0,
43
+ "invalid_predicted_items": 0,
44
+ "matched_items": 11,
45
+ "predicted_items": 11,
46
+ "reflexive_entity_items": 0,
47
+ "rows": 4,
48
+ "target_items": 11,
49
+ "valid_predicted_items": 11
50
+ },
51
+ "exact_precision": 1.0,
52
+ "exact_recall": 1.0,
53
+ "tool_call_success_rate": 1.0
54
+ }
55
+ },
56
+ "by_group": {
57
+ "substantive": {
58
+ "counts": {
59
+ "calls_failed": 0,
60
+ "calls_ok": 30,
61
+ "duplicate_items": 0,
62
+ "invalid_predicted_items": 0,
63
+ "matched_items": 52,
64
+ "predicted_items": 57,
65
+ "reflexive_entity_items": 0,
66
+ "rows": 30,
67
+ "target_items": 57,
68
+ "valid_predicted_items": 57
69
+ },
70
+ "exact_precision": 0.9122807017543859,
71
+ "exact_recall": 0.9122807017543859,
72
+ "tool_call_success_rate": 1.0
73
+ }
74
+ },
75
+ "by_stratum": {
76
+ "incident-rail-style0": {
77
+ "counts": {
78
+ "calls_failed": 0,
79
+ "calls_ok": 26,
80
+ "duplicate_items": 0,
81
+ "invalid_predicted_items": 0,
82
+ "matched_items": 41,
83
+ "predicted_items": 46,
84
+ "reflexive_entity_items": 0,
85
+ "rows": 26,
86
+ "target_items": 46,
87
+ "valid_predicted_items": 46
88
+ },
89
+ "exact_precision": 0.8913043478260869,
90
+ "exact_recall": 0.8913043478260869,
91
+ "tool_call_success_rate": 1.0
92
+ },
93
+ "quote-university-style0": {
94
+ "counts": {
95
+ "calls_failed": 0,
96
+ "calls_ok": 4,
97
+ "duplicate_items": 0,
98
+ "invalid_predicted_items": 0,
99
+ "matched_items": 11,
100
+ "predicted_items": 11,
101
+ "reflexive_entity_items": 0,
102
+ "rows": 4,
103
+ "target_items": 11,
104
+ "valid_predicted_items": 11
105
+ },
106
+ "exact_precision": 1.0,
107
+ "exact_recall": 1.0,
108
+ "tool_call_success_rate": 1.0
109
+ }
110
+ },
111
+ "by_task": {
112
+ "d0": {
113
+ "counts": {
114
+ "calls_failed": 0,
115
+ "calls_ok": 7,
116
+ "duplicate_items": 0,
117
+ "invalid_predicted_items": 0,
118
+ "matched_items": 24,
119
+ "predicted_items": 28,
120
+ "reflexive_entity_items": 0,
121
+ "rows": 7,
122
+ "target_items": 28,
123
+ "valid_predicted_items": 28
124
+ },
125
+ "exact_precision": 0.8571428571428571,
126
+ "exact_recall": 0.8571428571428571,
127
+ "tool_call_success_rate": 1.0
128
+ },
129
+ "d1": {
130
+ "counts": {
131
+ "calls_failed": 0,
132
+ "calls_ok": 1,
133
+ "duplicate_items": 0,
134
+ "invalid_predicted_items": 0,
135
+ "matched_items": 0,
136
+ "predicted_items": 0,
137
+ "reflexive_entity_items": 0,
138
+ "rows": 1,
139
+ "target_items": 0,
140
+ "valid_predicted_items": 0
141
+ },
142
+ "exact_precision": null,
143
+ "exact_recall": null,
144
+ "tool_call_success_rate": 1.0
145
+ },
146
+ "d1_unit": {
147
+ "counts": {
148
+ "calls_failed": 0,
149
+ "calls_ok": 8,
150
+ "duplicate_items": 0,
151
+ "invalid_predicted_items": 0,
152
+ "matched_items": 5,
153
+ "predicted_items": 5,
154
+ "reflexive_entity_items": 0,
155
+ "rows": 8,
156
+ "target_items": 5,
157
+ "valid_predicted_items": 5
158
+ },
159
+ "exact_precision": 1.0,
160
+ "exact_recall": 1.0,
161
+ "tool_call_success_rate": 1.0
162
+ },
163
+ "d2": {
164
+ "counts": {
165
+ "calls_failed": 0,
166
+ "calls_ok": 2,
167
+ "duplicate_items": 0,
168
+ "invalid_predicted_items": 0,
169
+ "matched_items": 3,
170
+ "predicted_items": 3,
171
+ "reflexive_entity_items": 0,
172
+ "rows": 2,
173
+ "target_items": 3,
174
+ "valid_predicted_items": 3
175
+ },
176
+ "exact_precision": 1.0,
177
+ "exact_recall": 1.0,
178
+ "tool_call_success_rate": 1.0
179
+ },
180
+ "metadata": {
181
+ "counts": {
182
+ "calls_failed": 0,
183
+ "calls_ok": 2,
184
+ "duplicate_items": 0,
185
+ "invalid_predicted_items": 0,
186
+ "matched_items": 5,
187
+ "predicted_items": 6,
188
+ "reflexive_entity_items": 0,
189
+ "rows": 2,
190
+ "target_items": 6,
191
+ "valid_predicted_items": 6
192
+ },
193
+ "exact_precision": 0.8333333333333334,
194
+ "exact_recall": 0.8333333333333334,
195
+ "tool_call_success_rate": 1.0
196
+ },
197
+ "residual": {
198
+ "counts": {
199
+ "calls_failed": 0,
200
+ "calls_ok": 2,
201
+ "duplicate_items": 0,
202
+ "invalid_predicted_items": 0,
203
+ "matched_items": 3,
204
+ "predicted_items": 3,
205
+ "reflexive_entity_items": 0,
206
+ "rows": 2,
207
+ "target_items": 3,
208
+ "valid_predicted_items": 3
209
+ },
210
+ "exact_precision": 1.0,
211
+ "exact_recall": 1.0,
212
+ "tool_call_success_rate": 1.0
213
+ },
214
+ "residual_unit": {
215
+ "counts": {
216
+ "calls_failed": 0,
217
+ "calls_ok": 6,
218
+ "duplicate_items": 0,
219
+ "invalid_predicted_items": 0,
220
+ "matched_items": 0,
221
+ "predicted_items": 0,
222
+ "reflexive_entity_items": 0,
223
+ "rows": 6,
224
+ "target_items": 0,
225
+ "valid_predicted_items": 0
226
+ },
227
+ "exact_precision": null,
228
+ "exact_recall": null,
229
+ "tool_call_success_rate": 1.0
230
+ },
231
+ "structural_batch": {
232
+ "counts": {
233
+ "calls_failed": 0,
234
+ "calls_ok": 2,
235
+ "duplicate_items": 0,
236
+ "invalid_predicted_items": 0,
237
+ "matched_items": 12,
238
+ "predicted_items": 12,
239
+ "reflexive_entity_items": 0,
240
+ "rows": 2,
241
+ "target_items": 12,
242
+ "valid_predicted_items": 12
243
+ },
244
+ "exact_precision": 1.0,
245
+ "exact_recall": 1.0,
246
+ "tool_call_success_rate": 1.0
247
+ }
248
+ },
249
+ "manifest": {
250
+ "args": {
251
+ "allow_blind": false,
252
+ "concurrency": 4,
253
+ "dataset": "/mnt/donto-data/donto-resources/extraction/qwen38-distill-20260818/80-percent-gold-plan-20260822/pilot-training-live-v15-exhaustive-unit-v3/validation.jsonl",
254
+ "limit": 30,
255
+ "max_tokens": 1024,
256
+ "model": "pilot-live-v15-exhaustive-unit-r16-v1",
257
+ "output": "/mnt/donto-data/donto-resources/extraction/qwen38-distill-20260818/80-percent-gold-plan-20260822/results/pilot-live-v15-exhaustive-unit-r16-v1-validation-first30.json",
258
+ "provider": "runpod",
259
+ "tasks": [],
260
+ "timeout_seconds": 300,
261
+ "tools": "/mnt/donto-data/donto-resources/extraction/qwen38-distill-20260818/80-percent-gold-plan-20260822/pilot-training-live-v15-exhaustive-unit-v3/tools.json"
262
+ },
263
+ "binary_sha256": "b0e7092557edd51a3fd5e22edc61649319cc010b07c9e8e9d92a93988e9a4f03",
264
+ "blind_holdout_opened": false,
265
+ "created_at": "2026-08-25T09:22:37.136692327+00:00",
266
+ "dataset": "/mnt/donto-data/donto-resources/extraction/qwen38-distill-20260818/80-percent-gold-plan-20260822/pilot-training-live-v15-exhaustive-unit-v3/validation.jsonl",
267
+ "dataset_sha256": "c360e8296e5ec7973f2fab8416d0b30e2aa850fe6b2cc618bb3fa52894d818b2",
268
+ "elapsed_ms": 94457,
269
+ "git_hash": "12ab526",
270
+ "model": "pilot-live-v15-exhaustive-unit-r16-v1",
271
+ "provider": "runpod",
272
+ "schema": "donto-qwen38-structured-corpus-eval-v1",
273
+ "tool_name": "submit_facts",
274
+ "tools": "/mnt/donto-data/donto-resources/extraction/qwen38-distill-20260818/80-percent-gold-plan-20260822/pilot-training-live-v15-exhaustive-unit-v3/tools.json",
275
+ "tools_sha256": "e02cf3c20831eed00a05598f42f324f9112f7c283b9cd0cef43af96e294c93ab"
276
+ },
277
+ "mean_document_exact_recall": 0.9456521739130435,
278
+ "rows": [
279
+ {
280
+ "arguments": {
281
+ "facts": [
282
+ {
283
+ "c": 0.99,
284
+ "h": false,
285
+ "o": "ex:ari-alder-000",
286
+ "p": "createdBy",
287
+ "s": "ex:rail-operations-review-000"
288
+ },
289
+ {
290
+ "c": 0.99,
291
+ "h": false,
292
+ "o": "2032-01-01",
293
+ "p": "dated",
294
+ "s": "ex:rail-operations-review-000"
295
+ },
296
+ {
297
+ "c": 0.99,
298
+ "h": false,
299
+ "o": "ex:rail-review-panel-000",
300
+ "p": "discusses",
301
+ "s": "ex:rail-operations-review-000"
302
+ }
303
+ ],
304
+ "more_supported_facts": false
305
+ },
306
+ "counts": {
307
+ "calls_failed": 0,
308
+ "calls_ok": 1,
309
+ "duplicate_items": 0,
310
+ "invalid_predicted_items": 0,
311
+ "matched_items": 2,
312
+ "predicted_items": 3,
313
+ "reflexive_entity_items": 0,
314
+ "rows": 1,
315
+ "target_items": 3,
316
+ "valid_predicted_items": 3
317
+ },
318
+ "document_id": "rail-incident-000",
319
+ "elapsed_ms": 16967,
320
+ "error": null,
321
+ "index": 0,
322
+ "parent_template": "incident-rail-style0",
323
+ "task": "metadata"
324
+ },
325
+ {
326
+ "arguments": {
327
+ "facts": [
328
+ {
329
+ "c": 0.99,
330
+ "h": false,
331
+ "o": "ex:rail-review-panel-000",
332
+ "p": "reportedTo",
333
+ "s": "ex:ari-alder-000"
334
+ },
335
+ {
336
+ "c": 0.99,
337
+ "h": false,
338
+ "o": true,
339
+ "p": "failed",
340
+ "s": "ex:rail-primary-system-000"
341
+ },
342
+ {
343
+ "c": 0.99,
344
+ "h": false,
345
+ "o": true,
346
+ "p": "remainedAvailable",
347
+ "s": "ex:rail-reserve-system-000"
348
+ },
349
+ {
350
+ "c": 0.99,
351
+ "h": false,
352
+ "o": "2032-01-01",
353
+ "p": "occurredOn",
354
+ "s": "ex:primary-event"
355
+ }
356
+ ],
357
+ "more_supported_facts": false
358
+ },
359
+ "counts": {
360
+ "calls_failed": 0,
361
+ "calls_ok": 1,
362
+ "duplicate_items": 0,
363
+ "invalid_predicted_items": 0,
364
+ "matched_items": 4,
365
+ "predicted_items": 4,
366
+ "reflexive_entity_items": 0,
367
+ "rows": 1,
368
+ "target_items": 4,
369
+ "valid_predicted_items": 4
370
+ },
371
+ "document_id": "rail-incident-000",
372
+ "elapsed_ms": 19304,
373
+ "error": null,
374
+ "index": 1,
375
+ "parent_template": "incident-rail-style0",
376
+ "task": "d0"
377
+ },
378
+ {
379
+ "arguments": {
380
+ "facts": [],
381
+ "more_supported_facts": false
382
+ },
383
+ "counts": {
384
+ "calls_failed": 0,
385
+ "calls_ok": 1,
386
+ "duplicate_items": 0,
387
+ "invalid_predicted_items": 0,
388
+ "matched_items": 0,
389
+ "predicted_items": 0,
390
+ "reflexive_entity_items": 0,
391
+ "rows": 1,
392
+ "target_items": 0,
393
+ "valid_predicted_items": 0
394
+ },
395
+ "document_id": "rail-incident-000",
396
+ "elapsed_ms": 6244,
397
+ "error": null,
398
+ "index": 2,
399
+ "parent_template": "incident-rail-style0",
400
+ "task": "residual_unit"
401
+ },
402
+ {
403
+ "arguments": {
404
+ "facts": [
405
+ {
406
+ "c": 0.99,
407
+ "h": false,
408
+ "o": "ex:hugo-lopez-000",
409
+ "p": "instructed",
410
+ "s": "ex:ari-alder-000"
411
+ },
412
+ {
413
+ "c": 0.99,
414
+ "h": false,
415
+ "o": "ex:task-rail-000",
416
+ "p": "instructedToPerform",
417
+ "s": "ex:hugo-lopez-000"
418
+ },
419
+ {
420
+ "c": 0.99,
421
+ "h": false,
422
+ "o": "ex:oona-wu-000",
423
+ "p": "requested",
424
+ "s": "ex:ari-alder-000"
425
+ },
426
+ {
427
+ "c": 0.99,
428
+ "h": false,
429
+ "o": "ex:status-display",
430
+ "p": "requestedToRecord",
431
+ "s": "ex:oona-wu-000"
432
+ }
433
+ ],
434
+ "more_supported_facts": false
435
+ },
436
+ "counts": {
437
+ "calls_failed": 0,
438
+ "calls_ok": 1,
439
+ "duplicate_items": 0,
440
+ "invalid_predicted_items": 0,
441
+ "matched_items": 4,
442
+ "predicted_items": 4,
443
+ "reflexive_entity_items": 0,
444
+ "rows": 1,
445
+ "target_items": 4,
446
+ "valid_predicted_items": 4
447
+ },
448
+ "document_id": "rail-incident-000",
449
+ "elapsed_ms": 20826,
450
+ "error": null,
451
+ "index": 3,
452
+ "parent_template": "incident-rail-style0",
453
+ "task": "d0"
454
+ },
455
+ {
456
+ "arguments": {
457
+ "facts": [],
458
+ "more_supported_facts": false
459
+ },
460
+ "counts": {
461
+ "calls_failed": 0,
462
+ "calls_ok": 1,
463
+ "duplicate_items": 0,
464
+ "invalid_predicted_items": 0,
465
+ "matched_items": 0,
466
+ "predicted_items": 0,
467
+ "reflexive_entity_items": 0,
468
+ "rows": 1,
469
+ "target_items": 0,
470
+ "valid_predicted_items": 0
471
+ },
472
+ "document_id": "rail-incident-000",
473
+ "elapsed_ms": 3512,
474
+ "error": null,
475
+ "index": 4,
476
+ "parent_template": "incident-rail-style0",
477
+ "task": "residual_unit"
478
+ },
479
+ {
480
+ "arguments": {
481
+ "facts": [
482
+ {
483
+ "c": 0.99,
484
+ "h": false,
485
+ "o": "ex:task-rail-000",
486
+ "p": "completed",
487
+ "s": "ex:hugo-lopez-000"
488
+ },
489
+ {
490
+ "c": 0.99,
491
+ "h": false,
492
+ "o": "07:00",
493
+ "p": "completedAt",
494
+ "s": "ex:task-rail-000"
495
+ },
496
+ {
497
+ "c": 0.99,
498
+ "h": false,
499
+ "o": "ex:omitted-step-rail-000",
500
+ "p": "didNotPerform",
501
+ "s": "ex:hugo-lopez-000"
502
+ },
503
+ {
504
+ "c": 0.99,
505
+ "h": false,
506
+ "o": "ex:effect-rail-000",
507
+ "p": "caused",
508
+ "s": "ex:omitted-step-rail-000"
509
+ }
510
+ ],
511
+ "more_supported_facts": false
512
+ },
513
+ "counts": {
514
+ "calls_failed": 0,
515
+ "calls_ok": 1,
516
+ "duplicate_items": 0,
517
+ "invalid_predicted_items": 0,
518
+ "matched_items": 4,
519
+ "predicted_items": 4,
520
+ "reflexive_entity_items": 0,
521
+ "rows": 1,
522
+ "target_items": 4,
523
+ "valid_predicted_items": 4
524
+ },
525
+ "document_id": "rail-incident-000",
526
+ "elapsed_ms": 18295,
527
+ "error": null,
528
+ "index": 5,
529
+ "parent_template": "incident-rail-style0",
530
+ "task": "d0"
531
+ },
532
+ {
533
+ "arguments": {
534
+ "facts": [],
535
+ "more_supported_facts": false
536
+ },
537
+ "counts": {
538
+ "calls_failed": 0,
539
+ "calls_ok": 1,
540
+ "duplicate_items": 0,
541
+ "invalid_predicted_items": 0,
542
+ "matched_items": 0,
543
+ "predicted_items": 0,
544
+ "reflexive_entity_items": 0,
545
+ "rows": 1,
546
+ "target_items": 0,
547
+ "valid_predicted_items": 0
548
+ },
549
+ "document_id": "rail-incident-000",
550
+ "elapsed_ms": 3695,
551
+ "error": null,
552
+ "index": 6,
553
+ "parent_template": "incident-rail-style0",
554
+ "task": "residual_unit"
555
+ },
556
+ {
557
+ "arguments": {
558
+ "facts": [
559
+ {
560
+ "c": 0.99,
561
+ "h": false,
562
+ "o": 40,
563
+ "p": "recordedValue",
564
+ "s": "ex:oona-wu-000"
565
+ },
566
+ {
567
+ "c": 0.99,
568
+ "h": false,
569
+ "o": "ex:ari-alder-000",
570
+ "p": "sentRecordTo",
571
+ "s": "ex:oona-wu-000"
572
+ },
573
+ {
574
+ "c": 0.99,
575
+ "h": false,
576
+ "o": "ex:deployment",
577
+ "p": "postponed",
578
+ "s": "ex:rail-review-panel-000"
579
+ },
580
+ {
581
+ "c": 0.99,
582
+ "h": false,
583
+ "o": "ex:independent-check-complete",
584
+ "p": "until",
585
+ "s": "ex:deployment-postponement"
586
+ }
587
+ ],
588
+ "more_supported_facts": false
589
+ },
590
+ "counts": {
591
+ "calls_failed": 0,
592
+ "calls_ok": 1,
593
+ "duplicate_items": 0,
594
+ "invalid_predicted_items": 0,
595
+ "matched_items": 4,
596
+ "predicted_items": 4,
597
+ "reflexive_entity_items": 0,
598
+ "rows": 1,
599
+ "target_items": 4,
600
+ "valid_predicted_items": 4
601
+ },
602
+ "document_id": "rail-incident-000",
603
+ "elapsed_ms": 19072,
604
+ "error": null,
605
+ "index": 7,
606
+ "parent_template": "incident-rail-style0",
607
+ "task": "d0"
608
+ },
609
+ {
610
+ "arguments": {
611
+ "facts": [],
612
+ "more_supported_facts": false
613
+ },
614
+ "counts": {
615
+ "calls_failed": 0,
616
+ "calls_ok": 1,
617
+ "duplicate_items": 0,
618
+ "invalid_predicted_items": 0,
619
+ "matched_items": 0,
620
+ "predicted_items": 0,
621
+ "reflexive_entity_items": 0,
622
+ "rows": 1,
623
+ "target_items": 0,
624
+ "valid_predicted_items": 0
625
+ },
626
+ "document_id": "rail-incident-000",
627
+ "elapsed_ms": 3674,
628
+ "error": null,
629
+ "index": 8,
630
+ "parent_template": "incident-rail-style0",
631
+ "task": "residual_unit"
632
+ },
633
+ {
634
+ "arguments": {
635
+ "facts": [
636
+ {
637
+ "c": 0.99,
638
+ "h": false,
639
+ "o": "ex:rail-deployment-postponement-000",
640
+ "p": "criticized",
641
+ "s": "ex:vera-hale-000"
642
+ },
643
+ {
644
+ "c": 0.99,
645
+ "h": false,
646
+ "o": "ex:rail-deployment-postponement-000",
647
+ "p": "defended",
648
+ "s": "ex:ari-alder-000"
649
+ },
650
+ {
651
+ "c": 0.99,
652
+ "h": false,
653
+ "o": "ex:rail-omitted-step-000",
654
+ "p": "attributed",
655
+ "s": "ex:rail-automated-alarm-000"
656
+ },
657
+ {
658
+ "c": 0.99,
659
+ "h": false,
660
+ "o": "ex:hugo-lopez-000",
661
+ "p": "didNotAttribute",
662
+ "s": "ex:rail-primary-failure-000"
663
+ }
664
+ ],
665
+ "more_supported_facts": false
666
+ },
667
+ "counts": {
668
+ "calls_failed": 0,
669
+ "calls_ok": 1,
670
+ "duplicate_items": 0,
671
+ "invalid_predicted_items": 0,
672
+ "matched_items": 0,
673
+ "predicted_items": 4,
674
+ "reflexive_entity_items": 0,
675
+ "rows": 1,
676
+ "target_items": 4,
677
+ "valid_predicted_items": 4
678
+ },
679
+ "document_id": "rail-incident-000",
680
+ "elapsed_ms": 21648,
681
+ "error": null,
682
+ "index": 9,
683
+ "parent_template": "incident-rail-style0",
684
+ "task": "d0"
685
+ },
686
+ {
687
+ "arguments": {
688
+ "facts": [],
689
+ "more_supported_facts": false
690
+ },
691
+ "counts": {
692
+ "calls_failed": 0,
693
+ "calls_ok": 1,
694
+ "duplicate_items": 0,
695
+ "invalid_predicted_items": 0,
696
+ "matched_items": 0,
697
+ "predicted_items": 0,
698
+ "reflexive_entity_items": 0,
699
+ "rows": 1,
700
+ "target_items": 0,
701
+ "valid_predicted_items": 0
702
+ },
703
+ "document_id": "rail-incident-000",
704
+ "elapsed_ms": 3542,
705
+ "error": null,
706
+ "index": 10,
707
+ "parent_template": "incident-rail-style0",
708
+ "task": "residual_unit"
709
+ },
710
+ {
711
+ "arguments": {
712
+ "facts": [
713
+ {
714
+ "c": 0.99,
715
+ "h": false,
716
+ "o": 40,
717
+ "p": "value",
718
+ "s": "ex:status-record"
719
+ },
720
+ {
721
+ "c": 0.99,
722
+ "h": false,
723
+ "o": "ex:oona-wu-000",
724
+ "p": "sentBy",
725
+ "s": "ex:status-record"
726
+ },
727
+ {
728
+ "c": 0.99,
729
+ "h": false,
730
+ "o": "ex:hugo-lopez-000",
731
+ "p": "notAttributedTo",
732
+ "s": "ex:original-failure"
733
+ }
734
+ ],
735
+ "more_supported_facts": false
736
+ },
737
+ "counts": {
738
+ "calls_failed": 0,
739
+ "calls_ok": 1,
740
+ "duplicate_items": 0,
741
+ "invalid_predicted_items": 0,
742
+ "matched_items": 3,
743
+ "predicted_items": 3,
744
+ "reflexive_entity_items": 0,
745
+ "rows": 1,
746
+ "target_items": 3,
747
+ "valid_predicted_items": 3
748
+ },
749
+ "document_id": "rail-incident-000",
750
+ "elapsed_ms": 15933,
751
+ "error": null,
752
+ "index": 11,
753
+ "parent_template": "incident-rail-style0",
754
+ "task": "residual"
755
+ },
756
+ {
757
+ "arguments": {
758
+ "facts": [],
759
+ "more_supported_facts": false
760
+ },
761
+ "counts": {
762
+ "calls_failed": 0,
763
+ "calls_ok": 1,
764
+ "duplicate_items": 0,
765
+ "invalid_predicted_items": 0,
766
+ "matched_items": 0,
767
+ "predicted_items": 0,
768
+ "reflexive_entity_items": 0,
769
+ "rows": 1,
770
+ "target_items": 0,
771
+ "valid_predicted_items": 0
772
+ },
773
+ "document_id": "rail-incident-000",
774
+ "elapsed_ms": 4883,
775
+ "error": null,
776
+ "index": 12,
777
+ "parent_template": "incident-rail-style0",
778
+ "task": "residual"
779
+ },
780
+ {
781
+ "arguments": {
782
+ "facts": [
783
+ {
784
+ "c": 0.92,
785
+ "h": true,
786
+ "o": "ex:ari-alder-000",
787
+ "p": "receivedReportFrom",
788
+ "s": "ex:rail-review-panel-000"
789
+ }
790
+ ],
791
+ "more_supported_facts": false
792
+ },
793
+ "counts": {
794
+ "calls_failed": 0,
795
+ "calls_ok": 1,
796
+ "duplicate_items": 0,
797
+ "invalid_predicted_items": 0,
798
+ "matched_items": 1,
799
+ "predicted_items": 1,
800
+ "reflexive_entity_items": 0,
801
+ "rows": 1,
802
+ "target_items": 1,
803
+ "valid_predicted_items": 1
804
+ },
805
+ "document_id": "rail-incident-000",
806
+ "elapsed_ms": 7981,
807
+ "error": null,
808
+ "index": 13,
809
+ "parent_template": "incident-rail-style0",
810
+ "task": "d1_unit"
811
+ },
812
+ {
813
+ "arguments": {
814
+ "facts": [],
815
+ "more_supported_facts": false
816
+ },
817
+ "counts": {
818
+ "calls_failed": 0,
819
+ "calls_ok": 1,
820
+ "duplicate_items": 0,
821
+ "invalid_predicted_items": 0,
822
+ "matched_items": 0,
823
+ "predicted_items": 0,
824
+ "reflexive_entity_items": 0,
825
+ "rows": 1,
826
+ "target_items": 0,
827
+ "valid_predicted_items": 0
828
+ },
829
+ "document_id": "rail-incident-000",
830
+ "elapsed_ms": 3931,
831
+ "error": null,
832
+ "index": 14,
833
+ "parent_template": "incident-rail-style0",
834
+ "task": "d1_unit"
835
+ },
836
+ {
837
+ "arguments": {
838
+ "facts": [
839
+ {
840
+ "c": 0.92,
841
+ "h": true,
842
+ "o": "ex:ari-alder-000",
843
+ "p": "receivedInstructionFrom",
844
+ "s": "ex:hugo-lopez-000"
845
+ },
846
+ {
847
+ "c": 0.92,
848
+ "h": true,
849
+ "o": "ex:ari-alder-000",
850
+ "p": "receivedRequestFrom",
851
+ "s": "ex:oona-wu-000"
852
+ },
853
+ {
854
+ "c": 0.92,
855
+ "h": true,
856
+ "o": "ex:oona-wu-000",
857
+ "p": "receivedRecordFrom",
858
+ "s": "ex:ari-alder-000"
859
+ }
860
+ ],
861
+ "more_supported_facts": false
862
+ },
863
+ "counts": {
864
+ "calls_failed": 0,
865
+ "calls_ok": 1,
866
+ "duplicate_items": 0,
867
+ "invalid_predicted_items": 0,
868
+ "matched_items": 3,
869
+ "predicted_items": 3,
870
+ "reflexive_entity_items": 0,
871
+ "rows": 1,
872
+ "target_items": 3,
873
+ "valid_predicted_items": 3
874
+ },
875
+ "document_id": "rail-incident-000",
876
+ "elapsed_ms": 19858,
877
+ "error": null,
878
+ "index": 15,
879
+ "parent_template": "incident-rail-style0",
880
+ "task": "d1_unit"
881
+ },
882
+ {
883
+ "arguments": {
884
+ "facts": [],
885
+ "more_supported_facts": false
886
+ },
887
+ "counts": {
888
+ "calls_failed": 0,
889
+ "calls_ok": 1,
890
+ "duplicate_items": 0,
891
+ "invalid_predicted_items": 0,
892
+ "matched_items": 0,
893
+ "predicted_items": 0,
894
+ "reflexive_entity_items": 0,
895
+ "rows": 1,
896
+ "target_items": 0,
897
+ "valid_predicted_items": 0
898
+ },
899
+ "document_id": "rail-incident-000",
900
+ "elapsed_ms": 4232,
901
+ "error": null,
902
+ "index": 16,
903
+ "parent_template": "incident-rail-style0",
904
+ "task": "d1_unit"
905
+ },
906
+ {
907
+ "arguments": {
908
+ "facts": [
909
+ {
910
+ "c": 0.92,
911
+ "h": true,
912
+ "o": "ex:omitted-step-rail-000",
913
+ "p": "causedBy",
914
+ "s": "ex:effect-rail-000"
915
+ }
916
+ ],
917
+ "more_supported_facts": false
918
+ },
919
+ "counts": {
920
+ "calls_failed": 0,
921
+ "calls_ok": 1,
922
+ "duplicate_items": 0,
923
+ "invalid_predicted_items": 0,
924
+ "matched_items": 1,
925
+ "predicted_items": 1,
926
+ "reflexive_entity_items": 0,
927
+ "rows": 1,
928
+ "target_items": 1,
929
+ "valid_predicted_items": 1
930
+ },
931
+ "document_id": "rail-incident-000",
932
+ "elapsed_ms": 9552,
933
+ "error": null,
934
+ "index": 17,
935
+ "parent_template": "incident-rail-style0",
936
+ "task": "d1_unit"
937
+ },
938
+ {
939
+ "arguments": {
940
+ "facts": [],
941
+ "more_supported_facts": false
942
+ },
943
+ "counts": {
944
+ "calls_failed": 0,
945
+ "calls_ok": 1,
946
+ "duplicate_items": 0,
947
+ "invalid_predicted_items": 0,
948
+ "matched_items": 0,
949
+ "predicted_items": 0,
950
+ "reflexive_entity_items": 0,
951
+ "rows": 1,
952
+ "target_items": 0,
953
+ "valid_predicted_items": 0
954
+ },
955
+ "document_id": "rail-incident-000",
956
+ "elapsed_ms": 3905,
957
+ "error": null,
958
+ "index": 18,
959
+ "parent_template": "incident-rail-style0",
960
+ "task": "d1_unit"
961
+ },
962
+ {
963
+ "arguments": {
964
+ "facts": [],
965
+ "more_supported_facts": false
966
+ },
967
+ "counts": {
968
+ "calls_failed": 0,
969
+ "calls_ok": 1,
970
+ "duplicate_items": 0,
971
+ "invalid_predicted_items": 0,
972
+ "matched_items": 0,
973
+ "predicted_items": 0,
974
+ "reflexive_entity_items": 0,
975
+ "rows": 1,
976
+ "target_items": 0,
977
+ "valid_predicted_items": 0
978
+ },
979
+ "document_id": "rail-incident-000",
980
+ "elapsed_ms": 3820,
981
+ "error": null,
982
+ "index": 19,
983
+ "parent_template": "incident-rail-style0",
984
+ "task": "d1_unit"
985
+ },
986
+ {
987
+ "arguments": {
988
+ "facts": [],
989
+ "more_supported_facts": false
990
+ },
991
+ "counts": {
992
+ "calls_failed": 0,
993
+ "calls_ok": 1,
994
+ "duplicate_items": 0,
995
+ "invalid_predicted_items": 0,
996
+ "matched_items": 0,
997
+ "predicted_items": 0,
998
+ "reflexive_entity_items": 0,
999
+ "rows": 1,
1000
+ "target_items": 0,
1001
+ "valid_predicted_items": 0
1002
+ },
1003
+ "document_id": "rail-incident-000",
1004
+ "elapsed_ms": 5779,
1005
+ "error": null,
1006
+ "index": 20,
1007
+ "parent_template": "incident-rail-style0",
1008
+ "task": "d1_unit"
1009
+ },
1010
+ {
1011
+ "arguments": {
1012
+ "facts": [],
1013
+ "more_supported_facts": false
1014
+ },
1015
+ "counts": {
1016
+ "calls_failed": 0,
1017
+ "calls_ok": 1,
1018
+ "duplicate_items": 0,
1019
+ "invalid_predicted_items": 0,
1020
+ "matched_items": 0,
1021
+ "predicted_items": 0,
1022
+ "reflexive_entity_items": 0,
1023
+ "rows": 1,
1024
+ "target_items": 0,
1025
+ "valid_predicted_items": 0
1026
+ },
1027
+ "document_id": "rail-incident-000",
1028
+ "elapsed_ms": 5970,
1029
+ "error": null,
1030
+ "index": 21,
1031
+ "parent_template": "incident-rail-style0",
1032
+ "task": "d1"
1033
+ },
1034
+ {
1035
+ "arguments": {
1036
+ "facts": [
1037
+ {
1038
+ "c": 0.92,
1039
+ "h": true,
1040
+ "o": "ex:postponement-protected-staff",
1041
+ "p": "contrastsWith",
1042
+ "s": "ex:postponement-wasted-money"
1043
+ },
1044
+ {
1045
+ "c": 0.92,
1046
+ "h": true,
1047
+ "o": "ex:effect-rail-000",
1048
+ "p": "explains",
1049
+ "s": "ex:omitted-step-rail-000"
1050
+ },
1051
+ {
1052
+ "c": 0.92,
1053
+ "h": true,
1054
+ "o": "ex:deployment",
1055
+ "p": "isPreconditionFor",
1056
+ "s": "ex:independent-check"
1057
+ }
1058
+ ],
1059
+ "more_supported_facts": false
1060
+ },
1061
+ "counts": {
1062
+ "calls_failed": 0,
1063
+ "calls_ok": 1,
1064
+ "duplicate_items": 0,
1065
+ "invalid_predicted_items": 0,
1066
+ "matched_items": 3,
1067
+ "predicted_items": 3,
1068
+ "reflexive_entity_items": 0,
1069
+ "rows": 1,
1070
+ "target_items": 3,
1071
+ "valid_predicted_items": 3
1072
+ },
1073
+ "document_id": "rail-incident-000",
1074
+ "elapsed_ms": 17798,
1075
+ "error": null,
1076
+ "index": 22,
1077
+ "parent_template": "incident-rail-style0",
1078
+ "task": "d2"
1079
+ },
1080
+ {
1081
+ "arguments": {
1082
+ "facts": [],
1083
+ "more_supported_facts": false
1084
+ },
1085
+ "counts": {
1086
+ "calls_failed": 0,
1087
+ "calls_ok": 1,
1088
+ "duplicate_items": 0,
1089
+ "invalid_predicted_items": 0,
1090
+ "matched_items": 0,
1091
+ "predicted_items": 0,
1092
+ "reflexive_entity_items": 0,
1093
+ "rows": 1,
1094
+ "target_items": 0,
1095
+ "valid_predicted_items": 0
1096
+ },
1097
+ "document_id": "rail-incident-000",
1098
+ "elapsed_ms": 4707,
1099
+ "error": null,
1100
+ "index": 23,
1101
+ "parent_template": "incident-rail-style0",
1102
+ "task": "d2"
1103
+ },
1104
+ {
1105
+ "arguments": {
1106
+ "facts": [
1107
+ {
1108
+ "c": 0.92,
1109
+ "h": true,
1110
+ "o": "ex:Person",
1111
+ "p": "rdf:type",
1112
+ "s": "ex:ari-alder-000"
1113
+ },
1114
+ {
1115
+ "c": 0.99,
1116
+ "h": false,
1117
+ "o": "Ari Alder-000",
1118
+ "p": "rdfs:label",
1119
+ "s": "ex:ari-alder-000"
1120
+ },
1121
+ {
1122
+ "c": 0.92,
1123
+ "h": true,
1124
+ "o": "ex:Person",
1125
+ "p": "rdf:type",
1126
+ "s": "ex:hugo-lopez-000"
1127
+ },
1128
+ {
1129
+ "c": 0.99,
1130
+ "h": false,
1131
+ "o": "Hugo Lopez-000",
1132
+ "p": "rdfs:label",
1133
+ "s": "ex:hugo-lopez-000"
1134
+ },
1135
+ {
1136
+ "c": 0.92,
1137
+ "h": true,
1138
+ "o": "ex:Person",
1139
+ "p": "rdf:type",
1140
+ "s": "ex:oona-wu-000"
1141
+ },
1142
+ {
1143
+ "c": 0.99,
1144
+ "h": false,
1145
+ "o": "Oona Wu-000",
1146
+ "p": "rdfs:label",
1147
+ "s": "ex:oona-wu-000"
1148
+ },
1149
+ {
1150
+ "c": 0.92,
1151
+ "h": true,
1152
+ "o": "ex:Event",
1153
+ "p": "rdf:type",
1154
+ "s": "ex:primary-event"
1155
+ },
1156
+ {
1157
+ "c": 0.92,
1158
+ "h": true,
1159
+ "o": "primary event",
1160
+ "p": "rdfs:label",
1161
+ "s": "ex:primary-event"
1162
+ },
1163
+ {
1164
+ "c": 0.92,
1165
+ "h": true,
1166
+ "o": "ex:SyntheticTrainingDocument",
1167
+ "p": "rdf:type",
1168
+ "s": "ex:rail-operations-review-000"
1169
+ },
1170
+ {
1171
+ "c": 0.99,
1172
+ "h": false,
1173
+ "o": "Rail Operations Review 000",
1174
+ "p": "rdfs:label",
1175
+ "s": "ex:rail-operations-review-000"
1176
+ },
1177
+ {
1178
+ "c": 0.92,
1179
+ "h": true,
1180
+ "o": "ex:Organization",
1181
+ "p": "rdf:type",
1182
+ "s": "ex:rail-review-panel-000"
1183
+ },
1184
+ {
1185
+ "c": 0.99,
1186
+ "h": false,
1187
+ "o": "Rail Review Panel 000",
1188
+ "p": "rdfs:label",
1189
+ "s": "ex:rail-review-panel-000"
1190
+ }
1191
+ ],
1192
+ "more_supported_facts": false
1193
+ },
1194
+ "counts": {
1195
+ "calls_failed": 0,
1196
+ "calls_ok": 1,
1197
+ "duplicate_items": 0,
1198
+ "invalid_predicted_items": 0,
1199
+ "matched_items": 12,
1200
+ "predicted_items": 12,
1201
+ "reflexive_entity_items": 0,
1202
+ "rows": 1,
1203
+ "target_items": 12,
1204
+ "valid_predicted_items": 12
1205
+ },
1206
+ "document_id": "rail-incident-000",
1207
+ "elapsed_ms": 37290,
1208
+ "error": null,
1209
+ "index": 24,
1210
+ "parent_template": "incident-rail-style0",
1211
+ "task": "structural_batch"
1212
+ },
1213
+ {
1214
+ "arguments": {
1215
+ "facts": [],
1216
+ "more_supported_facts": false
1217
+ },
1218
+ "counts": {
1219
+ "calls_failed": 0,
1220
+ "calls_ok": 1,
1221
+ "duplicate_items": 0,
1222
+ "invalid_predicted_items": 0,
1223
+ "matched_items": 0,
1224
+ "predicted_items": 0,
1225
+ "reflexive_entity_items": 0,
1226
+ "rows": 1,
1227
+ "target_items": 0,
1228
+ "valid_predicted_items": 0
1229
+ },
1230
+ "document_id": "rail-incident-000",
1231
+ "elapsed_ms": 4333,
1232
+ "error": null,
1233
+ "index": 25,
1234
+ "parent_template": "incident-rail-style0",
1235
+ "task": "structural_batch"
1236
+ },
1237
+ {
1238
+ "arguments": {
1239
+ "facts": [
1240
+ {
1241
+ "c": 0.99,
1242
+ "h": false,
1243
+ "o": "ex:dara-xu-001",
1244
+ "p": "authoredBy",
1245
+ "s": "ex:university-testimony-digest-001"
1246
+ },
1247
+ {
1248
+ "c": 0.99,
1249
+ "h": false,
1250
+ "o": "2030",
1251
+ "p": "dated",
1252
+ "s": "ex:university-testimony-digest-001"
1253
+ },
1254
+ {
1255
+ "c": 0.99,
1256
+ "h": false,
1257
+ "o": "ex:committee-hearing",
1258
+ "p": "describes",
1259
+ "s": "ex:university-testimony-digest-001"
1260
+ }
1261
+ ],
1262
+ "more_supported_facts": false
1263
+ },
1264
+ "counts": {
1265
+ "calls_failed": 0,
1266
+ "calls_ok": 1,
1267
+ "duplicate_items": 0,
1268
+ "invalid_predicted_items": 0,
1269
+ "matched_items": 3,
1270
+ "predicted_items": 3,
1271
+ "reflexive_entity_items": 0,
1272
+ "rows": 1,
1273
+ "target_items": 3,
1274
+ "valid_predicted_items": 3
1275
+ },
1276
+ "document_id": "university-quote-001",
1277
+ "elapsed_ms": 16390,
1278
+ "error": null,
1279
+ "index": 26,
1280
+ "parent_template": "quote-university-style0",
1281
+ "task": "metadata"
1282
+ },
1283
+ {
1284
+ "arguments": {
1285
+ "facts": [
1286
+ {
1287
+ "c": 0.99,
1288
+ "h": false,
1289
+ "o": "ex:dara-xu-001",
1290
+ "p": "authoredBy",
1291
+ "s": "ex:university-testimony-digest-001"
1292
+ },
1293
+ {
1294
+ "c": 0.99,
1295
+ "h": false,
1296
+ "o": "ex:committee-hearing",
1297
+ "p": "describes",
1298
+ "s": "ex:university-testimony-digest-001"
1299
+ },
1300
+ {
1301
+ "c": 0.99,
1302
+ "h": false,
1303
+ "o": "ex:university-committee-001",
1304
+ "p": "heldBy",
1305
+ "s": "ex:committee-hearing"
1306
+ },
1307
+ {
1308
+ "c": 0.99,
1309
+ "h": false,
1310
+ "o": "2029-02-02",
1311
+ "p": "heldOn",
1312
+ "s": "ex:committee-hearing"
1313
+ }
1314
+ ],
1315
+ "more_supported_facts": false
1316
+ },
1317
+ "counts": {
1318
+ "calls_failed": 0,
1319
+ "calls_ok": 1,
1320
+ "duplicate_items": 0,
1321
+ "invalid_predicted_items": 0,
1322
+ "matched_items": 4,
1323
+ "predicted_items": 4,
1324
+ "reflexive_entity_items": 0,
1325
+ "rows": 1,
1326
+ "target_items": 4,
1327
+ "valid_predicted_items": 4
1328
+ },
1329
+ "document_id": "university-quote-001",
1330
+ "elapsed_ms": 19404,
1331
+ "error": null,
1332
+ "index": 27,
1333
+ "parent_template": "quote-university-style0",
1334
+ "task": "d0"
1335
+ },
1336
+ {
1337
+ "arguments": {
1338
+ "facts": [],
1339
+ "more_supported_facts": false
1340
+ },
1341
+ "counts": {
1342
+ "calls_failed": 0,
1343
+ "calls_ok": 1,
1344
+ "duplicate_items": 0,
1345
+ "invalid_predicted_items": 0,
1346
+ "matched_items": 0,
1347
+ "predicted_items": 0,
1348
+ "reflexive_entity_items": 0,
1349
+ "rows": 1,
1350
+ "target_items": 0,
1351
+ "valid_predicted_items": 0
1352
+ },
1353
+ "document_id": "university-quote-001",
1354
+ "elapsed_ms": 4078,
1355
+ "error": null,
1356
+ "index": 28,
1357
+ "parent_template": "quote-university-style0",
1358
+ "task": "residual_unit"
1359
+ },
1360
+ {
1361
+ "arguments": {
1362
+ "facts": [
1363
+ {
1364
+ "c": 0.99,
1365
+ "h": false,
1366
+ "o": "ex:speaker-statement",
1367
+ "p": "reports",
1368
+ "s": "ex:dara-xu-001"
1369
+ },
1370
+ {
1371
+ "c": 0.99,
1372
+ "h": false,
1373
+ "o": "ex:rhea-tran-001",
1374
+ "p": "told",
1375
+ "s": "ex:kira-ito-001"
1376
+ },
1377
+ {
1378
+ "c": 0.99,
1379
+ "h": false,
1380
+ "o": "ex:external-review",
1381
+ "p": "approved",
1382
+ "s": "ex:kira-ito-001"
1383
+ },
1384
+ {
1385
+ "c": 0.99,
1386
+ "h": false,
1387
+ "o": "ex:university-proposal-001",
1388
+ "p": "didNotApprove",
1389
+ "s": "ex:kira-ito-001"
1390
+ }
1391
+ ],
1392
+ "more_supported_facts": false
1393
+ },
1394
+ "counts": {
1395
+ "calls_failed": 0,
1396
+ "calls_ok": 1,
1397
+ "duplicate_items": 0,
1398
+ "invalid_predicted_items": 0,
1399
+ "matched_items": 4,
1400
+ "predicted_items": 4,
1401
+ "reflexive_entity_items": 0,
1402
+ "rows": 1,
1403
+ "target_items": 4,
1404
+ "valid_predicted_items": 4
1405
+ },
1406
+ "document_id": "university-quote-001",
1407
+ "elapsed_ms": 14177,
1408
+ "error": null,
1409
+ "index": 29,
1410
+ "parent_template": "quote-university-style0",
1411
+ "task": "d0"
1412
+ }
1413
+ ]
1414
+ }
evaluation/pilot-live-v15-exhaustive-unit-r16-v1-validation-full1085.json ADDED
The diff for this file is too large to render. See raw diff
 
examples/structured_client.py ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Forced-tool example for a running Donto-Qwen vLLM endpoint."""
3
+
4
+ from typing import Union
5
+
6
+ from openai import OpenAI
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+
10
+ class Fact(BaseModel):
11
+ model_config = ConfigDict(extra="forbid")
12
+
13
+ s: str
14
+ p: str
15
+ o: Union[str, int, float, bool]
16
+ c: float = Field(ge=0.0, le=1.0)
17
+ h: bool
18
+
19
+
20
+ class Submission(BaseModel):
21
+ model_config = ConfigDict(extra="forbid")
22
+
23
+ facts: list[Fact] = Field(max_length=64)
24
+ more_supported_facts: bool
25
+
26
+
27
+ TOOLS = [
28
+ {
29
+ "type": "function",
30
+ "function": {
31
+ "name": "submit_facts",
32
+ "description": "Submit validated Donto extraction facts.",
33
+ "parameters": Submission.model_json_schema(),
34
+ },
35
+ }
36
+ ]
37
+
38
+ SOURCE = """Ari reported that the primary system failed, while the reserve
39
+ system remained available. The panel postponed deployment until an independent
40
+ check was complete. Vera said the postponement wasted money, but Ari argued that
41
+ it protected staff."""
42
+
43
+ PROMPT = f"""Extract every atomic proposition directly supported by SOURCE.
44
+ Preserve attribution, contrast, modality, and negation. Use stable ex:kebab-case
45
+ entities, concise camelCase predicates, h:false for direct facts, and no prose.
46
+
47
+ SOURCE:
48
+ {SOURCE}
49
+ """
50
+
51
+ client = OpenAI(base_url="http://127.0.0.1:8000/v1", api_key="unused")
52
+ response = client.chat.completions.create(
53
+ model="donto-qwen",
54
+ messages=[{"role": "user", "content": PROMPT}],
55
+ tools=TOOLS,
56
+ tool_choice={"type": "function", "function": {"name": "submit_facts"}},
57
+ temperature=0,
58
+ max_tokens=1024,
59
+ extra_body={"chat_template_kwargs": {"enable_thinking": False, "preserve_thinking": False}},
60
+ )
61
+
62
+ call = response.choices[0].message.tool_calls[0]
63
+ submission = Submission.model_validate_json(call.function.arguments)
64
+ print(submission.model_dump_json(indent=2))
65
+
examples/vllm_serve.sh ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ ADAPTER_DIR=${ADAPTER_DIR:-./donto-qwen/runtime/vllm-conditional}
5
+
6
+ vllm serve Qwen/Qwen3.8-27B \
7
+ --served-model-name qwen3.8-27b \
8
+ --language-model-only \
9
+ --quantization bitsandbytes \
10
+ --load-format bitsandbytes \
11
+ --dtype bfloat16 \
12
+ --max-model-len 4096 \
13
+ --max-num-seqs 4 \
14
+ --max-num-batched-tokens 2048 \
15
+ --enable-prefix-caching \
16
+ --generation-config vllm \
17
+ --reasoning-parser qwen3 \
18
+ --enable-auto-tool-choice \
19
+ --tool-call-parser qwen3_coder \
20
+ --enable-lora \
21
+ --lora-modules "donto-qwen=${ADAPTER_DIR}" \
22
+ --max-loras 1 \
23
+ --max-lora-rank 16
24
+
requirements.txt ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ accelerate==1.14.0
2
+ bitsandbytes==0.50.1
3
+ huggingface-hub>=1.28.0
4
+ peft==0.20.0
5
+ pydantic>=2.0
6
+ openai>=1.0
7
+ safetensors>=0.4
8
+ torch>=2.8.0
9
+ transformers==5.15.0
10
+ vllm==0.27.1
11
+
runtime/vllm-conditional/REMAPPING-MANIFEST.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "blind_holdout_opened": false,
3
+ "created_at": "2026-08-25T09:14:27.332868+00:00",
4
+ "original_target_modules": ".*(?:language_model\\.)?layers\\.\\d+\\.(?:self_attn\\.(?:q_proj|k_proj|v_proj|o_proj)|linear_attn\\.(?:in_proj_qkv|in_proj_z|in_proj_a|in_proj_b|out_proj)|mlp\\.(?:gate_proj|up_proj|down_proj))$",
5
+ "output": "/workspace/donto-qwen80/pilot-live-v15-exhaustive-unit-r16-lr2e5-seed38-v1/vllm-conditional",
6
+ "output_adapter_sha256": "28df663ffa70bf541cafff2c9bb60df11e4fe000a2ea9124b346a9cc3eb20d8b",
7
+ "output_config_sha256": "1f8abcefc88d6db74239c889fd2246c94b45da3b58c9d68ba8360692b39f06a2",
8
+ "schema": "donto-qwen38-vllm-conditional-adapter-remap-v1",
9
+ "source": "/workspace/donto-qwen80/pilot-live-v15-exhaustive-unit-r16-lr2e5-seed38-v1/final",
10
+ "source_adapter_sha256": "40d11bcad20061f8291741c4dd8a3701405902f336c27b60592d62d6b2f7a974",
11
+ "source_config_sha256": "a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875",
12
+ "source_key_prefix": "base_model.model.model.layers.",
13
+ "target_key_prefix": "base_model.model.model.language_model.layers.",
14
+ "tensor_count": 992,
15
+ "tensor_values_changed": false,
16
+ "vllm_target_modules": [
17
+ "q_proj",
18
+ "k_proj",
19
+ "v_proj",
20
+ "o_proj",
21
+ "in_proj_qkv",
22
+ "in_proj_z",
23
+ "in_proj_a",
24
+ "in_proj_b",
25
+ "out_proj",
26
+ "gate_proj",
27
+ "up_proj",
28
+ "down_proj"
29
+ ]
30
+ }
runtime/vllm-conditional/adapter_config.json ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "Qwen/Qwen3.8-27B",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 32,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.05,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "monteclora_config": null,
27
+ "peft_type": "LORA",
28
+ "peft_version": "0.20.0",
29
+ "qalora_group_size": 16,
30
+ "r": 16,
31
+ "rank_pattern": {},
32
+ "revision": "1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0",
33
+ "target_modules": [
34
+ "q_proj",
35
+ "k_proj",
36
+ "v_proj",
37
+ "o_proj",
38
+ "in_proj_qkv",
39
+ "in_proj_z",
40
+ "in_proj_a",
41
+ "in_proj_b",
42
+ "out_proj",
43
+ "gate_proj",
44
+ "up_proj",
45
+ "down_proj"
46
+ ],
47
+ "target_parameters": null,
48
+ "task_type": "CAUSAL_LM",
49
+ "trainable_token_indices": null,
50
+ "use_bdlora": null,
51
+ "use_dora": false,
52
+ "use_qalora": false,
53
+ "use_rslora": false,
54
+ "velora_config": null
55
+ }
runtime/vllm-conditional/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:28df663ffa70bf541cafff2c9bb60df11e4fe000a2ea9124b346a9cc3eb20d8b
3
+ size 467062560
runtime/vllm-conditional/chat_template.jinja ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
4
+ {%- if content is string %}
5
+ {{- content }}
6
+ {%- elif content is iterable and content is not mapping %}
7
+ {%- for item in content %}
8
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
9
+ {%- if is_system_content %}
10
+ {{- raise_exception('System message cannot contain images.') }}
11
+ {%- endif %}
12
+ {%- if do_vision_count %}
13
+ {%- set image_count.value = image_count.value + 1 %}
14
+ {%- endif %}
15
+ {%- if add_vision_id %}
16
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
17
+ {%- endif %}
18
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
19
+ {%- elif 'video' in item or item.type == 'video' %}
20
+ {%- if is_system_content %}
21
+ {{- raise_exception('System message cannot contain videos.') }}
22
+ {%- endif %}
23
+ {%- if do_vision_count %}
24
+ {%- set video_count.value = video_count.value + 1 %}
25
+ {%- endif %}
26
+ {%- if add_vision_id %}
27
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
28
+ {%- endif %}
29
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
30
+ {%- elif 'text' in item %}
31
+ {{- item.text }}
32
+ {%- else %}
33
+ {{- raise_exception('Unexpected item type in content.') }}
34
+ {%- endif %}
35
+ {%- endfor %}
36
+ {%- elif content is none or content is undefined %}
37
+ {{- '' }}
38
+ {%- else %}
39
+ {{- raise_exception('Unexpected content type.') }}
40
+ {%- endif %}
41
+ {%- endmacro %}
42
+ {%- if not messages %}
43
+ {{- raise_exception('No messages provided.') }}
44
+ {%- endif %}
45
+ {%- set reasoning_instructions = '' %}
46
+ {%- if enable_thinking is undefined or enable_thinking is true %}
47
+ {%- set resolved_reasoning_effort = reasoning_effort|default('xhigh') %}
48
+ {%- if resolved_reasoning_effort not in ('xhigh', 'medium', 'low') %}
49
+ {{- raise_exception('Unexpected reasoning effort ' ~ reasoning_effort ~ '. Supported types are xhigh (default), medium, and low.') }}
50
+ {%- endif %}
51
+ {%- if resolved_reasoning_effort == 'xhigh' %}
52
+ {%- set reasoning_instructions = 'Reasoning effort is set to xhigh. Please think carefully through the task, validate key assumptions, consider plausible alternatives, and prioritize correctness, consistency, and clarity in the final answer.' %}
53
+ {%- elif resolved_reasoning_effort == 'low' %}
54
+ {%- set reasoning_instructions = 'Reasoning effort is set to low. Keep your thinking brief and focused, moving directly to the conclusion without unnecessary elaboration.' %}
55
+ {%- endif %}
56
+ {%- endif %}
57
+ {%- if tools and tools is iterable and tools is not mapping %}
58
+ {{- '<|im_start|>system\n' }}
59
+ {%- if reasoning_instructions %}
60
+ {{- reasoning_instructions + '\n\n' }}
61
+ {%- endif %}
62
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
63
+ {%- for tool in tools %}
64
+ {{- "\n" }}
65
+ {{- tool | tojson }}
66
+ {%- endfor %}
67
+ {{- "\n</tools>" }}
68
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
69
+ {%- if messages[0].role == 'system' %}
70
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
71
+ {%- if content %}
72
+ {{- '\n\n' + content }}
73
+ {%- endif %}
74
+ {%- endif %}
75
+ {{- '<|im_end|>\n' }}
76
+ {%- else %}
77
+ {%- if messages[0].role == 'system' %}
78
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
79
+ {%- if content %}
80
+ {{- '<|im_start|>system\n' + (reasoning_instructions + '\n\n' if reasoning_instructions else '') + content + '<|im_end|>\n' }}
81
+ {%- elif reasoning_instructions %}
82
+ {{- '<|im_start|>system\n' + reasoning_instructions + '<|im_end|>\n' }}
83
+ {%- endif %}
84
+ {%- elif reasoning_instructions %}
85
+ {{- '<|im_start|>system\n' + reasoning_instructions + '<|im_end|>\n' }}
86
+ {%- endif %}
87
+ {%- endif %}
88
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
89
+ {%- for message in messages[::-1] %}
90
+ {%- set index = (messages|length - 1) - loop.index0 %}
91
+ {%- if ns.multi_step_tool and message.role == "user" %}
92
+ {%- set content = render_content(message.content, false)|trim %}
93
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
94
+ {%- set ns.multi_step_tool = false %}
95
+ {%- set ns.last_query_index = index %}
96
+ {%- endif %}
97
+ {%- endif %}
98
+ {%- endfor %}
99
+ {%- if ns.multi_step_tool %}
100
+ {{- raise_exception('No user query found in messages.') }}
101
+ {%- endif %}
102
+ {%- for message in messages %}
103
+ {%- set content = render_content(message.content, true)|trim %}
104
+ {%- if message.role == "system" %}
105
+ {%- if not loop.first %}
106
+ {{- raise_exception('System message must be at the beginning.') }}
107
+ {%- endif %}
108
+ {%- elif message.role == "user" %}
109
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
110
+ {%- elif message.role == "assistant" %}
111
+ {%- set reasoning_content = '' %}
112
+ {%- if message.reasoning_content is string %}
113
+ {%- set reasoning_content = message.reasoning_content %}
114
+ {%- endif %}
115
+ {%- set reasoning_content = reasoning_content|trim %}
116
+ {%- if preserve_thinking is undefined or preserve_thinking is true or loop.index0 > ns.last_query_index %}
117
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
118
+ {%- else %}
119
+ {{- '<|im_start|>' + message.role + '\n' + content }}
120
+ {%- endif %}
121
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
122
+ {%- for tool_call in message.tool_calls %}
123
+ {%- if tool_call.function is defined %}
124
+ {%- set tool_call = tool_call.function %}
125
+ {%- endif %}
126
+ {%- if loop.first %}
127
+ {%- if content|trim %}
128
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
129
+ {%- else %}
130
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
131
+ {%- endif %}
132
+ {%- else %}
133
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
134
+ {%- endif %}
135
+ {%- if tool_call.arguments is defined and tool_call.arguments != '' %}
136
+ {%- for args_name, args_value in tool_call.arguments|items %}
137
+ {{- '<parameter=' + args_name + '>\n' }}
138
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
139
+ {{- args_value }}
140
+ {{- '\n</parameter>\n' }}
141
+ {%- endfor %}
142
+ {%- endif %}
143
+ {{- '</function>\n</tool_call>' }}
144
+ {%- endfor %}
145
+ {%- endif %}
146
+ {{- '<|im_end|>\n' }}
147
+ {%- elif message.role == "tool" %}
148
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
149
+ {{- '<|im_start|>user' }}
150
+ {%- endif %}
151
+ {{- '\n<tool_response>\n' }}
152
+ {{- content }}
153
+ {{- '\n</tool_response>' }}
154
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
155
+ {{- '<|im_end|>\n' }}
156
+ {%- elif loop.last %}
157
+ {{- '<|im_end|>\n' }}
158
+ {%- endif %}
159
+ {%- else %}
160
+ {{- raise_exception('Unexpected message role.') }}
161
+ {%- endif %}
162
+ {%- endfor %}
163
+ {%- if add_generation_prompt %}
164
+ {{- '<|im_start|>assistant\n' }}
165
+ {%- if enable_thinking is defined and enable_thinking is false %}
166
+ {{- '<think>\n\n</think>\n\n' }}
167
+ {%- else %}
168
+ {{- '<think>\n' }}
169
+ {%- endif %}
170
+ {%- endif %}
schemas/tools.json ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "function": {
4
+ "description": "Submit validated donto extraction facts for the source document.",
5
+ "name": "submit_facts",
6
+ "parameters": {
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "facts": {
10
+ "items": {
11
+ "additionalProperties": false,
12
+ "properties": {
13
+ "c": {
14
+ "description": "Confidence from 0 to 1.",
15
+ "maximum": 1,
16
+ "minimum": 0,
17
+ "type": "number"
18
+ },
19
+ "h": {
20
+ "description": "True when inferred/unanchorable/hypothesis.",
21
+ "type": "boolean"
22
+ },
23
+ "o": {
24
+ "anyOf": [
25
+ {
26
+ "type": "string"
27
+ },
28
+ {
29
+ "type": "number"
30
+ },
31
+ {
32
+ "type": "boolean"
33
+ }
34
+ ],
35
+ "description": "Object: entity IRI string, natural literal string, number, or boolean."
36
+ },
37
+ "p": {
38
+ "description": "Precise camelCase predicate, or canonical rdf:type/rdfs:label/skos:broader/sameAs.",
39
+ "type": "string"
40
+ },
41
+ "s": {
42
+ "description": "Subject IRI, usually ex:/ctx:/http(s).",
43
+ "type": "string"
44
+ }
45
+ },
46
+ "required": [
47
+ "s",
48
+ "p",
49
+ "o",
50
+ "c",
51
+ "h"
52
+ ],
53
+ "type": "object"
54
+ },
55
+ "maxItems": 64,
56
+ "type": "array"
57
+ },
58
+ "more_supported_facts": {
59
+ "description": "True only when another page of genuinely new, source-supported facts remains after this page.",
60
+ "type": "boolean"
61
+ }
62
+ },
63
+ "required": [
64
+ "facts",
65
+ "more_supported_facts"
66
+ ],
67
+ "type": "object"
68
+ }
69
+ },
70
+ "type": "function"
71
+ }
72
+ ]
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
tokenizer_config.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "audio_bos_token": "<|audio_start|>",
4
+ "audio_eos_token": "<|audio_end|>",
5
+ "audio_token": "<|audio_pad|>",
6
+ "backend": "tokenizers",
7
+ "bos_token": null,
8
+ "clean_up_tokenization_spaces": false,
9
+ "eos_token": "<|im_end|>",
10
+ "errors": "replace",
11
+ "image_token": "<|image_pad|>",
12
+ "is_local": true,
13
+ "local_files_only": false,
14
+ "model_max_length": 262144,
15
+ "model_specific_special_tokens": {
16
+ "audio_bos_token": "<|audio_start|>",
17
+ "audio_eos_token": "<|audio_end|>",
18
+ "audio_token": "<|audio_pad|>",
19
+ "image_token": "<|image_pad|>",
20
+ "video_token": "<|video_pad|>",
21
+ "vision_bos_token": "<|vision_start|>",
22
+ "vision_eos_token": "<|vision_end|>"
23
+ },
24
+ "pad_token": "<|endoftext|>",
25
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
26
+ "split_special_tokens": false,
27
+ "tokenizer_class": "Qwen2Tokenizer",
28
+ "unk_token": null,
29
+ "video_token": "<|video_pad|>",
30
+ "vision_bos_token": "<|vision_start|>",
31
+ "vision_eos_token": "<|vision_end|>"
32
+ }
training/checkpoints/checkpoint-100/CHECKSUMS.sha256 ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ df9859f741f75a96a958b358a1c08817e5fa6ff4a8fe8eed85a01add501ae7f1 README.md
2
+ a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875 adapter_config.json
3
+ ac0fc8a29bdf8bd0de70dd275333cd6cd82e328a161ea86ac44e5e956bb85e67 adapter_model.safetensors
4
+ dc9b5826d72f74051d11212ee12965cbeb2654b4d262f8f26defca7c8c614dfc optimizer.pt
5
+ 4f4fb89bca81c597f60365bb7d285322d907cd99644e7fdd098368a51d8c8a57 rng_state.pth
6
+ 61f4fb0f34daf13abf304a22501429019f5b65ec145513f2a2ded5685f8e4142 scheduler.pt
7
+ 3257b63824c8c43da377913156b18400525c69caea5bca71c671d6eb49b5a75c trainer_state.json
8
+ 175111135c9d40b63054d1ef321345f80de8c4d21717241624ae93bced357d6c training_args.bin
training/checkpoints/checkpoint-100/adapter_config.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "Qwen/Qwen3.8-27B",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 32,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.05,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "monteclora_config": null,
27
+ "peft_type": "LORA",
28
+ "peft_version": "0.20.0",
29
+ "qalora_group_size": 16,
30
+ "r": 16,
31
+ "rank_pattern": {},
32
+ "revision": "1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0",
33
+ "target_modules": ".*(?:language_model\\.)?layers\\.\\d+\\.(?:self_attn\\.(?:q_proj|k_proj|v_proj|o_proj)|linear_attn\\.(?:in_proj_qkv|in_proj_z|in_proj_a|in_proj_b|out_proj)|mlp\\.(?:gate_proj|up_proj|down_proj))$",
34
+ "target_parameters": null,
35
+ "task_type": "CAUSAL_LM",
36
+ "trainable_token_indices": null,
37
+ "use_bdlora": null,
38
+ "use_dora": false,
39
+ "use_qalora": false,
40
+ "use_rslora": false,
41
+ "velora_config": null
42
+ }
training/checkpoints/checkpoint-100/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ac0fc8a29bdf8bd0de70dd275333cd6cd82e328a161ea86ac44e5e956bb85e67
3
+ size 467047680
training/checkpoints/checkpoint-100/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61f4fb0f34daf13abf304a22501429019f5b65ec145513f2a2ded5685f8e4142
3
+ size 1465
training/checkpoints/checkpoint-100/trainer_state.json ADDED
@@ -0,0 +1,734 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_global_step": null,
3
+ "best_metric": null,
4
+ "best_model_checkpoint": null,
5
+ "epoch": 0.18801410105757932,
6
+ "eval_steps": 500,
7
+ "global_step": 100,
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.0018801410105757932,
14
+ "grad_norm": 1.1068099737167358,
15
+ "learning_rate": 0.0,
16
+ "loss": 0.18984749913215637,
17
+ "step": 1
18
+ },
19
+ {
20
+ "epoch": 0.0037602820211515863,
21
+ "grad_norm": 0.8424890041351318,
22
+ "learning_rate": 7.407407407407407e-07,
23
+ "loss": 0.210465207695961,
24
+ "step": 2
25
+ },
26
+ {
27
+ "epoch": 0.00564042303172738,
28
+ "grad_norm": 1.3556126356124878,
29
+ "learning_rate": 1.4814814814814815e-06,
30
+ "loss": 0.14603234827518463,
31
+ "step": 3
32
+ },
33
+ {
34
+ "epoch": 0.007520564042303173,
35
+ "grad_norm": 0.9265269637107849,
36
+ "learning_rate": 2.222222222222222e-06,
37
+ "loss": 0.17247749865055084,
38
+ "step": 4
39
+ },
40
+ {
41
+ "epoch": 0.009400705052878966,
42
+ "grad_norm": 0.9704127907752991,
43
+ "learning_rate": 2.962962962962963e-06,
44
+ "loss": 0.21077993512153625,
45
+ "step": 5
46
+ },
47
+ {
48
+ "epoch": 0.01128084606345476,
49
+ "grad_norm": 0.5968538522720337,
50
+ "learning_rate": 3.7037037037037037e-06,
51
+ "loss": 0.17516383528709412,
52
+ "step": 6
53
+ },
54
+ {
55
+ "epoch": 0.013160987074030552,
56
+ "grad_norm": 0.763954222202301,
57
+ "learning_rate": 4.444444444444444e-06,
58
+ "loss": 0.18361800909042358,
59
+ "step": 7
60
+ },
61
+ {
62
+ "epoch": 0.015041128084606345,
63
+ "grad_norm": 0.7724475264549255,
64
+ "learning_rate": 5.185185185185185e-06,
65
+ "loss": 0.23388183116912842,
66
+ "step": 8
67
+ },
68
+ {
69
+ "epoch": 0.01692126909518214,
70
+ "grad_norm": 0.9471437931060791,
71
+ "learning_rate": 5.925925925925926e-06,
72
+ "loss": 0.1946387141942978,
73
+ "step": 9
74
+ },
75
+ {
76
+ "epoch": 0.01880141010575793,
77
+ "grad_norm": 0.6618597507476807,
78
+ "learning_rate": 6.666666666666667e-06,
79
+ "loss": 0.17781661450862885,
80
+ "step": 10
81
+ },
82
+ {
83
+ "epoch": 0.020681551116333723,
84
+ "grad_norm": 0.8230735659599304,
85
+ "learning_rate": 7.4074074074074075e-06,
86
+ "loss": 0.23627348244190216,
87
+ "step": 11
88
+ },
89
+ {
90
+ "epoch": 0.02256169212690952,
91
+ "grad_norm": 0.7146603465080261,
92
+ "learning_rate": 8.148148148148148e-06,
93
+ "loss": 0.1887625753879547,
94
+ "step": 12
95
+ },
96
+ {
97
+ "epoch": 0.02444183313748531,
98
+ "grad_norm": 0.4817526936531067,
99
+ "learning_rate": 8.888888888888888e-06,
100
+ "loss": 0.12693078815937042,
101
+ "step": 13
102
+ },
103
+ {
104
+ "epoch": 0.026321974148061103,
105
+ "grad_norm": 0.6374757885932922,
106
+ "learning_rate": 9.62962962962963e-06,
107
+ "loss": 0.2233470380306244,
108
+ "step": 14
109
+ },
110
+ {
111
+ "epoch": 0.0282021151586369,
112
+ "grad_norm": 0.5233004093170166,
113
+ "learning_rate": 1.037037037037037e-05,
114
+ "loss": 0.1184539720416069,
115
+ "step": 15
116
+ },
117
+ {
118
+ "epoch": 0.03008225616921269,
119
+ "grad_norm": 0.3556949496269226,
120
+ "learning_rate": 1.1111111111111113e-05,
121
+ "loss": 0.13150134682655334,
122
+ "step": 16
123
+ },
124
+ {
125
+ "epoch": 0.031962397179788486,
126
+ "grad_norm": 0.3290539085865021,
127
+ "learning_rate": 1.1851851851851852e-05,
128
+ "loss": 0.15358321368694305,
129
+ "step": 17
130
+ },
131
+ {
132
+ "epoch": 0.03384253819036428,
133
+ "grad_norm": 0.4063560664653778,
134
+ "learning_rate": 1.2592592592592593e-05,
135
+ "loss": 0.10221662372350693,
136
+ "step": 18
137
+ },
138
+ {
139
+ "epoch": 0.03572267920094007,
140
+ "grad_norm": 0.3550509512424469,
141
+ "learning_rate": 1.3333333333333333e-05,
142
+ "loss": 0.1078157126903534,
143
+ "step": 19
144
+ },
145
+ {
146
+ "epoch": 0.03760282021151586,
147
+ "grad_norm": 0.6627258062362671,
148
+ "learning_rate": 1.4074074074074075e-05,
149
+ "loss": 0.21149909496307373,
150
+ "step": 20
151
+ },
152
+ {
153
+ "epoch": 0.039482961222091655,
154
+ "grad_norm": 0.46360066533088684,
155
+ "learning_rate": 1.4814814814814815e-05,
156
+ "loss": 0.1677466630935669,
157
+ "step": 21
158
+ },
159
+ {
160
+ "epoch": 0.04136310223266745,
161
+ "grad_norm": 0.3896161913871765,
162
+ "learning_rate": 1.555555555555556e-05,
163
+ "loss": 0.12463660538196564,
164
+ "step": 22
165
+ },
166
+ {
167
+ "epoch": 0.043243243243243246,
168
+ "grad_norm": 0.8209279775619507,
169
+ "learning_rate": 1.6296296296296297e-05,
170
+ "loss": 0.15096110105514526,
171
+ "step": 23
172
+ },
173
+ {
174
+ "epoch": 0.04512338425381904,
175
+ "grad_norm": 0.32191896438598633,
176
+ "learning_rate": 1.7037037037037038e-05,
177
+ "loss": 0.1416177600622177,
178
+ "step": 24
179
+ },
180
+ {
181
+ "epoch": 0.04700352526439483,
182
+ "grad_norm": 1.9557298421859741,
183
+ "learning_rate": 1.7777777777777777e-05,
184
+ "loss": 0.12210831791162491,
185
+ "step": 25
186
+ },
187
+ {
188
+ "epoch": 0.04888366627497062,
189
+ "grad_norm": 0.5610401630401611,
190
+ "learning_rate": 1.851851851851852e-05,
191
+ "loss": 0.13184665143489838,
192
+ "step": 26
193
+ },
194
+ {
195
+ "epoch": 0.050763807285546414,
196
+ "grad_norm": 0.2798151671886444,
197
+ "learning_rate": 1.925925925925926e-05,
198
+ "loss": 0.1487886756658554,
199
+ "step": 27
200
+ },
201
+ {
202
+ "epoch": 0.052643948296122206,
203
+ "grad_norm": 0.5388768911361694,
204
+ "learning_rate": 2e-05,
205
+ "loss": 0.15049003064632416,
206
+ "step": 28
207
+ },
208
+ {
209
+ "epoch": 0.054524089306698005,
210
+ "grad_norm": 0.5584218502044678,
211
+ "learning_rate": 1.9999806497939984e-05,
212
+ "loss": 0.11046376824378967,
213
+ "step": 29
214
+ },
215
+ {
216
+ "epoch": 0.0564042303172738,
217
+ "grad_norm": 0.4847019612789154,
218
+ "learning_rate": 1.999922599924854e-05,
219
+ "loss": 0.15236796438694,
220
+ "step": 30
221
+ },
222
+ {
223
+ "epoch": 0.05828437132784959,
224
+ "grad_norm": 0.30841490626335144,
225
+ "learning_rate": 1.9998258526391207e-05,
226
+ "loss": 0.10093137621879578,
227
+ "step": 31
228
+ },
229
+ {
230
+ "epoch": 0.06016451233842538,
231
+ "grad_norm": 0.39490729570388794,
232
+ "learning_rate": 1.9996904116809586e-05,
233
+ "loss": 0.15531431138515472,
234
+ "step": 32
235
+ },
236
+ {
237
+ "epoch": 0.06204465334900117,
238
+ "grad_norm": 0.5662699937820435,
239
+ "learning_rate": 1.999516282291988e-05,
240
+ "loss": 0.21666380763053894,
241
+ "step": 33
242
+ },
243
+ {
244
+ "epoch": 0.06392479435957697,
245
+ "grad_norm": 0.42729634046554565,
246
+ "learning_rate": 1.9993034712110888e-05,
247
+ "loss": 0.12972058355808258,
248
+ "step": 34
249
+ },
250
+ {
251
+ "epoch": 0.06580493537015276,
252
+ "grad_norm": 0.35263097286224365,
253
+ "learning_rate": 1.999051986674137e-05,
254
+ "loss": 0.12465275079011917,
255
+ "step": 35
256
+ },
257
+ {
258
+ "epoch": 0.06768507638072856,
259
+ "grad_norm": 0.535301685333252,
260
+ "learning_rate": 1.998761838413688e-05,
261
+ "loss": 0.09896158427000046,
262
+ "step": 36
263
+ },
264
+ {
265
+ "epoch": 0.06956521739130435,
266
+ "grad_norm": 0.3752855062484741,
267
+ "learning_rate": 1.998433037658599e-05,
268
+ "loss": 0.1280779242515564,
269
+ "step": 37
270
+ },
271
+ {
272
+ "epoch": 0.07144535840188014,
273
+ "grad_norm": 0.981087327003479,
274
+ "learning_rate": 1.9980655971335944e-05,
275
+ "loss": 0.09660309553146362,
276
+ "step": 38
277
+ },
278
+ {
279
+ "epoch": 0.07332549941245593,
280
+ "grad_norm": 0.335188090801239,
281
+ "learning_rate": 1.997659531058774e-05,
282
+ "loss": 0.11915186047554016,
283
+ "step": 39
284
+ },
285
+ {
286
+ "epoch": 0.07520564042303172,
287
+ "grad_norm": 0.42213037610054016,
288
+ "learning_rate": 1.997214855149063e-05,
289
+ "loss": 0.11343645304441452,
290
+ "step": 40
291
+ },
292
+ {
293
+ "epoch": 0.07708578143360752,
294
+ "grad_norm": 0.33926352858543396,
295
+ "learning_rate": 1.996731586613601e-05,
296
+ "loss": 0.13173750042915344,
297
+ "step": 41
298
+ },
299
+ {
300
+ "epoch": 0.07896592244418331,
301
+ "grad_norm": 0.27011075615882874,
302
+ "learning_rate": 1.9962097441550803e-05,
303
+ "loss": 0.11818286776542664,
304
+ "step": 42
305
+ },
306
+ {
307
+ "epoch": 0.0808460634547591,
308
+ "grad_norm": 0.23559340834617615,
309
+ "learning_rate": 1.995649347969019e-05,
310
+ "loss": 0.05154850333929062,
311
+ "step": 43
312
+ },
313
+ {
314
+ "epoch": 0.0827262044653349,
315
+ "grad_norm": 0.4766392707824707,
316
+ "learning_rate": 1.9950504197429796e-05,
317
+ "loss": 0.15302187204360962,
318
+ "step": 44
319
+ },
320
+ {
321
+ "epoch": 0.0846063454759107,
322
+ "grad_norm": 0.49355629086494446,
323
+ "learning_rate": 1.9944129826557322e-05,
324
+ "loss": 0.13926656544208527,
325
+ "step": 45
326
+ },
327
+ {
328
+ "epoch": 0.08648648648648649,
329
+ "grad_norm": 0.34948262572288513,
330
+ "learning_rate": 1.9937370613763544e-05,
331
+ "loss": 0.10971198230981827,
332
+ "step": 46
333
+ },
334
+ {
335
+ "epoch": 0.08836662749706228,
336
+ "grad_norm": 0.42241406440734863,
337
+ "learning_rate": 1.993022682063278e-05,
338
+ "loss": 0.12660646438598633,
339
+ "step": 47
340
+ },
341
+ {
342
+ "epoch": 0.09024676850763808,
343
+ "grad_norm": 0.5842728018760681,
344
+ "learning_rate": 1.992269872363277e-05,
345
+ "loss": 0.11435609310865402,
346
+ "step": 48
347
+ },
348
+ {
349
+ "epoch": 0.09212690951821387,
350
+ "grad_norm": 0.6219758987426758,
351
+ "learning_rate": 1.991478661410396e-05,
352
+ "loss": 0.1371983140707016,
353
+ "step": 49
354
+ },
355
+ {
356
+ "epoch": 0.09400705052878966,
357
+ "grad_norm": 0.6244561076164246,
358
+ "learning_rate": 1.9906490798248267e-05,
359
+ "loss": 0.14317655563354492,
360
+ "step": 50
361
+ },
362
+ {
363
+ "epoch": 0.09588719153936545,
364
+ "grad_norm": 0.4238940477371216,
365
+ "learning_rate": 1.9897811597117168e-05,
366
+ "loss": 0.08538961410522461,
367
+ "step": 51
368
+ },
369
+ {
370
+ "epoch": 0.09776733254994124,
371
+ "grad_norm": 0.4316694140434265,
372
+ "learning_rate": 1.988874934659932e-05,
373
+ "loss": 0.11634167283773422,
374
+ "step": 52
375
+ },
376
+ {
377
+ "epoch": 0.09964747356051704,
378
+ "grad_norm": 0.27498969435691833,
379
+ "learning_rate": 1.987930439740757e-05,
380
+ "loss": 0.05380123108625412,
381
+ "step": 53
382
+ },
383
+ {
384
+ "epoch": 0.10152761457109283,
385
+ "grad_norm": 0.30491945147514343,
386
+ "learning_rate": 1.9869477115065327e-05,
387
+ "loss": 0.09966330975294113,
388
+ "step": 54
389
+ },
390
+ {
391
+ "epoch": 0.10340775558166862,
392
+ "grad_norm": 0.2556721866130829,
393
+ "learning_rate": 1.985926787989247e-05,
394
+ "loss": 0.05556664243340492,
395
+ "step": 55
396
+ },
397
+ {
398
+ "epoch": 0.10528789659224441,
399
+ "grad_norm": 0.29667940735816956,
400
+ "learning_rate": 1.9848677086990605e-05,
401
+ "loss": 0.053319964557886124,
402
+ "step": 56
403
+ },
404
+ {
405
+ "epoch": 0.10716803760282022,
406
+ "grad_norm": 0.981617271900177,
407
+ "learning_rate": 1.9837705146227785e-05,
408
+ "loss": 0.08788257837295532,
409
+ "step": 57
410
+ },
411
+ {
412
+ "epoch": 0.10904817861339601,
413
+ "grad_norm": 0.46110790967941284,
414
+ "learning_rate": 1.982635248222264e-05,
415
+ "loss": 0.09188224375247955,
416
+ "step": 58
417
+ },
418
+ {
419
+ "epoch": 0.1109283196239718,
420
+ "grad_norm": 0.998420000076294,
421
+ "learning_rate": 1.9814619534327936e-05,
422
+ "loss": 0.07375432550907135,
423
+ "step": 59
424
+ },
425
+ {
426
+ "epoch": 0.1128084606345476,
427
+ "grad_norm": 0.34546563029289246,
428
+ "learning_rate": 1.98025067566136e-05,
429
+ "loss": 0.09946051985025406,
430
+ "step": 60
431
+ },
432
+ {
433
+ "epoch": 0.11468860164512339,
434
+ "grad_norm": 0.4086509346961975,
435
+ "learning_rate": 1.979001461784911e-05,
436
+ "loss": 0.11176551133394241,
437
+ "step": 61
438
+ },
439
+ {
440
+ "epoch": 0.11656874265569918,
441
+ "grad_norm": 0.42808905243873596,
442
+ "learning_rate": 1.977714360148539e-05,
443
+ "loss": 0.09157419204711914,
444
+ "step": 62
445
+ },
446
+ {
447
+ "epoch": 0.11844888366627497,
448
+ "grad_norm": 0.3342861831188202,
449
+ "learning_rate": 1.976389420563607e-05,
450
+ "loss": 0.10024617612361908,
451
+ "step": 63
452
+ },
453
+ {
454
+ "epoch": 0.12032902467685076,
455
+ "grad_norm": 0.557330846786499,
456
+ "learning_rate": 1.975026694305824e-05,
457
+ "loss": 0.1302940845489502,
458
+ "step": 64
459
+ },
460
+ {
461
+ "epoch": 0.12220916568742655,
462
+ "grad_norm": 0.500476062297821,
463
+ "learning_rate": 1.9736262341132564e-05,
464
+ "loss": 0.10337391495704651,
465
+ "step": 65
466
+ },
467
+ {
468
+ "epoch": 0.12408930669800235,
469
+ "grad_norm": 0.34659484028816223,
470
+ "learning_rate": 1.9721880941842914e-05,
471
+ "loss": 0.07025514543056488,
472
+ "step": 66
473
+ },
474
+ {
475
+ "epoch": 0.12596944770857815,
476
+ "grad_norm": 0.5349281430244446,
477
+ "learning_rate": 1.970712330175536e-05,
478
+ "loss": 0.13431039452552795,
479
+ "step": 67
480
+ },
481
+ {
482
+ "epoch": 0.12784958871915394,
483
+ "grad_norm": 0.569200873374939,
484
+ "learning_rate": 1.9691989991996663e-05,
485
+ "loss": 0.11962932348251343,
486
+ "step": 68
487
+ },
488
+ {
489
+ "epoch": 0.12972972972972974,
490
+ "grad_norm": 1.6833670139312744,
491
+ "learning_rate": 1.967648159823214e-05,
492
+ "loss": 0.07645167410373688,
493
+ "step": 69
494
+ },
495
+ {
496
+ "epoch": 0.13160987074030553,
497
+ "grad_norm": 0.3905375301837921,
498
+ "learning_rate": 1.9660598720643018e-05,
499
+ "loss": 0.04278218373656273,
500
+ "step": 70
501
+ },
502
+ {
503
+ "epoch": 0.13349001175088132,
504
+ "grad_norm": 0.4202016294002533,
505
+ "learning_rate": 1.964434197390321e-05,
506
+ "loss": 0.1238885372877121,
507
+ "step": 71
508
+ },
509
+ {
510
+ "epoch": 0.1353701527614571,
511
+ "grad_norm": 0.37672147154808044,
512
+ "learning_rate": 1.9627711987155506e-05,
513
+ "loss": 0.11250915378332138,
514
+ "step": 72
515
+ },
516
+ {
517
+ "epoch": 0.1372502937720329,
518
+ "grad_norm": 0.41024649143218994,
519
+ "learning_rate": 1.9610709403987248e-05,
520
+ "loss": 0.04700092971324921,
521
+ "step": 73
522
+ },
523
+ {
524
+ "epoch": 0.1391304347826087,
525
+ "grad_norm": 0.4298761188983917,
526
+ "learning_rate": 1.959333488240541e-05,
527
+ "loss": 0.09124750643968582,
528
+ "step": 74
529
+ },
530
+ {
531
+ "epoch": 0.1410105757931845,
532
+ "grad_norm": 0.43265625834465027,
533
+ "learning_rate": 1.9575589094811128e-05,
534
+ "loss": 0.06408238410949707,
535
+ "step": 75
536
+ },
537
+ {
538
+ "epoch": 0.14289071680376028,
539
+ "grad_norm": 0.2794874906539917,
540
+ "learning_rate": 1.955747272797371e-05,
541
+ "loss": 0.057743970304727554,
542
+ "step": 76
543
+ },
544
+ {
545
+ "epoch": 0.14477085781433607,
546
+ "grad_norm": 0.3569641411304474,
547
+ "learning_rate": 1.9538986483004e-05,
548
+ "loss": 0.07405605912208557,
549
+ "step": 77
550
+ },
551
+ {
552
+ "epoch": 0.14665099882491187,
553
+ "grad_norm": 1.7423436641693115,
554
+ "learning_rate": 1.95201310753273e-05,
555
+ "loss": 0.07177209109067917,
556
+ "step": 78
557
+ },
558
+ {
559
+ "epoch": 0.14853113983548766,
560
+ "grad_norm": 0.5717846155166626,
561
+ "learning_rate": 1.950090723465566e-05,
562
+ "loss": 0.11345040798187256,
563
+ "step": 79
564
+ },
565
+ {
566
+ "epoch": 0.15041128084606345,
567
+ "grad_norm": 0.47322016954421997,
568
+ "learning_rate": 1.948131570495963e-05,
569
+ "loss": 0.05455246940255165,
570
+ "step": 80
571
+ },
572
+ {
573
+ "epoch": 0.15229142185663924,
574
+ "grad_norm": 0.5463703274726868,
575
+ "learning_rate": 1.946135724443948e-05,
576
+ "loss": 0.12550315260887146,
577
+ "step": 81
578
+ },
579
+ {
580
+ "epoch": 0.15417156286721503,
581
+ "grad_norm": 0.4568125009536743,
582
+ "learning_rate": 1.944103262549586e-05,
583
+ "loss": 0.0811210423707962,
584
+ "step": 82
585
+ },
586
+ {
587
+ "epoch": 0.15605170387779083,
588
+ "grad_norm": 0.8583007454872131,
589
+ "learning_rate": 1.9420342634699893e-05,
590
+ "loss": 0.20053160190582275,
591
+ "step": 83
592
+ },
593
+ {
594
+ "epoch": 0.15793184488836662,
595
+ "grad_norm": 0.40888386964797974,
596
+ "learning_rate": 1.939928807276275e-05,
597
+ "loss": 0.07020855695009232,
598
+ "step": 84
599
+ },
600
+ {
601
+ "epoch": 0.1598119858989424,
602
+ "grad_norm": 0.5354244112968445,
603
+ "learning_rate": 1.9377869754504645e-05,
604
+ "loss": 0.07153885811567307,
605
+ "step": 85
606
+ },
607
+ {
608
+ "epoch": 0.1616921269095182,
609
+ "grad_norm": 0.8294443488121033,
610
+ "learning_rate": 1.935608850882333e-05,
611
+ "loss": 0.07079675048589706,
612
+ "step": 86
613
+ },
614
+ {
615
+ "epoch": 0.163572267920094,
616
+ "grad_norm": 0.3602754771709442,
617
+ "learning_rate": 1.933394517866198e-05,
618
+ "loss": 0.04375575855374336,
619
+ "step": 87
620
+ },
621
+ {
622
+ "epoch": 0.1654524089306698,
623
+ "grad_norm": 0.7854155898094177,
624
+ "learning_rate": 1.9311440620976597e-05,
625
+ "loss": 0.05288895219564438,
626
+ "step": 88
627
+ },
628
+ {
629
+ "epoch": 0.1673325499412456,
630
+ "grad_norm": 0.36262285709381104,
631
+ "learning_rate": 1.9288575706702836e-05,
632
+ "loss": 0.05213308706879616,
633
+ "step": 89
634
+ },
635
+ {
636
+ "epoch": 0.1692126909518214,
637
+ "grad_norm": 0.7056986093521118,
638
+ "learning_rate": 1.9265351320722296e-05,
639
+ "loss": 0.08565079420804977,
640
+ "step": 90
641
+ },
642
+ {
643
+ "epoch": 0.1710928319623972,
644
+ "grad_norm": 0.390341192483902,
645
+ "learning_rate": 1.924176836182829e-05,
646
+ "loss": 0.0380721278488636,
647
+ "step": 91
648
+ },
649
+ {
650
+ "epoch": 0.17297297297297298,
651
+ "grad_norm": 0.9817848205566406,
652
+ "learning_rate": 1.921782774269104e-05,
653
+ "loss": 0.14400216937065125,
654
+ "step": 92
655
+ },
656
+ {
657
+ "epoch": 0.17485311398354877,
658
+ "grad_norm": 0.4562535285949707,
659
+ "learning_rate": 1.9193530389822364e-05,
660
+ "loss": 0.07196680456399918,
661
+ "step": 93
662
+ },
663
+ {
664
+ "epoch": 0.17673325499412457,
665
+ "grad_norm": 0.5924327373504639,
666
+ "learning_rate": 1.916887724353984e-05,
667
+ "loss": 0.08313235640525818,
668
+ "step": 94
669
+ },
670
+ {
671
+ "epoch": 0.17861339600470036,
672
+ "grad_norm": 0.3936920464038849,
673
+ "learning_rate": 1.914386925793038e-05,
674
+ "loss": 0.08207011967897415,
675
+ "step": 95
676
+ },
677
+ {
678
+ "epoch": 0.18049353701527615,
679
+ "grad_norm": 0.4106353521347046,
680
+ "learning_rate": 1.9118507400813327e-05,
681
+ "loss": 0.07451261579990387,
682
+ "step": 96
683
+ },
684
+ {
685
+ "epoch": 0.18237367802585194,
686
+ "grad_norm": 0.8423656225204468,
687
+ "learning_rate": 1.9092792653703006e-05,
688
+ "loss": 0.1120993122458458,
689
+ "step": 97
690
+ },
691
+ {
692
+ "epoch": 0.18425381903642774,
693
+ "grad_norm": 0.4818660616874695,
694
+ "learning_rate": 1.9066726011770725e-05,
695
+ "loss": 0.0911557748913765,
696
+ "step": 98
697
+ },
698
+ {
699
+ "epoch": 0.18613396004700353,
700
+ "grad_norm": 1.91852867603302,
701
+ "learning_rate": 1.9040308483806266e-05,
702
+ "loss": 0.08450711518526077,
703
+ "step": 99
704
+ },
705
+ {
706
+ "epoch": 0.18801410105757932,
707
+ "grad_norm": 0.5150951147079468,
708
+ "learning_rate": 1.9013541092178844e-05,
709
+ "loss": 0.07893037796020508,
710
+ "step": 100
711
+ }
712
+ ],
713
+ "logging_steps": 1,
714
+ "max_steps": 532,
715
+ "num_input_tokens_seen": 0,
716
+ "num_train_epochs": 1,
717
+ "save_steps": 100,
718
+ "stateful_callbacks": {
719
+ "TrainerControl": {
720
+ "args": {
721
+ "should_epoch_stop": false,
722
+ "should_evaluate": false,
723
+ "should_log": false,
724
+ "should_save": true,
725
+ "should_training_stop": false
726
+ },
727
+ "attributes": {}
728
+ }
729
+ },
730
+ "total_flos": 1.684346206965627e+17,
731
+ "train_batch_size": 1,
732
+ "trial_name": null,
733
+ "trial_params": null
734
+ }
training/checkpoints/checkpoint-200/CHECKSUMS.sha256 ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ df9859f741f75a96a958b358a1c08817e5fa6ff4a8fe8eed85a01add501ae7f1 README.md
2
+ a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875 adapter_config.json
3
+ 8a2dd645a8a3acb7b698820dd0538c355a193825a29513eed313622dcedb16b1 adapter_model.safetensors
4
+ 0068df00f7ef212f3431f642c2951d59ee4941f490ab606d14e495b23565c097 optimizer.pt
5
+ 7a15f7f8f5cb1ba94601bba78e166ad271e3baa01d4ed9bdbec9d4d9f03db013 rng_state.pth
6
+ 532c3998af11254097768cba2a02356701312926356a1ae080ad6f6e41462901 scheduler.pt
7
+ 0f0e0df58888e81b7d798a7e444b81fe3df1e548ee1200c602a94e5a6eb29651 trainer_state.json
8
+ 175111135c9d40b63054d1ef321345f80de8c4d21717241624ae93bced357d6c training_args.bin
training/checkpoints/checkpoint-200/adapter_config.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "Qwen/Qwen3.8-27B",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 32,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.05,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "monteclora_config": null,
27
+ "peft_type": "LORA",
28
+ "peft_version": "0.20.0",
29
+ "qalora_group_size": 16,
30
+ "r": 16,
31
+ "rank_pattern": {},
32
+ "revision": "1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0",
33
+ "target_modules": ".*(?:language_model\\.)?layers\\.\\d+\\.(?:self_attn\\.(?:q_proj|k_proj|v_proj|o_proj)|linear_attn\\.(?:in_proj_qkv|in_proj_z|in_proj_a|in_proj_b|out_proj)|mlp\\.(?:gate_proj|up_proj|down_proj))$",
34
+ "target_parameters": null,
35
+ "task_type": "CAUSAL_LM",
36
+ "trainable_token_indices": null,
37
+ "use_bdlora": null,
38
+ "use_dora": false,
39
+ "use_qalora": false,
40
+ "use_rslora": false,
41
+ "velora_config": null
42
+ }
training/checkpoints/checkpoint-200/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8a2dd645a8a3acb7b698820dd0538c355a193825a29513eed313622dcedb16b1
3
+ size 467047680
training/checkpoints/checkpoint-200/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:532c3998af11254097768cba2a02356701312926356a1ae080ad6f6e41462901
3
+ size 1465
training/checkpoints/checkpoint-200/trainer_state.json ADDED
@@ -0,0 +1,1434 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_global_step": null,
3
+ "best_metric": null,
4
+ "best_model_checkpoint": null,
5
+ "epoch": 0.37602820211515864,
6
+ "eval_steps": 500,
7
+ "global_step": 200,
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.0018801410105757932,
14
+ "grad_norm": 1.1068099737167358,
15
+ "learning_rate": 0.0,
16
+ "loss": 0.18984749913215637,
17
+ "step": 1
18
+ },
19
+ {
20
+ "epoch": 0.0037602820211515863,
21
+ "grad_norm": 0.8424890041351318,
22
+ "learning_rate": 7.407407407407407e-07,
23
+ "loss": 0.210465207695961,
24
+ "step": 2
25
+ },
26
+ {
27
+ "epoch": 0.00564042303172738,
28
+ "grad_norm": 1.3556126356124878,
29
+ "learning_rate": 1.4814814814814815e-06,
30
+ "loss": 0.14603234827518463,
31
+ "step": 3
32
+ },
33
+ {
34
+ "epoch": 0.007520564042303173,
35
+ "grad_norm": 0.9265269637107849,
36
+ "learning_rate": 2.222222222222222e-06,
37
+ "loss": 0.17247749865055084,
38
+ "step": 4
39
+ },
40
+ {
41
+ "epoch": 0.009400705052878966,
42
+ "grad_norm": 0.9704127907752991,
43
+ "learning_rate": 2.962962962962963e-06,
44
+ "loss": 0.21077993512153625,
45
+ "step": 5
46
+ },
47
+ {
48
+ "epoch": 0.01128084606345476,
49
+ "grad_norm": 0.5968538522720337,
50
+ "learning_rate": 3.7037037037037037e-06,
51
+ "loss": 0.17516383528709412,
52
+ "step": 6
53
+ },
54
+ {
55
+ "epoch": 0.013160987074030552,
56
+ "grad_norm": 0.763954222202301,
57
+ "learning_rate": 4.444444444444444e-06,
58
+ "loss": 0.18361800909042358,
59
+ "step": 7
60
+ },
61
+ {
62
+ "epoch": 0.015041128084606345,
63
+ "grad_norm": 0.7724475264549255,
64
+ "learning_rate": 5.185185185185185e-06,
65
+ "loss": 0.23388183116912842,
66
+ "step": 8
67
+ },
68
+ {
69
+ "epoch": 0.01692126909518214,
70
+ "grad_norm": 0.9471437931060791,
71
+ "learning_rate": 5.925925925925926e-06,
72
+ "loss": 0.1946387141942978,
73
+ "step": 9
74
+ },
75
+ {
76
+ "epoch": 0.01880141010575793,
77
+ "grad_norm": 0.6618597507476807,
78
+ "learning_rate": 6.666666666666667e-06,
79
+ "loss": 0.17781661450862885,
80
+ "step": 10
81
+ },
82
+ {
83
+ "epoch": 0.020681551116333723,
84
+ "grad_norm": 0.8230735659599304,
85
+ "learning_rate": 7.4074074074074075e-06,
86
+ "loss": 0.23627348244190216,
87
+ "step": 11
88
+ },
89
+ {
90
+ "epoch": 0.02256169212690952,
91
+ "grad_norm": 0.7146603465080261,
92
+ "learning_rate": 8.148148148148148e-06,
93
+ "loss": 0.1887625753879547,
94
+ "step": 12
95
+ },
96
+ {
97
+ "epoch": 0.02444183313748531,
98
+ "grad_norm": 0.4817526936531067,
99
+ "learning_rate": 8.888888888888888e-06,
100
+ "loss": 0.12693078815937042,
101
+ "step": 13
102
+ },
103
+ {
104
+ "epoch": 0.026321974148061103,
105
+ "grad_norm": 0.6374757885932922,
106
+ "learning_rate": 9.62962962962963e-06,
107
+ "loss": 0.2233470380306244,
108
+ "step": 14
109
+ },
110
+ {
111
+ "epoch": 0.0282021151586369,
112
+ "grad_norm": 0.5233004093170166,
113
+ "learning_rate": 1.037037037037037e-05,
114
+ "loss": 0.1184539720416069,
115
+ "step": 15
116
+ },
117
+ {
118
+ "epoch": 0.03008225616921269,
119
+ "grad_norm": 0.3556949496269226,
120
+ "learning_rate": 1.1111111111111113e-05,
121
+ "loss": 0.13150134682655334,
122
+ "step": 16
123
+ },
124
+ {
125
+ "epoch": 0.031962397179788486,
126
+ "grad_norm": 0.3290539085865021,
127
+ "learning_rate": 1.1851851851851852e-05,
128
+ "loss": 0.15358321368694305,
129
+ "step": 17
130
+ },
131
+ {
132
+ "epoch": 0.03384253819036428,
133
+ "grad_norm": 0.4063560664653778,
134
+ "learning_rate": 1.2592592592592593e-05,
135
+ "loss": 0.10221662372350693,
136
+ "step": 18
137
+ },
138
+ {
139
+ "epoch": 0.03572267920094007,
140
+ "grad_norm": 0.3550509512424469,
141
+ "learning_rate": 1.3333333333333333e-05,
142
+ "loss": 0.1078157126903534,
143
+ "step": 19
144
+ },
145
+ {
146
+ "epoch": 0.03760282021151586,
147
+ "grad_norm": 0.6627258062362671,
148
+ "learning_rate": 1.4074074074074075e-05,
149
+ "loss": 0.21149909496307373,
150
+ "step": 20
151
+ },
152
+ {
153
+ "epoch": 0.039482961222091655,
154
+ "grad_norm": 0.46360066533088684,
155
+ "learning_rate": 1.4814814814814815e-05,
156
+ "loss": 0.1677466630935669,
157
+ "step": 21
158
+ },
159
+ {
160
+ "epoch": 0.04136310223266745,
161
+ "grad_norm": 0.3896161913871765,
162
+ "learning_rate": 1.555555555555556e-05,
163
+ "loss": 0.12463660538196564,
164
+ "step": 22
165
+ },
166
+ {
167
+ "epoch": 0.043243243243243246,
168
+ "grad_norm": 0.8209279775619507,
169
+ "learning_rate": 1.6296296296296297e-05,
170
+ "loss": 0.15096110105514526,
171
+ "step": 23
172
+ },
173
+ {
174
+ "epoch": 0.04512338425381904,
175
+ "grad_norm": 0.32191896438598633,
176
+ "learning_rate": 1.7037037037037038e-05,
177
+ "loss": 0.1416177600622177,
178
+ "step": 24
179
+ },
180
+ {
181
+ "epoch": 0.04700352526439483,
182
+ "grad_norm": 1.9557298421859741,
183
+ "learning_rate": 1.7777777777777777e-05,
184
+ "loss": 0.12210831791162491,
185
+ "step": 25
186
+ },
187
+ {
188
+ "epoch": 0.04888366627497062,
189
+ "grad_norm": 0.5610401630401611,
190
+ "learning_rate": 1.851851851851852e-05,
191
+ "loss": 0.13184665143489838,
192
+ "step": 26
193
+ },
194
+ {
195
+ "epoch": 0.050763807285546414,
196
+ "grad_norm": 0.2798151671886444,
197
+ "learning_rate": 1.925925925925926e-05,
198
+ "loss": 0.1487886756658554,
199
+ "step": 27
200
+ },
201
+ {
202
+ "epoch": 0.052643948296122206,
203
+ "grad_norm": 0.5388768911361694,
204
+ "learning_rate": 2e-05,
205
+ "loss": 0.15049003064632416,
206
+ "step": 28
207
+ },
208
+ {
209
+ "epoch": 0.054524089306698005,
210
+ "grad_norm": 0.5584218502044678,
211
+ "learning_rate": 1.9999806497939984e-05,
212
+ "loss": 0.11046376824378967,
213
+ "step": 29
214
+ },
215
+ {
216
+ "epoch": 0.0564042303172738,
217
+ "grad_norm": 0.4847019612789154,
218
+ "learning_rate": 1.999922599924854e-05,
219
+ "loss": 0.15236796438694,
220
+ "step": 30
221
+ },
222
+ {
223
+ "epoch": 0.05828437132784959,
224
+ "grad_norm": 0.30841490626335144,
225
+ "learning_rate": 1.9998258526391207e-05,
226
+ "loss": 0.10093137621879578,
227
+ "step": 31
228
+ },
229
+ {
230
+ "epoch": 0.06016451233842538,
231
+ "grad_norm": 0.39490729570388794,
232
+ "learning_rate": 1.9996904116809586e-05,
233
+ "loss": 0.15531431138515472,
234
+ "step": 32
235
+ },
236
+ {
237
+ "epoch": 0.06204465334900117,
238
+ "grad_norm": 0.5662699937820435,
239
+ "learning_rate": 1.999516282291988e-05,
240
+ "loss": 0.21666380763053894,
241
+ "step": 33
242
+ },
243
+ {
244
+ "epoch": 0.06392479435957697,
245
+ "grad_norm": 0.42729634046554565,
246
+ "learning_rate": 1.9993034712110888e-05,
247
+ "loss": 0.12972058355808258,
248
+ "step": 34
249
+ },
250
+ {
251
+ "epoch": 0.06580493537015276,
252
+ "grad_norm": 0.35263097286224365,
253
+ "learning_rate": 1.999051986674137e-05,
254
+ "loss": 0.12465275079011917,
255
+ "step": 35
256
+ },
257
+ {
258
+ "epoch": 0.06768507638072856,
259
+ "grad_norm": 0.535301685333252,
260
+ "learning_rate": 1.998761838413688e-05,
261
+ "loss": 0.09896158427000046,
262
+ "step": 36
263
+ },
264
+ {
265
+ "epoch": 0.06956521739130435,
266
+ "grad_norm": 0.3752855062484741,
267
+ "learning_rate": 1.998433037658599e-05,
268
+ "loss": 0.1280779242515564,
269
+ "step": 37
270
+ },
271
+ {
272
+ "epoch": 0.07144535840188014,
273
+ "grad_norm": 0.981087327003479,
274
+ "learning_rate": 1.9980655971335944e-05,
275
+ "loss": 0.09660309553146362,
276
+ "step": 38
277
+ },
278
+ {
279
+ "epoch": 0.07332549941245593,
280
+ "grad_norm": 0.335188090801239,
281
+ "learning_rate": 1.997659531058774e-05,
282
+ "loss": 0.11915186047554016,
283
+ "step": 39
284
+ },
285
+ {
286
+ "epoch": 0.07520564042303172,
287
+ "grad_norm": 0.42213037610054016,
288
+ "learning_rate": 1.997214855149063e-05,
289
+ "loss": 0.11343645304441452,
290
+ "step": 40
291
+ },
292
+ {
293
+ "epoch": 0.07708578143360752,
294
+ "grad_norm": 0.33926352858543396,
295
+ "learning_rate": 1.996731586613601e-05,
296
+ "loss": 0.13173750042915344,
297
+ "step": 41
298
+ },
299
+ {
300
+ "epoch": 0.07896592244418331,
301
+ "grad_norm": 0.27011075615882874,
302
+ "learning_rate": 1.9962097441550803e-05,
303
+ "loss": 0.11818286776542664,
304
+ "step": 42
305
+ },
306
+ {
307
+ "epoch": 0.0808460634547591,
308
+ "grad_norm": 0.23559340834617615,
309
+ "learning_rate": 1.995649347969019e-05,
310
+ "loss": 0.05154850333929062,
311
+ "step": 43
312
+ },
313
+ {
314
+ "epoch": 0.0827262044653349,
315
+ "grad_norm": 0.4766392707824707,
316
+ "learning_rate": 1.9950504197429796e-05,
317
+ "loss": 0.15302187204360962,
318
+ "step": 44
319
+ },
320
+ {
321
+ "epoch": 0.0846063454759107,
322
+ "grad_norm": 0.49355629086494446,
323
+ "learning_rate": 1.9944129826557322e-05,
324
+ "loss": 0.13926656544208527,
325
+ "step": 45
326
+ },
327
+ {
328
+ "epoch": 0.08648648648648649,
329
+ "grad_norm": 0.34948262572288513,
330
+ "learning_rate": 1.9937370613763544e-05,
331
+ "loss": 0.10971198230981827,
332
+ "step": 46
333
+ },
334
+ {
335
+ "epoch": 0.08836662749706228,
336
+ "grad_norm": 0.42241406440734863,
337
+ "learning_rate": 1.993022682063278e-05,
338
+ "loss": 0.12660646438598633,
339
+ "step": 47
340
+ },
341
+ {
342
+ "epoch": 0.09024676850763808,
343
+ "grad_norm": 0.5842728018760681,
344
+ "learning_rate": 1.992269872363277e-05,
345
+ "loss": 0.11435609310865402,
346
+ "step": 48
347
+ },
348
+ {
349
+ "epoch": 0.09212690951821387,
350
+ "grad_norm": 0.6219758987426758,
351
+ "learning_rate": 1.991478661410396e-05,
352
+ "loss": 0.1371983140707016,
353
+ "step": 49
354
+ },
355
+ {
356
+ "epoch": 0.09400705052878966,
357
+ "grad_norm": 0.6244561076164246,
358
+ "learning_rate": 1.9906490798248267e-05,
359
+ "loss": 0.14317655563354492,
360
+ "step": 50
361
+ },
362
+ {
363
+ "epoch": 0.09588719153936545,
364
+ "grad_norm": 0.4238940477371216,
365
+ "learning_rate": 1.9897811597117168e-05,
366
+ "loss": 0.08538961410522461,
367
+ "step": 51
368
+ },
369
+ {
370
+ "epoch": 0.09776733254994124,
371
+ "grad_norm": 0.4316694140434265,
372
+ "learning_rate": 1.988874934659932e-05,
373
+ "loss": 0.11634167283773422,
374
+ "step": 52
375
+ },
376
+ {
377
+ "epoch": 0.09964747356051704,
378
+ "grad_norm": 0.27498969435691833,
379
+ "learning_rate": 1.987930439740757e-05,
380
+ "loss": 0.05380123108625412,
381
+ "step": 53
382
+ },
383
+ {
384
+ "epoch": 0.10152761457109283,
385
+ "grad_norm": 0.30491945147514343,
386
+ "learning_rate": 1.9869477115065327e-05,
387
+ "loss": 0.09966330975294113,
388
+ "step": 54
389
+ },
390
+ {
391
+ "epoch": 0.10340775558166862,
392
+ "grad_norm": 0.2556721866130829,
393
+ "learning_rate": 1.985926787989247e-05,
394
+ "loss": 0.05556664243340492,
395
+ "step": 55
396
+ },
397
+ {
398
+ "epoch": 0.10528789659224441,
399
+ "grad_norm": 0.29667940735816956,
400
+ "learning_rate": 1.9848677086990605e-05,
401
+ "loss": 0.053319964557886124,
402
+ "step": 56
403
+ },
404
+ {
405
+ "epoch": 0.10716803760282022,
406
+ "grad_norm": 0.981617271900177,
407
+ "learning_rate": 1.9837705146227785e-05,
408
+ "loss": 0.08788257837295532,
409
+ "step": 57
410
+ },
411
+ {
412
+ "epoch": 0.10904817861339601,
413
+ "grad_norm": 0.46110790967941284,
414
+ "learning_rate": 1.982635248222264e-05,
415
+ "loss": 0.09188224375247955,
416
+ "step": 58
417
+ },
418
+ {
419
+ "epoch": 0.1109283196239718,
420
+ "grad_norm": 0.998420000076294,
421
+ "learning_rate": 1.9814619534327936e-05,
422
+ "loss": 0.07375432550907135,
423
+ "step": 59
424
+ },
425
+ {
426
+ "epoch": 0.1128084606345476,
427
+ "grad_norm": 0.34546563029289246,
428
+ "learning_rate": 1.98025067566136e-05,
429
+ "loss": 0.09946051985025406,
430
+ "step": 60
431
+ },
432
+ {
433
+ "epoch": 0.11468860164512339,
434
+ "grad_norm": 0.4086509346961975,
435
+ "learning_rate": 1.979001461784911e-05,
436
+ "loss": 0.11176551133394241,
437
+ "step": 61
438
+ },
439
+ {
440
+ "epoch": 0.11656874265569918,
441
+ "grad_norm": 0.42808905243873596,
442
+ "learning_rate": 1.977714360148539e-05,
443
+ "loss": 0.09157419204711914,
444
+ "step": 62
445
+ },
446
+ {
447
+ "epoch": 0.11844888366627497,
448
+ "grad_norm": 0.3342861831188202,
449
+ "learning_rate": 1.976389420563607e-05,
450
+ "loss": 0.10024617612361908,
451
+ "step": 63
452
+ },
453
+ {
454
+ "epoch": 0.12032902467685076,
455
+ "grad_norm": 0.557330846786499,
456
+ "learning_rate": 1.975026694305824e-05,
457
+ "loss": 0.1302940845489502,
458
+ "step": 64
459
+ },
460
+ {
461
+ "epoch": 0.12220916568742655,
462
+ "grad_norm": 0.500476062297821,
463
+ "learning_rate": 1.9736262341132564e-05,
464
+ "loss": 0.10337391495704651,
465
+ "step": 65
466
+ },
467
+ {
468
+ "epoch": 0.12408930669800235,
469
+ "grad_norm": 0.34659484028816223,
470
+ "learning_rate": 1.9721880941842914e-05,
471
+ "loss": 0.07025514543056488,
472
+ "step": 66
473
+ },
474
+ {
475
+ "epoch": 0.12596944770857815,
476
+ "grad_norm": 0.5349281430244446,
477
+ "learning_rate": 1.970712330175536e-05,
478
+ "loss": 0.13431039452552795,
479
+ "step": 67
480
+ },
481
+ {
482
+ "epoch": 0.12784958871915394,
483
+ "grad_norm": 0.569200873374939,
484
+ "learning_rate": 1.9691989991996663e-05,
485
+ "loss": 0.11962932348251343,
486
+ "step": 68
487
+ },
488
+ {
489
+ "epoch": 0.12972972972972974,
490
+ "grad_norm": 1.6833670139312744,
491
+ "learning_rate": 1.967648159823214e-05,
492
+ "loss": 0.07645167410373688,
493
+ "step": 69
494
+ },
495
+ {
496
+ "epoch": 0.13160987074030553,
497
+ "grad_norm": 0.3905375301837921,
498
+ "learning_rate": 1.9660598720643018e-05,
499
+ "loss": 0.04278218373656273,
500
+ "step": 70
501
+ },
502
+ {
503
+ "epoch": 0.13349001175088132,
504
+ "grad_norm": 0.4202016294002533,
505
+ "learning_rate": 1.964434197390321e-05,
506
+ "loss": 0.1238885372877121,
507
+ "step": 71
508
+ },
509
+ {
510
+ "epoch": 0.1353701527614571,
511
+ "grad_norm": 0.37672147154808044,
512
+ "learning_rate": 1.9627711987155506e-05,
513
+ "loss": 0.11250915378332138,
514
+ "step": 72
515
+ },
516
+ {
517
+ "epoch": 0.1372502937720329,
518
+ "grad_norm": 0.41024649143218994,
519
+ "learning_rate": 1.9610709403987248e-05,
520
+ "loss": 0.04700092971324921,
521
+ "step": 73
522
+ },
523
+ {
524
+ "epoch": 0.1391304347826087,
525
+ "grad_norm": 0.4298761188983917,
526
+ "learning_rate": 1.959333488240541e-05,
527
+ "loss": 0.09124750643968582,
528
+ "step": 74
529
+ },
530
+ {
531
+ "epoch": 0.1410105757931845,
532
+ "grad_norm": 0.43265625834465027,
533
+ "learning_rate": 1.9575589094811128e-05,
534
+ "loss": 0.06408238410949707,
535
+ "step": 75
536
+ },
537
+ {
538
+ "epoch": 0.14289071680376028,
539
+ "grad_norm": 0.2794874906539917,
540
+ "learning_rate": 1.955747272797371e-05,
541
+ "loss": 0.057743970304727554,
542
+ "step": 76
543
+ },
544
+ {
545
+ "epoch": 0.14477085781433607,
546
+ "grad_norm": 0.3569641411304474,
547
+ "learning_rate": 1.9538986483004e-05,
548
+ "loss": 0.07405605912208557,
549
+ "step": 77
550
+ },
551
+ {
552
+ "epoch": 0.14665099882491187,
553
+ "grad_norm": 1.7423436641693115,
554
+ "learning_rate": 1.95201310753273e-05,
555
+ "loss": 0.07177209109067917,
556
+ "step": 78
557
+ },
558
+ {
559
+ "epoch": 0.14853113983548766,
560
+ "grad_norm": 0.5717846155166626,
561
+ "learning_rate": 1.950090723465566e-05,
562
+ "loss": 0.11345040798187256,
563
+ "step": 79
564
+ },
565
+ {
566
+ "epoch": 0.15041128084606345,
567
+ "grad_norm": 0.47322016954421997,
568
+ "learning_rate": 1.948131570495963e-05,
569
+ "loss": 0.05455246940255165,
570
+ "step": 80
571
+ },
572
+ {
573
+ "epoch": 0.15229142185663924,
574
+ "grad_norm": 0.5463703274726868,
575
+ "learning_rate": 1.946135724443948e-05,
576
+ "loss": 0.12550315260887146,
577
+ "step": 81
578
+ },
579
+ {
580
+ "epoch": 0.15417156286721503,
581
+ "grad_norm": 0.4568125009536743,
582
+ "learning_rate": 1.944103262549586e-05,
583
+ "loss": 0.0811210423707962,
584
+ "step": 82
585
+ },
586
+ {
587
+ "epoch": 0.15605170387779083,
588
+ "grad_norm": 0.8583007454872131,
589
+ "learning_rate": 1.9420342634699893e-05,
590
+ "loss": 0.20053160190582275,
591
+ "step": 83
592
+ },
593
+ {
594
+ "epoch": 0.15793184488836662,
595
+ "grad_norm": 0.40888386964797974,
596
+ "learning_rate": 1.939928807276275e-05,
597
+ "loss": 0.07020855695009232,
598
+ "step": 84
599
+ },
600
+ {
601
+ "epoch": 0.1598119858989424,
602
+ "grad_norm": 0.5354244112968445,
603
+ "learning_rate": 1.9377869754504645e-05,
604
+ "loss": 0.07153885811567307,
605
+ "step": 85
606
+ },
607
+ {
608
+ "epoch": 0.1616921269095182,
609
+ "grad_norm": 0.8294443488121033,
610
+ "learning_rate": 1.935608850882333e-05,
611
+ "loss": 0.07079675048589706,
612
+ "step": 86
613
+ },
614
+ {
615
+ "epoch": 0.163572267920094,
616
+ "grad_norm": 0.3602754771709442,
617
+ "learning_rate": 1.933394517866198e-05,
618
+ "loss": 0.04375575855374336,
619
+ "step": 87
620
+ },
621
+ {
622
+ "epoch": 0.1654524089306698,
623
+ "grad_norm": 0.7854155898094177,
624
+ "learning_rate": 1.9311440620976597e-05,
625
+ "loss": 0.05288895219564438,
626
+ "step": 88
627
+ },
628
+ {
629
+ "epoch": 0.1673325499412456,
630
+ "grad_norm": 0.36262285709381104,
631
+ "learning_rate": 1.9288575706702836e-05,
632
+ "loss": 0.05213308706879616,
633
+ "step": 89
634
+ },
635
+ {
636
+ "epoch": 0.1692126909518214,
637
+ "grad_norm": 0.7056986093521118,
638
+ "learning_rate": 1.9265351320722296e-05,
639
+ "loss": 0.08565079420804977,
640
+ "step": 90
641
+ },
642
+ {
643
+ "epoch": 0.1710928319623972,
644
+ "grad_norm": 0.390341192483902,
645
+ "learning_rate": 1.924176836182829e-05,
646
+ "loss": 0.0380721278488636,
647
+ "step": 91
648
+ },
649
+ {
650
+ "epoch": 0.17297297297297298,
651
+ "grad_norm": 0.9817848205566406,
652
+ "learning_rate": 1.921782774269104e-05,
653
+ "loss": 0.14400216937065125,
654
+ "step": 92
655
+ },
656
+ {
657
+ "epoch": 0.17485311398354877,
658
+ "grad_norm": 0.4562535285949707,
659
+ "learning_rate": 1.9193530389822364e-05,
660
+ "loss": 0.07196680456399918,
661
+ "step": 93
662
+ },
663
+ {
664
+ "epoch": 0.17673325499412457,
665
+ "grad_norm": 0.5924327373504639,
666
+ "learning_rate": 1.916887724353984e-05,
667
+ "loss": 0.08313235640525818,
668
+ "step": 94
669
+ },
670
+ {
671
+ "epoch": 0.17861339600470036,
672
+ "grad_norm": 0.3936920464038849,
673
+ "learning_rate": 1.914386925793038e-05,
674
+ "loss": 0.08207011967897415,
675
+ "step": 95
676
+ },
677
+ {
678
+ "epoch": 0.18049353701527615,
679
+ "grad_norm": 0.4106353521347046,
680
+ "learning_rate": 1.9118507400813327e-05,
681
+ "loss": 0.07451261579990387,
682
+ "step": 96
683
+ },
684
+ {
685
+ "epoch": 0.18237367802585194,
686
+ "grad_norm": 0.8423656225204468,
687
+ "learning_rate": 1.9092792653703006e-05,
688
+ "loss": 0.1120993122458458,
689
+ "step": 97
690
+ },
691
+ {
692
+ "epoch": 0.18425381903642774,
693
+ "grad_norm": 0.4818660616874695,
694
+ "learning_rate": 1.9066726011770725e-05,
695
+ "loss": 0.0911557748913765,
696
+ "step": 98
697
+ },
698
+ {
699
+ "epoch": 0.18613396004700353,
700
+ "grad_norm": 1.91852867603302,
701
+ "learning_rate": 1.9040308483806266e-05,
702
+ "loss": 0.08450711518526077,
703
+ "step": 99
704
+ },
705
+ {
706
+ "epoch": 0.18801410105757932,
707
+ "grad_norm": 0.5150951147079468,
708
+ "learning_rate": 1.9013541092178844e-05,
709
+ "loss": 0.07893037796020508,
710
+ "step": 100
711
+ },
712
+ {
713
+ "epoch": 0.1898942420681551,
714
+ "grad_norm": 0.43682360649108887,
715
+ "learning_rate": 1.8986424872797542e-05,
716
+ "loss": 0.07814378291368484,
717
+ "step": 101
718
+ },
719
+ {
720
+ "epoch": 0.1917743830787309,
721
+ "grad_norm": 1.8135225772857666,
722
+ "learning_rate": 1.8958960875071225e-05,
723
+ "loss": 0.12606708705425262,
724
+ "step": 102
725
+ },
726
+ {
727
+ "epoch": 0.1936545240893067,
728
+ "grad_norm": 0.29491138458251953,
729
+ "learning_rate": 1.8931150161867917e-05,
730
+ "loss": 0.040284134447574615,
731
+ "step": 103
732
+ },
733
+ {
734
+ "epoch": 0.1955346650998825,
735
+ "grad_norm": 0.3637630045413971,
736
+ "learning_rate": 1.890299380947368e-05,
737
+ "loss": 0.0349123440682888,
738
+ "step": 104
739
+ },
740
+ {
741
+ "epoch": 0.19741480611045828,
742
+ "grad_norm": 0.48362934589385986,
743
+ "learning_rate": 1.887449290755095e-05,
744
+ "loss": 0.07024738192558289,
745
+ "step": 105
746
+ },
747
+ {
748
+ "epoch": 0.19929494712103407,
749
+ "grad_norm": 0.4112212359905243,
750
+ "learning_rate": 1.8845648559096378e-05,
751
+ "loss": 0.04214769974350929,
752
+ "step": 106
753
+ },
754
+ {
755
+ "epoch": 0.20117508813160986,
756
+ "grad_norm": 0.7555498480796814,
757
+ "learning_rate": 1.8816461880398126e-05,
758
+ "loss": 0.12782445549964905,
759
+ "step": 107
760
+ },
761
+ {
762
+ "epoch": 0.20305522914218566,
763
+ "grad_norm": 0.4474226236343384,
764
+ "learning_rate": 1.878693400099269e-05,
765
+ "loss": 0.035876866430044174,
766
+ "step": 108
767
+ },
768
+ {
769
+ "epoch": 0.20493537015276145,
770
+ "grad_norm": 0.5831688046455383,
771
+ "learning_rate": 1.8757066063621167e-05,
772
+ "loss": 0.0876915454864502,
773
+ "step": 109
774
+ },
775
+ {
776
+ "epoch": 0.20681551116333724,
777
+ "grad_norm": 0.2091899812221527,
778
+ "learning_rate": 1.872685922418504e-05,
779
+ "loss": 0.034780748188495636,
780
+ "step": 110
781
+ },
782
+ {
783
+ "epoch": 0.20869565217391303,
784
+ "grad_norm": 0.5429494976997375,
785
+ "learning_rate": 1.8696314651701438e-05,
786
+ "loss": 0.04790528863668442,
787
+ "step": 111
788
+ },
789
+ {
790
+ "epoch": 0.21057579318448882,
791
+ "grad_norm": 0.7049829959869385,
792
+ "learning_rate": 1.8665433528257904e-05,
793
+ "loss": 0.07777579128742218,
794
+ "step": 112
795
+ },
796
+ {
797
+ "epoch": 0.21245593419506462,
798
+ "grad_norm": 0.5686396956443787,
799
+ "learning_rate": 1.8634217048966638e-05,
800
+ "loss": 0.06032140552997589,
801
+ "step": 113
802
+ },
803
+ {
804
+ "epoch": 0.21433607520564044,
805
+ "grad_norm": 0.6066485047340393,
806
+ "learning_rate": 1.8602666421918245e-05,
807
+ "loss": 0.06071196123957634,
808
+ "step": 114
809
+ },
810
+ {
811
+ "epoch": 0.21621621621621623,
812
+ "grad_norm": 0.8486462235450745,
813
+ "learning_rate": 1.8570782868134997e-05,
814
+ "loss": 0.17299583554267883,
815
+ "step": 115
816
+ },
817
+ {
818
+ "epoch": 0.21809635722679202,
819
+ "grad_norm": 0.7102699279785156,
820
+ "learning_rate": 1.853856762152356e-05,
821
+ "loss": 0.09849053621292114,
822
+ "step": 116
823
+ },
824
+ {
825
+ "epoch": 0.2199764982373678,
826
+ "grad_norm": 0.6520931124687195,
827
+ "learning_rate": 1.8506021928827246e-05,
828
+ "loss": 0.06850472837686539,
829
+ "step": 117
830
+ },
831
+ {
832
+ "epoch": 0.2218566392479436,
833
+ "grad_norm": 0.5420147776603699,
834
+ "learning_rate": 1.8473147049577777e-05,
835
+ "loss": 0.04323617368936539,
836
+ "step": 118
837
+ },
838
+ {
839
+ "epoch": 0.2237367802585194,
840
+ "grad_norm": 0.6764035224914551,
841
+ "learning_rate": 1.843994425604652e-05,
842
+ "loss": 0.04347297176718712,
843
+ "step": 119
844
+ },
845
+ {
846
+ "epoch": 0.2256169212690952,
847
+ "grad_norm": 0.5113638043403625,
848
+ "learning_rate": 1.840641483319527e-05,
849
+ "loss": 0.05386022850871086,
850
+ "step": 120
851
+ },
852
+ {
853
+ "epoch": 0.22749706227967098,
854
+ "grad_norm": 0.4199598729610443,
855
+ "learning_rate": 1.8372560078626502e-05,
856
+ "loss": 0.04458491504192352,
857
+ "step": 121
858
+ },
859
+ {
860
+ "epoch": 0.22937720329024677,
861
+ "grad_norm": 0.6987719535827637,
862
+ "learning_rate": 1.8338381302533164e-05,
863
+ "loss": 0.0665862187743187,
864
+ "step": 122
865
+ },
866
+ {
867
+ "epoch": 0.23125734430082256,
868
+ "grad_norm": 0.6832467913627625,
869
+ "learning_rate": 1.8303879827647977e-05,
870
+ "loss": 0.061483677476644516,
871
+ "step": 123
872
+ },
873
+ {
874
+ "epoch": 0.23313748531139836,
875
+ "grad_norm": 0.20943143963813782,
876
+ "learning_rate": 1.8269056989192232e-05,
877
+ "loss": 0.007666974328458309,
878
+ "step": 124
879
+ },
880
+ {
881
+ "epoch": 0.23501762632197415,
882
+ "grad_norm": 0.9619431495666504,
883
+ "learning_rate": 1.823391413482412e-05,
884
+ "loss": 0.06872864812612534,
885
+ "step": 125
886
+ },
887
+ {
888
+ "epoch": 0.23689776733254994,
889
+ "grad_norm": 0.6353145837783813,
890
+ "learning_rate": 1.8198452624586592e-05,
891
+ "loss": 0.03983674198389053,
892
+ "step": 126
893
+ },
894
+ {
895
+ "epoch": 0.23877790834312573,
896
+ "grad_norm": 0.6979302167892456,
897
+ "learning_rate": 1.81626738308547e-05,
898
+ "loss": 0.0667322501540184,
899
+ "step": 127
900
+ },
901
+ {
902
+ "epoch": 0.24065804935370153,
903
+ "grad_norm": 0.5514077544212341,
904
+ "learning_rate": 1.8126579138282502e-05,
905
+ "loss": 0.046818796545267105,
906
+ "step": 128
907
+ },
908
+ {
909
+ "epoch": 0.24253819036427732,
910
+ "grad_norm": 0.4492374062538147,
911
+ "learning_rate": 1.8090169943749477e-05,
912
+ "loss": 0.04098084196448326,
913
+ "step": 129
914
+ },
915
+ {
916
+ "epoch": 0.2444183313748531,
917
+ "grad_norm": 0.6961103677749634,
918
+ "learning_rate": 1.8053447656306448e-05,
919
+ "loss": 0.04883302003145218,
920
+ "step": 130
921
+ },
922
+ {
923
+ "epoch": 0.2462984723854289,
924
+ "grad_norm": 0.8248452544212341,
925
+ "learning_rate": 1.8016413697121066e-05,
926
+ "loss": 0.06784651428461075,
927
+ "step": 131
928
+ },
929
+ {
930
+ "epoch": 0.2481786133960047,
931
+ "grad_norm": 1.0589181184768677,
932
+ "learning_rate": 1.797906949942282e-05,
933
+ "loss": 0.052728284150362015,
934
+ "step": 132
935
+ },
936
+ {
937
+ "epoch": 0.2500587544065805,
938
+ "grad_norm": 0.3563608229160309,
939
+ "learning_rate": 1.7941416508447537e-05,
940
+ "loss": 0.021236270666122437,
941
+ "step": 133
942
+ },
943
+ {
944
+ "epoch": 0.2519388954171563,
945
+ "grad_norm": 0.6616787314414978,
946
+ "learning_rate": 1.7903456181381486e-05,
947
+ "loss": 0.0754692554473877,
948
+ "step": 134
949
+ },
950
+ {
951
+ "epoch": 0.25381903642773207,
952
+ "grad_norm": 0.4925242066383362,
953
+ "learning_rate": 1.7865189987304964e-05,
954
+ "loss": 0.03571999445557594,
955
+ "step": 135
956
+ },
957
+ {
958
+ "epoch": 0.2556991774383079,
959
+ "grad_norm": 0.7398449778556824,
960
+ "learning_rate": 1.7826619407135444e-05,
961
+ "loss": 0.040718164294958115,
962
+ "step": 136
963
+ },
964
+ {
965
+ "epoch": 0.25757931844888365,
966
+ "grad_norm": 0.6538195610046387,
967
+ "learning_rate": 1.7787745933570277e-05,
968
+ "loss": 0.073344886302948,
969
+ "step": 137
970
+ },
971
+ {
972
+ "epoch": 0.2594594594594595,
973
+ "grad_norm": 0.6186607480049133,
974
+ "learning_rate": 1.77485710710289e-05,
975
+ "loss": 0.055532537400722504,
976
+ "step": 138
977
+ },
978
+ {
979
+ "epoch": 0.26133960047003524,
980
+ "grad_norm": 0.5715737342834473,
981
+ "learning_rate": 1.7709096335594632e-05,
982
+ "loss": 0.035070016980171204,
983
+ "step": 139
984
+ },
985
+ {
986
+ "epoch": 0.26321974148061106,
987
+ "grad_norm": 0.6023353934288025,
988
+ "learning_rate": 1.7669323254956006e-05,
989
+ "loss": 0.042510081082582474,
990
+ "step": 140
991
+ },
992
+ {
993
+ "epoch": 0.2650998824911868,
994
+ "grad_norm": 0.5790014266967773,
995
+ "learning_rate": 1.7629253368347624e-05,
996
+ "loss": 0.04061253368854523,
997
+ "step": 141
998
+ },
999
+ {
1000
+ "epoch": 0.26698002350176264,
1001
+ "grad_norm": 0.41726481914520264,
1002
+ "learning_rate": 1.7588888226490604e-05,
1003
+ "loss": 0.016257653012871742,
1004
+ "step": 142
1005
+ },
1006
+ {
1007
+ "epoch": 0.2688601645123384,
1008
+ "grad_norm": 13.69245719909668,
1009
+ "learning_rate": 1.7548229391532572e-05,
1010
+ "loss": 0.0682084858417511,
1011
+ "step": 143
1012
+ },
1013
+ {
1014
+ "epoch": 0.2707403055229142,
1015
+ "grad_norm": 0.3829832971096039,
1016
+ "learning_rate": 1.7507278436987188e-05,
1017
+ "loss": 0.029746640473604202,
1018
+ "step": 144
1019
+ },
1020
+ {
1021
+ "epoch": 0.27262044653349,
1022
+ "grad_norm": 0.5354511737823486,
1023
+ "learning_rate": 1.746603694767327e-05,
1024
+ "loss": 0.008099116384983063,
1025
+ "step": 145
1026
+ },
1027
+ {
1028
+ "epoch": 0.2745005875440658,
1029
+ "grad_norm": 0.47373664379119873,
1030
+ "learning_rate": 1.7424506519653438e-05,
1031
+ "loss": 0.021898245438933372,
1032
+ "step": 146
1033
+ },
1034
+ {
1035
+ "epoch": 0.2763807285546416,
1036
+ "grad_norm": 0.5978367328643799,
1037
+ "learning_rate": 1.7382688760172377e-05,
1038
+ "loss": 0.0594993457198143,
1039
+ "step": 147
1040
+ },
1041
+ {
1042
+ "epoch": 0.2782608695652174,
1043
+ "grad_norm": 0.32713404297828674,
1044
+ "learning_rate": 1.7340585287594605e-05,
1045
+ "loss": 0.018217433243989944,
1046
+ "step": 148
1047
+ },
1048
+ {
1049
+ "epoch": 0.28014101057579316,
1050
+ "grad_norm": 1.1237229108810425,
1051
+ "learning_rate": 1.729819773134185e-05,
1052
+ "loss": 0.07925233244895935,
1053
+ "step": 149
1054
+ },
1055
+ {
1056
+ "epoch": 0.282021151586369,
1057
+ "grad_norm": 1.1572819948196411,
1058
+ "learning_rate": 1.725552773183001e-05,
1059
+ "loss": 0.0854354053735733,
1060
+ "step": 150
1061
+ },
1062
+ {
1063
+ "epoch": 0.28390129259694474,
1064
+ "grad_norm": 0.36294350028038025,
1065
+ "learning_rate": 1.7212576940405647e-05,
1066
+ "loss": 0.013134794309735298,
1067
+ "step": 151
1068
+ },
1069
+ {
1070
+ "epoch": 0.28578143360752056,
1071
+ "grad_norm": 0.8305812478065491,
1072
+ "learning_rate": 1.716934701928208e-05,
1073
+ "loss": 0.09783323854207993,
1074
+ "step": 152
1075
+ },
1076
+ {
1077
+ "epoch": 0.2876615746180964,
1078
+ "grad_norm": 0.6770759224891663,
1079
+ "learning_rate": 1.7125839641475074e-05,
1080
+ "loss": 0.06042662262916565,
1081
+ "step": 153
1082
+ },
1083
+ {
1084
+ "epoch": 0.28954171562867215,
1085
+ "grad_norm": 0.2491256296634674,
1086
+ "learning_rate": 1.7082056490738065e-05,
1087
+ "loss": 0.01282151136547327,
1088
+ "step": 154
1089
+ },
1090
+ {
1091
+ "epoch": 0.29142185663924797,
1092
+ "grad_norm": 0.3872174024581909,
1093
+ "learning_rate": 1.7037999261497037e-05,
1094
+ "loss": 0.032801028341054916,
1095
+ "step": 155
1096
+ },
1097
+ {
1098
+ "epoch": 0.29330199764982373,
1099
+ "grad_norm": 0.8819592595100403,
1100
+ "learning_rate": 1.6993669658784908e-05,
1101
+ "loss": 0.040237247943878174,
1102
+ "step": 156
1103
+ },
1104
+ {
1105
+ "epoch": 0.29518213866039955,
1106
+ "grad_norm": 0.5211074948310852,
1107
+ "learning_rate": 1.6949069398175564e-05,
1108
+ "loss": 0.046092916280031204,
1109
+ "step": 157
1110
+ },
1111
+ {
1112
+ "epoch": 0.2970622796709753,
1113
+ "grad_norm": 1.2353624105453491,
1114
+ "learning_rate": 1.690420020571747e-05,
1115
+ "loss": 0.06157322973012924,
1116
+ "step": 158
1117
+ },
1118
+ {
1119
+ "epoch": 0.29894242068155114,
1120
+ "grad_norm": 0.6376184821128845,
1121
+ "learning_rate": 1.685906381786686e-05,
1122
+ "loss": 0.07221483439207077,
1123
+ "step": 159
1124
+ },
1125
+ {
1126
+ "epoch": 0.3008225616921269,
1127
+ "grad_norm": 0.4670684337615967,
1128
+ "learning_rate": 1.681366198142054e-05,
1129
+ "loss": 0.05798226222395897,
1130
+ "step": 160
1131
+ },
1132
+ {
1133
+ "epoch": 0.3027027027027027,
1134
+ "grad_norm": 0.7154240012168884,
1135
+ "learning_rate": 1.6767996453448282e-05,
1136
+ "loss": 0.10533998161554337,
1137
+ "step": 161
1138
+ },
1139
+ {
1140
+ "epoch": 0.3045828437132785,
1141
+ "grad_norm": 0.5200608372688293,
1142
+ "learning_rate": 1.6722069001224842e-05,
1143
+ "loss": 0.06703512370586395,
1144
+ "step": 162
1145
+ },
1146
+ {
1147
+ "epoch": 0.3064629847238543,
1148
+ "grad_norm": 0.4213132858276367,
1149
+ "learning_rate": 1.667588140216154e-05,
1150
+ "loss": 0.04691825434565544,
1151
+ "step": 163
1152
+ },
1153
+ {
1154
+ "epoch": 0.30834312573443007,
1155
+ "grad_norm": 0.384139746427536,
1156
+ "learning_rate": 1.662943544373748e-05,
1157
+ "loss": 0.024142542853951454,
1158
+ "step": 164
1159
+ },
1160
+ {
1161
+ "epoch": 0.3102232667450059,
1162
+ "grad_norm": 0.3581804633140564,
1163
+ "learning_rate": 1.65827329234304e-05,
1164
+ "loss": 0.03277008235454559,
1165
+ "step": 165
1166
+ },
1167
+ {
1168
+ "epoch": 0.31210340775558165,
1169
+ "grad_norm": 0.9509842395782471,
1170
+ "learning_rate": 1.6535775648647074e-05,
1171
+ "loss": 0.07664524018764496,
1172
+ "step": 166
1173
+ },
1174
+ {
1175
+ "epoch": 0.31398354876615747,
1176
+ "grad_norm": 0.7950679063796997,
1177
+ "learning_rate": 1.648856543665338e-05,
1178
+ "loss": 0.04917037487030029,
1179
+ "step": 167
1180
+ },
1181
+ {
1182
+ "epoch": 0.31586368977673324,
1183
+ "grad_norm": 0.6939692497253418,
1184
+ "learning_rate": 1.644110411450398e-05,
1185
+ "loss": 0.033213865011930466,
1186
+ "step": 168
1187
+ },
1188
+ {
1189
+ "epoch": 0.31774383078730906,
1190
+ "grad_norm": 0.8434940576553345,
1191
+ "learning_rate": 1.6393393518971587e-05,
1192
+ "loss": 0.041798003017902374,
1193
+ "step": 169
1194
+ },
1195
+ {
1196
+ "epoch": 0.3196239717978848,
1197
+ "grad_norm": 0.5167136192321777,
1198
+ "learning_rate": 1.634543549647591e-05,
1199
+ "loss": 0.03474203497171402,
1200
+ "step": 170
1201
+ },
1202
+ {
1203
+ "epoch": 0.32150411280846064,
1204
+ "grad_norm": 0.5876272320747375,
1205
+ "learning_rate": 1.6297231903012178e-05,
1206
+ "loss": 0.03290121629834175,
1207
+ "step": 171
1208
+ },
1209
+ {
1210
+ "epoch": 0.3233842538190364,
1211
+ "grad_norm": 0.7666569352149963,
1212
+ "learning_rate": 1.6248784604079316e-05,
1213
+ "loss": 0.05149153620004654,
1214
+ "step": 172
1215
+ },
1216
+ {
1217
+ "epoch": 0.3252643948296122,
1218
+ "grad_norm": 0.5900854468345642,
1219
+ "learning_rate": 1.6200095474607753e-05,
1220
+ "loss": 0.04448067024350166,
1221
+ "step": 173
1222
+ },
1223
+ {
1224
+ "epoch": 0.327144535840188,
1225
+ "grad_norm": 0.5376060009002686,
1226
+ "learning_rate": 1.6151166398886862e-05,
1227
+ "loss": 0.015022793784737587,
1228
+ "step": 174
1229
+ },
1230
+ {
1231
+ "epoch": 0.3290246768507638,
1232
+ "grad_norm": 0.5801107287406921,
1233
+ "learning_rate": 1.6101999270492033e-05,
1234
+ "loss": 0.03291890025138855,
1235
+ "step": 175
1236
+ },
1237
+ {
1238
+ "epoch": 0.3309048178613396,
1239
+ "grad_norm": 0.6087291836738586,
1240
+ "learning_rate": 1.6052595992211388e-05,
1241
+ "loss": 0.031155968084931374,
1242
+ "step": 176
1243
+ },
1244
+ {
1245
+ "epoch": 0.3327849588719154,
1246
+ "grad_norm": 0.451362282037735,
1247
+ "learning_rate": 1.6002958475972158e-05,
1248
+ "loss": 0.009819609113037586,
1249
+ "step": 177
1250
+ },
1251
+ {
1252
+ "epoch": 0.3346650998824912,
1253
+ "grad_norm": 0.7295314073562622,
1254
+ "learning_rate": 1.595308864276666e-05,
1255
+ "loss": 0.051709938794374466,
1256
+ "step": 178
1257
+ },
1258
+ {
1259
+ "epoch": 0.336545240893067,
1260
+ "grad_norm": 0.3998778164386749,
1261
+ "learning_rate": 1.5902988422578e-05,
1262
+ "loss": 0.02723798155784607,
1263
+ "step": 179
1264
+ },
1265
+ {
1266
+ "epoch": 0.3384253819036428,
1267
+ "grad_norm": 0.8522759079933167,
1268
+ "learning_rate": 1.585265975430533e-05,
1269
+ "loss": 0.04121178388595581,
1270
+ "step": 180
1271
+ },
1272
+ {
1273
+ "epoch": 0.34030552291421856,
1274
+ "grad_norm": 0.5936810374259949,
1275
+ "learning_rate": 1.5802104585688853e-05,
1276
+ "loss": 0.06424441933631897,
1277
+ "step": 181
1278
+ },
1279
+ {
1280
+ "epoch": 0.3421856639247944,
1281
+ "grad_norm": 0.6823294162750244,
1282
+ "learning_rate": 1.5751324873234422e-05,
1283
+ "loss": 0.03264414146542549,
1284
+ "step": 182
1285
+ },
1286
+ {
1287
+ "epoch": 0.34406580493537015,
1288
+ "grad_norm": 0.3798384368419647,
1289
+ "learning_rate": 1.570032258213783e-05,
1290
+ "loss": 0.007725706323981285,
1291
+ "step": 183
1292
+ },
1293
+ {
1294
+ "epoch": 0.34594594594594597,
1295
+ "grad_norm": 0.8923366665840149,
1296
+ "learning_rate": 1.5649099686208756e-05,
1297
+ "loss": 0.035471927374601364,
1298
+ "step": 184
1299
+ },
1300
+ {
1301
+ "epoch": 0.34782608695652173,
1302
+ "grad_norm": 0.7076458930969238,
1303
+ "learning_rate": 1.5597658167794374e-05,
1304
+ "loss": 0.028757719323039055,
1305
+ "step": 185
1306
+ },
1307
+ {
1308
+ "epoch": 0.34970622796709755,
1309
+ "grad_norm": 0.36611223220825195,
1310
+ "learning_rate": 1.5546000017702646e-05,
1311
+ "loss": 0.0077384174801409245,
1312
+ "step": 186
1313
+ },
1314
+ {
1315
+ "epoch": 0.3515863689776733,
1316
+ "grad_norm": 0.5799921751022339,
1317
+ "learning_rate": 1.549412723512526e-05,
1318
+ "loss": 0.016421930864453316,
1319
+ "step": 187
1320
+ },
1321
+ {
1322
+ "epoch": 0.35346650998824913,
1323
+ "grad_norm": 0.7346245646476746,
1324
+ "learning_rate": 1.5442041827560274e-05,
1325
+ "loss": 0.01859155297279358,
1326
+ "step": 188
1327
+ },
1328
+ {
1329
+ "epoch": 0.3553466509988249,
1330
+ "grad_norm": 0.36168423295021057,
1331
+ "learning_rate": 1.538974581073442e-05,
1332
+ "loss": 0.012681198306381702,
1333
+ "step": 189
1334
+ },
1335
+ {
1336
+ "epoch": 0.3572267920094007,
1337
+ "grad_norm": 0.40003958344459534,
1338
+ "learning_rate": 1.5337241208525097e-05,
1339
+ "loss": 0.019209278747439384,
1340
+ "step": 190
1341
+ },
1342
+ {
1343
+ "epoch": 0.3591069330199765,
1344
+ "grad_norm": 0.6620081663131714,
1345
+ "learning_rate": 1.5284530052882043e-05,
1346
+ "loss": 0.03176989406347275,
1347
+ "step": 191
1348
+ },
1349
+ {
1350
+ "epoch": 0.3609870740305523,
1351
+ "grad_norm": 0.3297053277492523,
1352
+ "learning_rate": 1.5231614383748699e-05,
1353
+ "loss": 0.012578723952174187,
1354
+ "step": 192
1355
+ },
1356
+ {
1357
+ "epoch": 0.36286721504112807,
1358
+ "grad_norm": 0.5588814616203308,
1359
+ "learning_rate": 1.5178496248983254e-05,
1360
+ "loss": 0.023057013750076294,
1361
+ "step": 193
1362
+ },
1363
+ {
1364
+ "epoch": 0.3647473560517039,
1365
+ "grad_norm": 0.5055070519447327,
1366
+ "learning_rate": 1.512517770427942e-05,
1367
+ "loss": 0.03681947663426399,
1368
+ "step": 194
1369
+ },
1370
+ {
1371
+ "epoch": 0.36662749706227965,
1372
+ "grad_norm": 1.1773488521575928,
1373
+ "learning_rate": 1.5071660813086837e-05,
1374
+ "loss": 0.06652048230171204,
1375
+ "step": 195
1376
+ },
1377
+ {
1378
+ "epoch": 0.36850763807285547,
1379
+ "grad_norm": 0.7722097635269165,
1380
+ "learning_rate": 1.501794764653124e-05,
1381
+ "loss": 0.056977998465299606,
1382
+ "step": 196
1383
+ },
1384
+ {
1385
+ "epoch": 0.37038777908343123,
1386
+ "grad_norm": 0.6458454728126526,
1387
+ "learning_rate": 1.4964040283334315e-05,
1388
+ "loss": 0.02878635935485363,
1389
+ "step": 197
1390
+ },
1391
+ {
1392
+ "epoch": 0.37226792009400705,
1393
+ "grad_norm": 1.2206151485443115,
1394
+ "learning_rate": 1.4909940809733223e-05,
1395
+ "loss": 0.022895192727446556,
1396
+ "step": 198
1397
+ },
1398
+ {
1399
+ "epoch": 0.3741480611045828,
1400
+ "grad_norm": 1.1328730583190918,
1401
+ "learning_rate": 1.4855651319399882e-05,
1402
+ "loss": 0.023003041744232178,
1403
+ "step": 199
1404
+ },
1405
+ {
1406
+ "epoch": 0.37602820211515864,
1407
+ "grad_norm": 0.7142350673675537,
1408
+ "learning_rate": 1.480117391335993e-05,
1409
+ "loss": 0.016481809318065643,
1410
+ "step": 200
1411
+ }
1412
+ ],
1413
+ "logging_steps": 1,
1414
+ "max_steps": 532,
1415
+ "num_input_tokens_seen": 0,
1416
+ "num_train_epochs": 1,
1417
+ "save_steps": 100,
1418
+ "stateful_callbacks": {
1419
+ "TrainerControl": {
1420
+ "args": {
1421
+ "should_epoch_stop": false,
1422
+ "should_evaluate": false,
1423
+ "should_log": false,
1424
+ "should_save": true,
1425
+ "should_training_stop": false
1426
+ },
1427
+ "attributes": {}
1428
+ }
1429
+ },
1430
+ "total_flos": 3.371562057162424e+17,
1431
+ "train_batch_size": 1,
1432
+ "trial_name": null,
1433
+ "trial_params": null
1434
+ }
training/checkpoints/checkpoint-300/CHECKSUMS.sha256 ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ df9859f741f75a96a958b358a1c08817e5fa6ff4a8fe8eed85a01add501ae7f1 README.md
2
+ a928e2f4694e2145d7e3c6c7f892bcdc9591a45baa6fa97e380ccb01d495b875 adapter_config.json
3
+ 2a65244dee566d1ab4ab27232900310e26d237bf56fabed898b94dde78082d55 adapter_model.safetensors
4
+ 556bd2bb21f45ef11f064c93ab22296ee4d7b6f5131546d71457022cabe88899 optimizer.pt
5
+ a7f64d5dc8fa2bdc5ae12da71cdb3395b17e4f494edf8753a032be8b167dd5d1 rng_state.pth
6
+ 841de5b0dcb7b1f112e703b0f661382afd353bc1755625a5460203340f9c49c8 scheduler.pt
7
+ 0e1ab6c3974bd751288735034a6a0e376652f6dfec572cff12d2383ca595770f trainer_state.json
8
+ 175111135c9d40b63054d1ef321345f80de8c4d21717241624ae93bced357d6c training_args.bin