-
Huggingface 컨트리뷰션 안내 정리 (1)개발 기록/컨트리뷰션 2025. 2. 13. 23:33
Transformers
🤗 Transformers 프로젝트에 기여하는 방법에 대한 자세한 안내입니다. 코드 기여 외에도 질문에 답변하거나 문서 개선 등 커뮤니티를 돕는 다양한 방법이 있습니다. 라이브러리를 홍보하는 것도 커뮤니티에 큰 도움이 됩니다. 예를 들어, 프로젝트에 도움이 된다면 트위터에 언급하거나 레포지토리에 별표를 주어 감사의 뜻을 표시할 수 있습니다. 기여를 선택할 때는 행동 강령을 준수해 주세요.
기여 방법:
- 기존 코드의 미해결 이슈 수정
- 버그 관련 이슈나 새로운 기능에 대한 이슈 제출
- 새로운 모델 구현
- 예제나 문서에 기여
처음 기여하는 경우, 초보자에게 적합한 Good First Issue 목록에서 시작할 수 있습니다. 좀 더 도전적인 작업을 원한다면 Good Second Issue 목록을 확인하세요.
풀 리퀘스트 생성:
- 기여하기 전에 이미 진행 중인 작업이 없는지 확인하세요. 불확실한 경우 이슈를 열어 피드백을 받는 것이 좋습니다.
- 기여에 필요한 기본적인 git 지식이 필요합니다. git은 사용하기 어려울 수 있지만 가장 좋은 매뉴얼을 제공합니다.
- 🤗 Transformers에 기여하기 위해서는 Python 3.9 이상이 필요합니다.
- 레포지토리를 포크하고, 로컬 디스크에 클론한 후, 새 브랜치를 만들어 변경 사항을 개발하세요.
- 가상 환경에서 개발 환경을 설정하고, 필요한 테스트를 실행하여 변경 사항이 기존 테스트를 통과하는지 확인하세요.
- 코드 스타일과 품질을 유지하기 위해 black, ruff와 같은 도구를 사용하여 소스 코드를 포맷하세요.
- 문서 변경 사항이 있는 경우, 문서가 여전히 빌드되는지 확인하세요.
- 변경 사항을 추가하고 로컬에 커밋한 후, 변경 사항을 포크한 레포지토리의 브랜치로 푸시하세요.
- GitHub에서 풀 리퀘스트를 열어 프로젝트 관리자에게 리뷰를 요청하세요.
테스트 및 스타일 가이드:
- pytest를 사용하여 라이브러리의 동작을 테스트하고, 필요한 경우 unittest도 지원합니다.
- 문서 작성 시 🤗 Transformers는 Google Python Style Guide를 따릅니다.
윈도우에서 개발:
- 윈도우에서 개발할 때는 git 설정을 조정해야 하며, make 명령어를 사용하기 위해 MSYS2를 설치할 수 있습니다.
포크된 레포지토리를 상위 레포지토리와 동기화:
- 메인 브랜치를 업데이트할 때는 상위 레포지토리에 불필요한 알림을 보내지 않도록 주의해야 합니다.
이 정보를 바탕으로 🤗 Transformers 프로젝트에 효과적으로 기여할 수 있습니다.
Diffusers
🧨 Diffusers 프로젝트에 기여하는 방법에 대해 설명하겠습니다. 이 프로젝트는 오픈 소스 커뮤니티로부터의 기여를 환영하며, 코드 기여뿐만 아니라 질문에 답변하기, 다른 사람들을 도와주기, 문서 개선 등 다양한 형태의 참여를 소중하게 생각합니다.
참여 방법:
- 커뮤니티와 소통하기 위해 Discord 채널에서 인사를 시작하세요.
- 질문에 답변하거나 문서를 개선하는 것처럼 다양한 방법으로 기여할 수 있습니다.
- 행동 강령과 윤리 지침을 읽고 이를 준수해주세요.
기여할 수 있는 다양한 방법:
- 질문에 답하기
- 새 이슈 열기
- 문서 기여
- 새 모델이나 파이프라인 추가
풀 리퀘스트(PR) 작성:
- 기여하기 전에 동일한 작업을 하는 다른 PR이 없는지 확인하세요.
- 개발 환경을 설정하고, git 명령어를 사용하여 코드 변경 사항을 관리하세요.
- PR을 만들고, 리뷰를 받으세요.
이슈 작성 방법:
- 이슈를 명확하고 간결하게 작성하여, 빠른 해결을 도모하세요.
- 문제를 재현할 수 있는 코드 스니펫을 포함시키세요.
- 문제의 원인과 해결 방법에 대해 명확히 설명하세요.
좋은 PR 작성 방법:
- 기존 디자인 패턴과 일관성을 유지하며 코드를 작성하세요.
- PR은 하나의 문제만 해결해야 합니다.
- 테스트를 포함시켜 코드의 품질을 보증하세요.
기여 과정에서 질문이나 도움이 필요하면 언제든지 커뮤니티에 문의하세요. 여러분의 기여는 커뮤니티 전체에 큰 가치를 제공합니다.
Datasets
오픈 이슈 작업 방법:
- 이슈 페이지에서 열려 있는 이슈 목록을 확인할 수 있습니다.
- 일부 이슈에는 "help wanted" 라벨이 붙어 있어, 누구나 환영하는 이슈임을 나타냅니다.
- 작업하고 싶은 이슈가 이미 다른 사람에게 할당되지 않았는지 확인하세요.
- 이슈 페이지에서 #self-assign을 코멘트하여 자신에게 할당할 수 있습니다.
- 자신에게 할당된 이슈에 대해 작업하고, 최종적으로 풀 리퀘스트를 생성합니다.
풀 리퀘스트 생성 방법:
- 저장소의 'Fork' 버튼을 클릭하여 자신의 GitHub 계정 아래 코드의 복사본을 만듭니다.
- 로컬 디스크에 포크를 복제하고 기본 저장소를 원격으로 추가합니다:
- 개발 변경을 위한 새 브랜치를 생성합니다:
- 가상 환경에서 다음 명령어를 실행하여 개발 환경을 설정합니다:
- 코드를 포맷하고, 필요한 경우 make style을 실행하여 코드 스타일을 맞춥니다.
- 변경 사항을 추가하고 로컬에 커밋을 기록합니다:
- 정기적으로 코드의 사본을 원본 저장소와 동기화하여 변경사항을 반영합니다:
- 만족스러울 때까지 변경 사항을 포크 저장소에 푸시한 후 GitHub에서 "Pull request"를 클릭하여 리뷰를 요청합니다.
Hugging Face에서 데이터셋 추가 방법:
- Hugging Face 데이터셋 페이지를 통해 계정을 사용하여 데이터셋을 직접 공유할 수 있습니다.
데이터셋 카드에 기여하는 방법:
- 데이터셋 카드의 문서화 개선에 기여할 수 있습니다. 데이터셋 페이지의 "Files and versions" 탭에서 README.md 파일을 편집하여 Pull Request를 열 수 있습니다.
- 데이터셋 작성자나 경험 많은 사용자로서 데이터셋 카드에 정보를 추가할 수 있습니다.
이 과정을 통해 오픈 소스 커뮤니티에서 건설적이고 포용적인 행동을 촉진하는 데 도움을 줄 수 있습니다. 모든 참여자는 HuggingFace 행동 강령을 준수할 것으로 기대됩니다.