big_vision

GitHub
3.4k 219 困难 1 次阅读 今天Apache-2.0图像开发框架
AI 解读 由 AI 自动生成,仅供参考

big_vision 是谷歌官方开源的视觉模型训练代码库,专为研发 Vision Transformer (ViT)、SigLIP、MLP-Mixer 等前沿架构而打造。它主要解决了在大规模数据集上高效训练复杂视觉模型的难题,提供了从单卡到多达 2048 个 TPU 核心的分布式训练方案,确保实验具备高度的可扩展性与可复现性。

该工具基于 Jax 和 Flax 深度学习框架构建,并整合了 tf.data 与 TensorFlow Datasets 以优化数据输入管道。其核心亮点在于能够无缝支撑超大规模并行计算,让研究人员可以轻松复现谷歌多项顶级论文成果,包括经典的"An Image is Worth 16x16 Words"及后续的缩放定律研究。

big_vision 非常适合从事计算机视觉研究的科研人员、算法工程师以及希望探索大模型训练细节的高级开发者使用。需要注意的是,作为一个动态的研究型代码库,它侧重于支持谷歌内部的前沿探索,因此更适合具备一定深度学习基础、能够适应代码快速迭代的专业技术人群,而非寻求开箱即用商业解决方案的普通用户。

使用场景

某大型电商公司的算法团队正致力于训练一个超大规模视觉模型,以精准识别海量商品图片中的细粒度特征(如服装纹理、材质细节),从而提升搜索推荐准确率。

没有 big_vision 时

  • 分布式训练门槛极高:团队需手动编写复杂的底层代码才能在多张 GPU 或 TPU 上并行训练,从单卡扩展到千卡集群往往需要数周调试,且极易出现通信瓶颈。
  • 复现顶尖模型困难:想要尝试 ViT、SigLIP 或 MLP-Mixer 等前沿架构时,缺乏官方统一的高质量实现,只能依赖社区碎片化代码,导致实验结果难以复现且性能不稳定。
  • 数据管道成为瓶颈:面对亿级图像数据,自建的输入流水线无法高效支撑大规模训练,经常因数据加载速度慢导致昂贵的计算资源闲置等待。
  • 超参数调优盲目:缺乏经过大规模验证的基准配置(Baseline),团队在调整学习率、增强策略等超参数时如同“盲人摸象”,消耗大量算力却难有突破。

使用 big_vision 后

  • 无缝弹性扩展:基于 JAX/Flax 构建的架构支持“开箱即用”的分布式训练,团队可轻松将任务从单核 TPU 平滑扩展至 2048 核集群,大幅缩短模型迭代周期。
  • 直接复用权威架构:直接调用内置的 ViT、FlexiViT 等经过谷歌验证的官方代码和配置文件,确保模型结构的最优性,让研发重心回归到业务逻辑创新。
  • 高效可扩展的数据流:利用集成的 tf.data 和 TensorFlow Datasets 构建高吞吐输入管道,完美匹配大规模计算需求,彻底消除数据加载导致的算力浪费。
  • 站在巨人肩膀上调优:直接参考官方提供的缩放定律(Scaling Laws)配置和最佳实践,快速锁定最优超参数组合,显著提升了最终模型的识别精度。

big_vision 通过提供工业级的大规模视觉训练基础设施,让研发团队能从繁琐的工程泥潭中解脱,专注于探索视觉模型的性能极限。

运行环境要求

操作系统
  • Linux
GPU
  • 支持 GPU 机器或 Google Cloud TPU VMs
  • 若使用 GPU,需兼容 JAX/CUDA 的 NVIDIA 显卡(具体型号未说明),支持从单卡到多卡分布式训练
  • 若使用 TPU,支持最多 2048 核心
内存

未说明

依赖
notes该代码库主要基于 JAX/Flax 框架,专为在 Google Cloud TPU VMs 或 GPU 机器上训练大规模视觉模型设计。它支持从单个 TPU 核心无缝扩展到 2048 个核心的分布式设置。官方主要支持研究用途,不保证及时响应外部功能请求或贡献。部分特定项目的代码可能随时间变化,建议参考文档中提供的已知可用 commit 版本。
python未说明
jax
flax
tensorflow (tf.data)
tensorflow-datasets
big_vision hero image

快速开始

大型视觉模型

该代码库旨在使用Cloud TPU VMs或 GPU 机器来训练大规模视觉模型。它基于Jax/Flax库,并利用tf.dataTensorFlow Datasets构建可扩展且可复现的数据流水线。

