打開鏈接點亮社區Star,照亮技術的前進之路。每一個點贊,都是社區技術大佬前進的動力

Github 地址: https://github.com/secretflow/secretflow
關於作者:大家好!我是 2025隱語杯數據挑戰賽"密態大模型推理的隱私保護”賽道的參賽選手祁宏,來自香港科技大學(廣州),我在研究生階段的研究方向是大模型,指導老師是唐靖教授。
非常榮幸能夠在本次賽題中獲得冠軍,這不僅是對我過去努力的認可,更是一次難得的學習與成長機會。同時,我也十分高興能與大家分享我在參賽過程中的經驗、思考與收穫。如有不足之處,還請各位多多指正與交流,共同進步!
本文摘要
本項目旨在應對“隱語杯”密態大模型推理挑戰賽的核心命題:如何在不可信的雲環境中,構建兼具極致性能與卓越安全的大語言模型(LLM)推理服務。
針對賽題在初賽和決賽階段對性能與安全綜合能力的雙重考量,我採取了“先優化、後加固”的兩階段研發策略,成功打造了一個在Intel TDX機密計算環境中運行的高性能、強安全Qwen3-1.7b推理方案。
性能優化階段,通過系統性地引入llama.cpp高性能C++引擎、應用Q4\_K\_M模型量化、並充分利用硬件AVX512指令集與多核並行計算,我將推理速度從基線的20.52 tokens/sec提升至138.82 tokens/sec的峯值,實現了6.76倍的性能飛躍。安全增強階段,我設計並實現了一套基於硬件信任根的端到端安全閉環。
該方案的核心是一種創新的“三位一體信任指紋”機制,它在增強型遠程證明協議(RA-TLS)中,通過密碼學手段將應用程序、加密模型和會話密鑰三者的哈希值綁定在X.509證書的擴展字段中,實現了“我正在與正確的程序、正確的模型、在正確的硬件上、通過正確的會話密鑰通信”的可驗證性。
這從根本上杜絕了模型被竊取、程序被篡改的風險,並保障了用户數據的全程機密性。最終,我的方案在具備全面安全能力的同時,性能仍達到54.8 tokens/sec,相較官方基線有2.67倍優勢,成功在性能、安全與工程成本之間取得了精妙的平衡。
關鍵詞: Intel TDX, 遠程證明, RA-TLS, llama.cpp, Qwen3:1.7b, 模型量化, TCB
賽題與約束分析
本賽題要求在硬件機密計算環境中完成可驗證的大模型推理服務:客户端在不信任雲宿主環境的前提下,與服務端建立安全信道,請求推理並接收結果;
同時,客户端能夠驗證推理確係在受硬件保護的可信域中完成,且模型與運行時身份得到綁定。
賽題統一在阿里雲的 Intel TDX 機密虛擬機中進行評測,所有選手必須在基線鏡像和約束條件下完成優化與安全增強。環境配置、基線與提交規則如下表所示。

