haifengl/smile
Statistical Machine Intelligence & Learning Engine
What it solves
SMILE 提供一個高效能、全方位的機器學習框架,適用於 JVM,讓開發者能在 Java、Scala 或 Kotlin 生態系統中實作各式統計與 AI 演算法,而不必離開這些語言。它彌合了高階資料科學需求與 JVM 產線環境的效能要求之間的鴻溝。
How it works
SMILE 被組織為多個專門模組:
- Core ML:實作分類、回歸、叢集、流形學習與異常偵測等標準演算法。
- Deep Learning & LLMs:使用 LibTorch 後端進行 GPU/CPU 張量運算,並提供完整的 LLaMA-3 推論堆疊,包含 BPE Tokenizer 與相容 OpenAI 的 REST 伺服器。
- NLP:提供文字正規化、詞性標註、詞幹提取與相關性排序工具。
- Base:提供機器學習所需的基礎數學、線性代數與資料結構(如 DataFrames)。
- Visualization:包含基於 Swing 的互動圖表與宣告式 Vega‑Lite 圖表。
- SMILE Studio:一個具代理功能的 IDE,允許使用者透過 Python、Java 或 Scala 以自然語言與資料互動。
Who it’s for
在 JVM 生態系統(Java、Scala、Kotlin)中工作的資料科學家與軟體工程師,需一套穩健、可投入生產的機器學習函式庫,且具整合深度學習與 LLM 能力。
Highlights
- Comprehensive Algorithm Suite:支援從 Random Forest、SVM 到 t‑SNE、UMAP 的全部演算法。
- LLM Integration:原生 LLaMA‑3 推論與相容 OpenAI 的聊天串流伺服器。
- JVM Native:以 Java、Scala、Kotlin 的慣用 API 實作的高效能實作。
- Agentic IDE:包含 SMILE Studio,可用自然語言與資料互動。
- Enterprise Ready:支援模型序列化與與 Apache Spark ML pipeline 的整合。