AutoML

Accu.Tuning ๊ฐœ์š”

1. Accu.Tuning ์†Œ๊ฐœ ๋ฐ ์ฃผ์š”๊ธฐ๋Šฅ

Accu.Tuning์€ Parameter ํ•จ๊ป˜ ์ฝ”๋”ฉ ์—†์ด๋„ ์ž๋™์œผ๋กœ ์ตœ์ ์˜ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์ฐพ์•„๋ณด์„ธ์š”. ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ „๋ฌธ๊ฐ€๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Accu.Tuning์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์€ ์ค„์ด๊ณ , ๋ถ„์„ ์„ฑ๋Šฅ์€ ๋†’์—ฌ๋ณด์„ธ์š”. TPOT, Auto-sklearn ๋“ฑ ๋‹ค์–‘ํ•œ ์˜คํ”ˆ์†Œ์Šค AutoML ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ต์ฐจ ํ™œ์šฉํ•˜์—ฌ ๊ทธ ์„ฑ๋Šฅ์„ ๋†’์ด๊ณ , ๋‹ค์–‘ํ•œ ์‚ฐ์—…๊ตฐ๊ณผ ํšŒ๊ท€ยท๋ถ„๋ฅ˜ ๋“ฑ ์–ด๋Š ์˜ˆ์ธก ๋ชฉ์ ์—๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์„์ด ๋๋‚œ ๋ชจ๋ธ๋„ AccuInsight+๋‚˜ Scikit-Learn ๋“ฑ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌํ•˜์—ฌ, ์‰ฝ๊ฒŒ ๊ฐ€๊ณตํ•˜๊ณ  ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

(1) Preprocessor : ๋‚ด ๋ฐ์ดํ„ฐ์—์„œ ๊ฒฐ์ธก๊ฐ’ ์ฒ˜๋ฆฌ, ๋ผ๋ฒจ๋ง ๋“ฑ ๋ณต์žกํ•œ ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ  AutoML์— ๋งž๋Š” ๋ฐ์ดํ„ฐ์…‹์„ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑํ•ด๋ณด์„ธ์š”.

(2) Modeler : ์ •์˜ํ•œ ๋ฌธ์ œ์— ๋”ฐ๋ผ TPOT, Auto-sklearn ๋“ฑ ์˜คํ”ˆ์†Œ์Šค AutoML ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ด์šฉํ•œ ์ตœ์ ์˜ ๋ชจ๋ธ๊ณผ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๊ณ , API๋ฅผ ํ†ตํ•ด AccuInsight+ ๋“ฑ์œผ๋กœ ๋ฐ”๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

(3) Deploy : ๊ตฌ์„ฑ๋œ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ๋“ค์˜ ์„ฑ๋Šฅ์„ ๋‹ค์–‘ํ•œ ์ง€ํ‘œ๋กœ ๋น„๊ตํ•˜์—ฌ ์ตœ์ ์˜ ๋ชจ๋ธ์„ ์„ ์ •ํ•˜๊ณ , ์„ค๋ช… ๊ฐ€๋Šฅํ•œ AI ๊ธฐ์ˆ ์„ ํ†ตํ•ด ๋‚ด ๋ชจ๋ธ์˜ ์˜๋ฏธ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

2. ์ฐธ๊ณ 

Accu.Tuning์€ hyperparameter ์ตœ์ ํ™” ์—”์ง„์œผ๋กœ Optuna๋ฅผ ์‚ฌ์šฉํ•˜์˜€์œผ๋ฏ€๋กœ Optuna์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์‹์ด ์žˆ์œผ๋ฉด ๋งค๋‰ด์–ผ์„ ์ดํ•ดํ•˜๋Š”๋ฐ ๋งŽ์€ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

Optuna Document๋Š” ์•„๋ž˜์˜ ๊ฒฝ๋กœ๋ฅผ ์ฐธ๊ณ  ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

https://optuna.org/

Experimemts

Experiment๋ž€, ์‚ฌ์šฉ์ž๊ฐ€ ๋ถ„์„ํ•˜๊ณ  ์‹ถ์€ ํ•˜๋‚˜์˜ ๊ณผ์ œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ•œ Experiment์—๋Š” ํ•˜๋‚˜์˜ Data Source๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

source

  1. ์ƒˆ๋กœ์šด ์‹คํ—˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ํ˜„์žฌ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” ์‹คํ—˜ํ•ญ๋ชฉ๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ƒ์„ฑ๋œ ์‹คํ—˜์„ ์‹œ์ž‘/์ •์ง€/์‚ญ์ œ ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ์ƒˆ Experiment ๋งŒ๋“ค๊ธฐ

์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ Accu.Tuning์œผ๋กœ ์—…๋กœ๋“œ ํž™๋‹ˆ๋‹ค. ๋˜ํ•œ From the URL ํ•ญ๋ชฉ์„ ํ†ตํ•ด AccuInsight+์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

source

  1. ์ƒˆ๋กœ์šด ์‹คํ—˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ์‚ฌ์ „์— ๋งŒ๋“ค์—ˆ์—ˆ๋˜ ํŒŒ์ผ๋“ค๋กœ ์‹คํ—˜์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ์—…๋กœ๋“œ ํ•˜์—ฌ ์‹คํ—˜์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Overview

