SwanLab是什么?
SwanLab是一款AI训练实验跟踪、可视化与协作平台,由情感机器(北京)科技有限公司开发。它通过Python SDK嵌入训练脚本,持续记录Loss、Accuracy、学习率、超参数、日志、硬件状态和媒体结果,再在网页仪表板中查看和比较。
产品同时支持官方云端、离线记录和私有化部署,定位类似Weights & Biases与TensorBoard,但更强调中文体验、国产硬件监控、开源SDK和本地部署。适用于深度学习、大模型微调、强化学习、视觉和传统机器学习实验。
当前版本与开源状态
截至本次核验,官方GitHub的SwanLab Python SDK已进入0.8.x版本,最新公开Release为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版本、依赖列表和项目运行目录,为实验复现提供上下文。断点续训后还可继续向原Run补充指标。
自动采集可能包含分支名、命令参数、文件路径和依赖信息。企业应检查记录范围,不要把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日志或作为训练框架的替代Logger。迁移有助于集中历史实验和在国内网络环境中使用。
第三方日志的数据类型、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个社区版License,每年刷新一次,限制商业用途。社区版仅限个人使用,不支持多人协作、团队、角色权限、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和扩展数据处理。适合在Loss异常、任务完成或崩溃时提醒。
通知内容可能包含实验名、指标和页面入口,敏感项目应使用内部机器人并限制群范围;Webhook需要验证来源和重放保护。
API Key与数据安全
云端或私有服务均通过API Key认证。密钥应保存在环境变量或Secret中,不能提交到Git、Notebook输出或共享脚本。每个用户和环境应使用独立Key。
实验数据可能包含模型行为、代码版本和未公开指标。组织应设置访问权限、保留期、数据分级和删除流程,公开分享前检查媒体与Config。
适合哪些用户?
- 需要集中查看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号