介绍
Xtreme1 是一个多模态训练数据的多合一开源平台。
Xtreme1 在数据标注、策划和本体管理方面解锁了效率,以应对计算机视觉和大型语言模型(LLM)中的机器学习挑战。平台的AI驱动工具将您的标注提升到新的效率水平,为您的2D/3D目标检测、2D/3D语义/实例分割和LiDAR-相机融合项目提供强大支持。
在 Xtreme1 云版本中提供了长期的免费计划。点击 🎉 免费使用云。
README 文档仅包括安装、构建和运行相关的内容,如果您对功能有任何疑问,可以随时参考我们的 文档站点。
在以下平台找到我们 Twitter | Medium | Issues
主要功能
:one: 支持图像、3D LiDAR 和 2D/3D 传感器融合数据集的数据标注
:two: 内置预标注和交互模型支持 2D/3D 对象检测、分割和分类
:three: 可配置的本体中心,用于您的模型训练中的一般类(带有层次结构)和属性
:four: 数据管理和质量监控
:five: 查找标注错误并修复
:six: 模型结果可视化,帮助您评估模型
:seven: 用于大语言模型的 RLHF :new: (测试版)
图像数据策划(可视化和调试)- MobileNetV3 & openTSNE | 用于 LLM 的 RLHF 标注工具(测试版) |
---|---|
安装
前提条件
操作系统要求
任何操作系统都可以使用 Docker Compose 安装 Xtreme1 平台(在 Mac、Windows 和 Linux 设备上安装 Docker Desktop。在 Linux 服务器上,您可以安装带有 Docker Compose 插件的 Docker 引擎。
硬件要求
CPU:AMD64 或 ARM64
RAM:2GB 或更高
硬盘:10GB+ 可用磁盘空间(视数据大小而定)
软件要求
适用于 Mac、Windows 和带桌面的 Linux。
Docker Desktop:4.1 或更新版本
对于 Linux 服务器。
Docker 引擎:20.10 或更新版本
Docker Compose 插件:2.0 或更新版本
(内置)模型部署需求
内置模型容器只能在安装了 NVIDIA CUDA 驱动 和 NVIDIA 容器工具包 的 Linux 服务器上运行。
GPU:NVIDIA T4 或类似 GPU
RAM:4G 或更高
使用 Docker 安装
下载包
下载最新的发布包并解压。
wget https://github.com/xtreme1-io/xtreme1/releases/download/v0.9.1/xtreme1-v0.9.1.zip
unzip -d xtreme1-v0.9.1 xtreme1-v0.9.1.zip
启动服务
进入发布包目录,并执行以下命令以启动所有服务。初始化数据库并准备测试数据集需要几分钟时间。
cd xtreme1-v0.9.1
docker compose up
在浏览器中访问 http://localhost:8190(推荐使用 Google Chrome ),以尝试使用 Xtreme1!如果您想从另一台机器访问,可以将 localhost 替换为 IP 地址。
Docker Compose 将从 Docker Hub 中拉取所有服务镜像,包括基本服务 MySQL
、Redis
、MinIO
,以及应用服务 backend
和 frontend
。您可以在 docker-compose.yml
中找到访问 MySQL、Redis 和 MinIO 的用户名、密码、端口号,例如,您可以在 http://localhost:8194 访问 MinIO 控制台。我们使用 Docker 卷来保存数据,因此在容器重建之间不会丢失任何数据。
Docker Compose 高级命令:
# 在前台启动。
docker compose up
# 或者添加 -d 选项在后台运行。
docker compose up -d
# 完成后,您可以启动或停止所有或特定服务。
docker compose start
docker compose stop
# 停止所有服务并删除所有容器,但数据卷将被保留。
docker compose down
# 危险!删除所有卷。所有 MySQL、Redis 和 MinIO 中的数据。
docker compose down -v
启动内置模型
您需要明确指定一个模型配置文件以启用模型服务。
docker compose --profile model up
确保您在主机上安装了 NVIDIA CUDA 驱动 和 NVIDIA 容器工具包。
# 您需要在 /etc/docker/daemon.json 中将 "default-runtime" 设置为 "nvidia" 并重启 Docker 以启用 NVIDIA 容器工具包
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia"
}
如果您使用 Docker Desktop + WSL2.0,请参考这个 问题 #144。
在 ARM CPU 上运行
请注意,某些 Docker 镜像,包括 MySQL
,可能与 ARM 架构不兼容。如果您的计算机基于 ARM CPU(例如 Apple M1),您可以创建一个 Docker Compose 覆盖文件 docker-compose.override.yml,并包括以下内容。虽然此方法使用 QEMU 仿真来强制在 ARM64 平台上使用 ARM64 镜像,但它可能会影响性能。
services:
mysql:
platform: linux/amd64
从源码安装
如果您想构建或扩展功能,请下载源代码并在本地运行。
启用 Docker BuildKit
我们正在使用 Docker BuildKit 来加速构建速度,例如在构建之间缓存 Maven 和 NPM 包。默认情况下,Docker Desktop 中未启用 BuildKit,您可以按如下方式启用它。有关更多详细信息,您可以查看官方文档 使用 BuildKit 构建镜像。
# 设置环境变量以仅启用 BuildKit 一次。
DOCKER_BUILDKIT=1 docker build .
DOCKER_BUILDKIT=1 docker compose up
# 或者编辑 Docker daemon.json 以默认启用 BuildKit,内容可以类似于 '{ "features": { "buildkit": true } }'。
vi /etc/docker/daemon.json
# 如果遇到某些软件包版本相关的问题,可以清除构建器缓存。
docker builder prune
克隆仓库
git clone https://github.com/basicai/xtreme1.git
cd xtreme1
构建镜像并运行服务
默认情况下,docker-compose.yml
将从 Docker Hub 拉取应用镜像,如果您想从源代码构建镜像,可以注释掉服务的镜像行并取消注释构建行。
services:
backend:
# image: basicai/xtreme1-backend
build: ./backend
frontend:
# image: basicai/xtreme1-frontend
build: ./frontend
然后,当您运行 docker compose up
时,它将首先构建 backend
和 frontend
镜像并启动这些服务。请确保在代码更改时运行 docker compose build
,因为 up
命令只会在镜像不存在时构建镜像。
您不应该提交对
docker-compose.yml
的更改,为了避免这种情况,您可以将 docker-compose.yml 复制到一个新文件docker-compose.develop.yml
,并根据您的开发需求修改此文件,因为此文件已添加到.gitignore
中。您需要在运行 Docker Compose 命令时指定此特定文件,例如docker compose -f docker-compose.develop.yml build
。
许可证
此软件根据 Apache 2.0 许可证授权。Xtreme1 是 LF AI & Data Foundation 的商标。
Xtreme1 现在由 LF AI & Data Foundation 托管,成为第一个开源数据标注注解和可视化项目。
如果 Xtreme1 是您开发过程/项目/出版物的一部分,请引用我们 ❤️ :
@misc{Xtreme1,
title = {Xtreme1 - The Next GEN Platform For Multisensory Training Data},
year = {2023},
note = {Software available from https://github.com/xtreme1-io/xtreme1/},
url={https://xtreme1.io/},
author = {LF AI & Data Foundation},
}