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