Aleksander22 commited on
Commit
9ad4d81
·
verified ·
1 Parent(s): c11cd79

Upload index.html

Browse files
Files changed (1) hide show
  1. index.html +125 -183
index.html CHANGED
@@ -73,6 +73,28 @@ tr.highlight{background:var(--soft)}
73
 
74
  footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-size:12px}
75
  @media(max-width:900px){.model-grid,.stats,.version-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:8px}.nav-note{display:none}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  </style>
77
  </head>
78
  <body>
@@ -87,29 +109,23 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
87
 
88
  <div class="wrap model-grid">
89
  <article class="model-card" onclick="showModel('polmath')">
90
- <small>2025 · paused / publication track</small><h2>PolMATH</h2>
91
- <p>Custom language-model research around explicit numerical representations and multiple written forms of the same value.</p>
92
  <div class="chips"><span class="chip">custom architecture</span><span class="chip">numeric channel</span></div>
93
  </article>
94
 
95
  <article class="model-card" onclick="showModel('oris660')">
96
- <small>2026 · paused / research active</small><h2>ORIS 660M</h2>
97
- <p>Depth-reduced Polish base model studying structural damage, recovery, inherited knowledge and data ordering.</p>
98
- <div class="chips"><span class="chip">660M</span><span class="chip">32 12 layers</span><span class="chip">recovery</span></div>
99
  </article>
100
 
101
  <article class="model-card" onclick="showModel('smallc')">
102
- <small>2026 · gated release</small><h2>ORIS Small C</h2>
103
- <p>Custom compact Polish MLM encoder built from scratch for fast local filtering, scoring and downstream fine-tuning.</p>
104
  <div class="chips"><span class="chip">25.41M</span><span class="chip">local/global attention</span></div>
105
  </article>
106
- <article class="model-card" onclick="showModel('eris')">
107
- <small>2026 · active research</small><h2>Eris</h2>
108
- <p>Diffusion-style non-autoregressive language model with a full-resolution token stream, compressed global latent stream and parallel refinement.</p>
109
- <div class="chips"><span class="chip">~43M prototype</span><span class="chip">diffusion-style</span><span class="chip">parallel refinement</span></div>
110
- </article>
111
-
112
- <article class="model-card" onclick="showModel('vyuhu')">
113
  <small>2026 · active research</small><h2>Vyuhu</h2>
114
  <p>One trained supernetwork, four deterministic compute profiles, and physically extractable models that reproduce their profile path exactly.</p>
115
  <div class="chips">
@@ -133,8 +149,8 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
133
  </article>
134
 
135
  <article class="model-card" onclick="showModel('orisvision')">
136
- <small>2026 · planned research</small><h2>ORIS Vision</h2>
137
- <p>Planned compact visual representation model for fast image analysis, embeddings, scoring, retrieval and dataset-oriented filtering.</p>
138
  <div class="chips">
139
  <span class="chip">vision encoder</span>
140
  <span class="chip">embeddings</span>
@@ -152,9 +168,9 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
152
  <div class="wrap detail-hero">
153
  <div class="eyebrow">Numerical representation research</div>
154
  <h2>PolMATH</h2>
155
- <p>A custom language-model experiment built around a simple question: should a number exist inside a language model only as text?</p>
156
  <div class="update-log">
157
- <div class="update-item"><div class="update-date">2025</div><div class="update-copy"><strong>Initial architecture and training experiments</strong><span>Custom numerical channel, numerical decoding, routing and number↔text association tests.</span></div></div>
158
  <div class="update-item"><div class="update-date">Current</div><div class="update-copy"><strong>Publication-oriented rework</strong><span>Original branch paused; a cleaner protocol and English-language continuation are being prepared.</span></div></div>
159
  </div>
160
  </div>
@@ -182,6 +198,67 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
182
  </div>
183
  </div></section>
184
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  <section><div class="wrap">
186
  <div class="eyebrow">Observed training behaviour</div>
187
  <h3 class="section-title">The numerical channel became usable rather than decorative.</h3>
@@ -197,8 +274,8 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
197
  <div class="eyebrow">Roadmap</div>
198
  <h3 class="section-title">Paused, reorganized, and no longer intended to remain Polish-only.</h3>
199
  <div class="timeline">
200
- <div class="timeline-item"><div class="timeline-year">2025</div><div class="timeline-body"><h4>Initial PolMATH</h4><p>Custom architecture and structured numerical representation experiments.</p></div></div>
201
- <div class="timeline-item"><div class="timeline-year">202526</div><div class="timeline-body"><h4>Training and data experiments</h4><p>Numeric placement, notation equivalence, routing, generation and association tests.</p></div></div>
202
  <div class="timeline-item"><div class="timeline-year">Current</div><div class="timeline-body"><h4>Original branch paused</h4><p>The work is being cleaned up rather than simply continued as another checkpoint.</p></div></div>
203
  <div class="timeline-item"><div class="timeline-year">Next</div><div class="timeline-body"><h4>Publication-oriented continuation</h4><p>A cleaner experimental protocol and an English-language iteration are planned so the idea can be evaluated beyond a Polish-only setting.</p></div></div>
204
  </div>
@@ -208,11 +285,11 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
208
 
209
 
210
  <article class="detail" id="model-oris660">
211
- <div class="detail-top"><div class="wrap detail-bar"><button class="back" onclick="showIndex()">← All models</button><div class="detail-name">ORIS 660M</div></div></div>
212
  <div class="wrap detail-hero">
213
  <div class="eyebrow">Structural compression and recovery</div>
214
- <h2>ORIS 660M</h2>
215
- <p>An experimental Polish base model built by heavily shortening Bielik-1.5B-v3 and then studying what survives, what collapses, and what can recover.</p>
216
  <div class="stats"><div class="stat"><strong>660.13M</strong><span>parameters</span></div><div class="stat"><strong>32 → 12</strong><span>transformer blocks</span></div><div class="stat"><strong>621.984M</strong><span>benchmarked recovery labels</span></div><div class="stat"><strong>Paused</strong><span>research active</span></div></div>
