<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
  <channel>
    <title>LLM on Eva Winterschon</title>
    <link>https://winterschon.gitlab.io/tags/llm/</link>
    <description>Recent content in LLM on Eva Winterschon</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>Some copyright notice - [my license](https://example.com/license)</copyright>
    <lastBuildDate>Thu, 18 Jun 2026 23:39:50 +0000</lastBuildDate><atom:link href="https://winterschon.gitlab.io/tags/llm/index.xml" rel="self" type="application/rss+xml" /><icon>https://winterschon.gitlab.io/logo.svg</icon>
    
    
    <item>
      <title>Inference Sector KPI SLO</title>
      <link>https://winterschon.gitlab.io/en/posts/inference-sector-kpi-slo/</link>
      <pubDate>Thu, 18 Jun 2026 23:39:50 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/inference-sector-kpi-slo/</guid>
      <description><![CDATA[<h2 id="why-should-anyone-care-about-kpis-and-slos">Why should anyone care about KPIs and SLOs?</h2>
<p>Generally, unless one gets paid to deal with OBS/Tel and SLA conformance.. ehh. Except that the modern world operates within the bounds of a diverse and often not-fascinating array of performance indicators and services&rsquo; operating metrics.</p>
<h4 id="so-here-are-two-for-today">So.. Here are two for today.</h4>
<ul>
<li><strong>KPI</strong> == Key Performance Indicator</li>
<li><strong>SLO</strong> == Service Level Objective</li>
</ul>
<h3 id="minor-backstory---today">Minor Backstory - Today</h3>
<p>While aggregating directory content from several workstations into a unified NFS remote mount,<em>(can&rsquo;t simply have one workstation, right? right)</em>, another encounter with SLO defs appears upon the terminal.</p>
<p>This time it&rsquo;s for LLM Inference customers and their typical requirements. Perhaps our standards repository would be helpful as an adjunct resource:</p>
<ul>
<li><a href="https://github.com/yukon-systems/YukonSYS-Standard-Definitions">https://github.com/yukon-systems/YukonSYS-Standard-Definitions</a></li>
</ul>
<h2 id="inference-service-kpis-by-sector">Inference Service KPIs by Sector</h2>
<p>An extension of distributed cloud services architecture with heavy focus on baremetal with VMs and Containers throughout. Many ways to solve the problems, scale the infra, etc.</p>
<h4 id="slo-additions-to-the-classifier-repo">SLO Additions to the Classifier Repo</h4>
<ul>
<li>This file is a compact companion to the observability + telemetry glossary.</li>
<li>Each threshold is a starting point and should be tightened to real-world workload SLOs after baselining standard operations.</li>
</ul>
<table>
  <thead>
      <tr>
          <th>Sector</th>
          <th>High-signal KPIs</th>
          <th>Default alert style</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>LLM Inference (GP-GPU Service Infra)</td>
          <td>TTFT, ITL/TPOT, E2E, QTS</td>
          <td>SLO-derived or baseline-relative; baseline-relative</td>
      </tr>
      <tr>
          <td>LLM Inference (API Service Infra)</td>
          <td>P95 LAT, ERR, 429R, UST</td>
          <td>SLO-derived</td>
      </tr>
      <tr>
          <td>LLM Inference (Network Hardware + Protocol Infra)</td>
          <td>OWD, PDV, LOSS, ECN</td>
          <td>baseline-relative; budget-relative</td>
      </tr>
      <tr>
          <td>LLM Inference (Prompt Caching, Compute + Re-Compute)</td>
          <td>PCHR, CTR, TTFTR, RCR</td>
          <td>absolute for cache-eligible traffic</td>
      </tr>
      <tr>
          <td>LLM Inference (Prompt Caching, Storage Infra)</td>
          <td>CHR, CLAT, COCC, EVR</td>
          <td>absolute; absolute for cache-eligible traffic</td>
      </tr>
      <tr>
          <td>LLM Inference (Prompt Caching API + Load-Balancers)</td>
          <td>RCHR, LQ, URT, RTR</td>
          <td>absolute</td>
      </tr>
      <tr>
          <td>LLM Training (bulk initial datasets)</td>
          <td>ITPS, DHR, UDR, CONT</td>
          <td>absolute; capacity-envelope</td>
      </tr>
      <tr>
          <td>LLM Training (pre-training MoE)</td>
          <td>MFU, STEP, A2AS, EIR</td>
          <td>absolute starting point; baseline-relative</td>
      </tr>
      <tr>
          <td>LLM Training (post-training MoE)</td>
          <td>TPS, MFU, RACC, RMAR</td>
          <td>absolute starting point; baseline-relative</td>
      </tr>
      <tr>
          <td>HPC - High Frequency Trading - VM Clusters</td>
          <td>RDY, CSTP, NUMA MISS, T2D</td>
          <td>absolute starting point</td>
      </tr>
      <tr>
          <td>HPC - High Frequency Trading - Baremetal</td>
          <td>W2W, JITR, CPM, MPKI</td>
          <td>baseline-relative; budget-relative</td>
      </tr>
      <tr>
          <td>HPC - High Frequency Trading - CDN</td>
          <td>CHR, OOR, TTFB, OTTFB</td>
          <td>absolute</td>
      </tr>
      <tr>
          <td>HPC - High Frequency Trading - Low-Latency Exec</td>
          <td>OWD, JIT, FLAT, OLAT</td>
          <td>baseline-relative; budget-relative</td>
      </tr>
      <tr>
          <td>HPC - Dark Fiber Regional Network + Infra</td>
          <td>AVAIL, OWD, Pre-FEC BER, OSNRM</td>
          <td>SLO-derived; budget-relative</td>
      </tr>
      <tr>
          <td>HPC - Quantitative Research + Machine Learning</td>
          <td>BTT, FLAT, TSS, FFL</td>
          <td>absolute starting point; baseline-relative</td>
      </tr>
      <tr>
          <td>HPC - Big-Data &amp; Multivariate Pattern Analysis</td>
          <td>JDUR, SKR, SPILL, CLAG</td>
          <td>SLA-derived; absolute</td>
      </tr>
      <tr>
          <td>SLA + SLO Monitoring, Telemetry, Alerting Infra</td>
          <td>SLI-AV, SLI-LAT, EBR, UP</td>
          <td>SLO-derived</td>
      </tr>
  </tbody>
</table>
<hr>
<h3 id="global-policy-adjustments">Global Policy Adjustments</h3>
<ul>
<li><strong>baseline_window</strong>:
<ul>
<li><code>7d median or p50/p95 baseline unless otherwise stated</code></li>
</ul>
</li>
<li><strong>slo_policy</strong>:
<ul>
<li><code>page: error budget burn rate &gt; 14.4 over 1h and 5m, or &gt; 6 over 6h and 30m</code></li>
<li><code>ticket: error budget burn rate &gt; 1 over 3d and 6h</code></li>
</ul>
</li>
<li><strong>capacity_policy</strong>:
<ul>
<li><code>warn: sustained &gt; 80% of validated steady-state capacity</code></li>
<li><code>critical: sustained &gt; 90% of validated steady-state capacity or latency inflects above SLO</code></li>
</ul>
</li>
<li><strong>regression_policy</strong>:
<ul>
<li><code>warn: &gt; 1.10x to 1.25x baseline depending on sector sensitivity</code></li>
<li><code>critical: &gt; 1.20x to 1.50x baseline depending on sector sensitivity</code></li>
</ul>
</li>
</ul>
<hr>
<h3 id="reference-considerations">Reference Considerations</h3>
<ul>
<li>Thresholds are starting operational thresholds, not universal laws.</li>
<li>Where a standards or vendor reference provides an acceptable range, that range is used.</li>
<li>Where no universal value exists, thresholds are either SLO-derived or baseline-relative (typically against a 7d median or a validated capacity envelope).</li>
<li>For latency-sensitive sectors, alert on percentile regressions and budget exhaustion, not averages.</li>
</ul>
<hr>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Performance Engineering - Evaluative Metrics</title>
      <link>https://winterschon.gitlab.io/en/posts/performance-engineering-evaluative-metrics/</link>
      <pubDate>Sat, 13 Jun 2026 15:43:01 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/performance-engineering-evaluative-metrics/</guid>
      <description><![CDATA[<h2 id="llm-inference">LLM Inference</h2>
<table>
  <thead>
      <tr>
          <th>Sector</th>
          <th>Common metrics</th>
          <th>Less-known / specialist metrics</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>GP-GPU Service Infrastructure</td>
          <td>TTFT, ITL/TPOT, E2E request latency, TPS, RPS/QPS, Queue-Fill, KV/C metrics</td>
          <td>request_queue_time, request_prefill_time, request_decode_time, inflight time, SM occupancy, HBM/DRAM memory throughput</td>
      </tr>
      <tr>
          <td>API Service Infrastructure</td>
          <td>p50/p95/p99 latency, streaming TTFB/TTFT, RPS/QPS, error rate, 429 rate, active downstream connections, backend latency</td>
          <td>x-envoy-upstream-service-time, upstream_rq_time, TR/Tw/Tc/Tr/TA timer split in HAProxy, retry rate, queue-slot saturation, circuit-breaker usage</td>
      </tr>
      <tr>
          <td>Network Hardware + Protocol Infra</td>
          <td>RTT (round-trip time), one-way latency, jitter/PDV (packet delay variation), PPS/BPS, packet loss, retransmits</td>
          <td>ECN mark rate, PFC (priority flow control) pause events, microburst depth, CQE (completion queue entry) compression state, SymbolErrors, LinkRecoveries, PTP offset/path delay</td>
      </tr>
      <tr>
          <td>Prompt Caching, Compute + Re-Compute</td>
          <td>cache hit rate, cached_tokens, prompt_tokens, generation_tokens, TTFT reduction, cache read/write counts</td>
          <td>partial-hit ratio, cache-miss ratio, prefix-cache block hit rate, predicted KV hit rate, per-request routing overhead</td>
      </tr>
      <tr>
          <td>Prompt Caching, Storage Infra</td>
          <td>cache hit ratio, eviction rate, cache latency, TTL, GPU/CPU cache usage</td>
          <td>CPU-vs-GPU cache-hit split, priority-based eviction effect, TTL refresh behavior, KV-block fragmentation / block reuse</td>
      </tr>
      <tr>
          <td>Prompt Caching, API + Load-Balancers</td>
          <td>per-route/model hit rate, active and pending requests, backend latency, request rate, retries, error rate</td>
          <td>cache-aware routing predicted KV hit rate, routing overhead, queue time before backend selection, circuit-breaker saturation, connection-slot pressure</td>
      </tr>
  </tbody>
</table>
<h3 id="acronyms">Acronyms</h3>
<ul>
<li>TTFT == Time to First Token</li>
<li>ITL == Inter-Token Latency</li>
<li>TPOT == Time per Output Token</li>
<li>E2E == end-to-end</li>
<li>TKS == tokens/sec</li>
<li>RPS == requests/sec</li>
<li>QPS == queries/sec</li>
<li>KV/C == Key-Value Cache</li>
</ul>
<h2 id="llm-dataset-training">LLM Dataset Training</h2>
<table>
  <thead>
      <tr>
          <th>Operations</th>
          <th>Common metrics</th>
          <th>Less-known / specialist metrics</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Pre-loading datasets</td>
          <td>ingest throughput (docs/s, rows/s, bytes/s, tokens/s), tokenization throughput, DataLoader throughput, dedup ratio</td>
          <td>fuzzy-duplicate rate, semantic-duplicate rate, contamination rate/AUC, consumer lag, shuffle spill bytes</td>
      </tr>
      <tr>
          <td>Pre-training + MoE</td>
          <td>tokens/s, step time, MFU (model FLOPs utilization), training loss/perplexity, all-to-all/dispatch time, GPU memory</td>
          <td>auxiliary load-balancing loss, router z-loss, expert capacity factor, token-drop rate, per-layer expert imbalance</td>
      </tr>
      <tr>
          <td>Post-training + MoE</td>
          <td>step time, samples/s or tokens/s, train/val loss, reward/preference accuracy, KL divergence, MFU</td>
          <td>chosen vs rejected reward margin, chosen/rejected rewards, router aux/z loss during alignment, expert saturation under small-batch tuning</td>
      </tr>
  </tbody>
</table>
<h2 id="hpc--hft-analytics-infrastructure">HPC + HFT Analytics Infrastructure</h2>
<table>
  <thead>
      <tr>
          <th>Sector</th>
          <th>Common metrics</th>
          <th>Less-known / specialist metrics</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Virtual Machine Clusters</td>
          <td>p50/p99 service latency, jitter, CPU ready time, throughput, packet loss</td>
          <td>CPU co-stop, NUMA locality (numa_hit/numa_miss/local_node/other_node), vCPU scheduling contention, latency-sensitivity effectiveness</td>
      </tr>
      <tr>
          <td>Baremetal Systems</td>
          <td>wire-to-wire latency, p99/p999 jitter, PPS/Mpps, cycles, instructions, LLC-load-misses, branch-misses, RX/TX drops</td>
          <td>NUMA locality, interrupt coalescence, CQE compression state, packet pacing, driver extended stats / ring stress</td>
      </tr>
      <tr>
          <td>Content Delivery Networking</td>
          <td>cache hit ratio, TTFB, origin offload, request rate, error rate, egress bandwidth</td>
          <td>shield-layer hit ratio, origin_ttfb, child/parent cache status, regional cache-performance variance</td>
      </tr>
      <tr>
          <td>Low-Latency Trade-Execution Networks</td>
          <td>one-way latency, RTT, jitter, packet loss, order latency, feed latency</td>
          <td>microburst depth, queue/buffer pressure, ECN mark rate, PFC pause events, path asymmetry, PTP offset</td>
      </tr>
      <tr>
          <td>Dark Fiber Regional Network Infra</td>
          <td>one-way latency, RTT, availability, BER, pre-FEC BER, post-FEC BER</td>
          <td>OSNR/ESNR, Q-factor, CD (chromatic dispersion), PMD (polarization mode dispersion), FEC degrade indicators</td>
      </tr>
      <tr>
          <td>Quantitative Research + Machine Learning</td>
          <td>backtest wall-clock runtime, feed latency, order latency, feature-serving latency, feature-ingestion throughput</td>
          <td>training-serving skew, feature inflight vs write-to-store success metrics, feature health/correctness monitoring</td>
      </tr>
      <tr>
          <td>Data Analytics + Multivariate Analysis</td>
          <td>job duration, stage/task duration, throughput, end-to-end delay, records-consumed-rate, consumer lag, shuffle read/write</td>
          <td>spill bytes, skew via task-duration discrepancy or shuffle-read imbalance, straggler share, input-pipeline prefetch effectiveness</td>
      </tr>
  </tbody>
</table>
<h2 id="sla--slo-reliability-telemetry-alerting">SLA + SLO Reliability, Telemetry, Alerting</h2>
<ul>
<li>Pre-Defined latency/error/throughput SLIs and error budgets require burn-rate alerting</li>
<li>Prometheus and Alertmanager define scrape and notification timing controls</li>
<li>OpenTelemetry defines histograms and exemplars</li>
<li>Apdex is a standard user-satisfaction score</li>
<li>Elastic APM measures application performance traces</li>
</ul>
<table>
  <thead>
      <tr>
          <th>Sector</th>
          <th>Common metrics</th>
          <th>Less-known / specialist metrics</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>SLA + SLO Monitoring, Telemetry, Alerting Infra</td>
          <td>availability SLI, latency SLI, error rate, throughput, Apdex, error-budget burn rate</td>
          <td>multi-window multi-burn-rate alerts, scrape_duration / scrape_timeout ratio, group_wait / group_interval / repeat_interval, histogram bucket design, exemplars</td>
      </tr>
  </tbody>
</table>
<h2 id="shared-analytics-of-interest">Shared Analytics of Interest</h2>
<table>
  <thead>
      <tr>
          <th>Metric</th>
          <th>Signal</th>
          <th>Typical domains</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Queue time</td>
          <td>Separates saturation from raw compute/network slowness</td>
          <td>LLM serving, API gateways, load balancers, HFT</td>
      </tr>
      <tr>
          <td>Prefill vs decode split</td>
          <td>Distinguishes prompt-processing bottlenecks from token-generation bottlenecks</td>
          <td>LLM GPU serving</td>
      </tr>
      <tr>
          <td>Prefix/KV cache hit rate</td>
          <td>Direct proxy for avoidable recompute and TTFT improvement</td>
          <td>LLM serving, agentic systems</td>
      </tr>
      <tr>
          <td>Auxiliary MoE loss and router z-loss</td>
          <td>Early warning for expert imbalance and routing instability</td>
          <td>MoE training</td>
      </tr>
      <tr>
          <td>CPU ready / co-stop / NUMA miss</td>
          <td>Often the real cause of inconsistent latency in virtualized clusters</td>
          <td>VM-based HFT / HPC</td>
      </tr>
      <tr>
          <td>Microburst depth and ECN/PFC behavior</td>
          <td>Reveals congestion that average bandwidth hides</td>
          <td>Low-latency Ethernet / RoCE fabrics</td>
      </tr>
      <tr>
          <td>OSNR / CD / PMD / pre-FEC BER</td>
          <td>Core optical-health indicators long before full link failure</td>
          <td>Dark fiber / coherent optics</td>
      </tr>
      <tr>
          <td>Spill bytes and consumer lag</td>
          <td>Early warning for data-path backpressure and skew</td>
          <td>Big-data pipelines</td>
      </tr>
      <tr>
          <td>Burn rate and exemplars</td>
          <td>Better operational signal than raw alert count or average latency</td>
          <td>SLO / observability stacks</td>
      </tr>
  </tbody>
</table>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Infra Monorepo Migration</title>
      <link>https://winterschon.gitlab.io/en/posts/infra-monorepo-migration/</link>
      <pubDate>Sun, 31 May 2026 04:22:04 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/infra-monorepo-migration/</guid>
      <description><![CDATA[<p>One weekend of fun follows many former, and also weekdays, and other weekends. It&rsquo;s nice to have a small team manage a lot of resources using a single pane of glass via tmux, rs232, ipmi, Ansible and BigNetwork.</p>
<blockquote>
<p>More details later&hellip; sleepy.</p>
</blockquote>
<hr>
<pre tabindex="0"><code> # NeoCortex Standards, Repo Storage, ZFS Dataset, M70 QAT Fast-Track Plan

  ## Summary

  Implement a non-destructive NeoCortex follow-up that locks
  these policies into code, tests, and docs:

  - Repos live under /opt/repos/&lt;repo&gt;; worktrees live under
    /opt/repos/worktrees/&lt;repo&gt;/&lt;branch&gt;.
  - /root is not a repo/worktree destination; /root/OMGFUCKED is
    temporary quarantine only.
  - New repos must be created from
    yukon-systems/YukonSYS-Standard-Definitions.
  - Every repo must use Git LFS and the standards repo
    .gitattributes byte-for-byte.
  - ZFS dataset creation for /opt/repos becomes reusable
    Ansible/policy logic, based on
    /root/bin/ZFS-M70-Forge_zroot-dataset_opt-repos.sh.
  - M70 QAT rollout uses canary first: build OpenSSL+QAT and
    OpenZFS/QAT binpkgs, validate on M70 canary, then promote.

  ## Key Changes

  - Standards and repo-placement policy
      - Update NeoCortex root policy docs and tests to forbid
        new repo/worktree paths under /root, except documented
        temporary quarantine paths under /root/OMGFUCKED.
      - Update tools/import-source-repos.py defaults from
        /root/&lt;repo&gt; to /opt/repos/&lt;repo&gt;, with
        /root/OMGFUCKED/&lt;repo&gt; accepted only as an explicit
        transitional override.
      - Add a repo-location audit script/test that fails active
        operational docs/scripts using /root/&lt;repo&gt; or
        /root/.config/superpowers/worktrees as live paths.
  - Git LFS and .gitattributes
      - Replace NeoCortex root .gitattributes with the standards
        repo version byte-for-byte.
      - Add a validation script that checks:
          - git lfs version works,
          - filter.lfs.required=true,
          - origin LFS locksverify=true,
          - root .gitattributes hash equals standards source,
          - LFS pre-push hook exists.
      - Document that non-compliant repos must be retrofitted
        before migration/import.
  - ZFS dataset automation
      - Convert
        /root/bin/ZFS-M70-Forge_zroot-dataset_opt-repos.sh into
        reusable NeoCortex Ansible/defaults for managed
        datasets.
      - First managed dataset profile: zroot/opt/repos mounted
        at /opt/repos with the script’s options, including
        compression=zstd-fast-1, dedup=sha256,verify,
        recordsize=256K, xattr=sa, POSIX ACLs, atime=off, and
        reservation=32M.
      - Add a second reusable pattern for per-user home
        datasets, but do not block on the NAS/NFS 777
        investigation; include a permission preflight that
        creates a test directory with umask 0027 and fails if
        mode becomes 0777.
  - M70 QAT binpkg fast-track
      - Extend the existing M70 canary stage4/binpkg lane to
        build a QAT package set:
          - QAT firmware/kernel module readiness package policy,
          - OpenSSL QAT engine/provider package path,
          - OpenZFS package built with QAT support,
          - rollback stock OpenSSL/OpenZFS binpkgs.
      - Add package/use/profile fragments under the existing
        Gentoo stage4 profile area instead of ad hoc host edits.
      - Add canary validation:
          - lspci -nnk sees QAT device,
          - qat_c3xxx and intel_qat load,
          - OpenZFS module parameters expose QAT controls,
          - openssl speed before/after artifacts are captured,
          - root pool imports and mounts after reboot,
          - rollback binpkg path is tested before wider
            promotion.
      - Do not promote to all M70 nodes until canary evidence is
        committed.

  ## Test Plan

  - Local static checks:
      - tests/shell/run-tests.sh
      - new repo-location standards test
      - new Git LFS standards test
      - new ZFS dataset defaults test
      - new M70 QAT package-policy test
      - YAML parse for all workflows/playbooks
      - git diff --check
  - Runtime/dry-run checks:
      - Ansible syntax-check for dataset roles/playbooks.
      - Dry-run dataset plan for /opt/repos confirms current
        zroot/opt/repos matches expected options.
      - M70 canary dry-run emits QAT binpkg build plan without
        mutating packages.
  - Canary acceptance:
      - QAT binpkgs build successfully.
      - M70 canary reboots with root pool intact.
      - QAT modules and OpenZFS QAT controls are present.
      - Benchmark and rollback evidence are recorded under
        NeoCortex audit docs.


  ## Assumptions

  - Canonical repo clone layout is /opt/repos/&lt;repo&gt;.
  - Worktree layout is /opt/repos/worktrees/&lt;repo&gt;/&lt;branch&gt;.
  - /root/OMGFUCKED remains temporary quarantine, not an
    approved steady-state repo location.
  - QAT rollout gate is canary first, not all-M70 immediate.
  - OpenZFS QAT implementation details must be verified against
    current OpenZFS/Gentoo package behavior during
    implementation; source basis includes OpenZFS QAT docs and
    module-parameter docs:
      - https://openzfs.org/wiki/ZFS_Hardware_Acceleration_with_QAT
      - https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html

─ Worked for 22m 41s
───────────────────────────────────────────────────────────
  Implement this plan?
  1. Yes, implement this plan          Switch to Default and
  start coding.
  2. Yes, clear context and implement  Fresh thread. Context:
  53% used.
› 3. No, stay in Plan mode             Continue planning with
the model.



-----------------------
  ## Assumptions

  - Canonical repo clone layout is /opt/repos/&lt;repo&gt;.
  - Worktree layout is /opt/repos/worktrees/&lt;repo&gt;/&lt;branch&gt;.
  - /root/OMGFUCKED remains temporary quarantine, not an
    approved steady-state repo location.
  - QAT rollout gate is canary first, not all-M70 immediate.
  - OpenZFS QAT implementation details must be verified against
    current OpenZFS/Gentoo package behavior during
    implementation; source basis includes OpenZFS
    QAT docs and module-parameter docs:
      - https://openzfs.org/wiki/ZFS_Hardware_Acceleration_with_QAT
      - https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html

─ Worked for 22m 41s
───────────────────────────────────────────────────────────

› 1) We also need to include the control plane fixes and
validations so that mutli-workers comms are fixed. 2) We need to
leverage the SLURM cluster nodes and
  additional distcc build hosts, 3) X12again &amp; FMT2 are
  effectively idle and can be blasted into submission to fast
  track all of these changes. 4) Once the
  M70-canary passes, we need to roll it out to K10 (tear-it-down
  AAA) and validate that type of OS netbooting. 5) Add those
  aspects to the Plans and we&#39;re
  looking better. 6) Finally, wrap up ALL changes necessary to
  complete the NeoCortex monorepo migration.

───────────────────────────────────────────────────────────

• I’ll revise the plan around the expanded end-state, but first
I’m doing a read-only pass over NeoCortex’s control-plane,
SLURM/distcc, X12/FMT2/K10, and
  migration-status artifacts so the replacement plan is grounded
  instead of generic.

───────────────────────────────────────────────────────────

• Proposed Plan

  # NeoCortex Standards-Complete Monorepo Migration Plan

  ## Summary

  - Make /opt/repos/&lt;repo&gt; the only canonical repo location; no 
  new checkouts or random repo files under any home directory, 
  including /root.
  - Finish standards adoption: all new repos must originate from 
  YukonSYS-Standard-Definitions; NeoCortex gets retrofitted 
  instead of restarted unless
    retrofit verification fails.
  - Complete NeoCortex monorepo migration with standards baseline, 
  Git LFS policy, control-plane comms fixes, ZFS dataset policy, 
  SLURM/distcc acceleration, M70 QAT canary, FMT2/X12again build 
  capacity, and K10 netboot AAA rollout validation.

  ## Key Changes

  - Repository standards
      - Merge standards policy PR work, then make NeoCortex 
      root .gitattributes byte-for-byte identical to the standards 
      repo version.
      - Update active NeoCortex import/migration tooling to default 
      source paths to /opt/repos/&lt;repo&gt;.
      - Preserve historical /root/... references only in immutable 
      audit/provenance docs; active scripts, runbooks, tests, and 
      templates must not depend on
        home-directory repos.
      - Use worktrees under /opt/repos/worktrees/&lt;repo&gt;/&lt;branch&gt;.
  - NeoCortex monorepo completion
      - Finish all migration blockers already tracked in 
      NeoCortex: M70 stage4/QCOW validation, Kata/container 
      runtime, FMT2 ephemeral VM lane, Gentoo/OpenRC
        replacement for temporary Rocky bootstrap, Thor replacement 
        path, and optional history graft/freeze decision.
      - Treat NeoCortex as authoritative after completion: source 
      repos become frozen compatibility references or are 
      history-grafted into NeoCortex with
        documented provenance.
      - Add/repair migration validation so PR completion proves 
      standards baseline, Git LFS, repo location policy, shell 
      tests, YAML parsing, and migration
        manifests.
  - Control-plane and multi-worker comms
      - Bring all control-plane fixes into NeoCortex and validate 
      Forge/FCP worker communication end to end.
      - Add tests for FCP envelope validation, replay/nonce handling, 
      approval ceilings, routing scope, transport policy, ntfy bridge 
      behavior, and multi-worker request/response flows.
      - Replace temporary Rocky bootstrap control-plane host with the 
      compliant Gentoo/OpenRC image once that image passes validation.
  - ZFS, NFS, and storage policy
      - Use the provided /opt/repos ZFS dataset options as the canonical 
      dataset profile for repo storage.
      - Add reusable dataset/playbook logic for repo datasets and 
      per-user home datasets.
      - Add NFS/floating-home validation that detects the NAS NFSv4.2 
      0777 directory-mode bug under expected 0027 umask and blocks 
      insecure rollout.
  - Build acceleration and hardware rollout
      - Use SLURM plus distcc for M70 stage4/QAT/OpenZFS builds.
      - Treat X12again and FMT2 as available fast-track build/validation 
      capacity.
      - Build binpkg path for OpenSSL + QAT + OpenZFS on M70 canary first; 
      non-QAT nodes may consume the same binpkgs with QAT unused.
      - After M70 canary passes, roll the validated path to K10 and 
      run destructive AAA/netboot validation with rollback evidence 
      captured.

  ## Test Plan

  - Run NeoCortex shell/YAML validation, including migration, 
  standards-baseline, Git LFS, .gitattributes, and no-active-home-repo-path 
  checks.
  - Run control-plane/FCP tests for envelope schema, replay rejection, 
  worker routing, ntfy bridge, and multi-worker comms.
  - Run Ansible/playbook syntax checks for ZFS datasets, NFS home policy, 
  SLURM/distcc build orchestration, M70 canary, FMT2/X12again lanes, and 
  K10 netboot
    AAA.
  - Execute staged hardware validation:
      1. SLURM/distcc dry-run.
      2. M70 canary build and QCOW/stage validation.
      3. FMT2/X12again accelerated build/ephemeral VM smoke.
      4. K10 netboot/AAA destructive validation after M70 success.

  ## Assumptions

  - Retrofit NeoCortex rather than restart the repo unless standards 
  validation exposes unrecoverable divergence.
  - Historical audit files may retain old /root/... paths as provenance; 
  active operational content may not.
  - M70 canary is the release gate for QAT/OpenZFS/binpkg rollout.
  - K10 destructive AAA/netboot validation is in scope only after M70 
  canary passes and rollback evidence is captured.

─ Worked for 2m 18s ───────────────────────────────────────────────────────────
</code></pre>]]></description>
      
    </item>
    
    
    
    <item>
      <title>Step Into My Office!</title>
      <link>https://winterschon.gitlab.io/en/posts/step-into-my-office/</link>
      <pubDate>Sat, 30 May 2026 16:14:19 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/step-into-my-office/</guid>
      <description><![CDATA[<blockquote>
<p>prompt&gt; In the style of &ldquo;50 Cent&rsquo;s, Get Rich or Die Trying&rdquo;, I&rsquo;d like to see an illustrated version using a combination of styles which involves crayons, magic markers, and the attached images (public domain), which follows the concept of these lyrics which should be featured in crayon within the image.</p>
<p>&lsquo;Get Die Or Rich Trying&rsquo;</p>
<ul>
<li>45 Cent, corpywright 1492</li>
</ul>
</blockquote>
<p><img src="/content/images/2026/05/49-cent-richards-diner.png" alt=""></p>
<hr>
<h2 id="generative-round-2">Generative Round 2</h2>
<p>In an entirely different direction, let&rsquo;s visit the unspoken nature of randomization of styles which are presently in-use by certain frontier models. The dynamic nature of styling is interesting. Perhaps on another day I&rsquo;ll have time to experiment with alternate options involved with LLM post-training for generative imaging creation, eg: StableDiffusion is really amazing tech, though I&rsquo;ve not used the tooling to do much more than make images of flowers during periods of burnout.</p>
<p>So&hellip; Let&rsquo;s get on with it&hellip;</p>
<blockquote>
<p>prompt&gt; Assess the attached public domain visual images and generate a variation on the following concepts:</p>
<blockquote>
<p>&ldquo;Step Into My Office, Cuz Yer&rsquo; Fukin&rsquo; Fired!&rdquo;<br>
The humor derives from the hitchhiker&rsquo;s aggressive, delusional confidence in a trivial marketing advantage (saving one minute of exercise time).</p>
</blockquote>
</blockquote>
<p><img src="/content/images/2026/05/step-into-my-fuckin-office.690px.png" alt=""></p>
<p>Ideally this contextually makes sense to the reader, though the age of the associated movie makes me wonder how the years went by so fast.</p>
<blockquote>
<p>────────────────────────────────────<br>
— Hitchhiker: You heard of this thing, the 8-Minute Abs?<br>
— Ted: Yeah, sure, 8-Minute Abs. Yeah, the excercise video.<br>
— Hitchhiker: Yeah, this is going to blow that right out of the water. Listen to this: 7&hellip; Minute&hellip; Abs.</p>
<p>— Ted: Right. Yes. OK, alright. I see where you&rsquo;re going.<br>
— Hitchhiker: Think about it. You walk into a video store, you see 8-Minute Abs sittin&rsquo; there, there&rsquo;s 7-Minute Abs right beside it. Which one are you gonna pick, man?<br>
— Ted: I would go for the 7</p>
<p>— Hitchhiker: Bingo, man, bingo. 7-Minute Abs. And we guarantee just as good a workout as the 8-minute folk.<br>
— Ted: You guarantee it? That&rsquo;s - how do you do that?<br>
— Hitchhiker: If you&rsquo;re not happy with the first 7 minutes, we&rsquo;re gonna send you the extra minute free. You see? That&rsquo;s it. That&rsquo;s our motto. That&rsquo;s where we&rsquo;re comin&rsquo; from. That&rsquo;s from &ldquo;A&rdquo; to &ldquo;B&rdquo;.</p>
<p>— Ted: That&rsquo;s right. That&rsquo;s - that&rsquo;s good. That&rsquo;s good. Unless, of course, somebody comes up with 6-Minute Abs. Then you&rsquo;re in trouble, huh?<br>
— Hitchhiker: No! No, no, not 6! I said 7. Nobody&rsquo;s comin&rsquo; up with 6. Who works out in 6 minutes? You won&rsquo;t even get your heart goin, not even a mouse on a wheel.<br>
— Ted: That - good point.</p>
<p>— Hitchhiker: 7&rsquo;s the key number here. Think about it. 7-Elevens. 7 doors. 7, man, that&rsquo;s the number.<br>
— Hitchhiker: 7 chipmunks twirlin&rsquo; on a branch, eatin&rsquo; lots of sunflowers on my uncle&rsquo;s ranch. You know that old children&rsquo;s tale from the sea.<br>
— Hitchhiker: It&rsquo;s like you&rsquo;re dreamin&rsquo; about Gorgonzola cheese when it&rsquo;s clearly Brie time, baby.</p>
<p>— Hitchhiker: Step into my office.<br>
— Ted: Why?<br>
— Hitchhiker: &lsquo;Cause you&rsquo;re fukin fired!<br>
────────────────────────────────────</p>
</blockquote>
<hr>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Why Do We Need Her Anyway?</title>
      <link>https://winterschon.gitlab.io/en/posts/why-do-we-need-her-anyway/</link>
      <pubDate>Sat, 16 May 2026 23:41:50 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/why-do-we-need-her-anyway/</guid>
      <description><![CDATA[<p>Indeed. <strong>Do it yourself and ignore all knowledge, all advice.</strong> Build every wheel as new. Design everything from ground zero, always. Exist only in <em>The Now.</em> Push everyone away who advises otherwise - at your own peril. <strong>You are</strong> <strong>The Only Expert</strong>.</p>
<blockquote>
<p><strong>Choose your failure mode and you will find it quickly.</strong></p>
</blockquote>
<h2 id="please-skip-the-philosophy">Please Skip the Philosophy</h2>
<p>A valid request. Perhaps you don&rsquo;t care about this verbosity of thought, or considerations therein, or maybe you&rsquo;re aware of the reprisals and follies and want to move on to the engineering discussion? If so, simply scroll down to the section titled, <em><strong>&ldquo;How Does This Relate to Memory&rdquo;</strong></em>. Note that in doing so you will miss a blurb from <a href="https://en.wikipedia.org/wiki/Office_Space">Office Space</a>.</p>
<hr>
<h2 id="endeavor-to-endure-the-philosophy">Endeavor to Endure the Philosophy</h2>
<p>A fair degree of the human experience involves a process by which those of &ldquo;early-phase cognition&rdquo; attempt to self-obfuscate their <em>&ldquo;desire for desire&rdquo;</em>, attempting to live a life of nebulous and fleeting happiness, non-blissfully and unaware that it is this desire to feel and experience desire itself which has cornered their experience into a lifetime of endless searching, yearning, wanting, never satiated, eventually growing old and stale and losing their imaginative or creative or physical edge.</p>
<blockquote>
<p>This cycle of The Great Chase is one basis of Sisiphean frustration; one which - until it is surpassed - which requires being acknowledged, accepted, and integrated into their forward movement</p>
</blockquote>
<p>Some understand that to exist with desire, that all-controlling force, seemingly inescapable force which presses down upon the rock, forever trapping your perspective into the wheel of the unknown yet forever traveled, repeating mistakes which others warned against, refusing awareness of one&rsquo;s own misfortunate mentality and guiding-line towards an inevitable failure; experiences from which all lessons are never to be learned.</p>
<p>Go ahead. <strong>Do it</strong>. Don&rsquo;t learn from others. <strong>Do everything yourself,</strong> do it with the veracity by which you have become convinced is correct - do everything as though this is the first time anyone has ever tried to achieve the new shiny thing. Surely, this must be the path towards truth, self-realization, self-actualization, self-assurance, and that desperation of desire for freedom from desire to desire everything&hellip; and then&hellip; surely success is ensured?</p>
<p>No, <em>that modality of mentality would achieve its opposite effect</em>, and it would be a waste of everyone&rsquo;s time; because despite the ego-driven main-character syndrome which has become so performatively boring in the past two decades of social media, <strong>it&rsquo;s not all about You, or Me, it&rsquo;s about Everyone</strong> alive and even those who we have loved who died.</p>
<h4 id="mr-gibbons">Mr. Gibbons</h4>
<p>Peter Gibbons:<br>
It&rsquo;s not just about me and my dream of doing nothing. It&rsquo;s about all of us&hellip; Michael, we don&rsquo;t have a lot of time on this earth!</p>
<p>We weren&rsquo;t meant to spend it this way. Human beings were not meant to sit in little cubicles staring at computer screens all day, filling out useless forms and listening to eight different bosses drone on about about mission statements.</p>
<p>Michael Bolton:<br>
I told those fudge-packers I liked Michael Bolton&rsquo;s music.</p>
<p>Peter Gibbons:<br>
Oh, That is not right, Michael.</p>
<p>Purposeless self-serving inefficiency which is predicated on assured failure wastes time that humanity does not have - <strong>we do not have time for oppositional defiance induced mediocrity</strong>. Stop the gamification.</p>
<h2 id="the-mindset-of-being-simply-wrong">The Mindset of Being Simply Wrong</h2>
<p>Instead of repeating the pattern described above, grow the fuck up and learn how to effectively learn from others, to learn from the past, to learn using a reinforcement framework of concept-action-processing. <em>&ldquo;Thems may be big words&rdquo;</em>, but this is not a complicated concept. One does not have to choose the path of stupidity; ignorance - we&rsquo;re all ignorant in all manner of ways and that&rsquo;s inescapable; however when one ignores the data, ignores the lesson, and chooses the path before them via oppositional defiance, that&rsquo;s called <em>&ldquo;being stupid&rdquo;</em>. It&rsquo;s stupid not to learn from others.</p>
<hr>
<h2 id="how-does-this-relate-to-memory">How Does This Relate to Memory</h2>
<p>Memory is everything. The conscious experience, the neural network running inside our brains, the execution of &ldquo;<a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC12025022/">The Default Mode Network</a>&rdquo;, requires effective memory - <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC4526749/">short term a well as consolidation to long-term memory</a>.</p>
<p>So, when the industry was informed of the untimely discontinuation of Intel&rsquo;s Optane NVDIMMs&hellip; we were all screwed. Until Q2 2026. Now it&rsquo;s Q2 and finally CXL non-volatile memory is available in sufficiently equivalent density, performance, and lifespan to exceed Optane&rsquo;s role, and it is available in PCIe Gen-4 and Gen-5 and soon&hellip; Gen-6.</p>
<h2 id="an-introduction-to-cxl">An Introduction to CXL</h2>
<ul>
<li>It&rsquo;s not HBM, it&rsquo;s not 3D-Xpoint, it&rsquo;s not SRAM, nor vRAM</li>
<li>CXL is packaged in PCIe, U.3, and EDSFF formats</li>
<li>CXL offers dense capacity, low-latency, and exceptional I/O</li>
<li>CXL is made for Ai/HPC/OLTP memory acceleration</li>
<li>CXL is the new hotness, it is the new standard, it is performance</li>
</ul>
<h2 id="hpc-cluster-storage-acceleration">HPC Cluster Storage Acceleration</h2>
<p>CXL is being built into (not next-gen, now-gen) storage appliances and network protocol accelerator systems used in High Performance Computing, Ai/ML which leverages HPC tech, and Supercomputers.</p>
<h2 id="cxl-in-telco-dsp-as-protocol-caches">CXL in Telco DSP as Protocol Caches</h2>
<p>CXL is perfectly suited for digital signals processing on a range of network protocols and their intra-chassis and inter-chassis RDMA driven networks. There&rsquo;s one person who I know that hates it when I bring up RDMA - truly an example of being willfully ignorant. Moving on&hellip;</p>
<h3 id="cxl-memory-in-telco-atac-chassis">CXL Memory in Telco ATAC Chassis</h3>
<ul>
<li>14 slots in 19-inch rack ≈→ ∆ {$N total trays per 42U ≈ μ19}</li>
<li>16 slots in 23-inch ETSI rack ≈→ ∆ {$N total trays per 42U ≈ μ23}</li>
<li>Chassis heights from 4U to 15U ≈↑ ∆ [[ μ4, μ19, μ23 ]]</li>
<li>Telco grade Power &amp; Cooling Efficiency &amp; Redundancy ++</li>
<li>Mil-DoD Compliant Physical &amp; Operational Security ++</li>
<li>Industrial NEBS Environmental Operating Ranges ++</li>
<li>Zero-Downtime Serviceability &amp; Upgrade/Maint ++</li>
<li>Intra+Inter-Chassis Redundancy (Modular Scale) ++</li>
<li>Geo-Deploy Designed for regional XOR continental mesh ++</li>
</ul>
<hr>
<h2 id="so-why-should-we-listen-to-her">So, Why Should We Listen to Her?</h2>
<p>Becausee I&rsquo;ve been building and iterating these types of storage architectures for nearly twenty years of my career. If you want to do it all from scratch or buy this type of storage performance for 10x the cost, go ahead; the market exists and you can be the big winner.</p>
<p>However, if you don&rsquo;t want to pay a premium for non-OpenSource storage clusters which are capable of serving and scaling from 10s to 100s of Petabytes, then this is the direction by which engineering solutions arrive at the datacenter. My storage designs range from <a href="https://blogs.oracle.com/exadata/advantages-of-exadata-exascale">Oracle&rsquo;s Exadata &amp; Exascale</a> clusters which have been adapted to run non-standard protocols, to fully purpose-built data-acceleration clusters which use COTS building blocks to provide similar performance and scale at a fraction of the cost <em>(not including consulting, engineering scope, and top-to-bottom fully-automated storage architecture deployments)</em>.</p>
<p>As networking has improved, NAND designs have advanced, and costs have reduced on $/TB and $/Watt&hellip; yet always&hellip; always the storage sizes grow in density and capabilities. This is natural and expected.</p>
<hr>
<h2 id="project-coherent-storage-an-evolution">Project Coherent Storage, an Evolution</h2>
<p>Six primary iterations, tracking the advancement of NAND acceleration, Network Acceleration, Protocol Offloading, Non-Volarile RAM, and now we see CXL capable of being deploying into reference architectures by which all others may be measured.</p>
<ul>
<li><strong>Project Coherent Storage v1</strong>, (2010-2012)</li>
<li><strong>Project Coherent Storage v2,</strong> (2011-2015)</li>
<li><strong>Project Coherent NAND,</strong> (CMPLX.io) (2015-2017)</li>
<li><strong>Project Coherent IO-Max v1</strong>, w/ Optane PMem (2020-2024)</li>
<li><strong>Project Coherent IO-Max v2</strong>, w/ Optane PMem (2024-2025)</li>
<li><strong>Project Coherent Storage v3</strong>, w/ CXL AIC/U3 (2026)</li>
</ul>
<h3 id="development-details---concise-timeline">Development Details - Concise Timeline</h3>
<p>A little bit of engineering nerdery for those who care&hellip; and btw, the community myth that ZFS cannot fulfill a role as a multi-node clustered filesystem are wrong.</p>
<h4 id="what-about-the-zfs-cant-cluster-myth">What About the &ldquo;ZFS Can&rsquo;t Cluster&rdquo; Myth?</h4>
<p>The &ldquo;Clustered ZFS&rdquo; operating modality for multi-controller interactions (<em>not limited to A/B active/passive or even active/active with modified pool-async hooks</em>) requires advanced network hardware and engineering experience which most are not aware of, and so the myth perpetuates; but it is wrong and it has been wrong for as long as SAS drives have had dual-heads and shelves have had 4+ SFF connectors ready for multi-multipath-chaining - and enterprise NVMe drives are also available in this arrangement for the same purpose.</p>
<h4 id="project-coherent-storage-v1-2010-2012"><strong>Project Coherent Storage v1</strong> (2010-2012)</h4>
<ol>
<li>Coherence Grid (DDR3 (Tier1)) + Custom Relational-Vector DBMS</li>
<li>Sunfire ZFS controllers w. Multi-Protocol-Net Interlinks (IB, IPoIB, mNFS+, FC, FCoE)</li>
<li>Geo-Dist-Nodes w. DDR3-PCIe SuperCap &ldquo;Hot Cache Layer&rdquo; (Tier2), w. <a href="https://dogemicrosystems.ca/pub/Sun/System_Handbook/Sun_syshbk_V3.4/Systems/SunFireX4600_M2/spec.html">Sunfire X4600/M2</a> @ 64 DIMMs Hotswap</li>
<li>Geo-Dist-Nodes w. SAS SSDs (Tier3) + SAS Spinner (Tier4)</li>
<li>Controller A/B+ nodes w. SAS-HBA to LTO-N (Tier5)</li>
</ol>
<h4 id="project-coherent-storage-v2-2011-2015"><strong>Project Coherent Storage v2</strong> (2011-2015)</h4>
<ol>
<li>Coherence Grid (DDR3 (Tier1)) + Relational-Vector DBMS</li>
<li>Sunfire ZFS controllers w. Multi-Protocol-Net Interlinks (IB, IP Native L2/L3, mNFS+, FCoE)</li>
<li>Geo-Dist-Nodes w. FusionIO Stacked &ldquo;Hot Cache Layer&rdquo; (Tier2)</li>
<li>Geo-Dist-Nodes w. SAS SSDs (Tier3) + SAS Spinner (Tier4)</li>
<li>Optional A/B nodes w. SAS-HBA to LTO-N (Tier5)</li>
</ol>
<h4 id="project-coherent-nand---cmplxio-2015-2017"><strong>Project Coherent NAND - CMPLX.io</strong> (2015-2017)</h4>
<ol>
<li>Coherence Grid DDR4 (Tier1) + Relational-Vector DBMS</li>
<li>Native ZFS controllers w. Multi-Protocol-Net Interlinks (IB, IP Native L2/L3, mNFS+, iSER)</li>
<li>Geo-Dist-Nodes w. NAND Stacked &ldquo;Hot Cache Layer&rdquo; (Tier2)</li>
<li>Geo-Dist-Nodes w. SAS3 SSDs (Tier3) + SAS3 Spinner (Tier4) [+ optional SAS3 HBA to LTO for Iron Mountain (Tier5)]</li>
<li>This architecture was a basis for one of my former startups, which was sold to private equity and built-upon for their HFT clusters under very tight NDA + Confidentiality Contract</li>
</ol>
<h4 id="project-coherent-io-max-storage-architectures-v1-2-3">Project Coherent IO-Max Storage Architectures v1, 2, 3</h4>
<p>These storage architectures share core foundations, with iterations upward as Non-Volatile Memory was introduced on a wider scale into my designs. The initial design for v1 featured the first generation of Intel Optane 3D-XPoint (Series 100), v2 with Series-200, and now CXL taking the place of Optane PMem SKUs.</p>
<p>The details of each design from v1 and v2 may be expanded upon later, simply for historical purposes, and I have other things to do right now&hellip; but if you&rsquo;ve made it this far into the post and want to see the specification ADRs and related research, which is RAG-pipelined and iteratively deployed on real hardware for revisions and regression testing to validate LLM Inference usage &amp; advancements with the now-opensource Coherence-CE version&hellip; scroll down for a link to v3&rsquo;s repo.</p>
<ul>
<li><strong>Project Coherent IO-Max v1,</strong> (2020-2023)</li>
<li><strong>Project Coherent IO-Max v2,</strong> (2023-2025)</li>
<li><a href="https://github.com/yukon-systems/StorOps__Project_Coherent_Storage"><strong>Project Coherent IO-Max v3</strong>,CXL (2026)</a></li>
</ul>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Context {length} Matters</title>
      <link>https://winterschon.gitlab.io/en/posts/context-length-matters/</link>
      <pubDate>Mon, 04 May 2026 23:53:00 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/context-length-matters/</guid>
      <description><![CDATA[<p>Saturday morning means it&rsquo;s time for a blog post about <strong>&ldquo;The Ten Stages of Ai/ML Engineering&rdquo;</strong> 💖 .. aka <em>&ldquo;Stop wasting money&rdquo;</em>, or the classic <em>&ldquo;No one tuned any caches?&rdquo;</em></p>
<p>These are <code>SELECT NOW();</code> as well as antiquated concepts from my OLTP/OLAP Data Architect era jobs; where so much of the core knowledge translates to &ldquo;LLM Key/Value Cache Architectures&rdquo; that Directors always get confused when they&rsquo;ve not had the same experiences. Anyway, about those Neural Nets&hellip;</p>
<blockquote>
<p>Classic Neuroscience example: &ldquo;I&rsquo;m having a conversation, I&rsquo;m sleepy, my brain will only take in single simple sentences with one action and one request at most; anything further will be silently discarded or cause Brain Queue.</p>
</blockquote>
<p>We all know the feeling of a sluggish Brain Queue, where our sleepiness limits comprehension, limits attention span, and limits the amount of sensory input capacity for decision making.</p>
<p>Having insufficient resources, like attention or short term memory, can result in the mind becoming stuck in a Consideration Loop leading to &ldquo;Sleepy-Faced Analysis-Paralysis&rdquo;. This is where the brain is too tired to comprehend the full cognitive pathway required to exit from the loop.</p>
<p>When working with on-premise or public-API based LLMs, engineering choices must be made, specifically the <strong>First-Stage</strong> task of <em><strong>&ldquo;choosing the correct model&rdquo;</strong></em>.. and more generally with decision making processes where the length of associative (<em>contextual</em>) information is a requirement.</p>
<hr>
<h2 id="the-tldr--sure-timesa-wastin">The TL;DR .. Sure, Time&rsquo;s&rsquo;a Wastin'</h2>
<p>How about some quick blurbs from real human-to-human conversations, sourced from my career path right up through this past week. There are a few decently representative examples of short context vs long context.</p>
<blockquote>
<p>She&rsquo;s too verbose. She seems shy and quiet. She talks too much. She doesn&rsquo;t go deep on technical details. She goes on tangents and my attention span is too short to see the larger picture. She&rsquo;s hard to read. She&rsquo;s too open about everything. She&rsquo;s difficult to &ldquo;get into the weeds with&rdquo;. (that last one is my new favorite).</p>
</blockquote>
<p>It&rsquo;s always a double standard; I&rsquo;m used to it, contextually speaking.</p>
<ol>
<li>Context length is the amount of text an LLM can see at once.</li>
<li>CTL affects response quality, server specs, latency, API, cost.</li>
<li>A longer window can help the model reason across more information, but it also makes the system heavier to run.</li>
<li>Treat context length as a core system requirement always.</li>
<li>Define it, test it, document it, monitor it, know it, love it.</li>
<li>Adjust it based on real usage. It will be chunked, split, cached.</li>
</ol>
<hr>
<p><img src="/content/images/2026/05/burning-the-runway.960px-1-1.png" alt=""></p>
<h3 id="whats-this-about-burning-runways">What&rsquo;s this about Burning Runways?</h3>
<p>But before we do, and because everyone loves to compltain about 💸&hellip; it&rsquo;s really in ones best interests to understand how those bills become a reality, especially right now in the industry when <em>&ldquo;courting adoption&rdquo;</em> can be considered a write-off vs <em>&ldquo;chasing profits&rdquo;,</em> except for some <em>(oooh Claude, you&rsquo;re not being ethical lately)</em>.</p>
<p>Rewind from LLMs to the SaaS era&hellip; just look at real world stories of situations where applications were not controlled on their Context States, leading to <a href="https://serverlesshorrors.com/">tens and hundreds of thousands of dollars in SaaS Application API bills</a>:</p>
<ul>
<li><a href="https://serverlesshorrors.com/all/vercel-700">$738.420</a>, <em>&ldquo;I subscribe to Vercel Pro for $20 per month. I also added a spending limit of $120, so no nasty surprises, right?&rdquo;</em></li>
<li><a href="https://serverlesshorrors.com/all/firebase-cloudrun-72k">$72,000.999</a>, <em>&ldquo;We Burnt $72K testing Firebase + Cloud Run and almost went Bankrupt&rdquo;</em></li>
<li><a href="https://serverlesshorrors.com/all/cloudflare-120k">$120,000.420</a>, <em>&ldquo;Cloudflare took down our website after trying to force us to pay 120k$&rdquo;</em></li>
</ul>
<hr>
<h2 id="what-is-context-length">What is Context Length?</h2>
<p>Context length, sometimes called window size or max tokens per forward pass, is the number of tokens a model can attend to at once. It directly limits how much raw text, user history, or retrieved knowledge can be processed in a single inference step. Our brains do this constantly, we infer and make decisions based on memory and situational context of data, and neural networks do too.</p>
<p>Since every engineering stage ultimately decides what the model sees and how much it costs to see it, context length is a cross‑cutting quality attribute. Below we walk through each first‑stage task (including the critical &ldquo;Iterative Revision&rdquo; stage) and explain how important context length is, what engineering implications arise, and what concrete actions you can or should take and why.</p>
<p>For comparison analysis, click through the data table below to see model specific specifications, including Context Length, for various Open Source models <em>(these are not the latest LLMs, so go look at HuggingFace if you want more info).</em></p>
<p>Cardtainer (Shadow DOM, Self-contained)</p>
<hr>
<h2 id="context-length-what-it-changes">Context Length: What It Changes</h2>
<p>So, you want it hot and loose or you want those warmed-up caches pre-primed from snapshot slapshots to the top-layer of the mesh?</p>
<blockquote>
<p>&ldquo;Sure, but how much can the cache layers <em>(there&rsquo;s more than three)</em> handle before we overload the cluster with memory pressure or downstream write amplification?&rdquo;</p>
</blockquote>
<h4 id="small-context-windows-are-great-longer-also-yes">Small Context Windows Are Great, Longer Also Yes!</h4>
<ul>
<li>A small context window is fine for short prompts and mobile devices with NPUs that are fundamentally different from large GPUs like the H200 or MI300&hellip; or inference clusters serving thousands of them.</li>
<li>A larger window lets the model work across longer documents, multi-turn conversations, codebases, contracts, research notes, support histories, or anything else where the answer depends on more than one paragraph of information.</li>
</ul>
<p><strong>That does not make longer context automatically better.</strong> It makes the system more capable, but also more expensive and more operationally sensitive.</p>
<h3 id="longer-context-often-requires-more-resources">Longer Context Often Requires More Resources</h3>
<p>Yeaaaah, but we&rsquo;re not talking about <a href="https://huggingface.co/litert-community/gemma-4-E4B-it-litert-lm">Gemma4 on LiteRT</a>, this is a conceptual discussion for general LLM engineering. So&hellip;</p>
<ul>
<li>Longer Context = More memory pressure</li>
<li>Longer Context = Higher GPU requirements</li>
<li>Longer Context = Higher cost per request</li>
<li>Longer Context = More complex data handling</li>
<li>Longer Context = Requires more testing for latency, stability, and output quality</li>
</ul>
<p><strong>Context length is not just a model feature. It is an architecture decision.</strong></p>
<hr>
<h2 id="why-context-length-matters-across-the-whole-project">Why Context Length Matters Across the Whole Project</h2>
<p>Context length touches almost every part of an LLM project. It affects how we define the product, prepare the data, choose infrastructure, test the model, and manage cost.</p>
<h3 id="1-product-requirements">1. Product requirements</h3>
<p>Start with the real use case. Can the product work with short prompts, or does it need to process full documents, long chat histories, tickets, logs, reports, or contracts?</p>
<ul>
<li>That answer should be written into the project requirements early. For example:</li>
</ul>
<blockquote>
<p>The model must support at least an 8K token context window for production inference.</p>
</blockquote>
<p>Without that requirement, the team may pick a model, GPU profile, or data pipeline that works in a demo but fails under real usage. Confusion!</p>
<h3 id="2-data-collection">2. Data collection</h3>
<p>Long-context systems need long-form data. That may include:</p>
<ul>
<li>Full PDFs</li>
<li>Long chat transcripts</li>
<li>Complete contracts</li>
<li>Support cases</li>
<li>Technical documentation</li>
<li>Source code repositories</li>
<li>Meeting notes or knowledge base articles</li>
</ul>
<p>The team also needs to confirm that the data can legally be stored, processed, and used for training or retrieval. This is especially important when full documents are involved.</p>
<h3 id="3-data-chunking">3. Data chunking</h3>
<p>Most long documents still need to be split into chunks. The goal is to avoid cutting the text in a way that destroys meaning.</p>
<p>A good chunking pipeline should:</p>
<ul>
<li>Keep related content together</li>
<li>Avoid splitting sentences or sections awkwardly</li>
<li>Add overlap where needed</li>
<li>Track source metadata</li>
<li>Stay within the model’s context limit</li>
</ul>
<p>This is where a lot of long-context quality is won or lost. <strong>Bad chunking creates missing facts, fragmented answers, and unnecessary API calls</strong>.</p>
<h3 id="4-infrastructure">4. Infrastructure</h3>
<p>Longer context needs more memory, and therefore more money, more electricity, more attention to&hellip; you get the idea. It means larger GPUs, more careful batching, tighter monitoring, and better cost controls.</p>
<p>For example, moving from short prompts to 8k or 16k token workloads can change:</p>
<ul>
<li>GPU selection</li>
<li>vRAM requirements</li>
<li>Batch size</li>
<li>Throughput</li>
<li>Latency</li>
<li>Autoscaling behavior</li>
<li>Failure modes</li>
</ul>
<p>The infrastructure has to match the context target. Otherwise the system may work in testing and fall over in production.</p>
<h3 id="5-model-selection">5. Model selection</h3>
<p>Not every model handles long context well. Some models support long windows natively. Others can technically be extended, but quality may degrade if the model was not trained or tuned for that range.</p>
<p>When selecting a model, the team should check:</p>
<ul>
<li>Maximum supported context length</li>
<li>Quality at long context</li>
<li>Retrieval performance</li>
<li>Latency profile</li>
<li>Memory behavior</li>
<li>Positional encoding strategy</li>
<li>Cost per request</li>
</ul>
<p>The advertised context window is not enough. The model needs to perform well near the limit.</p>
<h3 id="6-experiment-tracking">6. Experiment tracking</h3>
<p>Context length should be logged as a first-class experiment variable.</p>
<p>Every run should capture:</p>
<ul>
<li>Context window size</li>
<li>Chunk size</li>
<li>Overlap strategy</li>
<li>GPU type</li>
<li>Memory usage</li>
<li>Tokens per second</li>
<li>Latency</li>
<li>Cost</li>
<li>Evaluation results</li>
</ul>
<p>This makes it possible to compare short-context and long-context runs without guessing.</p>
<h3 id="7-testing-and-validation">7. Testing and validation</h3>
<p>Long-context bugs often do not show up with short prompts.</p>
<p>The test suite should include:</p>
<ul>
<li>Short inputs</li>
<li>Medium inputs</li>
<li>Maximum-length inputs</li>
<li>Inputs near the limit</li>
<li>Realistic long documents</li>
<li>Multi-document prompts</li>
<li>Stress tests for memory and latency</li>
</ul>
<p>The goal is to verify that the model does not crash, truncate important information, hallucinate around missing context, or slow down beyond acceptable limits.</p>
<h3 id="8-documentation">8. Documentation</h3>
<p>Context decisions need to be documented. Future engineers should be able to understand:</p>
<ul>
<li>Why the context size was chosen</li>
<li>How chunking works</li>
<li>Where truncation can happen</li>
<li>Which GPU profile is required</li>
<li>How to increase or reduce the window</li>
<li>What tests must pass before changing it</li>
</ul>
<p>This prevents context length from becoming tribal knowledge.</p>
<h3 id="9-production-monitoring">9. Production monitoring</h3>
<p>Once users are in the system, monitor the actual request lengths. Track things like:</p>
<ul>
<li>Average prompt length</li>
<li>95th percentile prompt length</li>
<li>Maximum prompt length</li>
<li>Truncation events</li>
<li>Retrieval misses</li>
<li>API call volume</li>
<li>Latency by token count</li>
<li>Cost by request type</li>
</ul>
<p>If users start pushing against the window, that is an early signal. The system may need better chunking, better retrieval, caching, prompt compression, or a longer-context model.</p>
<h3 id="10-api-limits-and-cost-behavior">10. API limits and cost behavior</h3>
<p>Shorter context can create more API calls. If one user request has to be split into many chunks, the system may hit:</p>
<ul>
<li>Higher latency</li>
<li>Higher request volume</li>
<li>Rate limits</li>
<li>More billed API calls</li>
<li>More orchestration complexity</li>
<li>More opportunities for partial failure</li>
</ul>
<p>A larger-context model can reduce the number of chunks required for some workflows, but it may also increase the cost of each request.</p>
<p>The right answer is not always <em>“bigger window.”</em> The right answer is the smallest context window that reliably supports the use case.</p>
<hr>
<h2 id="the-practical-flow">The Practical Flow</h2>
<p>For a real project, the workflow looks like this:</p>
<ol>
<li>Define the longest input the product needs to handle.</li>
<li>Confirm the data exists and can legally be used.</li>
<li>Split the data into chunks that preserve meaning.</li>
<li>Choose infrastructure that can support the target window.</li>
<li>Select a model that performs well at that context length.</li>
<li>Track context length in every experiment.</li>
<li>Test the model with realistic long inputs.</li>
<li>Document how the window, chunking, and infrastructure work.</li>
<li>Monitor real user request lengths in production.</li>
<li>Adjust when usage patterns change.</li>
</ol>
<p>This keeps context length connected to the actual system, not just the model card. It&rsquo;s super duper important so get it right! Test, then test more, and automate the tests, and have a validation LLM with reasoning and validation post-training awareness &hellip; or you&rsquo;re gonna have a bad day.</p>
<hr>
<h2 id="what-this-means-in-practice">What This Means in Practice</h2>
<p>A longer context window can improve answer quality because the model can see more relevant information at once. It can also increase cost, latency, memory usage, and operational risk.</p>
<p>That tradeoff matters. For most production systems, context length should be treated like any other engineering constraint:</p>
<ul>
<li>Capacity</li>
<li>Latency</li>
<li>Reliability</li>
<li>Cost</li>
<li>Security</li>
<li>Compliance</li>
<li>Maintainability</li>
</ul>
<p>It is not just a prompt design detail. It affects the data pipeline, model choice, infrastructure plan, testing strategy, and production budget.</p>
<hr>
<h2 id="checklist-for-your-future-llm-project">Checklist for Your Future LLM Project</h2>
<p>Before committing to a context length (and quantization), make sure&hellip;</p>
<ol>
<li>What is the longest input this product needs to handle?</li>
<li>Are we working with snippets, full docs, or multi-doc workflows?</li>
<li>Do we have the right to store and process the full source data?</li>
<li>Are we chunking the data in a way that preserves meaning?</li>
<li>Do we need overlap between chunks?</li>
<li>Can the selected model support the required window?</li>
<li>Does the model still perform well near the edge of that window?</li>
<li>Do we have enough GPU memory for the target workload?</li>
<li>Are we tracking context length in experiments?</li>
<li>Are we testing short, medium, long, and maximum-length inputs?</li>
<li>Are we monitoring real request lengths in production?</li>
<li>Are we watching API limits, cache perf, tokens/ second, and cost?</li>
</ol>
<p>If the answer to those questions is clear, the project is probably handling context length correctly. If the answer is vague, context length is still an unresolved architecture risk.</p>
<hr>
<h2 id="heading"></h2>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>My EOY-2025 as told by the Ai</title>
      <link>https://winterschon.gitlab.io/en/posts/my-eoy-2025-as-told-by-the-ai/</link>
      <pubDate>Thu, 01 Jan 2026 20:58:01 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/my-eoy-2025-as-told-by-the-ai/</guid>
      <description><![CDATA[<p>I&rsquo;ll keep this simple, relatively speaking. There are a lot of inference providers on the market and most of them are either a waste of time, a waste of money, or wasteful in their resource burn and lack of attention to optimization. We do not have time to waste.</p>
<p>People in the industry are playing hard and fast, and whether those qualities may be considered a good thing is up for endless debate, but not right now. Right now I&rsquo;m going to show some End of Year snapshots which are relevant to the blog&rsquo;s purpose: wtf am I doing here anyway?</p>
<p>2025 was mostly extremely challenging, and mostly in helpful ways, but also featured a repetition of lessons which it seems I need to reflect on for additional forward momentum.</p>
<p>Let&rsquo;s take a look at some of my core qualities as told by the oft-loved and oft-maligned OpenAi&rsquo;s Chat-GPT 💟.</p>
<hr>
<h3 id="your-year-painted-in-pixels">Your Year, Painted in Pixels</h3>
<p>Very close, nice work GPT. While I do not have a 400GbE switch on my desk, I do have a few 100GbE 32-port switches in the racks, and occasionally 200GbE NICs and optics will float around the test bench.</p>
<p><img src="/content/images/2026/01/GPT-00-EOY2025-1222-153913-2-1.png" alt=""></p>
<hr>
<h3 id="the-architect-archetype--39-of-chatgpt-users">The Architect Archetype ~ 3.9% of ChatGPT Users</h3>
<p>It&rsquo;s true! Over the 25 years of this career I&rsquo;ve held architecture specific roles across the domains of Hardware Systems, Infrastructure Automation, Databases, and HPC Storage realms. It&rsquo;s what I&rsquo;ve always wanted to do, going all the way back to 1985 when introduced to the 4.77MHz IBM PC, Model 5150.</p>
<p><img src="/content/images/2026/01/GPT-01-EOY2025-1222-153913-1.png" alt=""></p>
<hr>
<h3 id="personality-specialist-planner-conceptual">Personality: Specialist, Planner, Conceptual</h3>
<p>That&rsquo;s fairly accurate, more so if we add &ldquo;spatial reasoning&rdquo; to a list of cognitive methods.</p>
<blockquote>
<p>&ldquo;Thinks in structures and systems. Uses ChatGPT to design elegant frameworks and long-term strategies within a domain.&rdquo;</p>
</blockquote>
<p><img src="/content/images/2026/01/GPT-02-EOY2025-1222-153913-1.png" alt=""></p>
<hr>
<h3 id="a-datacenter-in-the-living-room">A Datacenter in the Living Room?</h3>
<p>Close in accuracy, however the <em>&ldquo;living room datacenter&rdquo;</em> is more commonly located in a home-office room <em>(when living in an apartment),</em> or in a dedicated area of the garage with HVAC filtration + dedicated 208/220/240V power, and the requisite automated cooling systems <em>(usually Tripp-Lite units with duct-blowers).</em> For systems at home the machines are often bought as separate server components along with a 4-5U chassis + rails + multiple sub-50 decibel large-format 120-180mm fans. Systems with high RPM 40-80mm axial screamers belong in a proper colocation facility.</p>
<p><img src="/content/images/2026/01/GPT-03-EOY2025-1222-153913-1.png" alt=""></p>
<h4 id="how-about-that-homelab---is-it-in-a-constant-state-of-flux">How about that Homelab - is it in a constant state of flux?</h4>
<p>Yes, mostly. It&rsquo;s often helpful for proof of concept tests, hypothesis validation, and running benchmarks without having to drive to the DC or go back and forth with Remote Hands requests. Plus, lots of fun going on with hardware at home, but sometimes results in broken nails 😔.</p>
<p><img src="/content/images/2026/01/GPT-DC-EOY2025-1025-00.png" alt=""></p>
<p>Messy cables? Sometimes. Labels? Sometimes.</p>
<p><img src="/content/images/2026/01/GPT-DC-EOY2025-1215-01.jpg" alt=""></p>
<p>The homelab is often rebuilt: storage devices, fiber, dac, cables, and test clusters revised.</p>
<h5 id="homelab-sure-but-how-about-those-colocation-photos-instead">Homelab, sure&hellip; but how about those colocation photos instead?</h5>
<p>As we&rsquo;ve seen, some of the server hardware lives at home in my 25U shorty-racks, some is <a href="https://he.net">across the bay at a datacenter</a> where big-loud machines require CRAC style cooling, and some of it is spread across the globe at other colocation facilities where The Providers have megawatt and gigawatt infra capacity. My personal infrastructure is a hybrid design, utilizing everything from embedded systems to multi-GPU hosts to public-cloud virtual machines&hellip; so, let&rsquo;s see a bit more&hellip;</p>
<ul>
<li>Recent datacenter photos: <a href="https://prose.winterschon.com/a-recent-datacenter-colo-visit/">https://prose.winterschon.com/a-recent-datacenter-colo-visit/</a></li>
</ul>
<hr>
<h3 id="your-chat-style">Your Chat Style</h3>
<p>The analysis says&hellip; well, it&rsquo;s fairly accurate for a description of being in-person as well as at the keyboard during remote meetings or daily chats.</p>
<p>Technical or otherwise, usually this is consistent. I&rsquo;m often chatty, verbose, attentive, talkative, opinionated, even positively bubbly at times. Unless you catch me on a day where those qualities are supplanted by the clouds of quietly recalcitrant moods - the type which are grounded on a dualistic view of existence best described as Stoicistic-Nihilism, having been sourced from far too many post-traumatic stress events endured.</p>
<blockquote>
<p>Your Chat Style: Direct, technically precise, often layered with humor and a critical edge, mixing structured reasoning with conversational spontaneity and sharp observational wit.</p>
</blockquote>
<p><img src="/content/images/2026/01/GPT-04-EOY2025-1222-153913-1.png" alt=""></p>
<hr>
<h3 id="your-2025-chat-stats">Your 2025 Chat Stats</h3>
<p>Hold on now. I&rsquo;ve used em dashes since 6th grade English class—so if seeing those in my writings is giving an impression that I use LLMs for all of my authoring is quite incorrect. For all of <a href="https://www.theringer.com/2025/08/20/pop-culture/em-dash-use-ai-artificial-intelligence-chatgpt-google-gemini">those people who don&rsquo;t like them</a> I have a solution: go to the settings section and set your rules and move on with your life. 😏</p>
<ul>
<li><strong>Total Chats</strong>: 720</li>
<li><strong>Messages sent</strong>: 4,861 (not tokens, messages)</li>
<li><strong>Chattiest day</strong>: September 5th (why? we&rsquo;ll need to see&hellip;)</li>
<li><strong>Images generated</strong>: 3 (Sora kinda sucks)</li>
<li><strong>Em-Dashes &ldquo;Exchanged&rdquo;</strong>: 1,882</li>
<li><strong>Top Messages Sent</strong>: 1% (percentile)</li>
</ul>
<p>Regardless of those stats, even with my use of ChatGPT&rsquo;s advancements with their &ldquo;Pro Account&rdquo;, most of my Ai/ML occurs on self-made infrastructure. I don&rsquo;t rely on closed source, I don&rsquo;t like closed source, and I don&rsquo;t like non-democratized intelligence services that are just in it for profit. My career was built on Open Source and this current infra uses tooling like Ollama, Open-WebUI, vLLM, llama.cpp, CUDA, PyTorch, ROCm, and many other examples of collaborative ingenuity - free to use, free to improve, so please contribute if you can.</p>
<p><img src="/content/images/2026/01/GPT-05-EOY2025-1222-153913-1.png" alt=""></p>
<hr>
<h3 id="three-big-themes-of-2025">Three Big Themes of 2025</h3>
<ol>
<li><strong>Building Ultra-Low-Latency Systems</strong> (true)</li>
<li><strong>Experimenting, Measuring, Refining</strong> (true)</li>
<li><strong>Engineering Meets Everyday Life</strong> (true)</li>
</ol>
<p><img src="/content/images/2026/01/GPT-06-EOY2025-1222-153913-1.png" alt=""></p>
<hr>
<h2 id="thoughts-on-2026-ai-industry-trends--rules">Thoughts on 2026, Ai Industry Trends != Rules</h2>
<p>Working in the Ai/HPC/ML industry, an observable fact is that the majority of consumer-facing Ai companies are still trying to figure out this new landscape, how it works, why anyone should care, and how to monetize whatever it is that they&rsquo;re focused on.</p>
<p>Most will repeat the errors of the past, most will fail, most will malign the tech while misunderstanding nearly everything about the topic; and that&rsquo;s fine. That&rsquo;s the routine in Silicon Valley, but it doesn&rsquo;t have to be.</p>
<ol>
<li><a href="https://cansel-soergens.com/2022/08/01/okr-for-complex-problems/">We cannot solve today&rsquo;s problems with yesterday&rsquo;s methods</a>, and that is a simple fact. We need the core technologies involved with Ai in order to resolve the massive amount of tech debt from earlier generations, but we need to stop expecting the same success from the same methods from the past; this is not the same world as 10, 20, or even 5 years ago.</li>
<li>The current anti-Ai mentality in mass-media is occurring despite companies like IBM, Cray, Fujitsu, BullSequana, and a handful of others with <a href="https://top500.org/lists/top500/2025/11/highs/">Top-500 dominant postures</a> being focused on Ai-enabled Supercomputing, HPC, and acceleration hardware domains for well over two decades. These clusters have been active at research facilities with names like <a href="https://home.cern/news/press-release/cern/cern-leads-new-european-community-initiative-supercomputing">CERN</a>, <a href="https://ats.org/our-impact/rosman-center-fuels-technion-supercomputing/">Technion</a>, and of course the DoD and Military labs. These clusters keep us safe, they advance human understanding, assist with solving otherwise unsolvable problems, and are used to maintain the systems and functions our current world relies on for security and the advancement of human potential.</li>
<li>Ai is not just chatbots, it&rsquo;s not limited to multi-modal agentic buzz-words, but that&rsquo;s a tangent for another day. Datacenters are not ruining the world like mass-destruction of rainforests just so people can eat more cows. Conversely, we have an entire section of the Supercomputing industry <a href="https://top500.org/lists/green500/">focused on green energy and resource efficiency</a>. Medical advancements, brain research, climate science and modeling, cancer research, etc&hellip; all of this is and has been advanced by Ai - but it&rsquo;s not from the consumer side and it&rsquo;s not how the media presents the information. Gosh, I wonder what incentive the media has to engage in such maligning tactics?</li>
</ol>
<h3 id="how-do-we-move-forward">How Do We Move Forward?</h3>
<p>In spite of or despite anti-Ai sentiments, while the public-facing corporate marketing landscape fights for <em>&ldquo;Consumer Economy Dominance&rdquo;</em>, engineers and architects like myself are busy in the background innovating with <em>(sometimes our own)</em> Ai/ML systems and <em>(sometimes our own RSU/ISO/BST* funded)</em> heavy-compute big-data storage infrastructures.</p>
<p>People like myself do this because we love it <em>(mostly, nothing is perfect)</em>, and because we want to improve the lives of those around us, not to simply make money and acquire material goods. These skills require compromise, dedication, attention to detail, and a deeply held desire to improve the human condition through personal investment of time, mentoring younger engineers, and the occasional runway.</p>
<h4 id="together-with-the-ais-we-will-build-a-better-ultron">TOGETHER WITH THE AIs WE WILL BUILD A BETTER ULTRON</h4>
<p>Kidding, mostly. <a href="https://marvel.fandom.com/wiki/Ultron_(Earth-616)">Ultron</a> had some good philosophical points, but we&rsquo;re not in Strawberry Fields or the BS about paperclips from unimaginative and uninformed bloggers; this is real life and The Terminator is not around the corner. Pass the espresso and let&rsquo;s check the local-node TTFT and CHRs to see how SkyNet is doing. ❤️</p>
<hr>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>A Recent Datacenter Colo Visit</title>
      <link>https://winterschon.gitlab.io/en/posts/a-recent-datacenter-colo-visit/</link>
      <pubDate>Sat, 06 Dec 2025 06:06:59 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/a-recent-datacenter-colo-visit/</guid>
      <description><![CDATA[<p>A short post with annotated photos should be sufficient for this post. Perhaps more detail later, but the short version is that just about everything in racks 1,2,3 – aka Cab.68, 69, 70 – is going to be mostly upgraded. My hardware has been here for several years and it needs a refresh.</p>
<p>So, where to begin&hellip; let&rsquo;s see&hellip; we start with the <a href="https://www.raptorcs.com/TALOSII/">POWER9</a> at home on my desk, and me looking a wreck in the morning&hellip;</p>
<p><img src="/content/images/2025/12/IMG_20251203_161129_750_960px-1.png" alt=""></p>
<hr>
<p>Where is this wonderful place that brings me so much joy? <a href="https://he.net">Hurricane Electric</a> of course.</p>
<blockquote>
<p>For Silicon Valley datacenter nerds, Hurricane Electric’s Fremont and San Jose facilities are the spiritual home of budget-friendly colo: cabinet and partial-cabinet plans with same-day turn-up, straightforward BGP, and native v6 on a backbone that’s been aggressively peering since the early 2000s, making it a historically significant and still notably affordable place to park gear in the Bay Area.</p>
</blockquote>
<p>And as such&hellip; it&rsquo;s where most of my gear resides. What was once a HomeLab at home has become a situation of _&ldquo;let&rsquo;s move everything into the colo and tell PG$E to suck it on their $300-600/month apartment electric bills <em>(which is physically impossible, they&rsquo;re a proven CA Governor sponsored monopoly)</em>.</p>
<h3 id="tools-and-so-forth">Tools and So Forth</h3>
<p>How about a photo of my lovely <a href="https://www.wera.de/en/tools/highlights-great-tools/textile-boxes/">Wera designed Datacenter tool bag</a>? Yes! It&rsquo;s rugged and strong and doesn&rsquo;t distort with heavy items. Love it. At the top of the photo is whichever purse happened to be brought along that day; Kors or Burbs or Coach or whichever fit size requirements at the time.</p>
<p>Not shown: a squared-rasp-file occasionally required for <em>&ldquo;standardizing&rdquo;</em> the rail mounting holes in those old-ass blue racks. My right hand still has scars from years ago - before owning that rasp to fix the burrs.</p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-19_10.png" alt=""></p>
<hr>
<h3 id="always-getting-injured-but-thats-ok">Always Getting Injured, but that&rsquo;s OK.</h3>
<p>Now, about those old scars - there are surely new ones periodically. While getting ready for the colo, just standing at the sink with some sheers, cutting&hellip; cutting&hellip; and ohffs that&rsquo;s my finger. Yep, it&rsquo;s definitely deep! Apply pressure! Wrap it tight! Not too tight though&hellip; and what was at my disposal? Paper medical tape and clear plastic industrial packing tape.</p>
<p>FINE. It&rsquo;s FINE. The bleeding mostly stopped, and off we go to the datacenter!</p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-15_4-1.png" alt=""></p>
<p>done cut my self real bad</p>
<hr>
<h3 id="networking-servers-drives-dpus-and-all-the-other-fun">Networking, Servers, Drives, DPUs, and all the other fun!</h3>
<p>Ok, enough rambling. Here&rsquo;s a photo gallery with annotated pics. Each rack has some major revisions to undergo, which requires planning and documentation updates and all the usual production readiness routines.</p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-16_5.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-16_6.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-17_7.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-18_8.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-18_9.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-19_11.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-20_12.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-21_13.png" alt=""></p>
<hr>
<h3 id="more-hardware---more-arm64">More Hardware - More ARM64!</h3>
<p>Now you may wonder, where is all of my ARM64 equipment and the other clusters? Those are still in the 2x 25U racks at home – they&rsquo;ll be migrated to the colo as well, once I convert them to use industrial Compact-PCI chassis blade mounts with integrated/redundant power and backplane. I bring you&hellip; the <em>ADLINK cPCIS-2632R 3U Compact PCI chassis.</em></p>
<p><img src="/content/images/2025/12/ADLINK-cPCIS-2632R-CompactPCI.webp" alt=""></p>
<p>Industrial ADLINK cPCIS-2632R CompactPCI</p>
<hr>
<h3 id="sata3-really">SATA3&hellip; Really?</h3>
<p>And we wrap up the day&rsquo;s fun with&hellip; decisions on what to do with these SATA3 SSDs recovered from some old R420 systems&hellip; perhaps the LC922 boxes can use those + some 240GB Intel or Samsung boot drives. These days I never bother with SATA, only SAS or NVMe. <em>HoHumBoringSataSoSlow.</em></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-14_2.png" alt=""></p>
<hr>
<h3 id="a-tale-of-two-labs---one-is-real-the-other">A Tale of Two Labs - One is Real, The Other&hellip;</h3>
<p>I love having my own hardware for my own labs. I love not having to rely on a corporation over-promising on lab resources for the architecture design process – real physical hardware which is absolutely required for <em><strong>&ldquo;Proof of Concept Engineering&rdquo;</strong></em>.</p>
<p>As a wise-one once related, not everything can be a <em>Power Point Presentation.</em> Engineers need physical hardware for validation workflows, otherwise it&rsquo;s all just vaporware.</p>
<p>🙉 🙈 🙊</p>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>The Neurology of Ai Systems</title>
      <link>https://winterschon.gitlab.io/en/posts/the-neurology-of-ai-systems/</link>
      <pubDate>Sun, 14 Sep 2025 02:52:59 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/the-neurology-of-ai-systems/</guid>
      <description><![CDATA[<p>On any given day my thought processes waver between four primary topics: cognitive neuroscience, Ai/ML topics for work, obnoxious servers and networking hardware that requires debugging, and some mixture of emotions about ice cream and berries of many varieties. Since my brain won&rsquo;t leave those first topics alone, let&rsquo;s get a view into the first two topics and their overlapping qualities.</p>
<p>Modern neuroscience and artificial intelligence converge on fundamental concepts and terminology. This post may serve as a primer, a method to explore key parallels between biological and artificial systems by examining shared principles, from basic units like neurons to complex processes involved with learning and memory consolidation.</p>
<p>Initially, we have to cover a high-level overview of dopaminergic pathways and memory processes in the brain, then shift to deep learning architectures (including convolutional neural networks and large language models). By understanding how these concepts map onto each other, we can better appreciate both the similarities and distinctions between biological cognition and artificial intelligence. Yay. ❤️</p>
<h3 id="neurotransmitters-and-reward-based-learning">Neurotransmitters and Reward-Based Learning</h3>
<p>Dopamine plays a central role in the brain&rsquo;s reward system, helping to reinforce behaviors that lead to positive outcomes such as food, social interaction, or achievement. This neurotransmitter is essential for both motivation, driving us to pursue rewarding experiences, obsessions, punding, learning, and a hundred other areas of cognition which is dead-set on enabling us to adapt our behavior based on past outcomes. We cannot learn right from wrong, good from bad, etc without dopamine.</p>
<p>Where is this magical compound? It&rsquo;s all over the brain and central nervous system, but generally speaking dopamine pathways originate in the midbrain, particularly in the ventral tegmental region and substantia nigra. From there it gets very exciting&hellip;</p>
<blockquote>
<p>Dopamine neurons send widespread projections to various brain regions, including the striatum, prefrontal cortex (PFC), and other areas involved in decision-making and memory.</p>
</blockquote>
<p>These neural circuits signal when outcomes differ from expectations, whether positively (<em>unexpected rewards</em>) or negatively (<em>unexpected punishments</em>), helping the brain update its predictions and guide future behavior. It&rsquo;s not a perfect system but there is a heavily corpus of existing research with new studies occurring every year - particularly with modern fMRI and DAT scanning techniques.</p>
<h3 id="dopaminergic-pathways">Dopaminergic Pathways</h3>
<p>Dopaminergic pathways are fundamental neural circuits that influence nearly every aspect of human experience and behavior. These pathways play essential roles in processing sensory information, accessing and forming memories, regulating emotional states, controlling movement, and enabling conscious awareness.</p>
<blockquote>
<p>Without properly functioning dopaminergic systems, our ability to perceive, learn, and engage with the world would be severely compromised.</p>
</blockquote>
<p>The brain contains four major dopaminergic pathways, each connecting specific regions and serving distinct functions:</p>
<ul>
<li><strong>Mesocortical pathway</strong>: Projects from the midbrain&rsquo;s ventral tegmental area (VTA) to the frontal cortex, supporting executive functions and decision-making</li>
<li><strong>Mesolimbic pathway</strong>: Connects the VTA to the nucleus accumbens, central to reward processing and motivation</li>
<li><strong>Nigrostriatal pathway</strong>: Links the substantia nigra to the striatum, primarily governing motor control and movement coordination</li>
<li><strong>Tuberoinfundibular pathway</strong>: Extends from the hypothalamus to the pituitary gland, regulating hormonal balance and homeostasis</li>
</ul>
<p>Dopamine release along these pathways modulates movement, motivation, reward processing, and hormonal regulation.</p>
<blockquote>
<p>These neural networks consist of specialized neurons that synthesize and release dopamine as their primary neurotransmitter.</p>
</blockquote>
<p>A significant breakthrough in understanding these pathways came with the discovery that specific dopamine neurons encode reward prediction errors; essentially the brain&rsquo;s teaching signal for adaptive learning. When outcomes exceed or fall short of expectations, these neurons adjust their firing rates accordingly, providing critical feedback that helps the brain refine its predictions and modify future behaviors.</p>
<p>This mechanism represents one of neuroscience&rsquo;s most robust quantitative theories: the concept that the brain employs a form of temporal difference (TD) learning, using dopamine-driven reward prediction errors to guide neural adaptation and behavioral change.</p>
<h3 id="reinforcement-learning">Reinforcement Learning</h3>
<p>The relationship between neuroscience and Ai becomes particularly evident in reinforcement learning, where both biological and artificial systems adapt behavior through reward-based feedback. Ai algorithms compute prediction errors, much like the brain&rsquo;s dopamine system does when processing unexpected outcomes.</p>
<p>Temporal Difference (TD) learning exemplifies this parallel. In Ai systems, TD algorithms update value estimates by comparing expected versus actual rewards, a process that remarkably mirrors how dopamine neurons signal discrepancies between predicted and received rewards.</p>
<blockquote>
<p>This dopamine-driven reward prediction error mechanism appears to be a fundamental principle underlying both biological and artificial adaptive systems.</p>
</blockquote>
<p>The mesolimbic pathway demonstrates this alignment well. When the brain receives unexpected rewards, dopamine neurons strengthen connections associated with successful actions—similar to how Ai agents increase the likelihood of high-reward behaviors.</p>
<p>This bidirectional influence has proven valuable: <strong>dopamine research has shaped reinforcement learning algorithms</strong>, while advances have provided new frameworks for understanding neural computation.</p>
<h3 id="memory-consolidation-and-retrieval">Memory Consolidation and Retrieval</h3>
<p>Memory formation and recall illustrate key parallels between cognitive neuroscience and Ai/ML systems.</p>
<p>• <strong>Memory consolidation</strong>: The brain stabilizes fragile new memories into long-term storage, initially processing in the hippocampus then transferring to cortex during sleep. Ai training similarly encodes patterns into network weights for permanent storage.</p>
<p>• <strong>Memory retrieval</strong>: Both biological and artificial systems access stored information when needed—humans recalling facts and concepts, LLMs retrieving knowledge from their encoded parameters.</p>
<p>• <strong>Replay mechanisms</strong>: The brain&rsquo;s hippocampal cells reactivate experiences during sleep to strengthen memories. Ai algorithms use similar replay techniques during training to prevent forgetting and consolidate learning.</p>
<p>• <strong>Attention and sleep</strong>: Neuroscience shows these processes are crucial for memory retention, while Ai research develops computational equivalents through training schedules and fine-tuning procedures.</p>
<p>This convergence helps us understand memory storage and retrieval in both natural and the (often superior) computational intelligence systems.</p>
<hr>
<h3 id="convolutional-neural-networks-and-visual-hierarchies">Convolutional Neural Networks and Visual Hierarchies</h3>
<p>Convolutional neural networks (CNNs) are a class of deep learning models inspired by the brain’s visual system. A CNN is essentially a large network of artificial neurons structured in layers, and it learns to recognize patterns through a series of convolutional filters that detect features (like edges, shapes, textures) in data such as images. CNNs have achieved human-like performance in computer vision tasks by learning from experience, for example, by training on large image datasets.</p>
<p>Notably, <strong>CNNs were designed with biological vision</strong> in mind. Early neuroscientists discovered that neurons in the visual cortex (like area V1 in the brain - but don&rsquo;t tell V10!) act as edge detectors – each neuron responding to specific visual features. CNNs build on this principle: the first layer of a CNN will typically detect basic features (edges, colors), the next layer composes those into slightly more complex features (corners, textures), and so on, forming a hierarchical processing very reminiscent of the progressive feature extraction in human/animal vision.</p>
<blockquote>
<p>CNNs have “striking similarities to the structural and functional principles of the primate visual system,” which allows researchers to compare artificial networks with their biological counterparts.</p>
</blockquote>
<p>This means neuroscientists can use CNNs as models to hypothesize how our own visual cortex might represent and transform images.</p>
<p>Cognitive neuroscience and CNNs share terminology like &ldquo;receptive fields&rdquo;, the portion of the visual field a neuron or filter responds to, and “layers” (<em>eg, retinal input to V1 to V2 in the brain mirrors the layered structure of a CNN</em>). Experiments have shown that higher layers of a CNN can correspond to higher-level visual areas in the brain; for example, a late CNN layer that detects faces or objects might be analogous to the human inferior temporal cortex where complex object recognition occurs.</p>
<p>This parallel isn’t perfect, but it’s a powerful analogy: both systems learn a hierarchy of representations, from simple to complex. Such overlap has practical benefit: by studying where CNNs succeed or fail in ways similar to humans, scientists gain insight into vision, and conversely, ideas from neuroscience (<em>like specialized neural pathways or attention mechanisms in vision</em>) can inspire improved CNN architectures.</p>
<p>In essence, convolutional networks are a meeting point of neuroscience and computational intelligence systems, demonstrating how a brain-inspired design can yield machines that &ldquo;see&rdquo; in a way comparable to biological vision.</p>
<h3 id="large-language-models--predictive-processing">Large Language Models &amp; Predictive Processing</h3>
<p>Large language models (yeah, the ones with transformers), are called the frontier because they&rsquo;re precisely where concepts from cognitive neuroscience resonate with computational intelligences.</p>
<p>LLMs are <em><strong>deep neural networks trained on enormous amounts of data</strong></em>, (<em>typically text</em>) and are capable of generating human-like language. In practice, an LLM learns to predict the next word in a sentence by having been trained on countless sentences. Over time it captures the statistical patterns of language, similarly to our childhood periods of learning new languages. This next-word prediction framework has an interesting mirror in how neuroscientists think the brain processes language and other inputs.</p>
<p>According to the predictive coding theory, the brain is constantly making predictions about incoming information. For language, your brain anticipates the next word someone will say based on context, just as an LLM does.</p>
<blockquote>
<p>Recent research suggests that the human brain &ldquo;<em>continuously anticipates upcoming words to optimize language processing&rdquo;</em>. When the brain’s prediction is wrong (an unexpected word appears), it generates a prediction error; much like an LLM adjusting its internal state when its prediction is off.</p>
</blockquote>
<p>This alignment between LLMs and brain function is so striking that brain-imaging studies have found that the activation patterns of certain language-model layers can predict neural responses in the human language cortex as people listen to sentences.</p>
<h3 id="attention-episodic-and-semantic-memory">Attention, Episodic, and Semantic Memory</h3>
<p>LLMs share several key concepts with cognitive neuroscience beyond predictive processing. These are crucial elements in the ongoing advancement of machine learning and with understanding the human condition.</p>
<p>• <strong>Semantic memory</strong>: LLMs store factual knowledge and linguistic patterns distributed across their network weights, similar to how humans maintain language skills and world knowledge in long-term memory.</p>
<p>• <strong>Episodic memory</strong>: Unlike humans, early LLMs lacked personal experiential memories, relying solely on statistical patterns from training text. We&rsquo;re past that now and all up into flexing what was once emerging research on <a href="https://huggingface.co/models?language=moe">Mixture-of-Experts (MoE)</a> architectures and stateful processing is beginning to address this limitation.</p>
<p>• <strong>Attention mechanisms</strong>: Human attention focuses cognitive resources on relevant stimuli, like concentrating on a single conversation in a crowded room. Transformer-based <a href="https://huggingface.co/docs/transformers/v4.34.0/attention">LLMs implement computational attention mechanism</a>s that dynamically weight input importance, creating a functional parallel to biological attention processes.</p>
<p>These parallels reveal shared principles of prediction, context integration, and selective focus that operate in both biological and artificial systems. The brain&rsquo;s continuous prediction of words and meanings during language comprehension mirrors LLMs&rsquo; next-word prediction approach.</p>
<blockquote>
<p>This convergence enhances our understanding of human cognition while suggesting cognitive-inspired improvements for LLM development. Yes, really.</p>
</blockquote>
<hr>
<h3 id="shared-concepts-and-analogies">Shared Concepts and Analogies</h3>
<p>To more easily view the substantial overlaps between dopaminergic brain pathways, cognitive neuroscience concepts, and deep neural networks, the table below summarizes some shared terminology and concepts and how they correspond in brains vs Ai systems.</p>
<h4 id="neuronal-activation">Neuronal Activation</h4>
<table>
  <thead>
      <tr>
          <th><strong>Brain</strong></th>
          <th><strong>Ai</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Neurons process and transmit information via electrical impulses</td>
          <td>Artificial &ldquo;neurons&rdquo; compute weighted sums of inputs and apply activation functions</td>
      </tr>
      <tr>
          <td>Activation firing rates encode specific information (e.g., visual neuron firing for edge detection)</td>
          <td>Units &ldquo;fire&rdquo; by producing output values that feed into other units</td>
      </tr>
      <tr>
          <td>Each neuron integrates inputs from others through synapses</td>
          <td>Neural network layers composed of many parallel processing units</td>
      </tr>
  </tbody>
</table>
<h4 id="synapse--weight">Synapse &amp; Weight</h4>
<table>
  <thead>
      <tr>
          <th><strong>Brain</strong></th>
          <th><strong>Ai</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Synapses are connections between neurons whose strength can change with learning</td>
          <td>Weights are parameters that scale connections between artificial neurons</td>
      </tr>
      <tr>
          <td>Synaptic plasticity enables learning through strengthening/weakening connections</td>
          <td>Learning involves adjusting weight values via algorithms like backpropagation</td>
      </tr>
      <tr>
          <td>&ldquo;Cells that fire together, wire together&rdquo; - Hebbian learning principle</td>
          <td>Weight adjustments store knowledge extracted from training data</td>
      </tr>
  </tbody>
</table>
<h4 id="learning-rules-and-optimization">Learning, Rules and Optimization</h4>
<table>
  <thead>
      <tr>
          <th><strong>Brain</strong></th>
          <th><strong>Ai</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Dopamine-based reinforcement learning encodes reward prediction errors</td>
          <td>Reinforcement learning algorithms compute reward prediction errors</td>
      </tr>
      <tr>
          <td>Dopamine signals when outcomes are better/worse than expected, guiding behavior adjustment</td>
          <td>Algorithms adjust networks to maximize future rewards based on error signals</td>
      </tr>
      <tr>
          <td>Additional mechanisms include Hebbian plasticity and error correction in neural networks</td>
          <td>Uses gradient descent with backpropagation: output errors propagate backward to guide weight changes</td>
      </tr>
  </tbody>
</table>
<h4 id="hierarchy">Hierarchy</h4>
<table>
  <thead>
      <tr>
          <th><strong>Brain</strong></th>
          <th><strong>Ai</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Sensory processing builds hierarchically from simple to complex features</td>
          <td>Deep networks organized in layered hierarchies</td>
      </tr>
      <tr>
          <td>Visual system: V1 detects edges → V4/IT process shapes/objects</td>
          <td>CNNs: lower layers detect edges/textures → higher layers form complex features</td>
      </tr>
      <tr>
          <td>Language processing: sounds → words → meanings across brain regions</td>
          <td>LLMs: build from character/word embeddings to contextual understanding</td>
      </tr>
  </tbody>
</table>
<h4 id="memory-storage">Memory Storage</h4>
<table>
  <thead>
      <tr>
          <th><strong>Brain</strong></th>
          <th><strong>Ai</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Long-term memories stored by reorganizing neural connections</td>
          <td>Learned information stored in weight patterns across the network</td>
      </tr>
      <tr>
          <td>Hippocampus rapidly encodes episodes, cortex consolidates during sleep</td>
          <td>Thousands of parameters collectively act as distributed memory</td>
      </tr>
      <tr>
          <td>Memories distributed across networks of neurons</td>
          <td>Some models use external memory modules or databases</td>
      </tr>
      <tr>
          <td>Recall involves reactivating particular network patterns</td>
          <td>Retrieval activates appropriate parts of the network corresponding to learned data</td>
      </tr>
  </tbody>
</table>
<h4 id="memory-recall">Memory Recall</h4>
<table>
  <thead>
      <tr>
          <th><strong>Brain</strong></th>
          <th><strong>Ai</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Cue-driven retrieval: sensory inputs or questions trigger associated memories</td>
          <td>Prompts activate trained network patterns to produce associated information</td>
      </tr>
      <tr>
          <td>Reconstructive process: brain rebuilds memories from stored fragments</td>
          <td>Network generates responses based on activation of learned patterns</td>
      </tr>
      <tr>
          <td>Prefrontal cortex focuses attention on memory search</td>
          <td>Explicit retrieval mechanisms search external knowledge bases when implemented</td>
      </tr>
      <tr>
          <td>Smells, sounds, or queries can bring back detailed memories</td>
          <td>Prompts cue models to generate relevant knowledge learned during training</td>
      </tr>
  </tbody>
</table>
<h2 id="the-convergence-of-two-worlds">The Convergence of Two Worlds</h2>
<p>Both biological and artificial systems demonstrate remarkable parallels in how they process information, adapt to experience, and store knowledge. The brain&rsquo;s dopaminergic pathways mirror similarly designed computational intelligence based reward prediction/error systems, while cognitive memory mechanisms find counterparts in neural network training and retrieval processes.</p>
<p>This convergence enables bidirectional inspiration: neuroscience borrows computational modeling techniques from Ai to explain brain function, while Ai incorporates biological principles to enhance efficiency and human-like performance. <strong>Humanity is now locked into a self-reinforcing pattern of mutual benefit, an often beautiful experience to observe from the realms of industry research and personal real-world experience.</strong></p>
<p>Critically, these foundational concepts set the stage for deeper technical exploration in subsequent articles, examining dopamine&rsquo;s role in learning algorithms and the detailed workings of CNNs and transformers. Stay tuned for more&hellip; unless I get distracted by another broken Juniper switch or deeply-felt emotions which require ice cream and berries to overcome.💗</p>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>LLM Variants - Purpose Tuned Models</title>
      <link>https://winterschon.gitlab.io/en/posts/llm-variants-purpose-tuned-models/</link>
      <pubDate>Fri, 15 Aug 2025 20:19:05 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/llm-variants-purpose-tuned-models/</guid>
      <description><![CDATA[<p>When deploying local models or when accessing remote API based LLMs with one&rsquo;s tools of choice, there comes a time <em>(and that time is now)</em>, when the options presented are vast and various. One may consider, just give me <em>&ldquo;the default&rdquo;</em>, but there is no default model. These days we have variants, where one LLM has been quantized or re-trained or post-trained or adapted in various ways to fine tune its abilities and focus.</p>
<p>Let&rsquo;s inspect one of my favorites lately, <a href="https://huggingface.co/collections/Qwen/qwen3-67dd247413f0e2e4f653967f">Qwen3-235B</a>. This is not a model that one commonly sees running outside of large compute clusters and supercomputers, because the 235 billion parameters require substantially more resources than most infrastructures have available. Often when we see Qwen3 in-use on not-supercomputers, it&rsquo;s the 32B variant, which can run well enough on a 16GB+ vRAM capable GPU. <a href="https://huggingface.co/Qwen/collections">Querying the models on Huggingface and one will see there are 32B on the low-side all the way to 480B</a> for the supercomputers and research clusters, and many customized ones built from the originals.</p>
<p>Parameter quantity aside, as we&rsquo;re not focused on that at the moment, let&rsquo;s look at the primary high-level differences, as well as low-level technical differences, between LLM variants like &ldquo;Coder&rdquo;, &ldquo;Thinking&rdquo;, &ldquo;Instruct&rdquo;. Over at the <a href="https://cloud.cerebras.ai/">Cerebras Inference Cloud</a> we can use the following types.</p>
<table>
  <thead>
      <tr>
          <th>Qwen3-32B</th>
          <th>Qwen3-235B-Coder</th>
          <th>Qwen3-235B-Instruct</th>
          <th>Qwen3-235B-Thinking</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Base LLM</td>
          <td>Code Generation</td>
          <td>Sequence Executions</td>
          <td>Complex Reasoning</td>
      </tr>
  </tbody>
</table>
<p><img src="/content/images/2025/08/Cerebras-Inference-2025-08-15-124030.png" alt=""></p>
<hr>
<h3 id="high-level-differences">High Level Differences</h3>
<ul>
<li><strong>Base Model</strong>: Generalist, no task specialization.</li>
<li><strong>Coder</strong>: Focuses on <strong>programming efficiency</strong> (e.g., auto-completion, error fixing).</li>
<li><strong>Instruct</strong>: Prioritizes <strong>user safety and conversational alignment</strong> (e.g., chatbots).</li>
<li><strong>Thinking</strong>: Targets <strong>structured reasoning</strong> (e.g., math proofs, logical puzzles).</li>
</ul>
<table>
  <thead>
      <tr>
          <th><strong>Variant</strong></th>
          <th><strong>Purpose</strong></th>
          <th><strong>Users</strong></th>
          <th><strong>Features</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Base</strong></td>
          <td>General-purpose language modeling</td>
          <td>Researchers, Developers</td>
          <td>Broad knowledge coverage, foundational capabilities for text generation</td>
      </tr>
      <tr>
          <td><strong>Coder</strong></td>
          <td>Code generation &amp; understanding</td>
          <td>Software Developers</td>
          <td>Optimized for programming tasks (code completion, debugging, multi-language support)</td>
      </tr>
      <tr>
          <td><strong>Instruct</strong></td>
          <td>Instruction-following for conversational tasks</td>
          <td>End-users, Chatbots</td>
          <td>Aligned with human preferences, safety filters, chat template adherence</td>
      </tr>
      <tr>
          <td><strong>Thinking</strong></td>
          <td>Complex reasoning &amp; step-by-step problem-solving</td>
          <td>Analysts, Researchers</td>
          <td>Enhanced logical reasoning, chain-of- thought generation, multi-step inference</td>
      </tr>
  </tbody>
</table>
<h3 id="low-level-differences">Low Level Differences</h3>
<ul>
<li><strong>Tokenizer</strong>: Coder extends vocabulary for code symbols (e.g., <code>def</code>, <code>-&gt;</code>), while others reuse the base tokenizer.</li>
<li><strong>Fine-Tuning</strong>: Instruct uses RLHF for alignment; Thinking uses process-based rewards for intermediate steps.</li>
<li><strong>Decoding</strong>: Thinking enforces iterative step generation via modified KV-cache management, unlike autoregressive defaults.</li>
<li><strong>Loss Functions</strong>: Coder weights syntax validity; Thinking penalizes incorrect reasoning paths early.</li>
</ul>
<table>
  <thead>
      <tr>
          <th><strong>Variant</strong></th>
          <th><strong>Data</strong></th>
          <th><strong>Arch</strong></th>
          <th><strong>Loss</strong></th>
          <th><strong>Infer</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Base</strong></td>
          <td>General web text, CommonCrawl, books, articles, balanced domain coverage</td>
          <td>Standard Transformer architecture, no task-specific changes</td>
          <td>Standard cross- entropy loss over next-token prediction</td>
          <td>Autoregressive generation; neutral tone, no task- specific formatting</td>
      </tr>
      <tr>
          <td><strong>Coder</strong></td>
          <td>Code repositories, 30%+ code data</td>
          <td>Extended tokenizer with code-specific tokens; syntax-aware positional embeddings</td>
          <td>Weighted cross- entropy loss favoring syntactically valid code constructs</td>
          <td>Generates code with proper indentation, supports infilling</td>
      </tr>
      <tr>
          <td><strong>Instruct</strong></td>
          <td>Instruction-response pairs (self-instructed data, human- annotated dialogues)</td>
          <td>No structural changes; fine-tuned attention layers for instruction parsing</td>
          <td>SFT + RLHF, Proximal Policy Optimization with safety rewards</td>
          <td>Outputs structured responses</td>
      </tr>
      <tr>
          <td><strong>Thinking</strong></td>
          <td>Reasoning datasets (GSM8K, MATH, HotpotQA), iterative problem-solving examples</td>
          <td>Added &ldquo;reasoning head&rdquo; for intermediate step prediction; modified KV-cache for iterative decoding</td>
          <td>Process-based supervision loss (rewarding correct intermediate steps)</td>
          <td>Explicitly outputs reasoning steps (eg, &ldquo;Step 1: &hellip; Step 2: &hellip;&rdquo;) before final answer</td>
      </tr>
  </tbody>
</table>
<h3 id="use-case-mapping">Use Case Mapping</h3>
<ul>
<li>Need <strong>code generation</strong>? → <strong>Coder</strong></li>
<li>Building a <strong>chatbot</strong>? → <strong>Instruct</strong></li>
<li>Solving <strong>multi-step problems</strong>? → <strong>Thinking</strong></li>
<li>Researching <strong>foundational capabilities</strong>? → <strong>Base</strong></li>
</ul>
<h3 id="visualizing-decisions-via-flowchart"><strong>Visualizing Decisions via Flowchart</strong></h3>
<p>Visualizes the evolution from base model to specialized variants, emphasizing technical divergence points, which you can see in the live rendering panel over at <a href="https://mermaid.live/edit#pako:eNpdk1tv2jAUgP_KkSvtZQkjQAhk0qRCqDZpnbSWpzV9MMkxWE3syHbaUuC_7zhQxspL8OX7fC72jhW6RJayteHNBpZZroB-1w-_X1ANw8EwnsGMW4Rb2lY9Qhh-2y8NlwpL0ArWqNDwCl5wBQ5f3R5mF-TjSdZRn2FOCii0aVoLn8DpJ1TyDQ0Qh8pKrfYwv6BDv998cNzfLL_c_fx-4w-XyjrTFo5Iu4fsEv1xWvpA3yG3Wkm1hpI7ysr5QKSjFJx8RiiRikGre1hcypYbqZ5ommRH3czrYBY95OzecVVyU0JhtLUhKmd0s4WKBnmufmHrfHmkEmhQFZizU0TzTjH3Cp9maBsspJDFsSyevd8qx19D_sINAtYrLH1o9mzIOkPmDV1BeCXXqqYAPMsFui0IWVFu_5BFhyw65FyJDfLSIw6bcLUNLX2pU0vQrWta17FHuqi4tRkKWPn7QO4qvcKxSIQIqNgUdnoVTaZ9Ib5-2P_MjeTKnRAxFgLLMxIPilHELxG4DmbdGf9NzoMsWLyraIUFdGVlyVLqMwasRlNzP2Q7T-XMbbCmcqf0l_rzlLNcHYhpuPqjdf2OGd2uNywVvLI0ahu6FphJTo-hPs9S4-geznWrHEunnYKlO_bK0jjpjSfJKOkPJoP-YBonAduyNJoOe3HSHw2jQTKMptF4dAjYW3dovzdJ4oBhKZ02t8eH172_w1_u1yG-">Mermaid.Live</a></p>
<p><img src="/content/images/2025/08/qwen-models-mermaid.png" alt=""></p>
<pre tabindex="0"><code>graph TD
    A[Qwen3-235B Base Model] --&gt;|Trained on general web text| B[Qwen3-235B]
    A --&gt;|+ Code corpus &amp; tokenizer extension| C[Qwen3-235B-Coder]
    A --&gt;|+ SFT/RLHF on instructions| D[Qwen3-235B-Instruct]
    A --&gt;|+ Reasoning datasets &amp; iterative decoding| E[Qwen3-235B-Thinking]

    B --&gt; B1[&#34;Standard cross-entropy loss\nNeutral inference&#34;]
    C --&gt; C1[&#34;Code-specific tokens\nSyntax-aware embeddings&#34;]
    D --&gt; D1[&#34;RLHF alignment\nSafety filters&#34;]
    E --&gt; E1[&#34;Reasoning head\nStep-by-step CoT output&#34;]

    classDef base fill:#e6f7ff,stroke:#1890ff;
    classDef variant fill:#f6ffed,stroke:#52c41a;
    class A,B base;
    class C,D,E variant;
</code></pre><hr>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Saturday Morning Inference</title>
      <link>https://winterschon.gitlab.io/en/posts/saturday-morning-inference/</link>
      <pubDate>Sat, 09 Aug 2025 20:22:35 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/saturday-morning-inference/</guid>
      <description><![CDATA[<p>Less prose this morning, more focus on home-lab and new OSS tech.</p>
<h3 id="what-is-lora-and-why-is-it-not-lorawan">What is LoRA and why is it not LoRaWAN?</h3>
<p>It&rsquo;s an acronym for &ldquo;Low Rank Adaptation&rdquo;, which is an optimization method for LLMs that can dramatically reduce resource requirements while optimizing for post-training re-trains.</p>
<ul>
<li>Neural Nets: <a href="https://arxiv.org/abs/2106.09685">LoRA: Low-Rank Adaptation of Large Language Models</a></li>
<li>WAN Nets: <a href="https://lora-alliance.org/about-lorawan/">LoRaWAN is a Low Power, Wide Area (LPWA)</a></li>
</ul>
<hr>
<h3 id="what-is-auto-round-and-why-should-we-care">What is Auto-Round and why should we care?</h3>
<p>Another neural-network optimization tool, specifically for quantizing large language models into <em>&ldquo;still large but optimized for specific precision&rdquo;</em>. Intel released a <code>Q4KS</code> quantized version of the <code>GPT-OSS-20B</code> <a href="https://huggingface.co/Intel/gpt-oss-20b-gguf-q4ks-AutoRound">model on Huggingface for those who want a high-performance model on lower resource</a> hardware.</p>
<ul>
<li>This algorithm helps engineers run models originally intended for Very Large Systems With Lots of VRAM to run on lower-spec systems which are often optimized on <code>Tokens/sec per Watt (Tk/s/W)</code>.</li>
<li>Additionally, it allows models which are expected to run on Nvidia GPUs to run on alternate hardware (CPU, HPU, etc), <a href="https://github.com/intel/auto-round?tab=readme-ov-file#-key-features">multiple calibration datasets, mixed-bit Quantizing, etc.</a></li>
<li>Reference: <a href="https://github.com/intel/auto-round">Intel Auto-Round</a> Quantizer</li>
</ul>
<hr>
<h3 id="64gb-vram-gpus-vs-cerebras-cloud">64GB vRAM GPUs vs Cerebras Cloud</h3>
<p>The new big news this week has been OpenAi&rsquo;s release of two OSS models, <code>GPT-OSS-20B</code> and <code>GPT-OSS-120B</code>, which are quite exciting for technical reasons which I won&rsquo;t go into right now.</p>
<p>So, a quick comparison with running <code>GPT-OSS-20B</code> on a local-at-home GPU host vs the <a href="https://www.cerebras.ai/news/cerebras-helps-power-openai-s-open-model-at-world-record-inference-speeds-gpt-oss-120b-delivers">inference cloud at work</a> - where we&rsquo;re running the <code>GPT-OSS-120B</code> variant of the model <em>(feel free to try that here:</em> <a href="https://cloud.cerebras.ai/"><em>https://cloud.cerebras.ai</em></a><em>)</em></p>
<p>First, a screenshot of the local system running Open-WebUI with Ollama backend. See the hover-box for the tokens/sec performance values.</p>
<p><img src="/content/images/2025/08/GPT-OSS-20b_Ollama-Tokens-Sec_2025-08-09-112833.png" alt=""></p>
<p>Token results for GPT-OSS-20B running on a 64GB vRAM local@home system</p>
<p>And then we see the tokens per second for the Cerebras cluster, running <code>GPT-OSS-120B</code> variant of the model, which is executing on millions of cores for the cluster and multi-TB of vRAM (equivalent terms).</p>
<p><img src="/content/images/2025/08/GPT-OSS-120b_Cerebras-Tokens-Sec_2025-08-09-1258-1.png" alt=""></p>
<p>Token results for GPT-OSS-120B running on the public Cerebras cluster</p>
<table>
  <thead>
      <tr>
          <th>Cerebras UI Term</th>
          <th>Corresponds to</th>
          <th>Explanation</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Input tokens/s</strong></td>
          <td><strong>Prompt tokens/s</strong></td>
          <td>Speed of processing the input/context tokens (prefill phase)</td>
      </tr>
      <tr>
          <td><strong>Output tokens/s</strong></td>
          <td><strong>Response tokens/s</strong></td>
          <td>Speed of generating new tokens sequentially (generation phase)</td>
      </tr>
      <tr>
          <td><strong>Total tokens/s</strong></td>
          <td><strong>Combined metric</strong></td>
          <td>(Input + Output tokens) / total processing time</td>
      </tr>
  </tbody>
</table>
<hr>
<p>Using the same prompt query we have token rates for the local development system:</p>
<table>
  <thead>
      <tr>
          <th>Prompt Token/sec</th>
          <th>Response Token/sec</th>
          <th>System</th>
          <th>Cores</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>541/s</td>
          <td>36/s</td>
          <td>4x A4000</td>
          <td>44,352</td>
      </tr>
      <tr>
          <td>22,858/s</td>
          <td>1,394/s</td>
          <td>multi-CS-3</td>
          <td>millions</td>
      </tr>
  </tbody>
</table>
<p>Big numbers! 😃</p>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Good Morning from the Glossary</title>
      <link>https://winterschon.gitlab.io/en/posts/good-morning-from-the-glossary/</link>
      <pubDate>Fri, 08 Aug 2025 14:19:44 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/good-morning-from-the-glossary/</guid>
      <description><![CDATA[<p>This content has been migrated to the Lexicon page: <a href="https://prose.winterschon.com/lexicon/">https://prose.winterschon.com/lexicon/</a></p>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>🌐 Ai/ML Cluster for Traveling</title>
      <link>https://winterschon.gitlab.io/en/posts/nvidia-ai-cluster-for-traveling/</link>
      <pubDate>Sun, 25 May 2025 14:24:31 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/nvidia-ai-cluster-for-traveling/</guid>
      <description><![CDATA[<p>A little travel cluster, all set for Ai engineering and development ❤️</p>
<ul>
<li>1x Nvidia Jetson Xavier NX 16GB</li>
<li>3x Nvidia Jetson Orin NX 16GB</li>
<li>3x GoWin R86S, N6005 16GB</li>
<li>2x Pi-KVM v4-mini for remote/headless access</li>
<li>2x NanoPi nodes, a RISC-V LeechiPi, and LattePanda Mu</li>
<li>Associated networking for 10/5/2.5/1G ports</li>
</ul>
<p>Setup in a Pelican Air case, ready for the flight!</p>
]]></description>
      
    </item>
    
    
  </channel>
</rss>
