intermediate_source/optimizer_step_in_backward_tutorial.py 번역 - #864
Conversation
…ward_tutorial.py to Korean
…ckward_tutorial.py to Korean
…ckward_tutorial.py to Korean
…ckward_tutorial.py to Korean
…ackward_tutorial.py to Korean
…ackward_tutorial.py to Korean
This reverts commit 6a1876a.
…tep_in_backward_tutorial.py to Korean" This reverts commit d867a41.
This reverts commit 13d7f21.
…_in_backward_tutorial.py to Korean" This reverts commit 91a810d.
…zer_step_in_backward_tutorial.py to Korean"" This reverts commit f26e36f.
This reverts commit b0a7f66.
This reverts commit 13d7f21.
…imizer_step_in_backward_tutorial.py to Korean"" This reverts commit 81091f9.
This reverts commit 890e430.
This reverts commit 6a1876a.
This reverts commit aa665e3.
This reverts commit 7a8db4e.
This reverts commit d87f43f.
This reverts commit eb19b83.
…tep_in_backward_tutorial.py to Korean" This reverts commit 4581dec.
This reverts commit b8090ba.
…ackward_tutorial.py to Korean
…ackward_tutorial.py to Korean
…r_step_in_backward_tutorial.py to Korean
jih0-kim
left a comment
There was a problem hiding this comment.
긴 문서를 번역하시느라 고생 많으셨습니다!! 👍
TRANSLATION_GUIDE.md 문서에 맞춰 용어들을 잘 번역해 주셨습니다.
번역 문서에 대해 몇 가지 제안 드리니 확인 부탁드립니다.
| 않은 경우라면 말입니다). 이 튜토리얼은 다음 내용을 다룹니다: | ||
|
|
||
| To run this tutorial, you will need: | ||
| 1. 학습 또는 미세 조정(finetuning) 루프에서 메모리를 차지하는 요소는 어떤 것들인지, |
There was a problem hiding this comment.
- 학습 또는 미세 조정(finetuning) 루프에서 메모리를 차지하는 요소,
There was a problem hiding this comment.
항목으로 전개되는 내용의 형식에 따라 1번도 아래 2~4번과 같이 명사로 끝나면 더 좋을 것 같아 의견 드립니다.
|
|
||
| To run this tutorial, you will need: | ||
| 1. 학습 또는 미세 조정(finetuning) 루프에서 메모리를 차지하는 요소는 어떤 것들인지, | ||
| 2. 메모리 스냅샷(snapshot)을 캡처하고 시각화하여 병목 현상을 파악하는 방법, |
There was a problem hiding this comment.
- 병목 현상을 파악하기 위해 메모리 스냅샷(snapshot)을 캡처하고 시각화하는 방법,
There was a problem hiding this comment.
이 문서에서 다룰 내용은 캡처하고 시각화하는 방법이라고 생각하여 어순을 변경하는 것도 좋다고 생각합니다.
| To run this tutorial, you will need: | ||
| 1. 학습 또는 미세 조정(finetuning) 루프에서 메모리를 차지하는 요소는 어떤 것들인지, | ||
| 2. 메모리 스냅샷(snapshot)을 캡처하고 시각화하여 병목 현상을 파악하는 방법, | ||
| 3. 새로운 ``Tensor.register_post_accumulate_grad_hook(hook)`` API, 그리고 |
There was a problem hiding this comment.
- 새로운
Tensor.register_post_accumulate_grad_hook(hook)API,
There was a problem hiding this comment.
'그리고'는 생략해도 좋을 것 같습니다. 원문을 따른다면 그리고 또는 마지막으로 같은 말이 들어가야 할 것 같은데 어색한 감이 있어서 코멘트를 남겨봅니다. 🧐
| # * 모델 매개변수 (크기 P) | ||
| # * backward 단계를 위해 저장된 활성화 값(activations) (크기 A) | ||
| # * 변화도, 모델 매개변수와 같은 크기이므로 크기 G = P. | ||
| # * 옵티마이저 상태, 매개변수 크기에 비례함. 예시의 경우, |
There was a problem hiding this comment.
전체적인 번역 어투와 아래 71~72라인의 어투와 유사하도록 아래의 형태로 수정 의견 드립니다.
옵티마이저 상태, 매개변수의 크기에 비례합니다. 예시의 경우,
| # """""""""""""""""""""""""""""""""""""""""" | ||
| # Let's get us a memory snapshot! As your code runs, consider what you may expect | ||
| # the CUDA memory timeline to look like. | ||
| # 이제 메모리 스냅샷을 가져와 봅시다! 코드를 실행되는 동안, |
There was a problem hiding this comment.
코드를 실행되는 동안, 보다는 코드를 실행하는 동안 or 코드가 실행되는 동안 이 자연스러운 표현인 것 같습니다.
| # 우리는 이 훅에 옵티마이저 단계를 캡슐화(encapsulate)할 것입니다. 어떻게요? | ||
| # | ||
| # How everything fits together in 10 lines | ||
| # 이 모든 것을 단 10줄의 코드로 |
There was a problem hiding this comment.
이 모든 것을 단 10줄의 코드로 만드는 or 통합하는 방법 과 같은 표현도 좋은 것 같습니다.
|
@jih0-kim |
hyoyoung
left a comment
There was a problem hiding this comment.
전반적으로 읽기좋게 잘 되어있습니다.
몇가지 코멘트를 남겨두었으니 보시고 반영이 필요한 부분은 반영 부탁드립니다.
| # inputs and not worrying about loading any actual data. | ||
| # 이제 일반적인 학습 루프를 정의해봅시다. 실제 학습 시에는 진짜 이미지를 사용해야 | ||
| # 하지만, 이 튜토리얼에서는 가짜 입력 데이터를 사용하며 | ||
| # 실제 데이터를 로드하는 것에 대해서는 신경 쓰지 않을 것입니다. |
There was a problem hiding this comment.
여기서 로드한다는 읽어들이는 것에 대해서는 이라고 순화해도 좋을 거 같습니다
| # of the gradients starts building up. | ||
| # 모델 매개변수는 이미 학습 루프 이전에 메모리에 로드되었으므로, | ||
| # 처음부터 가중치(weights)에 할당된 메모리 덩어리가 보입니다. | ||
| # forward를 시작하면, 메모리는 활성화 값을 위해 점차 할당됩니다. |
There was a problem hiding this comment.
여기에서 forward pass/backword pass가 둘 다 pass가 빠진 상태로 번역이 되었는데
이럴 경우 원문을 살려서 forward pass를 시작하면이 더 낫지 않을까요?
혹은 forward 단계
There was a problem hiding this comment.
피드백 주신 대로, forward pass / backward pass는 문서 전체에서 번역하지 않고 살리는 방향으로 수정했습니다.
| # 첫 번째 학습 루프의 옵티마이저 단계 동안만 옵티마이저 상태 메모리가 점차 | ||
| # 증가하는 것을 볼 수 있습니다. 이후의 루프에서는, 옵티마이저 메모리가 그대로 | ||
| # 유지되고, 제자리에서 업데이트됩니다. 변화도가 차지하는 메모리는 매번 학습 루프가 | ||
| # 끝날 때 ``zero_grad`` 가 호출되면 적절히 해제됩니다. |
There was a problem hiding this comment.
적절히 해제된다는 말은 조금 어색해보입니다.
accordingly이니까
매번 학습 루프가 끝날때 따라서 해제됩니다 이런 식으로 바꾸면 어떨까요?
There was a problem hiding this comment.
피드백을 고려하여, 'accordingly'의 뜻을 살려 '때에 맞춰'로 번역했습니다.
| # that would allow us to add a hook onto a Tensor once its ``.grad`` field has been | ||
| # accumulated. We will encapsulate the optimizer step into this hook. How? | ||
| # 그렇다면 옵티마이저를 더 즉시(eagerly) 적용하는 동작을 어떻게 하면 활성화할 수 있을까요? 2.1 | ||
| # 릴리스에서 새로 추가된 API인 :func:`torch.Tensor.register_post_accumulate_grad_hook` |
There was a problem hiding this comment.
여기서 릴리스는 그냥 버전이라고 하는 것도 괜찮을거 같습니다
| # removing the need for the ~1.2GB of **gradients memory** as well as **optimizer | ||
| # intermediates memory**. Now, what would you expect the new peak memory to be? | ||
| # The answer will be revealed in the `next` snapshot. | ||
| # 메모리 사용량이 가장 높은 지점은 옵티마이저 단계입니다! 이때의 메모리는 예상대로 |
There was a problem hiding this comment.
두번째 문장의 note the memory 의미를 조금 더 살려보는 건 어떨까요?
There was a problem hiding this comment.
피드백을 감안하여, note the memory 의 의미를 조금 더 고려한 번역으로 다음과 같이 수정했습니다.
- 이때의 메모리는 예상대로 -> 이때의 메모리를 보면 예상대로
| but, again, feel free to substitute with your own optimizer. | ||
| * 2.1.0 혹은 그 이상의 버전의 PyTorch와 ``torchvision`` | ||
| * 메모리 시각화를 로컬에서 실행하려면, CUDA GPU 1개. | ||
| 메모리 시각화를 제외하면 이 방법은 모든 장치에서 유사한 이점을 제공합니다. |
There was a problem hiding this comment.
이 방법이라고 하면 약간 모호하게 보입니다.
이 최적화 방법이라고 수정해보면 어떨까요?
There was a problem hiding this comment.
본 문서에는 '이 방법'이라는 언급이 상당히 많은데, 모든 '이 방법'을 '이 최적화 방법'으로 수정하는 것이 좋을까요?
우선은 언급된 줄만 수정했습니다!
|
@hyoyoung |
|
고생하셨습니다. 많이 고민하고 수정하신 흔적들이 느껴지시네요! |
|
원문에서 느껴지는 sunny한 기운까지도 번역에서도 잘 살리신것 같아서 읽는 내 재미있었습니다. 👍💫 |
라이선스 동의
변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다.
더 자세한 내용은 기여하기 문서를 참고해주세요.
동의하시면 아래
[ ]를[x]로 만들어주세요.관련 이슈 번호
이 Pull Request와 관련있는 이슈 번호를 적어주세요.
이슈 또는 PR 번호 앞에 #을 붙이시면 제목을 바로 확인하실 수 있습니다. (예. #999 )
PR 종류
이 PR에 해당되는 종류 앞의
[ ]을[x]로 변경해주세요.PR 설명
이 PR로 무엇이 달라지는지 대략적으로 알려주세요.