2026年10月27日
亞當與夏娃:透過微調決策模型,由大型語言模型控制 700 條肌肉
摘要
亞當和夏娃是兩個模擬人類,每人有 700 塊肌肉,共同生活在舊金山藝術宮。語言模型運行著他們身上所有語言模型能運行的層次:如何度過一天、如何行走、如何保持平衡、每隻腳落在何處以及每塊肌肉拉動的力度。其中三個模型是我們自己的:144M 參數的微調模型,每個模型在 CPU 上訓練 4 到 11 分鐘,在它們從未見過的輸入上,與其教師的相關性達到 0.958 到 0.9998。在沒有任何輔助的情況下,兩個身體都能承受 80 N 的推力,並在跌倒之間行走數十步。這是一個實驗,不是產品。我們報告了哪些有效、哪些無效以及相關數據。
1 實驗
科技發展如此之快,以至於沒有人知道模擬的下一步會走向何方。一年前,語言模型可以進行對話。今天,它可以規劃一周、使用工具並運行數小時。我們不知道界線在哪裡,所以我們試圖找到它。
問題很簡單:語言模型能深入到什麼程度?LifeSim 的人物已經在使用語言模型思考。他們決定做什麼、和誰說話以及去哪裡。在這之下,每個遊戲都使用動畫。一個會走路的身體就是一個播放錄音的身體。
我們用一個身體取代了錄音。MS-Human-700 [1] 是一個開放的人體肌肉骨骼系統模型,擁有 700 塊肌肉,在 MuJoCo [2] 中模擬。我們將其中兩個放在一個場景中,地板由真實地圖製成,並將所有我們能決定的決策交給語言模型。我們不知道它是否能站立。它做到了。
2 層次
我們複製了身體和心靈的層次,並將每個可以成為語言模型的層次交給一個(表 1)。只有脊髓是程式碼:它將「稍微向後傾斜」或「將腳放在這裡」轉化為 700 次肌肉拉動。
| 層次 | 在一個人身上 | 模型 | 頻率 |
|---|---|---|---|
| 生活 | 如何度過一天 | Gemma 3 4B [3],由我們使用 GRPO [4] 在 LifeSim Week 上微調 | 每次活動一次,約 4 秒 |
| 運動皮層 | 「走到那裡,穩住軀幹」 | Gemini 3.1 Flash-Lite | 大約每秒一次,約 1 秒 |
| 腦幹 | 保持直立 | LifeSim-Brainstem-0.1 (我們的) | 每個刻度 2 個問題,站立時 |
| 步態決策 | 下一隻腳落在何處 | LifeSim-Step-0.3 (我們的) | 每個刻度 2 個問題,行走時 |
| 脊髓 | 固定線路 | 程式碼 | 每個刻度 |
| 肌肉 | 收縮 | LifeSim-Muscle-0.1 (我們的) | 每個刻度每人 700 個問題 |
每個層次都用文字說話。腦幹讀取「重量在腳掌中間前方 3 公分處,以 4 公分/秒的速度向前移動」,並回答如何傾斜。每塊肌肉讀取其身體區域來自運動皮層的指令和來自脊髓的衝動,並回答收縮的力度。
亞當和夏娃也彼此了解。每個生命模型都會讀取伴侶的位置和他們正在做的事情。當兩人相遇時,Gemini 會為他們每個人寫一行字,他們可以就一個計畫達成一致:「晚點想去 Kibatsu 吃晚餐嗎?」(圖 3)。

3 三個小型模型
最低的三個層次每 10 毫秒回答多達 1,400 個問題,因此它們需要一個小型模型。我們使用了 Julia 1,一個基於 ModernBERT [5] 編碼器(22 層,隱藏層大小 384)的 144M 參數模型,帶有一個決策頭,並微調了三個副本。每個副本都從程式碼編寫的教師那裡學習:程式碼腦幹、程式碼步態規則和肌肉公式。
| 模型 | 在 CPU 上訓練 | 基礎 Julia 1 | 微調 |
|---|---|---|---|
| LifeSim-Brainstem-0.1 | 216 s | r = −0.37 | r = 0.9997 |
| LifeSim-Step-0.3 | 308 s | r = 0.24 | r = 0.9998 |
| LifeSim-Muscle-0.1 | 642 s | r = 0.12 | r = 0.958 |
在未使用的輸入上具有高相關性不足以實現行走。步態模型最初只從程式碼規則遇到的情況中學習,一旦控制,它會引導身體進入規則從未見過的情況。我們讓它行走,記錄它遇到的情況,詢問規則它會怎麼做,然後再次訓練 (DAgger [6])。行走時間從教師的 83% 上升到 92%。
微調是確定性的,所以相同的問題總是得到相同的答案。我們保留每個答案,只向模型詢問它從未見過的問題。幾秒鐘後,大多數刻度根本不需要模型呼叫。
4 結果
4.1 站立
每個層次都使用語言模型,兩個身體都能在沒有輔助的情況下站立,並從前方和後方 80 N 的推力中恢復。在 20 次推動站立中,腦幹模型站立的時間與其教師一樣長:12.4 秒對 12.0 秒。
4.2 行走
步行器是基於肌肉的 SIMBICON [7]:一個步態計時器、一個擺動腿,以及根據重量位置和速度進行的腳部放置。在沒有輔助的情況下,身體以約 0.25 米/秒的速度行走,朝著目標轉向。在實時模擬中,中位數步行在跌倒之間持續 18 步,最長為 133 步 (圖 2)。

