AI 機房備援電源(BBU)· LFP+LIC 混合儲能 × 數位孿生

峰值與擺盪, 交給電容。

AI 機櫃的功率持續擺盪;市電一斷,每台備援電池得瞬間扛約 6C 的峰值。HyperBuffer 讓 LIC 電容先吸收峰值與瞬態、LFP 電池只負責平穩輸出,再用數位孿生預測每一台的剩餘壽命。

2.66%
斷電 60 秒,整櫃放電深度
8 台 BBU 並聯 · 模擬
43/43
交叉驗證全數通過
$ make verify
亞軍
第 23 屆 ATCC 全國決賽
2026.07

2.66 載入時讀自 rack_60s_graceful.json(stats.dod_pct)· 43 為 XCHECK 斷言數(scripts/check_whitepaper_numbers.py 輸出,未另存 JSON)

往下捲,把它拆開來看

01痛點

擺盪與峰值,不該全壓在電池上。

AI 機房的備援電源同時卡在三個問題上,分屬電化學、電力電子與機器學習,整合成本高。

  1. 01

    秒級功率擺盪+斷電峰值

    AI 訓練的機櫃功率在 0.2–3 Hz 擺盪(Choukse et al. 2025, arXiv 2508.14318 §III-A);市電一斷,每台 BBU 瞬間要扛約 6C 的峰值。ORv3 架構下 BBU 平常不放電,混合拓樸在市電正常時參與平滑屬下一步,非本作品已驗證成果。

  2. 02

    48 V → ±400 V HVDC 換代

    機房配電正在換代,2027 年後既有 BBU 需要整批汰換。

  3. 03

    千台級機隊維運

    動輒上千台 BBU,卻缺少單台等級的剩餘壽命(RUL)預測。

同一段負載,兩種 BBU。細線標出每次負載上跳的瞬間:純電池的電壓在同一刻往下掉。滑過圖表可讀任一時刻的數值。
負載功率 P_LOAD純電池 BBUHyperBuffer(LFP+LIC)
電芯電壓穩態峰對峰61.6 → 17.5 mV
電池端功率標準差 · 約 5.7×,10 秒全窗示意值24.0 → 4.2 kW
負載波形 · 自訂示意波形56 ↔ 104 kW · 每 100 ms 切換

這個倍率怎麼讀。約 5.7× 是 0–10 秒全窗、含濾波器啟動暫態算出的示意值,不是上界,也不是壽命倍率。看頻率響應比較準:τ = 0.5 s 的截止頻率是 0.318 Hz,1 Hz 的擺盪 LFP 仍承擔約三成;在 0.2–0.25 Hz(Choukse 2025 主頻帶的低端)幾乎不分流,LFP 仍扛 96–99% 的峰對峰。見自我稽核 A1

資料:transient_lfp_only / _hybrid.json(PyBaMM DFN;stats.v_cell_pp_stable 穩態窗 4–6 s、p_lfp_std_kw)· 全部為模擬 · 計入 DC-DC 電流迴路(頻寬假設 26–42 Hz)後,功率標準差約降 3.1–3.9×;原「電壓峰對峰 2.4–3.2×」重現不出,已撤回 · 稽核:docs/audit/A1-frequency.md、A2-power-electronics.md

02即時模擬 · transient_hybrid.json

混合儲能即時模擬

  1. 01 / 04

    負載每 100 ms
    跳一次。

    AI 機櫃的功率在 56 與 104 kW 之間來回切換,每 100 ms 一次。

  2. 02 / 04

    電容先
    接住尖峰。

    LIC 瞬間吐出最高 47.5 kW;負載一回落,就由電池慢慢補回。

  3. 03 / 04

    電池只管
    平穩輸出。

    LFP 只看到濾波後的平均功率,平穩收斂在 80 kW 附近。

  4. 04 / 04

    τ = 0.5 s,
    切開高低頻。

    一階互補濾波在 1 kHz 控制迴圈中分配功率。畫面是 PyBaMM 模擬的真實資料(慢動作)。

P_LOAD 負載—kW
P_LIC 電容—kW—
P_LFP 電池—kWV_cell — V
等角視圖:左側 LFP 電池(剖面可見電極與電量)、中間 LIC 電容組、右側 AI 機櫃,三者以底板上的匯流排相連。負載尖峰時 LIC 亮綠並有能量粒子流向機櫃;LFP 平穩輸出。
00.000 s
PyBaMM 26.4.1 DFN · 10 s/800 點 · 慢動作 · 全部為模擬,非實機量測

03分頻解法

一個 τ,決定誰扛什麼。