綜合賽題説明與評測腳本,可歸納出三類關鍵約束:
其一,可信執行環境(TEE/TDX)中完成端到端遠程證明與密鑰交換;
其二,推理性能可用,在給定模型規模、上下文長度與併發強度下滿足時延與吞吐目標;
其三,工程可復現,提供容器化交付、自動化構建與示例客户端。
根據賽題規則,初賽聚焦於純粹的性能競速,而決賽則對性能、安全性及可信計算基(TCB)的改動幅度進行綜合評估。這一雙軌賽制要求我的技術方案必須具備高度的靈活性和前瞻性。
在上述約束下,我先對需求進行拆解,隨後合成一條最小可行路徑:先保證“可信+可連通”,再在不破壞信任鏈的前提下做“可快可擴展”的推理優化。
根據賽題分析,我拒絕在性能和安全之間進行簡單的妥協,而是尋求一種“魚與熊掌兼得”的架構,即通過底層優化獲得足夠高的性能冗餘,再以最小的性能代價疊加一層可驗證的安全保障。
這一思路最終演化為“先快後穩”的兩幕式研發策略。據此,我確定瞭如下技術方案:以RA-TLS為核心的證明-證書-信道三位一體綁定;以Intel TDX作為可信底座;以權重量化+KV緩存管理為主的推理棧優化;並以短週期證書與會話級密鑰實現最小信任面與密鑰最小暴露。
設計目標與總體架構
設計目標
為實現上述目標,我設計的系統架構圍繞“可信、可證、可用、可復現”四點展開:
(1)可信:在TDX中隔離推理進程與模型參數,最小化對VMM/宿主的信任;
(2)可證:把TDX遠程證明報告與TLS證書、公鑰、會話密鑰建立強綁定,客户端能在握手階段做自動化驗證;
(3)可用:用權重量化、KV緩存與高效Attention實現低時延與穩態吞吐;
(4)可復現:Docker 鏡像、CMake/腳本化構建、示例客户端與一鍵運行。
系統組件
系統邏輯由四層組成:
1)硬件與VMM層:Intel TDX 提供來賓內存加密與VMM隔離,導出TDX Quote用於遠程證明;
2)運行時層:啓動時完成RA-TLS證書內嵌(X.509 擴展)與密鑰派生,加載量化後的LLM與tokenizer;
3)服務層:gRPC/HTTP-2 接口或自定義二進制協議,管理請求隊列、批處理與KV緩存;
4)客户端層:實現證書鏈校驗、TDX測量值/策略校驗與會話密鑰協商,再發起推理與度量採集
在競賽的第一階段,我的首要任務是突破基線方案的性能瓶頸。官方基線採用Ollama框架,實測性能約為20.5 tokens/sec,這對於追求流暢交互的LLM服務而言存在顯著差距。
為此,我進行了一系列由表及裏的系統性優化。
性能優化
推理引擎替換:從Ollama到llama.cpp
我分析認為,Ollama作為一套通用框架,其複雜的抽象層和非最優的資源調度策略是主要的性能開銷來源。根據賽題分析,我確定了替換推理引擎的技術方案。我選擇了業界領先的純C++推理引擎llama.cpp。
做出此項決策的原因在於:
1)語言層級優勢:C++作為編譯型語言,相比Ollama底層可能涉及的解釋型語言,能更好地進行底層優化,減少不必要的運行時開銷。
2)硬件親和性:llama.cpp針對現代CPU架構(包括競賽環境提供的支持AVX512指令集的Intel處理器)進行了深度優化,能夠最大化利用硬件並行計算能力。
3)精細化控制:它提供了對模型加載、內存管理、線程調度等核心環節的直接控制接口,為我後續的參數調優和性能壓榨提供了堅實基礎。
模型量化:Q4\_K\_M
在CPU上運行大模型,模型量化是提升性能的關鍵技術。它通過降低模型參數的數值精度(如從FP16降至INT4)來減小模型體積、降低內存帶寬需求和加速計算。然而,不恰當的量化會嚴重損害模型的推理質量。
我對GGUF格式支持的多種量化方案進行了系統性評測,最終選定了Q4\_K\_M(4-bit K-M quantisation)。K-M是一種混合精度量化策略,它能智能地為模型中更重要的權重層保留更高的精度,從而在實現高壓縮比的同時,最大限度地保留模型的原始性能。
為驗證這一選擇的有效性,我構建了覆蓋代碼生成、邏輯推理、文本摘要等多個維度的評測集。實驗結果表明,Q4\_K\_M量化後的Qwen3:1.7b模型,與原始FP16模型相比,在各項任務上均未出現可感知的質量下降,而推理速度卻獲得了近1.8倍的提升。
並行計算與參數調優
在更換引擎和量化模型後,我進入了精細化的參數調優階段。核心是優化並行計算效率,充分利用服務器的8個vCPU核心。我重點調整了兩個參數:批處理大小(n_batch)和線程數(n_threads)。通過多輪網格搜索,我發現當批處理大小設置為1024,線程數設置為8時,系統吞吐量達到峯值。這表明我成功地使計算任務在所有CPU核心上達到了飽和,同時避免了過度的線程切換開銷。
經過上述三步優化,我的純性能版本方案最終在官方評測環境中取得了138.82 tokens/sec的成績,相較基線實現了6.76倍的性能飛躍,為我在競賽中佔得先機。
可驗證安全鏈路:RA-TLS與密鑰生命週期
RA-TLS 綁定思路
進入決賽階段,賽題要求轉向性能與安全的綜合考量。單純的TDX內存加密雖能抵禦來自外部(如Hypervisor)的攻擊,但無法回答客户端更為關切的三個問題:
- 我連接的服務是否真的運行在TDX環境中?
- 運行在TDX裏的程序和模型是否是我預期的版本,有無被篡改?
- 我的輸入數據和模型的輸出結果,在傳輸過程中是否全程機密?
為了解決這些問題,我們設計並實現了一套基於RA-TLS的增強型端到端安全方案。我採用“證書承載證明”的範式:在服務端TD內部生成自簽名臨時密鑰對,調用TDX 證明接口獲取Quote,將測量值、補充策略與公鑰摘要封裝到X.509自定義擴展中,隨後把證書鏈與Quote一併返回客户端。客户端通過平台根證書與反向吊銷列表驗證證明有效性,並核對證書公鑰哈希==證明內公鑰哈希,從而建立“握手密鑰-執行環境-二進制測量”的一致性。此類把RA與TLS“並列且互補”的做法兼顧互不依賴與可疊加性,避免“任何一方失效即全局信任坍塌”的問題;該設計與最新研究對“把遠程證明安全性與TLS身份保證解耦併疊加”的主張一致。

