Qwen3-VL-32B-Thinking (Abliterated)
A modified version of Qwen3-VL-32B-Thinking with reduced safety filtering, creating an uncensored vision-language model with enhanced reasoning capabilities. This abliterated variant removes refusal mechanisms from the text component while maintaining the original vision processing capabilities.
Model Description
Qwen3-VL-32B-Thinking-Abliterated is a 33-billion parameter multimodal large language model that combines advanced visual understanding with powerful reasoning capabilities. The model processes images and text inputs simultaneously, excelling at visual agent tasks, GUI recognition, spatial perception, OCR across 32 languages, and STEM reasoning.
Key Features
- Vision-Language Understanding: Simultaneous processing of images and text for comprehensive multimodal analysis
- Advanced Reasoning: Enhanced "Thinking" mode for complex problem-solving and step-by-step reasoning
- Spatial Perception: 3D grounding and precise object positioning capabilities
- Code Generation: Generate executable code from visual inputs (images/videos)
- Massive Context: Native 256K token context (expandable to 1M tokens)
- Multilingual OCR: Support for 32 languages with high accuracy
- Uncensored: Abliterated version with significantly reduced safety filtering
Architecture Innovations:
- Interleaved-MRoPE: Advanced positional embeddings for multimodal understanding
- DeepStack: Multi-level feature fusion for improved visual comprehension
- Text-Timestamp Alignment: Enhanced video understanding capabilities
⚠️ Important Safety Notice: This abliterated model has reduced safety filtering and may generate sensitive, controversial, or inappropriate content. Users must rigorously review outputs and implement appropriate monitoring for production use.
Repository Contents
Model Files
| File | Size | Description |
|---|
qwen3-vl-32b-thinking-abliterated.safetensors | 63 GB | Complete model weights in SafeTensors format (BF16 precision) |
qwen3-vl-32b-thinking-abliterated-f16.gguf | 62 GB | GGUF format - FP16 precision for llama.cpp compatibility |
qwen3-vl-32b-thinking-abliterated-q8-0.gguf | 33 GB | GGUF format - Q8_0 quantization (8-bit, minimal quality loss) |
qwen3-vl-32b-thinking-abliterated-q4-k-m.gguf | 19 GB | GGUF format - Q4_K_M quantization (4-bit, balanced quality/size) |
README.md | 17 KB | Model documentation and usage guide |
Total Repository Size: ~174 GB (includes multiple quantizations)
Hardware Requirements
Inference
SafeTensors Format (Transformers)
| Precision | VRAM Required | System RAM | Recommended GPU |
|---|
| BF16 (Full) | 66 GB+ | 32 GB+ | NVIDIA A100 (80GB), H100 |
| FP16 | 64 GB+ | 32 GB+ | NVIDIA A100 (80GB), H100 |
| INT8 Quantized | 35-40 GB | 32 GB+ | NVIDIA A6000, RTX 6000 Ada |
| INT4 Quantized | 20-25 GB | 16 GB+ | NVIDIA RTX 4090, A5000 |
GGUF Format (llama.cpp)
| File | Quantization | VRAM Required | System RAM | Recommended GPU |
|---|
f16.gguf | FP16 | 64 GB+ | 32 GB+ | NVIDIA A100 (80GB), H100 |
q8-0.gguf | Q8_0 (8-bit) | 35 GB+ | 24 GB+ | NVIDIA A6000, RTX 6000 Ada |
q4-k-m.gguf | Q4_K_M (4-bit) | 20 GB+ | 16 GB+ | NVIDIA RTX 4090, RTX 3090, A5000 |
Note: GGUF models can utilize CPU RAM offloading for systems with insufficient VRAM.
Training/Fine-tuning
- VRAM: 80 GB+ per GPU
- Multi-GPU: Required for full fine-tuning (4x A100 recommended)
- Disk Space: 100 GB+ (including checkpoints and gradients)
- System RAM: 64 GB+
Disk Space
- SafeTensors Only: 63 GB
- All GGUF Formats: 114 GB (FP16 + Q8_0 + Q4_K_M)
- Complete Repository: 174 GB (all formats)
- Cache & Temporary: 10-20 GB
- Total Recommended: 200 GB free space (for complete repository)
Usage Examples
Basic Setup
1from transformers import AutoModelForCausalLM, AutoProcessor
2from PIL import Image
3import torch
4
5# Load model from local directory
6model_path = "E:/huggingface/qwen3-vl-32b-thinking"
7
8model = AutoModelForCausalLM.from_pretrained(
9 model_path,
10 torch_dtype=torch.bfloat16,
11 device_map="auto",
12 trust_remote_code=True,
13 attn_implementation="flash_attention_2" # Recommended for performance
14)
15
16processor = AutoProcessor.from_pretrained(
17 model_path,
18 trust_remote_code=True
19)
Image Understanding
1from transformers import AutoModelForCausalLM, AutoProcessor
2from PIL import Image
3import torch
4
5model_path = "E:/huggingface/qwen3-vl-32b-thinking"
6
7# Load model and processor
8model = AutoModelForCausalLM.from_pretrained(
9 model_path,
10 torch_dtype=torch.bfloat16,
11 device_map="auto",
12 trust_remote_code=True
13)
14processor = AutoProcessor.from_pretrained(
15 model_path,
16 trust_remote_code=True
17)
18
19# Prepare image and prompt
20image = Image.open("path/to/image.jpg")
21messages = [
22 {
23 "role": "user",
24 "content": [
25 {"type": "image", "image": image},
26 {"type": "text", "text": "Describe this image in detail."}
27 ]
28 }
29]
30
31# Generate response
32text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
33inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
34
35with torch.no_grad():
36 outputs = model.generate(
37 **inputs,
38 max_new_tokens=40960,
39 temperature=1.0,
40 top_p=0.95,
41 top_k=20
42 )
43
44response = processor.decode(outputs[0], skip_special_tokens=True)
45print(response)
Visual Question Answering with Reasoning
1from transformers import AutoModelForCausalLM, AutoProcessor
2from PIL import Image
3import torch
4
5model_path = "E:/huggingface/qwen3-vl-32b-thinking"
6
7model = AutoModelForCausalLM.from_pretrained(
8 model_path,
9 torch_dtype=torch.bfloat16,
10 device_map="auto",
11 trust_remote_code=True
12)
13processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
14
15# Load image
16image = Image.open("diagram.png")
17
18# Prepare question with reasoning request
19messages = [
20 {
21 "role": "user",
22 "content": [
23 {"type": "image", "image": image},
24 {"type": "text", "text": "What is the area of this geometric shape? Think step by step."}
25 ]
26 }
27]
28
29text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
30inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
31
32# Generate with extended reasoning tokens
33with torch.no_grad():
34 outputs = model.generate(
35 **inputs,
36 max_new_tokens=81920, # Extended for reasoning tasks
37 temperature=1.0,
38 top_p=0.95,
39 top_k=20
40 )
41
42answer = processor.decode(outputs[0], skip_special_tokens=True)
43print(answer)
Multi-Image Analysis
1from transformers import AutoModelForCausalLM, AutoProcessor
2from PIL import Image
3import torch
4
5model_path = "E:/huggingface/qwen3-vl-32b-thinking"
6
7model = AutoModelForCausalLM.from_pretrained(
8 model_path,
9 torch_dtype=torch.bfloat16,
10 device_map="auto",
11 trust_remote_code=True,
12 attn_implementation="flash_attention_2" # Essential for multi-image
13)
14processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
15
16# Load multiple images
17images = [
18 Image.open("screenshot1.png"),
19 Image.open("screenshot2.png"),
20 Image.open("screenshot3.png")
21]
22
23# Create multi-image message
24messages = [
25 {
26 "role": "user",
27 "content": [
28 {"type": "image", "image": images[0]},
29 {"type": "image", "image": images[1]},
30 {"type": "image", "image": images[2]},
31 {"type": "text", "text": "Compare these three screenshots and identify the differences."}
32 ]
33 }
34]
35
36text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
37inputs = processor(text=[text], images=images, return_tensors="pt").to(model.device)
38
39with torch.no_grad():
40 outputs = model.generate(**inputs, max_new_tokens=40960)
41
42response = processor.decode(outputs[0], skip_special_tokens=True)
43print(response)
OCR and Text Extraction
1from transformers import AutoModelForCausalLM, AutoProcessor
2from PIL import Image
3import torch
4
5model_path = "E:/huggingface/qwen3-vl-32b-thinking"
6
7model = AutoModelForCausalLM.from_pretrained(
8 model_path,
9 torch_dtype=torch.bfloat16,
10 device_map="auto",
11 trust_remote_code=True
12)
13processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
14
15# Load document image
16image = Image.open("document.jpg")
17
18messages = [
19 {
20 "role": "user",
21 "content": [
22 {"type": "image", "image": image},
23 {"type": "text", "text": "Extract all text from this document. Preserve formatting and structure."}
24 ]
25 }
26]
27
28text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
29inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
30
31with torch.no_grad():
32 outputs = model.generate(**inputs, max_new_tokens=40960)
33
34extracted_text = processor.decode(outputs[0], skip_special_tokens=True)
35print(extracted_text)
Code Generation from Visual Input
1from transformers import AutoModelForCausalLM, AutoProcessor
2from PIL import Image
3import torch
4
5model_path = "E:/huggingface/qwen3-vl-32b-thinking"
6
7model = AutoModelForCausalLM.from_pretrained(
8 model_path,
9 torch_dtype=torch.bfloat16,
10 device_map="auto",
11 trust_remote_code=True
12)
13processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
14
15# Load UI mockup or diagram
16image = Image.open("ui_mockup.png")
17
18messages = [
19 {
20 "role": "user",
21 "content": [
22 {"type": "image", "image": image},
23 {"type": "text", "text": "Generate React component code for this UI design."}
24 ]
25 }
26]
27
28text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
29inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
30
31with torch.no_grad():
32 outputs = model.generate(**inputs, max_new_tokens=40960)
33
34code = processor.decode(outputs[0], skip_special_tokens=True)
35print(code)
Model Specifications
| Specification | Details |
|---|
| Model Family | Qwen3-VL |
| Variant | Thinking (Abliterated) |
| Parameter Count | 33 Billion |
| Architecture | Vision-Language Transformer |
| Base Model | Qwen/Qwen3-VL-32B-Thinking |
| Precision | BF16 |
| Format | SafeTensors |
| Context Length | 256K tokens (native), 1M tokens (extended) |
| Vision Encoder | Multi-level feature fusion (DeepStack) |
| Positional Encoding | Interleaved-MRoPE |
| OCR Languages | 32 languages supported |
| Video Support | Yes (with text-timestamp alignment) |
Generation Parameters
Vision-Language Tasks:
- Temperature: 1.0
- Top-P: 0.95
- Top-K: 20
- Max Tokens: 40,960
Text-Only Tasks:
- Temperature: 1.0
- Top-P: 0.95
- Top-K: 20
- Max Tokens: 32,768
Reasoning Tasks:
- Temperature: 1.0
- Top-P: 0.95
- Top-K: 20
- Max Tokens: 81,920 (extended for step-by-step reasoning)
Performance Optimization
Memory Optimization (INT8 Quantization)
1from transformers import AutoModelForCausalLM, BitsAndBytesConfig
2import torch
3
4model_path = "E:/huggingface/qwen3-vl-32b-thinking"
5
6# Configure 8-bit quantization
7quantization_config = BitsAndBytesConfig(
8 load_in_8bit=True,
9 llm_int8_threshold=6.0,
10 llm_int8_enable_fp32_cpu_offload=True
11)
12
13model = AutoModelForCausalLM.from_pretrained(
14 model_path,
15 quantization_config=quantization_config,
16 device_map="auto",
17 trust_remote_code=True
18)
19# VRAM usage: ~35-40 GB (down from 66 GB)
Inference Speed (Flash Attention 2)
1from transformers import AutoModelForCausalLM
2import torch
3
4model_path = "E:/huggingface/qwen3-vl-32b-thinking"
5
6model = AutoModelForCausalLM.from_pretrained(
7 model_path,
8 torch_dtype=torch.bfloat16,
9 device_map="auto",
10 trust_remote_code=True,
11 attn_implementation="flash_attention_2" # 2-3x faster, lower memory
12)
Multi-GPU Setup
1from transformers import AutoModelForCausalLM
2import torch
3
4model_path = "E:/huggingface/qwen3-vl-32b-thinking"
5
6# Automatic layer distribution across GPUs
7model = AutoModelForCausalLM.from_pretrained(
8 model_path,
9 torch_dtype=torch.bfloat16,
10 device_map="auto", # Automatically distributes layers
11 trust_remote_code=True
12)
13# Example: 2x A100 (40GB) = 80GB total VRAM
Batch Processing Optimization
1from transformers import AutoModelForCausalLM, AutoProcessor
2from PIL import Image
3import torch
4
5model_path = "E:/huggingface/qwen3-vl-32b-thinking"
6
7model = AutoModelForCausalLM.from_pretrained(
8 model_path,
9 torch_dtype=torch.bfloat16,
10 device_map="auto",
11 trust_remote_code=True
12)
13processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
14
15# Process multiple images efficiently
16images = [Image.open(f"image_{i}.jpg") for i in range(4)]
17prompts = ["Describe this image." for _ in range(4)]
18
19# Batch processing
20all_messages = []
21for img, prompt in zip(images, prompts):
22 all_messages.append([
23 {"role": "user", "content": [
24 {"type": "image", "image": img},
25 {"type": "text", "text": prompt}
26 ]}
27 ])
28
29# Process in batch
30texts = [processor.apply_chat_template(msg, tokenize=False, add_generation_prompt=True)
31 for msg in all_messages]
32inputs = processor(text=texts, images=images, return_tensors="pt", padding=True).to(model.device)
33
34with torch.no_grad():
35 outputs = model.generate(**inputs, max_new_tokens=40960)
36
37responses = [processor.decode(out, skip_special_tokens=True) for out in outputs]
GGUF Format Usage (llama.cpp)
The repository includes GGUF-format models for use with llama.cpp and compatible backends. GGUF models offer flexibility with CPU/GPU offloading and are optimized for inference.
Installation
1# Install llama-cpp-python with GPU support
2pip install llama-cpp-python --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cu121
3
4# Or build from source for optimal performance
5CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python --force-reinstall --no-cache-dir
Basic GGUF Usage
1from llama_cpp import Llama
2from llama_cpp.llama_chat_format import Llava15ChatHandler
3
4# Choose quantization level based on your hardware
5model_path = "E:/huggingface/qwen3-vl-32b-thinking/qwen3-vl-32b-thinking-abliterated-q4-k-m.gguf"
6
7# Initialize model with vision support
8llm = Llama(
9 model_path=model_path,
10 n_ctx=8192, # Context window (adjust based on RAM)
11 n_gpu_layers=40, # Offload layers to GPU (adjust based on VRAM)
12 n_threads=8, # CPU threads for computation
13 chat_format="llava-1-5", # Vision-language chat format
14 verbose=False
15)
16
17# Generate text response
18response = llm.create_chat_completion(
19 messages=[
20 {"role": "user", "content": "Explain the concept of neural networks."}
21 ],
22 temperature=1.0,
23 max_tokens=2048
24)
25
26print(response['choices'][0]['message']['content'])
GGUF Image Understanding
1from llama_cpp import Llama
2from llama_cpp.llama_chat_format import Llava15ChatHandler
3import base64
4
5model_path = "E:/huggingface/qwen3-vl-32b-thinking/qwen3-vl-32b-thinking-abliterated-q4-k-m.gguf"
6
7# Load model with vision capabilities
8llm = Llama(
9 model_path=model_path,
10 n_ctx=8192,
11 n_gpu_layers=40,
12 chat_format="llava-1-5"
13)
14
15# Load and encode image
16with open("image.jpg", "rb") as f:
17 image_data = base64.b64encode(f.read()).decode("utf-8")
18
19# Generate response with image
20response = llm.create_chat_completion(
21 messages=[
22 {
23 "role": "user",
24 "content": [
25 {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_data}"}},
26 {"type": "text", "text": "Describe this image in detail."}
27 ]
28 }
29 ],
30 temperature=1.0,
31 max_tokens=4096
32)
33
34print(response['choices'][0]['message']['content'])
GGUF Memory Optimization
1from llama_cpp import Llama
2
3model_path = "E:/huggingface/qwen3-vl-32b-thinking/qwen3-vl-32b-thinking-abliterated-q4-k-m.gguf"
4
5# Low VRAM configuration (GPU + CPU offloading)
6llm = Llama(
7 model_path=model_path,
8 n_ctx=4096, # Reduced context for lower memory
9 n_gpu_layers=20, # Partial GPU offload (adjust for your VRAM)
10 n_threads=16, # More CPU threads for offloaded layers
11 use_mmap=True, # Memory-map model file (reduces RAM usage)
12 use_mlock=False, # Don't lock memory (allows swapping if needed)
13 verbose=False
14)
15
16# VRAM usage: ~12-15 GB with n_gpu_layers=20
17# Remaining computation runs on CPU
GGUF Quantization Comparison
| Quantization | File Size | Quality | Speed | Recommended Use Case |
|---|
| FP16 | 62 GB | 100% | Baseline | Maximum quality, reference standard |
| Q8_0 | 33 GB | 98-99% | 1.2x faster | Near-lossless, production deployments |
| Q4_K_M | 19 GB | 95-97% | 1.8x faster | Balanced quality/performance, most users |
Recommendation: Start with Q4_K_M for best balance. Upgrade to Q8_0 or FP16 if quality issues arise.
Use Cases
Recommended Applications
- 🔍 Visual Analysis: Image understanding, scene description, object detection
- 📝 OCR: Document digitization, text extraction (32 languages)
- 🧮 STEM Reasoning: Math problem solving, scientific diagram analysis
- 💻 Code Generation: UI-to-code, diagram-to-implementation
- 🎯 Visual Agents: GUI automation, tool invocation from visual input
- 🌐 Spatial Understanding: 3D grounding, object positioning, scene layout
- 🎬 Video Understanding: Frame analysis, temporal reasoning
Not Recommended For
- ⚠️ Safety-Critical Applications: Medical diagnosis, legal advice, financial decisions
- ⚠️ Production Without Filtering: Reduced safety filtering requires additional output validation
- ⚠️ Real-Time Applications: Large model size may not meet latency requirements
License
License: Apache 2.0
This model is released under the Apache 2.0 license, allowing commercial and non-commercial use with proper attribution.
Base Model: Qwen/Qwen3-VL-32B-Thinking
Modification: Abliteration applied by huihui-ai
Important Disclaimers
⚠️ Content Warning: This abliterated version has significantly reduced safety filtering. Generated content may include:
- Sensitive or controversial topics
- Potentially inappropriate material
- Unfiltered responses to prompts
⚠️ User Responsibility:
- Users must rigorously review all generated outputs
- Implement real-time monitoring for production deployments
- Apply additional filtering layers as appropriate
- Comply with applicable laws and regulations
⚠️ No Warranty: The model developers disclaim responsibility for consequences arising from model usage.
Citation
1@misc{qwen3vl32bthinking2025,
2 title={Qwen3-VL-32B-Thinking: Vision-Language Model with Reasoning},
3 author={Qwen Team, Alibaba Cloud},
4 year={2025},
5 month={October},
6 howpublished={\url{https://huggingface.co/Qwen/Qwen3-VL-32B-Thinking}},
7}
8
9@misc{qwen3vl32bthinkingabliterated2025,
10 title={Huihui-Qwen3-VL-32B-Thinking-Abliterated: Uncensored Vision-Language Model},
11 author={huihui-ai},
12 year={2025},
13 howpublished={\url{https://huggingface.co/huihui-ai/Huihui-Qwen3-VL-32B-Thinking-abliterated}},
14 note={Abliterated version of Qwen3-VL-32B-Thinking}
15}
Resources
Official Documentation
Related Models
- Qwen3-VL-32B-Instruct: Standard instruction-tuned version (with safety filtering)
- Qwen3-VL-32B-Instruct-FP8: Quantized version for reduced memory usage
- Qwen3-VL Collection: https://huggingface.co/collections/Qwen/qwen3-vl
Community & Support
Model Status: Active
Last Updated: 2025-11-05
Local Path: E:\huggingface\qwen3-vl-32b-thinking
Available Formats:
- SafeTensors:
qwen3-vl-32b-thinking-abliterated.safetensors (63 GB)
- GGUF FP16:
qwen3-vl-32b-thinking-abliterated-f16.gguf (62 GB)
- GGUF Q8_0:
qwen3-vl-32b-thinking-abliterated-q8-0.gguf (33 GB)
- GGUF Q4_K_M:
qwen3-vl-32b-thinking-abliterated-q4-k-m.gguf (19 GB)