Instructions to use chisato111/SPARED-Qwen3.5-9B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use chisato111/SPARED-Qwen3.5-9B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="chisato111/SPARED-Qwen3.5-9B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("chisato111/SPARED-Qwen3.5-9B") model = AutoModelForMultimodalLM.from_pretrained("chisato111/SPARED-Qwen3.5-9B", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use chisato111/SPARED-Qwen3.5-9B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "chisato111/SPARED-Qwen3.5-9B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "chisato111/SPARED-Qwen3.5-9B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/chisato111/SPARED-Qwen3.5-9B
- SGLang
How to use chisato111/SPARED-Qwen3.5-9B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "chisato111/SPARED-Qwen3.5-9B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "chisato111/SPARED-Qwen3.5-9B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "chisato111/SPARED-Qwen3.5-9B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "chisato111/SPARED-Qwen3.5-9B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use chisato111/SPARED-Qwen3.5-9B with Docker Model Runner:
docker model run hf.co/chisato111/SPARED-Qwen3.5-9B
SPARED-Qwen3.5-9B
SPARED-Qwen3.5-9B is the final defender from SPARED: Reasoning-Based AI-Generated Image Detection via Adversarially Edited Data. This release contains the full merged model selected at defender Iteration 3, checkpoint 2600.
The model classifies an input image as real or fake and produces a short forensic explanation. Fully generated and digitally manipulated images are both treated as fake.
Response format
Use the detection prompt distributed with the SPARED code repository. The expected response format is:
<reasoning>Concise visual forensic analysis.</reasoning>
<answer>real</answer>
or:
<reasoning>Concise visual forensic analysis.</reasoning>
<answer>fake</answer>
Loading
from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration
model_id = "chisato111/SPARED-Qwen3.5-9B"
processor = AutoProcessor.from_pretrained(model_id)
model = Qwen3_5ForConditionalGeneration.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto",
)
The released checkpoint was validated with Transformers 5.9.0. Evaluation prompts, decoding parameters, benchmark adapters, and the complete training pipeline are provided in the SPARED code repository.
Training summary
- Base model:
Qwen/Qwen3.5-9B - Initialization: LoRA supervised fine-tuning
- Defender optimization: three verdict-reward GRPO rounds
- Adversarial co-evolution: two Qwen-Image-Edit attacker rounds
- Released model: defender Iteration 3, checkpoint 2600
Training data and generated training pools are not distributed with this model.
Limitations
The detector can fail under unseen generators, transformations, compression, screenshots, or domain shifts. Generated explanations may sound plausible without identifying the true generation process. Do not use the model as the sole basis for legal, disciplinary, provenance, authorship, or moderation decisions.
License
This model is released under Apache-2.0 and is derived from Qwen/Qwen3.5-9B. Third-party data, benchmarks, and evaluation models are not included.
- Downloads last month
- 9