Skip to content

概要 ​

Fione はオープンソースの AutoML サーバーです。ブラウザで CSV ファイルをアップロードすると、Fione がモデルを学習します。できあがったモデルで予測したり、予測 API として公開したりできます。起動は docker compose up 1 回だけです。

最初のモデルを作るのに、機械学習の経験は要りません。EasyML ウィザードは、何を予測したいかと Fione が作業してよい時間をたずね、結果を 1〜5 個の星の評価と、わかりやすい言葉の説明で示します。もっと細かく制御したいときは、詳細表示に切り替えると、すべての統計・学習設定・診断が見られます。

対象となる方 ​

  • 機械学習が初めての方: 表形式のデータ(1 行目に列名がある CSV)があり、コードを書かずにモデルと予測結果がほしい方。
  • データサイエンティスト・アナリスト: モデルを素早く学習し、交差検証の診断やモデルの説明を確認し、必要なら Python からすべてを自動化したい方。
  • チーム: データセットとモデルを共有の場所にまとめ、管理者・編集者・閲覧者で権限を分け、自分たちで運用する予測 API がほしい方。

主な機能 ​

  • EasyML ウィザード: データのアップロード、データ分析(予測する列、入力する列、予測の種類、最大実行時間)、実行、予測結果サマリー、予測結果の CSV。詳しくは EasyML ウィザード をご覧ください。
  • AutoML 画面: 列の統計とグラフ、相関、リーク警告、すべての学習設定、ジョブ一覧、リーダーボード、変数の重要度、スコアの履歴、CV の指標、モデルのエクスポートとインポート。詳しくは AutoML 画面 をご覧ください。
  • モデルの説明: 交差検証の予測にもとづく診断、重要度と部分依存のグラフ、各予測の寄与度、答えを不自然なほどよく当てる列への警告。詳しくは 説明とリーク警告 をご覧ください。
  • 独自の AutoML エンジン: 勾配ブースティング(LightGBM、XGBoost、CatBoost)、ランダムフォレスト、Extremely Randomized Trees、線形モデル、ニューラルネットワーク、文章の列があるデータでは TF-IDF の線形モデル。Optuna で調整し、指定した実行時間内でアンサンブルします。派生特徴量も作り、はっきり効果のあるものだけを残します。
  • Fione Serving: 学習済みのモデルを、共通の Docker イメージとモデルのファイルだけで動かす小さな予測 API(/invocations、/model、/ping)。詳しくは Fione Serving をご覧ください。
  • ユーザーと共有: 管理者・編集者・閲覧者の 3 つのロールがあり、プロジェクトはユーザー単位で共有します。スクリプト用の API トークンと REST API(/api/v1)もあります。詳しくは ユーザーと共有 と REST API をご覧ください。
  • Python モジュール: フレーム操作、k-means、低ランク分解などのデータ操作。管理者は独自のモジュールをアップロードできます。詳しくは Python モジュール をご覧ください。
  • Python クライアント: fione-sdk で、自分のスクリプトやノートブックから Fione を操作できます。詳しくは Python クライアント (fione-sdk) をご覧ください。
  • アシスタント: プロジェクトのデータセットやモデルについての質問に答え、人が確認する学習を提案します。詳しくは アシスタント をご覧ください。
  • ストレージ: データセットとモデルは SeaweedFS または S3 互換のサービスに保存し、メタデータは SQLite に保存します。
  • 日本語と英語、ライトテーマとダークテーマに対応し、スマートフォンでも使えます。

全体の構成 ​

Fione は、Docker Compose で起動するいくつかの部品でできています。

  • Fione アプリケーション(fione コンテナ)は、Web アプリと REST API を提供し、ジョブのキューを 1 つのプロセスで動かします。学習・予測・説明・エクスポートはジョブとしてサーバーで実行されるので、ページを閉じても後で戻ってこられます。既定では学習は 1 件ずつ実行され、ほかのジョブはキューで待ちます。
  • ストレージ: データセットとモデルは、S3 プロトコルを話す SeaweedFS(seaweedfs コンテナ)に保存します。データベース、秘密鍵、ジョブのログ、一時ファイルは、アプリケーションのデータボリュームにあります。
  • アシスタントの言語モデルは、別途ご用意いただくサーバー(Ollama、または Anthropic API 経由の Claude)です。アシスタントは任意で、使わなくても Fione のほかの機能は動きます。
  • Fione Servingは、必要なときにビルドする 2 つ目のイメージです。ダウンロードした 1 つのモデルを、Fione アプリケーションとは別のポートで予測 API として動かします。
text
ブラウザ / スクリプト ──► fione (Web アプリ、REST API、ジョブの実行) ──► SeaweedFS (S3): データセット、モデル
                                  │                                      データボリューム: SQLite、秘密鍵
                                  └──► 言語モデル (任意): Ollama または Claude

サービング用ファイル (zip) ──► fione-serving ──► POST /invocations

次に読むページ ​

  1. インストール: Fione を起動し、管理者を作成して、サンプルの CSV を用意します。
  2. EasyML ウィザード: モデルを学習し、予測して、モデルを公開します。
  3. AutoML 画面 と 説明とリーク警告: 詳細表示の使い方です。
  4. ユーザーと共有、Python モジュール、Python クライアント (fione-sdk)、アシスタント。
  5. 運用する方へ: 設定、運用、Fione Serving、既知の制限。