Overview ํƒญ์—์„œ Estimator type, target ๋“ฑ์˜ ๋ถ„์„ ์„ค์ •์„ ์ˆ˜ํ–‰ํ•˜๊ณ , Source Preview์™€ Source Columns ์—์„œ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

1. AutoML ์˜ต์…˜ ์„ค์ •ํ•˜๊ธฐ

overview

  1. ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. Overview์—์„œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค.
  3. ๋ฉ”์ธ ์˜ต์…˜๋“ค์„ ์„ค์ •ํ•œ ํ›„ AutoML์„ ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

overview

  1. ๋ถ„๋ฅ˜/ํšŒ๊ท€ ๋ฌธ์ œ์™€ ํƒ€๊ฒŸ ๋ณ€์ˆ˜, ๋Ÿฐํƒ€์ž„ ์ œํ•œ, Framework ์„ ํƒ, ์ปจํ…Œ์ด๋„ˆ ๊ฐœ์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ํ‰๊ฐ€ํ•จ์ˆ˜, ์ตœ๋Œ€ํ‰๊ฐ€ํšŸ์ˆ˜, ๋ฆฌ์ƒ˜ํ”Œ๋ง์ „๋žต, ํด๋“œ ๊ฐœ์ˆ˜, Test ์…‹์˜ ๋น„์œจ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ™˜ ๋ฐ ํ”ผ์ณ ์—”์ง€๋‹ˆ์–ด๋ง์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์›ํ•˜๋Š” ๋ชจ๋ธ์„ ์„ค์ •ํ•˜์—ฌ Accu.Tuning๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  5. ์ถ”๊ฐ€ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

2. ๋ฐ์ดํ„ฐ ๋ถ„ํฌ ํ™•์ธ ํ™•์ธํ•˜๊ธฐ

overview

  1. ํ…Œ์ด๋ธ” ๋ฏธ๋ฆฌ๋ณด๊ธฐ์™€ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Preprocess

preprocess

  1. Preprocess์—์„œ ์ง„ํ–‰ํ•œ ์ „์ฒ˜๋ฆฌ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. Accu.Tuning์˜ Preprocess ์ถ”์ฒœ, ๋ณ€์ˆ˜๋“ค๊ฐ„์˜ ์ƒ๊ด€๋ถ„์„์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๊ฐ ๋ณ€์ˆ˜๋ฅผ ์„ ํƒํ•˜๊ณ , ํƒ€์ž…๋ณ€ํ™˜๊ณผ ์ด์ƒ์น˜์ œ๊ฑฐ, ๋ถ„ํฌ๋ณ€ํ™˜์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Leaderboard

Accu.Tuning ๋ชจ๋ธ์˜ ์ ์ˆ˜์™€ ๋ณ€์ˆ˜์˜ ์ค‘์š”๋„ ๋“ฑ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

leaderboard

  1. ๋ณ€์ˆ˜์˜ ์ค‘์š”๋„, Lime, ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด, ๋‹ค๋ฅธ Metrics๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ ์ˆ˜๊ฐ€ ์œ ์‚ฌํ•˜๊ณ  ๊ฐ™์€ ๋ชจ๋ธ์„ ํŽผ์ณ์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ํ•ด๋‹น๋ชจ๋ธ์„ Deployํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Deployment

deployment

  1. Deployํ•œ ๋ชจ๋ธ์˜ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. Test data๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ƒ์„ฑ๋œ ๋ชจ๋ธ๋กœ Test data๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.

1. Model ์ •๋ณด ํ™•์ธํ•˜๊ธฐ

deployment

  1. Binary ๋ชจ๋ธ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ณ , ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค.
  2. ๋ชจ๋ธ์˜ PipeLine์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์—ฌ๋Ÿฌ๊ฐ€์ง€ Metrics๋“ค์„ ๋ณด๊ณ  ๋ชจ๋ธ์„ ํ‰๊ฐ€ ๋ฐ ํ•ด์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ๋ณ€์ˆ˜ ์ค‘์š”๋„, ์ž”์ฐจ๋„, ์˜ˆ์ธก์˜ค๋ฅ˜์— ๋Œ€ํ•ด์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. Model์„ ๋‚ด๋ ค๋ฐ›์•„ ์‚ฌ์šฉํ•˜๊ธฐ

deployment

  1. Binary ๋ชจ๋ธ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์Šต๋‹ˆ๋‹ค.
  2. autoinsight-helpsers package๋ฅผ ๋‹ค์šดํ•œ ํ›„, ๋ชจ๋ธ piepline์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ํด๋”์— ์••์ถ•์„ ํ’‰๋‹ˆ๋‹ค.
  3. ์•„๋ž˜ ์†Œ์Šค์ฝ”๋“œ์™€ ๊ฐ™์ด ๋ชจ๋ธ piepline์„ ๋ณผ๋Ÿฌ์˜ต๋‹ˆ๋‹ค.
import pickle
pipeline = pickle.load(open('dep.1.model', 'rb'))