Skip to content

Commit cfb8eec

Browse files
committed
update translation ddp_pipeline.py
1 parent cedfd58 commit cfb8eec

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

β€Žadvanced_source/ddp_pipeline.pyβ€Ž

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
88
이 νŠœν† λ¦¬μ–Όμ€ `λΆ„μ‚° 데이터 λ³‘λ ¬μ²˜λ¦¬(Distributed Data Parallel) <https://pytorch.org/docs/stable/generated/torch.nn.parallel.DistributedDataParallel.html>`__ 와
99
`병렬 처리 νŒŒμ΄ν”„λΌμΈ <https://pytorch.org/docs/stable/pipeline.html>`__
10-
λ₯Ό μ‚¬μš©ν•˜μ—¬ μ—¬λŸ¬ GPU에 걸친 κ±°λŒ€ν•œ 트랜슀포머(transformer) λͺ¨λΈμ„ μ–΄λ–»κ²Œ ν•™μŠ΅μ‹œν‚€λŠ”μ§€ λ³΄μ—¬μ€λ‹ˆλ‹€.
11-
이번 νŠœν† λ¦¬μ–Όμ€ `NN.TRANSFORMER 와 TORCHTEXT 둜 μ‹œν€€μŠ€-투-μ‹œν€€μŠ€(SEQUENCE-TO-SEQUENCE) λͺ¨λΈλ§ν•˜κΈ° <https://tutorials.pytorch.kr/beginner/transformer_tutorial.html>`__ 의
12-
ν™•μž₯판이며 λΆ„μ‚° 데이터 병렬 μ²˜λ¦¬μ™€ 병렬 처리 νŒŒμ΄ν”„λΌμΈμ΄ μ–΄λ–»κ²Œ 트랜슀포머 λͺ¨λΈ ν•™μŠ΅μ— μ“°μ΄λŠ”μ§€ 증λͺ…ν•˜κΈ° μœ„ν•΄ 이전 νŠœν† λ¦¬μ–Όμ—μ„œμ˜
10+
λ₯Ό μ‚¬μš©ν•˜μ—¬ μ—¬λŸ¬ GPU에 걸친 κ±°λŒ€ν•œ 트랜슀포머(Transformer) λͺ¨λΈμ„ μ–΄λ–»κ²Œ ν•™μŠ΅μ‹œν‚€λŠ”μ§€ λ³΄μ—¬μ€λ‹ˆλ‹€.
11+
이번 νŠœν† λ¦¬μ–Όμ€ `nn.Transformer 와 TorchText 둜 μ‹œν€€μŠ€-투-μ‹œν€€μŠ€(Sequence-to-Sequence) λͺ¨λΈλ§ν•˜κΈ° <https://tutorials.pytorch.kr/beginner/transformer_tutorial.html>`__ 의
12+
ν™•μž₯판이며 λΆ„μ‚° 데이터 병렬 μ²˜λ¦¬μ™€ 병렬 처리 νŒŒμ΄ν”„λΌμΈμ΄ μ–΄λ–»κ²Œ 트랜슀포머 λͺ¨λΈ ν•™μŠ΅μ— μ“°μ΄λŠ”μ§€ 보여주기 μœ„ν•΄ 이전 νŠœν† λ¦¬μ–Όμ—μ„œμ˜
1313
λͺ¨λΈ 규λͺ¨λ₯Ό μ¦κ°€μ‹œμΌ°μŠ΅λ‹ˆλ‹€.
1414
1515
μ„ μˆ˜κ³Όλͺ©(Prerequisites):
1616
1717
* `Pipeline Parallelism <https://pytorch.org/docs/stable/pipeline.html>`__
18-
* `NN.TRANSFORMER 와 TORCHTEXT 둜 μ‹œν€€μŠ€-투-μ‹œν€€μŠ€(SEQUENCE-TO-SEQUENCE) λͺ¨λΈλ§ν•˜κΈ° <https://tutorials.pytorch.kr/beginner/transformer_tutorial.html>`__
18+
* `nn.Transformer 와 TorchText 둜 μ‹œν€€μŠ€-투-μ‹œν€€μŠ€(Sequence-to-Sequence) λͺ¨λΈλ§ν•˜κΈ° <https://tutorials.pytorch.kr/beginner/transformer_tutorial.html>`__
1919
* `λΆ„μ‚° 데이터 병렬 처리 μ‹œμž‘ν•˜κΈ° <https://tutorials.pytorch.kr/intermediate/ddp_tutorial.html>`__
2020
"""
2121

@@ -29,7 +29,7 @@
2929
# ``PositionalEncoding`` λͺ¨λ“ˆμ€ μ‹œν€€μŠ€μ—μ„œ ν† ν°μ˜ μƒλŒ€μ , μ ˆλŒ€μ  μœ„μΉ˜μ— λŒ€ν•œ
3030
# λͺ‡λͺ‡ 정보λ₯Ό μ£Όμž…ν•©λ‹ˆλ‹€.
3131
# μœ„μΉ˜ 인코딩은 μž„λ² λ”©κ³Ό 같은 차원을 κ°€μ§€λ―€λ‘œ
32-
# λ‘˜μ„ ν•©μΉ  수 μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ, μ£ΌνŒŒμˆ˜κ°€ λ‹€λ₯Έ ``sine`` κ³Ό ``cosine`` κΈ°λŠ₯을
32+
# λ‘˜μ„ ν•©μΉ  수 μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ, μ£ΌνŒŒμˆ˜κ°€ λ‹€λ₯Έ ``sine`` κ³Ό ``cosine`` ν•¨μˆ˜λ₯Ό
3333
# μ‚¬μš©ν•©λ‹ˆλ‹€.
3434

3535
import sys
@@ -63,11 +63,11 @@ def forward(self, x):
6363
######################################################################
6464
# 이번 νŠœν† λ¦¬μ–Όμ—μ„œλŠ”, 트랜슀포머 λͺ¨λΈμ„ 두 개의 GPU에 κ±Έμ³μ„œ λ‚˜λˆ„κ³ 
6565
# 병렬 처리 νŒŒμ΄ν”„λΌμΈμœΌλ‘œ ν•™μŠ΅μ‹œμΌœ λ³΄κ² μŠ΅λ‹ˆλ‹€. μΆ”κ°€λ‘œ,
66-
# `λΆ„μ‚° 데이터 λ³‘λŸ΄ 처리 <https://pytorch.org/docs/stable/generated/torch.nn.parallel.DistributedDataParallel.html>`__
66+
# `λΆ„μ‚° 데이터 병렬 처리 <https://pytorch.org/docs/stable/generated/torch.nn.parallel.DistributedDataParallel.html>`__
6767
# λ₯Ό μ‚¬μš©ν•˜μ—¬ 이 νŒŒμ΄ν”„λΌμΈμ˜ 두 볡제λ₯Ό ν›ˆλ ¨μ‹œν‚΅λ‹ˆλ‹€. ν•œ ν”„λ‘œμ„ΈμŠ€λŠ”
6868
# GPUs 0, 1에 거쳐 νŒŒμ΄ν”„λ₯Ό κ΅¬λ™ν•˜κ³  λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€λŠ” GPUs 2, 3μ—μ„œ νŒŒμ΄ν”„λ₯Ό κ΅¬λ™ν•©λ‹ˆλ‹€. κ·Έ λ‹€μŒ, 이 두
6969
# ν”„λ‘œμ„ΈμŠ€λŠ” λΆ„μ‚° 데이터 λ³‘λ ¬μ²˜λ¦¬λ‘œ 두 볡제본(replica)을 ν•™μŠ΅μ‹œν‚΅λ‹ˆλ‹€.
70-
# λͺ¨λΈμ€ λ°”λ‘œ `NN.TRANSFORMER 와 TORCHTEXT 둜 μ‹œν€€μŠ€-투-μ‹œν€€μŠ€(SEQUENCE-TO-SEQUENCE) λͺ¨λΈλ§ν•˜κΈ°
70+
# λͺ¨λΈμ€ λ°”λ‘œ `nn.Transformer 와 TorchText 둜 μ‹œν€€μŠ€-투-μ‹œν€€μŠ€(Sequence-to-Sequence) λͺ¨λΈλ§ν•˜κΈ°
7171
# <https://tutorials.pytorch.kr/beginner/transformer_tutorial.html>`__ νŠœν† λ¦¬μ–Όκ³Ό
7272
# λ˜‘κ°™μ€ λͺ¨λΈμ΄μ§€λ§Œ 두 λ‹¨κ³„λ‘œ λ‚˜λ‰©λ‹ˆλ‹€. λŒ€λΆ€λΆ„ νŒŒλΌλ―Έν„°(parameter)듀은
7373
# `nn.TransformerEncoder <https://pytorch.org/docs/stable/generated/torch.nn.TransformerEncoder.html>`__ 계측(layer)에 ν¬ν•¨λ©λ‹ˆλ‹€.
@@ -127,7 +127,7 @@ def forward(self, inp):
127127

128128

129129
######################################################################
130-
# 각자 두 개의 GPUμ—μ„œ 자체 νŒŒμ΄ν”„λΌμΈμ„ κ΅¬λ™ν•˜λŠ” 두 κ°€μ§€ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€.
130+
# 각각 두 개의 GPUμ—μ„œ 자체 νŒŒμ΄ν”„λΌμΈμ„ κ΅¬λ™ν•˜λŠ” 두 개의 ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€.
131131
# ``run_worker`` λŠ” 각 ν”„λ‘œμ„ΈμŠ€μ— μ‹€ν–‰λ©λ‹ˆλ‹€.
132132

133133
def run_worker(rank, world_size):
@@ -244,15 +244,15 @@ def get_batch(source, i):
244244

245245

246246
######################################################################
247-
# 병렬 처리 νŒŒμ΄ν”„λΌμΈμ„ ν™œμš©ν•œ λŒ€ν˜• 트랜슀포머 λͺ¨λΈ ν•™μŠ΅μ„ 증λͺ…ν•˜κΈ° μœ„ν•΄,
247+
# 병렬 처리 νŒŒμ΄ν”„λΌμΈμ„ ν™œμš©ν•œ λŒ€ν˜• 트랜슀포머 λͺ¨λΈ ν•™μŠ΅μ„ 보이기 μœ„ν•΄,
248248
# 트랜슀포머 계측 규λͺ¨λ₯Ό 적절히 ν™•μž₯μ‹œν‚΅λ‹ˆλ‹€.
249249
# 4096μ°¨μ›μ˜ μž„λ² λ”© 벑터, 4096의 은닉 μ‚¬μ΄μ¦ˆ, 16개의 μ–΄ν…μ…˜ ν—€λ“œ(attention head)와 총 8 개의
250250
# 트랜슀포머 계측 (``nn.TransformerEncoderLayer``)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ΄λŠ” μ΅œλŒ€
251251
# **~1 μ–΅** 개의 νŒŒλΌλ―Έν„°λ₯Ό κ°–λŠ” λͺ¨λΈμ„ μƒμ„±ν•©λ‹ˆλ‹€.
252252
#
253253
# `RPC ν”„λ ˆμž„μ›Œν¬ <https://pytorch.org/docs/stable/rpc.html>`__ λ₯Ό μ΄ˆκΈ°ν™”ν•΄μ•Ό ν•©λ‹ˆλ‹€.
254-
# PipeλŠ” `RRef <https://pytorch.org/docs/stable/rpc.html#rref>`__ λ₯Ό 톡해 RPC ν”„λ ˆμž„μ›Œν¬μ— μ˜μ‘΄ν•˜λŠ”λ°
255-
# μ΄λŠ” ν–₯ν›„ 호슀트 νŒŒμ΄ν”„λΌμΈμ„ ꡐ차 ν™•μž₯ν•  수 μžˆλ„λ‘ ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.
254+
# Pipeκ°€ ν–₯ν›„ 호슀트 νŒŒμ΄ν”„λΌμΈμ„ ꡐ차 ν™•μž₯ν•  수 μžˆλ„λ‘ ν•˜λŠ” `RRef <https://pytorch.org/docs/stable/rpc.html#rref>`__ λ₯Ό 톡해
255+
# RPC ν”„λ ˆμž„μ›Œν¬μ— μ˜μ‘΄ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.
256256
# μ΄λ•Œ RPC ν”„λ ˆμž„μ›Œν¬λŠ” 였직 ν•˜λ‚˜μ˜ ν•˜λ‚˜μ˜ worker둜 μ΄ˆκΈ°ν™”λ₯Ό ν•΄μ•Ό ν•˜λŠ”λ°,
257257
# μ—¬λŸ¬ GPUλ₯Ό 닀루기 μœ„ν•΄ ν”„λ‘œμ„ΈμŠ€ ν•˜λ‚˜λ§Œ μ‚¬μš©ν•˜κ³  있기 λ•Œλ¬Έμž…λ‹ˆλ‹€.
258258
#

0 commit comments

Comments
Β (0)