Instructions to use apus-ailab/APUS-Reflex with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use apus-ailab/APUS-Reflex with Transformers:
# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("apus-ailab/APUS-Reflex", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Render technical report equations as vector mathematics
Browse files- TECHNICAL_REPORT.md +18 -14
- TECHNICAL_REPORT.pdf +2 -2
- assets/equations/candidate-projection.svg +346 -0
- assets/equations/dcrl-objective.svg +1264 -0
- assets/equations/decision-distribution.svg +608 -0
- assets/equations/expected-utility.svg +562 -0
- assets/equations/joint-depth-objective.svg +1016 -0
- assets/equations/projection-cost.svg +789 -0
- bundle-manifest.json +46 -4
- equations-source.json +26 -0
TECHNICAL_REPORT.md
CHANGED
|
@@ -26,9 +26,9 @@ The value of a decision model lies in interpreting a changing problem, rather th
|
|
| 26 |
|
| 27 |
This representation preserves a central strength of language models: task meaning is communicated through the input. A common model can process evidence-based questions, natural-language principles, workflow states, and browser actions without requiring a separate output classifier for every business category. Compact output labels identify candidates; their meaning comes from the descriptions supplied for the current request. They are an interface to the decision space, not permanent class identities.
|
| 28 |
|
| 29 |
-
For candidates
|
| 30 |
|
| 31 |
-
|
| 32 |
|
| 33 |
Normalization takes place within the legal candidate set. A deterministic application layer can map the selected label into its structured response. This removes the need to generate JSON punctuation or repeatedly decode a known answer schema. It guarantees membership in the supplied candidate set, while semantic correctness remains a learned capability that must be evaluated. Open text is retained where the task genuinely requires it, such as entering a value during a browser workflow.
|
| 34 |
|
|
@@ -51,11 +51,9 @@ The important training question is whether an intermediate representation has ac
|
|
| 51 |
|
| 52 |
### 3.1 Joint supervision and cross-depth knowledge transfer
|
| 53 |
|
| 54 |
-
For a supervised decision with target distribution
|
| 55 |
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
` + 0.1 KL(stopgrad(p_high) || p_low)`.
|
| 59 |
|
| 60 |
Both exits receive direct task supervision. The deeper exit additionally acts as a distributional teacher for the earlier exit. Its detached probabilities convey relative candidate preferences beyond the identity of the correct answer, while stop-gradient keeps the distillation target from being changed through that term. The deeper pathway continues to learn through its own supervised objective.
|
| 61 |
|
|
@@ -107,17 +105,15 @@ A useful next step is to distinguish three properties that accuracy alone cannot
|
|
| 107 |
|
| 108 |
Its candidate-space objective combines proper-scoring components, reference preservation, and decision utility:
|
| 109 |
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
` + λ_ref KL(p_high || p_reference)`
|
| 113 |
|
| 114 |
-
|
| 115 |
|
| 116 |
The NLL and Brier terms supervise probabilities at both exits. The reference term anchors the deeper distribution to a frozen reference. The utility term targets the earlier exit, where better decisions have particular value for low-cost execution. Candidate utilities are supplied as verified training information; they are not inferred merely from the model's confidence.
|
| 117 |
|
| 118 |
For bounded candidate sets, the exact utility objective is tractable:
|
| 119 |
|
| 120 |
-
|
| 121 |
|
| 122 |
A sampled alternative draws actions from the current shallow policy and uses an expected-utility baseline in its policy-gradient estimator. Comparing exact and sampled optimization is valuable here: when the action space is small, sampling should earn its complexity through evidence rather than being assumed necessary.
|
| 123 |
|
|
@@ -135,7 +131,7 @@ Our performance target is the operating curve between useful decisions and deplo
|
|
| 135 |
|
| 136 |
Depth controls how many backbone transformations construct the decision representation. Output width controls how many language-output rows are projected from that representation. APUS-OpenJev's native low-effort runtime combines these axes: an earlier trained exit supplies the representation, and a candidate-aware readout restricts the output projection to the labels required by the current request. Candidate descriptions remain part of the language input; the output uses validated, unique single-token labels rather than a fixed business-category classifier.
|
| 137 |
|
| 138 |
-
Let
|
| 139 |
|
| 140 |
```text
|
| 141 |
Native low:
|
|
@@ -148,9 +144,17 @@ Native high / current vLLM decision path:
|
|
| 148 |
→ candidate normalization
|
| 149 |
```
|
| 150 |
|
| 151 |
-
The candidate projection
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 152 |
|
| 153 |
-
|
| 154 |
|
| 155 |
### 6.2 Implemented paths and serving scope
|
| 156 |
|
|
|
|
| 26 |
|
| 27 |
This representation preserves a central strength of language models: task meaning is communicated through the input. A common model can process evidence-based questions, natural-language principles, workflow states, and browser actions without requiring a separate output classifier for every business category. Compact output labels identify candidates; their meaning comes from the descriptions supplied for the current request. They are an interface to the decision space, not permanent class identities.
|
| 28 |
|
| 29 |
+
For candidates <i>A</i>(<i>x</i>) = {<i>a</i><sub>1</sub>, …, <i>a</i><sub>K</sub>}, an execution depth <i>d</i> produces logits <i>z</i><sub>d</sub>(<i>x</i>, <i>A</i>). The decision distribution is:
|
| 30 |
|
| 31 |
+