負載功率先經過一階低通濾波:低頻交給 LFP,剩下的高頻由 LIC 吸收。拖動 τ,看兩者分到的功率怎麼變。

τ0.50 s

採用值 · 與 PyBaMM 模擬同一控制律

截止頻率 fc = 1/(2πτ)
0.32 Hz
LFP 穩態漣波(峰對峰)
4.7 kW
LIC 峰值功率
47.1 kW
LIC 能量擺幅
13.5 kJ

P_LFP[n] = P_LFP[n−1] + Δt/(τ+Δt)·(P_LOAD[n] − P_LFP[n−1])
P_LIC[n] = P_LOAD[n] − P_LFP[n]

P_LOADP_LFP(前端計算)P_LIC(前端計算)PyBaMM P_LFP(τ = 0.5 s)

—

資料:transient_hybrid.json(series.p_total_kw、series.p_lfp_kw)· 漣波=t ≥ 5 s 每 200 ms 週期的峰對峰平均;LIC 峰值與能量擺幅取全程 10 s · τ ≠ 0.5 s 的曲線為前端以同一控制律即時計算的示意,不是 PyBaMM 模擬結果

04斷電 60 秒 · 全部為模擬

斷電 60 秒,
八台一起撐住。

8 台 BBU 並聯,每台 2.5 kWh。負載先衝到 120 kW,1.5 秒內斜降到 30 kW 連續輸出。切到 N−1,看 t = 15 s 拔掉一台後剩下 7 台怎麼分擔。

