Skip to content

Latest commit

 

History

History
550 lines (367 loc) · 53.7 KB

File metadata and controls

550 lines (367 loc) · 53.7 KB
SwanLab

Профессиональная платформа для анализа обучения искусственного интеллекта
Глубокий анализ миллионов показателей, ускоренная итерация экспериментов, интеграция с 50+ ведущими фреймворками для обучения искусственного интеллекта

🔥SwanLab Online · 📃 Документация · Сообщить о проблеме · Оставить отзыв · История изменений


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

👋 Присоединяйтесь к нашей группе в WeChat

Содержание


🌟 Последние обновления

  • 2026.03.25: 📊 Закрепление экспериментов теперь доступно — закрепите лучшие эксперименты в самом удобном месте одним кликом; функция сравнения с Baseline теперь доступна, поддержка сравнения экспериментов с baseline с отображением процентного отклонения, ускоряя поиск оптимальных параметров;
swanlab-baseline.mp4
  • 2026.03.19: 📊 Добавлена функция дублирования экспериментов, поддержка создания копий экспериментов в разных проектах и командах; parallel режим теперь доступен, поддержка одновременного записи показателей в разных процессах; ID эксперимента теперь можно настраивать;

  • 2026.02.06: 🔥swanlab.Api теперь доступен, предоставляя более мощный, объектно-ориентированный открытый API интерфейс, документация; ECharts.Table поддерживает CSV-загрузку; теперь поддерживается однократное размещение графиков на вершине групп;

  • 2026.01.28: ⚡️ LightningBoard V2 теперь доступен, значительно повышает производительность панели управления;

  • 2026.01.16: ⚡️ LightningBoard (Lightning Dashboard) V1 теперь доступен, предназначен для сценариев с очень большим количеством графиков; добавлена ссылка на встраивание графиков, теперь вы можете встраивать свои графики в онлайн-документы (например, Notion, Lark и т.д.);

  • 2026.01.02: 🥳 Добавлена поддержка AMD ROCm и Iluvatar GPU мониторинга оборудования; SDK добавлена функция отправки сердцебиений, обеспечивающая более стабильное подключение к облаку/оффлайн;

  • 2025.12.15: 🎉 SwanLab Kubernetes版 теперь доступен! 🔗 Документация; NVIDIA NeMo RL фреймворк теперь интегрирован с SwanLab, документация;

  • 2025.12.01: 🕰 Добавлено подробное отображение информации линейного графика, при наведении курсора на линейный график нажатие Shift включает подробный режим, позволяющий отображать время точки лога; 📊 Группировка графиков поддерживает отображение диапазона областей MIN/MAX;

  • 2025.11.17: 📊 Добавлена поддержка выбора источника данных для оси X в глобальной настройке графиков и поддержка режима наведения, что повышает опыт анализа графиков; добавлена функция SWANLAB_WEBHOOK, документация

