PRX第四部分:数据策略详解

摘要
Hugging Face 发布 PRX 系列第四部分,详细阐述其数据策略,包括数据收集、处理、存储和共享原则,旨在推动开放模型发展。
背景解释
数据是 AI 模型训练的核心,Hugging Face 作为开源社区,其数据策略影响众多开发者和研究者。该文章解释了如何平衡数据开放性与隐私保护,对理解开放模型生态有重要意义。
原文译文
以下为抓取到的原文内容译文,已统一为站内阅读格式。
PRX 第四部分:我们的数据策略
发布日期:2026年7月6日
- 
- 
- 
- 

Photoroom

Photoroom

Jon Almazán\ jon-almazan\ \ 关注
Photoroom
欢迎回来!这是 PRX 系列的第四部分。第一至第三部分涵盖了模型架构、训练设计和24小时速通。这次我们将揭开默默支撑这一切的部分:数据。在所有影响 PRX 质量的因素中,数据管道是构建起来最不引人注目但却是必须做对的重要环节之一。以下是我们所做的、我们会做出不同选择的地方,以及一些我们只能通过缓慢方式学到的东西。
一句话概括:我们从公共和内部数据集的混合中组装训练数据,用 VLM 重新标注图像,并将结果转化为我们训练 PRX 所用的可流式语料库。
在高层面上,数据管道如下所示:

接下来我们将深入探讨细节。
1. 指导原则
用于预训练的多样化数据集
目标是组装一个大规模、多样化的预训练数据集。在这个阶段,模型正在学习世界的样子:视觉概念、物体和场景、事物如何构成和照明,以及图像可能包含的广泛内容。这是一个覆盖面和多样性的问题,而不是每张图像的完美度。一个广泛、有代表性的语料库在视觉世界结构方面教给模型的知识,远多于一个更小、更漂亮的语料库,即使许多单个图像是普通的快照或略有压缩。在这个阶段过度过滤美学实际上会适得其反,缩小分布范围,使模型失去以后无法恢复的概念和构图多样性。让生成结果看起来精致是另一个独立且后续的问题,我们将其留给微调和偏好对齐,使用小而精心策划的数据集。预训练是为了广度;微调是为了品味。
数据源的混合
我们从公共和内部数据集的混合中组装预训练数据。这个阶段的重点是广度、多样性,以及利用已有的策划工作,而不是自己重新做。如果某个来源已经经过质量过滤、去重、NSFW 内容和个人信息过滤,我们就基于这些工作,而不是大规模重复。来源以不同形式出现:有些带有图像数据本身,有些则带有元数据和基线标注,我们将其转化为通用形式。我们采取了务实的方法:与其从头构建一个完整的语料库,不如依赖现有数据集和我们自己的工具快速组装一个。事后看来,这不一定是最佳数据集,但它是预训练 7B 模型的坚实且轻量级的起点。
我们的标注理念
根据我们的经验,预训练中最重要的是使用长标注,准确描述图像中的一切。我们在第二部分中直接看到了这一点,从短标注切换到长标注显著提高了样本质量。如果标注是忠实的,我们就不必担心偶尔出现的截图、广告、标志或图像中的文字,因为这些内容也会在标注中被描述,因此模型将它们作为有条件、可控的属性来学习,而不是无条件地复现它们。准确的标注将“噪声”转化为你可以提示或避免的东西。这正是我们后续过滤故意较轻的原因。我们移除的是真正不可用的内容,而不是所有不完美的内容。
数据格式
我们使用Mosaic Streaming和 Mosaic Data Shards (MDS) 作为分布式训练的数据集格式已有一段时间。结合Mosaic Composer,我们发现它是一个维护成本低、灵活且性能良好的分布式训练框架。此外,MDS 数据集可以轻松有效地混合和打乱,也支持直接从对象存储(如 S3 或 GCS)进行分布式训练。
然而,MDS 数据集非常僵化。添加一列或为某个过滤器创建子集基本上意味着需要扫描并重写整个数据集。这就是为什么我们使用Lance进行此类特征工程和数据集策划。Lance 是一种列式数据格式,具有廉价的谓词下推、标量索引和向量搜索,是构建和探索数十亿行数据集的正确工具。