P_RACK 負載
—kW
峰值保持
P_LIC 電容
—kW
待命
每台 C-rate
—C
8 台運作
電芯溫度
—°C
警戒 50°C
等角視圖:一座 BBU 機櫃,內有 8 台 BBU 抽屜,頂部是 LIC 電容模組。播放時各台負載條隨資料變化;N−1 情境中一台在 15 秒時離線。
    00.0 / 60 s
    2.66%整櫃放電深度(模擬)
    1912.5 kJ/72000 kJ
    37.6×能量餘量
    25.1°C電芯最高溫
    警戒 50°C
    1.71CN−1 後單台連續
    +14.3%,上限 2.5C

    時間軸 0–3 s 放大 · 每台放電深度為前端對 P_LFP 積分 · 全部為模擬。資料:rack_60s_graceful.json(stats.dod_pct、energy_headroom_ratio、t_cell_max_c、stages)· rack_n_minus_1.json(stats.c_rate_continuous_post_fault、c_rate_post_increase_pct、pass_criteria;fault_injection.fault_time_s)· 示意中離線的是 BBU-8,資料未指定哪一台

    05AI 壽命預測

    預測壽命,也說出多不確定。

    TCN 從每顆電芯的循環特徵預測剩餘壽命,再用 split conformal 校準 90% 預測區間。準的地方和不準的地方,我們都放上來。

    訓練 114+校準 37 顆測試 37 顆其中合成 BBU 工況預測 = 實際

    資料:model_validation.json(predicted_vs_actual 188 筆;metrics;uncertainty;model.n_parameters)· 對數座標,單位 cycles

    自我稽核 · 2026-10-09 · 這張圖的數字要這樣讀 18.15% 是單一切分、單一種子,而且 early-stop 看了測試集。
    TCN · 無洩漏 10 種子
    28.2% 中位數
    bagged-GBT · 同切分
    14.4% · 10/10 勝
    conformal 90% · 換批次
    39.8% 覆蓋

    改用獨立驗證集做 early-stop、跑 10 個種子:TCN 中位數 28.2%,其中 3 個種子超過 60%;同一切分下 bagged-GBT 為 14.4 ± 1.9%,每個種子都比 TCN 好。conformal 90% 區間只在同分布成立(同分布 91.6%,整批換成未見過的 Severson b3 只剩 39.8%)。精度以 GBT 為準;TCN 留著,只因它能完整靜態 INT8 量化,定位為部署管線示範。

    scripts/audit/ml_e1_tcn_multiseed.py → data/processed/audit/ml_e1_tcn_multiseed.json · docs/audit/A3-ml-rigor.md
    MODELTCN · 31,281 個參數4 層膨脹卷積 · 輸入 99 × 7 特徵
    TEST · n = 37MAPE 18.15% · R² 0.892random 60/20/20 split · 單一種子 seed 42 · FP32 · 稽核見散點圖下方
    90% 預測區間 · 中位寬(cycles)
    MC-Dropout 原始2,697
    Split conformal1,359
    測試集覆蓋率 100%(37 顆,同分布)
    LATENCYp99 0.098 ms筆電 CPU · ONNX Runtime · 邊緣 NPU 尚未實測
    V5 · 公開揭露 · bagged-GBT 基線基線模型換到 BBU 工況,誤差從 9.04% 升到 80.20%。

    V5 測的是以 Severson 實驗室工況訓練的 bagged-GBT 基線,不是上方的 TCN:直接套到 BBU 工況時誤差大幅上升,量化了工況落差。這是目前最大的已知限制。

    severson_transfer_mape.json:5、:31-32

    06系統架構

    五層系統,一條驗證鏈貫穿。

    從電化學模型到機隊儀表板,每一層的輸出都是下一層的輸入,也都有對應的驗證關卡,可重跑驗證。還沒有關卡的層,我們直接標成概念設計或模擬資料。

    SYSTEM MAP · 點擊任一層或驗證節點看細節
    • 已實作
    • 模擬資料
    • 概念設計
    • 資料流
      VERIFY CHAIN每一層對應的驗證關卡 ● 通過 ● 公開揭露
      $ make verify 0/43PASS

      所有數字取自專案資料檔與作品說明書;邊緣推論為概念設計,機隊資料為模擬資料。

      07驗證與限制

      能重跑的,才算數。

      make verify 一條指令重跑 V1–V5、V8 與 XCHECK(V1 需另下載約 8.3 GB 資料集),V7 為獨立腳本。拿到 repo 的人都能自己重跑,也看得到我們還沒做到的地方。

        $ make verify
        0/43PASS

        交叉驗證全數通過全驗 6/6 略過 V1 · 55.2 s(verify_all_report.json)· XCHECK 43/43(README.md:70)

        誠實的限制

        1. 沒有實體硬體原型。8S 實驗機已於 2026-05-27 退貨,現階段為純數位孿生;實機波形量測、電力電子閉環與 UL 9540/9540A 皆尚未完成。README.md:14 · 說明書:82、:120
        2. 韌體只是骨架。STM32 韌體為 skeleton,控制律以 Python 模擬器為準。firmware/stm32_hybrid_control/README.md:14
        3. 機隊資料是模擬的。1000 台設備與站點皆為合成資料;儀表板設全頁聲明,機隊資料面板帶模擬浮水印。fleet_devices.json → disclaimer
        4. 跨工況誤差大。V5(bagged-GBT 基線):MAPE 從 9.04% 升到 80.20%,模型尚不能直接套用到 BBU 現場資料。severson_transfer_mape.json:5、:31-32
        5. 邊緣推論尚未實測。STM32N6 NPU 為概念設計;目前唯一的實測延遲來自筆電 CPU。model_validation.json → latency · README.md:390

        08自我稽核 · 2026-10-09

        口試前,我用同一套驗證鏈稽核了自己。

        作品說明書已經繳交,內容不再更動。繳交後,我把競賽期的頭條數字放回同一套驗證鏈:重跑、換協定、找反例。下面五項是需要更正的說法,每項列出原本怎麼說、稽核量到什麼、現在怎麼說。全部是模擬或公開資料集上的重算,前提假設寫在每項底下。

        1. A1 · 頻域

          5.7× 的定義

          定義更正

          5.7× 上界fc 0.318 Hz

          原說法

          LFP 功率波動降 5.7×,寫成「理想無損耗上界」;程式註解把 ±30%、每 100 ms 切換的示範波形歸給 Choukse 2025。

          → 稽核結果

          5.7× 是 0–10 秒全窗的標準差比,窗內含濾波器啟動暫態;同一波形的穩態是 17.2×,乾淨方波長窗穩態 17.4×(解析解 17.36×),所以它不是上界。Choukse 2025 沒有 ±30% 或 100 ms 擺盪,主頻帶是 0.2–3 Hz;在 0.2–0.25 Hz,τ = 0.5 s 時 LFP 仍承擔 96–99% 的峰對峰。

          → 現在怎麼說

          5.7× 只當「10 秒全窗示意值」,定義有瑕疵,改用頻率響應說明:τ = 0.5 s 的截止頻率是 0.318 Hz。要涵蓋 0.2 Hz,τ 得拉到約 5 s,LFP 承擔降到約 25%,LIC 能量擺幅約 103 kJ。

          前提 Choukse 式波形為假設:120 kW 機櫃、通訊階段 30% TDP、50% duty 方波;LIC 能量未扣 ESR 損耗與 UVLOscripts/audit/a1_freq_split_audit.py · a1_dfn_cases.py

        2. A2 · 電力電子

          計入 DC-DC 的倍率

          半撤回

          2.4–3.9×3.1–3.9×只剩功率

          原說法

          計入 DC-DC 後典型約 2.4–3.9×,其中電壓峰對峰 2.4–3.2×。這個區間是賽後審查的估計,沒有對應的腳本。

          → 稽核結果

          補寫雙向 DC-DC 平均值模型後,功率標準差降 3.1× 與 3.9× 分別需要約 26 Hz 與 42 Hz 的電流迴路頻寬。電壓峰對峰在迴路頻寬 ≤ 1 kHz 時全部小於 1(0.55–0.57),比沒有 LIC 還差,重現不出來。

          → 現在怎麼說

          只講功率倍率 3.1–3.9×,並附上迴路頻寬 26–42 Hz 的假設;電壓那一半撤回。高頻也要看迴路:200 Hz 的波形需要約 340 Hz 頻寬才有 1.5×。

          前提 平均值模型:一階電流迴路、50 µs 控制延遲、η 0.95、無 bus 大電容、理想方波,皆為假設scripts/audit/a2_dcdc_average_model.py

        3. A2 · 規格邊界

          電容超出規格

          超規 · 重新設計

          51.3 V13S3P建議 39 顆 LIC

          原說法

          LIC 參數錨定 Eaton XLR-48R6167-R,模擬把滿電電壓設在 51.3 V。該型號實為 EDLC,賽後已揭露。

          → 稽核結果

          模組端電壓最高 51.81 V,超過規格上限 48.6 V,三個情境都超。5 Hz 示範波形下每模組 RMS 電流 233 A,是連續額定 86 A 的 2.7 倍;峰值 463–877 A 則在 1 秒峰值 2200 A 以內。

          → 現在怎麼說

          改用 3300 F 級 LIC 單體重算:建議 13 串 3 並、共 39 顆(最低可行 36 顆;建議值另要求電壓參考可行區間 ≥ 0.2 V/cell),中點約 3.5 V/cell;DC-DC 限在 60 kW 時建議 14 串 2 並、28 顆(最低 26 顆)。綁住尺寸的是單體峰值電流與 ESR 壓降,不是能量。

          前提 LIC 單體參數取自 2012 年原型的暫定值,不是量產規格書;Eaton 的 86 A/2200 A 只取得官網摘錄scripts/audit/a2_spec_bounds_lic_sizing.py

        4. A3 · ML 方法

          Severson 頭條數字

          頭條下修

          8.38%12.69%巢狀選擇

          原說法

          Severson 資料集 MAPE 8.38%,「優於」論文的 9.1%。

          → 稽核結果

          8.38% 可以逐位重現,但它是 24 組「過濾 × 模型」在測試集上比出來的最小值,並用了 cycle_life ≥ 400 的過濾。改成巢狀選擇(設定只在訓練資料內交叉驗證挑選)後,論文式過濾(≥ 200)的中位數是 12.69%;≥ 400 過濾是 9.47%,但測試母體已排除最短命的電芯。

          → 現在怎麼說

          在論文的過濾條件下,我們沒有超越論文。頭條改引巢狀選擇的 12.69%(10 種子中位數)。

          前提 隨機 70/30 切分、10 種子;論文的固定切分沒有重現,兩邊不能直接比優劣scripts/audit/ml_e3_severson_nested.py

        5. A3 · ML 方法

          TCN 壽命模型

          模型降級

          18.15%28.2%GBT 14.4%

          原說法

          TCN 測試 MAPE 18.15%,搭配 conformal 校準的 90% 預測區間。

          → 稽核結果

          18.15% 是單一切分、單一種子,early-stop 也看了測試集。改用獨立驗證集、跑 10 個種子:中位數 28.2%,3 個種子超過 60%;同切分 bagged-GBT 為 14.4 ± 1.9%,10 個種子全勝。conformal 在同分布覆蓋 91.6%,整批換成 Severson b3 只剩 39.8%。

          → 現在怎麼說

          精度以 GBT 為準。TCN 保留的理由只有部署格式:能完整靜態 INT8 量化,定位為部署管線示範。conformal 區間只宣稱在同分布成立,新批次要用現場資料重新校準。

          前提 每個種子測試 37 顆;其中 BBU 電芯是合成資料,標籤與特徵出自同一個生成器,不代表真實 BBU 精度scripts/audit/ml_e1_tcn_multiseed.py

        另有 A4:元件級公開價格與競品公開規格對照,只算元件價格量級、不是量產報價,只放在文件裡。四組稽核的腳本與輸出 JSON、圖都在 repo,每組附重跑指令;稽核沒有改動任何既有模擬數值,上方各段的模擬數字維持原樣,改的是說法。

        09深入展示

        想看更多,打開孿生。

        以下連結會開新視窗。儀表板中的所有設備資料皆為模擬。