217
  <div class="update-log">
218
  <div class="update-item"><div class="update-date">07 Aug 2026</div><div class="update-copy"><strong>ORIS 660M begins</strong><span>Depth-reduction experiment from Bielik-1.5B-v3.</span></div></div>
@@ -221,6 +298,17 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
221
  </div>
222
  </div>
223
 
 
 
 
 
 
 
 
 
 
 
 
224
  <section><div class="wrap">
225
  <div class="eyebrow">Origin</div>
226
  <h3 class="section-title">Not a conventionally scaled-down 660M transformer.</h3>
@@ -396,11 +484,11 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
396
 
397
 
398
  <article class="detail" id="model-smallc">
399
- <div class="detail-top"><div class="wrap detail-bar"><button class="back" onclick="showIndex()">← All models</button><div class="detail-name">ORIS Small C</div></div></div>
400
  <div class="wrap detail-hero">
401
  <div class="eyebrow">Compact Polish encoder</div>
402
- <h2>ORIS Small C</h2>
403
- <p>Originally developed under the working name ORIS Bert Small C. It uses BERT-style masked-language pretraining, but it is not a stock scaled-down BERT.</p>
404
  <div class="stats"><div class="stat"><strong>25.41M</strong><span>parameters</span></div><div class="stat"><strong>6</strong><span>layers</span></div><div class="stat"><strong>128K</strong><span>Polish-oriented BPE</span></div><div class="stat"><strong>8.00B</strong><span>input pretraining tokens</span></div></div>
405
  <div class="update-log">
406
  <div class="update-item"><div class="update-date">16 Aug 2026</div><div class="update-copy"><strong>Small C checkpoint completed</strong><span>From-scratch 8B-token MLM pretraining completed.</span></div></div>
@@ -473,7 +561,7 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
473
  <h3 class="section-title">The raw encoder space is highly anisotropic under mean pooling.</h3>
474
  <div class="table-wrap"><table>
475
  <thead><tr><th>Model</th><th>Mean cosine for unrelated texts</th></tr></thead>
476
- <tbody><tr class="highlight"><td>ORIS Small C</td><td>~0.987</td></tr><tr><td>HerBERT</td><td>~0.90</td></tr><tr><td>PolDense</td><td>~0.26</td></tr></tbody>
477
  </table></div>
478
  <p class="note">Internal diagnostic only; not a general encoder-quality benchmark.</p>
479
  </div></section>
@@ -482,7 +570,7 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
482
  <div class="eyebrow">Polish downstream benchmarks</div>
483
  <h3 class="section-title">Competitive on several tasks, clearly weaker on others — at about one quarter of PolBERTa's size.</h3>
484
  <div class="table-wrap"><table>
485
- <thead><tr><th>Task</th><th>Metric</th><th>ORIS Small C</th><th>PolBERTa base</th></tr></thead>
486
  <tbody>
487
  <tr><td>NKJP-NER</td><td>Macro-F1</td><td>75.52</td><td><strong>84.36</strong></td></tr>
488
  <tr class="highlight"><td>CDSC-E</td><td>Accuracy</td><td><strong>91.30</strong></td><td>91.00</td></tr>
@@ -495,14 +583,14 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
495
  <tr><td>AR</td><td>MAE ↓</td><td>0.5929</td><td><strong>0.5753</strong></td></tr>
496
  </tbody>
497
  </table></div>
498
- <p class="note">Local evaluation using the same fixed procedure for ORIS Small C and PolBERTa base; not an official KLEJ leaderboard submission.</p>
499
  </div></section>
500
 
501
  <section><div class="wrap">
502
  <div class="eyebrow">Document filtering</div>
503
  <h3 class="section-title">The workload it was originally built for is where the design makes the most sense.</h3>
504
  <div class="table-wrap"><table>
505
- <thead><tr><th>Metric</th><th>mmBERT-base</th><th>ORIS Small C</th></tr></thead>
506
  <tbody>
507
  <tr class="highlight"><td>Decision Macro-F1</td><td>0.4334</td><td><strong>0.5015</strong></td></tr>
508
  <tr><td>Decision accuracy</td><td>0.5185</td><td><strong>0.6296</strong></td></tr>
@@ -512,7 +600,7 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
512
  </table></div>
513
  <h4 style="margin-top:32px">Production-style full pipeline</h4>
514
  <div class="table-wrap"><table>
515
- <thead><tr><th>Metric</th><th>mmBERT-base</th><th>ORIS Small C</th></tr></thead>
516
  <tbody>
517
  <tr class="highlight"><td>Full pipeline time</td><td>21.732 s</td><td><strong>4.408 s</strong></td></tr>
518
  <tr><td>Documents / second</td><td>11.78</td><td><strong>58.07</strong></td></tr>
@@ -527,7 +615,7 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
527
  <div class="eyebrow">Encoder efficiency</div>
528
  <h3 class="section-title">The compact architecture also showed a large raw forward-pass advantage.</h3>
529
  <div class="table-wrap"><table>
530
- <thead><tr><th>Setting</th><th>ORIS Small C</th><th>mmBERT-small</th><th>Advantage</th></tr></thead>
531
  <tbody>
532
  <tr><td>Batch 1, 128 tokens</td><td><strong>3.828 ms</strong></td><td>17.153 ms</td><td><strong>4.48×</strong></td></tr>
533
  <tr><td>Batch 1, 1024 tokens</td><td><strong>3.940 ms</strong></td><td>17.229 ms</td><td><strong>4.37×</strong></td></tr>
@@ -552,152 +640,6 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
552
  </div>
553
  </div></section>
554
  </article>
