Search
moon
sun

Ludwig report

Source file: G://~/DEL at HSU/Seminar/2023_AutoML_Frameworks/Ludwig
Use python api

Ludwig

โ€ข
CNN ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜์—ฌ ์ „์ฒ˜๋ฆฌํ•จ.
โ€ข
์„ ์–ธ์  ๋”ฅ๋Ÿฌ๋‹ ์˜คํ”ˆ์†Œ์Šค์ž„.
โ—ฆ
์„ ์–ธ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŠน์ง• :
1.
Faster to implement (๊ตฌํ˜„์ด ๋น ๋ฆ„)
2.
Less expressive (์˜๋„ํ•œ ๋А๋‚Œ์ด๋‚˜ ์˜๋ฏธ๋ฅผ ์ž˜ ์ „๋‹ฌํ•˜์ง€ ๋ชปํ•จ)
โ€ข
๊ฐ„๋‹จํ•˜๊ณ  ์œ ์—ฐํ•œ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๊ตฌ์„ฑ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๊ณ„ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์„ ์‰ฝ๊ฒŒ ์ •์˜ ๊ฐ€๋Šฅํ•จ.
1.
๊ตฌ์„ฑ์œผ๋กœ๋Š” ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•๊ณผ ํ•จ๊ป˜ ์ž…์ถœ๋ ฅ ํŠน์ง•์„ ์„ ์–ธํ•˜๊ณ  ์ „์ฒ˜๋ฆฌ, ์ธ์ฝ”๋”ฉ ๋ฐ ๋””์ฝ”๋”ฉ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์ถ”๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ.
2.
์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๊ณ , ๋‚ด๋ถ€ ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ํ•™์Šต ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•จ.
3.
๊ตฌ์„ฑ์— ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •๋œ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ข…๋‹จ ๊ฐ„ ๊ธฐ๊ณ„ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์„ ์ž๋™์œผ๋กœ ๊ตฌ์ถ•ํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์€ ๋ชจ๋“  ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•ด์„œ๋Š” ์Šค๋งˆํŠธ ๊ธฐ๋ณธ๊ฐ’ (๋ณดํ†ต ์„ ํƒํ•˜๋Š” ๊ถŒ์žฅ ๊ธฐ๋ณธ๊ฐ’)์œผ๋กœ ๋Œ€์ฒดํ•จ.
4.
๊ธฐ๊ณ„ ํ•™์Šต์— ๋Œ€ํ•œ Ludwig์˜ ์„ ์–ธ์  ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ด€์‹ฌ ์žˆ๋Š” ๊ธฐ๊ณ„ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์™„์ „ํžˆ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ํ•ฉ๋ฆฌ์ ์ธ ๊ฒฐ์ •์„ Ludwig์—๊ฒŒ ๋งก๊น€.
5.
์ตœ์‹  ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ , ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฒ€์ƒ‰์„ ์‹คํ–‰ํ•˜๊ณ , ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ์…‹ ๋ฐ ๋‹ค์ค‘ ๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ๋ณด๋‹ค ๋” ํฐ ๊ทœ๋ชจ๋กœ ํ™•์žฅํ•˜๊ณ , ์ตœ์ข…์ ์œผ๋กœ ํ”„๋กœ๋•์…˜์—์„œ ์ตœ๊ณ ์˜ ๋ชจ๋ธ์„ ์ œ๊ณตํ•จ.

Main Features

โ€ข
๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๊ตฌ์„ฑ ์‹œ์Šคํ…œ
โ€ข
ECD Architecture(encoder-combiner-decoder)๋กœ ๊ตฌ์„ฑ

Advantages

โ€ข
๊ธฐ๊ณ„ ํ•™์Šต ์ƒ์šฉ๊ตฌ๋ฅผ ์ตœ์†Œํ™”
โ€ข
์†์‰ฝ๊ฒŒ ๋ฒค์น˜๋งˆํฌ๋ฅผ ๊ตฌ์ถ• ๊ฐ€๋Šฅ
โ€ข
์—ฌ๋Ÿฌ ๋ฌธ์ œ ๋ฐ ๋ฐ์ดํ„ฐ์…‹์— ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‰ฝ๊ฒŒ ์ ์šฉ ๊ฐ€๋Šฅ
โ€ข
๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ, ๋ชจ๋ธ๋ง ๋ฐ ๋ฉ”ํŠธ๋ฆญ(์‹œ๊ฐํ™”)๋ฅผ ๊ณ ๋„๋กœ ์ ์šฉ ๊ฐ€๋Šฅ
โ€ข
๋‹ค์ค‘ ๋ชจ๋ธ๊ณผ ๋‹ค์ค‘ ์ž‘์—… ํ•™์Šต ๋ณ„๋„ ์„ค์น˜ ๊ณผ์ • ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
โ€ข
๋ชจ๋ธ ๋‚ด๋ณด๋‚ด๊ธฐ์™€ ์ถ”์ ํ•˜๊ธฐ ์šฉ์ด
โ€ข
ํ›ˆ๋ จ ์‹œ ๋‹ค์ค‘ GPU์™€ ๋‹ค์ค‘ ๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ž๋™ ํ™•์žฅ
โ€ข
Low-code interface๋ฅผ ์ง€์›
โ€ข
Ludwig์˜ ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ๋“ค ์‚ฌ์šฉ ๊ฐ€๋Šฅ

#Use Python API

#1. Tabular Data Classification

Report : Uber์˜ Ludwig Library๋ฅผ ์ด์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ ์ ์šฉ

์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์„ ์ด์šฉํ•ด ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.
Ludwig์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ํ•„์š” ์—†์ด ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ด๋‹ค.
Google Colab์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•˜์˜€๋‹ค.
CNN๊ณผ LSTM์„ ์‚ฌ์šฉํ•˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€ ์บก์…˜์„ ์œ„ํ•œ ๋ชจ๋ธ์„ ์ค€๋น„ํ•˜์˜€๋‹ค.
์ด๋ฏธ์ง€ ์บก์…˜์€ ์ด๋ฏธ์ง€์˜ ๋งฅ๋ฝ์„ ์ธ์‹ํ•˜๊ณ  ์˜์–ด์™€ ๊ฐ™์€ ์ž์—ฐ์–ด๋กœ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์ปดํ“จํ„ฐ ๋น„์ „๊ณผ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๊ฐœ๋…์„ ํฌํ•จํ•˜๋Š” ์ž‘์—…์ด๋‹ค.
1.
ํ•œ๋ฒˆ์— ๋ชจ๋“  ์บก์…˜์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
2.

์ฐธ๊ณ  ๋ฌธํ—Œ

โ€ข
Applied Deep Learning Using Uberโ€™s Ludwig Library, Medium (link)
โ€ข
Ludwig: A Toolbox for Training and Testing Deep Learning Models without Writing Code, youtube (link)
โ€ข
[Uber Open Source] Ludwig: A Code-free Deep Learning Toolbox, youtube (link)
โ€ข
Ludwig AutoML for Deep Learning, Medium (link)
โ€ข
Convolutional Neural Networks (CNNs), happiest minds (link)
โ€ข
Unit Testing Machine Learning Code in Ludwig and PyTorch: Tests for Gradient Updates, Medium (link)