SwanLab
Free value-added services
Comprehensive List of AI Tools AI training models

SwanLab

A domestic MLOps platform used for experiment tracking, visual analysis, and team collaboration.

Tags:

What is SwanLab?

SwanLab is a platform for tracking, visualizing, and collaborating on AI training experiments, developed by Emotional Machine (Beijing) Technology Co., Ltd. It integrates into training scripts through a Python SDK to continuously record values such as Loss, Accuracy, learning rate, hyperparameters, logs, hardware status, and media results, which can then be viewed and compared on a web dashboard.

The product supports official cloud services, offline recording, and private deployment. It is similar to Tools such asWeights & Biases and TensorBoard, but places greater emphasis on a Chinese-friendly user interface, monitoring of domestic hardware, open-source SDKs, and local deployment. It is suitable for deep learning tasks, fine-tuning of large models, reinforcement learning, as well as visual and traditional machine learning experiments.

Current version and open-source status

Package or versionPrices, quotas, and core benefits
ProOn the pricing page for Pro and team plans, the Pro option is listed at 59 yuan per person per month; it includes 100GB of storage, with a data transfer rate of around 5 million data points every 10 minutes, and is intended for professional individual users.
FreeThe current pricing page for the Cloud Free plan shows that its cost is 0 yuan per month; it is suitable for individual research and small-scale experiments, and includes 10GB of storage. Cloud Free costs 0 yuan and provides 10GB of storage.
Free versionThe free version allows the upload of about 500,000 data points every 10 minutes; any exceedance of this rate will result in restrictions.
Community versionIndividuals can apply for a community version license for free on the official website; it needs to be renewed annually and is intended for non-commercial use only.

As of this verification, the SwanLab Python SDK available on the official GitHub repository has reached version 0.8.x, with the most recent publicly released version being 0.8.2. Both the SDK and the core client repository are licensed under Apache License 2.0, allowing for use, modification, and distribution in accordance with the terms of this license.

It is necessary to distinguish between SDKs, cloud-based services, and self-hosted servers: The main GitHub repository provides the training-related SDKs as well as local functionalities; the official documentation also states that the cloud-based components are not open source. Self-hosting options are available through separate mirrors and deployment repositories, and activation requires a license.

Therefore, the entire SwanLab cloud platform cannot be considered to have its source code fully made available.

Experiment initialization and metric recording

After installation, a Run is created using swanlab.init, during which the Project name, experiment name, description, and configuration are set; swanlab.log is used to record metrics throughout the training loop, and finish is called at the end.

The SDK sends the time steps, metrics, hyperparameters, and runtime status to the cloud or a specified private host.

The indicator key should remain constant, and the step value should have a clear meaning. Mixing data with different frequencies and units in the same curve can lead to misinterpretations.

In distributed training, only the main process is typically used to report global metrics, in order to avoid redundancy and network overhead.

Training visualization

The web version supports line charts, bar charts, scatter plots, box plots, heat maps, pie charts, radar charts, as well as custom ECharts visuals. Users can search for, filter, and group experiments, overlay multiple curves, and compare hyperparameters with the final results.

Curve smoothing is used only for observing trends and cannot replace the original data. When conducting comparative experiments, it is necessary to keep the datasets, random seeds, number of training steps, and evaluation criteria consistent, and to retain the unsmoothed values in order to avoid mistaking the visual appearance for an actual improvement.

Multimedia and large-model content

SwanLab can record images, audio, video, text, 3D point clouds, and biochemical molecules, and it provides Markdown-based visualization for content generated by LLMs. For visual tasks, prediction boxes and samples can be displayed; when training large models, Prompt, Response, and Reward values can be examined randomly.

Media files quickly consume storage space and upload bandwidth. It is necessary to take samples at regular intervals, and to limit their size, duration, and quantity.

Before uploading, mask the training samples, user prompts, and model outputs.

Automatic logging and runtime environment

