haifengl/smile

Statistical Machine Intelligence & Learning Engine

何を解決するか

SMILEはJVM向けに設計された高性能な機械学習フレームワークで、データサイエンス、統計分析、ディープラーニングのための包括的なツールセットを提供します。データサイエンスツールの柔軟性とJava、Scala、Kotlinのプロダクション対応性能のギャップを埋めます。

どう動くか

このフレームワークは複数の専門的なモジュールに構成されています:

  • Core ML: 分類、回帰、クラスタリング、多様体学習アルゴリズム(例:ランダムフォレスト、SVM、t-SNE、UMAP)を幅広く実装。
  • Deep Learning & LLMs: GPU/CPUテンソル操作にLibTorchバックエンドを使用し、LLaMA-3推論のためのフルスタックを提供。BPEトークナイザーとOpenAI互換のRESTサーバーを含む。
  • NLP: テキスト正規化、品詞タグ付け、ステミング、関連性ランク付けのためのツールを提供。
  • Base Foundation: 基盤となる数学、線形代数、DataFramesなどのデータ構造を処理。
  • SMILE Studio: 自然言語によるデータ操作が可能なエージェント型IDE。Python、Java、Scalaで利用可能。

対象ユーザー

主にJVMエコシステム(Java、Scala、Kotlin)内で作業する開発者やデータサイエンティストで、プロダクション環境にデプロイ可能またはApache Sparkと統合可能な堅牢な統合機械学習ライブラリを必要とする人向けです。

特徴

  • JVMネイティブ: Java、Scala、Kotlinの完全サポートと、自然なAPI。
  • LLM機能: 内蔵のLLaMA-3推論とOpenAI互換の推論サーバー。
  • 包括的なアルゴリズムセット: 伝統的なML、ディープラーニング、NLPの広範なカバレッジ。
  • エージェント型IDE: 自然言語によるデータ操作が可能なSMILE Studioを含む。
  • 可視化: インタラクティブなプロット(Swingベース)と宣言型のVega-Liteチャートを統合。

"SMILEは、JVM上で機械学習を本格的に実行できる唯一のフレームワークです。" — @smileml

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト