
超越 Transformer 的新嘗試:解析 SupraElegans-500K 模型
當各界焦點集中在規模龐大的語言模型時,偶爾會出現一些實驗性質的小型專案,試圖跳脫主流架構。SupraElegans-500K 正是其中之一。它捨棄了常見的 Transformer 架構,改以秀麗隱桿線蟲(C. elegans)的神經系統為靈感,建立了一種基於**稀疏遞歸神經圖(Sparse Recurrent Neural Graph)**的語言模型,旨在測試極小參數規模下的建模能力。
跳脫框架的設計
SupraElegans-500K 的架構去除了注意力機制(Attention Mechanism)、位置編碼(Positional Encoding),以及傳統模型常見的 KV 快取(KV Cache)。取而代之的是,它利用神經元的**膜電位(membrane potential)**來傳遞與保存上下文。
這運作起來像是一個不斷跳動的遞歸神經網路。當 Token 輸入時,模型不會查閱過去所有訊息的權重,而是更新神經元的膜電位。這種設計模擬了生物神經系統中的稀疏連結、興奮與抑制訊號,以及持續的遞歸狀態。雖然這並非真實的生物模擬,不具備生物等效性,但這種對極簡架構的追求,為運算效率提供了新的思路。
運作邏輯
處理 Token 時,模型會將其投影至感覺神經元(Sensory Neurons),經過幾次傳播步驟後(預設為 3 次微步),再從輸出神經元(Output Neurons)轉化為詞彙機率(Vocabulary Logits)。其技術細節如下:
- 神經元群體: 模型包含三個神經元群體:感覺神經元(Sensory)、中間/關聯神經元(Interneuron/Association)和輸出神經元(Output),這些群體是固定神經元池中的連續索引區間。
- 稀疏連結: 取代大型稠密權重矩陣,模型使用稀疏、有向且具正負號的邊緣清單(Sparse, Directed, Signed Edge List),將每個神經元的輸入輸出連結(每個神經元的入度/出度,Fan-in/out)限制在 10 到 20 個之間。模型運作時完全不需要實例化稠密矩陣,其資訊傳播是透過對邊緣進行 Scatter-Add(散佈相加) 來實現的。
- 膜電位動態與狀態更新: 神經元的動態在每個傳播微步中依以下公式更新:
$$v[t+1] = \text{clamp}(\text{leak}_i \times v[t] + \text{incoming}[t] + \text{bias}_i, -6, 6)$$
$$a[t+1] = \text{tanh}(v[t+1] - \text{threshold}_i)$$
其中
leak、bias與threshold是每個神經元獨立學習的參數。神經元狀態會隨每個 Token 更新,且在 Token 間保持連續(不會在 Token 之間被重設),藉此維持長期的序列上下文記憶。 - 數值穩定性(關鍵設計): 為了避免訓練過程中模型崩潰與數值不穩定,開發者引入了兩項關鍵設計:
- 將輸入訊號(incoming)除以平均連結數的平方根($1/\sqrt{\text{average fan-in}}$),以控制不同入度神經元間的變異度。
- 將膜電位嚴格控制(clamping)在 -6 到 6 之間。 在訓練過程中,若缺少這兩者之一,模型在當前的圖規模下會導致訓練不穩定、損失值(Loss)激增且無法收斂。
基準測試結果 (Benchmarks)
儘管模型規模極小(約 500,000 個參數),開發者仍在一些基準測試上測試了其表現:
| 基準測試 (Benchmark Name) | 得分 (%) |
|---|---|
| hellaswag | 24.278% |
| arc_easy | 21.000% |
| arc_challenge | 22.000% |
| piqa | 49.728% |
| winogrande | 52.000% |
| arithmark3 | 22.000% |
(數據來源於 Hugging Face Repository)
常見問題
- 它能取代大型模型嗎? 不能。這是第一個從頭訓練(from-scratch)的實驗性非 Transformer 架構版本,目標是驗證架構可行性,而非在生成品質上與 Transformer 比拼。目前該模型尚未與相同參數規模的 Transformer 基準模型進行嚴格的對照測試。
- 為什麼沒有 KV 快取? 因為上下文記憶是直接儲存在神經元的遞歸狀態(膜電位 $v$ 與活化值 $a$)中。模型生成是自回歸(Autoregressive)的,除了目前的狀態張量之外,沒有其他快取需要維護。
- 本地執行與載入環境要求?(重要技術修正)
- 需安裝
torch與transformers。 - 必須將
modeling_supraelegans.py放在與執行代碼相同的資料夾中,否則會無法解析supraelegans的自訂模型類別。 - 模型與配置註冊:若不依賴遠端代碼載入,必須在本地代碼中先手動將自訂配置與模型註冊至
AutoConfig與AutoModelForCausalLM中(或在載入時啟用trust_remote_code=True)。 - Tokenizer 載入修正:載入 Tokenizer 時,建議直接使用
PreTrainedTokenizerFast類別,而非標準的AutoTokenizer。因為在不同版本的transformers庫中,其tokenizer_config.json內含的tokenizer_class值(如TokenizersBackend)可能無法被舊版安裝識別,從而導致AutoTokenizer拋出ValueError。直接載入具體的 Fast-Tokenizer 類別可以避免此問題。
- 需安裝
觀點與狀態管理
SupraElegans-500K 是一個極佳的開發者遊樂場。由於上下文保存在遞歸狀態中,使用者可以完全跳過 KV 快取,手動驅動模型:
- 手動狀態管理:
使用者可透過
model.init_state(batch_size=1)初始化一個乾淨的序列狀態,並透過model.nervous_system.step_token逐個 Token 驅動模型,直接觀察或更新狀態。(註:model.reset_state()雖存在,但實際上是 no-op)。
當然,目前別期待它能生成複雜的長篇小說或準確回答事實問題。它缺乏安全微調(Safety Tuning)與指令微調(Instruction Tuning),輸出應視為未經修飾的原始語言模型補全。這是一場關於神經科學與語言模型結合的實驗,展示了拋開龐大矩陣運算與注意力機制後,模型仍能保留的邏輯與上下文記憶雛形。
對於想了解 Hugging Face 生態系創新架構的開發者而言,這是一個觀察「極簡主義 AI」的窗口。它提醒我們,通往人工智慧的路徑不只有 Transformer,還有許多小巧、稀疏且具生物啟發性的方向值得探索。