开源此代码库主要有两个目的:

  1. 发布在此代码库中开发的研究项目代码(见下方列表)。
  2. 为在 GPU 机器和 Google Cloud TPUs 上运行大规模视觉实验提供一个强有力的起点,能够从单个 TPU 核心无缝扩展到最多包含 2048 个 TPU 核心的分布式设置,开箱即用。

big_vision 的目标是支持 Google 内部的研究项目。我们通常不会处理功能请求或接受外部贡献,除非事先获得批准(请先在 issue 中咨询)。对于一个得到良好支持的纯迁移代码库,也可以参考vision_transformer

请注意,big_vision 是一个非常动态的代码库,尽管我们致力于始终保持核心代码的完全可用性,但我们无法保证位于 .../proj/... 子文件夹中的项目特定代码能够及时更新。不过,我们提供了一个表格,列出了已知特定项目可以正常工作的最后提交记录。

以下研究项目最初是在 big_vision 代码库中开展的:

架构研究

多模态研究

训练

杂项

代码库的高层次组织与原则概览

主入口是一个训练器模块,它通常负责创建模型和优化器、加载数据、保存检查点以及在循环中进行训练和评估等所有样板代码。我们在根目录下提供了标准的训练器 train.py。通常,big_vision 中的各个项目会基于此训练器进行分支并定制。

所有模型、评估器和预处理操作都位于相应的子目录中,并且经常可以在不同项目之间复用。我们鼓励这些目录内的 API 兼容,以促进复用性,但这并不是强制性的,因为各个项目可能需要引入自己的自定义 API。

我们有一个强大的配置系统,配置文件存放在 configs/ 目录中。自定义的训练器和模块可以直接扩展或修改配置选项。

项目特定的代码位于 .../proj/... 命名空间中。由于各种原因,项目特定的代码并不总是能够与核心 big_vision 库保持同步。下面列出了每个项目在预期可以正常工作的 最新已知提交

训练任务对中断具有鲁棒性,可以从上次保存的检查点无缝恢复(前提是用户提供了正确的 --workdir 路径)。

每个配置文件的顶部都包含一个注释,其中有一段用于运行该配置的 COMMAND 代码片段,以及对预期运行时间和结果的一些提示。更多详细信息请见下文,但一般来说,在 GPU 机器上运行时只需调用 python -m COMMAND;而在 TPU 上运行时(包括多主机场景),则需要执行以下命令:

gcloud compute tpus tpu-vm ssh $NAME --zone=$ZONE --worker=all
  --command "bash big_vision/run_tpu.sh COMMAND"

有关如何在 GPU 机器或 Google Cloud TPU 上运行 big_vision 代码的详细说明,请参阅下方内容。

默认情况下,我们会写入检查点和日志文件。日志文件是以 JSON 对象组成的列表,我们提供了一个简短而直接的 示例 Colab,用于读取和显示日志及检查点

当前与未来的内容

首次发布包含了在 Cloud TPU VM 上大规模预训练、迁移和评估分类模型的核心部分。

此后,我们又添加了以下关键功能和项目:

  • 类似 LiT 和 CLIP 的对比图像-文本模型训练与评估。
  • 稳健且一致的蒸馏技术。
  • ViT 的规模扩展。
  • MLP-Mixer。
  • UViM。

我们计划在近期发布的功能和项目(不分先后顺序)包括:

  • TFDS 中的 ImageNet-21k 数据集。
  • 加载我们在论文中使用的其他公开模型(NFNet、MoCov3、DINO)。
  • 内存高效的 Polyak 平滑实现。
  • 高级 JAX 计算与内存分析工具。目前我们使用的是内部工具,但未来可能会增加对公开可用工具的支持。

我们将继续在此处发布在 big_vision 框架内开发的未来研究成果代码。

非内容部分

以下内容存在于该代码库的内部版本中,目前暂无对外发布的计划:

  • 针对质量和速度的常规回归测试,它们高度依赖于内部基础设施。
  • 实验的高级日志记录、监控和可视化工具,这也严重依赖于内部基础设施。不过,我们对此持开放态度,未来可能会加入一些功能,尤其是如果能以独立的方式实现的话。
  • 尚未发表的正在进行中的研究项目。

GPU 设置

我们首先讨论如何在本地 GPU 机器上设置和运行 big_vision,然后再介绍 Cloud TPU 的设置方法。需要注意的是,本地 GPU 设置中的数据准备步骤在很大程度上也可以用于 Cloud TPU 设置。虽然为了简洁起见,相关说明中省略了这一步骤,但我们强烈建议在安装 Python 依赖时使用 虚拟环境

