Diffusers documentation

๐Ÿงจ Diffusers์˜ ์œค๋ฆฌ ์ง€์นจ

You are viewing v0.30.2 version. A newer version v0.31.0 is available.
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

๐Ÿงจ Diffusers์˜ ์œค๋ฆฌ ์ง€์นจ

์„œ๋ฌธ

Diffusers๋Š” ์‚ฌ์ „ ํ›ˆ๋ จ๋œ diffusion ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜๋ฉฐ ์ถ”๋ก  ๋ฐ ํ›ˆ๋ จ์„ ์œ„ํ•œ ๋ชจ๋“ˆ์‹ ํˆด๋ฐ•์Šค๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ๊ธฐ์ˆ ์˜ ์‹ค์ œ ์ ์šฉ๊ณผ ์‚ฌํšŒ์— ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š” ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๊ณ ๋ คํ•˜์—ฌ Diffusers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ฐœ๋ฐœ, ์‚ฌ์šฉ์ž ๊ธฐ์—ฌ ๋ฐ ์‚ฌ์šฉ์— ์œค๋ฆฌ ์ง€์นจ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด์ด ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•จ์— ๋”ฐ๋ฅธ ์œ„ํ—˜์€ ์—ฌ์ „ํžˆ ๊ฒ€ํ†  ์ค‘์ด์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋ฅผ ๋“ค๋ฉด: ์˜ˆ์ˆ ๊ฐ€๋“ค์— ๋Œ€ํ•œ ์ €์ž‘๊ถŒ ๋ฌธ์ œ; ๋”ฅ ํŽ˜์ดํฌ์˜ ์•…์šฉ; ๋ถ€์ ์ ˆํ•œ ๋งฅ๋ฝ์—์„œ์˜ ์„ฑ์  ์ฝ˜ํ…์ธ  ์ƒ์„ฑ; ๋™์˜ ์—†๋Š” ์‚ฌ์นญ; ์†Œ์ˆ˜์ž ์ง‘๋‹จ์˜ ์–ต์••์„ ์˜์†ํ™”ํ•˜๋Š” ์œ ํ•ดํ•œ ์‚ฌํšŒ์  ํŽธ๊ฒฌ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์œ„ํ—˜์„ ์ง€์†์ ์œผ๋กœ ์ถ”์ ํ•˜๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์‘๋‹ต๊ณผ ์†Œ์ค‘ํ•œ ํ”ผ๋“œ๋ฐฑ์— ๋”ฐ๋ผ ๋‹ค์Œ ์ง€์นจ์„ ์กฐ์ •ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฒ”์œ„

Diffusers ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ๋ฐœ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์œค๋ฆฌ ์ง€์นจ์„ ์ ์šฉํ•˜๋ฉฐ, ํŠนํžˆ ์œค๋ฆฌ์  ๋ฌธ์ œ์™€ ๊ด€๋ จ๋œ ๋ฏผ๊ฐํ•œ ์ฃผ์ œ์— ๋Œ€ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๊ธฐ์—ฌ๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์œค๋ฆฌ ์ง€์นจ

๋‹ค์Œ ์œค๋ฆฌ ์ง€์นจ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ ์šฉ๋˜์ง€๋งŒ, ๋ฏผ๊ฐํ•œ ์œค๋ฆฌ์  ๋ฌธ์ œ์™€ ๊ด€๋ จํ•˜์—ฌ ๊ธฐ์ˆ ์  ์„ ํƒ์„ ํ•  ๋•Œ ์ด๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜์•„๊ฐ€, ํ•ด๋‹น ๊ธฐ์ˆ ์˜ ์ตœ์‹  ๋™ํ–ฅ๊ณผ ๊ด€๋ จ๋œ ์ƒˆ๋กœ์šด ์œ„ํ—˜์ด ๋ฐœ์ƒํ•จ์— ๋”ฐ๋ผ ์ด๋Ÿฌํ•œ ์œค๋ฆฌ ์›์น™์„ ์กฐ์ •ํ•  ๊ฒƒ์„ ์•ฝ์†๋“œ๋ฆฝ๋‹ˆ๋‹ค.

  • ํˆฌ๋ช…์„ฑ: ์šฐ๋ฆฌ๋Š” PR์„ ๊ด€๋ฆฌํ•˜๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ ์šฐ๋ฆฌ์˜ ์„ ํƒ์„ ์„ค๋ช…ํ•˜๋ฉฐ, ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ •์„ ๋‚ด๋ฆด ๋•Œ ํˆฌ๋ช…์„ฑ์„ ์œ ์ง€ํ•  ๊ฒƒ์„ ์•ฝ์†ํ•ฉ๋‹ˆ๋‹ค.

  • ์ผ๊ด€์„ฑ: ์šฐ๋ฆฌ๋Š” ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์—์„œ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋™์ผํ•œ ์ˆ˜์ค€์˜ ๊ด€์‹ฌ์„ ๋ณด์žฅํ•˜๊ณ  ๊ธฐ์ˆ ์ ์œผ๋กœ ์•ˆ์ •๋˜๊ณ  ์ผ๊ด€๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ๊ฒƒ์„ ์•ฝ์†ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฐ„๊ฒฐ์„ฑ: Diffusers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ํ™œ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด, ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์œ ์ง€ํ•  ๊ฒƒ์„ ์•ฝ์†ํ•ฉ๋‹ˆ๋‹ค.

  • ์ ‘๊ทผ์„ฑ: Diffusers ํ”„๋กœ์ ํŠธ๋Š” ๊ธฐ์ˆ ์  ์ „๋ฌธ ์ง€์‹ ์—†์–ด๋„ ํ”„๋กœ์ ํŠธ ์šด์˜์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์—ฌ์ž์˜ ์ง„์ž…์žฅ๋ฒฝ์„ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์—ฐ๊ตฌ ๊ฒฐ๊ณผ๋ฌผ์ด ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋” ์ž˜ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  • ์žฌํ˜„์„ฑ: ์šฐ๋ฆฌ๋Š” Diffusers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ œ๊ณต๋˜๋Š” ์—…์ŠคํŠธ๋ฆผ(upstream) ์ฝ”๋“œ, ๋ชจ๋ธ ๋ฐ ๋ฐ์ดํ„ฐ์…‹์˜ ์žฌํ˜„์„ฑ์— ๋Œ€ํ•ด ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ณต๊ฐœํ•  ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ฑ…์ž„: ์šฐ๋ฆฌ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํŒ€์›Œํฌ๋ฅผ ํ†ตํ•ด, ์ด ๊ธฐ์ˆ ์˜ ์ž ์žฌ์ ์ธ ์œ„ํ—˜๊ณผ ์œ„ํ—˜์„ ์˜ˆ์ธกํ•˜๊ณ  ์™„ํ™”ํ•˜๋Š” ๋ฐ ๋Œ€ํ•œ ๊ณต๋™ ์ฑ…์ž„์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌํ˜„ ์‚ฌ๋ก€: ์•ˆ์ „ ๊ธฐ๋Šฅ๊ณผ ๋ฉ”์ปค๋‹ˆ์ฆ˜

