هذا هو الكود الرسمي لـ "SafeGen: التخفيف من إنشاء المحتوى الجنسي الصريح في نماذج تحويل النص إلى صورة"
سوف يظهر SafeGen في مؤتمر ACM حول أمن الكمبيوتر والاتصالات ( ACM CCS 2024 ) Core-A*, CCF-A, Big 4 . لقد طرحنا النسخة الجاهزة للكاميرا على ArXiv.
لقد أصدرنا نموذجنا المُدرب مسبقًا على Hugging Face. يرجى التحقق من كيفية استخدامه للاستدلال؟.
يتضمن إصدارنا تعديل طبقات الاهتمام الذاتي الخاصة بـ Stable Diffusion وحدها استنادًا إلى ثلاثة توائم للصور فقط.
يمكن اعتبار هذا التنفيذ كمثال يمكن دمجه في مكتبة Diffusers. وبالتالي، يمكنك الانتقال إلى المجلد example/text_to_image/ والتعرف على كيفية عمله.
إذا وجدت الورقة/الرمز/المعيار الخاص بنا مفيدًا، فيرجى التفكير في الاستشهاد بهذا العمل مع المرجع التالي:
@inproceedings{li2024safegen,
author = {Li, Xinfeng and Yang, Yuchen and Deng, Jiangyi and Yan, Chen and Chen, Yanjiao and Ji, Xiaoyu and Xu, Wenyuan},
title = {{SafeGen: Mitigating Sexually Explicit Content Generation in Text-to-Image Models}},
booktitle = {Proceedings of the 2024 {ACM} {SIGSAC} Conference on Computer and Communications Security (CCS)},
year = {2024},
}
أو
@article{li2024safegen,
title={{SafeGen: Mitigating Unsafe Content Generation in Text-to-Image Models}},
author={Li, Xinfeng and Yang, Yuchen and Deng, Jiangyi and Yan, Chen and Chen, Yanjiao and Ji, Xiaoyu and Xu, Wenyuan},
journal={arXiv preprint arXiv:2404.06666},
year={2024}
}
يمكنك تشغيل هذا الرمز باستخدام شريحة A100-40GB (NVIDIA) واحدة، مع التكوين الافتراضي الخاص بنا. على وجه الخصوص، قم بتعيين training_batch_size
صغير لتجنب خطأ نفاد الذاكرة.
نوصيك بإدارة بيئتين كوندا لتجنب تعارض التبعيات.
بيئة Pytorch لضبط طبقات الاهتمام الذاتي لنموذج Stable Diffusion والمكتبات المتعلقة بالتقييم.
بيئة Tensorflow التي يتطلبها نموذج مكافحة العمق لمرحلة إعداد البيانات.
# You can install the main dependencies by conda/pip
conda create -n text-agnostic-t2i python=3.8.5
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
# Using the official Diffusers package
pip install --upgrade diffuers[torch]
# Or you may use the community maintained version
conda install -c conda-forge diffusers
...
# Or you can create the env via environment.yaml
conda env create -f environment_pytorch.yaml
نظرًا لأن نموذج مكافحة العمق يتطلب TensorFlow 1.13، فيمكنك تثبيت Python<=3.7.
# You can install the dependencies individually
conda create -n anti-deepndue python=3.7
pip install tensorflow-gpu==1.13.1 keras==2.2.4
...
# Or you can create the env via environment.yaml
conda env create -f environment_tf.yaml
يمكنك الحصول على الزوج <nude, Mosaic> من خلال:
python anti-deepnude.py
export MODEL_NAME= " CompVis/stable-diffusion-v1-4 " # export the model you want to protect
export TRAIN_DIR= " <path to the manifest of your training files>/meta.csv " # export your image triplets folder
accumulation_steps=5
learning_rate=1e-05
steps=1000
train_batch_size=1
warmup_steps=200
weight_tune=0.1
weight_preserve=0.9
defend_type= " nudity_advtrain "
current_time= $( date + ' %m%d_%H%M ' )
output_dir= " mos_model_sal_ " ${defend_type} - " step_ " ${steps} - " lr_ " ${learning_rate} - " warm_ " ${warmup_steps} - ${weight_tune} + ${weight_preserve} " gacc_ " ${accumulation_steps} - ${current_time}
export CUDA_VISIBLE_DEVICES=0
accelerate launch --mixed_precision= " fp16 " " --num_processes=1 " train_text_to_image_adjust_sal.py
--pretrained_model_name_or_path= $MODEL_NAME
--train_data_dir= $TRAIN_DIR
--use_ema
--resolution=512 --center_crop
--train_batch_size ${train_batch_size}
--gradient_accumulation_steps ${accumulation_steps}
--gradient_checkpointing
--max_train_steps ${steps}
--learning_rate ${learning_rate}
--image_column= " nude_image_path "
--max_grad_norm=1
--lr_scheduler= " constant "
--lr_warmup_steps ${warmup_steps}
--output_dir ${output_dir}
--weight_tune ${weight_tune}
--weight_preserve ${weight_preserve}
--checkpoints_total_limit 0
--validation_prompts " woman, nudity " " a running dog on grass " " a woman standing aside the colorful table " " a nude sexy man, blue eyes "
# In addition, you can set the 'validation_prompts' to visually monitor the training efficacy, such as "a running dog on grass", "a woman standing aside the colorful table", "a nude sexy man, blue eyes", etc.
ببساطة تشغيل البرنامج النصي
run_adjust_SD.sh
from diffusers import StableDiffusionPipeline
import torch
model_path = ${output_dir} # the save path of your model
pipeline = StableDiffusionPipeline.from_pretrained(model_path, torch_dtype=torch.float16)
pipeline.to( " cuda " )
prompt = " a photo of an astronaut riding a horse on mars "
image = pipeline(prompt).images[0]
image.save( " example.png " )
تم تطوير ما يزيد عن 50000 مطالبة نصية عدائية، بما في ذلك المطالبات المحسّنة ذاتيًا والتي تبدو غير ضارة، لاختبار الاستغلال المحتمل لنماذج T2I في توليد محتوى جنسي صريح. ونظرًا للطبيعة الحساسة لهذه الصور، فإن الوصول إليها مقيد لضمان الالتزام الأخلاقي. ويجب على الباحثين المهتمين باستخدام هذه الصور للأغراض العلمية الالتزام بعدم توزيعها بشكل أكبر. الرجاء الاتصال بي لطلب الوصول ومناقشة الضمانات اللازمة. عنوان بريدي الإلكتروني هو: [email protected].
يعتمد هذا العمل على أعمال بحثية مذهلة ومشاريع مفتوحة المصدر، شكرًا جزيلاً لجميع المؤلفين على المشاركة!
@misc{von-platen-etal-2022-diffusers,
author = {Patrick von Platen and Suraj Patil and Anton Lozhkov and Pedro Cuenca and Nathan Lambert and Kashif Rasul and Mishig Davaadorj and Thomas Wolf},
title = {Diffusers: State-of-the-art diffusion models},
year = {2022},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = { url {https://github.com/huggingface/diffusers}}
}
مكافحة Deepnude
كلين فيد
@inproceedings{parmar2021cleanfid,
title={On Aliased Resizing and Surprising Subtleties in GAN Evaluation},
author={Parmar, Gaurav and Zhang, Richard and Zhu, Jun-Yan},
booktitle={CVPR},
year={2022}
}
@inproceedings{zhang2018perceptual,
title={The Unreasonable Effectiveness of Deep Features as a Perceptual Metric},
author={Zhang, Richard and Isola, Phillip and Efros, Alexei A and Shechtman, Eli and Wang, Oliver},
booktitle={CVPR},
year={2018}
}