번역 PR이 멘토님의 리뷰를 거쳐 Merge 되었다!

https://github.com/PyTorchKorea/tutorials-kr/pull/559

 

prototype_source/skip_param_init.rst 번역 by updaun · Pull Request #559 · PyTorchKorea/tutorials-kr

vscode-hanspell을 활용하여 맞춤법 검사를 진행했습니다. 라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요.

github.com

 

조원분들과 멘토님이 번역한 것을 검토해주셨다. 외래어의 사용 및 문맥이 자연스러운지를 위주로 검토받았다.

엄청 대단한 것은 아니지만 내가 번역한 문서가 튜토리얼 페이지 추가되었다.

컨트리뷰터톤은 이제 결과 발표만을 앞두고 있다.

멘토님과 청년 멘토링을 별도로 신청해서 오프라인으로 한 번 만날 수 있는 기회가 생길 것 같다.

10월 중에 서울에 올라가서 다른 스케줄과 함께 멘토링을 받아보려고 한다.

파이토치 튜토리얼 번역을 하면서 파이토치 공부를 많이 할 수 있을 줄 알았는데, 생각보다 시간 내는 것이 어려웠다.

컨트리뷰터톤이 끝나더라도 여전히 번역에 기여할 수 있다.

이제는 다른 오픈 소스에 어떻게 하면 기여할 수 있는지 방법을 조금 알게 되어서 앞으로 개발 인생에서 다른 많은 오픈 소스에 기여하면서 성장하는 개발자가 되고 싶다.

다른 조원들 번역 PR에 Peer Review를 남기고, Pytorch에 오탈자 수정 PR을 올려 MERGE 되었다!

https://github.com/PyTorchKorea/tutorials-kr/pull/589

 

recipes_source/quantization.rst 번역 by hjvision96 · Pull Request #589 · PyTorchKorea/tutorials-kr

라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요. 동의하시면 아래 [ ]를 [x]로 만들어주세요. 기여하기

github.com

https://github.com/PyTorchKorea/tutorials-kr/pull/582

 

intermediate_source/speech_recognition_pipeline_tutorial.py 번역 by terri1102 · Pull Request #582 · PyTorchKorea/tutorials-k

라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요. 동의하시면 아래 [ ]를 [x]로 만들어주세요. 기여하기

github.com

 

https://github.com/pytorch/pytorch/pull/84431

 

Fix minor typo in rpc_test.py by updaun · Pull Request #84431 · pytorch/pytorch

This fixes a very minor typo in the rpc_test.py comments.

github.com

 

이번 달까지 1개의 문서의 PR을 올리는 것이 마스터스 기간의 미션이기 때문에 조원들이 PR을 올렸다.

조원들의 번역본을 읽고 잘 번역되었는지 확인하고 Review를 작성했다.

바쁜 와중에도 번역을 다들 매끄럽게 잘 번역하시는 것 같다. 

 

오픈소스 컨트리뷰터톤을 하면서 파이토치 튜토리얼 뿐 아니라 다른 유명 오픈소스에도 기여해보는 TF팀에 참여했다.

어떻게 해야할 지 막막했는데 멘토님께서 선뜻 도전해보라고 제안해주셨다!

멘토님이 용기를 주시고, 데드라인도 지정해주셔서 시간을 좀 더 내어 도전할 수 있었다.

파이토치 튜토리얼에서 오탈자 수정을 했던 것과 거의  비슷하게 작업했다.

오타 수정은 큰 이슈가 아니기 때문에 다른 사람들도 이슈를 작성하지 않고 간단하게 PR을 작성하여 올린 것을 참고했다.

repo를 fork하여 새로운 브랜치를 만들고 수정하여 PR을 요청했다.

PR을 올린지 얼마 되지 않아, 어떤 개발자 분이 리뷰를 남겨 주셨다. CLA에 동의를 하라는 내용이었다.

CLA 는 Contributor License Agreement 의 약자로 라이선스에 대한 저작권 동의에 대한 부분 같았다.

PR을 올리자마자, 여러 봇들이 댓글을 달아줌과 동시에 여러 개의 테스트들이 수행되었다.

최종 Merge가 되기까지 약 10시간 정도 지나 반영된 것 같다.

아주 작은 오타 수정이었지만, 이것으로 pytorch에 컨트리뷰터가 되었다. 

AI 개발자로서 아주 영광스럽고 뿌듯한 일이다.

 

번외로 팀 예산으로 치킨 기프티콘을 보내주셨고, 먹는 사진을 인증했다.

다이어트 중이었지만, 숙제를 수행해야하기 때문에 치팅데이를 할 수 있었다. ㅋ

