Timber將訓練好的機器學習模型——包括XGBoost、LightGBM、scikit-learn、CatBoost、ONNX(涵蓋樹集成、線性模型、SVM、k-NN、朴素貝葉斯、高斯過程回歸、孤立森林)或URDF機器人描述——通過多遍優化編譯器處理,生成自包含的C99推論程式碼,無需任何運行時依賴。內建的HTTP伺服器(兼容Ollama API)讓你只需一條指令即可部署任何模型。
針對硬體加速或安全關鍵部署,Timber內建的accel後端可生成AVX2/AVX-512/NEON/SVE/RVV SIMD指令、CUDA/Metal/OpenCL GPU代碼、Xilinx/Intel FPGA HLS、以及Cortex-M/ESP32/STM32嵌入式版本,並提供WCET分析、DO-178C/ISO-26262/IEC-62304認證報告、Ed25519簽名、AES-256-GCM加密、隔離部署包,以及ROS 2 / PX4 / gRPC伺服器生成器。所有功能均可透過單一pip安裝獲得。
Timber的推論速度約為單樣本2微秒,較Python版XGBoost快約336倍,生成的推論檔案約48KB,且無任何運行時依賴。
只需指向任意URL,Timber即可自動下載、編譯並部署模型,無需額外設定。也可從本地檔案載入並以名稱提供服務。
Timber專為需要快速、可預測且可攜帶推論的團隊設計:
可直接從URL提供模型服務,無需預先下載;或從本地模型載入並以名稱提供服務。
此外,還能從URDF檔案提供機器人正向運動學服務。
每次安裝timber-compiler時,會同時安裝timber-accel CLI及timber.accel Python套件,無需額外安裝或付費。
Timber提供18種目標配置檔(TOML格式),可直接以名稱載入或指定自訂TOML檔。
完整CLI參考可透過 timber-accel --help 查詢,詳細文件見 docs/accel.md。
安全認證相關功能(WCET、MISRA-C等)為啟發式及正則表達式基礎,僅作為參考。對於安全關鍵認證,建議使用經認證的工具(如LDRA、Polyspace、Astrée、aiT、RapiTime)並由合格的設計負責人獨立驗證。
基準測試於Apple M2 Pro(16GB RAM,macOS)環境下進行,使用XGBoost二元分類器(50棵樹,最大深度4,30個特徵,sklearn breast_cancer資料集),執行1,000次預熱後測量10,000次迭代。
延遲為進程內時間(不含HTTP往返),網路開銷依堆疊不同約增加50至200微秒。
詳細基準方法、硬體捕捉腳本及ONNX Runtime、Treelite、lleaves比較可見 benchmarks/ 資料夾。
Timber伺服器預設在 http://localhost:11434 提供Ollama兼容的REST API。
完整範例程式碼位於 examples/,每個腳本會訓練模型、保存、執行 timber load,並驗證預測結果與原框架一致。
測試套件涵蓋:解析器(sklearn、ONNX、XGBoost、LightGBM、CatBoost、URDF)、中間表示層(序列化、深拷貝、所有階段類型含5個新原語)、優化器通道(正確性、冪等性、管線融合數學)、C99/WASM/MISRA-C/LLVM IR生成器(編譯及數值準確性)、差分隱私(統計正確性、所有資料型態)、timber.accel(WCET分析、SIMD代碼生成、Ed25519簽名、認證報告、SIMD/GPU/HLS目標配置)、以及完整端到端流程。
詳細開發指南請參考 CONTRIBUTING.md。
若在研究或生產中使用Timber,請引用相關技術論文,全文可於 paper/timber_paper.pdf 下載。
如有錯誤或功能需求,請開啟issue;有問題可開始討論。
Timber由Electricsheep Africa開發與維護,若Timber為您的團隊節省工程時間,歡迎支持持續開發。
授權採用Apache-2.0,詳見LICENSE全文。
Timber是經典機器學習模型的Ollama方案,透過AOT編譯器將XGBoost、LightGBM、scikit-learn、CatBoost及ONNX模型轉成原生C99推論代碼,一條指令載入,一條指令服務,推論速度比Python快336倍。