Полный список изменений
  • 2025.11.06: 🔪 Группировка экспериментов теперь доступна — поддержка управления группами для больших партий экспериментов; страница рабочего пространства обновлена, позволяя быстро переключаться между несколькими организациями; значительно улучшена производительность рендеринга линейных графиков; swanlab.init теперь поддерживает параметры group и job_type;

  • 2025.10.15: 📊 Добавлена поддержка выбора источника данных для оси X в настройке линейных графиков; в боковой панели теперь отображаются закрепленные столбцы в табличном представлении, что повышает согласованность данных экспериментов;

  • 2025.09.22: 📊 Новый UI запущен; табличное представление теперь поддерживает глобальную сортировку и фильтрацию; данные на уровне табличного представления и графического представления объединены.

  • 2025.09.12: 🔢 Добавлена поддержка создания скалярных графиков, позволяющая гибко отображать статистические значения показателей экспериментов; страница управления организациями была обновлена, предоставляя более мощные возможности управления правами и управление проектами;

  • 2025.08.19: 🤔 Более мощная производительность рендеринга графиков и низкая инвазия загрузки анимации, позволяет исследователям сосредоточиться на анализе экспериментов; интеграция отличных фреймворков MLX-LM и SpecForge, предоставляющих больше сценариев обучения;

  • 2025.08.06: 👥 Совместное обучение теперь доступно, поддержка приглашения участников проекта, совместного просмотра проекта и QR-кода; поддержка спискового представления проекта;

  • 2025.07.29: 🚀 Добавлена поддержка фильтрации и сортировки экспериментов в боковой панели; 📊 Добавлена панель управления столбцами в табличном представлении, позволяющая легко скрывать и отображать столбцы; 🔐 Добавлена поддержка управления несколькими API Key, что делает ваши данные более безопасными; swanlab sync теперь поддерживает файлы журналов сбоев обучения; PR кривая, ROC кривая, матрица путаницы теперь доступны, документация;

  • 2025.07.17: 📊 Добавлена поддержка настройки линейных графиков, поддержка гибкой настройки типа линии, цвета, толщины, сетки, позиции легенды и т.д.; 📹 Добавлена поддержка типа данных swanlab.Video, поддержка записи и визуализации файлов в формате GIF; глобальная панель диаграмм теперь поддерживает настройку оси Y и максимальное количество отображаемых экспериментов;

  • 2025.07.10: 📚 Добавлена поддержка текстового представления, поддержка Markdown-рендеринга и переключения направления клавиатуры, которые можно создать с помощью swanlab.echarts.table и swanlab.Text, демонстрация

  • 2025.07.06: 🚄 Поддержка возобновления обучения; новый плагин Файловый логгер; интеграция ray фреймворка, документация; интеграция ROLL фреймворка, спасибо @PanAndy, документация

  • 2025.06.27: Добавлена поддержка малого масштабирования для линейных графиков; добавлена поддержка плавного масштабирования для отдельных линейных графиков; значительно улучшена интерактивность изображений после масштабирования.

  • 2025.06.20: 🤗 Интегрирована платформа accelerate, PR, документация, улучшает опыт записи и анализа экспериментов в распределенном обучении.

  • 2025.06.18: 🐜 Интегрирована платформа AREAL, спасибо @xichengpro, PR, документация; 🖱 Добавлена подсветка соответствующих кривых при наведении мыши на эксперименты в боковой панели; Поддержка сравнения линейных графиков между группами; Возможность настройки правил обрезки названий экспериментов;

  • 2025.06.11: 📊 Добавлена поддержка типа данных swanlab.echarts.table, позволяющая отображать чистые текстовые диаграммы; добавлена поддержка растягивающего взаимодействия для групп, позволяющая отображать больше диаграмм одновременно; добавлены опции максимального/минимального значения для табличных представлений;

  • 2025.06.08: ♻️ Поддержка локального сохранения полных файлов журналов экспериментов и их синхронизации с облаком/частным размещением через swanlab sync; Мониторинг оборудования поддерживает Hygon DCU.

  • 2025.06.01: 🏸 Поддержка свободного перетаскивания диаграмм; Поддержка настройки диаграмм ECharts с добавлением 20+ типов, включая столбчатые, круговые и гистограммы; Мониторинг оборудования поддерживает GPU 沐曦; Интеграция фреймворка PaddleNLP.

  • 2025.05.25: Поддержка записи стандартного потока ошибок, позволяет лучше записывать вывод из фреймворков, таких как PyTorch Lightning; мониторинг оборудования поддерживает Moore Threads; добавлена функция защиты записи команд запуска, где API Key будет автоматически скрыт.

  • 2025.05.14: Добавлена поддержка экспериментов с тегами; поддерживается Log Scale для линейных графиков; поддерживается перетаскивание для групп; значительно улучшена производительность загрузки и отображения больших объемов данных.

  • 2025.05.09: Добавлена поддержка создания линейных графиков; в функции настройки графиков добавлена возможность выбора источника данных, что позволяет отображать разные показатели на одном графике; реализована возможность создания GitHub-значков для учебных проектов.

  • 2025.04.23: Добавлена поддержка ​​редактирования​​ линейных графиков, возможность свободной настройки диапазонов данных осей X и Y и стилей заголовков; поиск в графиках теперь поддерживает ​​регулярные выражения​​; добавлено обнаружение и мониторинг оборудования ​​Kunlun Core XPU​​.

  • 2025.04.14: Добавлена поддержка Kunlunxin XPU для мониторинга оборудования, #940.

  • 2025.04.11: Добавлена поддержка локального выбора для графика; поддерживается глобальный шаг для текущего графика.

  • 2025.04.08: Добавлена поддержка типа данных swanlab.Molecule, позволяющая записывать и визуализировать биохимические молекулярные данные; поддерживается сохранение состояния сортировки, фильтрации и порядка столбцов в табличных представлениях.

  • 2025.04.07: Мы завершили совместную интеграцию с EvalScope. Теперь вы можете использовать SwanLab в EvalScope для оценки производительности больших моделей.

  • 2025.03.30: Добавлена поддержка метода swanlab.Settings, обеспечивающего более точный контроль над поведением экспериментов; добавлена поддержка мониторинга оборудования Cambricon MLU; интегрированы уведомления через Slack и Discord.

  • 2025.03.21: 🎉🤗 HuggingFace Transformers официально интегрировал SwanLab (версия >=4.50.0), #36433. Добавлена поддержка графиков Object3D, теперь вы можете отслеживать и визуализировать 3D облака точек, docs. Мониторинг оборудования поддерживает запись памяти GPU (МБ), использования диска, а также отправленных и полученных данных сети.

  • 2025.03.12: 🎉🎉 SwanLabсамостоятельное размещение теперь доступно! 🔗 Документация; SwanLab теперь поддерживает расширение плагинов, таких как Email Notification и Lark Notification.

  • 2025.03.09: Добавлена интеграция с MLFlow, теперь вы можете использовать SwanLab для отслеживания и визуализации экспериментов MLFlow.

  • 2025.03.06: Мы объединили усилия с DiffSynth Studio, теперь вы можете использовать SwanLab в DiffSynth Studio для отслеживания и визуализации экспериментов по тонкой настройке больших моделей инструкция по использованию.

  • 2025.03.04: Добавлена интеграция с MLFlow, теперь вы можете использовать SwanLab для отслеживания и визуализации экспериментов MLFlow.

  • 2025.03.01: Добавлена функция перемещения экспериментов, теперь вы можете перемещать эксперименты между организациями и проектами.

  • 2025.02.24: Мы объединили усилия с EasyR1, теперь вы можете использовать SwanLab в EasyR1 для отслеживания и визуализации экспериментов по тонкой настройке больших моделей инструкция по использованию.

  • 2025.02.18: Мы объединили усилия с Swift, теперь вы можете использовать SwanLab в Swift's CLI/WebUI для отслеживания и визуализации экспериментов по тонкой настройке больших моделей инструкция по использованию.

  • 2025.02.16: Добавлены функции перемещения групп и создания групп.

  • 2025.02.09: Мы объединили усилия с veRL, теперь вы можете использовать SwanLab в veRL для отслеживания и визуализации экспериментов по тонкой настройке больших моделей в LLaMA Factory, инструкция по использованию.

  • 2025.02.05: swanlab.log поддерживает вложенные словари #812, поддерживает параметры name и notes.

  • 2025.01.22: Добавлена функция sync_tensorboardX и sync_tensorboard_torch, поддерживающая синхронизацию с этими двумя TensorBoard фреймворками.

  • 2025.01.17: Добавлена функция sync_wandb, документация, поддерживающая синхронизацию с отслеживанием экспериментов Weights & Biases; значительно улучшена производительность рендеринга логов.

  • 2025.01.11: Облачная версия значительно оптимизировала производительность таблиц проектов и добавила поддержку таких функций, как перетаскивание, сортировка и фильтрация.

  • 2025.01.01: Добавлено сглаживание графиков и возможность изменения размера графиков перетаскиванием, улучшено взаимодействие с графиками.

  • 2024.12.22: Интеграция с LLaMA Factory, теперь можно использовать SwanLab для отслеживания и визуализации экспериментов по тонкой настройке больших моделей в LLaMA Factory, инструкция по использованию.

  • 2024.12.15: Добавлена функция мониторинга оборудования (0.4.0), поддерживается запись и мониторинг системной информации для CPU, NPU (Ascend), GPU (Nvidia).

  • 2024.12.06: Добавлена интеграция с LightGBM и XGBoost; увеличено ограничение на длину строки в логах.

  • 2024.11.26: Вкладка "Окружение" — раздел "Оборудование" теперь поддерживает распознавание Huawei Ascend NPU и Kunpeng CPU; раздел "Облачные провайдеры" поддерживает распознавание QingCloud.