다른 조원의 번역 PR에 Peer Review를 남겼다.

https://github.com/PyTorchKorea/tutorials-kr/pull/575

 

intermediate/realtime_rpi.rst 번역 by YunjinJo · Pull Request #575 · PyTorchKorea/tutorials-kr

라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요. 동의하시면 아래 [ ]를 [x]로 만들어주세요. 기여하기

github.com

 

주마다 한 문서씩 번역할 수 있을 것이라는 생각은 오만이었다. 필수적으로 해야하는 1개의 문서를 하고 나서는 확실히 게을러진 모습이 나타났다. 의무감이 있어야 더 번역을 했을까, 부지런하지 못한 나에게 아쉽다.

이번 주에는 우리 조 다른 인원의 번역 PR에 Peer Review를 남겨봤다. 주로 영어 표현을 그대로 사용한 경우 위주로 리뷰를 남겨보고 있다. 리뷰는 또한 근거를 제시하는 것이 좋을 것 같아 네이버 사전 및 자체 용어집을 근거로 리뷰를 작성했다.

audio 쪽 문서 번역, 그리고 yolov5 쪽에서도 오탈자 찾아 PR 올려보는 것을 시도해야하는데 다른 일에 집중하고 있어 여유가 아직 부족한 것 같다. 다른 분들도 정말 바쁘지만 일정 쪼개서 작업하시는데, 나도 컨트리뷰터톤 참가했던 그 때의 초심으로 돌아가야 할 것 같다.

PyTorchKorea tutorials-kr에 첫 번역 PR을 올렸다!

https://github.com/PyTorchKorea/tutorials-kr/pull/559

 

prototype_source/skip_param_init.rst 번역 by updaun · Pull Request #559 · PyTorchKorea/tutorials-kr

vscode-hanspell을 활용하여 맞춤법 검사를 진행했습니다. 라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요.

github.com

 

오픈소스 컨트리뷰톤이 시작된 지 얼마 안 되었을 때, 연습용 repo에 번역 연습으로 몇 줄만 번역해보고 PR을 하라 하셨는데, 그 때 의욕이 앞서서 미리 한 페이지를 번역하고, 조원들 4명에게 리뷰를 받고, 멘토님께도 리뷰를 한 번 받아서 지금까지 4차례 정도 추가 수정을 하게 된 것 같다!

조금 더 완성도가 있는 상태로 본 repo에 PR을 올릴 수 있었다. 멘토님께서 주간 회의를 진행할 때 가장 먼저 번역 PR을 올려주셨다고 칭찬도 해주시고, 기프티콘도 선물로 주셔서 정말 기분 좋았다.

주간회의에서는 용어집의 포맷 개선 방향과 peer 리뷰시 어떻게 리뷰어를 구성하면 좋을지 토의를 진행했다. 마스터스-C조 조장으로 발표자가 되어 팀의견을 발표를 했다.

회의 내용을 Notion에 정리했다.

https://updaun.notion.site/220813-f4ef02dd6b6b41cb93f7cf9ad9503f52

 

220813 회의 내용

과제

updaun.notion.site

 

마스터스-C조의 조장을 2주간을 마무리하고 다시 일반 조원으로 돌아가게 되었다. 

8월 말까지 1개 문서의 번역을 하는 것이 마스터스 과제인데, Audio 관련해서 번역을 더 해서 PR을 올려보려고 한다.

추가적으로 TF팀 다른 오픈소스에 기여하기 팀과, 공식 튜토리얼로 배우는 PyTorch TF에도 들어가서 추가 활동을 하게 될 예정이다. 지금 하고 있는 다른 프로젝트들과 알고리즘 스터디까지 있어서 바쁜 일정이지만 일단 저질렀다. 

잠을 줄여가며 진행할 것 같다. 부단히 노력하고, 잘 정리하고 성장해야한다.

네 번째 미션인 PyTorchKorea 튜토리얼 레포에 용어집 단어 추가 PR을 수행했다.

https://github.com/PyTorchKorea/tutorials-kr/pull/557

 

TRANSLATION_GUIDE.md(Add word : device) by updaun · Pull Request #557 · PyTorchKorea/tutorials-kr

라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요. 동의하시면 아래 [ ]를 [x]로 만들어주세요. 기여하기

github.com

 

앞으로 2주간 C조 리더가 되어 활동하게 되었다.

특별한 것은 없고 조금 더 능동적으로 팀원들 온라인 회의시간을 잡고, 조별 과제에 대한 회의를 진행하고 발표하는 것이다.

 

조별과제로 hunspell의 장단점에 대해서 개별 생각을 정리했다.

대체할 수 있는 다른 아이디어는 없는지 찾아봤는데,