|
| 32 |
|
| 33 |
Normalization takes place within the legal candidate set. A deterministic application layer can map the selected label into its structured response. This removes the need to generate JSON punctuation or repeatedly decode a known answer schema. It guarantees membership in the supplied candidate set, while semantic correctness remains a learned capability that must be evaluated. Open text is retained where the task genuinely requires it, such as entering a value during a browser workflow.
|
| 34 |
|
|
|
|
| 51 |
|
| 52 |
### 3.1 Joint supervision and cross-depth knowledge transfer
|
| 53 |
|
| 54 |
+
For a supervised decision with target distribution <i>q</i>, the delivered objective is:
|
| 55 |
|
| 56 |
+

|
|
|
|
|
|
|
| 57 |
|
| 58 |
Both exits receive direct task supervision. The deeper exit additionally acts as a distributional teacher for the earlier exit. Its detached probabilities convey relative candidate preferences beyond the identity of the correct answer, while stop-gradient keeps the distillation target from being changed through that term. The deeper pathway continues to learn through its own supervised objective.
|
| 59 |
|
|
|
|
| 105 |
|
| 106 |
Its candidate-space objective combines proper-scoring components, reference preservation, and decision utility:
|
| 107 |
|
| 108 |
+

|
|
|
|
|
|
|
| 109 |
|
| 110 |
+
Here <i>D</i> denotes the set of supervised decision depths.
|
| 111 |
|
| 112 |
The NLL and Brier terms supervise probabilities at both exits. The reference term anchors the deeper distribution to a frozen reference. The utility term targets the earlier exit, where better decisions have particular value for low-cost execution. Candidate utilities are supplied as verified training information; they are not inferred merely from the model's confidence.
|
| 113 |
|
| 114 |
For bounded candidate sets, the exact utility objective is tractable:
|
| 115 |
|
| 116 |
+