555
- <article class="detail" id="model-eris">
556
- <div class="detail-top"><div class="wrap detail-bar"><button class="back" onclick="showIndex()">← All models</button><div class="detail-name">Eris</div></div></div>
557
- <div class="wrap detail-hero">
558
- <div class="eyebrow">Diffusion-style language-model research</div><h2>Eris</h2>
559
- <p>A non-autoregressive model combining a full-resolution token stream with a compressed global latent stream and parallel refinement.</p>
560
- <div class="stats"><div class="stat"><strong>~43M</strong><span>foundation prototype</span></div><div class="stat"><strong>~2.8B</strong><span>tokens at reported eval</span></div><div class="stat"><strong>45.7%</strong><span>top-1 recovery</span></div><div class="stat"><strong>97.2%</strong><span>edit-detection F1</span></div></div><div class="update-log">
561
- <div class="update-item" onclick="scrollInsideModel('eris-update-2026-08-18')">
562
- <div class="update-date">18 Aug 2026</div>
563
- <div class="update-copy">
564
- <strong>Architecture and inference tests</strong>
565
- <span>Synthetic edit benchmarks established the first strong batching-dependent parallel-refinement throughput signal. Click to open the full test note.</span>
566
- </div>
567
- </div>
568
- <div class="update-item" onclick="scrollInsideModel('eris-update-2026-08-19')">
569
- <div class="update-date">19 Aug 2026</div>
570
- <div class="update-copy">
571
- <strong>First pretrained model and first fine-tuning results</strong>
572
- <span>~43M foundation prototype, ~2.8B training tokens, C4 ablation and the first 500-pair real-world correction fine-tune. Click for the complete update.</span>
573
- </div>
574
- </div>
575
- </div>
576
- </div>
577
-
578
- <section><div class="wrap">
579
- <div class="eyebrow">Architecture</div><h3 class="section-title">Parallel denoising instead of sequential next-token generation.</h3>
580
- <div class="prose">
581
- <p>Eris uses a full-resolution token pathway together with a compressed global C4 latent pathway. Training uses denoising reconstruction plus an auxiliary corruption-detection objective.</p>
582
- <p>The current prototype was initialized from scratch and has progressed beyond inference-only smoke tests into billion-token-scale Polish foundation pretraining. At the reported ~2.8B-token stage it trained at roughly <strong>80k tokens/s on an RTX 5060 Ti</strong> and used a ~32k Bielik/APT4 tokenizer.</p>
583
- </div>
584
- </div></section>
585
-
586
- <section id="eris-update-2026-08-19"><div class="wrap">
587
- <div class="eyebrow">19 Aug 2026 · First pretrained model and first fine-tuning results</div>
588
- <h3 class="section-title">Eris moved from architecture benchmarks into its first pretrained foundation-model experiment.</h3>
589
-
590
- <div class="prose">
591
- <p>
592
- The current prototype has approximately <strong>43M parameters</strong>, uses a
593
- <strong>~32k Bielik/APT4 tokenizer</strong>, and combines a full-resolution token
594
- stream with a <strong>C4-compressed global latent pathway</strong>.
595
- </p>
596
- <p>
597
- At approximately <strong>2.8B training tokens</strong>, the first held-out evaluation
598
- measured <strong>reconstruction CE ≈ 3.10</strong>, <strong>45.7% top-1</strong> and
599
- <strong>64.1% top-5 token recovery</strong>, with auxiliary edit-detection
600
- <strong>F1 ≈ 97.2%</strong>. Training throughput at this stage was roughly
601
- <strong>80k tokens/s on an RTX 5060 Ti</strong>.
602
- </p>
603
- </div>
604
-
605
- <div class="stats">
606
- <div class="stat"><strong>~43M</strong><span>foundation prototype</span></div>
607
- <div class="stat"><strong>~2.8B</strong><span>pretraining tokens</span></div>
608
- <div class="stat"><strong>~80k tok/s</strong><span>RTX 5060 Ti training throughput</span></div>
609
- <div class="stat"><strong>~32k</strong><span>Bielik/APT4 tokenizer</span></div>
610
- </div>
611
-
612
- <div class="table-wrap"><table>
613
- <thead><tr><th>Pretraining evaluation</th><th>Result</th></tr></thead>
614
- <tbody>
615
- <tr class="highlight"><td>Reconstruction CE</td><td>≈ 3.10</td></tr>
616
- <tr><td>Top-1 token recovery</td><td>45.7%</td></tr>
617
- <tr><td>Top-5 token recovery</td><td>64.1%</td></tr>
618
- <tr><td>Auxiliary edit-detection F1</td><td>≈ 97.2%</td></tr>
619
- </tbody>
620
- </table></div>
621
-
622
- <div class="callout">
623
- <strong>C4 global-context ablation</strong>
624
- <p>
625
- Removing global context degraded reconstruction CE from <strong>≈3.10 to ≈3.21</strong>
626
- and top-5 accuracy from <strong>64.1% to 63.0%</strong>. The compressed global branch is
627
- therefore contributing useful information rather than behaving like an inactive pathway.
628
- Its current compute cost is substantial, however, making cheaper global-context injection
629
- one of the main architectural targets.
630
- </p>
631
- </div>
632
-
633
- <div class="table-wrap"><table>
634
- <thead><tr><th>C4 ablation</th><th>Reconstruction CE</th><th>Top-5 recovery</th></tr></thead>
635
- <tbody>
636
- <tr class="highlight"><td>Full Eris prototype</td><td>≈ 3.10</td><td>64.1%</td></tr>
637
- <tr><td>Global context removed</td><td>≈ 3.21</td><td>63.0%</td></tr>
638
- </tbody>
639
- </table></div>
640
-
641
- <h3 class="section-title" style="margin-top:44px">First downstream fine-tuning experiment.</h3>
642
- <div class="prose">
643
- <p>
644
- The first downstream test used only <strong>500 manually corrected real-world text pairs</strong>,
645
- with <strong>no synthetic corruption</strong>. On a held-out set, Eris achieved roughly
646
- <strong>46% exact correction</strong>, improved <strong>69% of corrupted examples</strong>,
647
- reduced total edit distance by <strong>49%</strong>, and worsened approximately
648
- <strong>6%</strong> of examples.
649
- </p>
650
- <p>
651
- This is a small transfer experiment rather than a finished downstream benchmark, but it
652
- suggests that the pretrained representations can transfer to a new task even with very
653
- limited supervised data.
654
- </p>
655
- </div>
656
-
657
- <div class="stats">
658
- <div class="stat"><strong>500</strong><span>manually corrected real-world pairs</span></div>
659
- <div class="stat"><strong>~46%</strong><span>exact correction</span></div>
660
- <div class="stat"><strong>69%</strong><span>corrupted examples improved</span></div>
661
- <div class="stat"><strong>-49%</strong><span>total edit distance</span></div>
662
- </div>
663
-
664
- <div class="table-wrap"><table>
665
- <thead><tr><th>Fine-tuning result</th><th>Held-out result</th></tr></thead>
666
- <tbody>
667
- <tr class="highlight"><td>Exact correction</td><td>≈ 46%</td></tr>
668
- <tr><td>Corrupted examples improved</td><td>69%</td></tr>
669
- <tr><td>Total edit-distance change</td><td>−49%</td></tr>
670
- <tr><td>Examples worsened</td><td>≈ 6%</td></tr>
671
- </tbody>
672
- </table></div>
673
-
674
- <div class="callout">
675
- <strong>Current limitations</strong>
676
- <p>
677
- The main weaknesses are <strong>edit-decision calibration</strong>,
678
- <strong>insert/delete handling</strong>, protection of already-correct text, and the compute
679
- cost of the global pathway. Ongoing work is focused on these issues before scaling Eris further.
680
- </p>
681
- </div>
682
-
683
- <p class="note">
684
- These results remain preliminary. They demonstrate stable billion-token-scale training,
685
- useful global-context learning and encouraging low-data downstream transfer, but they are not
686
- a finished-model quality comparison against established pretrained language models.
687
- </p>
688
- </div></section>
689
-
690
- <section><div class="wrap">
691
- <div class="eyebrow">Roadmap</div><h3 class="section-title">From architecture smoke test to foundation model.</h3>
692
- <div class="timeline">
693
- <div class="timeline-item"><div class="timeline-year">18 Aug 2026</div><div class="timeline-body"><h4>Architecture benchmark stage</h4><p>Synthetic edit workloads established the batching and parallel-refinement throughput signal.</p></div></div>
694
- <div class="timeline-item"><div class="timeline-year">19 Aug 2026</div><div class="timeline-body"><h4>First pretrained foundation prototype</h4><p>~43M parameters, ~32k Bielik/APT4 tokenizer, random initialization and ~2.8B Polish-language training tokens at the reported evaluation.</p></div></div>
695
- <div class="timeline-item"><div class="timeline-year">19 Aug 2026</div><div class="timeline-body"><h4>First downstream fine-tuning result</h4><p>500 manually corrected real-world pairs produced ~46% exact correction, 69% improvement rate and 49% lower total edit distance.</p></div></div>
696
- <div class="timeline-item"><div class="timeline-year">Current</div><div class="timeline-body"><h4>Calibration and global-context efficiency</h4><p>Improve edit decisions, insert/delete handling and protection of correct text while reducing C4 compute cost.</p></div></div>
697
- <div class="timeline-item"><div class="timeline-year">Next</div><div class="timeline-body"><h4>Scale only after architecture cleanup</h4><p>Refine reconstruction behaviour, objective and final model geometry before larger-scale training and direct quality comparisons.</p></div></div>
698
- </div>
699
- </div></section>
700
- </article>
701
 