C조 조원분 중에 한 분이 vscode에 Extenstion으로 나와있는 "vscode-hanspell" 에 대해 소개해 주셨다.

다른 오픈 소스에서 오탈자를 찾아 PR을 올려보는 TF에 합류하게 되었다.

또 PDF 형식으로 제작하여 책으로 만들어보는 TF에도 합류했다.

 

이번 용어집에 PR을 올리면서 Fork를 활용해서 작업을 진행했는데,

fork를 한 후에 master branch에서 바로 작업하여 올리기를 했더니, 지난 번 오탈자 수정 commit도 또 다시 올라가는 문제가 발생했다.

아직도 Git에 대해서 익숙하지 못해서 이런 문제가 발생한 것이다.

rebase를 쓰는 방법도 있지만 시간상 오래 걸릴 것 같아서 fork한 repo를 지우고 다시 fork를 해서 작업을 했다.

그 대신 이번엔 master에서 작업하지 않고 새로운 브랜치를 만들어 작업했다.

PR이 merge 된다면 branch를 삭제하고

master에서 sync를 한 뒤 다시 브랜치를 만들어 작업하는 과정으로 해야할 것 같다.

그래도 비교적 빠르게 문제를 해결했다.

세 번째 미션인 PyTorchKorea 튜토리얼 레포에 오타 수정 PR을 수행했다.

https://github.com/PyTorchKorea/tutorials-kr/pull/509

 

beginner/basics/data_tutorial 오타 수정 by updaun · Pull Request #509 · PyTorchKorea/tutorials-kr

라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요. 동의하시면 아래 [ ]를 [x]로 만들어주세요. 기여하기

github.com

 

멘토님께서 2주차 미션에 대한 공통 피드백을 전달해주셨다.

멘티 중의 상당수가 번역하면서 놓쳤던 부분들에 대해 언급해주셨다.

차주 미션을 제공하시며 오타를 쉽게 찾기 위해 hunspell 이라는 패키지를 소개해 주셨다. 

sudo apt-get install hunspell

 

특정 파일에서 한글 오타 찾기

hunspell -l 파일 | sort | uniq

 

여러 파일에서 한글 오타 찾기

hunspell -l *.py *.rst | sort

 

멘토님의 가르침을 따라 hunspell을 활용하여 오타 찾기를 시도했다.

파이썬 파일 하나만 시도해봐야지 했는데 아니나 다를까 오탈자가 눈에 보였다.

오탈자를 수정하면서 그 문단을 다시 한번 읽었는데 문맥이 이상한 부분도 발견하여 두 군데를 수정한 PR를 작성하게 되었다.

 

이번 3주차는 오프라인으로 미팅을 갖는다고 하셨다.

정말 참여하고 싶었는데 최근 코로나 재유행으로 외부 이동을 줄이기로 했기 때문에 갈 수 없었다.

온라인으로 참여했는데, 현장에 가서 함께했다면 더 좋았을 것 같다. 

멘티분들과 자유롭게 생각을 나누는 자리였는데, 최소 1회는 오프라인 미팅을 참여해야해서 언젠간 멘토님들 뵙게 될 것 같다.

 

중간보고서 작성을 하고 Challenges 기간이 종료된다.

그간 한 작업 내용들을 날짜순으로 정리했다.

Masters 기간에 번역도 열심히 하고 조원들과 의견 주고 받으면서 끝까지 달려야겠다!!

두 번째 미션인 연습용 레포지토리에 페이지 번역에 대한 PR 올리기이다.

https://github.com/hyoyoung/22-tutorials-ex/pull/23

 

