๐ค Transformers์ ๊ธฐ์ฌํ๊ธฐ
๐ค Transformers์ ๊ธฐ์ฌํ๊ธฐ
Transformers์ ๊ธฐ์ฌํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํด์. ํ๊ฒฝ ์ค์ , ์ด์ ์ด๊ธฐ, ์ ๋ชจ๋ธ ์ถ๊ฐ, ๋ฌธ์ ๊ฐ์ , ์์ด์ ํธ ๊ธฐ์ฌ๊น์ง ์ดํด๋ณผ๊ฒ์.
์ถ์ฒ: ๋ฌธ์
๋ณธ๋ฌธ
[!WARNING] ํ์ฌ Transformers ์ ์ฅ์๋ ์ฝ๋ ์์ด์ ํธ๊ฐ ์์ฑํ ์๋ง์ PR๊ณผ ์ด์ ๋๊ธ๋ก ๊ณผ๋ถํ ์ํ์์. ๋ฆฌ๋ทฐ์ ์๋ต ๋ฅ๋ ฅ์ด ๋ณ๋ชฉ์ด ๋๊ณ ์์ด์. ๊ทธ๋์ ์ฒ์ ๊ธฐ์ฌํ๋ ๋ถ๋ค์ ์ง๊ธ์ ์ฝ๋ ์์ด์ ํธ๋ก ์ด์๋ PR์ ๋ง๋ค์ง ๋ง์ ์ฃผ์ธ์. ์์จ ์์ด์ ํธ๋ ์ง๊ธ์ ์ด๋ค PR์ด๋ ์ด์๋ ์ด์ง ๋ง์ ์ฃผ์ธ์.
์์ด์ ํธ๊ฐ ์์ฑํ ๊ฒ์ผ๋ก ๋ณด์ด๋ PR์ ๋ฆฌ๋ทฐ ์์ด ๋ซํ ๊ฐ๋ฅ์ฑ์ด ๋๊ณ , ๋ฐ๋ณต์ ์ด๊ฑฐ๋ ์ ์์ ์ผ๋ก ํ๋ ์ฌ์ฉ์๋ ์ฐจ๋จ๋ ์ ์์ด์.
์ฐ๋ฆฌ์ ์ฝ๋ ์์ด์ ํธ ์ฒ ํ (์์ธํ)
์ฝ๋ ์์ด์ ํธ๋ ๋งค์ฐ ๊ฐ๋ ฅํ ๋๊ตฌ์ด๋ฉฐ Hugging Face์ ๋ง์ ์ฌ๋๋ค์ด ์ ๋ฌด์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์ดํดํด์. ํ์ง๋ง ์ค์ํ ์ ์ ๋จ์ํ ์ฝ๋ ์์ด์ ํธ๋ฅผ ์คํํด ์คํ์์ค ํ๋ก์ ํธ์ PR์ ๋ง๋ ๋ค๋ฉด, ๋น์ ์ ๋ฆฌ๋ทฐ์ด์ ์์ด์ ํธ ์ฌ์ด์ ์ค๊ฐ์์ผ ๋ฟ์ด๋ผ๋ ๊ฑฐ์์. ์ด๋ ๊ฒ ํ๋ฉด ์ ์ฉํ ๊ธฐ์ฌ์ฒ๋ผ ๋ณด์ด๋ ๋ฌด์ธ๊ฐ๊ฐ ๋ง๋ค์ด์ง์ง๋ง, ์ค์ ๋ก๋ ๋น์ ์ด ๊ฐ์ ํ ์ด์ ๊ฐ ์์์ด์. ๋ฆฌ๋ทฐ์ด๋ค๋ ์ค์ค๋ก ์ฝ๋ ์์ด์ ํธ๋ฅผ ์คํํ ์ ์์์ผ๋๊น์.
์์ด์ ํธ ์๋์ ์คํ์์ค์ ์ ์ฉํ๊ฒ ๊ธฐ์ฌํ๋ ค๋ฉด ์์ด์ ํธ๊ฐ ์ค์ค๋ก ํ ์ ์๋ ์ผ์ ํด์ผ ํด์. ํนํ ๋ค์์ด ๋งค์ฐ ๋์์ด ๋๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ด์:
- ๋ฒ๊ทธ์ ๋ช ํํ ์ง๋จ. ์ฝ๋ ์์ด์ ํธ๋ ๋ณดํต ์ฝ๋ ๋น๋ํ๋ ๋ค๋ฅธ ๋ชจ๋ธ๊ณผ์ ๋นํธํ์ ์ผ์ผํค๋ ์์๋ฐฉํธ์ผ๋ก ๋ฌธ์ ๋ฅผ ๋น ๋ฅด๊ฒ ๊ณ ์น๊ธธ ์ข์ํด์. ๋ฌธ์ ์ ์ ํํ ์์ธ์ ์ถ์ ํ๊ณ , ํนํ (git bisect ๊ฐ์ ๊ฒ์ผ๋ก) ์ฒ์ ๋ฑ์ฅํ ์ปค๋ฐ์ ์ฐพ๋ ๋ฐ ์๊ฐ์ ์ฐ๋ ๊ฒ์ด ๊ฐ์น ์์ด์.
- diff ์ต์ํ. PR์์ ๋ถํ์ํ ๋ณ๊ฒฝ์ ์ ๊ฑฐํ์ธ์. ํ ์คํธ ์คํฌ๋ฆฝํธ๋ ๊ด๋ จ ์๋ ํ์ผ์ ์ปค๋ฐํ์ง ์์๋์ง ํ์ธํ์ธ์. ์ ๋ง ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฃผ์์ ๋ฌ๊ณ , ์ฝ๋ ์์ด์ ํธ๋ ์ธ ๊ฐ์ ์ ํจ์์ ์ฌ๋ฌ ์ค ์ฃผ์์ ์ถ๊ฐํด ์์ ์ด ํ ํ๋ ์์ ์ ์ฃผ๋ชฉ์ ๋๊ธธ ์ข์ํ์ง๋ง ๊ทธ๋ฌ์ง ๋ง์ธ์. PR์ด 1์ค ์์ ์ผ๋ก ๋๋๋ฉด 1์ค ์์ ์ผ๋ก ๋ง๋์ธ์. ๊ทธ๋ฌ๋ฉด PR ๋ฆฌ๋ทฐ๊ฐ ํจ์ฌ ์ฌ์์ง๊ณ ์ฑํ๋ ๊ฐ๋ฅ์ฑ๋ ๋์์ ธ์.
- ๋ฌธ์ ๋ฅผ ์ฌํํ๋ ๋ฐ ์๊ฐ ์ฐ๊ธฐ. ์ฌ์ฉ์๊ฐ ์ด์๋ฅผ ๋ณด๊ณ ํ ๋, ์ค์ ๋ก๋ ๊ทธ ๊ธฐ๊ธฐ์ ํ๊ฒฝ ๋ฌธ์ ์ด๊ฑฐ๋ ์ฌ์ฉ์๊ฐ ๋ฌธ์ ๋ฅผ ์๋ชป ์ง๋จํด ์๋ชป๋ ํด๊ฒฐ์ฑ ์ ์ ์ํ ๊ฒฝ์ฐ๊ฐ ์์ฃผ ํํด์. ๋ง์ ์ฝ๋ ์์ด์ ํธ๋ ์ฌ์ฉ์ ์ฃผ์์ ๊ณผ๋ํ๊ฒ ์ ๋ขฐํด์, ๋๋ก๋ ์กด์ฌํ์ง๋ ์๋ ๋ฌธ์ ์ ๋ํ ์๋ชป๋ ํด๊ฒฐ์ฑ ์ ๋ง๋ค๊ธฐ๋ ํด์! ๊ฐ๋จํ ์ฌํ์ฉ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ณ ์คํํด ๋ฌธ์ ๋ฅผ ์ค์ ๋ก ํ์ธํ๋ ๊ฒ์ด ๊ฐ์น ์์ด์.
- ๋ค๋ฅธ ๋ชจ๋ธ๊ณผ ๋น๊ต. Transformers ์ ์ฅ์๋ ๋งค์ฐ ํฌ๊ณ ๋ง์ ๋ชจ๋ธ์ด ๋น์ทํ ์ผ์ ํด์. ๋ฒ๊ทธ๋ฅผ ๊ณ ์น ๋ ๋ค๋ฅธ ๋ชจ๋ธ์๋ ๊ฐ์ ๋ฒ๊ทธ๊ฐ ์๋์ง ํ์ธํ๋ ๊ฒ์ด ๊ฐ์น ์์ด์. PR์ด "(๋ค๋ฅธ ๋ชจ๋ธ)๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์์ "์ด๋ผ๊ณ ๊ด๋ จ ์ฝ๋ ๋งํฌ์ ํจ๊ป ์ ์ด ์ฃผ๋ฉด ๋ฉ์ธํ ์ด๋์๊ฒ ๋งค์ฐ ๋์์ด ๋ผ์. ์์ ์ด ์ ํํ๊ณ ์ฝ๋๋ฒ ์ด์ค ๋๋จธ์ง์ ํธํ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋ ๊ฒ์ ์๋ ค์ฃผ๊ฑฐ๋ ์. ์ฝ๋ ์์ด์ ํธ๋ ์ฝ๋๋ฅผ '์ข๊ฒ' ๋ณด๊ณ ์์ ํด์ ๋ชจ๋ธ์ด ์ฝ๋๋ฒ ์ด์ค ๋๋จธ์ง์ ์ด๊ธ๋๊ฒ ๋ง๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์.
- ์๊ณ '๋ถ์์ ์ธ(busywork)' PR ํผํ๊ธฐ. ๊ณผ๊ฑฐ์๋ ์ด๋ฐ ๊ฒ๋ ๋ฐ์์ง๋ง, ์ง๊ธ์ ํ์ ์ํฉ์์๋ ์ฌ์ํ ์คํ์ผ ๋ณ๊ฒฝ์ด๋ ์ฃผ์์ ์คํ๋ฅผ ๊ณ ์น ์๊ฐ์ด ์์ด์. ๋ฌด์์ด ์ ๋ง ์ค์ํ์ง์ ๋ํ ์ข์ ์๋ชฉ๋ง์ผ๋ก๋ ์ฝ๋ ์์ด์ ํธ๋ฅผ ๋์ด์๋ ๊ฐ์น๋ฅผ ์ ๊ณตํ ์ ์์ด์. ์ฝ๋ ์์ด์ ํธ๋ ์ฝ๋ ๋ถ์์ผ๋ก ์ฐพ์๋ธ '์ด๋ก ์ ๋ฒ๊ทธ'์ ์ง์คํ๊ธฐ ์ฌ์ด๋ฐ, ์ด๋ฐ ๋ฒ๊ทธ๋ ์ค์ ๋ก ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ๊ฒฝ์ฐ๊ฐ ๊ฑฐ์ ์์ด์. ๊ณต๊ฒฉ์๊ฐ ์ ์ฉํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด ๋ณดํต ๊ณ ์น ๊ฐ์น๊ฐ ์์ด์.
- ๋ก์ปฌ๊ณผ CI์์ ํ
์คํธ ๊ฒ์ฆ. PR์ ์ด๊ธฐ ์ ์
make fix-repo๋ฅผ ์คํํ๊ณutils/tests_fetcher.py๋ฅผ ์ฌ์ฉํด PR ๋ธ๋์น์์ ๋ณ๊ฒฝํ ํ์ผ์ ๋ค๋ฃจ๋ ํ ์คํธ ๋ชฉ๋ก์ ํ์ธํ์ธ์. ๊ทธ ํ ์คํธ๋ค์ ๋ก์ปฌ์์ ์คํํด PR์ ์ด๊ธฐ ์ ์ ํต๊ณผํ๋์ง ํ์ธํ์ธ์. PR์ ์ฐ ๋ค์๋ CI๊ฐ ์ด๋ก์์ธ์ง ํ์ธํ๊ณ , ๋ฆฌ๋ทฐ๋ฅผ ์์ฒญํ๊ธฐ ์ ์ ๋ฌธ์ ๋ฅผ ๊ณ ์น์ธ์! ์ด๋ฌ๋ฉด ์๋ฆผ ์คํธ์ด ํฌ๊ฒ ์ค์ด ๋ฉ์ธํ ์ด๋๊ฐ ์ ์ ์ ์ฐจ๋ฆด ์ ์์ด์.
Transformers๋ ๋ฒ๊ทธ ์์ , ๊ธฐ๋ฅ ์์ฒญ, ์ ๋ชจ๋ธ ๊ตฌํ, ๋ฌธ์ ๊ฐ์ ๋ฑ ๋ชจ๋ ๊ธฐ์ฌ๋ฅผ ํ์ํด์.
์ด๋์ ์์ํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด ์ด๋ณด์ ์นํ์ ์ธ Good First Issues๋ฅผ ์ดํด๋ณด์ธ์. ๋ ๋์ ์ ์ธ ์ด์๋ Good Second Issues๋ฅผ ํ์ธํ์ธ์. ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ธฐ์ฌํ๋ ์ฐ๋ฆฌ์ ํ๋ ๊ฐ๋ น(code of conduct)์ ์กด์คํด ์ฃผ์ธ์.
Transformers๋ฅผ ์ฆ๊ฒจ ์ฌ์ฉํ๋ค๋ฉด ๊ทธ๊ฒ์ ์ธ์ฉํ๊ณ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ๊ฑฐ๋, Twitter์์ ์ธ๊ธํ๊ฑฐ๋, ์ ์ฅ์์ ์คํ๋ฅผ ๋จ๊ฒจ ์ฃผ์ธ์!
์ด ๊ฐ์ด๋๋ scikit-learn์ ๊ธฐ์ฌ ๊ฐ์ด๋์์ ํฌ๊ฒ ์๊ฐ์ ๋ฐ์์ด์.
๋ชฉ์ฐจ (Contents)
- ํ๊ฒฝ ์ค์ (Set up)
- ์ด์ ์ด๊ธฐ (Opening issues)
- ์ ๋ชจ๋ธ ์ถ๊ฐ (Adding a new model)
- ๋ฌธ์ (Docs)
- ์์ด์ ํธ ๊ธฐ์ฌ (Agentic contributions)
ํ๊ฒฝ ์ค์ (Set up)
- GitHub์ Fork ๋ฒํผ์ผ๋ก Transformers๋ฅผ ํฌํฌํด ๊ณ์ ์๋์ ๋ณต์ฌ๋ณธ์ ๋ง๋ ๋ค ๋ก์ปฌ์ ํด๋ก ํด์.
git clone [email protected]:<your Github handle>/transformers.git
cd transformers
- Transformers ์ ์ฅ์๋ฅผ
upstream์ด๋ผ๋ ๋ฆฌ๋ชจํธ๋ก ์ถ๊ฐํด์.origin์ ๋น์ ์ ํฌํฌ๋ฅผ,upstream์ ์๋ณธ ์์ค๋ฅผ ๊ฐ๋ฆฌ์ผ์. ๊ทธ๋ฌ๋ฉดorigin์ ํธ์ํ๊ณ PR์ ์ด๊ธฐ ์ ์ ๋ก์ปฌmain์ ๋๊ธฐํํ ์ ์์ด์.
git remote add upstream https://github.com/huggingface/transformers.git
git remote -v
# origin [email protected]:<your Github handle>/transformers.git (fetch)
# origin [email protected]:<your Github handle>/transformers.git (push)
# upstream https://github.com/huggingface/transformers.git (fetch)
# upstream https://github.com/huggingface/transformers.git (push)
- ํฌํฌ๋ฅผ ์ต์ ์ํ๋ก ์ ์งํ๊ณ ์์ ํ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด์. GitHub UI์ Sync fork ๋ฒํผ์ผ๋ก ํฌํฌ๋ฅผ ๋๊ธฐํํ ์๋ ์์ด์.
git checkout main && git pull upstream main && git push origin main
git switch -c a-descriptive-name-for-my-branch
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ editable ๋ชจ๋๋ก ์ค์นํด์. ๋๋ถ๋ถ์ ๊ธฐ์ฌ์๋
[dev]๋ฅผ ์ฐ๋๋ฐ, ์คํ์ผยทํ์ง ๊ฒ์ฌ์ ํ์ํ ๊ฐ๋ฐ ๋๊ตฌ๊ฐ ํฌํจ๋๊ธฐ ๋๋ฌธ์ด์์. ๋ชจ๋ธ ๊ธฐ์ฌ์๋[torch,testing]์, ๋ฌธ์ ์ ์ฉ ๋ณ๊ฒฝ๊ณผ ์์ ์์ (์ ์ฒด ๊ฐ๋ฐ ์์กด์ฑ ์ธํธ๊ฐ ํ์ ์์ ๋)์๋[quality]๋ฅผ ์ฌ์ฉํด์.
pip install -e ".[dev]"
# for model contributions
pip install -e ".[torch,testing]"
# for docs-only changes and small fixes
pip install -e ".[quality]"
Windows
Windows์์๋ WSL์ ์ฐ์ง ์๋๋ค๋ฉด git์ด CRLF ์ค๋ฐ๊ฟ์ LF๋ก ๋ณํํ๋๋ก ์ค์ ํด์.
git config core.autocrlf input
Windows์์ make ๋ช
๋ น์ ์คํํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ MSYS2๋ฅผ ์ฐ๋ ๊ฑฐ์์.
- MSYS2 ๋ค์ด๋ก๋ (์ฐ๋ฆฌ๋
C:\msys64์ ์ค์นํ๋ค๊ณ ๊ฐ์ ํด์). - ๋ช
๋ น์ค
C:\msys64\msys2.exe๋ฅผ ์ฝ๋๋ค (Start ๋ฉ๋ด์์ ์ฌ์ฉ ๊ฐ๋ฅ). - ์
ธ์์
pacman -Syu์คํ ํpacman -S make๋กmake๋ฅผ ์ค์นํด์. C:\msys64\usr\bin์ PATH ํ๊ฒฝ ๋ณ์์ ์ถ๊ฐํด์.
์ด์ ์ด๋ค ํฐ๋ฏธ๋(PowerShell, cmd.exe ๋ฑ)์์๋ make๋ฅผ ์ธ ์ ์์ด์.
์ด์ ์ด๊ธฐ (Opening issues)
์ด์ ํ ํ๋ฆฟ์ ์ฌ์ฉํด ์์ํ๋ ๋ฐ ๋์์ ๋ฐ์ ์ ์์ด์.
๋ฒ๊ทธ ๊ด๋ จ ์ด์ (Bug-related issue)
์ด์๋ฅผ ์ด๊ธฐ ์ ์ ๋ฒ๊ทธ๊ฐ ์ด๋ฏธ ๋ณด๊ณ ๋์ง ์์๋์ง ํ์ธํ์ธ์ (GitHub์ Issues ์๋ ๊ฒ์ ๋ฐ๋ฅผ ์ฌ์ฉ). ์ด์๋ Transformers์ ๋ฒ๊ทธ์ฌ์ผ์ง, ๋น์ ์ฝ๋์ ๋ฒ๊ทธ๊ฐ ์๋์ด์ผ ํด์.
๋ฒ๊ทธ๊ฐ ๋ด ์ฝ๋์ธ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ์ง ํ์คํ์ง ์๋ค๋ฉด ๋จผ์ ํฌ๋ผ์ด๋ Discord์์ ๋ฌผ์ด๋ด์. ๊ทธ๋ฌ๋ฉด GitHub๊ฐ ์คํ ๊ฐ๋ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด์์ ์ง์คํ ์ ์์ด์.
๋น ๋ฅธ ํด๊ฒฐ์ ์ํด ๋ค์์ ํฌํจํด ์ฃผ์ธ์.
- ์ ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ OS ์ข ๋ฅ์ ๋ฒ์ , Python, PyTorch ๋ฒ์ .
- ๋ฒ๊ทธ๋ฅผ ์ฌํํ ์ ์๋ ์งง๊ณ ์์กฑ์ ์ธ(self-contained) ์ฝ๋ ์ค๋ํซ.
- ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ฒด traceback.
- ์คํฌ๋ฆฐ์ท ๊ฐ์, ๋์์ด ๋ ์ ์๋ ๊ธฐํ ์ ๋ณด.
OS์ ์ํํธ์จ์ด ๋ฒ์ ์ ์๋์ผ๋ก ์ป์ผ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์คํํด์.
transformers env
๊ธฐ๋ฅ ์์ฒญ (Feature request)
์ด์๋ฅผ ์ด๊ณ ๋ค์์ ์ค๋ช ํด ์ฃผ์ธ์:
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ๋ถ๋ง, ํ๋ก์ ํธ ํ์, ๋๋ ์ปค๋ฎค๋ํฐ์ ๋์์ด ๋ ๋งํ ์์ ๊ฐ์ ๋๊ธฐ(motivation).
- ๊ฐ๋ฅํ ํ ์์ธํ ๊ธฐ๋ฅ.
- ๊ธฐ๋ฅ ์ฌ์ฉ๋ฒ์ ๋ณด์ฌ์ฃผ๋ ์ฝ๋ ์ค๋ํซ.
- ํด๋นํ๋ ๊ฒฝ์ฐ ๊ด๋ จ ๋ ผ๋ฌธ ๋งํฌ.
์ ๋ชจ๋ธ ์ถ๊ฐ (Adding a new model)
Transformers์ ๋ชจ๋ธ์ ์ถ๊ฐํ๋ฉด ๋๊ตฌ๋ ๊ทธ ๋ชจ๋ธ์ ๋ถ๋ฌ์ ํ์ธํ๋ํ๊ฑฐ๋ ์ถ๋ก ์ ์คํํ ์ ์๊ฒ ๋ผ์. ๊ตฌํ์ ์์ํ๊ธฐ ์ ์, ๋น์ ์ ์ํคํ ์ฒ์ Transformers์ ์ด๋ฏธ ์๋ ์ต์ state-of-the-art ๋ชจ๋ธ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ๋ถ๋ฆฌํด ๋ณด์ธ์. ๊ทธ ์ฐจ์ด๋ฅผ ์ด์๋ PR์์ ์ค๋ช ํด์ ๋ฆฌ๋ทฐ์ด๊ฐ ์ด ๋ชจ๋ธ์ด ๊ฐ์ ธ์ค๋ ๋์ ๊ณผ์ , ๊ธฐ์กด ํจํด์ ์ฌ์ฌ์ฉํ ์ ์๋ ๋ถ๋ถ, ๋ชจ๋ธ ๊ฐ์ ํ์คํํด์ผ ํ ๋ถ๋ถ์ ๋น ๋ฅด๊ฒ ์ดํดํ ์ ์๊ฒ ํด์.
์๋ ๊ฐ์ด๋๋ฅผ ๋ฐ๋ผ์.
- ๋ชจ๋์ Transformers๋ก ๋ชจ๋ธ ์ถ๊ฐ โ ๋ชจ๋์ ํ์ผ๋ก ๋ชจ๋ธ์ ๊ตฌํํ๊ณ ๋ ๋ฆฝํ modeling ํ์ผ์ ์์ฑํด์.
- docstring ์๋ ์์ฑ โ
@auto_docstring๋ฐ์ฝ๋ ์ดํฐ๋ก ๋ณด์ผ๋ฌํ๋ ์ดํธ ์์ด ์ผ๊ด๋ docstring์ ์์ฑํด์. - ํ ์คํ โ ์ ํ์ฑ์ ๊ฒ์ฆํ๊ณ ๊ธฐ์ฌ๋ฅผ ์ ์ง ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํด ๋ชจ๋ธ ํ ์คํธ๋ฅผ ์์ฑยท์คํํด์. ์ธ๊ณผ ์ธ์ด ๋ชจ๋ธ์์๋ ๊ฐ๋ฅํ๋ฉด causal LM tester๋ฅผ ์์ํด์. ์ ์ฒด processor, tokenizer, ๋ชจ๋ธ ๊ฒฝ๋ก๋ฅผ ์ค์ ์ฒดํฌํฌ์ธํธ๋ก ๊ฒ์ฆํ๋ฏ๋ก ํตํฉ ํ ์คํธ๋ฅผ ์ฐ์ ํด์.
- ๋ชจ๋ธ ๊ตฌ์กฐ ๊ท์น โ ํ์ผ์ด
make typing์ด ์ํํ๋ ์ ์ ๋ชจ๋ธ ๊ตฌ์กฐ ๊ท์น์ ํต๊ณผํ๋์ง ํ์ธํด์.
์ผ๋ถ ๋ชจ๋ธ ์ถ๊ฐ๋ ์ถ๊ฐ์ ์ธ ํตํฉ ์์ ์ด ํ์ํด์.
- ๋ชจ๋ธ์ด ์ด๋ฏธ์ง๋ ๋น๋์ค ์ ๋ ฅ์ ์๊ตฌํ๋ฉด ๋น์ ์ฒ๋ฆฌ ์ปดํฌ๋ํธ ์ถ๊ฐ๋ฅผ ํ์ธ์.
- ์ถํ๋ ์ฒดํฌํฌ์ธํธ ํ๋ผ๋ฏธํฐ ์ด๋ฆ์ด Transformers ๊ตฌํ๊ณผ ์ผ์นํ์ง ์์ผ๋ฉด ๋์ ๊ฐ์ค์น ๋ก๋ฉ์ ํ์ธ์.
๋ชจ๋ธ ์ถ๊ฐ ํ์๋ผ์ธ (Model addition timeline)
๋ชจ๋ธ ๊ธฐ์ฌ์์ ์ํคํ ์ฒ์ ๋ํ ์ปค๋ฎค๋ํฐ ์์์ ๋ฐ๋ผ ๋ชจ๋ธ ์ถ๊ฐ์๋ ๋ค ๊ฐ์ง ํ์๋ผ์ธ์ด ์์ด์.
-
Day-0 ํตํฉ: ์ ๋ฒ์ ๋ฆด๋ฆฌ์ค์ ํจ๊ป ์ถ์์ผ์ ๋ชจ๋ธ์ Transformers์์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ํด์. ๊ฐ์ฅ ์ค์ํ ํต์ฌ ๊ธฐ๋ฅ(์์ํ, FlashAttention, KV-cache ๋ฑ) ์ง์, ์ด๊ธฐ ์ด์ ๋ฆฌ๋ทฐ๋ฅผ ๋์์ฃผ๊ณ , ํ์๋ผ์ธ์ ๋ฐ๋ผ ๋ชจ๋ธ ๊ตฌํ๋ ๋งก์ ์ ์์ด์.
์ ์ํคํ ์ฒ๋ผ๋ฉด ํนํ ๋ช ์ฃผ ์ ์ [email protected]๋ก ๋ฉ์ผ์ ๋ณด๋ด์. ์ฒดํฌํฌ์ธํธ์ ๋ฆด๋ฆฌ์ค๊ฐ ์ค๋น๋ ๋๊น์ง ๊ฐ์ธ ํฌํฌ์์ ํจ๊ป ๋ฐ๋ณต ์์ ํ ๊ฒ์.
-
Same-week ํตํฉ: ์์๊ฐ ๋์ ๋ชจ๋ธ์ ์์ฑ์๊ฐ ์ฐ๋ฝํ์ง ์์๋ ๋ณดํต ์ผ์ฃผ์ผ ์์ ๋ค์ด์์.
์ ๋ชจ๋ธ ํ ํ๋ฆฟ์ผ๋ก ์ด์๋ฅผ ์ด์ด ์์ฒญํ์ธ์. ํ๋์ด ๋ง์ ์ด์์ผ์๋ก ํ์์ ๋ ๋นจ๋ฆฌ ์ฌ๋ผ์์.
-
Post-release ํตํฉ: ์์๊ฐ ๊ฐํ์ง ์๊ฑฐ๋ ์ฐ๋ฆฌ๊ฐ ๋งก์ ์ฌ๋ ฅ์ด ์๋ ๋ชจ๋ธ์ ์ ์คํธ๋ฆผ ๋ฆด๋ฆฌ์ค ์ดํ์ ๋ค์ด์์.
์ด๋ ค ์๋ "New model" ํ๊ทธ ์ด์๊ฐ ์ธ๋ถ ๊ธฐ์ฌ์์ ์ง์ ์ ์ด์์. ์ํฅ๋ ฅ์ ์ต๋ํํ๋ ค๋ฉด ๊ฐ์ฅ ๋ง์ด ์์ฒญ๋ ์ํคํ ์ฒ๋ถํฐ ์์ํ์ธ์. ๋ฆฌ๋ทฐํ๊ณ ์๋ดํด ๋๋ฆด๊ฒ์.
-
Hub-first ๋ฆด๋ฆฌ์ค: ์ ์คํธ๋ฆผ PR ์์ด Transformers์ remote-code ์ง์์ ํตํด ๋ชจ๋ธ์ Hub์ ์ง์ ์ถ์ํด์.
์ธ๊ธฐ ์๋ Hub-first ๋ชจ๋ธ์ ๋์ค์ Transformers์ ํตํฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ ์ผ๊ธ(first-class) ๋ฌธ์, ์ ์ง๋ณด์, ์ต์ ํ๊ฐ ์ด๋ ค์. Hub-first๋ ๋ชจ๋ธ์ ์ถ๊ฐํ๋ ๊ฐ์ฅ ๋ง์ฐฐ์ด ์ ์ ๋ฐฉ๋ฒ์ด์์. ๋ค๋ง ๋ชจ๋ธ์ด ๊ฐ์ค์น ๋ณํ์ด๋ ๋ค๋ฅธ ํ์ ํธํ ๋ฌธ์ ๋ฅผ ์๊ตฌํ๋ฉด ๋ ์ทจ์ฝํ ์ ์์ด์.
๋ฌธ์ (Docs)
์คํ, ๋น ์ง ๋ด์ฉ, ๋ถ๋ช
ํํ ์ค๋ช
๊ฐ์ ๋ฌธ์ ๊ฐ์ ์ ์ธ์ ๋ ํ์ํด์. ์์ค ํ์ผ์์ ์์ฑ๋๋ API ์ฐธ์กฐ๋ ํด๋นํ๋ ๊ฒฝ์ฐ @auto_docstring ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ธ์. ์๋ฏธ ์๋ ๋ฌธ์ ์์ ์ PR์ ์ง์ ์ด์ด ์ฃผ์ธ์.
๋ฌธ์ ํธ์ง ๋ฐฉ๋ฒ๊ณผ ์ฌ์ฉํ๋ ๋ฌธ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฌธ์ README๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์์ด์ ํธ ๊ธฐ์ฌ (Agentic contributions)
AI ์ง์ ๊ธฐ์ฌ๋ ํ์ํด์. ๋ฆฌ๋ทฐ ๋ถ๋ด์ ๊ด๋ฆฌํ๋ ค๋ฉด ์กฐ์ ๋๊ณ , ๋ฒ์๊ฐ ์ ํด์ง๊ณ , ๊ฒ์ฆ๋์ด์ผ ํด์.
- "์์ ์์ด์ ํธ" PR์ ์ ์ถํ์ง ๋ง์ธ์. ์ ์ถ์๋ ๋ณ๊ฒฝ๋ ๋ชจ๋ ์ค์ ๊ฒํ ํ๊ณ , ๋์์ end-to-end๋ก ๊ฒ์ฆํ๊ณ , ๊ด๋ จ ํ ์คํธ๋ฅผ ์คํํ ์ฑ ์์ด ์์ด์.
- AI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด PR ์ค๋ช ์ ์ด๋ฅผ ๊ณต๊ฐํ๊ณ ์กฐ์ ๋งํฌ, ๊ธฐ์กด PR๊ณผ์ ์ฐจ๋ณ์ (ํด๋นํ๋ ๊ฒฝ์ฐ), ํ ์คํธ ๋ช ๋ นยท๊ฒฐ๊ณผ๋ฅผ ํฌํจํ์ธ์.
- ์ผํ์ฑ '๋ถ์์ ์ธ(busywork)' PR(๋จ์ผ ์คํ, ๊ณ ๋ฆฝ๋ ์คํ์ผ ์ ๋ฆฌ, ๋จ์ผ mutable ๊ธฐ๋ณธ๊ฐ ์์ ๋ฑ)์ ํผํ์ธ์. ๊ธฐ๊ณ์ ์ธ ์ ๋ฆฌ๋ ๋ช ํํ๊ณ ์ฒด๊ณ์ ์ธ ๋ฒ์๋ก ๋ฌถ์ผ์ธ์.
- PR์ ์ด๊ธฐ ์ ์ ์ด์์์ ์กฐ์ ํ๊ณ , ๋น์ทํ PR์ ๊ฒํ ํ๊ณ , ์น์ธ์ ๊ธฐ๋ค๋ฆฌ์ธ์.
[!NOTE] ์ด๋ฌํ ์ฃผ์ ๋
AGENTS.md์์ ์์ด์ ํธ๋ฅผ ์ํด ๊ฐ์๊ฐ ์ ๋ฆฌ๋์ด ์์ผ๋ฉฐ, ์์จ์ ์ผ๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ด ์์ด์.
๋ ์์๋ณด๊ธฐ (Learn more)
- ์ปค์คํ ๋ชจ๋ธ ๋ฌธ์
- ๋ชจ๋ธ ์ปค์คํฐ๋ง์ด์ง ๋ฌธ์