ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Introducing Pull Requests and Discussions ๐Ÿฅณ
Hugging Face BlogHugging Face Blog
Backend

Hugging Face Hub์ด fork ์—†์ด ์ง์ ‘ source repo์— pushํ•˜๋Š” refs ๊ธฐ๋ฐ˜ Pull Request์™€ Discussions๋ฅผ ๋„์ž…ํ•ด ML ํ˜‘์—… ์›Œํฌํ”Œ๋กœ์šฐ ๋‹จ์ˆœํ™”

Introducing Pull Requests and Discussions ๐Ÿฅณ

2022๋…„ 5์›” 25์ผ5๋ถ„intermediate

Context

ML ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํ˜‘์—…์„ ์œ„ํ•ด ๋ชจ๋ธ, ๋ฐ์ดํ„ฐ์…‹, Spaces ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๊ธฐ์—ฌ์ž๋“ค์ด ํšจ๊ณผ์ ์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค. GitHub ๊ฐ™์€ ์ผ๋ฐ˜ git ํ˜ธ์ŠคํŠธ๋Š” ML ์›Œํฌํ”Œ๋กœ์šฐ์— ์ตœ์ ํ™”๋˜์ง€ ์•Š์€ fork/branch ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ์™€ issues/PRs์˜ ์ค‘๋ณต๋œ ๊ฐœ๋…์œผ๋กœ ๋ณต์žก์„ฑ์„ ์•ผ๊ธฐํ–ˆ๋‹ค.

Technical Solution

  • Fork ์—†๋Š” PR ๊ตฌํ˜„: ๊ธฐ์—ฌ์ž๋“ค์ด source repo์— ์ง์ ‘ ํŠน์ˆ˜ ๋ธŒ๋žœ์น˜์ธ refs๋ฅผ pushํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ƒˆ ๋ฒ„์ „๋ณ„ fork ์ƒ์„ฑ ์ œ๊ฑฐ
  • Discussions ๊ธฐ๋Šฅ: ์ปค๋ฎค๋‹ˆํ‹ฐ ํƒญ์—์„œ ๋ˆ„๊ตฌ๋‚˜ ์งˆ๋ฌธ, ๋‹ต๋ณ€, ์•„์ด๋””์–ด ๊ณต์œ ๋ฅผ ์ง์ ‘ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์†Œ์œ ์ž ๋ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ˆ˜ํ–‰
  • ์›น ๊ธฐ๋ฐ˜ PR ์›Œํฌํ”Œ๋กœ์šฐ: ํŒŒ์ผ ๋ฐ ๋ฒ„์ „ ํƒญ์˜ "Collaborate" ๋ฒ„ํŠผ์œผ๋กœ ๋‹จ์ผ ํŒŒ์ผ ๊ธฐ์—ฌ ๊ฐ„์†Œํ™”
  • ํ†ตํ•ฉ ๋ฆฌ์ŠคํŠธ ํ‘œ์‹œ: Issues์™€ PRs์˜ ๊ตฌ๋ถ„ ์ œ๊ฑฐํ•˜์—ฌ ๋™์ผํ•œ ๋ฆฌ์ŠคํŠธ์—์„œ ํ‘œ์‹œ
  • ML ํŠนํ™” ์„ค๊ณ„: models, datasets, Spaces ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ตœ์ ํ™”๋œ ๋‹จ์ˆœ ๋ฒ„์ „์˜ ํ˜‘์—… ๋„๊ตฌ ์ œ๊ณต

Key Takeaway

ML ํ”Œ๋žซํผ์—์„œ ์ผ๋ฐ˜ git ํ˜ธ์ŠคํŠธ์˜ ๊ฐœ๋…์„ ๊ทธ๋Œ€๋กœ ์ฐจ์šฉํ•˜์ง€ ์•Š๊ณ  ๋„๋ฉ”์ธ ํŠนํ™” ์›Œํฌํ”Œ๋กœ์šฐ๋กœ ์žฌ์„ค๊ณ„ํ•˜๋ฉด fork ์ œ๊ฑฐ์™€ ์˜๋ฏธ๋ก ์  ๋‹จ์ˆœํ™”๋ฅผ ํ†ตํ•ด ์ง„์ž…์žฅ๋ฒฝ์„ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ๋‹ค.


ML ๋ชจ๋ธ/๋ฐ์ดํ„ฐ์…‹ ๊ณต์œ  ํ”Œ๋žซํผ์„ ์šด์˜ํ•˜๋Š” ํŒ€์€ fork ๊ธฐ๋ฐ˜ PR ๋Œ€์‹  source repo์— ์ง์ ‘ pushํ•˜๋Š” refs ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋„์ž…ํ•˜๋ฉด ๊ธฐ์—ฌ์ž์˜ ์ดˆ๊ธฐ ํ•™์Šต ๋น„์šฉ์„ ์ค„์ด๊ณ  ๋‹จ์ผ ํŒŒ์ผ ๊ธฐ์—ฌ ๊ฐ™์€ ๊ฒฝ๋Ÿ‰ ํ˜‘์—…์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

์›๋ฌธ ์ฝ๊ธฐ