オープンソースでモダンなデザインのディープラーニングトレーニング追跡・可視化ツール
クラウド/オフライン使用に対応し、30以上の主要フレームワークと互換性があり、実験コードと簡単に統合可能
🔥SwanLab オンライン版 · 📃 ドキュメント · 問題を報告 · フィードバックを提案 · 更新履歴
👋 WeChatグループに参加する
-
2025.01.22:
sync_tensorboardX
とsync_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.11.26:環境タブのハードウェアセクションで華為昇騰NPUと鯤鵬CPUの識別をサポート;クラウドプロバイダーセクションで青雲基石智算の識別をサポート
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からすべてのリリース通知を遅延なく受け取れます~ ⭐️
SwanLabのオンラインデモをご覧ください:
ResNet50 猫犬分類 | Yolov8-COCO128 物体検出 |
---|---|
猫犬データセットでの簡単なResNet50モデルのトレーニングを追跡。 | Yolov8を使用してCOCO128データセットで物体検出タスクを追跡。 |
Qwen2 指示ファインチューニング | LSTM Google株価予測 |
---|---|
Qwen2大規模言語モデルの指示ファインチューニングを追跡。 | 簡単なLSTMモデルを使用してGoogle株価データセットでトレーニングし、将来の株価を予測。 |
ResNeXt101 音声分類 | Qwen2-VL COCOデータセットファインチューニング |
---|---|
ResNetからResNeXtへの音声分類タスクの進化的実験プロセス | Qwen2-VL多モーダル大規模モデルを使用してCOCO2014データセットでLoraファインチューニング。 |
pip install swanlab
swanlab login
プロンプトが表示されたら、APIキーを入力してEnterを押し、ログインを完了。
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でlogir
とmode
パラメータを設定することで、オフラインで実験を追跡可能:
...
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を提出してフィードバックをお願いします。
基本フレームワーク
専用/ファインチューニングフレームワーク
- PyTorch Lightning
- HuggingFace Transformers
- OpenMind
- LLaMA Factory
- Modelscope Swift
- Sentence Transformers
- Torchtune
- XTuner
- MMEngine
- FastAI
- LightGBM
- XGBoost
コンピュータビジョン
強化学習
その他のフレームワーク:
-
☁️ オンライン使用をサポート: SwanLabを使用すると、トレーニング実験をクラウド上で簡単に同期・保存でき、リモートでトレーニングの進捗を確認したり、過去のプロジェクトを管理したり、実験リンクを共有したり、リアルタイムのメッセージ通知を送信したり、複数のデバイスで実験を確認したりできます。一方、Tensorboardはオフラインの実験追跡ツールです。
-
👥 複数人でのコラボレーション: 複数人やチーム間での機械学習コラボレーションを行う場合、SwanLabを使用すると、複数人のトレーニングプロジェクトを簡単に管理し、実験リンクを共有し、異なるスペースで議論や意見交換ができます。一方、Tensorboardは主に個人向けに設計されており、複数人でのコラボレーションや実験の共有が難しいです。
-
💻 永続的で集中型のダッシュボード: どこでモデルをトレーニングしても、ローカルマシン、ラボのクラスター、またはパブリッククラウドのGPUインスタンスであっても、結果は同じ集中型ダッシュボードに記録されます。一方、TensorBoardを使用する場合、異なるマシンからTFEventファイルをコピーして管理するのに時間がかかります。
-
💪 より強力なテーブル: SwanLabのテーブルを使用すると、異なる実験からの結果を表示、検索、フィルタリングでき、数千のモデルバージョンを簡単に確認し、さまざまなタスクに最適なパフォーマンスのモデルを見つけることができます。 TensorBoardは大規模なプロジェクトには適していません。
-
Weights and Biasesは、インターネット接続が必須のクローズドソースのMLOpsプラットフォームです。
-
SwanLabは、インターネット接続をサポートするだけでなく、オープンソースで無料のセルフホスティング版も提供しています。
- GitHub Issues:SwanLab使用中に発生したエラーや問題
- メールサポート:SwanLabの使用に関する問題のフィードバック
- WeChatグループ:SwanLabの使用に関する問題の議論や最新のAI技術の共有
SwanLabを仕事で使用している場合、SwanLabバッジをREADMEに追加してください:
[![swanlab](https://img.shields.io/badge/powered%20by-SwanLab-438440)](https://github.com/swanhubx/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をサポートすることも大歓迎です。心から感謝します!
貢献者
このリポジトリは Apache 2.0 License オープンソースライセンスに従います