AzureML์์์ YOLO26 ๐#
Azure๋ ๋ฌด์์ธ๊ฐ์?#
Azure๋ ์กฐ์ง์ด ์จํ๋ ๋ฏธ์ค ๋ฐ์ดํฐ ์ผํฐ์์ ํด๋ผ์ฐ๋๋ก ์ํฌ๋ก๋๋ฅผ ์ด์ ํ ์ ์๋๋ก ์ง์ํ๊ธฐ ์ํด ์ค๊ณ๋ Microsoft์ ํด๋ผ์ฐ๋ ์ปดํจํ ํ๋ซํผ์ ๋๋ค. ์ปดํจํ , ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ถ์, ๋จธ์ ๋ฌ๋, ๋คํธ์ํน์ ํฌํจํ ๊ด๋ฒ์ํ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ํตํด ์ฌ์ฉ์๋ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋์์ ์ด๋ฌํ ์๋น์ค๋ฅผ ์ ํ์ ์ผ๋ก ํ์ฉํ์ฌ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ ๋ฐ ํ์ฅํ๊ฑฐ๋ ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์ ์์ต๋๋ค.
Azure Machine Learning(AzureML)์ด๋ ๋ฌด์์ธ๊ฐ์?#
Azure Machine Learning(AzureML)์ ๋๊ท๋ชจ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๊ตฌ์ถ, ํ์ต ๋ฐ ๋ฐฐํฌํ๊ธฐ ์ํ ์์ ๊ด๋ฆฌํ ํด๋ผ์ฐ๋ ์๋น์ค์ ๋๋ค. ์ด ์๋น์ค๋ ์๋ํ๋ ๋จธ์ ๋ฌ๋, ๋๋๊ทธ ์ค ๋๋กญ ๋ฐฉ์์ ๋ชจ๋ธ ํ์ต, ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ธ์ ์๋ฒฝํ๊ฒ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์ ์ดํ ์ ์๋ Python SDK๋ฅผ ์ ๊ณตํฉ๋๋ค.
AzureML์ด YOLO ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ์ด์ ์ ๋ฌด์์ ๋๊น?#
AzureML์ ์ฌ์ฉํ๋ฉด ๊ฐ๋จํ ํ๋กํ ํ์ ๋ถํฐ ๋๊ท๋ชจ ์คํ์ ์ด๋ฅด๊ธฐ๊น์ง Ultralytics YOLO26 ๋ชจ๋ธ์ ํด๋ผ์ฐ๋์์ ํ์ต์ํค๊ณ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ค์์ ์ํํ ์ ์์ต๋๋ค:
- ํ์ต์ ์ํ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ๊ณผ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ, ํน์ง ์ ํ ๋ฐ ๋ชจ๋ธ ํ์ต์ ์ํ ๋ด์ฅ ๋๊ตฌ๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
- ๋ชจ๋ธ ๋ฐ ๋ฐ์ดํฐ์ ๋ชจ๋ํฐ๋ง, ๊ฐ์ฌ, ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํฌํจํ 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 -yPython 3.13์ ํ์ฌ AzureML์์ ์ข ์์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฏ๋ก ๋์ Python 3.12๋ฅผ ์ฌ์ฉํ์ญ์์ค.
ํ์ํ ์ข ์์ฑ์ ์ค์นํ์ญ์์ค:
pip install ultralytics onnxYOLO26 ์์ ์ํ#
yolo predict model=yolo26n.pt source='https://ultralytics.com/images/bus.jpg'์ด๊ธฐ learning_rate 0.01๋ก 10 ์ํญ ๋์ ๊ฐ์ง ๋ชจ๋ธ์ ํ์ต์ํต๋๋ค:
yolo train data=coco8.yaml model=yolo26n.pt epochs=10 lr0=0.01๋ ธํธ๋ถ ํต์คํํธ#
์ 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
# Load a model
model = YOLO("yolo26n.pt") # load an official YOLO26n model
# Use the model
model.train(data="coco8.yaml", epochs=3) # train the model
metrics = model.val() # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
path = model.export(format="onnx") # export the model to ONNX formatUltralytics CLI ๋๋ Python ์ธํฐํ์ด์ค ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ YOLO26 ์์ ์ ์คํํ ์ ์์ต๋๋ค. ์์ Python ์์ ๋ ๋ฐฐํฌ๋ฅผ ์ํด ํ์ต๋ ๋ชจ๋ธ์ ONNX๋ก ๋ด๋ณด๋ด๋ ๊ณผ์ ๋ ํฌํจํฉ๋๋ค.
์ด ๋จ๊ณ์ ๋ฐ๋ผ AzureML์์ YOLO26์ ๋น ๋ฅด๊ฒ ์คํํ ์ ์์ต๋๋ค. ๋ณด๋ค ๊ณ ๊ธ ์ํฌํ๋ก์ ๋ํด์๋ AzureML ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
AzureML ๋ ์์๋ณด๊ธฐ#
์ด ๊ฐ์ด๋๋ AzureML์์ YOLO26์ ์คํํ๋ ๊ธฐ๋ณธ ์ฌํญ์ ๋ค๋ฃน๋๋ค. ๋ ์์ธํ ๋ด์ฉ์ ๋ค์ ๋ฆฌ์์ค๋ฅผ ํ์ํ์ญ์์ค:
- ๋ฐ์ดํฐ ์์ฐ ์์ฑ: AzureML ํ๊ฒฝ ๋ด์์ ๋ฐ์ดํฐ ์์ฐ์ ์ค์ ํ๊ณ ๊ด๋ฆฌํฉ๋๋ค.
- AzureML ์์ ์์: AzureML์์ ๋จธ์ ๋ฌ๋ ํ์ต ์์ ์ ์์ํฉ๋๋ค.
- ๋ชจ๋ธ ๋ฑ๋ก: ๋ชจ๋ธ ๋ฑ๋ก, ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋ฐฐํฌ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- Modal ๋น ๋ฅธ ์์: AzureML์ ๋์์ผ๋ก Modal์ ์๋ฒ๋ฆฌ์ค GPU ํด๋ผ์ฐ๋์์ YOLO26์ ์คํํฉ๋๋ค.
FAQ#
ํ์ต์ ์ํด AzureML์์ YOLO26์ ์คํํ๋ ค๋ฉด ์ปดํจํ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ , Conda ํ๊ฒฝ์ ์ค์ ํ๊ณ , Ultralytics๋ฅผ ์ค์นํ ๋ค์ ํ์ต ๋ช ๋ น์ ์คํํ์ญ์์ค:
-
์ปดํจํ ์ธ์คํด์ค ์์ฑ: AzureML ์์ ๊ณต๊ฐ์์ ์ปดํจํ > ์ปดํจํ ์ธ์คํด์ค > ์๋ก ๋ง๋ค๊ธฐ๋ก ์ด๋ํ์ฌ ํ์ํ ์ธ์คํด์ค๋ฅผ ์ ํํ์ญ์์ค.
-
ํ๊ฒฝ ์ค์ : ์ปดํจํ ์ธ์คํด์ค๋ฅผ ์์ํ๊ณ ํฐ๋ฏธ๋์ ์ฐ ๋ค์ Python 3.12๋ฅผ ์ฌ์ฉํ์ฌ Conda ํ๊ฒฝ์ ๋ง๋์ญ์์ค(Python 3.13์ ํ์ฌ AzureML์์ ์ข ์์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค):
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 lr0=0.01
์์ธํ ๋ด์ฉ์ Ultralytics CLI ์ฌ์ฉ ๋ฐฉ๋ฒ ์๋ด๋ฅผ ์ฐธ์กฐํ์ธ์.
-
AzureML์ YOLO26 ๋ชจ๋ธ์ ํ์ตํ๊ธฐ ์ํ ๊ฐ๋ ฅํ๊ณ ํจ์จ์ ์ธ ์ํ๊ณ๋ฅผ ์ ๊ณตํฉ๋๋ค:
- ํ์ฅ์ฑ: ๋ฐ์ดํฐ์ ๋ชจ๋ธ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ์ฝ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค.
- MLOps ํตํฉ: ๋ฒ์ ๊ด๋ฆฌ, ๋ชจ๋ํฐ๋ง, ๊ฐ์ฌ์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ML ์ด์์ ๊ฐ์ํํ ์ ์์ต๋๋ค.
- ํ์ : ํ ๋ด์์ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ๋ฐ ๊ด๋ฆฌํ์ฌ ํ์ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ฅ์ ๋๋ถ์ AzureML์ ๊ฐ๋จํ ํ๋กํ ํ์ ๋ถํฐ ๋๊ท๋ชจ ๋ฐฐํฌ์ ์ด๋ฅด๋ ํ๋ก์ ํธ์ ์ด์์ ์ธ ํ๋ซํผ์ ๋๋ค. ์ ์ฉํ ํ์ ๋ ๋ณด๋ ค๋ฉด AzureML ์์ ์ ํ์ธํ์ธ์.
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 ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ์ฌ ์์ธํ ์ ๋ณด๋ฅผ ํ์ธํ์ธ์.