👋🏻 Что такое SwanLab

SwanLab — это открытый и легковесный инструмент для отслеживания и визуализации обучения моделей искусственного интеллекта, предоставляющий платформу для отслеживания, записи, сравнения и совместной работы над экспериментами.

swanlab-demo.mp4

SwanLab ориентирован на исследователей в области ИИ, предлагая удобный Python API и красивый интерфейс, а также функции визуализации обучения, автоматической записи логов, записи гиперпараметров, сравнения экспериментов и совместной работы. С помощью SwanLab исследователи могут обнаруживать проблемы в обучении на основе наглядных графиков, сравнивать несколько экспериментов для поиска идей и делиться результатами через онлайн-страницы и совместное обучение в организациях, что упрощает коммуникацию в команде и повышает эффективность обучения.

Основные функции:

1. 📊 Отслеживание метрик и гиперпараметров: Минималистичный код для встраивания в ваш ML pipeline, отслеживание ключевых метрик обучения.

  • Поддержка облачного использования (аналогично Weights & Biases), возможность просмотра прогресса обучения в любое время. Как смотреть эксперименты на телефоне
  • Поддержка записи гиперпараметров и их отображения в таблицах.
  • Поддерживаемые типы данных: скалярные метрики, изображения, аудио, текст, 3D точки, биохимические молекулы...
  • Поддерживаемые типы графиков: линейные графики, медиа-графики (изображения, аудио, текст, 3D точки, биохимические молекулы), ...
  • Автоматическая запись логов: логирование, информация об оборудовании, Git-репозитории, окружение Python, список библиотек Python, рабочая директория проекта.

