WhiteLightningはオープンソースのコマンドラインツールで、開発者が1行のコマンドで軽量なテキスト分類モデルを迅速に生成できるように設計されています。ウクライナのInoxoft社が1年かけて開発したWhiteLightningは、プライバシー保護と低コストでの導入に重点を置き、多言語プログラミングをサポートしています。ユーザーは実データを用意することなくモデルを生成することができ、センチメント分析やスパムフィルタリングなどのシナリオに適している。プロジェクトのライセンスはGPL-3.0、モデルのライセンスはMIT、コミュニティサポートはGitHubとDiscordで提供されています。
機能一覧
- ワンクリックで1MB以下のONNXテキスト分類モデルを生成し、センチメント分析、スパム検出などのマルチクラス分類をサポートします。
- 大規模言語モデル(Grok-3-β、GPT-4o-miniなど)を用いて、実データを用いずに合成学習データを生成する。
- 完全なオフライン操作をサポートし、モデル展開後にクラウドAPIを必要とせず、データのプライバシーを保護します。
- Python、Rust、Swift、Node.js、Dartなどのプログラミング言語に対応し、さまざまな開発環境に適応。
- macOS、Linux、Windowsに対応したDockerコンテナを提供し、インストールと運用を簡素化します。
- GitHub Actionsとの統合により、クラウドベースのモデルトレーニングとCI/CD自動化プロセスをサポート。
- 複雑なパラメータ設定を簡素化するための対話型コマンドジェネレータを提供します。
- 複雑な入力シナリオでも安定したモデル性能を保証するために、エッジケース生成がサポートされている。
- モデルのトレーニング・プロセスは透明性があり、ログに進捗状況、精度、損失値が表示される。
ヘルプの使用
設置プロセス
WhiteLightningは、クロスプラットフォームの一貫性とシンプルさを保証するために、Dockerコンテナで配布されています。以下は詳細なインストール手順です:
- Dockerのインストール
Dockerがデバイスにインストールされていることを確認する。macOSとLinuxユーザーはDockerのウェブサイトからインストールパッケージをダウンロードできる。 WindowsユーザーはPowerShellを使ってコマンドを実行することをお勧めする。Dockerのインストールを確認する:docker --version
インストールされていない場合は、公式ガイドを参照してインストールを完了してください。
- ホワイトライトニングミラー
Docker Hubから最新のイメージを取り出します:docker pull ghcr.io/inoxoft/whitelightning:latest
ミラーにはすべての依存関係が組み込まれているので、Pythonやその他の環境を追加設定する必要はない。
- APIキーの設定
WhiteLightningは、学習フェーズで合成データを生成するために、(OpenRouterが提供するような)大規模な言語モデルを呼び出す必要があるため、APIキーを設定する必要があります。例えばexport OPEN_ROUTER_API_KEY="sk-..."
そうしれいかん
"sk-..."
OpenRouter のウェブサイトから入手した実際のキーに置き換えてください。このキーはトレーニングのみに使用され、生成されたモデルはインターネット接続なしで実行されます。 - 実行中のコンテナ
Dockerを使用してWhiteLightningを実行し、分類モデルを生成する。例えば、カスタマーレビューをポジティブ、ニュートラル、ネガティブに分類する:docker run --rm -e OPEN_ROUTER_API_KEY="sk-..." -v "$(pwd)":/app/models ghcr.io/inoxoft/whitelightning:latest python -m text_classifier.agent -p "Categorize customer reviews as positive, neutral, or negative"
コマンドの説明
--rm
実行後にコンテナを自動的に削除して容量を節約。-e
APIキー環境変数を設定する。-v "$(pwd)":/app/models
カレントディレクトリをコンテナにマウントし、生成されたモデルを保存する。-p
分類されたタスクを割り当てるには、タスクの目的を簡潔に説明する必要がある。
Windowsユーザーは$(pwd)
と置き換える。${PWD}
.
- インストールの確認
コマンドの実行後、ツールは約10分でONNXモデルを生成し、マウント・ディレクトリに保存する(例えばmodels_multiclass/customer_review_classifier/customer_review_classifier.onnx
).ログを確認し、トレーニングが完了したことを確認する:✅ - INFO - Test set evaluation - Loss: 0.0006, Accuracy: 1.0000
出力ディレクトリにモデルファイルが含まれていることを確認してください。
主要機能の使用
WhiteLightningの中核となる機能は、ワンクリックで軽量なテキスト分類モデルを生成し、展開することです。詳しい操作手順は以下の通りです:
テキスト分類モデルの生成
ユーザーには以下のものが提供される。-p
パラメータは分類タスクを指定し、ツールは自動的に合成データ生成とモデル学習を完了する。例えば、スパム分類器が生成されます:
docker run --rm -e OPEN_ROUTER_API_KEY="sk-..." -v "$(pwd)":/app/models ghcr.io/inoxoft/whitelightning:latest python -m text_classifier.agent -p "Classify emails as spam or not spam"
- ワークフロー::
- ツールは、大規模な言語モデル(たとえば
x-ai/grok-3-beta
もしかしたらopenai/gpt-4o-mini
) エッジケースを含む、1カテゴリーあたりデフォルト50エントリーの合成データを生成する。 - 教員と学生の蒸留を用いた合成データに基づく軽量ONNXモデルのトレーニング。
- トレーニングが完了すると、モデルは指定されたディレクトリにエクスポートされ、ログにはトレーニングの進捗状況が表示されます(例えば
Epoch 20/20 - accuracy: 1.0000
).
- ツールは、大規模な言語モデル(たとえば
- 輸出モデルファイル
customer_review_classifier.onnx
)と、データ生成とトレーニングの詳細を記録するログがある。
配備と運用モデル
生成されたONNXモデルは、複数の言語での実行をサポートし、フットプリントが小さく、エッジデバイスに適しています。以下はPythonの例である:
- ONNXランタイムをインストールする:
pip install onnxruntime
- モデルをロードして実行する:
import onnxruntime as ort import numpy as np session = ort.InferenceSession("models_multiclass/customer_review_classifier/customer_review_classifier.onnx") input_data = np.array(["This product is amazing!"], dtype=np.object_) outputs = session.run(None, {"input": input_data}) print(outputs) # 输出结果,如 ['positive']
- その他の言語(RustやSwiftなど)については、ONNX公式ウェブサイトのランタイム・ドキュメントを参照してください。
高度な設定
WhiteLightningは、モデルのパフォーマンスを最適化するための柔軟なパラメータ設定を提供します:
- キューの最適化ループスルー
-r
このパラメータは最適化の回数を設定します。デフォルトは1です。例-r 3
サイクルを追加すると、データの質は向上するが、トレーニング時間が長くなる。
- エッジケースの生成スルー
--generate-edge-cases
エッジケースをカテゴリーごとに50個生成する:--generate-edge-cases True
複雑な入力を処理する際に、モデルが一貫した挙動を示すようにする。
- モデルの選択: コンフィギュレーション・ファイルで指定できる様々な大規模言語モデルをサポートしている(例えば
x-ai/grok-3-beta
). - データ量の調整スルー
--target-volume-per-class
カテゴリーごとのデータ量を設定します。デフォルトは50件です。例--target-volume-per-class 100
オンライン・プレイグラウンド
WhiteLightningは、ユーザーがインストールすることなくモデル生成をテストできるオンラインプレイグラウンドを提供します。Playgroundにアクセスし、タスクの説明(例えば、「ツイートを幸せか悲しいかに分類する」)を入力し、Generateをクリックすると、モデルの出力が表示されます。Playgroundは、タスクの有効性を素早く検証するのに理想的です。
コミュニティ支援と委託
- GitHub アクションクラウドトレーニングをサポートするには、GitHubリポジトリの "Actions "ページで "Test Model Training "を選択し、パラメータを設定して実行する。
- テスト中にコンポーネントを調整する::
- Dockerコマンドが失敗した場合は、Dockerサービスが起動していることを確認し、パーミッションを確認する。
- API キーが無効な場合は、OpenRouter から再取得してください。
- ログファイルは出力ディレクトリにあり、詳細なエラーメッセージを記録する。
- 地域支援Discordサーバーに参加して開発者とコミュニケーションをとったり、GitHubに課題を提出したりできます。
ほら
- トレーニング・フェーズでは、APIを呼び出してデータを生成するために、ネットワーク接続を安定させる。
- このモデルは完全にオフラインで動作し、プライバシーに配慮したシナリオに適している。
- 出力ディレクトリに書き込みパーミッションがあることを確認し、Windowsユーザーはパスフォーマットに注意すること。
- モデルのトレーニング時間は、タスクの複雑さやデータ量によって異なるが、通常は10~15分程度である。
アプリケーションシナリオ
- モバイルアプリケーション開発
WhiteLightningは、センチメント分析のためのチャットソフトウェアなどのモバイルアプリケーションへの統合に適した軽量モデルを生成します。モデルはフットプリントが小さく、効率的に実行され、低電力デバイスに適しています。 - エッジデバイスの展開
Raspberry Piや産業用コントローラでテキスト分類モデルを実行し、リアルタイムのログやユーザー入力を処理します。データ漏洩を避けるためにオフラインで実行し、産業用シナリオに適しています。 - プライバシーに配慮したシナリオ
医療や金融の分野で機密性の高いテキストデータを処理する場合、WhiteLightningのオフラインモデルは、データがクラウドにアップロードされないことを保証し、プライバシーを保護する。 - ラピッドプロトタイピング
開発者は、分類モデルを素早く生成し、異なるタスクの効果をテストし、開発サイクルを短縮することができるため、新興企業や研究チームに適している。
品質保証
- WhiteLightningは常時ネットワークが必要ですか?
トレーニングフェーズでは、合成データを生成するためにAPIを呼び出す必要があり、生成されたモデルは完全にオフラインで動作する。 - モデルのサイズは?
タスクの複雑さやデータ量にもよるが、モデルは通常1MB未満で、従来の大規模モデルよりもはるかに小さい。 - どのようなプログラミング言語に対応していますか?
ONNXモデルは、Python、Rust、Swift、Node.js、Dart、C++などをサポートしている。 - トレーニングの失敗にどう対処するか?
APIキー、ネットワーク接続、Dockerのパーミッションを確認してください。ログファイルには詳細なエラーが記録されており、GitHubやDiscordでコミュニティの助けを求めることができる。 - 実際のデータを用意する必要があるのか?
いいえ。WhiteLightningは、合成データを生成するために大規模な言語モデルを使用し、ゼロデータのシーンモデリングをサポートしています。