安装 Python 包

第一步是克隆 big_vision 仓库并安装相关的 Python 依赖:

git clone https://github.com/google-research/big_vision
cd big_vision/
pip3 install --upgrade pip
pip3 install -r big_vision/requirements.txt

最新版本的 jax 库可以通过以下命令获取:

pip3 install --upgrade "jax[cuda]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

根据您机器上安装的 CUDA 和 cuDNN 库版本,您可能需要选择不同的 jax 包。更多信息请参考 官方 JAX 文档

准备 tfds 数据

为了统一且可复现地访问标准数据集,我们选择了 tensorflow_datasets (tfds) 库。使用该库时,需要先下载并预处理每个数据集,然后将其存储在硬盘上(或者,如果您使用 Google Cloud,则最好存储在 GCP 存储桶中)。

许多数据集在首次使用时可以自动下载和预处理。尽管如此,我们特意禁用了这一功能,建议在首次运行之前单独完成数据准备步骤。这样可以在出现问题时更方便地进行调试,而且某些数据集,如 imagenet2012,需要手动下载数据。

大多数数据集,例如 cifar100oxford_iiit_petimagenet_v2,都可以通过运行以下命令完全自动地下载和准备:

cd big_vision/
python3 -m big_vision.tools.download_tfds_datasets cifar100 oxford_iiit_pet imagenet_v2

完整的数据集列表可在 此链接 查看。

然而,有些数据集,如 imagenet2012imagenet2012_real,需要手动下载数据并放置到 $TFDS_DATA_DIR/downloads/manual/ 目录中,该目录的默认路径为 ~/tensorflow_datasets/downloads/manual/。例如,对于 imagenet2012imagenet2012_real,需要将官方的 ILSVRC2012_img_train.tarILSVRC2012_img_val.tar 文件放入该目录,然后运行:

python3 -m big_vision.tools.download_tfds_datasets imagenet2012 imagenet2012_real

(这可能需要大约 1 小时。)

如果您使用 Google Cloud,特别是 TPU,可以将预处理后的数据(存储在 $TFDS_DATA_DIR 中)上传到 Google Cloud 存储桶,并在任何 TPU 虚拟机上使用该存储桶来访问数据。

在 GPU 机器上运行

最后,在安装完所有 Python 依赖并准备好 tfds 数据后,用户可以使用自己选择的配置来运行任务。例如,要在 ImageNet 数据上训练 ViT-S/16 模型,应运行以下命令:

python3 -m big_vision.train --config big_vision/configs/vit_s16_i1k.py --workdir workdirs/`date '+%m-%d_%H%M'`

或者要训练 MLP-Mixer-B/16,可以运行(注意 gpu8 配置参数会减少默认的批大小和 epoch 数):

python3 -m big_vision.train --config big_vision/configs/mlp_mixer_i1k.py:gpu8 --workdir workdirs/`date '+%m-%d_%H%M'`

Cloud TPU VM 设置

创建 TPU VM

要创建一台拥有 8 个 TPU 核心的单机,请按照以下 Cloud TPU JAX 文档操作: https://cloud.google.com/tpu/docs/run-calculation-jax

为了支持大规模视觉研究,建议使用多台主机以获得更多核心。下面我们将提供如何实现这一目标的说明。

首先,创建一些可重复使用的变量:

export NAME=<TPU 部署名称,例如 my-tpu-machine>
export ZONE=<GCP 地理区域,例如 europe-west4-a>
export GS_BUCKET_NAME=<存储桶名称,例如 my_bucket>

以下命令行将创建一个拥有 32 个核心、4 台主机的 TPU VM:

gcloud compute tpus tpu-vm create $NAME --zone $ZONE --accelerator-type v3-32 --version tpu-ubuntu2204-base

在 TPU VM 上安装 big_vision

获取 big_vision 仓库,将其复制到所有 TPU VM 主机,并安装依赖项。

git clone https://github.com/google-research/big_vision
gcloud compute tpus tpu-vm scp --recurse big_vision/big_vision $NAME: --zone=$ZONE --worker=all
gcloud compute tpus tpu-vm ssh $NAME --zone=$ZONE --worker=all --command "bash big_vision/run_tpu.sh"

下载并准备 TFDS 数据集