在 12 秒的行走中,步態模型平均保持身體直立 8.6 秒,而教導它的程式碼規則為 9.4 秒(24 次行走)。站立可以容忍小錯誤。行走則不行。
4.3 速度
所有內容都在一台 CPU 機器上運行,沒有 GPU。模擬等待模型(「慢時間」),因為平衡需要每 10 毫秒做出一次決策。兩個身體與每個模型一起運行時為實際時間的 0.25 到 0.5 倍,而在兩者都繪製時為 0.12 到 0.18 倍。
4.4 在 LifeSim 中
同樣的兩個人出現在 LifeSim 地圖上,帶著他們的需求、計畫以及他們彼此說的話 (圖 3)。

5 我們學到了什麼
- 文字必須包含數字。 「稍微向前傾斜」對於平衡來說太模糊了:身體在 3 到 6 秒內跌倒。「重量在腳掌中間前方 3 公分處,以 4 公分/秒的速度向前移動」才能保持直立。
- 大腦的文字設定了肌肉的解析度。 在「站立不動」下,肌肉模型以約 15% 的步長回答。在「精細控制下保持穩定」下,步長約為 10%,只有這樣身體才能承受來自前方的推力。
- 肌肉像運動神經元一樣工作。 肌肉模型以粗略的步長回答。在相鄰步長之間來回切換,就像發射頻率一樣,可以使行走時間延長約 50%。
- 走路是混沌的。 增益值只要改變百萬分之一,走路持續時間就會改變三分之一。單次實驗不足以證明什麼,因此這裡的每個走路數據都是 12 次或更多次走路的平均值。
6 尚未實現的功能
- 停止。 正在走路的身體若要轉為站立平衡,會在不到一秒內跌倒:20 次嘗試中沒有一次能站穩。抵達時,身體會融入站立姿勢。這是一個動畫,我們將其標記為動畫。
- 站起來。 跌倒後,身體在一秒內恢復站立。這也是一個動畫。
- 其他速度。 只有調整過的步行速度才有效。
- 更多調整。 三種搜尋方法(演化、CMA-ES 和增強隨機搜尋)都無法改進步行者。更穩固的步行者需要全身控制器,或是在 GPU 上透過強化學習訓練的策略。
7 我們為何嘗試這個
我們並非旨在打造最好的步行者。強化學習能創造出更好的。我們旨在探究一種模型能否從「今晚做什麼」延伸到「哪塊肌肉如何用力」。它可以,透過中間幾行程式碼的幫助。小型開放模型,在 CPU 上幾分鐘內即可微調,可以承擔大部分層級。
我們還不知道這有什麼用。也許是 LifeSim 中的人們因為決定而移動,而不是因為動畫播放。也許什麼都不是。科技發展太快,無法斷言,這就是現在嘗試這類事情並分享我們發現的原因。
8 未來工作
最有希望的結果是文字會改變身體:「用精細控制保持穩定」賦予肌肉比「站立不動」更精細的分辨率,只有這樣身體才能承受來自前方的推力。下一個實驗是展示同一個身體對不同文字的反應,例如「像你累了一樣走路」、「準備好被推」或「放鬆」。程式碼控制器無法接受這樣的指令。語言模型可以。
參考文獻
- Zuo, C., He, K., Shao, J., Sui, Y. 具身智能的自我模型:使用分層低維表示對全身人體肌肉骨骼系統和運動控制進行建模。ICRA,2024。
- Todorov, E., Erez, T., Tassa, Y. MuJoCo:用於基於模型控制的物理引擎。IROS,2012。
- Gemma Team. Gemma 3 技術報告。arXiv:2503.19786,2025。
- Shao, Z., Wang, P., Zhu, Q., Xu, R., Song, J., et al. DeepSeekMath:突破開放語言模型中數學推理的極限。arXiv:2402.03300,2024。
- Warner, B., Chaffin, A., Clavié, B., Weller, O., Hallström, O., et al. 更智能、更好、更快、更長:用於快速、記憶高效和長上下文微調和推斷的現代雙向編碼器。arXiv:2412.13663,2024。
- Ross, S., Gordon, G. J., Bagnell, J. A. 模仿學習和結構化預測到無後悔線上學習的歸約。AISTATS,2011。
- Yin, K., Loken, K., van de Panne, M. SIMBICON: Simple Biped Locomotion Control. ACM SIGGRAPH, 2007.
引用
請引用此作品為:
@misc{lifesim2026adamandeve,
title = {Adam & Eve: 700 LLM-Controlled Muscles via Fine-Tuned Decision Models},
author = {{Cris Lenta}},
year = {2026},
month = {oct},
url = {https://lifesim.com/research/adam-and-eve}
}