File size: 6,566 Bytes
c1af3e1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
---
license: apache-2.0
language:
- zh
- en
tags:
- qwen
- qwen2.5-vl
- image-captioning
- multimodal
- nsfw
- long-caption
library_name: transformers
base_model:
- Qwen/Qwen2.5-VL-7B-Instruct
- XiaomiMiMo/MiMo-VL-7B-RL-2508
---
# 模型名称:thesby/Qwen2.5-VL-7B-NSFW-Caption-V4

## 模型简介 (Model Description)

**thesby/Qwen2.5-VL-7B-NSFW-Caption-V4** 是一个专为高质量图像描述(Image Captioning)而优化的多模态大模型。该模型基于强大的 `Qwen/Qwen2.5-VL-7B-Instruct` 进行Lora微调,旨在提供卓越的图像理解和描述生成能力。

我们在一个包含约 **200 万** 高质量图文对的混合数据集上对模型进行了训练,使其在多个维度上都表现出色。相比于 V3,V4模型加入了更多 NSFW 数据和人工标注数据。

### 主要特点 (Key Features)

1.  **超高质量的图片描述能力 (Ultra-High Quality Captions)**    模型能够精准捕捉图像中的核心主体、环境背景、人物情绪、物体材质和光影等丰富细节,描述能力超过 gpt4.1-mini,接近于 gemini-2.5-flash。
2.  **SFW & NSFW 内容全覆盖 (Support for both SFW & NSFW Content)**:
    经过特殊的数据集训练,模型能够有效识别并描述 SFW (Safe for Work) 和 NSFW (Not Safe for Work) 类型的图像内容。无论是日常生活场景还是成人向内容,都能生成恰当且信息丰富的描述,极大地拓宽了模型的适用边界。
3.  **超长文本描述能力 (Long-form Detailed Description)**:
    与传统模型生成简短标题不同,本模型擅长对复杂的图像场景进行详尽入微的描绘。它可以生成包含数百个单词的详细段落,深入分析图像的叙事结构和潜在含义,尤其适合需要深度内容解读的应用场景。
## 如何使用 (How to Use)

使用方式和 Qwen/Qwen2.5-VL-7B-Instruct 完全相同,模型在图片最大尺寸 800*800 微调,遵从这一限制可以获得更好的效果。
```python
from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessor
from qwen_vl_utils import process_vision_info
# default: Load the model on the available device(s)
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
    "thesby/Qwen2.5-VL-7B-NSFW-Caption-V4", torch_dtype="auto", device_map="auto"
)
# default processer
processor = AutoProcessor.from_pretrained("thesby/Qwen2.5-VL-7B-NSFW-Caption-V4")
# The default range for the number of visual tokens per image in the model is 4-16384.
# You can set min_pixels and max_pixels according to your needs, such as a token range of 256-1280, to balance performance and cost.
# min_pixels = 256*28*28
# max_pixels = 800 * 800
# processor = AutoProcessor.from_pretrained("thesby/Qwen2.5-VL-7B-NSFW-Caption-V4", min_pixels=min_pixels, max_pixels=max_pixels)
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",
            },
            {"type": "text", "text": "请用自然流畅的中文对以下图片进行全面而详细的描述。包括所有可见元素及其属性(如颜色、大小、形状、质地),它们的空间关系,以及任何显著特征或上下文。确保用自然流畅的中文描述清晰、生动,能够捕捉图片的每一个方面,不遗漏任何重要细节。"},
        ],
    }
]
# Preparation for inference
text = processor.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
    text=[text],
    images=image_inputs,
    videos=video_inputs,
    padding=True,
    return_tensors="pt",
)
inputs = inputs.to("cuda")
# Inference: Generation of the output
generated_ids = model.generate(**inputs, max_new_tokens=128)
generated_ids_trimmed = [
    out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
    generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)
```
## 用途与限制 (Uses and Limitations)
### 预期用途 (Intended Uses)
*   **自动化内容标注**:为海量图片生成高质量的描述和标签,用于内容管理、检索和推荐系统。
*   **无障碍辅助功能**:为视障用户描述图像内容,帮助他们理解视觉信息。
*   **创意内容生成**:作为灵感来源,为艺术创作、故事写作、广告文案等提供基于图像的文本描述。
*   **数字内容分析**:对包括SFW和NSFW在内的多种图像内容进行自动化分析和归档。
### 不适用范围 (Out-of-Scope)
*   本模型不应用于生成任何有害、非法、歧视性或侵犯他人隐私的内容。
*   模型的输出不应被视为绝对事实,更不能用于任何需要高精度和高可靠性的关键决策(如医疗诊断、法律判决等),所有重要应用都需有人工审核。
*   用户在使用模型处理NSFW内容时,应严格遵守当地法律法规,并承担相应责任。
### 局限性与偏见 (Limitations and Bias)
*   **幻觉 (Hallucination)**:与所有大模型一样,本模型可能产生“幻觉”,即生成图像中不存在的细节。
*   **数据偏见 (Data Bias)**:模型的输出可能反映其训练数据中存在的社会和文化偏见(例如,在性别、种族或年龄方面的刻板印象)。
*   **NSFW判断边界**:对于处于SFW和NSFW边界的模糊图像,模型的判断和描述可能与人类预期不符。
## 训练细节 (Training Details)
### 训练数据 (Training Data)
本模型在一个精心构建的、约 **200 万** 图文对的数据集上进行了微调。该数据集经过严格的筛选和清洗,混合了:
*   高质量的公开图文数据集。
*   专门收集和标注的、涵盖广泛SFW和NSFW场景的私有数据集。
数据分布旨在提升模型在细节捕捉和长文本生成方面的能力,同时确保对不同类型内容的泛化性。
### 训练过程 (Training Procedure)
*   **基础模型 (Base Model)**:`Qwen/Qwen2.5-VL-7B-Instruct`
*   **微调策略 (Finetuning Strategy)**:Lora微调 (Lora Fine-tuning)
*   **框架 (Framework)**:unsloth
*   **主要超参数 (Hyperparameters)**:
    *   Learning Rate: 2e-5
    *   Batch Size: 16
    *   Epochs: 1
    *   Optimizer: AdamW
### 计划 (Plans)
*   提高**英文**caption效果
*   增加**短视频**caption能力