这两种格式在本文和 PRX 数据管道中相互配合:Lance 用于构建,MDS 用于流式传输。
关于文本隐向量
在之前的训练中,我们使用T5Gemma作为文本编码器,并预先计算文本隐向量,将其以字节形式存储在 MDS 中。这次,在将文本编码器切换到Qwen3-VL后,我们决定在训练期间动态计算文本隐向量。在训练循环中运行文本编码器会降低吞吐量,但降低程度取决于模型:对于小型去噪器可能影响显著,而在 PRX 的 7B 规模下,文本编码器的计算量与去噪器相比微不足道,我们测量到吞吐量仅下降约 3-4%(在 30 天的运行中大约多出 1 天)。作为回报,我们得到两样东西。跳过预计算使我们的 MDS 分片小得多,足以将完整的预训练数据集存储在 SLURM 集群的 SSD 支持的共享文件系统上,而不是通过网络从对象存储流式传输。而且,我们以后可以自由更改文本编码器,而无需重写数 TB 的存储隐向量,这正是我们在转向 Qwen3-VL 时所做的切换。
关于图像编码
我们将所有图像编码为 JPEG,质量设为 92,而不是使用 PNG 等无损格式。我们并非假设质量 92 是安全的,而是进行了实际测量。现实世界中的图像通常已经经过多次 JPEG 压缩,因此真正的问题是再次重新编码是否会造成损害。在真实图像上反复进行解码/编码循环(包括高分辨率 1–2 MP 和较低分辨率 0.25–0.5 MP),第一次以质量 92 重新编码几乎无法察觉。每次进一步循环几乎不会增加任何影响,因为 JPEG 会迅速收敛到稳定状态,即使经过 10 次循环,图像仍保持在不可察觉的范围内,而 PNG 则会大 3–10 倍且没有感知上的增益。以下数据基于 100 张图像在质量 92 下的平均值,并与原始图像进行比较(PSNR 越高越好,LPIPS 越低越好):
| 图像分辨率 | 1 次后 PSNR (dB) ↑ | 1 次后 LPIPS ↓ | 10 次后 PSNR (dB) ↑ | 10 次后 LPIPS ↓ | | --- | --- | --- | --- | --- | | 1–2 MP | 48.7 | 0.004 | 45.4 | 0.008 | | 0.25–0.5 MP | 45.1 | 0.005 | 42.2 | 0.010 |
由于大多数源图像已经是 JPEG 压缩格式,将它们无损存储为 PNG 收益甚微,因此我们将所有图像转换为高质量 JPEG(质量 92)。
我们还检查了最关键的问题:使用 JPEG 训练是否会改变模型生成的内容。我们的语料库大部分已经是 JPEG,因此 PNG 唯一可能提供的优势是不引入新的伪影。我们特意从高分辨率源图像进行比较,预期即使是原始 JPEG 图像在高分辨率下也携带很少的伪影。我们在 1024px 分辨率下训练了两个相同的 PRX 模型,使用相同的图像,一个存储为 PNG,另一个存储为质量 92 的 JPEG。两个模型在我们的指标上训练效果相同,生成的图像几乎无法区分,包括我们使用已知的通过匹配量化表估计 JPEG 质量的技术来评估输出图像的 JPEG 压缩程度:
| 训练模型使用的格式 | 检测率 | 平均估计 JPEG 质量 | 中位数估计 JPEG 质量 | | --- | --- | --- | --- | | JPEG(质量 92) | 12.0% | 39.6 | 34.0 | | PNG | 10.8% | 42.1 | 45.0 |
检测率是指生成图像中发现任何量化结构的比例。平均和中位数估计 JPEG 质量仅针对那些被标记的图像。两个模型几乎无法区分:每个模型大约只有十分之一的生成图像显示出可检测的量化结构,差异足够小,我们确信训练图像格式对输出质量的影响微乎其微。因此,高质量 JPEG 存储不会在源图像已有的基础上增加任何可测量的影响。对于大规模文本到图像训练来说,这已经足够好了。对于用于训练其他 Photoroom 模型(例如我们的自定义AI 阴影模型)的伪影敏感数据,我们仍然依赖 PNG。
2. 在 Lance 中构建数据集
你无法交互式地探索包含数亿甚至数十亿行的 Parquet 表。因此,我们将数据存储在 Lance 中,以便进行索引、查询和浏览。我们使用Ray Data进行数据摄取,并行读取源表,并在集群中写入 Lance 表的多个片段。
一个值得分享的经验是关于碎片化的问题。Lance 表被分割成多个片段,某些操作的开销与片段总数成正比,而不是行数:扫描会打开每个片段的文件,一些元数据操作的时间复杂度为 O(片段数)。因此,碎片过多的小表无论大小如何,查询速度都会很慢。Lance 性能指南建议保持较低的片段数量(经验法则是即使对于数十亿行的表,也保持大约一百个片段),并定期运行压缩以将小片段合并成更大的片段。
我们是通过缓慢的方式学到这一点的。我们的第一次摄取目标仅为每个片段 10 万行,导致数千个小片段,使得即使是简单的过滤和全文查询也变得缓慢。在压缩到每个片段大约 100 万行后(对于我们的数亿行表来说,大约有一千个片段),查询变得快速,我们不再担心这个问题。正确的目标取决于行宽、查询模式以及数据的写入方式,事后看来,更少、更大的片段可能是更好的默认选择。Lance 支持分布式压缩(例如通过Lance-Ray集成),因此事后调整很容易,但一开始就避免过度碎片化是值得的。