The SDK can automatically record Python logs, hardware environment details, Git repository information, the Python version, the list of dependencies, and the project’s execution directory, thereby providing context for reproducing experiments. After resuming training from a breakpoint, it is possible to add additional metrics to the existing run data.

Automatic collection may include branch names, command parameters, file paths, and dependency information. Enterprises should review the scope of what is recorded, and avoid including API keys, internal addresses, and customer data in Config or logs.

Hardware monitoring

SwanLab can monitor the CPU, memory, and various accelerators, including NVIDIA GPUs, Ascend NPU, Cambricon MLU, Kunlun XPU, Muxi, and Moore Thread devices. It allows for the monitoring of utilization rates, video memory usage, temperature, power consumption, as well as process-related metrics, which helps in identifying data bottlenecks and OOM issues.

The collection of hardware metrics relies on manufacturer drivers and tools, and the fields supported by different devices are not entirely identical. A high sampling frequency increases overhead, and time synchronization is necessary when working across different machines.

Experimental comparison and tables

The project view allows for the centralized management of a large number of runs; it enables filtering by status, creator, parameters, and final metrics, after which experiments can be selected to generate comparison charts. It is suitable for hyperparameter tuning, ablation studies, selection of model versions, and analysis of reasons for failures.

The name of an experiment should include key information such as the model, data, method, and date; tags and groups must be standardized. Relying solely on automatically generated IDs makes it difficult for teams to keep track of the progress of research among thousands of experiments.

Framework integration

The official documentation lists over 40 frameworks and tools that can be integrated, including PyTorch, Transformers, PyTorch Lightning, Keras, LLaMA Factory, ms-swift, XTuner, MMEngine, Ultralytics, PaddleDetection, LightGBM, XGBoost,

Stable Baselines3, veRL, TRL, EasyR1, TensorBoard, Wandb, MLflow, Hydra, and Accelerate.

Integration is usually achieved through Callbacks, the report_to parameter, or a Logger. Framework upgrades may change the callback interfaces and the names of the metrics; therefore, it is necessary to stick to a compatible version and first test it with short tasks.

LLaMA Factory and ms-swift

LLaMA Factory can use SwanLab as the backend for generating reports, which keeps track of SFT, LoRA, and preference alignment training; ms-swift is integrated through the report_to, Project, Workspace, and experiment name parameters, and it is available both via CLI and WebUI.

SwanLab is responsible only for monitoring; it does not provide computing resources for training nor can it guarantee the quality of fine-tuning. The costs associated with GPUs, model weights, data, and Checkpoints remain under the responsibility of the training platform or the user themselves.

Reinforcement learning training

The platform integrates frameworks such as veRL, TRL, EasyR1, AReaL, ROLL, NVIDIA NeMo RL, and MindSpeed-RL, and it is capable of tracking metrics like Reward, KL, Entropy, Policy Loss, generation length, and hardware-related indicators.

There are a large number of reinforcement learning metrics, and they are uploaded frequently, which can easily lead to restrictions on the amount of data that can be transmitted. It is necessary to keep track of the key online metrics as well as the diagnostic samples that are updated less often; not all data related to each token should be synchronized to the cloud.

Migrate from Wandb and TensorBoard

SwanLab offers Wandb synchronization capabilities, allowing Wandb metrics to be transferred to SwanLab; it also supports reading TensorBoard logs or can serve as an alternative logger for training frameworks.

Migration helps to centralize historical experiments for use within a domestic network environment.

The data types of third-party logs, the steps involved, and the media formats may not correspond one-to-one. Before proceeding with the actual migration, it is necessary to select representative projects to check whether the number of curve points, the parameters, the summaries, and the files are complete.

Cloud Free free plan

The current pricing page shows that the free cloud version costs 0 yuan per month; it is suitable for individual research and small-scale experiments, and includes 10GB of storage space. The free version allows the uploading of around 500,000 data points every 10 minutes, and upload speeds are restricted once this limit is reached.

New experiments cannot be created once storage space is exhausted, but ongoing experiments will be tried to complete as usual. It is necessary to check the remaining space before starting long-running tasks, and to delete or export any large media files that are no longer needed.