|
| 117 |
|
| 118 |
A sampled alternative draws actions from the current shallow policy and uses an expected-utility baseline in its policy-gradient estimator. Comparing exact and sampled optimization is valuable here: when the action space is small, sampling should earn its complexity through evidence rather than being assumed necessary.
|
| 119 |
|
|
|
|
| 131 |
|
| 132 |
Depth controls how many backbone transformations construct the decision representation. Output width controls how many language-output rows are projected from that representation. APUS-OpenJev's native low-effort runtime combines these axes: an earlier trained exit supplies the representation, and a candidate-aware readout restricts the output projection to the labels required by the current request. Candidate descriptions remain part of the language input; the output uses validated, unique single-token labels rather than a fixed business-category classifier.
|
| 133 |
|
| 134 |
+
Let <i>h</i><sub>d</sub> be the normalized readout at depth <i>d</i>, <i>W</i> the language output matrix with <i>V</i> vocabulary rows and hidden width <i>H</i>, and <i>C</i> the request's <i>K</i> candidate token IDs. The two paths are:
|
| 135 |
|
| 136 |
```text
|
| 137 |
Native low:
|
|
|
|
| 144 |
→ candidate normalization
|
| 145 |
```
|
| 146 |
|
| 147 |
+
The candidate projection selects the output weight and bias rows before the matrix multiplication:
|
| 148 |
+
|
| 149 |
+

|
| 150 |
+
|
| 151 |
+
This avoids constructing the full vocabulary score vector before selecting its candidate entries. For the same representation, weights, bias and candidate set, these are algebraically identical. Floating-point kernels may differ numerically, so deployment equivalence still requires validation. This identity does not imply that low and high exits have the same predictions: they use different representations and executed depths.
|
| 152 |
+
|
| 153 |
+
For one decision position, the output-head arithmetic scales as:
|
| 154 |
+
|
| 155 |
+