用于探索的现有标题和嵌入
我们选择自己重新为每张图像生成标题,而不是依赖某些数据集自带的标题。原因是一致性:在混合来源中,标题长度、风格和质量差异很大,我们希望在整个语料库中采用统一的标准(更多关于标题生成器的内容见第 3 节)。
然而,数据集已有的元数据仍然有价值,只是用途不同。现有的标题以及有时附带的向量嵌入(例如CLIP嵌入)使得数据集在 Lance 中立即可以探索:通过标题的全文搜索和嵌入列的最近邻搜索,我们可以浏览数据并快速判断其质量以及所需的过滤,远在我们运行自己的标题生成之前。因此,我们保留两者,如果它们位于单独的表中则进行连接,并依赖它们进行接下来描述的浏览。
数据分析和探索
数据可查询后,我们可以快速分析它。例如,分辨率分布告诉我们设置截断值的位置。我们最小的训练桶是 512² 像素,并且我们将放大到桶的比例上限设为 4/3(约 33%),因此有效截断值为 384² ≈ 147k 像素,且宽高比在 [0.5, 2.0] 范围内。低于此值的所有数据都被丢弃。
Lance 表原生支持文本列的全文搜索以及向量嵌入列的最近邻相似性搜索,两者都可以通过构建索引来加速。我们正是对标题和嵌入列进行了索引,然后构建了一个小型 UI 来浏览数据集:实时文本搜索标题,以及通过向量搜索导航视觉相似图像的聚类。

通过这种方式浏览数据,我们可以定性地评估其多样性和质量,并及早发现问题,只需通过观察即可。我们发现了无信息的基线标题、大量非摄影内容(截图、幻灯片、文档、信息图)以及一些近乎重复的图像。这些观察直接影响了后续流程:重新生成所有标题(更长、更准确的标题即使对不完美的图像也能很好地描述,并确保标题与我们训练的确切图像匹配),并添加轻量过滤和去重步骤。总的来说,我们相信这种探索工具对于在投入数据集之前了解其特性是非常宝贵的。
3. 使用 VLM 重新生成所有标题
我们发现,长而详细的标题对输出质量有非常强的杠杆作用。在早期基准测试中,我们使用相同的图像训练了一个小型扩散模型两次,一次使用Qwen2.5-VL-7B生成的标题,另一次使用更短的标题(由LLaVA-1.5-LLaMA3-8B生成),并在训练过程中对两者进行评分。使用 Qwen2.5-VL-7B 生成的长标题在所有指标上胜出,在每个检查点都获得了更低的 FID、CMMD 和 DINO-MMD(三者都是越低越好)。
!vlm_vs_llava_metrics_一个使用 Qwen2.5-VL-7B 标题(红色)与基线 LLaVA-1.5-LLaMA3-8B 标题(蓝色)训练的小型扩散模型,每 10k 步评分一次,直到 100k 步。三个指标都是越低越好。_
最终指标(约 100k 步):
| 标题 | FID ↓ | CMMD ↓ | DINO-MMD ↓ | | --- | --- | --- | --- | | Qwen2.5-VL-7B | ≈13 | ≈0.32 | ≈0.22 | | LLaVA-1.5-LLaMA3-8B | ≈21 | ≈0.52 | ≈0.35 |
以下是一张示例图片,同时展示了我们较长的 VLM 生成描述和用作基线的较短描述:

我们的描述生成以基于 Ray Data 构建的流式管道运行:它从 Lance 读取数据,准备每张图像,在 GPU 上生成描述,并将描述作为新列写回,以便我们查询和过滤。我们提示生成一段密集、视觉上扎实的段落,而不是一行描述。
选择描述生成器
紧凑的时间表和有限的资源意味着我们无法花太多时间对不同描述模型和系统提示进行消融实验。
我们使用以下提示来生成描述。
系统提示:
你是一个专业的图像描述模型,专门生成高度详细、视觉上扎实的描述。请为给定图像写一段约 100–200 词的流畅段落。描述应使用自然散文风格,不含项目符号、标题或带标签的章节。仅准确描述图像中可见的内容,不进行推测、意图解读或超出视觉证据的假设。你的描述应自然融合以下方面:图像类型;主要主体和对象的外观、材质、颜色、形状和细节;位置和空间关系(左/右、前景/背景、深度、重叠、比例、构图);构图和布局(居中、平衡、留白、透视、视角);光照和色调;风格/美学特质(当有视觉线索支持时);以及任何可见文本,需逐字转录其出现形式,并说明它是场景的一部分还是图形叠加(水印/UI)。不要翻译或解释文本。保持中立、精确、描述性的语气。避免重复、隐喻、情感投射或叙事修饰。目标是生成密集、准确、视觉上忠实的描述。用户提示:
为这张图像写描述。我们筛选了三个 VLM 作为描述生成候选:
我们间接评估了描述质量:对每个描述变体训练一个小型扩散模型 10 万步,并用FID、CMMD和DINO-MMD评分其生成结果。除了三个候选模型,我们还对两个参考描述生成器进行了评分,以便将此比较与第一个基准联系起来:基础 Qwen2.5-VL-7B(与上述基准中的模型相同)以及我们之前为此处使用的 100 万图像内部测试集生成的一组 Gemini 1.5 Flash 描述。Gemini 描述长度相似,但使用了不同的提示(其他所有模型均使用上述系统提示),因此其曲线仅具指示性,而非同类比较。
!qwen_captioner_metrics_三个候选描述生成器和两个参考描述生成器在训练过程中的 FID、CMMD 和 DINO-MMD 指标,每 1 万步评分一次,直至 10 万步。三项指标均为越低越好。_
最终指标(约 10 万步):
| 描述生成器 | FID ↓ | CMMD ↓ | DINO-MMD ↓ | | --- | --- | --- | --- | | Qwen2.5-VL-7B-Captioner-Relaxed | 13.95 | 0.306 | 0.185 | | Qwen3-VL-8B(我们的选择) | 10.98 | 0.351 | 0.182 | | Qwen3.5-9B | 10.51 | 0.278 | 0.162 | | Qwen2.5-VL-7B(参考) | 15.86 | 0.393 | 0.285 | | Gemini 1.5 Flash(参考) | 13.46 | 0.316 | 0.234 |
在候选模型中,Qwen3.5-9B 在所有三项指标上表现最佳,Qwen3-VL-8B 在 FID 和 DINO-MMD 上紧随其后(尽管 CMMD 较弱),而 Relaxed 描述生成器在 FID 上落后但在其他指标上具有竞争力。最明显的结果是,基础 Qwen2.5-VL-7B——在第一个基准中击败基线的同一模型——现在是五个中最弱的,这正是我们没有保留它的原因:经过描述调优或更新的模型确实有帮助。(Gemini 1.5 Flash 处于中游,但存在上述提示差异的注意事项。)
我们对吞吐量的重视程度低于质量,但在数亿张图像规模下,吞吐量仍然重要,因为它决定了生成描述的成本。我们仅对三个候选模型测量了吞吐量,所有模型均通过vLLM提供服务,未使用量化或自定义内核。调优在管道层面进行:每个 GPU 一个 vLLM 副本,配备足够的 Ray Data 池工作节点以保持节点上的所有八个 GPU 饱和。我们首先发现 Qwen3-VL-8B 最快(每个 H200 每秒 20 张图像),并因其速度、质量和稳定、发布级的 vLLM 支持而选择了它。后来才发现 Qwen2.5-VL "Relaxed" 描述生成器在修复后也能达到相同的每秒 20 张图像:它之前以错误的架构类保存,破坏了 vLLM 的 torch.compile 哈希,迫使我们使用缓慢的 eager 模式,直到我们将其重新保存为 Qwen2_5_VLForConditionalGeneration。Qwen3.5-9B 生成出色的描述,但运行速度较慢(约每秒 6.5 张图像),且当时需要不稳定的 nightly 依赖构建。几个月后,它可能也是一个很好的选择。
4. 编写 Mosaic 数据分片
在管道的末端,我们将带有描述、分桶的流转换为 MDS,即训练器流式读取的格式。
什么是 MDS,以及为什么我们使用它而不是 Lance
Mosaic Streaming 库将样本打包成约 128MB 的分片,在训练期间从对象存储或本地文件系统流式读取。Lance 也支持简单的分布式训练,但我们发现转换为 MDS 对我们来说是更低摩擦的路径。Mosaic Streaming 免费提供了我们原本需要自行构建的分布式训练机制:
- 确定性、可恢复的洗牌:提供多种算法,可在洗牌质量与主机内存之间权衡。
- 弹性 epoch 中间检查点恢复:更改节点/秩的数量,无需重新看到或跳过样本即可恢复。
- 多个流的加权混合:以选定比例混合不同数据集/子集,同时保持洗牌和恢复保证不变。
分辨率 + 宽高比分桶
扩散训练在固定大小的张量上进行,因此批次中的每张图像必须共享相同的宽度和高度。我们不是将所有图像裁剪为正方形(丢失肖像和风景的侧面)或填充(浪费计算),而是使用宽高比分桶:一组允许的 (w, h) 形状,每张图像被分配到最近的形状,只有相同形状的图像才被批处理在一起。
我们分两步进行分桶。首先按分辨率层级(像素数):对于大部分语料库,使用 512px 和 1024px 层级,再加上 2048px 和 4096px 层级用于高分辨率数据。一张图像被分配到无需放大超过 4/3(约 33%)即可达到的最大层级,因此每个层级的下限为 (尺寸 × 3/4)²(512 层级约为 384²,1024 层级为 768²);低于最小下限的图像被丢弃。然后在层级内按宽高比分桶:我们枚举补丁对齐的 (w, h) 形状(两者均可被 16 整除,AR 在 [0.5, 2.0] 范围内),保持大致恒定的约 256 补丁令牌预算,每个层级产生 13 个桶,从 0.5(高)到 1.0(正方形)再到 2.0(宽)。在 512px 下,即 352×704 … 512×512 … 704×352;在 1024px 下,相同的 13 个比例放大。恒定的补丁数量使每张图像的计算量在不同形状间保持平坦。