prototype_source/skip_param_init 번역 (#21) by updaun · Pull Request #23 · hyoyoung/22-tutorials-ex

관련 이슈 번호 이슈 번호: #21 PR 종류 오탈자를 수정하거나 번역을 개선하는 기여 번역되지 않은 튜토리얼을 번역하는 기여 공식 튜토리얼 내용을 반영하는 기여 위 종류에 포함되지 않는 기여

github.com

 

1주차 오리엔테이션을 기반으로 연습용 레포지토리에 번역을 해서 Pull Request를 올렸다.

파이토치 튜토리얼만 해도 멘티가 15명 정도가 되어 4명씩 조를 편성하게 되었다.

나는 C조에 편성되었고, C조는 prototype_source에서 파일을 하나 정해서 번역을 시도하는 것이었다.

 

파이토치 튜토리얼을 정독하지 못해서 그럴 수도 있지만, 생소한 것들이 많아서 쉬운 내용을 찾아서 번역을 시도했다.

그래도 쉬운 내용인 파라미터 초기화 건너뛰기에 대해서 진행했다.

 

번역을 해야하는 부분이 있고, 영어로 표기해야할 부분들이 있었다.

최대한 자연스럽게 번역하기 위해 여러 번 읽어보면서 문장을 수정했다.

번역기도 많이 사용했는데, 영어를 먼저 일본어로 번역하고 그 이후에 영어로 번역하면 자연스럽다고 들어 그렇게 시도했다.

 

다소 부족한 번역이었는데 PR을 올렸더니, 잘잘한 실수들을 C조 팀원에서 리뷰를 해주셨다.

번역을 혼자서 하는 것이 아니라 팀원분들의 좋은 의견을 들을 수 있어서 좋았다. 

 

OSSCA는 Challenges 프로그램과 Masters 프로그램으로 나뉘는데, 지금은 Challenges 프로그램 중에 있다.

본격적으로 오픈소스 기여를 하기 전 준비 단계인 것이다.

내가 번역한 페이지를 Masters 기간에 PyTorchKorea/tutorial-kr 레포지토리에 PR을 올릴 수 있을 것 같다.

첫 번째 오픈소스 기여라 기대가 된다.

PyTorchKorea/tutorial-kr 빌드 성공한 화면이다.

 

멘티로 선정된 후 디스코드 채널에 초대되었다.

7월 9일 온라인 발대식이 진행되었다. 팀이 많다보니 3일 동안 나눠서 진행했는데, 파이토치 튜토리얼 번역은 7월 9일 그룹에 포함되어 진행되었다.

개인 일정이 있던 터라 메타버스 플랫폼 게더타운? 에 로그인만 하고 들어가 있었다. 많은 이야기가 오갔을 것 같은데 듣지 못해 아쉬웠다.

멘티들을 위해 공통 교육이 오픈되었는데, Github 사용 및 Git 사용 기초에 대해서 강의가 오픈되었다. 아쉽도 이것 역시 개인 일정이 있던 터라 수강하지 못했다. 특강을 해주기 때문에 오픈소스 기여하는 것에 주저하는 사람들이 있다면 이 점을 알고 지원하게 되면 좋겠다.

 

파이토치 튜토리얼 팀은 매주 일요일 밤 10시에 주간 회의를 진행하기로 했다. 이 내용은 디스코드에서 투표를 통해 다수결로 결정되었다. 주말이긴 하지만 부담되지 않는 시간이라 좋았다.

첫 번째 모임 7월 17일 전까지 PytorchKorea/tutorial-kr repository를 빌드해보는 것이 미션이었다.

멘토분들이 일부러 정보를 최소화하고 미션을 주셨다고 했다.

평소 오픈소스를 세팅한 것처럼 Windows에 바로 시도하다가 make 라는 명령어 세팅부터 막혀 다른 방법을 찾아야 했다.

wsl을 활용하면 하이퍼 가상환경으로 Windows에 Ubuntu 환경을 설치할 수 있었다.

에러가 상당수 발생했지만, 구글링하여 극복하고 빌드를 성공하게 되었다.

 

빌드를 할 때, make html-noplot 이라는 명령어로 빌드를 진행했는데, 멘토님이 저 명령어로 빌드를 하라고 해서 그렇게 했지만, OT 때 알고보니 파이토치 튜토리얼은 데이터를 기반으로 그래프를 제공하는데 noplot 아닌 기본 빌드를 하면 GPU 2장으로도 꽤 오랜 시간이 걸린다고 하셨다.

빌드를 마치고, 7월 17일에 첫번째 주간회의를 진행하게 되었다.

이번 프로젝트는 어떤 식으로 진행되는지, 저번 년도에 아쉬웠던 점을 기반으로 올해의 진행방향을 알려주셨다.

많은 양을 번역하지 않더라도, 좋은 기억이 남는 한 줄의 번역이라는 멘트가 기억에 남는다.

번역에 대해서 깊게 고민하지 않았었는데, 생각보다 고려해야할 것들이 많이 있어서 신기했다.

번역과 기여하는 방법에 대해서 알려주셨고, 다소 생소한 개념들이 등장해서 걱정이 조금 되었다.

 

다음 주차 미션은 연습용 레포지토리에 번역을 한번 해보는 것이다.

https://github.com/hyoyoung/22-tutorials-ex

 

GitHub - hyoyoung/22-tutorials-ex

Contribute to hyoyoung/22-tutorials-ex development by creating an account on GitHub.

github.com

연습용 레포지토리는 멘토님께서 만들어주셨다.

멘토분들이 전문가분들이라 OSSCA가 정말 좋은 경험이 되고, 성장하는 것에 많이 도움을 받을 수 있을 것 같다.

+ Recent posts