# 🧨 Diffusers의 윤리 가이드라인

## 서문

[Diffusers](https://huggingface.co/docs/diffusers/index)는 사전 학습된 확산 모델을 제공하며 추론과 학습을 위한 모듈형 도구 모음 역할을 합니다.

Diffusers 라이브러리는 실제 사례에서 널리 활용되고 있으며 사회에 부정적인 영향을 미칠 잠재성이 있으므로, 프로젝트에 윤리적 가이드라인을 제공하여 개발, 사용자의 기여, 라이브러리 사용 방식을 안내하는 것이 중요하다고 생각합니다.

이 기술 사용과 관련된 위험은 여전히 검토 중이지만, 몇 가지를 꼽자면: 예술가들의 저작권 문제; 딥페이크 악용; 부적절한 맥락에서의 성 관련 콘텐츠 생성; 동의 없는 사칭; 소외된 집단에 대한 억압을 지속시키는 유해한 사회적 편향. 커뮤니티의 반응과 가치 있는 피드백을 바탕으로 위험을 지속적으로 추적하고, 다음 가이드라인을 조정해 나갈 것입니다.

## 범위

Diffusers 커뮤니티는 프로젝트 개발에 다음 윤리 가이드라인을 적용하고, 특히 윤리적 우려와 관련된 민감한 주제에 대한 기여 통합 방식을 조정하는 데 도움을 줄 것입니다.

## 윤리 가이드라인

다음 윤리 가이드라인은 일반적으로 적용되지만, 기술적 선택을 할 때 윤리적으로 민감한 문제를 다루는 경우 주로 구현됩니다. 또한, 해당 기술의 최첨단 상태와 관련된 새로운 해악이 발생함에 따라 시간이 지남에 따라 이러한 윤리 원칙을 조정하는 것을 약속합니다.

- **투명성**: PR 관리, 사용자 대상 선택 사항 설명, 기술적 의사결정 과정에서 투명성을 유지하는 것을 약속드립니다.

- **일관성**: 프로젝트 관리에서 동일한 수준의 주의를 기울이고, 기술적으로 안정적이고 일관된 상태를 유지하도록 보장하는 것을 약속드립니다.

- **간결성**: Diffusers 라이브러리를 쉽게 사용하고 활용할 수 있도록 하려는 의지로, 프로젝트의 목표를 간결하고 일관되게 유지하는 데 전념하고 있습니다.

- **접근성**: Diffusers 프로젝트는 기술적 전문성이 없는 기여자들도 프로젝트를 운영하는 데 도움을 줄 수 있도록 진입 장벽을 낮추는 데 기여합니다. 이를 통해 연구 산출물이 커뮤니티에 더 쉽게 접근할 수 있게 됩니다.

- **재현 가능성**: Diffusers 라이브러리를 통해 제공되는 업스트림 코드, 모델, 데이터셋의 재현 가능성에 대해 투명성을 확보하는 것을 목표로 합니다.

- **책임**: 커뮤니티와 팀워크를 통해, 우리는 이 기술의 잠재적 위험과 해악을 예측하고 완화함으로써 사용자에게 공동의 책임을 집니다.

## 구현 예시: 안전 기능 및 메커니즘

팀에서는 확산 기술과 관련된 잠재적인 윤리적 및 사회적 위험을 다루기 위한 기술적 및 비기술적 도구를 제공하기 위해 매일 노력하고 있습니다. 또한, 커뮤니티의 피드백은 이러한 기능의 구현을 보장하고 우리와 함께 인식을 높이는 데 매우 가치 있습니다.

- [**커뮤니티 탭**](https://huggingface.co/docs/hub/repositories-pull-requests-discussions): 커뮤니티가 프로젝트를 논의하고 더 잘 협업할 수 있도록 합니다.

- **편향 탐색 및 평가**: Hugging Face 팀은 Stable Diffusion의 편향을 인터랙티브하게 시연하는 [space](https://huggingface.co/spaces/society-ethics/DiffusionBiasExplorer)를 제공합니다. 이 관점에서 우리는 편향 탐색과 평가를 지원하고 장려합니다.

- **배포 시 안전성 강화**

  - [**Safe Stable Diffusion**](https://huggingface.co/docs/diffusers/main/en/api/pipelines/stable_diffusion/stable_diffusion_safe): 필터링되지 않은 웹 크롤링 데이터셋으로 학습된 모델, 예를 들어 Stable Diffusion과 같은 모델에서 흔히 발생하는 부적절한 퇴화 문제를 완화합니다. 관련 논문: [Safe Latent Diffusion: Mitigating Inappropriate Degeneration in Diffusion Models](https://huggingface.co/papers/2211.05105).

  - [**Safety Checker**](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/safety_checker.py): 이미지 생성 후 임베딩 공간에서 하드코딩된 유해 개념 집합의 클래스 확률을 검사하고 비교합니다. 체크어의 역공학(reverse engineering)을 방지하기 위해 유해 개념은 의도적으로 숨겨져 있습니다.

- **Hub에 단계별 릴리스**: 특히 민감한 상황에서는 일부 저장소로의 접근을 제한해야 합니다. 이 단계별 릴리스는 저장소 작성자가 해당 저장소의 사용에 대해 더 많은 제어를 할 수 있도록 하는 중간 단계입니다.

- **라이선싱**: [OpenRAILs](https://huggingface.co/blog/open_rail)는 새로운 유형의 라이선스로, 무료 접근을 보장하는 동시에 보다 책임 있는 사용을 보장하기 위한 제한 사항을 설정할 수 있습니다.