我们建议先按照上述方法在本地准备 tfds 数据,然后再将其上传到 Google Cloud 存储桶。不过,如果您愿意,也可以使用 TPU 机器自动准备那些无需手动下载的数据集,具体步骤如下。请注意,TPU 机器仅有 100 GB 的磁盘空间,且多主机 TPU 分片不允许以写入模式挂载外部磁盘,因此以下说明可能不适用于大型数据集的准备。作为另一种替代方案,我们还提供了 如何在仅 CPU 的 GCP 机器上准备 tfds 数据 的说明。

具体来说,评估过程中使用的七个 TFDS 数据集将在 TPU 机器上的 ~/tensorflow_datasets 目录下通过以下命令生成:

gcloud compute tpus tpu-vm ssh $NAME --zone=$ZONE --worker=0 --command "TFDS_DATA_DIR=~/tensorflow_datasets bash big_vision/run_tpu.sh big_vision.tools.download_tfds_datasets cifar10 cifar100 oxford_iiit_pet oxford_flowers102 cars196 dtd uc_merced"

随后,您可以将这些数据集复制到 GS 存储桶,以便所有 TPU 工作节点都能访问。

gcloud compute tpus tpu-vm ssh $NAME --zone=$ZONE --worker=0 --command "rm -r ~/tensorflow_datasets/downloads && gsutil cp -r ~/tensorflow_datasets gs://$GS_BUCKET_NAME"

如果您希望集成其他公共或自定义数据集,例如 imagenet2012,请遵循 官方指南

预训练模型

有关预训练模型的完整列表,请查看与模型代码位于同一模块中的 load 函数。关于如何使用这些模型的示例配置,请参阅 configs/transfer.py

在 TPU VM 上运行迁移学习脚本

以下命令行将在 cifar10 数据集上微调一个预训练的 vit-i21k-augreg-b/32 模型:

gcloud compute tpus tpu-vm ssh $NAME --zone=$ZONE --worker=all --command "TFDS_DATA_DIR=gs://$GS_BUCKET_NAME/tensorflow_datasets bash big_vision/run_tpu.sh big_vision.train --config big_vision/configs/transfer.py:model=vit-i21k-augreg-b/32,dataset=cifar10,crop=resmall_crop --workdir gs://$GS_BUCKET_NAME/big_vision/workdir/`date '+%m-%d_%H%M'` --config.lr=0.03"

在 TPU VM 上运行训练脚本

要在一个大型数据集上训练您自己的 big_vision 模型,例如 imagenet2012(请先 准备 TFDS 数据集),可以运行以下命令行:

gcloud compute tpus tpu-vm ssh $NAME --zone=$ZONE --worker=all --command "TFDS_DATA_DIR=gs://$GS_BUCKET_NAME/tensorflow_datasets bash big_vision/run_tpu.sh big_vision.train --config big_vision/configs/bit_i1k.py  --workdir gs://$GS_BUCKET_NAME/big_vision/workdir/`date '+%m-%d_%H%M'`"

FSDP 训练

big_vision 支持灵活的参数和模型分片策略。目前,我们通过简单的配置更改即可支持流行的 FSDP 分片,详情请参见 此配置示例。例如,要对预训练的 ViT-L 模型进行 FSDP 微调,可以运行以下命令(可根据您的硬件调整批大小):

gcloud compute tpus tpu-vm ssh $NAME --zone=$ZONE --worker=all --command "TFDS_DATA_DIR=gs://$GS_BUCKET_NAME/tensorflow_datasets bash big_vision/run_tpu.sh big_vision.train --config big_vision/configs/transfer.py:model=vit-i21k-augreg-l/16,dataset=oxford_iiit_pet,crop=resmall_crop,fsdp=True,batch_size=256 --workdir gs://$GS_BUCKET_NAME/big_vision/workdir/`date '+%m-%d_%H%M'` --config.lr=0.03"

使用 SigLIP 进行图像-文本联合训练

一个使用公开 coco 字幕数据的最小示例:

gcloud compute tpus tpu-vm ssh $NAME --zone=$ZONE --worker=all --command "TFDS_DATA_DIR=gs://$GS_BUCKET_NAME/tensorflow_datasets bash big_vision/run_tpu.sh big_vision.trainers.proj.image_text.siglip --config big_vision/configs/proj/image_text/siglip_lit_coco.py --workdir gs://$GS_BUCKET_NAME/big_vision/`date '+%Y-%m-%d_%H%M'`"

有时有用的 gcloud 命令

  • 销毁 TPU 机器:gcloud compute tpus tpu-vm delete $NAME --zone $ZONE
  • 删除所有主机上的 big_vision 相关文件夹:gcloud compute tpus tpu-vm ssh $NAME --zone $ZONE --worker=all --command 'rm -rf ~/big_vision ~/bv_venv'

