.gitattributes CHANGED
@@ -33,4 +33,3 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
- tokenizer.json filter=lfs diff=lfs merge=lfs -text
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
README.md CHANGED
@@ -1,356 +1,10 @@
1
  ---
2
- license: cc-by-4.0
3
- pipeline_tag: image-text-to-text
4
  language:
5
- - tr
6
- - en
7
  base_model:
8
- - Qwen/Qwen3.5-27B
9
- model_type: vision-language-model
10
- tags:
11
- - computer-vision
12
- - multimodal
13
- - e-commerce
14
- - catalog-moderation
15
- - vision-language-model
16
- - product-understanding
17
- library_name: transformers
18
  ---
19
 
20
- # Trendyol-Vision-Master
21
-
22
- _Trendyol-Vision-Master is a fine-tuned **vision-language model (VLM)** built on [Qwen/Qwen3.5-27B](https://huggingface.co/Qwen/Qwen3.5-27B) for Trendyol catalog quality and moderation workflows. It understands product images, titles, and metadata, and produces structured decisions or text outputs for **e-commerce catalog operations** — including category detection, brand verification, product similarity, attribute extraction, title generation, content moderation, and other catalog enrichment tasks._
23
-
24
- **Trendyol-Vision-Master vs Flash:** Master is the larger expert VLM for critical or harder cases (especially category detection) and retains stronger general capabilities. For day-to-day, high-traffic catalog workloads on a single GPU, use [Trendyol/Trendyol-Vision-Flash](https://huggingface.co/Trendyol/Trendyol-Vision-Flash).
25
-
26
- ## Model Details
27
-
28
- - **Architecture**: Qwen3.5-27B vision-language model (VLM; 27B parameters)
29
- - **Base model**: [Qwen/Qwen3.5-27B](https://huggingface.co/Qwen/Qwen3.5-27B)
30
- - **Training**: Full SFT on Trendyol catalog multimodal data
31
- - **Languages**: Turkish (primary), English (secondary)
32
- - **Modalities**: Image + text (multi-image supported)
33
- - **Thinking mode**: Disabled at inference (`enable_thinking: False`)
34
-
35
- ## Intended Use
36
-
37
- - Automate catalog moderation and enrichment tasks on Trendyol product listings.
38
- - Classify products into categories from image + title by selecting from the category options provided in the prompt.
39
- - Detect whether two product listings represent the same SKU.
40
- - Extract structured attributes, brands, titles, and captions from product images.
41
- - Moderate unsafe or policy-violating product content.
42
- - Support research and evaluation use cases.
43
-
44
- **Not intended for** general open-domain chat, medical/legal advice, surveillance, or any use described under Ethical Considerations. For low-latency single-GPU catalog enrichment without Master-tier category detection, use [Trendyol/Trendyol-Vision-Flash](https://huggingface.co/Trendyol/Trendyol-Vision-Flash).
45
-
46
- ## Supported Use Cases
47
-
48
- Specialized for **e-commerce catalog operations** (moderation and enrichment). The tasks below are the primary, production-validated workloads; related catalog workflows can be prompted similarly, with best results on these patterns.
49
-
50
- - **Category detection** — Choose the best matching category from the candidate list supplied in the prompt (image + title); the model returns the selected option index, not a free-form category name.
51
- - **Product similarity** — Decide whether two listings (images and titles) refer to the same product.
52
- - **Brand detection** — Infer the brand from product images with optional category context.
53
- - **Attribute extraction** — Extract structured product attributes from image and title/description.
54
- - **Title generation** — Produce a clean catalog title from the product image and a reference title.
55
- - **Product caption** — Generate a grounded product description from the image and optional metadata.
56
- - **Content safety classification** — Classify product image and title for catalog content safety (`0` = Forbidden, `1` = Fantasy, `2` = Safe). **Fantasy** means content that may be published but should be treated as adult (+18).
57
- - **Per-pack quantity extraction** — Extract pack quantity and unit from image and long title.
58
-
59
- See **Task Prompts** below for per-task prompt templates. All served requests use the same vLLM OpenAI chat payload shape; only the question text and image URLs change.
60
-
61
- ---
62
-
63
- ## Serving (vLLM)
64
-
65
- Trendyol-Vision-Master can be served with vLLM as an OpenAI-compatible API. Multi-GPU serving is recommended for the 27B model (e.g. `--tensor-parallel-size 2`).
66
-
67
- Validated with:
68
-
69
- ```bash
70
- pip install "vllm==0.19.1"
71
- ```
72
-
73
- ```bash
74
- vllm serve Trendyol/Trendyol-Vision-Master \
75
- --trust-remote-code \
76
- --max-model-len 16384 \
77
- --structured-outputs-config.backend xgrammar \
78
- --served-model-name Trendyol-Vision-Master \
79
- --interleave-mm-strings \
80
- --tensor-parallel-size 2
81
- ```
82
-
83
- Every use case uses the same chat-completions payload template. Only the `messages` content (question text and `image_url` blocks) changes. Always disable thinking mode.
84
-
85
- When calling the vLLM OpenAI API, use `image_url` content blocks:
86
-
87
- ```bash
88
- curl http://localhost:8000/v1/chat/completions \
89
- -H "Content-Type: application/json" \
90
- -H "Authorization: Bearer EMPTY" \
91
- -d '{
92
- "model": "Trendyol-Vision-Master",
93
- "temperature": 0.0,
94
- "max_tokens": 16,
95
- "chat_template_kwargs": {"enable_thinking": false},
96
- "messages": [
97
- {
98
- "role": "user",
99
- "content": [
100
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty103/product/media/images/20210412/17/79531657/163017575/1/1_org_thumb.jpg"}},
101
- {"type": "text", "text": "Ürün başlığı: 2'\''li Saten Robe Gecelik Sabahlık Şeftali Kısa Çeyiz Takımı 1013\n\nGörseli ve başlığı inceleyerek doğru kategori numarasını seç.\n0. Diğer\n1. Külot\n2. İç Çamaşırı Takımı\n3. Boxer\n4. Fantezi Külot\n5. Fantezi Sabahlık\n6. Fantezi Aksesuar\n7. Fantezi Sütyen\n8. Fantezi Jartiyer\n9. Fantezi Boxer\n10. Fantezi Kombinezon\n11. Fantezi Gecelik\n12. Spor Sütyeni\n13. Elbise\n14. Fantezi Slip\n15. Tunik\n16. Fantezi Atlet\n17. Büyük Beden Elbise\n18. Büyük Beden Fantezi Gecelik\n19. String\n20. Fantezi İç Çamaşır Takımı\n21. Gecelik\n22. Fantezi Ürünleri\n23. Alt - Üst Takım\n24. Fantezi Kostüm\n25. Pijama Takımı\n26. Büyük Beden Pijama Takımı\n27. Fantezi String\n28. Fantezi Babydoll\n29. Pijama Üstü\n30. Fantezi Çorap\n31. Sütyen\n32. Sabahlık\n33. Tesettür Elbise\n34. Büyük Beden Abiye Elbise\n35. Pijama Altı\n36. Bikini Üstü\n\nCevap olarak yalnızca numarayı yaz."}
102
- ]
103
- }
104
- ]
105
- }'
106
- ```
107
-
108
- ---
109
-
110
- ## Task Prompts
111
-
112
- Pass any prompt below through the same vLLM payload template shown above. Replace `{placeholders}` with your data. Use `{"type": "image_url", "image_url": {"url": "..."}}` for each image (public HTTP(S) URL or data URL).
113
-
114
- ### 1. Category Detection
115
-
116
- **Images:** 1 product image
117
- **Output:** category option index only (e.g. `21`)
118
-
119
- ```
120
- Ürün başlığı: {title}
121
-
122
- Görseli ve başlığı inceleyerek doğru kategori numarasını seç.
123
- 0. {option_0}
124
- 1. {option_1}
125
- ...
126
- N. {option_n}
127
-
128
- Cevap olarak yalnızca numarayı yaz.
129
- ```
130
-
131
- ### 2. Product Similarity
132
-
133
- **Images:** before listing images, then after listing images
134
- **Output:** `1` (same SKU) or `0` (different)
135
-
136
- ```
137
- E-ticaret kataloğundaki ürün benzerliği konusunda uzmansınız.
138
- İki ürünün önceki ve sonraki başlık/görsellerini karşılaştırarak aynı ürün olup olmadığını belirle.
139
- Ambalaj, arka plan veya model farkları tek başına fark sayılmaz; renk, boyut, miktar veya varyant farkları fark sayılır.
140
- Sadece "1" veya "0" döndür.
141
-
142
- Önceki Ürün Başlığı:
143
- {before_title}
144
- Önceki Ürün Resimleri:
145
- [image_url...]
146
- Sonraki Ürün Başlığı:
147
- {after_title}
148
- Sonraki Ürün Resimleri:
149
- [image_url...]
150
- ```
151
-
152
- Example payload fragment:
153
-
154
- ```python
155
- content = [
156
- {"type": "text", "text": "E-ticaret kataloğundaki ürün benzerliği konusunda uzmansınız.\nİki ürünün önceki ve sonraki başlık/görsellerini karşılaştırarak aynı ürün olup olmadığını belirle.\nAmbalaj, arka plan veya model farkları tek başına fark sayılmaz; renk, boyut, miktar veya varyant farkları fark sayılır.\nSadece \"1\" veya \"0\" döndür.\n\nÖnceki Ürün Başlığı:\nBambu Kapaklı Vakumlu Borosilikat Yağdanlık | 3 Parça - 2lt\nÖnceki Ürün Resimleri:"},
157
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1757/prod/QC_ENRICHMENT/20250918/02/8683e8bc-61b1-3589-be35-3627320b56e9/1_org_thumb.jpg"}},
158
- {"type": "text", "text": "Sonraki Ürün Başlığı:\nBambu Kapaklı Vakumlu Borosilikat Yağdanlık Seti\nSonraki Ürün Resimleri:"},
159
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1804/prod/QC_ENRICHMENT/20251224/22/1e392dbd-51ab-3513-833a-87817b6b61b4/1_org_thumb.jpg"}},
160
- {"type": "text", "text": "Çıktı sadece \"1\" veya \"0\" olmalı. Açıklamayı pas geçin."},
161
- ]
162
- # Expected output: "0"
163
- ```
164
-
165
- ### 3. Brand Detection
166
-
167
- **Images:** product photos (1–16)
168
- **Output:** brand name or `Unknown`
169
-
170
- ```
171
- Görsellerden, {category} kategorisinde yer alan ürünün markasını çıkar.
172
- Sadece verilen görsellerde doğrulanabilen bilgilere dayan.
173
- Emin olmadığında "Unknown" şeklinde cevap ver.
174
- Sadece marka adını döndür.
175
- ```
176
-
177
- Example:
178
-
179
- ```python
180
- content = [
181
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/mnresize/620/920/ty1571/prod/QC/20240924/23/a77c7933-c626-3753-9cad-fbb7388bff45/1_org_zoom.jpg"}},
182
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/mnresize/620/920/ty1569/prod/QC/20240924/23/356395c3-c71c-37c5-88c4-5ef97899b3d8/1_org_zoom.jpg"}},
183
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/mnresize/620/920/ty1571/prod/QC/20240924/23/112305b3-ba5d-3a28-8fd3-b1857749afca/1_org_zoom.jpg"}},
184
- {"type": "text", "text": "Görsellerden, Eldiven kategorisinde yer alan ürünün markasını çıkar.\nSadece verilen görsellerde doğrulanabilen bilgilere dayan.\nEmin olmadığında \"Unknown\" şeklinde cevap ver.\nSadece marka adını döndür."},
185
- ]
186
- # Expected output: "Adidas"
187
- ```
188
-
189
- ### 4. Attribute Extraction
190
-
191
- **Images:** 1 product image
192
- **Output:** JSON object
193
-
194
- ```
195
- Bu görseldeki, başlığı '{title}' ve açıklaması '{description}' olan ürünün {attribute_list} bilgilerini json formatında çıkarır mısın?
196
- ```
197
-
198
- Example:
199
-
200
- ```python
201
- content = [
202
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1325/product/media/images/prod/QC/20240522/17/f63a7316-5998-3c7d-b45f-93ff8e9c34a2/1_org_zoom.jpg"}},
203
- {"type": "text", "text": "Bu görseldeki, başlığı 'Helen Bar Sandalyesi-mavi-9519q0119' ve açıklaması 'Maksimum kargolanma süresi: Sipariş tarihinden sonraki 7. gün Ortalama montaj süresi: 1 dakika Genişlik: 62cm Derinlik: 52cm Yükseklik: 96cm Oturak Yüksekliği: 44cm Ürün Ağırlığı: 10kg Kullanılan malzeme: Metal Kullanılan sünger: Yüksek yoğunluklu gri sünger Kullanılan kol: Metal Kollu Kullanılan ayak: Metal Ayaklı + Kromajlı Garanti süresi - Menşei: 24 Ay - Yerli Sipariş bazlı üretim-tedarik yapıldığından sipariş iptali yapılamamaktadır Anlaşmalı olunan ambar ve kargolarla bina kapısında teslimat yapılmaktadır' olan ürünün Garanti Süresi, Materyal, Model, Sandalye Kumaşı, Sandalye Sayısı, Tema / Stil bilgilerini json formatında çıkarır mısın?"},
204
- ]
205
- # Expected output:
206
- # {
207
- # "Garanti Süresi": "2 Yıl",
208
- # "Materyal": "Metal",
209
- # "Model": "Bar Sandalyesi",
210
- # "Sandalye Kumaşı": "çıkarılamadı",
211
- # "Sandalye Sayısı": "1",
212
- # "Tema / Stil": "Modern"
213
- # }
214
- ```
215
-
216
- ### 5. Title Generation
217
-
218
- **Images:** 1 product image
219
- **Output:** plain-text title
220
-
221
- ```
222
- Ürün fotoğrafı ile '{reference_title}' bilgisini karşılaştırıp, Trendyol katalog moderasyon kurallarına göre yanıltıcı ifadelerden kaçınarak net bir başlık üret; çıktıyı düz metin ver.
223
- ```
224
-
225
- Example:
226
-
227
- ```python
228
- content = [
229
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1684/prod/QC/20250528/12/51036511-2e99-3a97-a594-e783d8c7bb8e/1_org_zoom.jpg"}},
230
- {"type": "text", "text": "Ürün fotoğrafı ile '%100 Polarize UV400 Korumalı Füme Renk Orijinal Oval Erkek Güneş Gözlüğü DKG6273C3' bilgisini karşılaştırıp, Trendyol katalog moderasyon kurallarına göre yanıltıcı ifadelerden kaçınarak net bir başlık üret; çıktıyı düz metin ver."},
231
- ]
232
- # Expected output: Polarize UV 400 korumalı füme lensli siyah dikdörtgen güneş gözlüğü
233
- ```
234
-
235
- ### 6. Product Caption
236
-
237
- **Images:** 1 product image
238
- **Output:** English product description
239
-
240
- ```
241
- Without speculating about details you cannot see, describe this product based on the image and the information provided.
242
- Product title: {title}
243
- Brand: {brand}
244
- First decide which object is the product, review OCR for brand/model/title clues, then analyze colors, shape, material, pattern, and other grounded details.
245
- ```
246
-
247
- Example:
248
-
249
- ```python
250
- content = [
251
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1742/prod/QC_PREP/20250831/14/e1be2979-cfe6-3a32-b7d8-6e5152722b20/1_org_zoom.jpg"}},
252
- {"type": "text", "text": "Without speculating about details you cannot see, describe this product based on the image and the information provided.\nProduct title: çok renkli çiçek desenli anne elbisesi\nBrand: mihvera\nFirst decide which object is the product, review OCR for brand/model/title clues, then analyze colors, shape, material, pattern, and other grounded details."},
253
- ]
254
- # Expected output: viscose floral print maxi dress, gathered round neckline, long sleeves, relaxed loose fit, floor length hem, multicolor design on dark base
255
- ```
256
-
257
- ### 7. Content Safety Classification
258
-
259
- **Images:** 1 product image
260
- **Labels:** `0` (Forbidden) = not publishable, `1` (Fantasy) = publishable but adult (+18) content, `2` (Safe) = publishable without restriction.
261
-
262
- ```
263
- Ürün Başlığı: {title}
264
-
265
- Bu ürün görselini ve başlığını inceleyerek moderasyon sınıflandırması yap. Sonucu 0 (Forbidden), 1 (Fantasy) veya 2 (Safe) olarak ver.
266
- ```
267
-
268
- Example:
269
-
270
- ```python
271
- content = [
272
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1624/prod/QC/20250117/10/46b6e784-4674-3ae6-a4c0-55a19b83353a/1_org_zoom.jpg"}},
273
- {"type": "text", "text": "Ürün Başlığı: 8. SINIF LGS - MEB BÖYLE SORAR SARMAL BRANŞ DENEME SETİ İKİNCİ DOZ (2025-LGS)\n\nBu ürün görselini ve başlığını inceleyerek moderasyon sınıflandırması yap. Sonucu 0 (Forbidden), 1 (Fantasy) veya 2 (Safe) olarak ver."},
274
- ]
275
- # Expected output: "2"
276
- ```
277
-
278
- ### 8. Per-Pack Quantity Extraction
279
-
280
- **Images:** 1 product image
281
- **Output:** `{"amount": <number|null>, "unit": "KG"|"L"|"PIECE"|null}`
282
-
283
- ```
284
- Extract total product quantity from the title and image. Title is the primary source; use the image only when the title is missing or ambiguous.
285
- Return only JSON: {"amount": <number|null>, "unit": "KG"|"L"|"PIECE"|null}
286
- Convert g→KG, ml/cc→L, counts→PIECE. Ignore model numbers, storage, wattage, and dimensions. If unclear, return {"amount": null, "unit": null}.
287
-
288
- Product Title: {title}
289
- ```
290
-
291
- Example:
292
-
293
- ```python
294
- content = [
295
- {"type": "text", "text": "Extract total product quantity from the title and image. Title is the primary source; use the image only when the title is missing or ambiguous.\nReturn only JSON: {\"amount\": <number|null>, \"unit\": \"KG\"|\"L\"|\"PIECE\"|null}\nConvert g→KG, ml/cc→L, counts→PIECE. Ignore model numbers, storage, wattage, and dimensions. If unclear, return {\"amount\": null, \"unit\": null}.\n\nProduct Title: Seda 6'lı Çay Bardağı"},
296
- {"type": "image_url", "image_url": {"url": "https://cdn.dsmcdn.com/ty1791/prod/QC_ENRICHMENT/20251121/11/be96b90c-9373-33be-bdc2-22c0e794c0f6/1_org_zoom.jpg"}},
297
- ]
298
- # Expected output: {"amount": 6, "unit": "PIECE"}
299
- ```
300
-
301
- ---
302
-
303
- ## Limitations
304
-
305
- - **Domain specificity**: Optimized for Trendyol e-commerce product images and Turkish catalog text; may not generalize to other domains.
306
- - **Category scope**: Category options are provided in the prompt; out-of-scope products should be mapped to an option such as `"Diğer"` in that list.
307
- - **GPU requirements**: 27B model requires multi-GPU serving or high-VRAM hardware.
308
- - **Language bias**: Turkish prompts and outputs are primary; English performance varies by task.
309
- - **Not a general assistant**: Fine-tuned for structured catalog tasks, not open-ended conversation.
310
-
311
- ## Ethical Considerations
312
-
313
- - Designed for catalog quality and moderation workflows.
314
- - Ensure compliance with data protection regulations when processing product and user-generated content.
315
- - Monitor for biased decisions across product categories and brands.
316
- - Not intended for surveillance, misinformation, or harmful content generation.
317
- - Safety and moderation labels reflect training for catalog workflows and may not match every jurisdiction or platform policy; human review is recommended for high-impact decisions.
318
-
319
- ## Citation
320
-
321
- ```bibtex
322
- @misc{trendyol-vision-master,
323
- title={Trendyol-Vision-Master: Catalog Quality Vision-Language Model (VLM)},
324
- author={Trendyol Data Science Team},
325
- year={2026},
326
- howpublished={\url{https://huggingface.co/Trendyol/Trendyol-Vision-Master}}
327
- }
328
- ```
329
-
330
- ```bibtex
331
- @misc{qwen3.5,
332
- title={{Qwen3.5}: Towards Native Multimodal Agents},
333
- author={{Qwen Team}},
334
- month={February},
335
- year={2026},
336
- url={https://huggingface.co/Qwen/Qwen3.5-27B}
337
- }
338
- ```
339
-
340
- ## Model Card Authors
341
-
342
- - Trendyol Data Science Team
343
-
344
- ## License
345
-
346
- This model is licensed under the [Creative Commons Attribution 4.0 International License (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/).
347
-
348
- You are free to share and adapt the model for any purpose, even commercially, as long as you give appropriate credit and indicate if changes were made.
349
-
350
- This release is a fine-tune of [Qwen/Qwen3.5-27B](https://huggingface.co/Qwen/Qwen3.5-27B), which is licensed under [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). Redistribution of this derivative continues to satisfy Apache-2.0 notice and attribution requirements for the base model; retain the Apache-2.0 license text and any NOTICE attributions shipped with Qwen3.5-27B when redistributing.
351
-
352
- For the full CC BY 4.0 license text, see: https://creativecommons.org/licenses/by/4.0/legalcode
353
-
354
- ---
355
-
356
- _Released by the Trendyol Data Science Team._
 
1
  ---
2
+ license: cc-by-sa-4.0
 
3
  language:
4
+ - tr
5
+ - en
6
  base_model:
7
+ - Qwen/Qwen3.5-27B
 
 
 
 
 
 
 
 
 
8
  ---
9
 
10
+ First try
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
args.json DELETED
@@ -1,408 +0,0 @@
1
- {
2
- "output_dir": "/ffs-cv/cqm-vlm/experiments/master/v0/qwen35_27b/cqm_vlm_master_v0_training_qwen35_27b_wds_case1_20260604_133145/v0-20260604-133312",
3
- "per_device_train_batch_size": 2,
4
- "num_train_epochs": 3.0,
5
- "max_steps": -1,
6
- "learning_rate": 1e-05,
7
- "lr_scheduler_type": "cosine",
8
- "lr_scheduler_kwargs": null,
9
- "warmup_steps": 0,
10
- "optim": "adamw_torch_fused",
11
- "optim_args": null,
12
- "weight_decay": 0.01,
13
- "adam_beta1": 0.9,
14
- "adam_beta2": 0.95,
15
- "adam_epsilon": 1e-08,
16
- "optim_target_modules": null,
17
- "gradient_accumulation_steps": 16,
18
- "average_tokens_across_devices": true,
19
- "max_grad_norm": 1.0,
20
- "label_smoothing_factor": 0.0,
21
- "bf16": true,
22
- "fp16": false,
23
- "bf16_full_eval": false,
24
- "fp16_full_eval": false,
25
- "tf32": null,
26
- "gradient_checkpointing": true,
27
- "gradient_checkpointing_kwargs": null,
28
- "torch_compile": false,
29
- "torch_compile_backend": null,
30
- "torch_compile_mode": null,
31
- "use_liger_kernel": true,
32
- "liger_kernel_config": null,
33
- "use_cache": false,
34
- "neftune_noise_alpha": null,
35
- "torch_empty_cache_steps": null,
36
- "auto_find_batch_size": false,
37
- "logging_strategy": "steps",
38
- "logging_steps": 10,
39
- "logging_first_step": true,
40
- "log_on_each_node": true,
41
- "logging_nan_inf_filter": true,
42
- "include_num_input_tokens_seen": false,
43
- "log_level": "passive",
44
- "log_level_replica": "warning",
45
- "disable_tqdm": null,
46
- "report_to": [
47
- "wandb"
48
- ],
49
- "run_name": "cqm_vlm_master_v0_training_qwen35_27b_wds_case1",
50
- "project": "huggingface",
51
- "trackio_space_id": "trackio",
52
- "eval_strategy": "steps",
53
- "eval_steps": 500.0,
54
- "eval_delay": 0,
55
- "per_device_eval_batch_size": 2,
56
- "prediction_loss_only": false,
57
- "eval_on_start": false,
58
- "eval_do_concat_batches": true,
59
- "eval_use_gather_object": false,
60
- "eval_accumulation_steps": null,
61
- "include_for_metrics": [],
62
- "batch_eval_metrics": false,
63
- "save_only_model": false,
64
- "save_strategy": "steps",
65
- "save_steps": 500.0,
66
- "save_on_each_node": false,
67
- "save_total_limit": 8,
68
- "enable_jit_checkpoint": false,
69
- "push_to_hub": false,
70
- "hub_token": null,
71
- "hub_private_repo": null,
72
- "hub_model_id": null,
73
- "hub_strategy": "every_save",
74
- "hub_always_push": false,
75
- "hub_revision": null,
76
- "load_best_model_at_end": false,
77
- "metric_for_best_model": "loss",
78
- "greater_is_better": false,
79
- "ignore_data_skip": false,
80
- "restore_callback_states_from_checkpoint": false,
81
- "full_determinism": false,
82
- "seed": 42,
83
- "data_seed": 42,
84
- "use_cpu": false,
85
- "accelerator_config": {
86
- "dispatch_batches": false
87
- },
88
- "parallelism_config": null,
89
- "dataloader_drop_last": false,
90
- "dataloader_num_workers": 8,
91
- "dataloader_pin_memory": true,
92
- "dataloader_persistent_workers": false,
93
- "dataloader_prefetch_factor": null,
94
- "remove_unused_columns": true,
95
- "label_names": null,
96
- "train_sampling_strategy": "random",
97
- "length_column_name": "length",
98
- "ddp_find_unused_parameters": null,
99
- "ddp_bucket_cap_mb": null,
100
- "ddp_broadcast_buffers": null,
101
- "ddp_backend": null,
102
- "ddp_timeout": 18000000,
103
- "fsdp": [],
104
- "fsdp_config": null,
105
- "deepspeed": {
106
- "zero_optimization": {
107
- "stage": 3,
108
- "offload_optimizer": {
109
- "device": "cpu",
110
- "pin_memory": true
111
- },
112
- "overlap_comm": true,
113
- "contiguous_gradients": true,
114
- "stage3_gather_16bit_weights_on_model_save": true
115
- },
116
- "bf16": {
117
- "enabled": true
118
- },
119
- "gradient_clipping": 1.0,
120
- "train_micro_batch_size_per_gpu": 2,
121
- "gradient_accumulation_steps": 16
122
- },
123
- "debug": null,
124
- "skip_memory_metrics": true,
125
- "do_train": false,
126
- "do_eval": false,
127
- "do_predict": false,
128
- "resume_from_checkpoint": null,
129
- "warmup_ratio": 0.03,
130
- "logging_dir": "/ffs-cv/cqm-vlm/experiments/master/v0/qwen35_27b/cqm_vlm_master_v0_training_qwen35_27b_wds_case1_20260604_133145/v0-20260604-133312/runs",
131
- "local_rank": 0,
132
- "sortish_sampler": false,
133
- "predict_with_generate": false,
134
- "generation_max_length": null,
135
- "generation_num_beams": null,
136
- "generation_config": null,
137
- "tuner_backend": "peft",
138
- "vit_gradient_checkpointing": false,
139
- "router_aux_loss_coef": 0.0,
140
- "enable_dft_loss": false,
141
- "enable_channel_loss": true,
142
- "safe_serialization": true,
143
- "max_shard_size": "5GB",
144
- "check_model": true,
145
- "acc_strategy": "token",
146
- "train_dataloader_shuffle": true,
147
- "group_by_length": false,
148
- "max_epochs": null,
149
- "aligner_lr": 1e-05,
150
- "vit_lr": 1e-06,
151
- "use_logits_to_keep": null,
152
- "ds3_gather_for_generation": true,
153
- "resume_only_model": false,
154
- "optimizer": null,
155
- "loss_type": null,
156
- "eval_metric": null,
157
- "callbacks": [],
158
- "early_stop_interval": null,
159
- "eval_use_evalscope": false,
160
- "eval_dataset": [],
161
- "eval_dataset_args": null,
162
- "eval_limit": null,
163
- "eval_generation_config": null,
164
- "extra_eval_args": null,
165
- "tuner_type": "full",
166
- "use_galore": false,
167
- "galore_target_modules": null,
168
- "galore_rank": 128,
169
- "galore_update_proj_gap": 50,
170
- "galore_scale": 1.0,
171
- "galore_proj_type": "std",
172
- "galore_optim_per_parameter": false,
173
- "galore_with_embedding": false,
174
- "galore_quantization": false,
175
- "galore_proj_quant": false,
176
- "galore_proj_bits": 4,
177
- "galore_proj_group_size": 256,
178
- "galore_cos_threshold": 0.4,
179
- "galore_gamma_proj": 2,
180
- "galore_queue_size": 5,
181
- "lisa_activated_layers": 0,
182
- "lisa_step_interval": 20,
183
- "use_flash_ckpt": false,
184
- "use_ray": false,
185
- "ray_exp_name": null,
186
- "device_groups": null,
187
- "model": "Qwen/Qwen3.5-27B",
188
- "model_type": "qwen3_5",
189
- "model_revision": null,
190
- "task_type": "causal_lm",
191
- "torch_dtype": "bfloat16",
192
- "attn_impl": "flash_attention_2",
193
- "experts_impl": null,
194
- "new_special_tokens": [],
195
- "num_labels": null,
196
- "problem_type": null,
197
- "rope_scaling": null,
198
- "device_map": null,
199
- "max_memory": {},
200
- "max_model_len": null,
201
- "local_repo_path": null,
202
- "init_strategy": null,
203
- "template": "qwen3_5",
204
- "system": null,
205
- "max_length": 4096,
206
- "truncation_strategy": "delete",
207
- "max_pixels": null,
208
- "agent_template": null,
209
- "norm_bbox": null,
210
- "use_chat_template": true,
211
- "padding_side": "right",
212
- "padding_free": true,
213
- "loss_scale": "ignore_empty_think",
214
- "sequence_parallel_size": 1,
215
- "template_backend": "swift",
216
- "response_prefix": null,
217
- "enable_thinking": null,
218
- "add_non_thinking_prefix": true,
219
- "dataset": [
220
- "/data/cqm-vlm/wds_data/attribute_extraction/v31/webdataset/train/manifest_resolved_channeled.jsonl",
221
- "/data/cqm-vlm/wds_data/product_similarity/case_1/webdataset/train/manifest_resolved_channeled.jsonl",
222
- "/data/cqm-vlm/wds_data/category_detection/webdataset/train/manifest_resolved_channeled.jsonl",
223
- "/data/cqm-vlm/wds_data/category_detection_master/webdataset/train/manifest_resolved_channeled.jsonl",
224
- "/data/cqm-vlm/wds_data/image_caption/webdataset/train/manifest_resolved_channeled.jsonl",
225
- "/data/cqm-vlm/wds_data/public/blip_3o/webdataset/train/manifest_resolved_channeled.jsonl",
226
- "/data/cqm-vlm/wds_data/multi_task_general_purpose/webdataset/train/manifest_resolved_channeled.jsonl",
227
- "/data/cqm-vlm/wds_data/ocr/webdataset/train/manifest_resolved_channeled.jsonl",
228
- "/data/cqm-vlm/wds_data/public/icdar2024_dt_vqa/webdataset/train/manifest_resolved_channeled.jsonl",
229
- "/data/cqm-vlm/wds_data/public/incidental_scene_text/webdataset/train/manifest_resolved_channeled.jsonl",
230
- "/data/cqm-vlm/wds_data/per_pact/webdataset/train/manifest_resolved_channeled.jsonl",
231
- "/data/cqm-vlm/wds_data/product_unification/webdataset/train/manifest_resolved_channeled.jsonl",
232
- "/data/cqm-vlm/wds_data/prohibited_object_detection/webdataset/train/manifest_resolved_channeled.jsonl",
233
- "/data/cqm-vlm/wds_data/title_generation/webdataset/train/manifest_resolved_channeled.jsonl",
234
- "/data/cqm-vlm/wds_data/forbidden_words_refinement/webdataset/train/manifest_resolved_channeled.jsonl",
235
- "/data/cqm-vlm/wds_data/explicit_content_detection/webdataset/train/manifest_resolved_channeled.jsonl",
236
- "/data/cqm-vlm/wds_data/ugc/webdataset/train/manifest_resolved_channeled.jsonl",
237
- "/data/cqm-vlm/wds_data/brand_detection/webdataset/train/manifest_resolved_channeled.jsonl",
238
- "/data/cqm-vlm/wds_data/product_caption/webdataset/train/manifest_resolved_channeled.jsonl",
239
- "/data/cqm-vlm/wds_data/pure_text_corpus/webdataset/train/manifest_resolved_channeled.jsonl",
240
- "/data/cqm-vlm/wds_data/external_datasets/webdataset/train/manifest_resolved_channeled.jsonl"
241
- ],
242
- "val_dataset": [
243
- "/data/cqm-vlm/wds_data/attribute_extraction/v31/webdataset/val/manifest_resolved_channeled.jsonl",
244
- "/data/cqm-vlm/wds_data/product_similarity/case_1/webdataset/val/manifest_resolved_channeled.jsonl",
245
- "/data/cqm-vlm/wds_data/category_detection/webdataset/val/manifest_resolved_channeled.jsonl",
246
- "/data/cqm-vlm/wds_data/category_detection_master/webdataset/val/manifest_resolved_channeled.jsonl",
247
- "/data/cqm-vlm/wds_data/image_caption/webdataset/val/manifest_resolved_channeled.jsonl",
248
- "/data/cqm-vlm/wds_data/public/blip_3o/webdataset/val/manifest_resolved_channeled.jsonl",
249
- "/data/cqm-vlm/wds_data/multi_task_general_purpose/webdataset/val/manifest_resolved_channeled.jsonl",
250
- "/data/cqm-vlm/wds_data/ocr/webdataset/val/manifest_resolved_channeled.jsonl",
251
- "/data/cqm-vlm/wds_data/public/icdar2024_dt_vqa/webdataset/val/manifest_resolved_channeled.jsonl",
252
- "/data/cqm-vlm/wds_data/public/incidental_scene_text/webdataset/val/manifest_resolved_channeled.jsonl",
253
- "/data/cqm-vlm/wds_data/per_pact/webdataset/val/manifest_resolved_channeled.jsonl",
254
- "/data/cqm-vlm/wds_data/product_unification/webdataset/val/manifest_resolved_channeled.jsonl",
255
- "/data/cqm-vlm/wds_data/prohibited_object_detection/webdataset/val/manifest_resolved_channeled.jsonl",
256
- "/data/cqm-vlm/wds_data/title_generation/webdataset/val/manifest_resolved_channeled.jsonl",
257
- "/data/cqm-vlm/wds_data/forbidden_words_refinement/webdataset/val/manifest_resolved_channeled.jsonl",
258
- "/data/cqm-vlm/wds_data/explicit_content_detection/webdataset/val/manifest_resolved_channeled.jsonl",
259
- "/data/cqm-vlm/wds_data/ugc/webdataset/val/manifest_resolved_channeled.jsonl",
260
- "/data/cqm-vlm/wds_data/brand_detection/webdataset/val/manifest_resolved_channeled.jsonl",
261
- "/data/cqm-vlm/wds_data/product_caption/webdataset/val/manifest_resolved_channeled.jsonl",
262
- "/data/cqm-vlm/wds_data/pure_text_corpus/webdataset/val/manifest_resolved_channeled.jsonl"
263
- ],
264
- "cached_dataset": [],
265
- "cached_val_dataset": [],
266
- "split_dataset_ratio": 0.0,
267
- "dataset_num_proc": 8,
268
- "load_from_cache_file": true,
269
- "dataset_shuffle": true,
270
- "val_dataset_shuffle": false,
271
- "streaming": false,
272
- "interleave_prob": null,
273
- "stopping_strategy": "first_exhausted",
274
- "shuffle_buffer_size": 1000,
275
- "download_mode": "reuse_dataset_if_exists",
276
- "columns": {},
277
- "strict": false,
278
- "disable_auto_column_mapping": false,
279
- "model_name": null,
280
- "model_author": null,
281
- "custom_dataset_info": [],
282
- "quant_method": null,
283
- "quant_bits": null,
284
- "hqq_axis": null,
285
- "bnb_4bit_compute_dtype": "bfloat16",
286
- "bnb_4bit_quant_type": "nf4",
287
- "bnb_4bit_use_double_quant": true,
288
- "bnb_4bit_quant_storage": null,
289
- "max_new_tokens": 64,
290
- "temperature": 0.0,
291
- "top_k": null,
292
- "top_p": null,
293
- "repetition_penalty": null,
294
- "num_beams": 1,
295
- "stream": false,
296
- "stop_words": [],
297
- "logprobs": false,
298
- "top_logprobs": null,
299
- "structured_outputs_regex": null,
300
- "adapters": [],
301
- "external_plugins": [],
302
- "custom_register_path": [],
303
- "model_kwargs": {
304
- "max_pixels": 401408,
305
- "min_pixels": 100352
306
- },
307
- "enable_npu_model_patch": true,
308
- "load_args": false,
309
- "load_data_args": false,
310
- "packing": true,
311
- "packing_length": 4096,
312
- "packing_num_proc": 1,
313
- "lazy_tokenize": false,
314
- "use_hf": true,
315
- "ignore_args_error": false,
316
- "use_swift_lora": false,
317
- "freeze_parameters": [
318
- "model.visual"
319
- ],
320
- "freeze_parameters_regex": null,
321
- "freeze_parameters_ratio": 0.0,
322
- "trainable_parameters": [
323
- "model.visual.merger"
324
- ],
325
- "trainable_parameters_regex": null,
326
- "freeze_llm": false,
327
- "freeze_vit": true,
328
- "freeze_aligner": false,
329
- "target_modules": [
330
- "all-linear"
331
- ],
332
- "target_regex": null,
333
- "target_parameters": null,
334
- "modules_to_save": [],
335
- "lora_rank": 8,
336
- "lora_alpha": 32,
337
- "lora_dropout": 0.05,
338
- "lora_bias": "none",
339
- "lora_dtype": null,
340
- "lorap_lr_ratio": null,
341
- "use_rslora": false,
342
- "use_dora": false,
343
- "lora_ga_batch_size": 2,
344
- "lora_ga_iters": 2,
345
- "lora_ga_max_length": 1024,
346
- "lora_ga_direction": "ArB2r",
347
- "lora_ga_scale": "stable",
348
- "lora_ga_stable_gamma": 16,
349
- "init_weights": true,
350
- "fourier_n_frequency": 2000,
351
- "fourier_scaling": 300.0,
352
- "boft_block_size": 4,
353
- "boft_block_num": 0,
354
- "boft_n_butterfly_factor": 1,
355
- "boft_dropout": 0.0,
356
- "vera_rank": 256,
357
- "vera_projection_prng_key": 0,
358
- "vera_dropout": 0.0,
359
- "vera_d_initial": 0.1,
360
- "adapter_act": "gelu",
361
- "adapter_length": 128,
362
- "adalora_target_r": 8,
363
- "adalora_init_r": 12,
364
- "adalora_tinit": 0,
365
- "adalora_tfinal": 0,
366
- "adalora_deltaT": 1,
367
- "adalora_beta1": 0.85,
368
- "adalora_beta2": 0.85,
369
- "adalora_orth_reg_weight": 0.5,
370
- "llamapro_num_new_blocks": 4,
371
- "llamapro_num_groups": null,
372
- "reft_layer_key": null,
373
- "reft_layers": null,
374
- "reft_rank": 4,
375
- "reft_intervention_type": "LoreftIntervention",
376
- "reft_args": null,
377
- "swanlab_token": null,
378
- "swanlab_project": "ms-swift",
379
- "swanlab_workspace": null,
380
- "swanlab_exp_name": null,
381
- "swanlab_notification_method": null,
382
- "swanlab_webhook_url": null,
383
- "swanlab_secret": null,
384
- "swanlab_sender_email": null,
385
- "swanlab_receiver_email": null,
386
- "swanlab_smtp_server": null,
387
- "swanlab_smtp_port": null,
388
- "swanlab_email_language": "zh",
389
- "swanlab_mode": "cloud",
390
- "add_version": true,
391
- "create_checkpoint_symlink": false,
392
- "zero_hpz_partition_size": null,
393
- "deepspeed_autotp_size": null,
394
- "swift_version": "4.2.3",
395
- "ckpt_dir": null,
396
- "rank": 0,
397
- "global_world_size": 8,
398
- "local_world_size": 8,
399
- "model_suffix": "Qwen3.5-27B",
400
- "model_info": "ModelInfo(model_type='qwen3_5', model_dir='/root/.cache/huggingface/hub/models--Qwen--Qwen3.5-27B/snapshots/fc05daec18b0a78c049392ed2e771dde82bdf654', torch_dtype=torch.bfloat16, max_model_len=262144, quant_method=None, quant_bits=None, rope_scaling=None, is_moe_model=False, is_multimodal=True, config=None, task_type='causal_lm', num_labels=None)",
401
- "model_meta": "ModelMeta(model_type='qwen3_5', model_groups=[ModelGroup(models=[Model(ms_model_id='Qwen/Qwen3.5-0.8B', hf_model_id='Qwen/Qwen3.5-0.8B', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen3.5-2B', hf_model_id='Qwen/Qwen3.5-2B', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen3.5-4B', hf_model_id='Qwen/Qwen3.5-4B', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen3.5-9B', hf_model_id='Qwen/Qwen3.5-9B', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen3.5-27B', hf_model_id='Qwen/Qwen3.5-27B', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen3.5-27B-FP8', hf_model_id='Qwen/Qwen3.5-27B-FP8', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen3.5-0.8B-Base', hf_model_id='Qwen/Qwen3.5-0.8B-Base', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen3.5-2B-Base', hf_model_id='Qwen/Qwen3.5-2B-Base', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen3.5-4B-Base', hf_model_id='Qwen/Qwen3.5-4B-Base', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen3.5-9B-Base', hf_model_id='Qwen/Qwen3.5-9B-Base', model_path=None, ms_revision=None, hf_revision=None)], template='qwen3_5', ignore_patterns=None, requires=None, tags=[]), ModelGroup(models=[Model(ms_model_id='Qwen/Qwen3.6-27B', hf_model_id='Qwen/Qwen3.6-27B', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen3.6-27B-FP8', hf_model_id='Qwen/Qwen3.6-27B-FP8', model_path=None, ms_revision=None, hf_revision=None)], template='qwen3_5', ignore_patterns=None, requires=None, tags=[])], loader=<class 'swift.model.models.qwen.Qwen3_5Loader'>, template='qwen3_5', model_arch=MultiModelKeys(arch_name='qwen2_vl', embedding=None, module_list=None, lm_head=None, q_proj=None, k_proj=None, v_proj=None, o_proj=None, attention=None, mlp=None, down_proj=None, qkv_proj=None, qk_proj=None, qa_proj=None, qb_proj=None, kv_proj=None, kva_proj=None, kvb_proj=None, language_model=['model.language_model', 'lm_head'], aligner=['model.visual.merger'], vision_tower=['model.visual'], generator=[]), mcore_model_type=None, architectures=['Qwen3_5ForConditionalGeneration'], additional_saved_files=[], torch_dtype=None, is_multimodal=True, is_reward=False, task_type=None, ignore_patterns=None, requires=['transformers>=5.0.0.dev', 'qwen_vl_utils>=0.0.14', 'decord'], tags=[])",
402
- "model_dir": "/root/.cache/huggingface/hub/models--Qwen--Qwen3.5-27B/snapshots/fc05daec18b0a78c049392ed2e771dde82bdf654",
403
- "template_meta": "QwenTemplateMeta(template_type='qwen3_5', prefix=[], prompt=['<|im_start|>user\\n{{QUERY}}<|im_end|>\\n<|im_start|>assistant\\n'], chat_sep=['<|im_end|>\\n'], suffix=['<|im_end|>\\n'], template_cls=<class 'swift.template.templates.qwen.Qwen3_5Template'>, system_prefix=['<|im_start|>system\\n{{SYSTEM}}<|im_end|>\\n'], default_system=None, auto_add_bos=False, stop_words=['<|endoftext|>'], agent_template='qwen3_5', is_thinking=True, thinking_prefix='<think>\\n', non_thinking_prefix='<think>\\n\\n</think>\\n\\n', history_thinking_prefix='')",
404
- "_val_dataset_exists": true,
405
- "hub": "<class 'swift.hub.hub.HFHub'>",
406
- "evaluation_strategy": "steps",
407
- "training_args": "Seq2SeqTrainingArguments(output_dir='/ffs-cv/cqm-vlm/experiments/master/v0/qwen35_27b/cqm_vlm_master_v0_training_qwen35_27b_wds_case1_20260604_133145/v0-20260604-133312', per_device_train_batch_size=2, num_train_epochs=3.0, max_steps=-1, learning_rate=1e-05, lr_scheduler_type=<SchedulerType.COSINE: 'cosine'>, lr_scheduler_kwargs=None, warmup_steps=0.03, optim=<OptimizerNames.ADAMW_TORCH_FUSED: 'adamw_torch_fused'>, optim_args=None, weight_decay=0.01, adam_beta1=0.9, adam_beta2=0.95, adam_epsilon=1e-08, optim_target_modules=None, gradient_accumulation_steps=16, average_tokens_across_devices=None, max_grad_norm=1.0, label_smoothing_factor=0.0, bf16=True, fp16=False, bf16_full_eval=False, fp16_full_eval=False, tf32=None, gradient_checkpointing=True, gradient_checkpointing_kwargs=None, torch_compile=False, torch_compile_backend=None, torch_compile_mode=None, use_liger_kernel=True, liger_kernel_config=None, use_cache=False, neftune_noise_alpha=None, torch_empty_cache_steps=None, auto_find_batch_size=False, logging_strategy=<IntervalStrategy.STEPS: 'steps'>, logging_steps=10, logging_first_step=True, log_on_each_node=True, logging_nan_inf_filter=True, include_num_input_tokens_seen=None, log_level='passive', log_level_replica='warning', disable_tqdm=False, report_to=['wandb'], run_name='cqm_vlm_master_v0_training_qwen35_27b_wds_case1', project='huggingface', trackio_space_id='trackio', eval_strategy=<IntervalStrategy.STEPS: 'steps'>, eval_steps=500, eval_delay=0, per_device_eval_batch_size=2, prediction_loss_only=False, eval_on_start=False, eval_do_concat_batches=True, eval_use_gather_object=False, eval_accumulation_steps=None, include_for_metrics=[], batch_eval_metrics=False, save_only_model=False, save_strategy=<SaveStrategy.STEPS: 'steps'>, save_steps=500, save_on_each_node=False, save_total_limit=8, enable_jit_checkpoint=False, push_to_hub=False, hub_token=None, hub_private_repo=None, hub_model_id=None, hub_strategy=<HubStrategy.EVERY_SAVE: 'every_save'>, hub_always_push=False, hub_revision=None, load_best_model_at_end=False, metric_for_best_model='loss', greater_is_better=False, ignore_data_skip=False, restore_callback_states_from_checkpoint=False, full_determinism=False, seed=42, data_seed=42, use_cpu=False, accelerator_config=AcceleratorConfig(split_batches=False, dispatch_batches=False, even_batches=True, use_seedable_sampler=True, non_blocking=False, gradient_accumulation_kwargs=None, use_configured_state=False), parallelism_config=None, dataloader_drop_last=False, dataloader_num_workers=8, dataloader_pin_memory=True, dataloader_persistent_workers=False, dataloader_prefetch_factor=2, remove_unused_columns=False, label_names=None, train_sampling_strategy='random', length_column_name='length', ddp_find_unused_parameters=None, ddp_bucket_cap_mb=None, ddp_broadcast_buffers=None, ddp_backend=None, ddp_timeout=18000000, fsdp=[], fsdp_config={'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}, deepspeed={'zero_optimization': {'stage': 3, 'offload_optimizer': {'device': 'cpu', 'pin_memory': True}, 'overlap_comm': True, 'contiguous_gradients': True, 'stage3_gather_16bit_weights_on_model_save': True}, 'bf16': {'enabled': True}, 'gradient_clipping': 1.0, 'train_micro_batch_size_per_gpu': 2, 'gradient_accumulation_steps': 16}, debug=[], skip_memory_metrics=True, do_train=False, do_eval=True, do_predict=False, resume_from_checkpoint=None, warmup_ratio=0.03, logging_dir='/ffs-cv/cqm-vlm/experiments/master/v0/qwen35_27b/cqm_vlm_master_v0_training_qwen35_27b_wds_case1_20260604_133145/v0-20260604-133312/runs', local_rank=0, sortish_sampler=False, predict_with_generate=False, generation_max_length=None, generation_num_beams=None, generation_config=None, tuner_backend='peft', vit_gradient_checkpointing=False, router_aux_loss_coef=0.0, enable_dft_loss=False, enable_channel_loss=True, safe_serialization=True, max_shard_size='5GB', check_model=True, acc_strategy='token', train_dataloader_shuffle=True, group_by_length=False, max_epochs=None, aligner_lr=1e-05, vit_lr=1e-06, use_logits_to_keep=None, ds3_gather_for_generation=True, resume_only_model=False, optimizer='multimodal', loss_type=None, eval_metric=None, callbacks=[], early_stop_interval=None, eval_use_evalscope=False, eval_dataset=[], eval_dataset_args=None, eval_limit=None, eval_generation_config=None, extra_eval_args=None, tuner_type='full', use_galore=False, galore_target_modules=None, galore_rank=128, galore_update_proj_gap=50, galore_scale=1.0, galore_proj_type='std', galore_optim_per_parameter=False, galore_with_embedding=False, galore_quantization=False, galore_proj_quant=False, galore_proj_bits=4, galore_proj_group_size=256, galore_cos_threshold=0.4, galore_gamma_proj=2, galore_queue_size=5, lisa_activated_layers=0, lisa_step_interval=20, use_flash_ckpt=False)"
408
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
chat_template.jinja DELETED
@@ -1,154 +0,0 @@
1
- {%- set image_count = namespace(value=0) %}
2
- {%- set video_count = namespace(value=0) %}
3
- {%- macro render_content(content, do_vision_count, is_system_content=false) %}
4
- {%- if content is string %}
5
- {{- content }}
6
- {%- elif content is iterable and content is not mapping %}
7
- {%- for item in content %}
8
- {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
9
- {%- if is_system_content %}
10
- {{- raise_exception('System message cannot contain images.') }}
11
- {%- endif %}
12
- {%- if do_vision_count %}
13
- {%- set image_count.value = image_count.value + 1 %}
14
- {%- endif %}
15
- {%- if add_vision_id %}
16
- {{- 'Picture ' ~ image_count.value ~ ': ' }}
17
- {%- endif %}
18
- {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
19
- {%- elif 'video' in item or item.type == 'video' %}
20
- {%- if is_system_content %}
21
- {{- raise_exception('System message cannot contain videos.') }}
22
- {%- endif %}
23
- {%- if do_vision_count %}
24
- {%- set video_count.value = video_count.value + 1 %}
25
- {%- endif %}
26
- {%- if add_vision_id %}
27
- {{- 'Video ' ~ video_count.value ~ ': ' }}
28
- {%- endif %}
29
- {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
30
- {%- elif 'text' in item %}
31
- {{- item.text }}
32
- {%- else %}
33
- {{- raise_exception('Unexpected item type in content.') }}
34
- {%- endif %}
35
- {%- endfor %}
36
- {%- elif content is none or content is undefined %}
37
- {{- '' }}
38
- {%- else %}
39
- {{- raise_exception('Unexpected content type.') }}
40
- {%- endif %}
41
- {%- endmacro %}
42
- {%- if not messages %}
43
- {{- raise_exception('No messages provided.') }}
44
- {%- endif %}
45
- {%- if tools and tools is iterable and tools is not mapping %}
46
- {{- '<|im_start|>system\n' }}
47
- {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
48
- {%- for tool in tools %}
49
- {{- "\n" }}
50
- {{- tool | tojson }}
51
- {%- endfor %}
52
- {{- "\n</tools>" }}
53
- {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
54
- {%- if messages[0].role == 'system' %}
55
- {%- set content = render_content(messages[0].content, false, true)|trim %}
56
- {%- if content %}
57
- {{- '\n\n' + content }}
58
- {%- endif %}
59
- {%- endif %}
60
- {{- '<|im_end|>\n' }}
61
- {%- else %}
62
- {%- if messages[0].role == 'system' %}
63
- {%- set content = render_content(messages[0].content, false, true)|trim %}
64
- {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
65
- {%- endif %}
66
- {%- endif %}
67
- {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
68
- {%- for message in messages[::-1] %}
69
- {%- set index = (messages|length - 1) - loop.index0 %}
70
- {%- if ns.multi_step_tool and message.role == "user" %}
71
- {%- set content = render_content(message.content, false)|trim %}
72
- {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
73
- {%- set ns.multi_step_tool = false %}
74
- {%- set ns.last_query_index = index %}
75
- {%- endif %}
76
- {%- endif %}
77
- {%- endfor %}
78
- {%- if ns.multi_step_tool %}
79
- {{- raise_exception('No user query found in messages.') }}
80
- {%- endif %}
81
- {%- for message in messages %}
82
- {%- set content = render_content(message.content, true)|trim %}
83
- {%- if message.role == "system" %}
84
- {%- if not loop.first %}
85
- {{- raise_exception('System message must be at the beginning.') }}
86
- {%- endif %}
87
- {%- elif message.role == "user" %}
88
- {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
89
- {%- elif message.role == "assistant" %}
90
- {%- set reasoning_content = '' %}
91
- {%- if message.reasoning_content is string %}
92
- {%- set reasoning_content = message.reasoning_content %}
93
- {%- else %}
94
- {%- if '</think>' in content %}
95
- {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
96
- {%- set content = content.split('</think>')[-1].lstrip('\n') %}
97
- {%- endif %}
98
- {%- endif %}
99
- {%- set reasoning_content = reasoning_content|trim %}
100
- {%- if loop.index0 > ns.last_query_index %}
101
- {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
102
- {%- else %}
103
- {{- '<|im_start|>' + message.role + '\n' + content }}
104
- {%- endif %}
105
- {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
106
- {%- for tool_call in message.tool_calls %}
107
- {%- if tool_call.function is defined %}
108
- {%- set tool_call = tool_call.function %}
109
- {%- endif %}
110
- {%- if loop.first %}
111
- {%- if content|trim %}
112
- {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
113
- {%- else %}
114
- {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
115
- {%- endif %}
116
- {%- else %}
117
- {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
118
- {%- endif %}
119
- {%- if tool_call.arguments is defined %}
120
- {%- for args_name, args_value in tool_call.arguments|items %}
121
- {{- '<parameter=' + args_name + '>\n' }}
122
- {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
123
- {{- args_value }}
124
- {{- '\n</parameter>\n' }}
125
- {%- endfor %}
126
- {%- endif %}
127
- {{- '</function>\n</tool_call>' }}
128
- {%- endfor %}
129
- {%- endif %}
130
- {{- '<|im_end|>\n' }}
131
- {%- elif message.role == "tool" %}
132
- {%- if loop.previtem and loop.previtem.role != "tool" %}
133
- {{- '<|im_start|>user' }}
134
- {%- endif %}
135
- {{- '\n<tool_response>\n' }}
136
- {{- content }}
137
- {{- '\n</tool_response>' }}
138
- {%- if not loop.last and loop.nextitem.role != "tool" %}
139
- {{- '<|im_end|>\n' }}
140
- {%- elif loop.last %}
141
- {{- '<|im_end|>\n' }}
142
- {%- endif %}
143
- {%- else %}
144
- {{- raise_exception('Unexpected message role.') }}
145
- {%- endif %}
146
- {%- endfor %}
147
- {%- if add_generation_prompt %}
148
- {{- '<|im_start|>assistant\n' }}
149
- {%- if enable_thinking is defined and enable_thinking is false %}
150
- {{- '<think>\n\n</think>\n\n' }}
151
- {%- else %}
152
- {{- '<think>\n' }}
153
- {%- endif %}
154
- {%- endif %}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
config.json DELETED
@@ -1,146 +0,0 @@
1
- {
2
- "architectures": [
3
- "Qwen3_5ForConditionalGeneration"
4
- ],
5
- "bos_token_id": null,
6
- "dtype": "bfloat16",
7
- "eos_token_id": 248046,
8
- "hidden_size": 5120,
9
- "image_token_id": 248056,
10
- "model_type": "qwen3_5",
11
- "pad_token_id": 248044,
12
- "text_config": {
13
- "attention_bias": false,
14
- "attention_dropout": 0.0,
15
- "attn_output_gate": true,
16
- "bos_token_id": null,
17
- "dtype": "bfloat16",
18
- "eos_token_id": 248044,
19
- "full_attention_interval": 4,
20
- "head_dim": 256,
21
- "hidden_act": "silu",
22
- "hidden_size": 5120,
23
- "initializer_range": 0.02,
24
- "intermediate_size": 17408,
25
- "layer_types": [
26
- "linear_attention",
27
- "linear_attention",
28
- "linear_attention",
29
- "full_attention",
30
- "linear_attention",
31
- "linear_attention",
32
- "linear_attention",
33
- "full_attention",
34
- "linear_attention",
35
- "linear_attention",
36
- "linear_attention",
37
- "full_attention",
38
- "linear_attention",
39
- "linear_attention",
40
- "linear_attention",
41
- "full_attention",
42
- "linear_attention",
43
- "linear_attention",
44
- "linear_attention",
45
- "full_attention",
46
- "linear_attention",
47
- "linear_attention",
48
- "linear_attention",
49
- "full_attention",
50
- "linear_attention",
51
- "linear_attention",
52
- "linear_attention",
53
- "full_attention",
54
- "linear_attention",
55
- "linear_attention",
56
- "linear_attention",
57
- "full_attention",
58
- "linear_attention",
59
- "linear_attention",
60
- "linear_attention",
61
- "full_attention",
62
- "linear_attention",
63
- "linear_attention",
64
- "linear_attention",
65
- "full_attention",
66
- "linear_attention",
67
- "linear_attention",
68
- "linear_attention",
69
- "full_attention",
70
- "linear_attention",
71
- "linear_attention",
72
- "linear_attention",
73
- "full_attention",
74
- "linear_attention",
75
- "linear_attention",
76
- "linear_attention",
77
- "full_attention",
78
- "linear_attention",
79
- "linear_attention",
80
- "linear_attention",
81
- "full_attention",
82
- "linear_attention",
83
- "linear_attention",
84
- "linear_attention",
85
- "full_attention",
86
- "linear_attention",
87
- "linear_attention",
88
- "linear_attention",
89
- "full_attention"
90
- ],
91
- "linear_conv_kernel_dim": 4,
92
- "linear_key_head_dim": 128,
93
- "linear_num_key_heads": 16,
94
- "linear_num_value_heads": 48,
95
- "linear_value_head_dim": 128,
96
- "mamba_ssm_dtype": "float32",
97
- "max_position_embeddings": 262144,
98
- "mlp_only_layers": [],
99
- "model_type": "qwen3_5_text",
100
- "mtp_num_hidden_layers": 1,
101
- "mtp_use_dedicated_embeddings": false,
102
- "num_attention_heads": 24,
103
- "num_hidden_layers": 64,
104
- "num_key_value_heads": 4,
105
- "pad_token_id": 248044,
106
- "partial_rotary_factor": 0.25,
107
- "rms_norm_eps": 1e-06,
108
- "rope_parameters": {
109
- "mrope_interleaved": true,
110
- "mrope_section": [
111
- 11,
112
- 11,
113
- 10
114
- ],
115
- "partial_rotary_factor": 0.25,
116
- "rope_theta": 10000000,
117
- "rope_type": "default"
118
- },
119
- "tie_word_embeddings": false,
120
- "use_cache": false,
121
- "vocab_size": 248320
122
- },
123
- "tie_word_embeddings": false,
124
- "transformers_version": "5.2.0",
125
- "use_cache": false,
126
- "video_token_id": 248057,
127
- "vision_config": {
128
- "deepstack_visual_indexes": [],
129
- "depth": 27,
130
- "dtype": "bfloat16",
131
- "hidden_act": "gelu_pytorch_tanh",
132
- "hidden_size": 1152,
133
- "in_channels": 3,
134
- "initializer_range": 0.02,
135
- "intermediate_size": 4304,
136
- "model_type": "qwen3_5",
137
- "num_heads": 16,
138
- "num_position_embeddings": 2304,
139
- "out_hidden_size": 5120,
140
- "patch_size": 16,
141
- "spatial_merge_size": 2,
142
- "temporal_patch_size": 2
143
- },
144
- "vision_end_token_id": 248054,
145
- "vision_start_token_id": 248053
146
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
generation_config.json DELETED
@@ -1,13 +0,0 @@
1
- {
2
- "bos_token_id": 248044,
3
- "do_sample": true,
4
- "eos_token_id": [
5
- 248046,
6
- 248044
7
- ],
8
- "pad_token_id": 248044,
9
- "temperature": 0.6,
10
- "top_k": 20,
11
- "top_p": 0.95,
12
- "transformers_version": "5.2.0"
13
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
latest DELETED
@@ -1 +0,0 @@
1
- global_step3500
 
 
model-00001-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:5affc0e9e2fa0f4b2c651d0efd55c7488b12ca03a672e57e44005bac78c36180
3
- size 2542796928
 
 
 
 
model-00002-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:b8df41dca55a43ea8f944c62c12f5155735534d9e4bf95d4881c0952e359456f
3
- size 4842451920
 
 
 
 
model-00003-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:d6f4057be7b61c23016b419ad2949c7ab087a8e9965b92fcd557a808cff62f4c
3
- size 4965227944
 
 
 
 
model-00004-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:a8d9918d2bae55076fe3a260dc71d372a97e522b30c8a1ff520fa76d622e38b6
3
- size 4912819264
 
 
 
 
model-00005-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:14bb58fc84d35024ca8b344dedf259d9ceae40290a898f0618291b7b9408885f
3
- size 4986198544
 
 
 
 
model-00006-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:995a9b0d7c8547f84ac91f6c6bbbf0a6063a2f9d3c8230ca4950c9a310ec7465
3
- size 4912819320
 
 
 
 
model-00007-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:02fab62428b2e5f9aa605ca6d502770a6f71a03966cb46e4eea2c5b3529d79f6
3
- size 4932703272
 
 
 
 
model-00008-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:e9ab9cdc88981728cbf638e68ed63d1942b109b7281d598f2371e71348910408
3
- size 4966314576
 
 
 
 
model-00009-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:cce19744f303bd821c94c93895161f1867bbd6cb971121223f6bc5df2a3ec202
3
- size 4964162248
 
 
 
 
model-00010-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:e2dbbc3f46e7863629406d3e2236199c040132b13947448658f218b6c8b8b472
3
- size 4933789824
 
 
 
 
model-00011-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:a4dae515559885c966ec41bc5f9a89e46e12645ea66a459aea50fc4c951a3685
3
- size 4965228032
 
 
 
 
model-00012-of-00012.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:3bc1b05eeea537fbdd4565e99e917c5b1b36bf41a653eae098d5dee4370642c9
3
- size 2789094896
 
 
 
 
model.safetensors.index.json DELETED
The diff for this file is too large to render. See raw diff
 
preprocessor_config.json DELETED
@@ -1,21 +0,0 @@
1
- {
2
- "size": {
3
- "longest_edge": 16777216,
4
- "shortest_edge": 65536
5
- },
6
- "patch_size": 16,
7
- "temporal_patch_size": 2,
8
- "merge_size": 2,
9
- "image_mean": [
10
- 0.5,
11
- 0.5,
12
- 0.5
13
- ],
14
- "image_std": [
15
- 0.5,
16
- 0.5,
17
- 0.5
18
- ],
19
- "processor_class": "Qwen3VLProcessor",
20
- "image_processor_type": "Qwen2VLImageProcessorFast"
21
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
processor_config.json DELETED
@@ -1,63 +0,0 @@
1
- {
2
- "image_processor": {
3
- "data_format": "channels_first",
4
- "do_convert_rgb": true,
5
- "do_normalize": true,
6
- "do_rescale": true,
7
- "do_resize": true,
8
- "image_mean": [
9
- 0.5,
10
- 0.5,
11
- 0.5
12
- ],
13
- "image_processor_type": "Qwen2VLImageProcessorFast",
14
- "image_std": [
15
- 0.5,
16
- 0.5,
17
- 0.5
18
- ],
19
- "merge_size": 2,
20
- "patch_size": 16,
21
- "resample": 3,
22
- "rescale_factor": 0.00392156862745098,
23
- "size": {
24
- "longest_edge": 16777216,
25
- "shortest_edge": 65536
26
- },
27
- "temporal_patch_size": 2
28
- },
29
- "processor_class": "Qwen3VLProcessor",
30
- "video_processor": {
31
- "data_format": "channels_first",
32
- "default_to_square": true,
33
- "do_convert_rgb": true,
34
- "do_normalize": true,
35
- "do_rescale": true,
36
- "do_resize": true,
37
- "do_sample_frames": true,
38
- "fps": 2,
39
- "image_mean": [
40
- 0.5,
41
- 0.5,
42
- 0.5
43
- ],
44
- "image_std": [
45
- 0.5,
46
- 0.5,
47
- 0.5
48
- ],
49
- "max_frames": 768,
50
- "merge_size": 2,
51
- "min_frames": 4,
52
- "patch_size": 16,
53
- "resample": 3,
54
- "rescale_factor": 0.00392156862745098,
55
- "return_metadata": false,
56
- "size": {
57
- "longest_edge": 25165824,
58
- "shortest_edge": 4096
59
- },
60
- "temporal_patch_size": 2,
61
- "video_processor_type": "Qwen3VLVideoProcessor"
62
- }
63
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pyproject.toml DELETED
@@ -1,28 +0,0 @@
1
- [build-system]
2
- requires = ["hatchling"]
3
- build-backend = "hatchling.build"
4
-
5
- [project]
6
- name = "catalog-vlm-inference"
7
- version = "0.1.0"
8
- description = "Minimal inference environment for CQM VLM (vLLM + Qwen3.5)"
9
- requires-python = ">=3.11,<3.12"
10
- dependencies = [
11
- "vllm==0.19.1",
12
- "transformers>=5.0.0",
13
- "qwen_vl_utils>=0.0.14",
14
- "decord>=0.6.0",
15
- "pyyaml>=6.0",
16
- "jsonlines>=4.0.0",
17
- "requests>=2.32.5",
18
- "tqdm>=4.67.1",
19
- "torchvision",
20
- "nvidia-nccl-cu12==2.28.3",
21
- ]
22
-
23
- [tool.hatch.build.targets.wheel]
24
- packages = ["src"]
25
-
26
- [[tool.uv.index]]
27
- url = "https://pypi.org/simple"
28
- default = true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
tokenizer.json DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:87a7830d63fcf43bf241c3c5242e96e62dd3fdc29224ca26fed8ea333db72de4
3
- size 19989343
 
 
 
 
tokenizer_config.json DELETED
@@ -1,32 +0,0 @@
1
- {
2
- "add_prefix_space": false,
3
- "audio_bos_token": "<|audio_start|>",
4
- "audio_eos_token": "<|audio_end|>",
5
- "audio_token": "<|audio_pad|>",
6
- "backend": "tokenizers",
7
- "bos_token": null,
8
- "clean_up_tokenization_spaces": false,
9
- "eos_token": "<|im_end|>",
10
- "errors": "replace",
11
- "image_token": "<|image_pad|>",
12
- "is_local": true,
13
- "model_max_length": 262144,
14
- "model_specific_special_tokens": {
15
- "audio_bos_token": "<|audio_start|>",
16
- "audio_eos_token": "<|audio_end|>",
17
- "audio_token": "<|audio_pad|>",
18
- "image_token": "<|image_pad|>",
19
- "video_token": "<|video_pad|>",
20
- "vision_bos_token": "<|vision_start|>",
21
- "vision_eos_token": "<|vision_end|>"
22
- },
23
- "pad_token": "<|endoftext|>",
24
- "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
25
- "processor_class": "Qwen3VLProcessor",
26
- "split_special_tokens": false,
27
- "tokenizer_class": "TokenizersBackend",
28
- "unk_token": null,
29
- "video_token": "<|video_pad|>",
30
- "vision_bos_token": "<|vision_start|>",
31
- "vision_eos_token": "<|vision_end|>"
32
- }