๋ก๊น ์ ์ํด Python์ฉ Vertex AI SDK๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ง์๋๋ ์ธก์ ํญ๋ชฉ ๋ฐ ๋งค๊ฐ๋ณ์:
- ์์ฝ ์ธก์ ํญ๋ชฉ
- ์๊ณ์ด ์ธก์ ํญ๋ชฉ
- ๋งค๊ฐ๋ณ์
- ๋ถ๋ฅ ์ธก์ ํญ๋ชฉ
Python์ฉ Vertex AI SDK
์ฐธ๊ณ : ์ ํ์ resume
๋งค๊ฐ๋ณ์๋ฅผ TRUE
๋ก ์ง์ ํ๋ฉด ์ด์ ์ ์์๋ ์คํ์ด ๋ค์ ์์๋ฉ๋๋ค. ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ resume
์ ๊ธฐ๋ณธ๊ฐ์ FALSE
์ด๊ณ ์ ์คํ์ด ์์ฑ๋ฉ๋๋ค.
๋ค์ ์ํ์ aiplatform ํจ์์์ init
๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์์ฝ ์ธก์ ํญ๋ชฉ
์์ฝ ์ธก์ ํญ๋ชฉ์ ์๊ณ์ด ์ธก์ ํญ๋ชฉ ์์ ์ ์ฅ๋๋ ๋จ์ผ ๊ฐ ์ค์นผ๋ผ ์ธก์ ํญ๋ชฉ์ด๋ฉฐ ์คํ ์คํ์ ์ต์ข ์์ฝ์ ๋ํ๋ ๋๋ค.
ํ ๊ฐ์ง ์ฌ์ฉ ์ฌ๋ก๋ ์ธ๋ด ๊ตฌ์ฑ์ด ์ง์์ ์ธ ํ์ต์ ํ์ฉํ์ง๋ง ์ต์ ์๊ณ์ด ์ธก์ ํญ๋ชฉ์ด ๋ณต์๋ ๋ชจ๋ธ์ ๋ํํ์ง ์๊ธฐ ๋๋ฌธ์ ํ๋ณด ๋ชจ๋ธ์ด ์ด๊ธฐ ๋จ๊ณ์์ ๋ณต์๋๊ณ ํด๋น ๋จ๊ณ์์ ๋ชจ๋ธ์ ๋ํด ๊ณ์ฐ๋ ์ธก์ ํญ๋ชฉ์ด ์์ฝ ์ธก์ ํญ๋ชฉ์ผ๋ก ํ์๋ฉ๋๋ค. ์์ฝ ์ธก์ ํญ๋ชฉ์ ๋ํ log_metrics
API๊ฐ ์ด ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
Python
experiment_name
: ์คํ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค. ์น์ ํ์ ๋ฉ๋ด์์ ์คํ์ ์ ํํ๋ฉด Google Cloud ์ฝ์์์ ์คํ ๋ชฉ๋ก์ ์ฐพ์ ์ ์์ต๋๋ค.run_name
: ์คํ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค(start_run
์ฐธ์กฐ).metric
: ์ธก์ ํญ๋ชฉ ํค-๊ฐ ์์ ๋๋ค. ์๋ฅผ ๋ค๋ฉด{'learning_rate': 0.1}
์ ๋๋ค.project
: ํ๋ก์ ํธ ID ์ด๋ฌํ ํญ๋ชฉ์ Google Cloud ์ฝ์ ์์ ํ์ด์ง์์ ์ฐพ์ ์ ์์ต๋๋ค.location
: ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์.
์๊ณ์ด ์ธก์ ํญ๋ชฉ
์๊ณ์ด ์ธก์ ํญ๋ชฉ์ ๋ก๊น ํ๋ ค๋ฉด Vertex AI ์คํ์์ ์ง์ Vertex AI ํ ์๋ณด๋ ์ธ์คํด์ค๊ฐ ํ์ํฉ๋๋ค.
์๊ณ์ด ์ธก์ ํญ๋ชฉ ๋ก๊น ์ ๋ฐฑ์ Vertex AI ํ ์๋ณด๋ ๋ฆฌ์์ค ํ ๋น
log_time_series_metrics
๋ฅผ ํตํด ๋ก๊น
๋ ๋ชจ๋ ์ธก์ ํญ๋ชฉ์ ์๊ณ์ด ์ธก์ ํญ๋ชฉ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
Vertex AI ํ
์๋ณด๋๋ ์ง์ ์๊ณ์ด ์ธก์ ํญ๋ชฉ ์ ์ฅ์์
๋๋ค.
experiment_tensorboard
๋ ์คํ ๋ฐ ์คํ ์คํ ์์ค ๋ชจ๋์์ ์ค์ ํ ์ ์์ต๋๋ค. ์คํ ์์ค์์ experiment_tensorboard
๋ฅผ ์ค์ ํ๋ฉด ์คํ ์์ค์ ์ค์ ์ด ์ฌ์ ์๋ฉ๋๋ค. ์คํ์์ experiment_tensorboard
๋ฅผ ์ค์ ํ ๋ค์์๋ ์คํ์ experiment_tensorboard
๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- ์คํ ์์ค์์
experiment_tensorboard
๋ฅผ ์ค์ ํฉ๋๋ค.aiplatform.
init
(experiment='my-experiment', experiment_tensorboard='projects/.../tensorboard/my-tb-resource') - ์คํ ์์ค์์
experiment_tensorboard
๋ฅผ ์ค์ ํฉ๋๋ค. ์ฐธ๊ณ : ์คํ ์์ค์์ ์ค์ ์ ์ฌ์ ์ํฉ๋๋ค.aiplatform.
start_run
(run_name='my-other-run', tensorboard='projects/.../.../other-resource') aiplatform.log_time_series_metrics(...)
Python
experiment_name
: ์คํ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค. ์น์ ํ์ ๋ฉ๋ด์์ ์คํ์ ์ ํํ๋ฉด Google Cloud ์ฝ์์์ ์คํ ๋ชฉ๋ก์ ์ฐพ์ ์ ์์ต๋๋ค.run_name
: ์คํ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค(start_run
์ฐธ์กฐ).metrics
: ํค๊ฐ ์ธก์ ํญ๋ชฉ ์ด๋ฆ์ด๊ณ ๊ฐ์ด ์ธก์ ํญ๋ชฉ ๊ฐ์ธ ์ฌ์ ์ ๋๋ค.step
: ์ ํ์ฌํญ. ์คํ ๋ด์์ ์ด ๋ฐ์ดํฐ ํฌ์ธํธ์ ๋จ๊ณ ์์ธ์ ๋๋ค.wall_time
: ์ ํ์ฌํญ. ์ด ๋ฐ์ดํฐ ํฌ์ธํธ๊ฐ ์ต์ข ์ฌ์ฉ์์ ์ํด ์์ฑ๋ ์๊ฐ ํ์์คํฌํ์ ๋๋ค. ์ ๊ณตํ์ง ์์ผ๋ฉด time.time()์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋กwall_time
์ด ์์ฑ๋ฉ๋๋ค.project
: ํ๋ก์ ํธ ID ์ด๋ฌํ ํญ๋ชฉ์ Google Cloud ์ฝ์ ์์ ํ์ด์ง์์ ์ฐพ์ ์ ์์ต๋๋ค.location
: ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์.
๋จ๊ณ ๋ฐ walltime
log_time_series_metrics
API๋ ์ ํ์ ์ผ๋ก step
๋ฐ walltime
์ ํ์ฉํฉ๋๋ค.
step
: ์ ํ์ฌํญ. ์คํ ๋ด์์ ์ด ๋ฐ์ดํฐ ํฌ์ธํธ์ ๋จ๊ณ ์์ธ์ ๋๋ค. ์ ๊ณตํ์ง ์์ผ๋ฉด ์ด๋ฏธ ๋ก๊น ๋ ๋ชจ๋ ์๊ณ์ด ์ธก์ ํญ๋ชฉ ์ค ์ต์ ๋จ๊ณ์ ๋ํ ์ฆ๋ถ์ด ์ฌ์ฉ๋ฉ๋๋ค. ์ ๊ณต๋ ์ธก์ ํญ๋ชฉ ํค์ ๋ํด ๋จ๊ณ๊ฐ ์กด์ฌํ๋ฉด ํด๋น ๋จ๊ณ๋ฅผ ๋ฎ์ด์๋๋ค.wall_time
: ์ ํ์ฌํญ. ๋ก๊น ๋ ์ธก์ ํญ๋ชฉ์ epoch ์ดํ ์๊ฐ(์ด)์ ๋๋ค. ์ ๊ณต๋์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ Python์time.time
์ ๋๋ค.
์:
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00})
ํน์ ๋จ๊ณ์ ๋ก๊น
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=8)
wall_time
ํฌํจ
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=10)
๋งค๊ฐ๋ณ์
๋งค๊ฐ๋ณ์๋ ์คํ์ ๊ตฌ์ฑํ๊ณ , ์คํ ๋์์ ์กฐ์ ํ๊ณ , ์คํ ๊ฒฐ๊ณผ์ ์ํฅ์ ์ฃผ๋ ํค๊ฐ ์ง์ ๋ ์ ๋ ฅ ๊ฐ์ ๋๋ค. ์๋ฅผ ๋ค์ด ํ์ต๋ฅ , ๋๋กญ์์ ๋น์จ, ํ์ต ๋จ๊ณ ์๊ฐ ์์ต๋๋ค. log_params ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋งค๊ฐ๋ณ์๋ฅผ ๋ก๊น ํฉ๋๋ค.
Python
aiplatform.log_params({"learning_rate": 0.01, "n_estimators": 10})
experiment_name
: ์คํ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค. ์น์ ํ์ ๋ฉ๋ด์์ ์คํ์ ์ ํํ๋ฉด Google Cloud ์ฝ์์์ ์คํ ๋ชฉ๋ก์ ์ฐพ์ ์ ์์ต๋๋ค.run_name
: ์คํ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค(start_run
์ฐธ์กฐ).params
: ๋งค๊ฐ๋ณ์ ํค-๊ฐ ์์ ๋๋ค. ์:{'accuracy': 0.9}
(log_params
์ฐธ์กฐ). ์์ ํ์ด์ง.location
: ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์.
๋ถ๋ฅ ์ธก์ ํญ๋ชฉ
์์ฝ ์ธก์ ํญ๋ชฉ๊ณผ ์๊ณ์ด ์ธก์ ํญ๋ชฉ ์ธ์ ํผ๋ ํ๋ ฌ ๋ฐ ROC ๊ณก์ ์ด ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ธก์ ํญ๋ชฉ์
๋๋ค. log_classification_metrics
API๋ฅผ ์ฌ์ฉํ์ฌ Vertex AI Experiments์ ๋ก๊น
ํ ์ ์์ต๋๋ค.
Python
experiment_name
: ์คํ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค. ์น์ ํ์ ๋ฉ๋ด์์ ์คํ์ ์ ํํ๋ฉด Google Cloud ์ฝ์์์ ์คํ ๋ชฉ๋ก์ ์ฐพ์ ์ ์์ต๋๋ค.run_name
: ์คํ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค(start_run
์ฐธ์กฐ).project
: ํ๋ก์ ํธ ID ์ด๋ฌํ ํญ๋ชฉ์ Google Cloud ์ฝ์ ์์ ํ์ด์ง์์ ์ฐพ์ ์ ์์ต๋๋ค.location
: ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์.labels
: ํผ๋ ํ๋ ฌ์ ๋ผ๋ฒจ ์ด๋ฆ ๋ชฉ๋ก์ ๋๋ค. 'matrix'๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ ์ค์ ํด์ผ ํฉ๋๋ค.matrix
: ํผ๋ ํ๋ ฌ์ ๊ฐ์ ๋๋ค. 'labels'๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ ์ค์ ํด์ผ ํฉ๋๋ค.fpr
: ROC ๊ณก์ ์ ๊ฑฐ์ง์์ฑ๋ฅ ๋ชฉ๋ก์ ๋๋ค. 'tpr' ๋๋ 'thresholds'๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ ์ค์ ํด์ผ ํฉ๋๋ค.tpr
: ROC ๊ณก์ ์ ์ฐธ์์ฑ๋ฅ ๋ชฉ๋ก์ ๋๋ค. 'fpr' ๋๋ 'thresholds'๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ ์ค์ ํด์ผ ํฉ๋๋ค.threshold
: ROC ๊ณก์ ์ ์๊ณ๊ฐ ๋ชฉ๋ก์ ๋๋ค. 'fpr' ๋๋ 'tpr'์ด ์ค์ ๋ ๊ฒฝ์ฐ ์ค์ ํด์ผ ํฉ๋๋ค.display_name
: ๋ถ๋ฅ ์ธก์ ํญ๋ชฉ ์ํฐํฉํธ์ ์ฌ์ฉ์ ์ ์ ์ด๋ฆ์ ๋๋ค.
Google Cloud ์ฝ์์์ ์คํ ์คํ ๋ชฉ๋ก ๋ณด๊ธฐ
- Google Cloud ์ฝ์์์ ์คํ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์คํ์ผ๋ก ์ด๋
์คํ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค. - ํ์ธํ ์คํ์ ์ ํํฉ๋๋ค.
์คํ ๋ชฉ๋ก์ด ๋ํ๋ฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ์คํ ๋น๊ต ๋ฐ ๋ถ์์ ์ฐธ์กฐํ์ธ์.