證書策略與會話密鑰
為減少長期憑據暴露,我採用短生命週期自簽證書(分鐘級)配合在線生成密鑰,證書只在單一TD實例內使用;
TLS 1.3 完成握手後會話密鑰僅駐留內存,隨進程或實例回收;證書擴展中的策略字段記錄編譯哈希、模型版本與允許的最小微碼版本,便於客户端做版本門限驗證。
威脅討論
該方案能緩解“偽裝服務端”“中間人劫持”“證書-證明錯位”等風險;剩餘風險來自微架構側信道、硬件/固件新披露問題與驅動-I/O平面。
針對後兩類,我在證書策略裏預留最小微碼版本與安全公告版本校驗鈎子,以便在平台更新後強制客户端拒絕舊環境;並在容器鏡像構建中固定編譯器與庫版本,縮小差異面。
代碼組織説明
遠程證明與安全通信
- tdx_attest.h 抽象TDX Quote獲取與解析;
- ratls_server.cpp 在TD內部生成臨時密鑰、把Quote嵌入X.509擴展並啓動TLS終結;
- benchmark_client.cpp 實現證書鏈與擴展校驗、與服務端握手後發起多輪併發推理請求並記錄時延分位數。
證書擴展內字段包括:平台測量摘要、編譯哈希、模型版本、公鑰哈希與最小微碼版本。失敗路徑統一落在“證書-證明不一致”“平台鏈驗證失敗”“策略不滿足”三類,客户端以明確錯誤碼返回。
推理與服務框架
predict_demo.py 給出最小可用的推理調用鏈:加載量化權重、構造Tokenizer、設置max\_new\_tokens、temperature、top-p等;服務端以有界隊列+時間/容量雙閾做批處理觸發,並在prefill階段優先佔用算力、decode階段做輕量級調度;KV緩存按會話或樣本粒度索引,釋放策略以“最近最少使用+上下文長度權重”。
CMakeLists.txt 組織C/C++端構建,鏈接openssl/tdx庫;Dockerfile 固化編譯器、庫與驅動版本;容器入口在“首次請求前預熱模型”,以便把握手與加載開銷與業務期解耦。
實驗方法與結果概述
我的評測流程嚴格遵循官方規範,使用benchmark_client對部署在TDX環境中的ratls_server發起請求。核心評測指標為吞吐量(Tokens per Second, TPS)。我設計了多組實驗來全面評估方案性能:
- 性能演進測試:記錄從基線方案到最終性能版的TPS變化。
- 參數敏感性測試:通過掃描不同的線程數和批處理大小組合,找到最優配置。
- 安全開銷測試:直接對比純性能版本與集成了“信任指紋”安全機制的最終安全版本的TPS,量化安全措施帶來的性能開銷。
實驗結果與分析
性能演進:我的優化路徑清晰地體現在TPS的逐步提升上。基線Ollama約為20.5 t/s;替換為llama.cpp後提升至約53 t/s;應用Q4\_K\_M量化後達到約95 t/s;最終經過並行計算調優,峯值性能達到138.82 t/s。

