AzureML์์ YOLO26 ๐ ์ฌ์ฉํ๊ธฐ#
Azure๋ ๋ฌด์์ธ๊ฐ์?#
Azure๋ ์กฐ์ง์ด ์จํ๋ ๋ฏธ์ค ๋ฐ์ดํฐ ์ผํฐ์์ ํด๋ผ์ฐ๋๋ก ์ํฌ๋ก๋๋ฅผ ์ด์ ํ ์ ์๋๋ก ์ง์ํ๋ Microsoft์ ํด๋ผ์ฐ๋ ์ปดํจํ ํ๋ซํผ์ ๋๋ค. ์ปดํจํ , ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ถ์, ๋จธ์ ๋ฌ๋, ๋คํธ์ํน์ ๋น๋กฏํ ๊ด๋ฒ์ํ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ฌ์ฉ์๋ ์ด๋ฌํ ์๋น์ค๋ฅผ ์ ํํ์ฌ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ํ์ฅํ๊ฑฐ๋ ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์ ์ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋์์ ์คํํ ์ ์์ต๋๋ค.
Azure Machine Learning(AzureML)์ด๋ ๋ฌด์์ธ๊ฐ์?#
Azure Machine Learning(AzureML)์ ๋๊ท๋ชจ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๊ตฌ์ถํ๊ณ , ํ์ต์ํค๊ณ , ๋ฐฐํฌํ๊ธฐ ์ํ ์์ ๊ด๋ฆฌํ ํด๋ผ์ฐ๋ ์๋น์ค์ ๋๋ค. ์๋ํ๋ ๋จธ์ ๋ฌ๋, ๋๋๊ทธ ์ค ๋๋กญ ๋ฐฉ์์ ๋ชจ๋ธ ํ์ต, ๋ชจ๋ธ์ ์์ ํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์ ์ดํ ์ ์๋ Python SDK๋ฅผ ์ ๊ณตํฉ๋๋ค.
AzureML์ YOLO ์ฌ์ฉ์์๊ฒ ์ด๋ค ์ด์ ์ ์ ๊ณตํ๋์?#
AzureML์ ์ฌ์ฉํ๋ฉด ๊ฐ๋จํ ํ๋กํ ํ์ ๋ถํฐ ๋๊ท๋ชจ ์คํ๊น์ง ํด๋ผ์ฐ๋์์ Ultralytics YOLO26 ๋ชจ๋ธ์ ํ์ตํ๊ณ ๋ฐฐํฌํ ์ ์์ต๋๋ค. AzureML์ ์ฌ์ฉํ๋ฉด ๋ค์ ์์ ์ ์ํํ ์ ์์ต๋๋ค:
- ํ์ต์ ํ์ํ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ๊ณผ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ์์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ, ํน์ง ์ ํ, ๋ชจ๋ธ ํ์ต์ ์ํ ๊ธฐ๋ณธ ์ ๊ณต ๋๊ตฌ๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
- ๋ชจ๋ธ๊ณผ ๋ฐ์ดํฐ์ ๋ชจ๋ํฐ๋ง, ๊ฐ์ฌ, ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋น๋กฏํ MLOps(๋จธ์ ๋ฌ๋ ์ด์) ๊ธฐ๋ฅ์ ํตํด ๋์ฑ ํจ์จ์ ์ผ๋ก ํ์ ํ ์ ์์ต๋๋ค.
๋ค์ ์น์ ์์๋ ์ปดํจํ ํฐ๋ฏธ๋ ๋๋ ๋ ธํธ๋ถ์์ AzureML์ ์ฌ์ฉํ์ฌ YOLO26 ๊ฐ์ฒด ๊ฐ์ง ๋ชจ๋ธ์ ์คํํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ ๋น ๋ฅธ ์์ ๊ฐ์ด๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ฌ์ ์๊ตฌ ์ฌํญ#
์์ํ๊ธฐ ์ ์ AzureML ์์ ์์ญ์ ์ก์ธ์คํ ์ ์๋์ง ํ์ธํ์ธ์. ์์ ์์ญ์ด ์๋ค๋ฉด Azure์ ๊ณต์ ๋ฌธ์๋ฅผ ๋ฐ๋ผ ์ AzureML ์์ ์์ญ์ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ์์ ์์ญ์ ๋ชจ๋ AzureML ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๋ ์ค์ ๊ณต๊ฐ์ ๋๋ค.
์ปดํจํ ์ธ์คํด์ค ๋ง๋ค๊ธฐ#
AzureML ์์ ์์ญ์์ Compute > Compute instances > New๋ฅผ ์ ํํ ๋ค์ ํ์ํ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ถ ์ธ์คํด์ค๋ฅผ ์ ํํ์ธ์.
ํฐ๋ฏธ๋์์ ๋น ๋ฅธ ์์ํ๊ธฐ#
์ปดํจํ ์ธ์คํด์ค๋ฅผ ์์ํ๊ณ ํฐ๋ฏธ๋์ ์ฌ์ธ์:
๊ฐ์ ํ๊ฒฝ ๋ง๋ค๊ธฐ#
conda ๊ฐ์ ํ๊ฒฝ์ ๋ง๋ค๊ณ ํด๋น ํ๊ฒฝ์ pip๋ฅผ ์ค์นํ์ธ์:
conda create --name yolo26env -y python=3.12
conda activate yolo26env
conda install pip -yํ์ฌ AzureML์์ Python 3.13์ ์ข ์์ฑ ๋ฌธ์ ๊ฐ ์์ผ๋ฏ๋ก ๋์ Python 3.12๋ฅผ ์ฌ์ฉํ์ธ์.
ํ์ ์ข ์์ฑ์ ์ค์นํ์ธ์:
pip install ultralytics onnxYOLO26 ์์ ์ํํ๊ธฐ#
yolo predict model=yolo26n.pt source='https://ultralytics.com/images/bus.jpg'10 ์ํญ ๋์ ๊ฐ์ง ๋ชจ๋ธ์ ํ์ตํฉ๋๋ค:
yolo train data=coco8.yaml model=yolo26n.pt epochs=10Ultralytics CLI ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๊ดํ ์์ธํ ์ง์นจ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ ์์ต๋๋ค.
๋ ธํธ๋ถ์์ ๋น ๋ฅธ ์์ํ๊ธฐ#
์ IPython ์ปค๋ ๋ง๋ค๊ธฐ#
์ปดํจํ ํฐ๋ฏธ๋์ ์ฌ์ธ์.
์ปดํจํ ํฐ๋ฏธ๋์์ Python 3.12๋ฅผ ์ฌ์ฉํ๋ ์ ipykernel์ ๋ง๋์ธ์. ์ด ์ปค๋์ ๋ ธํธ๋ถ์์ ์ข ์์ฑ์ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค:
conda create --name yolo26env -y python=3.12
conda activate yolo26env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolo26env --display-name "yolo26env"ํฐ๋ฏธ๋์ ๋ซ๊ณ ์ ๋ ธํธ๋ถ์ ๋ง๋์ธ์. ๋ ธํธ๋ถ์์ ๋ฐฉ๊ธ ๋ง๋ ์ปค๋์ ์ ํํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ๋ ธํธ๋ถ ์ ์ ์ด๊ณ ํ์ ์ข ์์ฑ์ ์ค์นํ์ธ์:
%%bash
source activate yolo26env
pip install ultralytics onnx๊ฐ %%bash ์
์ ๋งจ ์์์ source activate yolo26env์ ์คํํ์ฌ ํด๋น ์
์ด ์ง์ ๋ ํ๊ฒฝ์ ์ฌ์ฉํ๋๋ก ํ์ธ์.
Ultralytics CLI๋ฅผ ์ฌ์ฉํ์ฌ ์์ธก์ ์คํํ์ธ์:
%%bash
source activate yolo26env
yolo predict model=yolo26n.pt source='https://ultralytics.com/images/bus.jpg'๋๋ Ultralytics Python ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ํ์ตํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
from ultralytics import YOLO
# ๋ชจ๋ธ ๋ก๋
model = YOLO("yolo26n.pt") # ๊ณต์ YOLO26n ๋ชจ๋ธ ๋ก๋
# ๋ชจ๋ธ ์ฌ์ฉ
model.train(data="coco8.yaml", epochs=3) # ๋ชจ๋ธ ํ์ต
metrics = model.val() # ๊ฒ์ฆ ์ธํธ์์ ๋ชจ๋ธ ์ฑ๋ฅ ํ๊ฐ
results = model("https://ultralytics.com/images/bus.jpg") # ์ด๋ฏธ์ง์ ๋ํด ์์ธก์ ์ํํฉ๋๋ค
path = model.export(format="onnx") # ๋ชจ๋ธ์ ONNX ํ์์ผ๋ก ๋ด๋ณด๋ด๊ธฐUltralytics CLI ๋๋ Python ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ YOLO26 ์์ ์ ์คํํ ์ ์์ต๋๋ค. ์ Python ์์ ์์๋ ๋ฐฐํฌ๋ฅผ ์ํด ํ์ต๋ ๋ชจ๋ธ๋ ONNX ํ์์ผ๋ก ๋ด๋ณด๋ ๋๋ค.
์ด ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด๋ฉด AzureML์์ YOLO26์ ๋น ๋ฅด๊ฒ ์คํํ ์ ์์ต๋๋ค. ๊ณ ๊ธ ์ํฌํ๋ก์ ๋ํด์๋ AzureML ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
AzureML ๋ ์์๋ณด๊ธฐ#
์ด ๊ฐ์ด๋์์๋ AzureML์์ YOLO26์ ์คํํ๋ ๊ธฐ๋ณธ ์ฌํญ์ ๋ค๋ฃน๋๋ค. ๋ ์์ธํ ์์๋ณด๋ ค๋ฉด ๋ค์ ์๋ฃ๋ฅผ ์ดํด๋ณด์ธ์:
- ๋ฐ์ดํฐ ์์ฐ ๋ง๋ค๊ธฐ: AzureML ํ๊ฒฝ์์ ๋ฐ์ดํฐ ์์ฐ์ ์ค์ ํ๊ณ ๊ด๋ฆฌํฉ๋๋ค.
- AzureML ์์ ์์ํ๊ธฐ: AzureML์์ ๋จธ์ ๋ฌ๋ ํ์ต ์์ ์ ์์ํฉ๋๋ค.
- ๋ชจ๋ธ ๋ฑ๋กํ๊ธฐ: ๋ชจ๋ธ ๋ฑ๋ก, ๋ฒ์ ๊ด๋ฆฌ, ๋ฐฐํฌ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- Modal ๋น ๋ฅธ ์์: AzureML์ ๋์์ผ๋ก Modal์ ์๋ฒ๋ฆฌ์ค GPU ํด๋ผ์ฐ๋์์ YOLO26์ ์คํํฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ#
ํ์ต์ ์ํด AzureML์์ YOLO26์ ์คํํ๋ ค๋ฉด ์ปดํจํ ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ , Conda ํ๊ฒฝ์ ์ค์ ํ๊ณ , Ultralytics๋ฅผ ์ค์นํ ๋ค์ ํ์ต ๋ช ๋ น์ ์คํํ์ธ์:
-
์ปดํจํ ์ธ์คํด์ค ๋ง๋ค๊ธฐ: AzureML ์์ ์์ญ์์ Compute > Compute instances > New๋ก ์ด๋ํ ๋ค์ ํ์ํ ์ธ์คํด์ค๋ฅผ ์ ํํ์ธ์.
-
ํ๊ฒฝ ์ค์ : ์ปดํจํ ์ธ์คํด์ค๋ฅผ ์์ํ๊ณ ํฐ๋ฏธ๋์ ์ฐ ๋ค์, Python 3.12๋ฅผ ์ฌ์ฉํ๋ Conda ํ๊ฒฝ์ ์์ฑํฉ๋๋ค(AzureML์์๋ ํ์ฌ Python 3.13์ ์ข ์์ฑ ๋ฌธ์ ๊ฐ ์์ต๋๋ค):
conda create --name yolo26env -y python=3.12 conda activate yolo26env conda install pip -y pip install ultralytics onnx -
YOLO26 ์์ ์คํ: Ultralytics CLI๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ํ์ตํฉ๋๋ค:
yolo train data=coco8.yaml model=yolo26n.pt epochs=10
์์ธํ ๋ด์ฉ์ Ultralytics CLI ์ฌ์ฉ ์ง์นจ์ ์ฐธ์กฐํ์ธ์.
-
AzureML์ YOLO26 ๋ชจ๋ธ ํ์ต์ ์ํ ์์ ์ ์ด๊ณ ํจ์จ์ ์ธ ์ํ๊ณ๋ฅผ ์ ๊ณตํฉ๋๋ค:
- ํ์ฅ์ฑ: ๋ฐ์ดํฐ์ ๋ชจ๋ธ์ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ๊ฐํธํ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค.
- MLOps ํตํฉ: ๋ฒ์ ๊ด๋ฆฌ, ๋ชจ๋ํฐ๋ง, ๊ฐ์ฌ์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ML ์ด์์ ๊ฐ์ํํ ์ ์์ต๋๋ค.
- ํ์ : ํ ๋ด์์ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๊ณ ๊ด๋ฆฌํ์ฌ ํ์ ์ํฌํ๋ก๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ฅ์ ๋๋ถ์ AzureML์ ๋น ๋ฅธ ํ๋กํ ํ์ ๋ถํฐ ๋๊ท๋ชจ ๋ฐฐํฌ์ ์ด๋ฅด๋ ๋ค์ํ ํ๋ก์ ํธ์ ์ด์์ ์ธ ํ๋ซํผ์ ๋๋ค. ๋ ๋ง์ ํ์ AzureML Jobs๋ฅผ ํ์ธํ์ธ์.
AzureML์์ YOLO26 ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ข ์์ฑ์ด ์ค์น๋์ด ์๋์ง ํ์ธํ๊ณ , Conda ํ๊ฒฝ์ด ํ์ฑํ๋์๋์ง ํ์ธํ๋ฉฐ, ์ปดํจํ ์ธ์คํด์ค์ ์ถฉ๋ถํ ๋ฆฌ์์ค๊ฐ ์๋์ง ํ์ธํ์ธ์:
- ์ข
์์ฑ ๋ฌธ์ :
pip install ultralytics onnx์ ์ฌ์ฉํ์ฌ ํ์ํ ๋ชจ๋ ํจํค์ง๊ฐ ์ค์น๋์๋์ง ํ์ธํฉ๋๋ค. - ํ๊ฒฝ ์ค์ : ๋ช ๋ น์ ์คํํ๊ธฐ ์ ์ Conda ํ๊ฒฝ์ด ์ฌ๋ฐ๋ฅด๊ฒ ํ์ฑํ๋์๋์ง ํ์ธํฉ๋๋ค.
- ๋ฆฌ์์ค ํ ๋น: ์ปดํจํ ์ธ์คํด์ค์ ํ์ต ์์ ์ ์ฒ๋ฆฌํ ์ถฉ๋ถํ ๋ฆฌ์์ค๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.
์ถ๊ฐ ์ง์นจ์ YOLO ์ผ๋ฐ ๋ฌธ์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
- ์ข
์์ฑ ๋ฌธ์ :
์, AzureML์์๋ Ultralytics CLI์ Python ์ธํฐํ์ด์ค๋ฅผ ๋ชจ๋ ์ํํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค:
-
CLI: ํฐ๋ฏธ๋์์ ํ์ค ์คํฌ๋ฆฝํธ๋ฅผ ์ง์ ์คํํ๋ ๋น ๋ฅธ ์์ ์ ์ ํฉํฉ๋๋ค.
yolo predict model=yolo26n.pt source='https://ultralytics.com/images/bus.jpg' -
Python ์ธํฐํ์ด์ค: ๋ ธํธ๋ถ์์ ์ฌ์ฉ์ ์ง์ ์ฝ๋์ ํตํฉ์ด ํ์ํ ๋ณต์กํ ์์ ์ ์ ์ฉํฉ๋๋ค.
from ultralytics import YOLO model = YOLO("yolo26n.pt") model.train(data="coco8.yaml", epochs=3)
๋จ๊ณ๋ณ ์ง์นจ์ CLI ๋น ๋ฅธ ์์ ๊ฐ์ด๋์ Python ๋น ๋ฅธ ์์ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.
-
Ultralytics YOLO26์ ๊ฒฝ์ ๊ฐ์ฒด ๊ฐ์ง ๋ชจ๋ธ๊ณผ ๋น๊ตํด ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ๊ณ ์ ํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค:
- ์๋: Faster R-CNN ๋ฐ SSD์ ๊ฐ์ ๋ชจ๋ธ์ ๋นํด ์ถ๋ก ๊ณผ ํ์ต ์๊ฐ์ด ๋ ๋น ๋ฆ ๋๋ค.
- ์ ํ๋: ์ต์ปค ํ๋ฆฌ ์ค๊ณ์ ๊ฐ์ ๋ ์ฆ๊ฐ ์ ๋ต ๋ฑ์ ๊ธฐ๋ฅ์ ํตํด ๊ฐ์ง ์์ ์์ ๋์ ์ ํ๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฌ์ฉ ํธ์์ฑ: ์ง๊ด์ ์ธ API์ CLI๋ฅผ ํตํด ๋น ๋ฅด๊ฒ ์ค์ ํ ์ ์์ด ์ด๋ณด์์ ์ ๋ฌธ๊ฐ ๋ชจ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
YOLO26 ๊ธฐ๋ฅ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฌ์ธต์ ์ธ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ Ultralytics YOLO ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ์ธ์.