Skip to content

Latest commit

 

History

History
404 lines (262 loc) · 22.1 KB

README_JP.md

File metadata and controls

404 lines (262 loc) · 22.1 KB
SwanLab

SwanLab

オープンソースでモダンなデザインのディープラーニングトレーニング追跡・可視化ツール
クラウド/オフライン使用に対応し、30以上の主要フレームワークと互換性があり、実験コードと簡単に統合可能

🔥SwanLab オンライン版 · 📃 ドキュメント · 問題を報告 · フィードバックを提案 · 更新履歴


中文 / English / 日本語 / Русский

👋 WeChatグループに参加する

目次


🌟 最近の更新

  • 2025.01.22:sync_tensorboardXsync_tensorboard_torch機能を追加し、この2つのTensorBoardフレームワークとの実験追跡の同期をサポート

  • 2025.01.17:sync_wandb機能を追加し、ドキュメント、Weights & Biases実験追跡との同期をサポート;ログレンダリング性能を大幅に最適化

  • 2025.01.11:クラウド版はプロジェクトテーブルのパフォーマンスを大幅に最適化し、ドラッグ&ドロップ、並べ替え、フィルタリングなどのインタラクションをサポートしました。

  • 2025.01.01:折れ線グラフの永続的スムージング、折れ線グラフのドラッグによるサイズ変更を追加し、チャート閲覧体験を最適化

  • 2024.12.22:LLaMA Factoryとの統合を完了し、LLaMA FactoryでSwanLabを使用して大規模モデルのファインチューニング実験を追跡・可視化できるようになりました。使用ガイド

  • 2024.12.15:**ハードウェア監視(0.4.0)**機能をリリースし、CPU、NPU(Ascend)、GPU(Nvidia)のシステム情報の記録と監視をサポート

  • 2024.12.06:LightGBMXGBoostの統合を追加;ログ記録の1行あたりの長さ制限を引き上げ

  • 2024.11.26:環境タブのハードウェアセクションで華為昇騰NPU鯤鵬CPUの識別をサポート;クラウドプロバイダーセクションで青雲基石智算の識別をサポート


👋🏻 SwanLabとは

SwanLabは、オープンソースで軽量なAIモデルトレーニング追跡・可視化ツールで、実験の追跡、記録、比較、コラボレーションのためのプラットフォームを提供します。

SwanLabはAI研究者向けに設計され、使いやすいPython APIと美しいUIを提供し、トレーニングの可視化、自動ログ記録、ハイパーパラメータ記録、実験比較、複数人でのコラボレーションなどの機能を提供します。SwanLabでは、研究者が直感的な可視化チャートを通じてトレーニングの問題を発見し、複数の実験を比較して研究のインスピレーションを得ることができます。また、オンラインページでの共有や組織ベースの複数人でのトレーニングを通じて、チーム間のコミュニケーションの壁を打破し、組織のトレーニング効率を向上させます。

以下はその主な機能リストです:

1. 📊 実験指標とハイパーパラメータの追跡: 機械学習パイプラインに簡単に組み込めるコードで、トレーニングのキー指標を追跡

  • クラウド使用をサポート(Weights & Biasesのような)、どこからでもトレーニングの進捗を確認可能。携帯で実験を見る方法
  • ハイパーパラメータ記録とテーブル表示をサポート
  • サポートするメタデータタイプ: スカラー指標、画像、音声、テキスト、...
  • サポートするチャートタイプ: 折れ線グラフ、メディアグラフ(画像、音声、テキスト)、...
  • バックグラウンドでの自動記録: ログ記録、ハードウェア環境、Gitリポジトリ、Python環境、Pythonライブラリリスト、プロジェクト実行ディレクトリ

2. ⚡️ 幅広いフレームワーク統合: PyTorch、🤗HuggingFace Transformers、PyTorch Lightning、🦙LLaMA Factory、MMDetection、Ultralytics、PaddleDetetion、LightGBM、XGBoost、Keras、Tensorboard、Weights&Biases、OpenAI、Swift、XTuner、Stable Baseline3、Hydraなど30以上のフレームワーク

3. 💻 ハードウェア監視: CPU、NPU(昇騰Ascend)、GPU(Nvidia)、メモリのシステムレベルのハードウェア指標をリアルタイムで記録・監視

4. 📦 実験管理: トレーニングシーン向けに設計された集中型ダッシュボードで、全体ビューを一目で確認し、複数のプロジェクトと実験を迅速に管理

4. 🆚 結果の比較: オンラインテーブルと比較チャートを使用して、異なる実験のハイパーパラメータと結果を比較し、イテレーションのインスピレーションを発掘

5. 👥 オンラインコラボレーション: チームと協力してトレーニングを行い、実験をリアルタイムで同期させ、チームのトレーニング記録をオンラインで確認し、結果に基づいて意見や提案を共有可能

6. ✉️ 結果の共有: 各実験の永続的なURLをコピーして送信し、パートナーに簡単に送信したり、オンラインノートに埋め込んだり可能

7. 💻 セルフホスティング対応: オフライン環境での使用をサポートし、セルフホスティングのコミュニティ版でもダッシュボードの表示と実験の管理が可能

Important

プロジェクトをスターすると、GitHubからすべてのリリース通知を遅延なく受け取れます~ ⭐️

star-us


📃 オンラインデモ

SwanLabのオンラインデモをご覧ください:

ResNet50 猫犬分類 Yolov8-COCO128 物体検出
猫犬データセットでの簡単なResNet50モデルのトレーニングを追跡。 Yolov8を使用してCOCO128データセットで物体検出タスクを追跡。
Qwen2 指示ファインチューニング LSTM Google株価予測
Qwen2大規模言語モデルの指示ファインチューニングを追跡。 簡単なLSTMモデルを使用してGoogle株価データセットでトレーニングし、将来の株価を予測。
ResNeXt101 音声分類 Qwen2-VL COCOデータセットファインチューニング
ResNetからResNeXtへの音声分類タスクの進化的実験プロセス Qwen2-VL多モーダル大規模モデルを使用してCOCO2014データセットでLoraファインチューニング。

その他の例


🏁 クイックスタート

1.インストール

pip install swanlab

2.ログインしてAPIキーを取得

  1. 無料でアカウント登録

  2. アカウントにログインし、ユーザー設定 > APIキーでAPIキーをコピー

  3. ターミナルを開き、以下を入力:

swanlab login

プロンプトが表示されたら、APIキーを入力してEnterを押し、ログインを完了。

3.SwanLabをコードに統合

import swanlab

# 新しいSwanLab実験を初期化
swanlab.init(
    project="my-first-ml",
    config={'learning-rate': 0.003},
)

# 指標を記録
for i in range(10):
    swanlab.log({"loss": i, "acc": i})

完了!SwanLabで最初のSwanLab実験を確認できます。


💻 セルフホスティング

セルフホスティングのコミュニティ版は、オフラインでSwanLabダッシュボードを表示できます。

オフライン実験追跡

swanlab.initでlogirmodeパラメータを設定することで、オフラインで実験を追跡可能:

...

swanlab.init(
    logdir='./logs',
    mode='local',
)

...
  • modeパラメータをlocalに設定し、実験のクラウド同期を無効化

  • logdirパラメータはオプションで、SwanLabログファイルの保存場所を指定(デフォルトはswanlogフォルダ)

    • ログファイルは実験の追跡中に作成・更新され、オフラインダッシュボードの起動もこれらのログファイルに基づく

その他の部分はクラウド使用と完全に同じです。

オフラインダッシュボードの起動

ターミナルを開き、以下のコマンドを実行してSwanLabダッシュボードを起動:

swanlab watch ./logs

実行が完了すると、SwanLabはローカルのURLリンクを提供します(デフォルトはhttp://127.0.0.1:5092

このリンクにアクセスすると、ブラウザでオフラインダッシュボードを使用して実験を確認できます。


🚗 フレームワーク統合

お気に入りのフレームワークをSwanLabと統合しましょう!
以下は既に統合されているフレームワークのリストです。統合してほしいフレームワークがあれば、Issueを提出してフィードバックをお願いします。

基本フレームワーク

専用/ファインチューニングフレームワーク

コンピュータビジョン

強化学習

その他のフレームワーク:

その他の統合


🆚 既存ツールとの比較

Tensorboard vs SwanLab

  • ☁️ オンライン使用をサポート: SwanLabを使用すると、トレーニング実験をクラウド上で簡単に同期・保存でき、リモートでトレーニングの進捗を確認したり、過去のプロジェクトを管理したり、実験リンクを共有したり、リアルタイムのメッセージ通知を送信したり、複数のデバイスで実験を確認したりできます。一方、Tensorboardはオフラインの実験追跡ツールです。

  • 👥 複数人でのコラボレーション: 複数人やチーム間での機械学習コラボレーションを行う場合、SwanLabを使用すると、複数人のトレーニングプロジェクトを簡単に管理し、実験リンクを共有し、異なるスペースで議論や意見交換ができます。一方、Tensorboardは主に個人向けに設計されており、複数人でのコラボレーションや実験の共有が難しいです。

  • 💻 永続的で集中型のダッシュボード: どこでモデルをトレーニングしても、ローカルマシン、ラボのクラスター、またはパブリッククラウドのGPUインスタンスであっても、結果は同じ集中型ダッシュボードに記録されます。一方、TensorBoardを使用する場合、異なるマシンからTFEventファイルをコピーして管理するのに時間がかかります。

  • 💪 より強力なテーブル: SwanLabのテーブルを使用すると、異なる実験からの結果を表示、検索、フィルタリングでき、数千のモデルバージョンを簡単に確認し、さまざまなタスクに最適なパフォーマンスのモデルを見つけることができます。 TensorBoardは大規模なプロジェクトには適していません。

Weights and Biases vs SwanLab

  • Weights and Biasesは、インターネット接続が必須のクローズドソースのMLOpsプラットフォームです。

  • SwanLabは、インターネット接続をサポートするだけでなく、オープンソースで無料のセルフホスティング版も提供しています。


👥 コミュニティ

コミュニティとサポート

SwanLab READMEバッジ

SwanLabを仕事で使用している場合、SwanLabバッジをREADMEに追加してください:

swanlab

[![swanlab](https://img.shields.io/badge/powered%20by-SwanLab-438440)](https://github.com/swanhubx/swanlab)

論文でSwanLabを引用

SwanLabがあなたの研究の旅に役立った場合は、以下の形式で引用を検討してください:

@software{Zeyilin_SwanLab_2023,
  author = {Zeyi Lin, Shaohong Chen, Kang Li, Qiushan Jiang, Zirui Cai,  Kaifang Ji and {The SwanLab team}},
  doi = {10.5281/zenodo.11100550},
  license = {Apache-2.0},
  title = {{SwanLab}},
  url = {https://github.com/swanhubx/swanlab},
  year = {2023}
}

SwanLabへの貢献

SwanLabに貢献したいですか?まず、貢献ガイドをお読みください。

また、ソーシャルメディア、イベント、カンファレンスでの共有を通じてSwanLabをサポートすることも大歓迎です。心から感謝します!

アイコンのダウンロード

SwanLab-Icon-SVG


貢献者


📃 ライセンス

このリポジトリは Apache 2.0 License オープンソースライセンスに従います

Star History

Star History Chart