安全開銷分析‸:在決賽提交的最終安全版本中,由於增加了動態證書生成、哈希計算和密碼學操作,其性能相較於純性能版有所下降。最終安全版本穩定運行在54.8 t/s。儘管存在約60%的性能回落,但該性能相較於官方基線20.5 t/s,仍有2.67倍的顯著優勢。這一結果有力地證明,我的方案在引入了強安全保證後,依然維持了遠超基準的高性能水平,成功實現了設計初衷。
從實驗組織看,RA-TLS握手開銷呈常數項增長,穩態吞吐主要受量化與內核優化影響;在W4A16配置下,長上下文的時延增長隨KV緩存管理優化而顯著減緩。這裏的結論與公開系統工作在“緩存與調度決定穩態性能”的觀察相吻合。
討論與侷限
當然我的方案還有很多不足,我認為可以按照下面幾個方向在未來進行拓展:
- 側信道與硬件新披露:微架構側信道與GPU執行面仍是挑戰;可結合編譯期屏障、定時擾動與固定填充策略降低可觀察性,並持續跟進平台安全公告與微碼更新。
- 機密VM基座的形式化保證:當可用時,引入經形式化驗證的機密VM安全模塊可降低實現缺陷帶來的系統性風險,該方向已有操作系統頂會工作給出可行路徑。
- GPU路徑的可驗證性:若涉及GPU加速,純CPU TEE難覆蓋GPU內核與驅動;可關注軟件/靜態驗證的GPU可信執行與基於CPU TEE的GPU保護通道等思路,作為路線備選與組合。
- 與零知識證明(ZK)路線的關係:ZK可提供更強的可驗證性但當前開銷較高;在賽題場景下,RA-TLS在落地性/常數開銷上更優,而ZK可作為未來補充或對高風險任務的抽樣核驗路徑。相關前沿工作顯示ZK在非線性運算與注意力證明方面已有顯著進展,但距離實用大規模在線推理仍有差距。
結論
圍繞“可信-可證-可用-可復現”的目標,我構建了基於Intel TDX的可驗證大模型推理系統。在賽題約束下,通過採用“先快後穩”的策略,我首先利用llama.cpp、模型量化和並行優化將系統性能推向極致,隨後在充裕的性能空間中,以較低代價集成了一套基於RA-TLS和“三位一體信任指紋”的端到端安全體系。
最終方案在提供硬件、應用、模型、會話四重可驗證性的同時,依然保持了相較基線2.67倍的性能優勢。這項工作驗證了一條在可信執行環境中平衡大模型推理效率與安全的可行路徑。
參考文獻
[1] C. Weinhold, M. U. Sardar, I. Mihalcea, Y. Deshpande, H. Tschofenig, Y. Sheffer, T. Fossati, and M. Roitzsch, “Separate but Together: Integrating Remote Attestation into TLS,” in Proc. USENIX Annual Technical Conference (ATC), 2025.
[2] Z. Zhou, Anjali, W. Chen, S. Gong, C. Hawblitzel, and W. Cui, “VeriSMo: A Verified Security Module for Confidential VMs,” in Proc. 18th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2024, pp. 599–614.
[3] W. Kwon, S. P. Singh, L. Dao, M. A. Hassib, and M. Zaharia, “Efficient Memory Management for Large Language Model Serving with PagedAttention,” in Proc. ACM SOSP, 2023.
[4] J. Lin, J. Tang, H. Tang, S. Yang, W.-M. Chen, W.-C. Wang, G. Xiao, X. Dang, C. Gan, and S. Han, “AWQ: Activation-aware Weight Quantization for On-Device LLM Compression and Acceleration,” in Proc. MLSys, 2024.
[5] S. Kim, C. R. C. Hooper, A. Gholami, Z. Dong, X. Li, S. Shen, M. W. Mahoney, and K. Keutzer, “SqueezeLLM: Dense-and-Sparse Quantization,” in Proc. ICML, 2024, pp. 23901–23923.
[6] T. Dettmers, A. Pagnoni, A. Holtzman, and L. Zettlemoyer, “QLoRA: Efficient Finetuning of Quantized LLMs,” in Advances in Neural Information Processing Systems (NeurIPS), 2023.