swanlab-architecture

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), MLU (Cambricon), памяти.

4. 📦 Управление экспериментами: Централизованная панель управления, разработанная для сценариев обучения, позволяет быстро просматривать и управлять несколькими проектами и экспериментами.

5. 🆚 Сравнение результатов: Сравнение гиперпараметров и результатов разных экспериментов через онлайн-таблицы и графики, поиск идей для улучшения.

6. 👥 Онлайн-сотрудничество: Возможность совместного обучения с командой, синхронизация экспериментов в реальном времени в одном проекте, просмотр записей обучения команды и обсуждение результатов.

7. ✉️ Поделиться результатами: Копирование и отправка постоянных URL для обмена каждым экспериментом, удобная отправка партнерам или встраивание в онлайн-заметки.

8. 💻 Поддержка самостоятельного размещения: Поддержка оффлайн использования, локальная версия также позволяет просматривать панель управления и управлять экспериментами.

9. 🔌 Плагины: Поддержка расширения сценариев использования SwanLab с помощью плагинов, например Lark Notification, Slack Notification, CSV Logger и т.д.

Important

Добавьте проект в избранное, чтобы получать уведомления о всех новых выпусках без задержек ~ ⭐️

star-us


📃 Онлайн-демонстрация

Ознакомьтесь с онлайн-демонстрацией SwanLab:

Классификация кошек и собак с ResNet50 Обнаружение объектов с Yolov8-COCO128
Отслеживание простой модели ResNet50 для задачи классификации изображений на наборе данных кошек и собак. Использование Yolov8 для задачи обнаружения объектов на наборе данных COCO128, отслеживание гиперпараметров и метрик обучения.
Тонкая настройка Qwen2 Прогнозирование акций Google с LSTM
Отслеживание тонкой настройки большой языковой модели Qwen2 для выполнения простых инструкций. Использование простой модели LSTM для прогнозирования будущих цен акций Google на наборе данных акций.
Классификация аудио с ResNeXt101 Тонкая настройка Qwen2-VL на наборе данных COCO
Постепенный процесс экспериментов от ResNet к ResNeXt в задаче классификации аудио. Тонкая настройка мультимодальной модели Qwen2-VL на наборе данных COCO2014 с использованием Lora.
EasyR1 multimodal LLM RL Training Qwen2.5-0.5B GRPO Training
Использование EasyR1 для многомодального RL обучения LLM Тонкая настройка Qwen2.5-0.5B модели на наборе данных GSM8k с использованием GRPO.