在独立的 GCP CPU 机器上准备 tfds 数据。

首先创建一台新机器和一块磁盘(您可以根据需要调整具体的机器类型和磁盘设置/容量):

export NAME_CPU_HOST=<仅CPU机器的名称>
export NAME_DISK=<磁盘的名称>
gcloud compute instances create $NAME_CPU_HOST --machine-type c3-standard-22 --zone $ZONE --image-family ubuntu-2204-lts --image-project ubuntu-os-cloud
gcloud compute disks create $NAME_DISK --size 1000GB --zone $ZONE --type pd-balanced

现在将磁盘挂载到新创建的机器上:

gcloud compute instances attach-disk $NAME_CPU_HOST --disk $NAME_DISK --zone $ZONE

接下来,通过 ssh 登录到该机器:gcloud compute ssh $NAME_CPU_HOST --zone=$ZONE,并 按照说明格式化和挂载磁盘。 假设它被挂载到了 /mnt/disks/tfds

差不多完成了,现在克隆并设置 big_vision

gcloud compute ssh $NAME_CPU_HOST --zone=$ZONE --command "git clone https://github.com/google-research/big_vision.git && cd big_vision && sh big_vision/run_tpu.sh"

最后,使用工具脚本准备数据集(例如 coco_captions),并将结果复制到您的 Google Cloud 存储桶中:

gcloud compute ssh $NAME_CPU_HOST --zone=$ZONE --command "cd big_vision && TFDS_DATA_DIR=/mnt/disks/tfds/tensorflow_datasets bash big_vision/run_tpu.sh big_vision.tools.download_tfds_datasets coco_captions"
gcloud compute ssh $NAME_CPU_HOST --zone=$ZONE --command "rm -rf /mnt/disks/tfds/tensorflow_datasets/downloads && gsutil cp -r /mnt/disks/tfds/tensorflow_datasets gs://$GS_BUCKET_NAME"

ViT 基线

我们在名为 vit_s16_i1k.py 的配置文件中提供了一个经过良好调优的 ViT-S/16 基线。在 90 个训练周期内,它在 ImageNet 验证集上达到了 76.5% 的准确率,是研究 ViT 模型的一个强大而简单的起点。

请参阅我们的 arXiv 报告 以获取更多详细信息;如果这个基线对您的研究有所帮助,请考虑引用以下内容:

@article{vit_baseline,
  url = {https://arxiv.org/abs/2205.01580},
  author = {Beyer, Lucas and Zhai, Xiaohua and Kolesnikov, Alexander},
  title = {Better plain ViT baselines for ImageNet-1k},
  journal={arXiv preprint arXiv:2205.01580},
  year = {2022},
}

项目特定提交记录

以下是已知的最后一个提交记录,预计该项目代码在此版本下能够正常运行。核心代码和配置则应在最新版本下正常工作。

项目 提交
UViM https://github.com/google-research/big_vision/commit/21bd6ebe253f070f584d8b777ad76f4abce51bef
image_text https://github.com/google-research/big_vision/commit/8921d5141504390a8a4f7b2dacb3b3c042237290
distill https://github.com/google-research/big_vision/commit/2f3f493af048dbfd97555ff6060f31a0e686f17f
GSAM 开发中
CLIPPO https://github.com/google-research/big_vision/commit/fd2d3bd2efc9d89ea959f16cd2f58ae8a495cd44
CapPa https://github.com/google-research/big_vision/commit/7ace659452dee4b68547575352c022a2eef587a5
GIVT https://github.com/google-research/big_vision/commit/0cb70881dd33b3343b769347dc19793c4994b8cb

引用代码库

如果您发现此代码库对您的研究有所帮助,请考虑使用以下 BibTEX 格式来引用它:

@misc{big_vision,
  author = {Beyer, Lucas and Zhai, Xiaohua and Kolesnikov, Alexander},
  title = {Big Vision},
  year = {2022},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/google-research/big_vision}}
}

免责声明

本项目并非 Google 官方产品。

许可证

除非另有明确说明,否则 big_vision 代码库中的所有内容(包括模型和 Colab 笔记本)均采用 Apache 2.0 许可证发布。 完整的许可证文本请参阅 LICENSE 文件。

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|3天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|4天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

147.9k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.1k|★★☆☆☆|昨天
开发框架图像Agent

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|3天前
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|3天前
语言模型图像Agent