2022. 1. 24. 12:49ใAmazon Web Service
AWS ๊ณต์ ๋ฌธ์ ๋งํฌ
https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu-monitoring-gpumon.html
Monitor GPUs with CloudWatch - Deep Learning AMI
Monitor GPUs with CloudWatch When you use your DLAMI with a GPU you might find that you are looking for ways to track its usage during training or inference. This can be useful for optimizing your data pipeline, and tuning your deep learning network. A uti
docs.aws.amazon.com
๊ณต์ ๋ฌธ์๊ฐ ๋จ์ ๋ฒ์ญ์ด ๋์ด์๋ค๋ณด๋ ์ฐจ๋ผ๋ฆฌ ์์ด๋ก ๋ณด๋๊ฒ ๋ ์ดํดํ๊ธฐ ํธํ๋ค.
๊ทธ๋๋ ๊ณต์ ๋ฌธ์๋ณด๋ค ๋ธ๋ก๊ทธ์ ๋ ์์ธํ๊ฒ ์ ์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์์ ๊ธฐ๋ก์ ๋จ๊น๋๋ค.
1. IAM ๋ฉ๋ด์ ๋ค์ด๊ฐ์ '์ฌ์ฉ์' ์ถ๊ฐ(์ด๋ฏธ ์๋ค๋ฉด ์ฌ์ฉ์ ์ ํํด์ ํธ์ง๋ง ํ๋ฉด ๋จ)

2. Permission policies์์ '๊ถํ ์ถ๊ฐ'

์ฐ๋ฆฌ์๊ฒ ํ์ํ 'CloudWatchAgentServerPolicy'๋ฅผ ์ถ๊ฐํด์ค๋๋ค.
(์ ๋ ์ด๋ฏธ ์ถ๊ฐ๋์ด ์์ด์ 0๊ฒฐ๊ณผ ํ์๊ฐ ์ ์์ ๋๋ค)

๊ทธ๋ฌ๊ณ ๋์ ์ด์ ์๋ก์ด ์ ์ฑ ์ ์ง์ ๋ง๋ค์ด์ฃผ์ด์ผ ํฉ๋๋ค! ์ด์ ์ฌ๊ธฐ์๋ถํฐ๊ฐ ๊ณต์ ๋ฌธ์์ ๋์ค๋ ๋ด์ฉ์ ๋๋ค.
3. 2๋ฒ ์คํฌ๋ฆฐ์ท์ '๊ถํ ์ถ๊ฐ' ์์ '์ธ๋ผ์ธ ์ ์ฑ ์ถ๊ฐ'๋ฅผ ๋๋ฌ์ค์๋ค
๊ทธ๋ฆฌ๊ณ
์๋น์ค: CloudWatch
์์ : PutMetricData(์ด๊ฑด ์ง์ ๊ฒ์ํด์ผ ๋์ต๋๋ค)

๋ฅผ ์ ํํด ์ค ๋ค,
JSON ํญ์์ ๊ณต์๋ฌธ์๊ฐ ๋ณด์ฌ์ฃผ๋ JSON๊ณผ ๊ฐ์ ๋ด์ฉ๋ค์ด ์ ๋ค์ด๊ฐ๋์ง๋ ํ์ธํด๋ด ๋๋ค.(Allow, *.. ์ ๊ฐ์)
์ด์ ์ ์ฑ ๊ฒํ ๋ฅผ ์งํํฉ๋๋ค.
์ด๋ฆ์๋ ์ด ์ ์ฑ ์ ๋ํ ์ด๋ฆ์ ์จ์ค๊ฑด๋ฐ์, ์ ๋ ์ด ์ ์ฑ ์ด GPU ๋ชจ๋ํฐ๋ง์ ํ์ํ๊ธฐ ๋๋ฌธ์
'cloudwatch_for_GPU_usage'์ด๋ผ๊ณ ๋ถ์ฌ์ฃผ์์ต๋๋ค.
4. ์ด์ ์ธ์คํด์ค ์ฐ๊ฒฐํด์ ์ฝ์์ฐฝ ๋์ฐ๊ธฐ
EC2 ๋ฉ๋ด์์ ์ธ์คํด์ค ์ฐ๊ฒฐ์ ํตํด ssh ์ ์์ ํด๋ด ๋๋ค.
์ด๋ฏธ DeepLearning์ฉ (์ฐ๋ถํฌ/๋ฆฌ๋ ์ค) ec2 ๋ผ๋ฉด ssh ์ ์์ ํ๋ฉด ์ ์ํ ์ ์๋ ๊ฐ์ํ๊ฒฝ ๋ชฉ๋ก์ด ๋์ค๋๋ฐ ๋ณธ์ธ์ด ์ฌ์ฉํ์๋ ๊ฐ์ํ๊ฒฝ์ ๊ผญ activateํ๊ณ ์์ํฉ๋๋ค.