然后,每张图像使用 Lanczos 滤波器调整到其桶的大小,并以质量 92 编码为 JPEG,Mosaic 数据分片被写入一个按分辨率和宽高比键控的树中,以便训练器可以分别流式读取桶:
output_dir/
512/
0.500/ shard.00000.mds, ...
...
1.000/ ...
...
2.000/ ...
1024/
0.500/ ...
1.000/ ...5. 数据过滤
第 2 节中的探索依赖于数据集自带的描述。一旦我们自己的详细描述到位,相同的全文搜索变得强大得多,对描述进行几次遍历后,发现了稀疏的原始元数据所隐藏的内容:比我们估计的更多的文本密集型图像(截图、幻灯片、文档、信息图),以及一些漏网的 NSFW 内容。
为了将这些近似搜索转化为过滤器,我们使用Qwen3-8B在纯文本模式下运行了一次快速分类:它读取每条标题(从不看图像),并将样本标记为视觉、文本或 NSFW。整个启发式方法本质上是一个问题:"你会看这张图片,还是读它?" 从标题而非像素进行分类成本低廉(每 GPU 约 200 条标题/秒),并且复用了我们已经完成的工作。像素级图像分类器可能更准确,但这足以以适中的成本移除明显案例,且无需标注数据和训练自定义分类器。
我们没有重写整个语料库来丢弃这些样本,而是为 MDS 数据加载器添加了一个跳过列表功能:每个分片附带一个小型边车文件,列出要跳过的样本索引,加载器在训练时合并这些索引并跳过相应样本。没有删除或重写任何内容。这被证明是一种灵活的机制,远不止用于这一个过滤器。我们可以排除事后发现的任何样本集合,无论是新发现的质量问题、黑名单,还是重要地,来自后来选择退出训练的用户的数据,只需在下次运行前扩展跳过列表即可。这对于消融实验也很方便:要衡量过滤器的效果,可以在同一数据集上使用跳过列表和不使用跳过列表各训练一次,而无需存储两个副本。唯一的限制是规模。跳过列表在加载时增加了少量每样本工作,因此一旦跳过比例变大(我们估计大约 10%,尽管我们没有测量临界点),就值得重写 MDS 数据集而不包含跳过的样本,而不是携带不断增长的跳过列表。