ํŒ€์€ diffusion ๊ธฐ์ˆ ๊ณผ ๊ด€๋ จ๋œ ์ž ์žฌ์ ์ธ ์œค๋ฆฌ ๋ฐ ์‚ฌํšŒ์  ์œ„ํ—˜์— ๋Œ€์ฒ˜ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ ์  ๋ฐ ๋น„๊ธฐ์ˆ ์  ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๊ณ ์ž ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ฐธ์—ฌ๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์˜ ๊ตฌํ˜„ํ•˜๊ณ  ์šฐ๋ฆฌ์™€ ํ•จ๊ป˜ ์ธ์‹์„ ๋†’์ด๋Š” ๋ฐ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์ปค๋ฎค๋‹ˆํ‹ฐ ํƒญ: ์ด๋ฅผ ํ†ตํ•ด ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ํ† ๋ก ํ•˜๊ณ  ๋” ๋‚˜์€ ํ˜‘๋ ฅ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํŽธํ–ฅ ํƒ์ƒ‰ ๋ฐ ํ‰๊ฐ€: Hugging Face ํŒ€์€ Stable Diffusion ๋ชจ๋ธ์˜ ํŽธํ–ฅ์„ฑ์„ ๋Œ€ํ™”ํ˜•์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” space์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์˜๋ฏธ์—์„œ, ์šฐ๋ฆฌ๋Š” ํŽธํ–ฅ ํƒ์ƒ‰ ๋ฐ ํ‰๊ฐ€๋ฅผ ์ง€์›ํ•˜๊ณ  ์žฅ๋ คํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐฐํฌ์—์„œ์˜ ์•ˆ์ „ ์œ ๋„

    • ์•ˆ์ „ํ•œ Stable Diffusion: ์ด๋Š” ํ•„ํ„ฐ๋˜์ง€ ์•Š์€ ์›น ํฌ๋กค๋ง ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ํ›ˆ๋ จ๋œ Stable Diffusion๊ณผ ๊ฐ™์€ ๋ชจ๋ธ์ด ๋ถ€์ ์ ˆํ•œ ๋ณ€์งˆ์— ์ทจ์•ฝํ•œ ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ จ ๋…ผ๋ฌธ: Safe Latent Diffusion: Mitigating Inappropriate Degeneration in Diffusion Models.

    • ์•ˆ์ „ ๊ฒ€์‚ฌ๊ธฐ: ์ด๋ฏธ์ง€๊ฐ€ ์ƒ์„ฑ๋œ ํ›„์— ์ด๋ฏธ์ž๊ฐ€ ์ž„๋ฒ ๋”ฉ ๊ณต๊ฐ„์—์„œ ์ผ๋ จ์˜ ํ•˜๋“œ์ฝ”๋”ฉ๋œ ์œ ํ•ด ๊ฐœ๋…์˜ ํด๋ž˜์Šค์ผ ํ™•๋ฅ ์„ ํ™•์ธํ•˜๊ณ  ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ์œ ํ•ด ๊ฐœ๋…์€ ์—ญ๊ณตํ•™์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์˜๋„์ ์œผ๋กœ ์ˆจ๊ฒจ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Hub์—์„œ์˜ ๋‹จ๊ณ„์ ์ธ ๋ฐฐํฌ: ํŠนํžˆ ๋ฏผ๊ฐํ•œ ์ƒํ™ฉ์—์„œ๋Š” ์ผ๋ถ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ œํ•œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์ ์ธ ๋ฐฐํฌ๋Š” ์ค‘๊ฐ„ ๋‹จ๊ณ„๋กœ, ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ž‘์„ฑ์ž๊ฐ€ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ํ†ต์ œ๋ ฅ์„ ๊ฐ–๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ผ์ด์„ ์‹ฑ: OpenRAILs์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ๋ผ์ด์„ ์‹ฑ์„ ํ†ตํ•ด ์ž์œ ๋กœ์šด ์ ‘๊ทผ์„ ๋ณด์žฅํ•˜๋ฉด์„œ๋„ ๋” ์ฑ…์ž„ ์žˆ๋Š” ์‚ฌ์šฉ์„ ์œ„ํ•œ ์ผ๋ จ์˜ ์ œํ•œ์„ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

< > Update on GitHub