# 🧨 Diretrizes Éticas do Diffusers

## Preliminar

[Diffusers](../index) fornece modelos de difusão pré-treinados e atua como uma caixa de ferramentas modular para inferência e treinamento.

Dadas suas aplicações reais no mundo e os potenciais impactos negativos na sociedade, acreditamos que é importante fornecer diretrizes éticas ao projeto para orientar o desenvolvimento, as contribuições dos usuários e o uso da biblioteca Diffusers.

Os riscos associados ao uso desta tecnologia ainda estão sendo examinados, mas, para citar alguns: questões de direitos autorais para artistas; exploração por meio de deepfakes; geração de conteúdo sexual em contextos inadequados; impersonação não consensual; vieses sociais prejudiciais que perpetuam a opressão de grupos marginalizados. Continuaremos monitorando os riscos e adaptaremos as diretrizes a seguir com base na receptividade da comunidade e no valioso feedback recebido.

## Escopo

A comunidade do Diffusers aplicará as seguintes diretrizes éticas ao desenvolvimento do projeto e ajudará a coordenar como a comunidade integrará as contribuições, especialmente no que diz respeito a temas sensíveis relacionados a preocupações éticas.

## Diretrizes éticas

As diretrizes éticas a seguir se aplicam de forma geral, mas as implementaremos principalmente ao lidar com questões eticamente sensíveis ao tomar uma decisão técnica. Além disso, nos comprometemos a adaptar esses princípios éticos ao longo do tempo, conforme surgirem danos relacionados ao estado da arte da tecnologia em questão.

- **Transparência**: estamos comprometidos em ser transparentes na gestão de PRs, explicando nossas escolhas aos usuários e tomando decisões técnicas.

- **Consistência**: estamos comprometidos em garantir aos nossos usuários o mesmo nível de atenção no gerenciamento do projeto, mantendo-o tecnicamente estável e consistente.

- **Simplicidade**: com o desejo de facilitar o uso e a exploração da biblioteca Diffusers, estamos comprometidos em manter os objetivos do projeto enxutos e coerentes.

- **Acessibilidade**: o projeto Diffusers ajuda a reduzir a barreira de entrada para colaboradores que podem ajudar a mantê-lo mesmo sem experiência técnica. Dessa forma, os artefatos de pesquisa se tornam mais acessíveis à comunidade.

- **Reprodutibilidade**: buscamos ser transparentes sobre a reprodutibilidade do código, dos modelos e dos conjuntos de dados originais quando disponibilizados por meio da biblioteca Diffusers.

- **Responsabilidade**: como comunidade e por meio do trabalho em equipe, temos uma responsabilidade coletiva com nossos usuários ao antecipar e mitigar os riscos e perigos potenciais dessa tecnologia.

## Exemplos de implementações: Recursos e mecanismos de segurança

A equipe trabalha diariamente para disponibilizar as ferramentas técnicas e não técnicas necessárias para lidar com os potenciais riscos éticos e sociais associados à tecnologia de difusão. Além disso, a contribuição da comunidade é inestimável para garantir a implementação desses recursos e para conscientizá-los sobre essas questões.

- [**Aba da comunidade**](https://huggingface.co/docs/hub/repositories-pull-requests-discussions): permite que a comunidade discuta e colabore melhor em um projeto.

- **Exploração e avaliação de vieses**: a equipe do Hugging Face fornece um [space](https://huggingface.co/spaces/society-ethics/DiffusionBiasExplorer) para demonstrar interativamente os vieses no Stable Diffusion. Nesse sentido, apoiamos e incentivamos a exploração e a avaliação de vieses.

- **Incentivando a segurança na implantação**

  - **Safe Stable Diffusion**: Mitiga o problema bem conhecido de que modelos, como o Stable Diffusion, treinados em conjuntos de dados não filtrados e coletados da web tendem a sofrer de degeneração inadequada. Artigo relacionado: [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): Ele verifica e compara a probabilidade de classe de um conjunto de conceitos prejudiciais codificados no espaço de incorporação com uma imagem após sua geração. Os conceitos prejudiciais são intencionalmente ocultados para evitar a engenharia reversa do verificador.

- **Liberação em etapas no Hub**: em situações particularmente sensíveis, o acesso a alguns repositórios deve ser restrito. Essa liberação em etapas é uma etapa intermediária que permite que os autores do repositório tenham mais controle sobre seu uso.

- **Licenciamento**: [OpenRAILs](https://huggingface.co/blog/open_rail), um novo tipo de licenciamento, nos permite garantir acesso gratuito ao mesmo tempo em que impõe um conjunto de restrições que asseguram um uso mais responsável.