6. 去重
同样的探索器发现了相当多的重复:大型图像集合往往会积累精确和近似重复的副本,这会浪费训练计算资源并扭曲分布。我们主要针对近似重复和精确副本,因此我们使用感知哈希添加了一个快速去重步骤。如果目标是识别重复概念并在数据集中平衡它们,基于图像嵌入聚类的去重是更合适的方法。

我们本可以对字节哈希(如 SHA-256)进行精确去重,但感知哈希已经包含了这一点(它也能匹配字节相同的图像),同时还能捕获重新编码或调整大小的副本,因此我们只使用了感知哈希。这是一个标准的基于 DCT 的感知哈希(缩小为小型灰度缩略图,2D DCT,将低频系数阈值化为紧凑指纹),在OpenCV和SciPy之上用几行代码实现。如果两个哈希的汉明距离为零,我们认为它们匹配,因此我们只移除近乎像素相同的副本。同一主体的不同照片具有不同的指纹(和不同的标题),会被有意保留。
一旦每张图像都有感知哈希(指纹),去重本身就是一个哈希映射查找:扫描每个宽高比桶中的分辨率,我们为每个指纹保留一个条目,因此任何我们已经见过其指纹的图像都是我们保留图像的重复,当集群跨越分辨率时,我们保留最高分辨率的副本。重复项被写为每个分片的跳过列表,加载器在加载时合并并跳过,因此没有删除任何内容,数据集也从未被重写。

在整个语料库中,去重移除了大约百分之几的图像,基于标题的文本过滤器移除了另外百分之几,NSFW 处理移除了不到百分之一。
- * *
下一步是什么?
这里描述的数据集是预训练语料库,其中广度和规模最为重要。对于监督微调和偏好对齐,权衡完全相反:质量远比数量重要,问题变成了从这个大型语料库中寻找和策划小型、高信号子集。为此,我们一直在构建更强大的策划工具,包括一个更丰富的探索器,它使用 VLM 预测的结构化属性标记图像,以便我们能够组装高度针对性的微调子集。我们计划在未来的文章中深入探讨微调和偏好对齐等主题,以及我们用于这些的数据工具。
用 PRX 构建了什么,或者在我们的流程中发现了错误? PRX 采用 Apache 2.0 许可,模型代码位于github.com/Photoroom/PRX。我们将 PRX 集成到了diffusers库中,并且有一个Hugging Face Space可以试用我们的最新版本PRX Pixel。
来Discord和我们讨论扩散模型和数据吧。
参考文献
工具
模型
- Qwen2.5-VL-7B-Instruct
- LLaVA-1.5-LLaMA3-8B
- Qwen2.5-VL-7B-Captioner-Relaxed
- Qwen3-VL-8B-Instruct
- Qwen3.5-9B
评估指标
- FID (Heusel et al., 2017)
- CMMD, "Rethinking FID" (Jayasumana et al., 2024)
- DINOv2 (Oquab et al., 2023), the features behind DINO-MMD
PRX
本文提到的模型 7
本文提到的 Spaces 1
本文提到的集合 1
更多来自该作者
\
\ 68\ \ 2026 年 3 月 3 日](https://huggingface.co/blog/Photoroom/prx-part3)
\
\ 77\ \ 2026 年 2 月 3 日](https://huggingface.co/blog/Photoroom/prx-part2)
社区
编辑预览
通过拖拽、粘贴或点击此处上传图像、音频和视频。
点击或粘贴此处上传图像
评论
- 
- 
- 
- 
本文提到的模型 7
本文提到的 Spaces 1
本文提到的集合 1
来源地区
Global
热度分
68
分类
开源模型
语言
en
