[PyTorch] ๐Ÿ’ป ๋งฅ๋ถ ์—์–ด M1์นฉ์—์„œ GPU ์‚ฌ์šฉํ•˜๊ธฐ(MPS ์žฅ์น˜ ํ™œ์šฉ) for ๋จธ์‹ ๋Ÿฌ๋‹ ํ•™์Šต

์ง€์ˆ˜ํ† ๋ฆฌยท2023๋…„ 6์›” 1์ผ
4

๋จธ์‹ ๋Ÿฌ๋‹

๋ชฉ๋ก ๋ณด๊ธฐ
1/6
post-thumbnail

๐ŸŒ™ ๊ฐœ์š”

  • ์ž‘๋…„ ์ดˆ์— Pytorch๋ฅผ ์ด์šฉํ•ด ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ฌ ๋•Œ ๊ฒช์—ˆ๋˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ํ•„์ž๋Š” macOS intel์นฉ ๋ฐ์Šคํฌํ†ฑ๊ณผ macOS m1์นฉ ๋งฅ๋ถ ์—์–ด ์œ ์ €์˜€๋Š”๋ฐ, ์—”๋น„๋””์•„์—์„œ macOS์— ๋Œ€ํ•œ cuda์ง€์›์„ ์ค‘๋‹จํ•ด์„œ, GPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. ์—”๋น„๋””์•„ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๊ฐ€ ํƒ‘์žฌ๋œ ์ปดํ“จํ„ฐ๋‚˜ ๋…ธํŠธ๋ถ์ด ์•„๋‹ˆ๋ฉด GPU ์‚ฌ์šฉ์ด ์–ด๋ ค์› ๋˜ ๊ฒƒ์ด๋‹ค.

  • 2022๋…„ 7์›” ์ดˆ Pytorch ๊นƒํ—™์—์„œ Pytorch 1.12๋ฅผ ๋ฆด๋ฆฌ์ฆˆ ํ•จ์— ๋”ฐ๋ผ ์• ํ”Œ ์‹ค๋ฆฌ์ฝ˜(M1, M2) ์นฉ์ด ํƒ‘์žฌ๋œ ๋งฅ๋ถ์—์„œ GPU ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค !!

  • ๋ฐฉ๋ฒ•์€ MPS ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GPU๋ฅผ ๊ฐ€์†ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. MPS ๊ฐ€์†์€ ๋งฅ OS 12.3 ์ด์ƒ์—์„œ ์ง€์›๋˜๊ธฐ ๋•Œ๋ฌธ์— " ๋ชฌํ„ฐ๋ ˆ์ด 12.3 ๋ฒ„์ „ ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ›„ " gpu๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

๐ŸŒ™ GPU ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

macOS์—์„œ pytorch๋กœ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ฌ ๋•Œ, GPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

1. PyTorch ์„ค์น˜

# conda ์ด์šฉ pytorch ์ตœ์‹  ๋ฒ„์ „ ์„ค์น˜
conda install -c pytorch pytorch
 
# pip ์ด์šฉ ์„ค์น˜
python -m pip install torch

์ด๋ฏธ ์„ค์น˜๋˜์–ด์žˆ๋‹ค๋ฉด, ๋ฒ„์ „์ด 1.12.0 ์ด์ƒ์ธ์ง€ ํ™•์ธํ•œ๋‹ค.

2. mps๊ฐ€ ํ˜„์žฌ ํ™˜๊ฒฝ์—์„œ ์ง€์›๋˜๋Š”์ง€ ํ™•์ธ

import torch
print(f"MPS ์žฅ์น˜๋ฅผ ์ง€์›ํ•˜๋„๋ก build๊ฐ€ ๋˜์—ˆ๋Š”๊ฐ€? {torch.backends.mps.is_built()}")
print(f"MPS ์žฅ์น˜๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ๊ฐ€? {torch.backends.mps.is_available()}") 

์œ„์ฒ˜๋Ÿผ True๋กœ ์ถœ๋ ฅ์ด ๋˜์–ด์•ผํ•œ๋‹ค.

3. torch์˜ ๋ฐฑ์—”๋“œ๋ฅผ mps๋กœ ์„ค์ •

device = torch.device("mps")

4. mps ์ž‘๋™ ์—ฌ๋ถ€ ํ™•์ธํ•˜๊ธฐ

ํŒŒ์ผ์„ ์ž‘๋™์‹œํ‚ฌ ๊ฒฝ์šฐ, โ€˜ํ™œ์„ฑ์ƒํƒœ๋ณด๊ธฐโ€™์—์„œ Python์ด ์ฐจ์ง€ํ•˜๋Š” GPU ํ™œ์šฉ ๋น„์œจ์ด ๊ธ‰๊ฒฉํžˆ ์ƒ์Šนํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


์ฐธ๊ณ ํ•œ ์‚ฌ์ดํŠธ

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2023๋…„ 9์›” 15์ผ

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