載體中立的計算容器理論
——從算法選擇到異質計算載體聯合調度
Series: Adaptive Epistemic Systems Series
Paper: 6 / 11
Version: v0.1
Language: zh-TW
Status: Complete Draft / Canonical UTF-8 Source
摘要
當智能系統已經具備世界模型、可執行符號層、外部記憶、算法庫與可重用方法鏈之後,仍存在一個更底層但常被隱含固定的假設:算法最終都會在某一種預設的計算架構上執行。這種假設在傳統軟體系統中通常是合理的,因為運算平台往往預先固定;但對於希望支援異質計算、外部工具調度、專用硬體、生物計算、量子計算或其他未來計算載體的自適應智能系統而言,這個假設會限制架構的通用性。
本文提出「載體中立計算容器」模型。系統不直接將「計算」等同於某一種特定機器,而是將任何能夠接受可表示輸入、執行有效狀態轉換、並輸出可讀結果的執行環境抽象為:
Γi
。
每個計算容器具有自己的輸入語言、輸出域、狀態空間、誤差模型、成本模型、延遲、能耗、精度、並行度、依賴與可用性。算法 Ai 與計算容器 Γj 因此不再被視為同一層概念,而形成:
(Ai,Γj)
的聯合可執行實例。
本文將算法選擇問題從:
A∗=argimaxU(Ai∣Q)
升級為:
(A∗,Γ∗)=argAi,ΓjmaxU(Ai,Γj∣Q)
並進一步討論異質容器協同、多容器工作流、編碼—執行—解碼映射、容器契約、結果校驗、載體失效、接口變更、成本漂移與新載體創造等問題。
本文核心主張是:
intelligence architecture=computational substrate
以及:
the same abstract capability may admit multiple physical realizations
。
在此框架下,智能系統可將不同計算載體視為可被學習、比較、選擇與重構的能力節點,而不是不可變的底層前提。
關鍵詞: 計算容器、載體中立、異質計算、算法調度、計算載體、量子計算、生物計算、能力模型、執行映射、聯合優化
1. 問題:為什麼「計算」總被默認成某一種機器?
在多數系統設計中,計算通常隱含為:
program→processor→result
。
若智能系統只需要部署於單一固定平台,這並不構成問題。
但若希望系統可以使用:
classical digital compute
accelerators
quantum systems
biological systems
analog systems
甚至:
unknown future substrates
則必須將「方法」與「載體」拆開。
2. 算法與載體是兩個不同變數
定義:
Ai
為抽象算法或方法;
Γj
為計算容器。
同一個:
Ai
可能無法直接在所有:
Γj
上執行。
因此需要:
Compatible(Ai,Γj)
。
若:
Compatible(Ai,Γj)=True
則可建立:
Exec(Ai,Γj)
。
這使:
algorithm=implementation
。
3. 計算容器的最小定義
一個容器可以表示為:
Γi=(Li,Ii,Oi,Si,Ri,Ci,Ei,Vi)
其中:
Li
是可接受的操作語言;
Ii
是輸入域;
Oi
是輸出域;
Si
是內部狀態空間;
Ri
是資源模型;
Ci
是成本模型;
Ei
是誤差/失敗模型;
Vi
是版本與可用性狀態。
因此,容器並不需要具有相同的指令架構。
4. 更一般的計算定義
若要避免把所有計算都預設成傳統 instruction execution,可採用:
Γ:(X0,I,Θ)↦(Xf,O)
其中:
X0
為初始狀態;
I
為輸入;
Θ
為容器條件;
Xf
為演化後狀態;
O
為可讀出的結果。
因此「計算」只需要滿足:
representable input
valid transformation
readable output
三個條件。
5. 上層 canonical state 與底層載體分離
Paper 03 已建立:
Z
作為 canonical symbolic state。
因此不同容器不需要共享原生格式。
只需存在:
ϕi:Ztask→Ii
將上層任務映射到容器輸入;
以及:
ψi:Oi→Zresult
將容器結果映射回 canonical state。
完整執行為:
ZϕiIiΓiOiψiZ′
。
6. 編碼、執行與解碼
對容器:
Γi
可以定義:
Encodei
Executei
Decodei
三層。
即:
Result=Decodei(Executei(Encodei(Q)))
。
這使不同載體的底層差異被封裝於 adapter 層。
7. 編碼成本不能被忽略
某個載體執行本體非常快,但:
Cencode
與:
Cdecode
可能非常高。
因此總成本應是:
Ctotal=Cencode+Cexecute+Cdecode+Cverify
。
所以不能只比較:
Cexecute
。
8. 算法—容器聯合效用
定義:
U(Ai,Γj∣Q)
表示算法與容器組合對任務 Q 的效用。
可寫成:
U=αPsuccess+βQprecision+γReusability−δCtime−ϵCenergy−ζCmoney−ηRisk
。
因此:
(A∗,Γ∗)=argAi,ΓjmaxU(Ai,Γj∣Q)
。
9. 不存在永遠最好的載體
若任務:
Q1
重視精度,而:
Q2
重視延遲,則:
Γ∗(Q1)=Γ∗(Q2)
是正常情況。
因此:
best substrate=task-conditional
而非全域固定。
10. 功能等價與成本不等價
可能存在:
(A1,Γa)
與:
(A2,Γb)
都能完成:
Q↦R
。
則:
(A1,Γa)∼Q(A2,Γb)
表示任務層功能等價。
但可能:
Costa=Costb
Latencya=Latencyb
Energya=Energyb
Reliabilitya=Reliabilityb
。
因此功能等價不代表工程等價。
11. 容器也是能力節點
定義:
vΓi∈Vcapability
。
則容器可與 Algorithm、TaskType、InputSchema、OutputSchema、RiskClass 建立關係。
例如:
Supports(Γi,Aj)
EfficientFor(Γi,Qk)
Requires(Γi,Dl)
。
12. 容器模型
系統不只需要知道容器存在。
還需保存:
MΓi=(Capabilities,Constraints,Cost,Error,Interface,StateSemantics,Availability)
。
因此:
Know(Γi)
不等於:
KnowHowToUse(Γi)
。
13. 介面契約
每個容器應具有:
Contract(Γi)=(InputContract,OutputContract,ResourceContract,FailureContract)
。
若:
InputContract
不滿足,則:
Execute(Γi)
不應被允許。
14. 容器失敗模式
不同載體可能具有不同:
FailureMode(Γi)
。
例如 timeout、numerical instability、measurement noise、hardware unavailable、interface mismatch。
因此調度器需要建模:
P(Failure∣Γi,Q)
。
15. 容器新鮮度
容器接口與可用性也會變。
因此需要:
Freshness(Γi)
以及:
LastVerified(Γi)
。
若:
InterfaceChanged(Γi)=True
則所有依賴:
Aj→Γi
都應提高:
TAj
。
16. 容器張力
可定義:
TΓi=αInterfaceChangei+βFailureRatei+γCostDrifti+δAvailabilityDrifti+ϵSecurityChangei
。
若:
TΓi>θi
則需要:
Revalidate(Γi)
。
17. 算法實現是二階節點
抽象算法:
Ai
與載體:
Γj
結合後,可形成:
Implij=Implementation(Ai,Γj)
。
因此:
Implij
本身也可以成為能力節點。
其屬性包括 Performance、Cost、Version、Compiler、Adapter、Reliability。
18. 編譯不必只表示傳統 compiler
定義:
Φ(Ai,Γj)
為「將抽象算法映射成特定容器可執行過程」。
因此:
Executableij=Φ(Ai,Γj)
。
此:
Φ
可以是 compilation、translation、encoding、protocol construction、physical preparation 等。
19. 一個算法可能需要多個容器
有些任務不是:
Ai→Γj
一對一。
而是:
Ai→{Γ1,Γ2,…,Γn}
。
因此算法實現可以是:
ImplementationGraph(Ai)
。
20. 異質容器協同
任務:
Q
可拆成:
Q→{q1,q2,q3}
。
然後:
q1→Γa
q2→Γb
q3→Γc
。
最後:
R=Merge(Ra,Rb,Rc)
。
這形成:
heterogeneous cooperative computation
。
21. 並行異質執行
若子任務互相獨立:
qi⊥qj
則可:
Γi∥Γj
。
總延遲近似:
Ttotal≈imaxTi+Tmerge
而非:
i∑Ti
。
22. 串行異質執行
若:
qi+1
依賴:
qi
則:
Γ1→Γ2→Γ3
。
因此方法鏈:
Wk
現在不只保存算法序列,也保存容器序列。
23. 條件式容器路由
若:
Result(Γa)>θ
則路由至:
Γb
否則:
Γc
。
可寫成:
Γa→{Γb,Γc,r>θr≤θ
。
24. 多容器方法鏈
一般形式:
Wk=[(A1,Γ1),(A2,Γ2),…,(An,Γn)]
。
因此 Paper 05 的 workflow 升級為:
algorithm-substrate workflow
。
25. 調度器的升級
原本:
Scheduler:Q→Ai
現在變成:
Scheduler:Q→(Ai,Γj)
。
甚至對分解任務:
Scheduler(Q)={(qk,Ak,Γk)}k=1m
。
26. 容器選擇也應學習
系統執行後可更新:
P(Success∣Ai,Γj,Q)
。
因此:
History(Ai,Γj)
是能力記憶的一部分。
同一算法在不同容器上的實際表現,可以持續被學習。
27. 能力與執行位置分離
系統可以:
Know(Ai)=True
但:
CanExecute(Ai,Γlocal)=False
。
同時:
CanExecute(Ai,Γremote)=True
。
因此:
knowledge location=execution location
。
28. 決策位置與執行位置也可以分離
更一般地:
DecisionLocation=ExecutionLocation
。
上層系統可以決定:
Use(Ai,Γj)
而不必自己執行全部底層計算。
這使 intelligence control layer 與 physical execution layer 分離。
29. 容器不必是機器
若某外部系統接受輸入、執行可重複轉換並輸出結果,也可被抽象為:
Γi
。
因此:
Γi
可代表 hardware、software runtime、specialized service、physical process、biological process。
關鍵不是名稱,而是契約與可讀狀態轉換。
30. 物理載體特性可以成為調度變數
不同載體可能具有:
Energy(Γi)
Heat(Γi)
Noise(Γi)
Parallelism(Γi)
PhysicalLatency(Γi)
。
因此智能系統可以將物理成本納入:
U(Ai,Γj∣Q)
。
31. 載體中立不代表忽略物理
載體中立不是:
all substrates are equivalent
。
恰恰相反,它允許系統顯式比較不同物理條件。
因此:
substrate-neutral abstraction=substrate-blind optimization
。
32. 精度與概率誤差
某些載體結果可能具有:
P(O∣I,Γi)
而非 deterministic output。
因此 Verify 層必須根據容器誤差模型判斷結果。
例如:
Confidence(Result)=f(ContainerError,ExecutionHistory,Observation)
。
33. 重複執行與容錯
若:
P(Failure∣Γi)
較高,可執行:
n
次重複:
R1,…,Rn
再聚合:
R∗=Aggregate(R1,…,Rn)
。
因此調度策略可把重複執行視為可選成本。
34. 跨容器驗證
一個容器的結果可以由另一容器驗證。
例如:
Γa→Result→Γbverify
。
若:
Agree(Γa,Γb)
則可信度提高。
這形成:
cross-substrate verification
。
35. 但不同載體的錯誤可能相關
不能假設:
Error(Γa)⊥Error(Γb)
。
若兩者使用相同輸入資料、相同錯誤假設或相同上游模型,則交叉驗證未必提供獨立證據。
因此 provenance 仍然重要。
36. 容器選擇中的公平比較
比較:
Γa
與:
Γb
時,需要控制 InputQuality、Algorithm、VerificationBudget、TaskDefinition。
否則觀察到的差異可能其實來自算法不同。
37. 算法差異與載體差異需要拆開
總性能:
Perf=F(A,Γ)
。
因此若:
Perf1>Perf2
不能直接判斷:
A1>A2
或:
Γ1>Γ2
。
需要 factorial comparison:
(A1,Γ1)
(A1,Γ2)
(A2,Γ1)
(A2,Γ2)
。
38. 容器可替換性測試
若兩個容器:
Γa
與:
Γb
對任務集合:
Q
滿足:
Behavior(Γa)≈Behavior(Γb)
且:
Cost(Γa)≈Cost(Γb)
則對該任務集可近似視為替換。
但此等價是:
∼Q
而非全域等價。
39. 新載體的加入
當新容器:
Γnew
被加入系統時,不需要重新設計整個世界模型。
只需建立:
MΓnew
Encodenew
Decodenew
以及:
Compatible(Ai,Γnew)
。
這是載體中立設計的重要工程收益。
40. 新算法與新載體是不同創新方向
如果:
∀Γj,U(Ai,Γj∣Q)<θ
不一定表示:
Ai
不好。
可能是:
Γj
都不適合。
因此有兩種創新:
Create(Anew)
與:
Create(Γnew)
。
41. 同時創造方法與載體
最極端情況:
(Anew,Γnew)
共同被設計。
因此能力增長可分為:
algorithm innovation
與:
substrate innovation
。
42. 新載體建立也需要成本判斷
即使理論上可創造:
Γnew
也不代表值得。
需要:
ExpectedCapabilityGain>DevelopmentCost
。
因此:
Create(Γnew)
應是高成本決策。
43. 容器生命週期
可定義:
Discovered→Modeled→Validated→Available→Degraded→Deprecated→Retired
。
因此容器也具有:
capability lifecycle
。
44. 容器版本與相容性
若:
Γiv1→Γiv2
則需檢查:
Compatible(Aj,Γiv1)
是否仍推出:
Compatible(Aj,Γiv2)
。
不能假設版本升級自動保持語義相容。
45. 執行結果必須回到 canonical state
無論底層:
Γi
多特殊,結果最終都應轉換回:
Z
才能進入 WorldModel 或 CapabilityModel。
因此:
substrate diversity below+canonical semantic unity above
是整體架構的核心。
46. 計算容器的 provenance
每個結果應保存:
Prov(Result)=(Algorithm,Container,Version,Input,Time,Verification)
。
這使後續可以回答:
這個結果是用什麼方法、在哪個載體、哪個版本、什麼輸入下得到的?
47. 可重現性
若:
Γi
本質上 deterministic,則可要求:
Rerun(Ai,Γi,Q)≈Result
。
若容器 stochastic,則可要求:
Distribution(Rerun)≈ExpectedDistribution
。
因此可重現性必須依載體類型定義。
48. 異質計算工作流的風險
多容器系統可能產生:
format mismatch
semantic drift
precision loss
latency amplification
error propagation
。
因此中間狀態:
Zk
也需要驗證。
49. 工作流中間契約
對:
(Ai,Γi)→(Ai+1,Γi+1)
需要:
OutputContracti⊆InputContracti+1
。
若不滿足,則必須加入:
Adapteri→i+1
。
50. Adapter 也是能力節點
定義:
vAdapter∈Vcapability
。
因此 Encode、Decode、Translate 本身也是可重用能力。
這意味著新載體加入後,不一定需要每個算法都重新設計。
51. 容器選擇的長期學習
若系統長期觀察:
H(Γi)
可估計:
ExpectedCost(Γi,Q)
ExpectedLatency(Γi,Q)
ExpectedFailure(Γi,Q)
。
因此:
Γt∗
可以隨時間改變。
52. 供應狀態會改變最佳解
如果:
Availability(Γi,t)
變化,則即使算法不變:
Γt+1∗=Γt∗
。
因此調度是動態問題,而不是靜態 mapping。
53. 計算資源價格也是狀態
若:
Price(Γi,t)
變化,則:
U(Ai,Γi∣Q,t)
也會改變。
因此財務成本可以直接進入能力圖。
54. 能耗也是狀態
如果任務要求:
EnergyBudget<B
則:
Γ∗
必須滿足:
Energy(Ai,Γj)≤B
。
因此「更強」不必然等於「更適合」。
55. 延遲—成本—精度三角
可定義:
Objective=(Latency,Cost,Precision)
。
不同任務對三者權重不同。
因此可能形成 Pareto frontier:
P={(Ai,Γj)}
。
不存在唯一全域最佳。
56. 可驗證命題
命題一:聯合選擇優於固定載體
在異質任務集合上:
Utilityjoint>Utilityfixed substrate
應至少在部分條件成立。
命題二:編碼成本會改變最佳載體
若忽略:
Cencode+Cdecode
可能得到不同於總成本最優的:
Γ∗
。
命題三:多容器協同可降低總延遲或成本
對可分解任務:
Utilityheterogeneous>Utilitysingle
應在部分任務成立。
命題四:容器新鮮度可降低版本失配失敗
加入:
Freshness(Γi)
與:
Revalidate(Γi)
應降低:
CompatibilityFailure
。
命題五:載體替換不應破壞 canonical state
若 adapter 正確,替換:
Γa→Γb
不應導致:
DZ(Zbefore,Zafter)
出現不合理增長。
57. 實驗設計草案
建立多種容器模擬:
Γ1=low latency / high cost
Γ2=high latency / low cost
Γ3=probabilistic / high parallelism
Γ4=specialized / narrow domain
。
建立算法:
A1,…,An
與任務:
Q1,…,Qm
。
比較:
S1=fixed substrate
S2=algorithm selection only
S3=joint algorithm-substrate selection
。
測量 SuccessRate、Latency、MoneyCost、EnergyCost、VerificationCost、CompatibilityFailure 與 TotalUtility。
58. 失敗模式:抽象過度
若:
Γi
被抽象得太統一,系統可能忽略真正關鍵的物理差異。
因此:
uniform interface=uniform semantics
。
59. 失敗模式:容器能力被錯誤估計
若:
CapabilityModel(Γi)
不準確,調度器可能持續選錯容器。
因此容器模型本身需要驗證與更新。
60. 失敗模式:遷移成本被忽略
從:
Γa
切換至:
Γb
可能需要:
MigrationCost
。
因此真正效用應包含:
Cmigration
。
61. 失敗模式:跨載體結果語義不一致
即使兩個容器都輸出:
x=0.9
也不代表:
MeaningΓa(0.9)=MeaningΓb(0.9)
。
因此:
Decodei
必須保留語義。
62. 失敗模式:驗證器與執行器同源錯誤
若 Verifier 與 Executor 共享相同錯誤來源,可能形成假驗證。
因此需要考慮:
ErrorCorrelation
。
63. 失敗模式:最便宜路線導致長期能力退化
若調度器只最小化:
Cost
可能長期偏好低品質容器。
因此:
U
必須同時包含品質、風險與學習價值。
64. 能力增長的雙軸
Paper 05 建立:
method growth
。
Paper 06 新增:
substrate growth
。
因此:
Capability Growth=Algorithmic Expansion+Substrate Expansion
。
65. 對智能架構的更高階抽象
現在整體系統可以寫成:
S=(G,Z,M,A,W,Γ,I,U,R,T)
。
其中:
G
是世界圖;
Z
是 canonical 符號;
M
是記憶;
A
是算法庫;
W
是方法鏈;
Γ
是計算容器集合;
I
是輸入;
U
是更新;
R
是 rendering;
T
是更新張力。
66. 完整執行循環
任務:
Q
進入後:
Q→Understand→Decompose→Retrieve→Select(A,Γ)→Encode→Execute→Decode→Verify→Commit→Learn
。
因此:
task solving=semantic planning+method selection+substrate selection+verified execution
。
67. 下一步:為什麼這套東西越來越眼熟?
到目前為止,我們已從第一原理逐步加入:
world model
memory
tools
algorithms
workflow
language interface
heterogeneous compute
。
下一個問題不再只是工程問題。
而是:
如果從不同第一原理出發,最後仍然長出相似的能力模組,這代表什麼?
下一篇將正式進入:
blind derivation of AI architecture
並比較不同思想起點是否會收斂到相似工程結構。
68. 結論
本文將計算從單一預設機器中抽離,建立:
Γi
作為載體中立的計算容器。
其核心不是宣稱所有載體都一樣,而是將:
algorithm
與:
substrate
正式分離。
因此:
Algorithm=Implementation
Implementation=Φ(A,Γ)
。
這使系統能夠從:
A∗=argAmaxU(A∣Q)
升級為:
(A∗,Γ∗)=argA,ΓmaxU(A,Γ∣Q)
。
更重要的是,載體本身也成為可被系統學習、驗證、比較、淘汰與新增的能力節點。
因此:
intelligence architecture=computational substrate
並且:
knowledge location=execution location
decision location=execution location
。
當這些分離成立後,一個自適應智能系統就不再被某一種底層計算機世界觀所限制。
它只需要知道:
What state must be transformed?
Which method can transform it?
Which substrate can realize that method?
How should the result be decoded and verified?
。
這使馮・諾依曼式計算、量子計算、生物計算、專用加速器或其他未來計算形式,都可以在上層被統一視為:
Γi
的不同實例。
這一步完成後,整個系列的前六篇已經建立了一個相當完整的第一原理智能架構。
而從下一篇開始,我們要做的事情將反過來變成:
我們真的做出了一個不同的東西嗎?
。
附錄 A:最小計算容器
Γi=(idi,Li,Ii,Oi,Si,Ri,Ci,Ei,Versioni,Freshnessi,Availabilityi)
。
附錄 B:最小算法—容器效用函數
U(Ai,Γj∣Q)=αMatch(Ai,Q)+βReliability(Ai,Γj)+γPrecision(Ai,Γj)−δLatency(Ai,Γj)−ϵCost(Ai,Γj)−ζEnergy(Ai,Γj)−ηRisk(Ai,Γj,Q)
。
選擇:
(A∗,Γ∗)=argi,jmaxU(Ai,Γj∣Q)
。
附錄 C:最小執行映射
ZQEncodeΓiIΓiΓiOΓiDecodeΓiZRVerifyZRvalidated
。
附錄 D:異質方法鏈
Wk=[(A1,Γ1),(A2,Γ2),…,(An,Γn)]
。
完整流程:
Q→(A1,Γ1)→Z1→(A2,Γ2)→Z2→⋯→(An,Γn)→Verify→Result
。
這是後續架構收斂比較所使用的最小異質計算工作流表示。