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 のテンソル演算を行い、BPE トークナイザや OpenAI 互換の REST サーバーを含む完全な LLaMA-3 推論スタックを提供。
  • 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 パイプラインとの統合をサポート。