5. cd ~/tools/GPUCloudWatchMonitor ๋ก ์ด๋ํด์ gpumon.py ์๋์ง ํ์ธ
cd ~/tools/GPUCloudWatchMonitor
์ด ์์ README ํ์ผ๊ณผ gpumon.py๊ฐ ์์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ํ์ฌ region์ด ๋ํดํธ๋ก ์ค์ ๋ us-east-1์ด ์๋๋ผ ์์ธ์ด๊ธฐ ๋๋ฌธ์
vi gpumon.py
๋ก ๋ค์ด๊ฐ์

EC2_REGION์ ๋ฐ๊พธ์ด์ค๋๋ค.
๋ฌผ๋ก ๋ณธ์ธ ์ธ์คํด์ค region์ด ์์ธ์ด ์๋๋ผ๋ฉด ๊ทธ ๋ฆฌ์ ์ ๋ง๊ฒ ๋ฐ๊พธ์ด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
ํ๋จ์ myNameSpace๋ storage resolution๋ํ ๋ณ๊ฒฝํ์ค ์ ์์ต๋๋ค.
myNameSpace๋ ๋์ค์ cloudwatch์ ๋ํ๋๋ metrics์ ์ ์ฉ๋๋ ์ด๋ฆ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
6. aws configure๋ก access key์ secret access key ์ ๋ ฅํ๊ธฐ
์ฐ์ access key์ secret access key๊ฐ ์๋์ง ํ์ธํด๋ด ์๋ค.
๋ค์ AWS ์ฝ์์์ IAM ํ์ด์ง๋ก ๋์์ต๋๋ค.

'๋ณด์ ์๊ฒฉ ์ฆ๋ช ' ํญ์ ๋ณด์๋ฉด ์ก์ธ์ค ํค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์ด๋ฏธ ๊ธฐ์กด์ ์ก์ธ์ค ํค๊ฐ ์๊ณ , ์ก์ธ์ค ํค๋ฅผ ์์ฑํ์ค๋ ์ ๊ณต๋๋ csv ํ์ผ(์ด ํ์ผ ์์ secret access key๊ฐ ๋ช ์๋์ด์์. ๋ค์ ๋ค์ด ๋ถ๊ฐ)๋ ์๋ค๋ฉด ์ด ๊ณผ์ ์ ์คํตํ์ ๋ ๋ฉ๋๋ค.
๋ง์ฝ ์๊ฑฐ๋, ์ ์ฅํ์ง ์์๊ฑฐ๋, ๊ธฐ์ต๋์ง ์์ผ์ ๋ค๋ฉด ์ก์ธ์ค ํค๋ฅผ ์๋ก ๋ง๋ค๋ฉด ๋ฉ๋๋ค.
์ก์ธ์ค ํค๋ฅผ ์๋ก ์์ฑํ๊ฒ ๋๋ฉด
csvํ์ผ์ ์ ์ฅํ ์ ์๋๋ฐ, ์ด ํ์ผ์ ์ด์ด๋ณด๋ฉด
access key์ secret access key๊ฐ ์ฃผ์ด์ง๋๋ค.
๊ทธ๋ผ ์ด์ ์ด ๊ฐ๋ค์ ์ ๋ ฅํด๋ด ์๋ค.

aws configure
๋ฅผ ์ ๋ ฅํ๋ฉด
์์ ๊ฐ์ด Access key, Secret Acess Key๋ฅผ ๋ฌผ์ด๋ณด๋ ์ ๋ ฅ ํด์ฃผ๋ฉด ๋ฉ๋๋ค.
๋ฆฌ์ ์ด๋ฆ์ด๋ ouput format์ ๊ทธ๋ฅ ๋น์นธ์ผ๋ก ๋๊ณ ์ํฐ ์น์๋ฉด ๋ฉ๋๋ค.
7. ์ด์ gpumon.py ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ!
python3 gpumon.py &
๋ฅผ ์ ๋ ฅํด ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋์๊ฐ ์ ์๊ฒ ํด์ค๋๋ค.
์๋ฌ๊ฐ ๋์ง ์๊ณ

์ด๋ฐ ๊ฒฐ๊ณผ๊ฐ ๋์๋ค๋ฉด ์ฑ๊ณต์ ๋๋ค.
8. CloudWatch > ์งํ > ๋ชจ๋ ์งํ > DeepLearningTrain ์ ํ

๊ทธ๋ผ ์ด์ GPU ์ฌ์ฉ๋, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ์จ๋ ๋ฑ์ ํ๋์ ๊ทธ๋ํ๋ก ํ์ธํ ์ ์์ต๋๋ค.

๋ ~!
'Amazon Web Service' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
AWS์ ๊ด๋ จํ ๋คํธ์ํฌ ๊ธฐ์ด ์ง์ (0) | 2022.06.26 |
---|---|
AWS ์์ํ๊ธฐ - ๊ธฐ๋ณธ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ (0) | 2022.04.03 |