Pro and Team Plans

On the pricing page, Pro is listed at 59 yuan per person per month; this plan includes 100GB of storage and a data transfer rate of around 5 million points per 10 minutes, and it is intended for professional individual users. However, the purchase button indicates “Coming soon,” so it cannot be considered available for purchase yet.

The team package is also displayed on the pricing page, with the note that it will be available soon. The specific prices, number of seats, collaborators allowed, team space, and official launch date may still change; therefore, it is necessary to refer to the account settlement page before making a purchase.

Enterprise business solution

Enterprise offers customized pricing and is designed for companies that need team collaboration, higher I/O capabilities, and enhanced governance functions. It provides customized storage, higher data transfer rates, team permissions, SSO, secure connections, an enterprise management dashboard, and dedicated support.

Officially, it is stated that enterprises can handle 100 million or more data points every 10 minutes, depending on their requirements. The contract should specify details such as seats, concurrency levels, storage capacity, data retention periods, backup options, SLAs, data migration procedures, and technical support.

Offline mode

The SDK supports modes such as Online, Local, Offline, and Disabled. When network connectivity is limited, it is possible to save the experiment records locally, view them using the appropriate tool, or synchronize them once the connection is restored; this makes it suitable for use in laboratory intranets, cloud training nodes, and environments with temporary network disruptions.

Offline directories are considered experimental assets and should be subject to backup and access control measures. When cleaning up training outputs, be careful not to delete unsynced logs by accident.

Avoid running it repeatedly before resynchronizing as well.

Community edition private deployment

The community version can be deployed using Docker Compose or the official Helm Chart, and it makes use of services such as PostgreSQL, Redis, ClickHouse, MinIO, and a gateway. As a minimum, Docker requires 2 CPU cores, 4 GB of memory, and 20 GB of storage; for long-term use, it is advisable to allocate more resources as well as set up backups.

Individuals can apply for a community edition license for free on the official website; this license needs to be renewed annually and is intended for non-commercial use only. The community edition is designed for personal use only and does not support multi-user collaboration, team functionality, role-based permissions, SSO, or a management dashboard.

Docker and Kubernetes

Deployment using Docker is suitable for personal servers; the default gateway port is 8000, while the MinIO signing port is 9000. For Kubernetes deployment, version 1.24 or higher is required, as well as Helm 3.9 or higher, and it is possible to integrate high-availability databases, caches, and object storage systems.

By default, the basic components of Kubernetes are implemented as single instances, which does not imply high availability at an enterprise level. In a production environment, it is necessary to plan for PVCs, backups, disaster recovery, Ingress, TLS, Secrets, monitoring, and rolling upgrades.

Enterprise privatized version

The Enterprise version builds on offline deployment by adding features such as multi-user collaboration, team management, permission control, SSO, a management dashboard, and official support; it also supports Docker or Kubernetes solutions. For pricing details, please contact the authorities.

When deployed on an internal network, activation via a license or offline verification may still be required. Before making a purchase, it is necessary to confirm the conditions for complete network isolation, the method of license renewal, the delivery of images, vulnerability fixes, and data export options.

Notifications and plugins

The plugin can send the training status to Lark, DingTalk, WeCom, Slack, or email; it is also capable of generating CSV files, using Webhooks, and handling extended data. It is suitable for sending alerts in cases of abnormal loss values, task completion, or system crashes.

The notification content may include the experiment name, metrics, and page link; for sensitive items, internal bots should be used and the scope of the group should be limited. Webhooks require verification of the source and replay protection.

API Keys and data security

Both cloud-based and on-premises services are authenticated using API keys. These keys should be stored in environment variables or secrets, and must not be uploaded to Git, included in notebook outputs, or shared in scripts.

Each user and environment should use a separate key.

Experimental data may include information regarding model behavior, code versions, and undisclosed metrics. Organizations should establish access controls, retention periods, data classification systems, and deletion procedures, and they should check the media and configuration files before sharing such data publicly.

SwanLab Usage Guide