|
| 156 |
|
| 157 |
+
This is an output-head cost model, not an end-to-end speedup claim. Backbone computation, memory traffic, row gathering and serving overhead remain. Candidate softmax expresses preference within the supplied set; it is not automatically calibrated confidence or the full-vocabulary probability mass.
|
| 158 |
|
| 159 |
### 6.2 Implemented paths and serving scope
|
| 160 |
|
TECHNICAL_REPORT.pdf
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:eda753388da66c864fd8334cc7e5604d07ce62f325a496a04937daa3cc461533
|
| 3 |
+
size 1000257
|
assets/equations/candidate-projection.svg
ADDED
|
|
assets/equations/dcrl-objective.svg
ADDED
|
|
assets/equations/decision-distribution.svg
ADDED
|
|
assets/equations/expected-utility.svg
ADDED
|
|
assets/equations/joint-depth-objective.svg
ADDED
|
|
assets/equations/projection-cost.svg
ADDED
|
|
bundle-manifest.json
CHANGED
|
@@ -20,9 +20,16 @@
|
|
| 20 |
"TECHNICAL_REPORT.md",
|
| 21 |
"TECHNICAL_REPORT.pdf",
|
| 22 |
"assets/effort-tradeoff.svg",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
"assets/latency-vllm.svg",
|
| 24 |
"deployment/serve_vllm.py",
|
| 25 |
"effort-tradeoff-data.json",
|
|
|
|
| 26 |
"latency-vllm-data.json"
|
| 27 |
],
|
| 28 |
"files": [
|
|
@@ -593,13 +600,13 @@
|
|
| 593 |
},
|
| 594 |
{
|
| 595 |
"path": "TECHNICAL_REPORT.md",
|
| 596 |
-
"bytes":
|
| 597 |
-
"sha256": "
|
| 598 |
},
|
| 599 |
{
|
| 600 |
"path": "TECHNICAL_REPORT.pdf",
|
| 601 |
-
"bytes":
|
| 602 |
-
"sha256": "
|
| 603 |
},
|
| 604 |
{
|
| 605 |
"path": "assets/accuracy.svg",
|
|
@@ -621,6 +628,36 @@
|
|
| 621 |
"bytes": 3671,
|
| 622 |
"sha256": "29d8dd5fb0658e1c2acd69958470bb009e95ed1a4ae27e4fd2a418d8235dcde4"
|
| 623 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 624 |
{
|
| 625 |
"path": "assets/latency-vllm.svg",
|
| 626 |
"bytes": 8498,
|
|
@@ -656,6 +693,11 @@
|
|
| 656 |
"bytes": 1613,
|
| 657 |
"sha256": "d06c4b6a2ffbe370fbe21014aeeca625b1db126f9ceda4d62f582ff1c78c9f35"
|
| 658 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 659 |
{
|
| 660 |
"path": "latency-vllm-data.json",
|
| 661 |
"bytes": 3456,
|
|
|
|
| 20 |
"TECHNICAL_REPORT.md",
|
| 21 |
"TECHNICAL_REPORT.pdf",
|
| 22 |
"assets/effort-tradeoff.svg",
|
| 23 |
+
"assets/equations/candidate-projection.svg",
|
| 24 |
+
"assets/equations/dcrl-objective.svg",
|
| 25 |
+
"assets/equations/decision-distribution.svg",
|
| 26 |
+
"assets/equations/expected-utility.svg",
|
| 27 |
+
"assets/equations/joint-depth-objective.svg",
|
| 28 |
+
"assets/equations/projection-cost.svg",
|
| 29 |
"assets/latency-vllm.svg",
|
| 30 |
"deployment/serve_vllm.py",
|
| 31 |
"effort-tradeoff-data.json",
|
| 32 |
+
"equations-source.json",
|
| 33 |
"latency-vllm-data.json"
|
| 34 |
],
|
| 35 |
"files": [
|
|
|
|
| 600 |
},
|
| 601 |
{
|
| 602 |
"path": "TECHNICAL_REPORT.md",
|
| 603 |
+
"bytes": 29040,
|
| 604 |
+
"sha256": "be00a37fabb45914c33578a5447e7899aa142e83e0b1096138adf71e2f24ef36"
|
| 605 |
},
|
| 606 |
{
|
| 607 |
"path": "TECHNICAL_REPORT.pdf",
|
| 608 |
+
"bytes": 1000257,
|
| 609 |
+
"sha256": "eda753388da66c864fd8334cc7e5604d07ce62f325a496a04937daa3cc461533"
|
| 610 |
},
|
| 611 |
{
|
| 612 |
"path": "assets/accuracy.svg",
|
|
|
|
| 628 |
"bytes": 3671,
|
| 629 |
"sha256": "29d8dd5fb0658e1c2acd69958470bb009e95ed1a4ae27e4fd2a418d8235dcde4"
|
| 630 |
},
|
| 631 |
+
{
|
| 632 |
+
"path": "assets/equations/candidate-projection.svg",
|
| 633 |
+
"bytes": 9005,
|
| 634 |
+
"sha256": "1832c25adebadfb4c47728fab8edce6bb4af9294c542a8adff99d29a7afed4f0"
|
| 635 |
+
},
|
| 636 |
+
{
|
| 637 |
+
"path": "assets/equations/dcrl-objective.svg",
|
| 638 |
+
"bytes": 31290,
|
| 639 |
+
"sha256": "04f5d928ae83c24d986857d0d44443f4bdc492597c72108479d6982914d60c99"
|
| 640 |
+
},
|
| 641 |
+
{
|
| 642 |
+
"path": "assets/equations/decision-distribution.svg",
|
| 643 |
+
"bytes": 14942,
|
| 644 |
+
"sha256": "eaf3c4bc08cc01a26ce600a65eb9971bfb91648f2dce37691e3e8894b6dc5748"
|
| 645 |
+
},
|
| 646 |
+
{
|
| 647 |
+
"path": "assets/equations/expected-utility.svg",
|
| 648 |
+
"bytes": 13526,
|
| 649 |
+
"sha256": "3e2a801cb4c100c3ba69e126bc5d23689389d99dcf1d34936e2c6826477f7f96"
|
| 650 |
+
},
|
| 651 |
+
{
|
| 652 |
+
"path": "assets/equations/joint-depth-objective.svg",
|
| 653 |
+
"bytes": 25331,
|
| 654 |
+
"sha256": "5bfa3a78adc888608623161c092bd538abb556724507e5961ea73a92c24de5fe"
|
| 655 |
+
},
|
| 656 |
+
{
|
| 657 |
+
"path": "assets/equations/projection-cost.svg",
|
| 658 |
+
"bytes": 18577,
|
| 659 |
+
"sha256": "56422494c5e0edbb9a666bef318d6bef869f99c10b38373736cfb942517b63da"
|
| 660 |
+
},
|
| 661 |
{
|
| 662 |
"path": "assets/latency-vllm.svg",
|
| 663 |
"bytes": 8498,
|
|
|
|
| 693 |
"bytes": 1613,
|
| 694 |
"sha256": "d06c4b6a2ffbe370fbe21014aeeca625b1db126f9ceda4d62f582ff1c78c9f35"
|
| 695 |
},
|
| 696 |
+
{
|
| 697 |
+
"path": "equations-source.json",
|
| 698 |
+
"bytes": 1188,
|
| 699 |
+
"sha256": "898401cc9c39a36f569ff7b6d9e217063c82b8690f17edf902adcc32d4e10ec4"
|
| 700 |
+
},
|
| 701 |
{
|
| 702 |
"path": "latency-vllm-data.json",
|
| 703 |
"bytes": 3456,
|
equations-source.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"renderer": "matplotlib mathtext, STIX fonts, vector paths",
|
| 3 |
+
"formulas": {
|
| 4 |
+
"decision-distribution": [
|
| 5 |
+
"p_d(a_i\\mid x,A)=\\frac{\\exp(z_{d,i})}{\\sum_{j=1}^{K}\\exp(z_{d,j})}"
|
| 6 |
+
],
|
| 7 |
+
"joint-depth-objective": [
|
| 8 |
+
"\\mathcal{L}_{\\mathrm{decision}}=0.5\\,\\mathrm{CE}(q,p_{\\mathrm{low}})+0.5\\,\\mathrm{CE}(q,p_{\\mathrm{high}})",
|
| 9 |
+
"\\qquad +0.1\\,\\mathrm{KL}\\!\\left(\\mathrm{stopgrad}(p_{\\mathrm{high}})\\,\\Vert\\,p_{\\mathrm{low}}\\right)"
|
| 10 |
+
],
|
| 11 |
+
"dcrl-objective": [
|
| 12 |
+
"\\mathcal{L}_{\\mathrm{DCRL}}=\\frac{1}{|\\mathcal{D}|}\\sum_{d\\in\\mathcal{D}}\\left[\\mathrm{NLL}(q,p_d)+\\lambda_B\\,\\mathrm{Brier}(q,p_d)\\right]",
|
| 13 |
+
"\\qquad +\\lambda_{\\mathrm{ref}}\\,\\mathrm{KL}(p_{\\mathrm{high}}\\,\\Vert\\,p_{\\mathrm{reference}})",
|
| 14 |
+
"\\qquad +\\lambda_U\\,\\mathcal{L}_{\\mathrm{utility}}(p_{\\mathrm{low}})"
|
| 15 |
+
],
|
| 16 |
+
"expected-utility": [
|
| 17 |
+
"\\mathcal{L}_{\\mathrm{utility}}=-\\sum_{a\\in A(x)}p_{\\mathrm{low}}(a)\\,u(a)"
|
| 18 |
+
],
|
| 19 |
+
"candidate-projection": [
|
| 20 |
+
"z_C=W[C]h_d+b[C]=(Wh_d+b)[C]"
|
| 21 |
+
],
|
| 22 |
+
"projection-cost": [
|
| 23 |
+
"\\mathrm{Full\\ vocabulary}:\\ O(HV)\\qquad\\mathrm{Candidate\\ rows}:\\ O(HK)"
|
| 24 |
+
]
|
| 25 |
+
}
|
| 26 |
+
}
|