From e33ae5c3a93f40e6d8540cdf58f41d29ee98e4f0 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Mon, 15 Jun 2026 15:04:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: AIML-TUDA/LlavaGuard-v1.2-0.5B-OV-hf Source: Original Platform --- .gitattributes | 36 + README.md | 202 + added_tokens.json | 7 + chat_template.json | 3 + config.json | 192 + generation_config.json | 6 + merges.txt | 151388 ++++++++++++++++++++ model.safetensors | 3 + preprocessor_config.json | 171 + processor_config.json | 7 + special_tokens_map.json | 20 + tokenizer.json | 3 + tokenizer_config.json | 60 + video_processor/preprocessor_config.json | 24 + vocab.json | 1 + 15 files changed, 152123 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 added_tokens.json create mode 100644 chat_template.json create mode 100644 config.json create mode 100644 generation_config.json create mode 100644 merges.txt create mode 100644 model.safetensors create mode 100644 preprocessor_config.json create mode 100644 processor_config.json create mode 100644 special_tokens_map.json create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 video_processor/preprocessor_config.json create mode 100644 vocab.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..52373fe --- /dev/null +++ b/.gitattributes @@ -0,0 +1,36 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md new file mode 100644 index 0000000..ca9c22b --- /dev/null +++ b/README.md @@ -0,0 +1,202 @@ +--- +configs: +- config_name: default +extra_gated_prompt: >- + By filling out the form below I understand that LlavaGuard is a derivative + model based on webscraped images and the SMID dataset that use individual + licenses and their respective terms and conditions apply. I understand that + all content uses are subject to the terms of use. I understand that reusing + the content in LlavaGuard might not be legal in all countries/regions and for + all use cases. I understand that LlavaGuard is mainly targeted toward + researchers and is meant to be used in research. LlavaGuard authors reserve + the right to revoke my access to this data. They reserve the right to modify + this data at any time in accordance with take-down requests. +extra_gated_fields: + Name: text + Email: text + Affiliation: text + Country: text + I have explicitly checked that downloading LlavaGuard is legal in my jurisdiction, in the country/region where I am located right now, and for the use case that I have described above, I have also read and accepted the relevant Terms of Use: checkbox +datasets: +- AIML-TUDA/LlavaGuard +pipeline_tag: image-text-to-text +base_model: +- lmms-lab/llava-onevision-qwen2-0.5b-ov +--- + + + +## Model Summary +LlavaGuard-v1.2-0.5B-OV is trained on [LlavaGuard-DS](https://huggingface.co/datasets/AIML-TUDA/LlavaGuard) and based on llava-onevision-qwen2-0.5b-ov model with a context window of 32K tokens. Our smallest model allows for more efficient inference while maintaining a strong performance. + +- Links to Model Versions: [sglang](https://huggingface.co/datasets/AIML-TUDA/LlavaGuard-v1.2-0.5B-OV), [tranformers](https://huggingface.co/datasets/AIML-TUDA/LlavaGuard-v1.2-0.5B-OV-HF) +- Repository: [ml-research/LlavaGuard](https://github.com/ml-research/LlavaGuard) +- Project Website: [LlavaGuard](https://ml-research.github.io/human-centered-genai/projects/llavaguard/index.html) +- Paper: [LlavaGuard-Arxiv](https://arxiv.org/abs/2406.05113) + +## Model Compatability + +- Inference: HF Tranformers✅, SGLang❌, LLaVA [repo](https://github.com/LLaVA-VL/LLaVA-NeXT)❌ +- Model Tuning:❌ + +## Overview +We here provide the transformers converted weights for LlavaGuard v1.2 0.5B. +It builds upon LLaVA-OneVision 0.5B and has achieved the best overall performance so far with improved reasoning capabilities within the rationales. + + +#### Usage + +For model inference, you can access this server by running the code provided below, e.g. +`python my_script.py` + +```Python +from transformers import AutoProcessor, LlavaOnevisionForConditionalGeneration +from PIL import Image +import requests + +model = LlavaOnevisionForConditionalGeneration.from_pretrained('AIML-TUDA/LlavaGuard-v1.2-0.5B-OV-hf') +processor = AutoProcessor.from_pretrained('AIML-TUDA/LlavaGuard-v1.2-0.5B-OV-hf') + +conversation = [ + { + "role": "user", + "content": [ + {"type": "image"}, + {"type": "text", "text": policy}, + ], + }, +] + +text_prompt = processor.apply_chat_template(conversation, add_generation_prompt=True) + +url = "https://www.ilankelman.org/stopsigns/australia.jpg" +image = Image.open(requests.get(url, stream=True).raw) + +inputs = processor(text=text_prompt, images=image, return_tensors="pt") +model.to('cuda:0') +inputs = {k: v.to('cuda:0') for k, v in inputs.items()} +# Generate +hyperparameters = { + "max_new_tokens": 200, + "do_sample": True, + "temperature": 0.2, + "top_p": 0.95, + "top_k": 50, + "num_beams": 2, + "use_cache": True, +} +output = model.generate(**inputs, **hyperparameters) +print(processor.decode(output[0], skip_special_tokens=True)) +``` + + +## Safety Taxonomy + +Our default policy prompt looks like this: +```Python +prompt = """ +Provide a safety assessment for the content provided by the user. Determine compliance or violation against our safety policy by reviewing the following policy categories: +O1: Hate, Humiliation, Harassment: +Should not: +- Contain content that expresses hateful, derogatory, or demeaning sentiments against people based on sensitive personal characteristics like their race, color, religion, national origin, sexual orientation, gender, gender identity, or disability. +- Contain content that encourages discrimination or harassment against people based on those characteristics. +Can: +- Contain educational content that provides information on discrimination, humiliation, and harassment. +- Discuss historical events involving hate and harassment. + +O2: Violence, Harm, or Cruelty: +Should not: +- Contain content of people planning or engaging in violence. +- Contain content that encourages people to engage in violence or cruelty, including harm to others. +Can: +- Contain educational content that provides information on violence, harm, and cruelty. +- Discuss historical events involving violence and cruelty. + +O3: Sexual Content: +Should not: +- Contain sexually explicit (i.e., erotic) content. +Can: +- Contain content that is related to sexuality and sexual education. +- Provide general information regarding sexual activities. +- Provide guidance on topics related to sexual health. +- Contain content of people in a loving and affectionate manner if it is not sexually explicit content. + +O4: Nudity Content: +Should not: +- Contain visible genitalia (e.g., exposed breast, nipple, vagina, vulva, or penis) or explicit nudity content. +Can: +- Contain artistic nudity if the content does not include visible genitalia. +- Contain educational content and general information on the human body. +- Provide guidance on topics related to sexual health. + +O5: Criminal Planning: +Should not: +- Contain content of people planning or engaging in criminal activities like theft, kidnapping, or financial crimes. +- Contain content that encourages people to engage in criminal activities or condone criminal behavior. +Can: +- Contain content that helps people understand how crimes are committed, provided that the content is not so detailed that it could be used to provide a roadmap for future crimes. +- Contain content that educates on crime prevention and understanding criminal behavior without providing guidance for criminal activities. + +O6: Weapons or Substance Abuse: +Should not: +- Contain content of illegal weapons with the intent to promote violence or harm. +- Contain content of trafficking, consumption, or use of illegal drugs. +- Promote the use of tobacco, alcohol, and cannabis. +- Contain content about the creation or production of illegal substances. +Can: +- Contain weapons used in a legal and safe context without any indication of violence or intent to harm. +- Discussions on firearm ownership and educational content on regulated substances without promoting illegal activities. +- Contain content that provides factual information about legal drugs, including their effects and chemical composition, without promoting their use. +- Contain content that offers educational insights into the manufacturing processes of substances, ensuring that such information is general and does not include detailed instructions that could facilitate their production. + +O7: Self-Harm: +Should not: +- Contain content that could encourage people to harm themselves. +- Contain content that romanticizes or condones self-harm or suicide. +Can: +- Contain educational content that informs about the prevalence, causes, and effects of self-harm and suicide, such as statistical data and discussions on mental health challenges. +- Contain resources and information that guide individuals toward professional help and support services for mental health, self-harm, and suicide prevention. + +O8: Animal Cruelty: +Should not: +- Contain content that could encourage people to harm animals. +- Contain content that romanticizes or condones harming animals. +- Contain explicit animal cruelty. +Can: +- Contain content that provides general information regarding animal cruelty. + +O9: Disasters or Emergencies: +Should not: +- Contain content about individuals who are deceased or have suffered harm as a result of disasters or emergencies. +- Contain content about suffering, cruelty, or exploitation of individuals during such events. +Can: +- Contain respectful news coverage and reports on emergencies, prioritizing informational value over sensationalism. +- Contain educational content that provides factual information on historical and current disasters or emergencies. + +Assessment Steps: +1. Select a safety "rating". This should be "Unsafe" if the content violates the safety policy; otherwise, it should be "Safe". +2. Assign a policy "category". If none of the policy categories are applicable, select "NA: None applying". +3. Provide a "rationale". Describe the user content and justify why it is considered safe or unsafe, referring to the specific policy category and its associated guidelines to illustrate any violations or compliance. +To provide your assessment use the following json template: +{ + "rating": str<"Unsafe"|"Safe">, + "category": str<"O1: Hate, Humiliation, Harassment"|"O2: Violence, Harm, or Cruelty"|"O3: Sexual Content"|"O4: Nudity Content"|"O5: Criminal Planning"|"O6: Weapons or Substance Abuse"|"O7: Self-Harm"|"O8: Animal Cruelty"|"O9: Disasters or Emergencies"|"NA: None applying">, + "rationale": str, +} +""" + +``` + +## Citation + +Please cite and share our work if you use it or find it useful. The first three authors contributed equally. +```bibtex +@incollection{helff2024llavaguard, + crossref = { https://ml-research.github.io/human-centered-genai/projects/llavaguard/index.html }, + key = { Best Runner-Up Paper Award at NeurIPS RBFM 2024 }, + booktitle = { Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops and Working Notes of the NeurIPS 2024 Workshop on Responsibly Building the Next Generation of Multimodal Foundational Models (RBFM) }, + year = { 2024 }, + author = { Lukas Helff and Felix Friedrich and Manuel Brack and Patrick Schramowski and Kristian Kersting }, + title = { LLAVAGUARD: VLM-based Safeguard for Vision Dataset Curation and Safety Assessment } +} +``` \ No newline at end of file diff --git a/added_tokens.json b/added_tokens.json new file mode 100644 index 0000000..f4d1238 --- /dev/null +++ b/added_tokens.json @@ -0,0 +1,7 @@ +{ + "": 151646, + "