SwanLab是什麼?
SwanLab是一個用於AI訓練實驗的追蹤、可視化及協作平台,由情感機器(北京)科技有限公司所開發。它透過Python SDK嵌入到訓練腳本中,持續記錄Loss、Accuracy、學習率、超參數、日誌、硬體狀態以及媒體結果,然後在網頁儀表板中進行查看與比較。
產品同時支援官方雲端、離線記錄和私有化部署,定位類似Weights & Biases與TensorBoard,但更強調中文體驗、國產硬件監控、開源SDK和本地部署。適用於深度學習、大模型微調、強化學習、視覺和傳統機器學習實驗。
當前版本與開源狀態
| 套餐或版本 | 價格、額度與核心權益 |
|---|---|
| Pro | Pro與團隊方案價格頁目前將Pro標為59元/人/月,包含100GB儲存,資料點速率提高到每10分鐘約500萬,面向專業個人用戶; |
| Free | 雲端Free免費方案目前公開價格頁顯示雲端Free為0元/月,適合個人研究和小規模實驗,包含10GB儲存。雲端Free為0元並含10GB。 |
| 免費版 | 免費版每10分鐘可上傳約50萬個數據點,超過速率後會受到限制。 |
| 社區版 | 個人可在官網免費申請1個社區版License,每年刷新一次,限制商業用途。 |
截至本次核驗,官方GitHub上的SwanLab Python SDK已進入0.8.x版本,最新的公開發布版本為0.8.2。該SDK及核心用戶端程式碼均採用Apache License 2.0授權條款,因此可以依照該許可證的規定來使用、修改和散布。
需要區分SDK、雲端服務和自託管服務端:GitHub主倉庫主要公開訓練端SDK與本地功能,官方文件也說明雲端部分為閉源;自託管則透過獨立鏡像與部署倉庫提供,並需要許可證才能啟用。
因此不能把整套SwanLab雲平台標記為全部源碼開放。
實驗初始化與指標記錄
安裝後透過 swanlab.init 建立 Run,設定 Project、實驗名稱、描述及 Config;在訓練循環中使用 swanlab.log 記錄指標,結束時呼叫 finish。
SDK會把時間步、指標、超參數和運行狀態發送到雲端或指定的私有主機。
指標Key應保持穩定,Step要有明確語義。把不同頻率、不同單位的地數混到同一個曲線會產生誤導;
分散式訓練通常只讓主進程上報全局指標,避免重複計算與網路開銷。
訓練可視化
網頁端支援折線圖、柱狀圖、散點圖、箱線圖、熱力圖、餅圖、雷達圖以及自訂的ECharts圖表。使用者可以搜尋、篩選和分組實驗,疊加多條曲線,以比較超參數與最終結果。
曲線平滑僅用於觀察趨勢,不能替代原始數據。比較實驗時應對齊資料集、隨機種子、訓練步數和評估口徑,並保留未平滑值,避免把顯示效果當成真實提升。
多媒體與大模型內容
SwanLab可記錄圖片、音頻、影片、文字、3D點雲及生化分子,並提供用於LLM生成內容的Markdown文本視覺化功能。在視覺任務中可顯示預測框與樣本,而在大模型訓練時則可隨機檢查Prompt、Response與Reward。
媒體檔案會快速佔用儲存空間及上傳頻寬。應按固定間隔抽樣,限制尺寸、時長和數量;
上傳前要脫敏訓練樣本、用戶提示詞和模型輸出。
自動日誌與運行環境
SDK可以自動記錄Python日誌、硬體環境、Git倉庫資訊、Python版本、依賴項目清單以及專案運行目錄,為實驗重現提供相關背景資料。在斷點處繼續訓練之後,還可以持續補充原有的運行指標。
自動採集的資料可能包含分支名稱、命令參數、檔案路徑以及相關的依賴資訊。企業應檢查記錄的範圍,避免將 API Key、內部地址和客戶資料寫入 Config 或日誌中。
硬體監控
SwanLab可監控CPU、記憶體及多種加速器,包括NVIDIA GPU、昇騰NPU、寒武紀MLU、崑崙XPU、沐曦和摩爾線程設備。可觀察利用率、顯存、溫度、功耗與進程相關指標,輔助定位資料瓶頸和OOM。
硬體指標的採集依賴於廠商提供的驅動程式與工具,不同設備所支援的參數並不完全一致。較高的採樣頻率會增加運作成本,而在不同電腦之間進行資料傳輸時,還必須確保時間同步。
實驗比較與表格
項目視圖可以集中管理大量Run,透過表格篩選狀態、創建者、參數和最終指標,再選擇實驗進入對比圖。適合超參數搜尋、消融實驗、模型版本挑選和失敗原因分析。
實驗名稱應包含模型、數據、方法及日期等關鍵資訊,Tag與Group則需統一規範。僅依賴自動生成的ID,會讓團隊很難從數千個Run中梳理出研究的脈絡。
框架集成
官方文件列出了40多種可整合的框架與工具,包括PyTorch、Transformers、PyTorch Lightning、Keras、LLaMA Factory、ms-swift、XTuner、MMEngine、Ultralytics、PaddleDetection、LightGBM、XGBoost,
Stable Baselines3、veRL、TRL、EasyR1、TensorBoard、Wandb、MLflow、Hydra和Accelerate。
集成通常透過Callback、report_to參數或Logger來完成。框架升級可能會改變回呼介面和指標名稱,應鎖定相容版本並先以簡短任務進行驗證。
LLaMA Factory與ms-swift
LLaMA Factory可選擇SwanLab作為報告後端,用於記錄SFT、LoRA及偏好對齊訓練;ms-swift則透過report_to、Project、Workspace及實驗名稱參數進行連接,CLI與WebUI皆可啟用。
SwanLab僅負責觀測,不提供訓練算力或自動保證微調品質。GPU費用、模型權重、數據和Checkpoint仍由訓練平台或用戶自行管理。
強化學習訓練
平台整合了veRL、TRL、EasyR1、AReaL、ROLL、NVIDIA NeMo RL和MindSpeed-RL等框架,可追蹤Reward、KL、Entropy、Policy Loss、生成長度及硬體指標。
強化學習的指標數量眾多且上傳頻率很高,容易觸發資料點的速率限制。應該區分層級來記錄核心的即時指標與低頻率的診斷樣本,不要將每個Token的所有資料都同步到雲端。
從Wandb和TensorBoard遷移
SwanLab提供Wandb同步功能,可將Wandb的指標轉移到SwanLab中;同時也支援讀取TensorBoard的日誌,或作為訓練框架的替代日誌記錄工具。
遷移有助於集中歷史實驗並在國內網絡環境中使用。
第三方日誌的資料類型、Step和媒體格式可能無法一一對應。正式遷移前應選擇代表性項目檢查曲線點數、參數、摘要和檔案是否完整。
雲端Free免費方案
目前公開的價格頁面顯示,雲端Free版每月費用為0元,適合個人研究及小規模實驗,並提供10GB的儲存空間。免費版每10分鐘可上傳約50萬個數據點,超過此速率後將會受到限制。
當儲存空間用盡後,將無法建立新的實驗,但正在運行的實驗仍會盡力完成。在開始執行耗時較長的任務之前,應先檢查剩餘的空間,並及時刪除或導出那些不再需要的巨大檔案。
Pro與團隊方案
價格頁面目前將Pro標示為59元/人/月,包含100GB的儲存空間,資料傳輸速率則提升至每10分鐘約500萬,適用於專業個人使用者;但購買按鈕上同時標註著「即將上線」,因此無法視為已可普遍購買。
團隊檔也在價格頁展示但同樣標註即將上線。具體標價、席位、協作者、團隊空間和正式開放時間可能繼續變化,購買前應以帳戶結算頁為準。
Enterprise企業方案
Enterprise採用訂製價格,適用於需要團隊協作、更高I/O處理能力以及更強管理功能的企業。它可提供訂製化的儲存方案、更高的資料處理速度、團隊權限控制、SSO功能、安全的連線方式,以及專屬的企業管理後台和支援服務。
官方說明,企業每10分鐘可處理1億個或更多數據點,具體數量則視需求而定。合約中應明確規定席位數、併發量、儲存空間、資料保留期限、備份方式、SLA服務水平、資料遷移以及技術支援等內容。
離線模式
SDK支援Online、Local、Offline和Disabled等模式。網路受限時可先把實驗記錄保存在本地,再用工具查看或在恢復連接後同步,適合實驗室內網、雲訓練節點和臨時斷網環境。
離線目錄屬於實驗資產,應納入備份和訪問控制。清理訓練輸出時不要誤刪未同步日誌;
重新同步前也要避免重複Run。
社區版私有化部署
社群版可透過 Docker Compose 或官方的 Helm Chart 來部署,可使用 PostgreSQL、Redis、ClickHouse、MinIO 以及網關等服務。Docker 的最低建議配置為 2 核心 CPU、4GB 記憶體和 20GB 的儲存空間,而實際長期使用時,則應配置更高的資源並做好備份。
個人可在官網免費申請1個社區版許可證,每年需重新申請一次,且僅限用於非商業用途。社區版僅供個人使用,不支援多人協作、團隊功能、角色權限、SSO以及管理後台。
Docker與Kubernetes
Docker部署適合用於個人伺服器,預設的網關端口為8000,而MinIO的簽名端口則為9000。Kubernetes部署則需要Kubernetes 1.24及以上版本,以及Helm 3.9及以上版本;此外,還可以外掛高可用性的資料庫、快取系統和物件儲存服務。
預設下,Kubernetes的基礎組件為單實例,這並不等同於企業級的高可用性。在生產環境中,必須規劃PVC、備份、災難復原、Ingress、TLS、Secret、監控以及滾動升級等功能。
企業私有化版
企業版在離線部署的基礎上,增加了多人協作、團隊功能、權限控制、SSO、管理後台以及官方支援,同時也支援Docker或Kubernetes方案。價格請聯絡官方。
部署在內網時仍可能需要License啟用或離線驗證。採購前應確認完全斷網條件、許可證更新方式、鏡像交付、漏洞修復及資料導出。
通知與插件
插件可將訓練狀態發送到飛書、釘釘、企業微信、Slack或郵件,也能產生CSV、Webhook及擴展數據處理格式。適合在損失異常、任務完成或系統崩潰時發出提醒。
通知內容可能包含實驗名稱、指標和頁面入口,敏感項目應使用內部機器人並限制群組範圍;Webhook需要驗證來源和重放保護。
API Key與資料安全
無論是雲端服務還是私有服務,都需透過 API Key 來進行認證。該金鑰應儲存在環境變數或 Secret 中,不得被上傳到 Git、Notebook 的輸出內容中,或是被分享出去。
每個用戶和環境應使用獨立Key。
實驗數據可能包含模型行為、代碼版本和未公開指標。組織應設定訪問權限、保留期、數據分級和刪除流程,公開分享前檢查媒體與Config。
SwanLab使用教學
完成一次基礎任務
- 安裝並配置SwanLab,為實驗建立獨立項目和運行名稱;
- 在訓練腳本中記錄超參數、資料版本、代碼版本和隨機種子;
- 透過實驗初始化與指標記錄初始化任務並連接正確的雲端或私有服務;
- 使用訓練可視化持續記錄Loss、指標、日誌和硬體狀態;
- 運行小規模訓練,檢查步數、單位、曲線和媒體樣本是否正確;
- 完成後保存模型、配置、結果與可復現實驗說明;
建立可重複使用的專業工作流
- 統一專案、實驗、指標和標籤命名規範;
- 將實驗初始化與指標記錄、訓練可視化以及多媒體和大模型內容納入訓練模板;
- 為數據集、代碼、環境和模型建立版本關聯;
- 使用相同評測集和口徑比較實驗,避免只看平滑曲線;
- 限制敏感樣本、提示詞和模型輸出的上傳範圍;
- 設定異常告警、保留策略和人工複核後再推廣到團隊;
適合哪些用戶?
- 需要集中查看Loss、指標和超參數的個人訓練者;
- 進行大模型微調、強化學習和多模態訓練的團隊;
- 希望替代或遷移Wandb、增強TensorBoard協作能力的用戶;
- 使用昇騰、寒武紀、崑崙、沐曦等國產加速器的實驗室;
- 要求離線或私有化保存實驗數據的企業。
產品優勢
- Python接入簡單,支援40多種訓練框架;
- 指標、媒體、日誌、環境和硬體監控類型豐富;
- 支援雲端、離線、Docker和Kubernetes;
- 相容國產加速器並提供中文文件;
- 可遷移Wandb和TensorBoard歷史數據;
- SDK採用Apache 2.0開源。
限制與注意事項
- 雲端儲存和資料點速率有上限,媒體日誌會快速佔用空間;
- Pro和團隊檔目前仍標註即將上線;
- 社區自託管免費License限制個人和非商業使用,並不具備團隊治理;
- 服務端與雲端並非全部開源,企業版需訂製授權;
- 實驗追蹤不能替代模型倉庫、資料版本、部署登錄表和完整MLOps流程;
- 重要專案仍應保存Checkpoint、數據哈希和代碼版本;
常見問題
SwanLab免費嗎?
雲端Free為0元並含10GB。個人可免費申請社區自託管License,但限制商業用途且每年刷新;
企業協作需付費方案。
SwanLab Pro多少錢?
價格頁面目前顯示為59元/人/月、100GB儲存空間,但仍標註為即將上線,正式價格及購買時間以帳戶頁面為準。
SwanLab可以完全離線使用嗎?
支援離線記錄與自托管。新版自托管支援離線驗證License,但部署前應確認許可證的申請、更新以及斷網條件。
SwanLab支援LLaMA Factory嗎?
支援,亦整合了ms-swift、Transformers、veRL、TRL等大量訓練框架,可透過回呼或report_to參數啟用。
SwanLab是開源的嗎?
Python SDK採用Apache 2.0開源,但雲端部分為閉源,自託管服務則透過獨立鏡像和許可證提供,因此不能稱為完整的雲平台全開源。
桂公網安備45132202000164號