|
<!--Copyright 2024 The HuggingFace Team. All rights reserved. |
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with |
|
the License. You may obtain a copy of the License at |
|
|
|
http://www.apache.org/licenses/LICENSE-2.0 |
|
|
|
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on |
|
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the |
|
specific language governing permissions and limitations under the License. |
|
--> |
|
|
|
# ๐งจ Diffusers์ ์ค๋ฆฌ ์ง์นจ |
|
|
|
## ์๋ฌธ |
|
|
|
[Diffusers](https://huggingface.co/docs/diffusers/index)๋ ์ฌ์ ํ๋ จ๋ diffusion ๋ชจ๋ธ์ ์ ๊ณตํ๋ฉฐ ์ถ๋ก ๋ฐ ํ๋ จ์ ์ํ ๋ชจ๋์ ํด๋ฐ์ค๋ก ์ฌ์ฉ๋ฉ๋๋ค. |
|
|
|
์ด ๊ธฐ์ ์ ์ค์ ์ ์ฉ๊ณผ ์ฌํ์ ๋ฏธ์น ์ ์๋ ๋ถ์ ์ ์ธ ์ํฅ์ ๊ณ ๋ คํ์ฌ Diffusers ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐ๋ฐ, ์ฌ์ฉ์ ๊ธฐ์ฌ ๋ฐ ์ฌ์ฉ์ ์ค๋ฆฌ ์ง์นจ์ ์ ๊ณตํ๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. |
|
|
|
์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ ๋ฐ ์ฐ๊ด๋ ์ํ์ ์์ง ์กฐ์ฌ ์ค์ด์ง๋ง, ๋ช ๊ฐ์ง ์๋ฅผ ๋ค๋ฉด: ์์ ๊ฐ๋ค์ ๋ํ ์ ์๊ถ ๋ฌธ์ ; ๋ฅ ํ์ดํฌ์ ์
์ฉ; ๋ถ์ ์ ํ ๋งฅ๋ฝ์์์ ์ฑ์ ์ฝํ
์ธ ์์ฑ; ๋์ ์๋ impersonation; ์ฌํ์ ์ธ ํธ๊ฒฌ์ผ๋ก ์ธํด ์ต์๋๋ ๊ทธ๋ฃน๋ค์ ๋ํ ํด๋ก์ด ์ํฅ์
๋๋ค. |
|
์ฐ๋ฆฌ๋ ์ํ์ ์ง์์ ์ผ๋ก ์ถ์ ํ๊ณ ์ปค๋ฎค๋ํฐ์ ์๋ต๊ณผ ์์คํ ํผ๋๋ฐฑ์ ๋ฐ๋ผ ๋ค์ ์ง์นจ์ ์กฐ์ ํ ๊ฒ์
๋๋ค. |
|
|
|
|
|
## ๋ฒ์ |
|
|
|
Diffusers ์ปค๋ฎค๋ํฐ๋ ํ๋ก์ ํธ์ ๊ฐ๋ฐ์ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฆฌ ์ง์นจ์ ์ ์ฉํ๋ฉฐ, ํนํ ์ค๋ฆฌ์ ๋ฌธ์ ์ ๊ด๋ จ๋ ๋ฏผ๊ฐํ ์ฃผ์ ์ ๋ํ ์ปค๋ฎค๋ํฐ์ ๊ธฐ์ฌ๋ฅผ ์กฐ์ ํ๋ ๋ฐ ๋์์ ์ค ๊ฒ์
๋๋ค. |
|
|
|
|
|
## ์ค๋ฆฌ ์ง์นจ |
|
|
|
๋ค์ ์ค๋ฆฌ ์ง์นจ์ ์ผ๋ฐ์ ์ผ๋ก ์ ์ฉ๋์ง๋ง, ๊ธฐ์ ์ ์ ํ์ ํ ๋ ์ค๋ฆฌ์ ์ผ๋ก ๋ฏผ๊ฐํ ๋ฌธ์ ๋ฅผ ๋ค๋ฃฐ ๋ ์ฃผ๋ก ์ ์ฉํ ๊ฒ์
๋๋ค. ๋ํ, ํด๋น ๊ธฐ์ ์ ์ต์ ๋ํฅ๊ณผ ๊ด๋ จ๋ ์ ๊ท ์ํ์ ๋ฐ๋ผ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ด๋ฌํ ์ค๋ฆฌ ์์น์ ์กฐ์ ํ ๊ฒ์ ์ฝ์ํฉ๋๋ค. |
|
|
|
- **ํฌ๋ช
์ฑ**: ์ฐ๋ฆฌ๋ PR์ ๊ด๋ฆฌํ๊ณ , ์ฌ์ฉ์์๊ฒ ์ฐ๋ฆฌ์ ์ ํ์ ์ค๋ช
ํ๋ฉฐ, ๊ธฐ์ ์ ์์ฌ๊ฒฐ์ ์ ๋ด๋ฆด ๋ ํฌ๋ช
์ฑ์ ์ ์งํ ๊ฒ์ ์ฝ์ํฉ๋๋ค. |
|
|
|
- **์ผ๊ด์ฑ**: ์ฐ๋ฆฌ๋ ํ๋ก์ ํธ ๊ด๋ฆฌ์์ ์ฌ์ฉ์๋ค์๊ฒ ๋์ผํ ์์ค์ ๊ด์ฌ์ ๋ณด์ฅํ๊ณ ๊ธฐ์ ์ ์ผ๋ก ์์ ๋๊ณ ์ผ๊ด๋ ์ํ๋ฅผ ์ ์งํ ๊ฒ์ ์ฝ์ํฉ๋๋ค. |
|
|
|
- **๊ฐ๊ฒฐ์ฑ**: Diffusers ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ํ์ฉํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค๊ธฐ ์ํด, ํ๋ก์ ํธ์ ๋ชฉํ๋ฅผ ๊ฐ๊ฒฐํ๊ณ ์ผ๊ด์ฑ ์๊ฒ ์ ์งํ ๊ฒ์ ์ฝ์ํฉ๋๋ค. |
|
|
|
- **์ ๊ทผ์ฑ**: Diffusers ํ๋ก์ ํธ๋ ๊ธฐ์ ์ ์ ๋ฌธ ์ง์ ์์ด๋ ํ๋ก์ ํธ ์ด์์ ์ฐธ์ฌํ ์ ์๋ ๊ธฐ์ฌ์์ ์ง์
์ฅ๋ฒฝ์ ๋ฎ์ถฅ๋๋ค. ์ด๋ฅผ ํตํด ์ฐ๊ตฌ ๊ฒฐ๊ณผ๋ฌผ์ด ์ปค๋ฎค๋ํฐ์ ๋ ์ ์ ๊ทผํ ์ ์๊ฒ ๋ฉ๋๋ค. |
|
|
|
- **์ฌํ์ฑ**: ์ฐ๋ฆฌ๋ Diffusers ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ ๊ณต๋๋ ์
์คํธ๋ฆผ(upstream) ์ฝ๋, ๋ชจ๋ธ ๋ฐ ๋ฐ์ดํฐ์
์ ์ฌํ์ฑ์ ๋ํด ํฌ๋ช
ํ๊ฒ ๊ณต๊ฐํ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. |
|
|
|
- **์ฑ
์**: ์ฐ๋ฆฌ๋ ์ปค๋ฎค๋ํฐ์ ํ์ํฌ๋ฅผ ํตํด, ์ด ๊ธฐ์ ์ ์ ์ฌ์ ์ธ ์ํ๊ณผ ์ํ์ ์์ธกํ๊ณ ์ํํ๋ ๋ฐ ๋ํ ๊ณต๋ ์ฑ
์์ ๊ฐ์ง๊ณ ์์ต๋๋ค. |
|
|
|
|
|
## ๊ตฌํ ์ฌ๋ก: ์์ ๊ธฐ๋ฅ๊ณผ ๋ฉ์ปค๋์ฆ |
|
|
|
ํ์ diffusion ๊ธฐ์ ๊ณผ ๊ด๋ จ๋ ์ ์ฌ์ ์ธ ์ค๋ฆฌ ๋ฐ ์ฌํ์ ์ํ์ ๋์ฒํ๊ธฐ ์ํ ๊ธฐ์ ์ ๋ฐ ๋น๊ธฐ์ ์ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๊ณ ์ ํ๊ณ ์์ต๋๋ค. ๋ํ, ์ปค๋ฎค๋ํฐ์ ์ฐธ์ฌ๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ฐ๋ฆฌ์ ํจ๊ป ์ธ์์ ๋์ด๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. |
|
|
|
- [**์ปค๋ฎค๋ํฐ ํญ**](https://huggingface.co/docs/hub/repositories-pull-requests-discussions): ์ด๋ฅผ ํตํด ์ปค๋ฎค๋ํฐ๋ ํ๋ก์ ํธ์ ๋ํด ํ ๋ก ํ๊ณ ๋ ๋์ ํ๋ ฅ์ ํ ์ ์์ต๋๋ค. |
|
|
|
- **ํธํฅ ํ์ ๋ฐ ํ๊ฐ**: Hugging Face ํ์ Stable Diffusion ๋ชจ๋ธ์ ํธํฅ์ฑ์ ๋ํํ์ผ๋ก ๋ณด์ฌ์ฃผ๋ [space](https://huggingface.co/spaces/society-ethics/DiffusionBiasExplorer)์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฐ ์๋ฏธ์์, ์ฐ๋ฆฌ๋ ํธํฅ ํ์ ๋ฐ ํ๊ฐ๋ฅผ ์ง์ํ๊ณ ์ฅ๋ คํฉ๋๋ค. |
|
|
|
- **๋ฐฐํฌ์์์ ์์ ์ ๋** |
|
|
|
- [**์์ ํ 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://arxiv.org/abs/2211.05105). |
|
|
|
- [**์์ ๊ฒ์ฌ๊ธฐ**](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/stable_diffusion/safety_checker.py): ์ด๋ฏธ์ง๊ฐ ์์ฑ๋ ํ์ ์ด๋ฏธ์๊ฐ ์๋ฒ ๋ฉ ๊ณต๊ฐ์์ ์ผ๋ จ์ ํ๋์ฝ๋ฉ๋ ์ ํด ๊ฐ๋
์ ํด๋์ค์ผ ํ๋ฅ ์ ํ์ธํ๊ณ ๋น๊ตํฉ๋๋ค. ์ ํด ๊ฐ๋
์ ์ญ๊ณตํ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์๋์ ์ผ๋ก ์จ๊ฒจ์ ธ ์์ต๋๋ค. |
|
|
|
- **Hub์์์ ๋จ๊ณ์ ์ธ ๋ฐฐํฌ**: ํนํ ๋ฏผ๊ฐํ ์ํฉ์์๋ ์ผ๋ถ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ ๊ทผ์ ์ ํํด์ผ ํฉ๋๋ค. ์ด ๋จ๊ณ์ ์ธ ๋ฐฐํฌ๋ ์ค๊ฐ ๋จ๊ณ๋ก, ๋ฆฌํฌ์งํ ๋ฆฌ ์์ฑ์๊ฐ ์ฌ์ฉ์ ๋ํ ๋ ๋ง์ ํต์ ๋ ฅ์ ๊ฐ๊ฒ ํฉ๋๋ค. |
|
|
|
- **๋ผ์ด์ ์ฑ**: [OpenRAILs](https://huggingface.co/blog/open_rail)์ ๊ฐ์ ์๋ก์ด ์ ํ์ ๋ผ์ด์ ์ฑ์ ํตํด ์์ ๋ก์ด ์ ๊ทผ์ ๋ณด์ฅํ๋ฉด์๋ ๋ ์ฑ
์ ์๋ ์ฌ์ฉ์ ์ํ ์ผ๋ จ์ ์ ํ์ ๋ ์ ์์ต๋๋ค. |
|
|