Complete a basic task.

  1. Install and configure SwanLab, and create separate projects and run names for the experiments;
  2. Record the hyperparameters, data version, code version, and random seed in the training script;
  3. Initialize the experimental tasks as well as the task for tracking metrics, and connect to the appropriate cloud or on-premises service;
  4. Use training visualization to continuously record Loss, metrics, logs, and hardware status;
  5. Run a small-scale training session to check whether the number of steps, units, curves, and media samples are correct;
  6. After completion, save the model, configurations, results, and instructions for reproducing the experiment;

Create reusable professional workflows

  1. Standardize the naming conventions for projects, experiments, metrics, and labels;
  2. Include experiment initialization, metric recording, training visualization, as well as multimedia and large-model content within the training template;
  3. Establish version associations for datasets, code, environments, and models;
  4. Use the same evaluation set and comparison methodology to avoid focusing solely on the smooth curves;
  5. Restrict the scope of uploading sensitive samples, prompts, and model outputs;
  6. Set up exception alerts, retention policies, and conduct manual review before rolling them out to the team;

Which users is it suitable for?

  • Individual trainers who need to monitor Loss values, various metrics, and hyperparameters in a centralized manner;
  • A team responsible for fine-tuning large models, applying reinforcement learning, and carrying out multi-modal training;
  • Users who wish to replace or migrate Wandb and enhance the collaboration capabilities of TensorBoard;
  • Laboratories that use domestic accelerators such as Ascend, Cambricon, Kunlun, and Muxi;
  • Companies that require experimental data to be stored offline or in a private environment.

Product advantages

  • Python offers simple integration and supports over 40 training frameworks;
  • There are a wide range of monitoring types, including metrics, media, logs, environment, and hardware monitoring;
  • Supports cloud, offline, Docker, and Kubernetes;
  • It is compatible with domestic accelerators and provides Chinese documentation;
  • It is possible to migrate Wandb and TensorBoard historical data;
  • The SDK is open-source under Apache 2.0.

Restrictions and Precautions

  • Cloud storage and the rate at which data points can be processed have limits, and media logs will quickly consume available space.
  • The Pro and Team plans are still indicated as upcoming.
  • The community self-hosted free license is intended for personal and non-commercial use only, and it does not provide for team governance;
  • Not all components of the server side and cloud platform are open source; a custom license is required for the enterprise version.
  • Experimental tracking cannot replace model repositories, data versions, deployment registries, and a complete MLOps process.
  • For important projects, Checkpoints, data hashes, and code versions should still be preserved;

Frequently Asked Questions

Is SwanLab free?

The free tier in the cloud costs 0 yuan and includes 10GB of storage. Individuals can obtain a community-hosted license for free, but it is intended for non-commercial use only and requires renewal annually;

Paid plans are required for enterprise collaboration.

How much is SwanLab Pro?

The price page currently shows 59 yuan per person per month for 100GB of storage, but it is indicated that this offer is about to be launched; the actual price and the time when it can be purchased will be specified on the account page.

Can SwanLab be used entirely offline?

It supports offline recording and self-hosting. The new version of self-hosting allows for offline verification of licenses; however, it is necessary to ensure that the license applications, updates, and operations in an offline environment are properly handled before deployment.

Does SwanLab support LLaMA Factory?

It provides support, and it integrates a large number of training frameworks such as ms-swift, Transformers, veRL, TRL, etc.; these can be activated using callback or report_to parameters.

Is SwanLab open source?

The Python SDK is available under the Apache 2.0 open-source license, but the cloud-related components are not open source; the self-hosted version is provided through separate images and licenses, so it cannot be considered a fully open-source cloud platform.

©️Copyright notice: Unless otherwise specified, all articles on this site are copyrighted bySharing of AI toolsAll content on this site is original; without permission, no individual, media outlet, website, or organization may reproduce, copy, or otherwise distribute it, nor may they create mirrors of it on servers that are not owned by this site. Otherwise, we reserve the right to take legal action against such parties in accordance with the law.

Tools similar to SwanLab