Больше примеров


🏁 Быстрый старт

1. Установка

pip install swanlab
Установка из исходного кода

Если вы хотите испытать новейшие функции, вы можете установить программу из исходного кода.

# Method 1
git clone https://github.com/SwanHubX/SwanLab.git
pip install -e .

# Method 2
pip install git+https://github.com/SwanHubX/SwanLab.git
Установка расширения панели управления

Документация по расширению панели управления

pip install 'swanlab[dashboard]'

2. Вход и получение API Key

  1. Бесплатная регистрация аккаунта

  2. Войдите в аккаунт, скопируйте ваш API Key в разделе пользовательских настроек > API Key

  3. Откройте терминал и введите:

swanlab login

При появлении запроса введите ваш API Key, нажмите 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-kubernetes

Подробные инструкции по развертыванию:


🚗 Интеграция с фреймворками

Используйте ваш любимый фреймворк вместе с SwanLab!
Ниже приведен список уже интегрированных фреймворков. Если вы хотите предложить интеграцию с другим фреймворком, создайте Issue.

Основные фреймворки

Фреймворки для обучения LLM

Фреймворки для обучения с подкреплением LLM

Робототехнические фреймворки

Фреймворки для текста в изображение/видео

Фреймворки глубокого обучения

Фреймворки компьютерного зрения

Фреймворки машинного обучения

Оценочные фреймворки

Традиционные фреймворки обучения с подкреплением

Другие фреймворки:

Больше интеграций


🆚 Сравнение с известными инструментами

Tensorboard vs SwanLab

  • ☁️ Поддержка онлайн-использования: SwanLab позволяет легко синхронизировать и сохранять эксперименты в облаке, что удобно для удаленного просмотра прогресса обучения, управления историей проектов, обмена ссылками на эксперименты, отправки уведомлений и просмотра экспериментов на разных устройствах. Tensorboard — это оффлайн инструмент для отслеживания экспериментов.

  • 👥 Совместная работа: При совместной работе над проектами машинного обучения SwanLab упрощает управление проектами, обмен ссылками на эксперименты и обсуждение результатов. Tensorboard в основном предназначен для индивидуального использования и не поддерживает совместную работу.

  • 💻 Постоянная и централизованная панель управления: Независимо от того, где вы обучаете модель — на локальном компьютере, в лабораторном кластере или на облачном GPU, результаты будут записываться в одну централизованную панель управления. Tensorboard требует ручного копирования и управления файлами TFEvent с разных машин.

  • 💪 Более мощные таблицы: SwanLab позволяет просматривать, искать и фильтровать результаты из разных экспериментов, что упрощает поиск лучшей модели для различных задач. Tensorboard не подходит для крупных проектов.

Weights and Biases vs SwanLab

  • Weights and Biases — это закрытая MLOps платформа, требующая подключения к интернету.

  • SwanLab поддерживает как онлайн, так и оффлайн использование, а также предоставляет открытую и бесплатную версию для самостоятельного размещения.


🔌 Плагины

Расширьте функциональность SwanLab и улучшите управление экспериментами с помощью плагинов!


👥 Сообщество

Периферийные репозитории

  • self-hosted: Репозиторий скриптов для частного развертывания.
  • SwanLab-Docs: Официальный репозиторий документации.
  • SwanLab-Dashboard: Репозиторий оффлайн-дашборда, содержащий веб-код для легковесного оффлайн-дашборда, открываемого командой swanlab watch.

Сообщество и поддержка

  • GitHub Issues: Ошибки и проблемы при использовании SwanLab.
  • Электронная почта: Отправка отзывов и вопросов по использованию SwanLab.
  • Группа в WeChat: Обсуждение вопросов по использованию SwanLab, обмен новыми технологиями в области ИИ.

Значок SwanLab для README

Если вам нравится использовать SwanLab в вашей работе, добавьте значок SwanLab в ваш README:

[![](https://raw.githubusercontent.com/SwanHubX/assets/main/badge2.svg)](your experiment url)
[![](https://raw.githubusercontent.com/SwanHubX/assets/main/badge1.svg)](your experiment url)

Больше дизайнерских материалов:assets

Цитирование 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.

История звезд

Star History Chart