702
  <article class="detail" id="model-vyuhu">
703
  <div class="detail-top"><div class="wrap detail-bar">
@@ -970,7 +912,7 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
970
  <div class="wrap detail-hero">
971
  <div class="eyebrow">Planned visual representation research</div>
972
  <h2>ORIS Vision</h2>
973
- <p>A planned compact visual representation model for fast image analysis, embeddings, scoring, retrieval and filtering.</p>
974
 
975
  <div class="chips">
976
  <span class="chip">visual embeddings</span>
@@ -983,18 +925,18 @@ footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-s
983
 
984
  <section><div class="wrap">
985
  <div class="eyebrow">Status</div>
986
- <h3 class="section-title">A planned compact vision encoder branch.</h3>
987
  <div class="prose">
988
- <p>ORIS Vision is intended for efficient visual representation and production-oriented analysis rather than conversational generation. Planned uses include embeddings, similarity, retrieval, scoring and image filtering.</p>
989
  </div>
990
  <p class="note">Architecture, training sources and implementation details are intentionally not disclosed at this stage.</p>
991
  </div></section>
992
  </article>
993
 
994
- <footer><div class="wrap">ORIS Research · Independent experimental language-model work · 2025–2027</div></footer>
995
 
996
  <script>
997
- const ids=["polmath","oris660","smallc","eris","vyuhu","vidar","orisvision"];
998
  function hideDetails(){
999
  ids.forEach(id=>{
1000
  const el=document.getElementById("model-"+id);
 
73
 
74
  footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-size:12px}
75
  @media(max-width:900px){.model-grid,.stats,.version-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:8px}.nav-note{display:none}}
76
+
77
+ /* simplified research-index skin — closer to Horyzont */
78
+ :root{--bg:#fff;--panel:#fff;--panel2:#f8f8f8;--text:#111;--muted:#737373;--line:#e8e8e8;--accent:#111;--soft:#f6f6f6;--max:980px}
79
+ body{background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
80
+ .wrap{width:min(calc(100% - 36px),var(--max))}
81
+ header{position:static;background:#fff;backdrop-filter:none;border-bottom:1px solid var(--line)}
82
+ nav{min-height:58px}.brand{letter-spacing:0;font-size:14px}.brand span{display:none}.nav-note{font-size:12px}
83
+ .hero{padding:78px 0 54px}.eyebrow{color:var(--muted);font-size:11px;letter-spacing:.08em;font-weight:400}
84
+ h1{font-size:clamp(52px,9vw,94px);line-height:.95;letter-spacing:-.06em;margin:0 0 18px;max-width:900px}
85
+ .hero p,.detail-hero p{font-size:17px;color:#333;max-width:760px}
86
+ .model-grid{display:block;padding:0 0 70px}.model-card{border:0;border-top:1px solid var(--line);background:#fff;padding:22px 0;min-height:0;cursor:pointer;display:grid;grid-template-columns:180px 1fr;column-gap:24px;align-items:start}
87
+ .model-card:last-child{border-bottom:1px solid var(--line)}.model-card:hover{transform:none;background:var(--soft);border-color:var(--line)}.model-card::after{right:10px;top:24px;color:#999}
88
+ .model-card small{grid-column:1;color:var(--muted);font-size:11px;letter-spacing:0;text-transform:none;margin:3px 0}.model-card h2{grid-column:2;margin:0 0 8px;font-size:25px;letter-spacing:-.03em}.model-card p{grid-column:2;color:#555;font-size:13px;max-width:650px}.model-card .chips{grid-column:2;margin-top:12px}
89
+ .chip{background:#fff;border:1px solid var(--line);padding:4px 7px;font-size:10px;color:#555}
90
+ .detail-top{position:static;background:#fff;backdrop-filter:none;border-bottom:1px solid var(--line)}.detail-bar{min-height:54px}.back{background:#fff;color:#111;border:0;padding:8px 0}.detail-hero{padding:62px 0 44px}.detail-hero h2{font-size:clamp(46px,8vw,78px);letter-spacing:-.055em}
91
+ section{padding:42px 0;border-top:1px solid var(--line)}.section-title{font-size:24px;letter-spacing:-.025em;margin:7px 0 18px}.prose{color:#444;max-width:820px}.prose p{margin-bottom:14px}
92
+ .stats{grid-template-columns:repeat(4,1fr);gap:8px}.stat,.version-card{background:#fff;border:1px solid var(--line);padding:16px}.stat strong{font-size:24px}.callout{background:var(--soft);border-left:2px solid #111;padding:16px 18px}.timeline-body:before{background:#111}.timeline-year{color:#555}.update-log{gap:0}.update-item{border:0;border-top:1px solid var(--line);background:#fff;padding:13px 0}.update-item:last-child{border-bottom:1px solid var(--line)}.update-item:hover{background:var(--soft);transform:none;border-color:var(--line)}.update-date{color:#777;letter-spacing:0;text-transform:none}
93
+ table{background:#fff}tr.highlight{background:var(--soft)}
94
+ details.tech{border-top:1px solid var(--line);padding:0}details.tech:last-child{border-bottom:1px solid var(--line)}details.tech summary{cursor:pointer;list-style:none;padding:17px 4px;font-size:14px;font-weight:700;display:flex;justify-content:space-between;gap:20px}details.tech summary::-webkit-details-marker{display:none}details.tech summary:after{content:"+";font-weight:400;color:#777}details.tech[open] summary:after{content:"−"}.tech-body{padding:0 4px 20px;max-width:850px;color:#444;font-size:13px}.tech-body p{margin:0 0 12px}.tech-grid{display:grid;grid-template-columns:180px 1fr;gap:0;border-top:1px solid var(--line);margin:14px 0}.tech-grid div{padding:10px 0;border-bottom:1px solid var(--line)}.tech-grid b{font-size:12px}.tech-grid span{font-size:12px;color:#555}pre.mini-code{overflow:auto;background:#f7f7f7;border:1px solid var(--line);padding:14px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#222}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.muted-line{color:#777;font-size:12px}
95
+ footer{padding:24px 0 40px}
96
+ @media(max-width:700px){.model-card{grid-template-columns:1fr;gap:4px}.model-card small,.model-card h2,.model-card p,.model-card .chips{grid-column:1}.stats{grid-template-columns:1fr 1fr}.tech-grid{grid-template-columns:1fr;gap:0}.tech-grid div:nth-child(odd){border-bottom:0;padding-bottom:2px}.tech-grid div:nth-child(even){padding-top:2px}}
97
+
98
  </style>
99
  </head>
100
  <body>
 
109
 
110
  <div class="wrap model-grid">
111
  <article class="model-card" onclick="showModel('polmath')">
112
+ <small>2024 · learning / custom-model research</small><h2>PolMATH</h2>
113
+ <p>The project where most of the early custom-model work happened: data preparation, tokenizer design, model internals, forward passes, numerical heads and difficult first attempts at exporting non-standard architectures to Hugging Face.</p>
114
  <div class="chips"><span class="chip">custom architecture</span><span class="chip">numeric channel</span></div>
115
  </article>
116
 
117
  <article class="model-card" onclick="showModel('oris660')">
118
+ <small>2025 · training-model experiments</small><h2>ORIS 660M / Qwen 0.8B</h2>
119
+ <p>Two related training tracks: ORIS 660M kept the structural-recovery experiment; the Qwen 0.8B branch tested tokenizer replacement and training with part of the pretrained weights frozen.</p>
120
+ <div class="chips"><span class="chip">ORIS 660M</span><span class="chip">Qwen 0.8B</span><span class="chip">tokenizer swap</span><span class="chip">partial freezing</span></div>
121
  </article>
122
 
123
  <article class="model-card" onclick="showModel('smallc')">
124
+ <small>2026 · embedding / encoder research</small><h2>ORIS BERT</h2>
125
+ <p>Compact Polish BERT-style encoder developed for embeddings, fast local filtering, scoring and downstream fine-tuning.</p>
126
  <div class="chips"><span class="chip">25.41M</span><span class="chip">local/global attention</span></div>
127
  </article>
128
+ <article class="model-card" onclick="showModel('vyuhu')">
 
 
 
 
 
 
129
  <small>2026 · active research</small><h2>Vyuhu</h2>
130
  <p>One trained supernetwork, four deterministic compute profiles, and physically extractable models that reproduce their profile path exactly.</p>
131
  <div class="chips">
 
149
  </article>
150
 
151
  <article class="model-card" onclick="showModel('orisvision')">
152
+ <small>2026 · embedding / vision encoder research</small><h2>ORIS Vision</h2>
153
+ <p>Visual counterpart to ORIS BERT: a compact embedding-oriented encoder for image similarity, retrieval, scoring and dataset filtering.</p>
154
  <div class="chips">
155
  <span class="chip">vision encoder</span>
156
  <span class="chip">embeddings</span>
 
168
  <div class="wrap detail-hero">
169
  <div class="eyebrow">Numerical representation research</div>
170
  <h2>PolMATH</h2>
171
+ <p>A custom language-model experiment that became the main place to learn the complete model pipeline in practice from data formatting and tokenizer training, through embeddings and transformer blocks, to forward passes, custom heads, decoding and the awkward reality of exporting non-standard solutions to Hugging Face. The numerical idea mattered, but so did learning how all the pieces actually fit together.</p>
172
  <div class="update-log">
173
+ <div class="update-item"><div class="update-date">2024</div><div class="update-copy"><strong>Initial architecture and training experiments</strong><span>Custom numerical channel, numerical decoding, routing and number↔text association tests.</span></div></div>
174
  <div class="update-item"><div class="update-date">Current</div><div class="update-copy"><strong>Publication-oriented rework</strong><span>Original branch paused; a cleaner protocol and English-language continuation are being prepared.</span></div></div>
175
  </div>
176
  </div>
 
198
  </div>
199
  </div></section>
200
 
201
+ <section><div class="wrap">
202
+ <div class="eyebrow">Technical notebook</div>
203
+ <h3 class="section-title">The useful part is in the plumbing.</h3>
204
+ <div class="prose"><p>PolMATH was the project where the author spent the most time taking the pipeline apart and putting it back together. The point of the notes below is not to dump the repository onto a webpage, but to expose the decisions that normally disappear behind <code>AutoModel.from_pretrained()</code>.</p></div>
205
+
206
+ <details class="tech" open><summary>Tokenizer · ByteLevel-BPE + a real numerical position</summary><div class="tech-body">
207
+ <p>The tokenizer branch trains a ByteLevel-BPE vocabulary while keeping <code>[PAD]</code>, <code>[BOS]</code>, <code>[EOS]</code>, <code>[NUM]</code> and the ten digits available explicitly. A regex detects ordinary decimals, decimal commas, scientific notation and suffixes such as <code>1930s</code> or <code>10th</code>. The numeric magnitude is moved out of the text stream and the text receives <code>[NUM]</code> in its place.</p>
208
+ <pre class="mini-code">pre, spans = self._preprocess_text_for_numbers(raw_text)
209
+ enc = self._tok.encode(pre)
210
+ # token stream: "Temperature is [NUM] degrees"
211
+ # side channel: {position_of_NUM: "23.5"}</pre>
212
+ <p class="muted-line">This makes the tokenizer responsible for linguistic placement, while the numeric path can carry the value itself.</p>
213
+ </div></details>
214
+
215
+ <details class="tech"><summary>Number codec · structure instead of one floating-point scalar</summary><div class="tech-body">
216
+ <p>The categorical codec decomposes a number into notation flags, integer/fraction/exponent lengths, exponent sign and digit classes. In the current magnitude-only branch the leading value sign is intentionally separated from the numeric magnitude.</p>
217
+ <div class="tech-grid"><div><b>Integer digits</b></div><div><span>up to 10 explicit digit slots</span></div><div><b>Fraction</b></div><div><span>up to 6 digit slots + decimal comma flag</span></div><div><b>Exponent</b></div><div><span>up to 3 digits + exponent sign</span></div><div><b>Notation flags</b></div><div><span>scientific / fraction / decimal form</span></div></div>
218
+ <pre class="mini-code">1939.0 → int=[1,9,3,9], frac=[0]
219
+ 1.939e3 → int=[1], frac=[9,3,9], exp=[3]
220
+ # different notation, recoverable structure</pre>
221
+ </div></details>
222
+
223
+ <details class="tech"><summary>Embedding fusion · let the model decide how much number to inject</summary><div class="tech-body">
224
+ <p>The normal token, position and token-type embeddings are built first. Numeric features are projected to hidden size. In the gated variant a small MLP sees both representations and produces a per-position gate; the numeric mask suppresses the channel everywhere except numerical positions.</p>
225
+ <pre class="mini-code">proj = self.numeric_proj(numeric_features)
226
+ g = sigmoid(self.gate_mlp(cat([x_base, proj])))
227
+ g = g * numeric_mask.unsqueeze(-1)
228
+ x = x_base + g * proj</pre>
229
+ <p>An auxiliary term experiments with aligning text and numeric representations where a number exists and penalizing numeric leakage elsewhere.</p>
230
+ </div></details>
231
+
232
+ <details class="tech"><summary>Transformer body and forward · deliberately ordinary where it should be ordinary</summary><div class="tech-body">
233
+ <p>The language backbone is intentionally understandable: causal scaled dot-product self-attention, a triangular mask, pre-norm residual blocks and a GELU MLP. One default configuration in the branch uses a 32k vocabulary, 768 hidden width, 12 layers, 12 attention heads, 3072 intermediate width and 2048 positions.</p>
234
+ <pre class="mini-code">h = self.ln1(x)
235
+ x = x + self.attn(h, attn_mask=attention_mask)
236
+ h2 = self.ln2(x)
237
+ x = x + self.mlp(h2)</pre>
238
+ <p>This was useful pedagogically: custom behaviour was isolated around numbers rather than hiding every component behind another abstraction.</p>
239
+ </div></details>
240
+
241
+ <details class="tech"><summary>Heads + router · categorical reconstruction versus bucket/regression</summary><div class="tech-body">
242
+ <p>The model can emit ordinary vocabulary logits and numerical predictions from the same hidden states. The categorical head predicts the components needed to reconstruct notation. An optional mixed head adds bucket classification and regression. A learned two-way router tests whether the model can choose which numerical path should dominate instead of hard-coding the choice.</p>
243
+ <pre class="mini-code">logits = self.lm_head(x)
244
+ pred_cat = self.numeric_head_cat(x)
245
+ pred_mix = self.numeric_head_mix(x)
246
+ gate = softmax(self.router(x), dim=-1)</pre>
247
+ </div></details>
248
+
249
+ <details class="tech"><summary>Tests · what gets checked before a long run</summary><div class="tech-body">
250
+ <p>The tokenizer script includes a direct sanity check on special-token IDs, digit IDs, encoded tokens, numeric positions and reconstruction. One test string deliberately mixes arithmetic, a negative decimal, a year-like form and an ordinal:</p>
251
+ <pre class="mini-code">"8+9 is 17. Temperature is -23.5 degrees.
252
+ In the 1930s, 10th place was okay."</pre>
253
+ <p>Useful test families for this branch include round-trip encode/decode, notation-equivalence pairs, sign and suffix edge cases, scientific notation, numeric-mask leakage, gate behaviour, shape checks for every head, causal-mask checks, and reversed association prompts such as fact → year versus year → fact.</p>
254
+ </div></details>
255
+
256
+ <details class="tech"><summary>Hugging Face exports · where custom ideas stop being cute</summary><div class="tech-body">
257
+ <p>A large part of the learning curve was not the forward pass itself but packaging a custom configuration, tokenizer behaviour, extra numeric tensors and custom model outputs so that they behaved predictably outside the local training script. Early exports were inconsistent: a model can train locally and still fail the practical <em>save → load → tokenize → forward → generate</em> path expected by Hugging Face tooling.</p>
258
+ <p>The lesson from PolMATH was blunt: a custom architecture is not finished when <code>loss.backward()</code> works. Serialization, configuration fields, tokenizer special tokens, output schemas and reload tests are part of the architecture too.</p>
259
+ </div></details>
260
+ </div></section>
261
+
262
  <section><div class="wrap">
263
  <div class="eyebrow">Observed training behaviour</div>
264
  <h3 class="section-title">The numerical channel became usable rather than decorative.</h3>
 
274
  <div class="eyebrow">Roadmap</div>
275
  <h3 class="section-title">Paused, reorganized, and no longer intended to remain Polish-only.</h3>
276
  <div class="timeline">
277
+ <div class="timeline-item"><div class="timeline-year">2024</div><div class="timeline-body"><h4>Initial PolMATH</h4><p>Custom architecture and structured numerical representation experiments.</p></div></div>
278
+ <div class="timeline-item"><div class="timeline-year">202425</div><div class="timeline-body"><h4>Training and data experiments</h4><p>Numeric placement, notation equivalence, routing, generation and association tests.</p></div></div>
279
  <div class="timeline-item"><div class="timeline-year">Current</div><div class="timeline-body"><h4>Original branch paused</h4><p>The work is being cleaned up rather than simply continued as another checkpoint.</p></div></div>
280
  <div class="timeline-item"><div class="timeline-year">Next</div><div class="timeline-body"><h4>Publication-oriented continuation</h4><p>A cleaner experimental protocol and an English-language iteration are planned so the idea can be evaluated beyond a Polish-only setting.</p></div></div>
281
  </div>
 
285
 
286
 
287
  <article class="detail" id="model-oris660">
288
+ <div class="detail-top"><div class="wrap detail-bar"><button class="back" onclick="showIndex()">← All models</button><div class="detail-name">ORIS 660M / Qwen 0.8B</div></div></div>
289
  <div class="wrap detail-hero">
290
  <div class="eyebrow">Structural compression and recovery</div>
291
+ <h2>ORIS 660M / Qwen 0.8B</h2>
292
+ <p>A pair of practical model-training experiments. ORIS 660M is the structural-compression and recovery branch described below; the earlier Qwen 0.8B track focused on changing the tokenizer and continuing training while freezing part of the pretrained model.</p>
293
  <div class="stats"><div class="stat"><strong>660.13M</strong><span>parameters</span></div><div class="stat"><strong>32 → 12</strong><span>transformer blocks</span></div><div class="stat"><strong>621.984M</strong><span>benchmarked recovery labels</span></div><div class="stat"><strong>Paused</strong><span>research active</span></div></div>
294
  <div class="update-log">
295
  <div class="update-item"><div class="update-date">07 Aug 2026</div><div class="update-copy"><strong>ORIS 660M begins</strong><span>Depth-reduction experiment from Bielik-1.5B-v3.</span></div></div>
 
298
  </div>
299
  </div>
300
 
301
+
302
+ <section><div class="wrap">
303
+ <div class="eyebrow">2025 · Qwen 0.8B track</div>
304
+ <h3 class="section-title">Change the tokenizer, freeze part of the model, then see what actually adapts.</h3>
305
+ <div class="prose">
306
+ <p>The Qwen 0.8B experiment was a more conventional pretrained-model surgery than ORIS 660M. The working test replaced the tokenizer and continued training while keeping part of the inherited weights frozen. The practical question was how much of a pretrained model can be preserved when the interface between raw text and embeddings changes.</p>
307
+ <p>This branch was useful less as a final model and more as training practice: vocabulary replacement, embedding adaptation, deciding which modules should remain frozen, checkpoint compatibility and observing where transfer breaks when the tokenizer no longer matches the one used during pretraining.</p>
308
+ </div>
309
+ <div class="callout"><strong>Scope of the note</strong><p>The uploaded material documents the ORIS 660M branch in detail; the tokenizer-replacement / partial-freezing Qwen description here follows the project history supplied by the author, not a benchmark table from the provided files.</p></div>
310
+ </div></section>
311
+
312
  <section><div class="wrap">
313
  <div class="eyebrow">Origin</div>
314
  <h3 class="section-title">Not a conventionally scaled-down 660M transformer.</h3>
 
484
 
485
 
486
  <article class="detail" id="model-smallc">
487
+ <div class="detail-top"><div class="wrap detail-bar"><button class="back" onclick="showIndex()">← All models</button><div class="detail-name">ORIS BERT</div></div></div>
488
  <div class="wrap detail-hero">
489
  <div class="eyebrow">Compact Polish encoder</div>
490
+ <h2>ORIS BERT</h2>
491
+ <p>ORIS BERT is the continuation of the model originally developed under the working name ORIS Bert Small C. It uses BERT-style masked-language pretraining and is treated primarily as a compact encoder / embedding model, not a stock scaled-down BERT.</p>
492
  <div class="stats"><div class="stat"><strong>25.41M</strong><span>parameters</span></div><div class="stat"><strong>6</strong><span>layers</span></div><div class="stat"><strong>128K</strong><span>Polish-oriented BPE</span></div><div class="stat"><strong>8.00B</strong><span>input pretraining tokens</span></div></div>
493
  <div class="update-log">
494
  <div class="update-item"><div class="update-date">16 Aug 2026</div><div class="update-copy"><strong>Small C checkpoint completed</strong><span>From-scratch 8B-token MLM pretraining completed.</span></div></div>
 
561
  <h3 class="section-title">The raw encoder space is highly anisotropic under mean pooling.</h3>
562
  <div class="table-wrap"><table>
563
  <thead><tr><th>Model</th><th>Mean cosine for unrelated texts</th></tr></thead>
564
+ <tbody><tr class="highlight"><td>ORIS BERT</td><td>~0.987</td></tr><tr><td>HerBERT</td><td>~0.90</td></tr><tr><td>PolDense</td><td>~0.26</td></tr></tbody>
565
  </table></div>
566
  <p class="note">Internal diagnostic only; not a general encoder-quality benchmark.</p>
567
  </div></section>
 
570
  <div class="eyebrow">Polish downstream benchmarks</div>
571
  <h3 class="section-title">Competitive on several tasks, clearly weaker on others — at about one quarter of PolBERTa's size.</h3>
572
  <div class="table-wrap"><table>
573
+ <thead><tr><th>Task</th><th>Metric</th><th>ORIS BERT</th><th>PolBERTa base</th></tr></thead>
574
  <tbody>
575
  <tr><td>NKJP-NER</td><td>Macro-F1</td><td>75.52</td><td><strong>84.36</strong></td></tr>
576
  <tr class="highlight"><td>CDSC-E</td><td>Accuracy</td><td><strong>91.30</strong></td><td>91.00</td></tr>
 
583
  <tr><td>AR</td><td>MAE ↓</td><td>0.5929</td><td><strong>0.5753</strong></td></tr>
584
  </tbody>
585
  </table></div>
586
+ <p class="note">Local evaluation using the same fixed procedure for ORIS BERT and PolBERTa base; not an official KLEJ leaderboard submission.</p>
587
  </div></section>
588
 
589
  <section><div class="wrap">
590
  <div class="eyebrow">Document filtering</div>
591
  <h3 class="section-title">The workload it was originally built for is where the design makes the most sense.</h3>
592
  <div class="table-wrap"><table>
593
+ <thead><tr><th>Metric</th><th>mmBERT-base</th><th>ORIS BERT</th></tr></thead>
594
  <tbody>
595
  <tr class="highlight"><td>Decision Macro-F1</td><td>0.4334</td><td><strong>0.5015</strong></td></tr>
596
  <tr><td>Decision accuracy</td><td>0.5185</td><td><strong>0.6296</strong></td></tr>
 
600
  </table></div>
601
  <h4 style="margin-top:32px">Production-style full pipeline</h4>
602
  <div class="table-wrap"><table>
603
+ <thead><tr><th>Metric</th><th>mmBERT-base</th><th>ORIS BERT</th></tr></thead>
604
  <tbody>
605
  <tr class="highlight"><td>Full pipeline time</td><td>21.732 s</td><td><strong>4.408 s</strong></td></tr>
606
  <tr><td>Documents / second</td><td>11.78</td><td><strong>58.07</strong></td></tr>
 
615
  <div class="eyebrow">Encoder efficiency</div>
616
  <h3 class="section-title">The compact architecture also showed a large raw forward-pass advantage.</h3>
617
  <div class="table-wrap"><table>
618
+ <thead><tr><th>Setting</th><th>ORIS BERT</th><th>mmBERT-small</th><th>Advantage</th></tr></thead>
619
  <tbody>
620
  <tr><td>Batch 1, 128 tokens</td><td><strong>3.828 ms</strong></td><td>17.153 ms</td><td><strong>4.48×</strong></td></tr>
621
  <tr><td>Batch 1, 1024 tokens</td><td><strong>3.940 ms</strong></td><td>17.229 ms</td><td><strong>4.37×</strong></td></tr>
 
640
  </div>
641
  </div></section>
642
  </article>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
643
 
644
  <article class="detail" id="model-vyuhu">
645
  <div class="detail-top"><div class="wrap detail-bar">
 
912
  <div class="wrap detail-hero">
913
  <div class="eyebrow">Planned visual representation research</div>
914
  <h2>ORIS Vision</h2>
915
+ <p>A planned compact visual embedding model the visual counterpart to ORIS BERT — for similarity, retrieval, scoring, analysis and filtering.</p>
916
 
917
  <div class="chips">
918
  <span class="chip">visual embeddings</span>
 
925
 
926
  <section><div class="wrap">
927
  <div class="eyebrow">Status</div>
928
+ <h3 class="section-title">The visual half of the compact embedding-model pair.</h3>
929
  <div class="prose">
930
+ <p>ORIS Vision is intended as the visual counterpart to ORIS BERT: both are compact encoder-style models aimed at representations rather than conversational generation. Planned uses include image embeddings, similarity, retrieval, scoring and image filtering.</p>
931
  </div>
932
  <p class="note">Architecture, training sources and implementation details are intentionally not disclosed at this stage.</p>
933
  </div></section>
934
  </article>
935
 
936
+ <footer><div class="wrap">ORIS Research · Independent experimental model work · 2024–2027</div></footer>
937
 
938
  <script>
939
+ const ids=["polmath","oris660","smallc","vyuhu","vidar","orisvision"];
940
  function hideDetails(){
941
  ids.forEach(id=>{
942
  const el=document.getElementById("model-"+id);