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 的集成。