Search
moon
sun

Ludwig (Uber’s Open source)

, 2023-02-27

INTRODUCTION

Ludwig은 Uber가 만든 선언적 딥러닝 오픈소스 프레임워크이다.
표 형식(tabular data)과 자연어 처리, 컴퓨터 비전을 위한 최신 모델을 배포 가능하다.
YAML 파일은 Ludwig의 선언적 인터페이스를 사용하며, 별도의 코드 작성을 필요로 하지 않는다.
YAML 파일에는 모델의 아키텍쳐와 훈련 반복 횟수, 하이퍼파라미터 서치 범위, 백엔드 인프라가 명시되어있다.
Ludwig은 딥러닝 모델 개발을 간단한 반복 프로세스를 통해 가능하게 한다.
Ludwig에서는 AutoML이라는 개념을 도입해서 사용중이다. 원래 딥러닝에서는 사람이 인풋과 아웃풋의 피쳐와 타입을 명시하고, 모델의 성능을 높이기 위해 모델의 아키텍처를 고르고, 하이퍼파라미터를 어떻게 설정할 지, 훈련은 얼마나 반복할 것인지 등의 작업을 거치게 되는데 모델의 성능을 높이기 위한 작업들을 자동화하는 프로세스가 바로 AutoML이다.
AutoML이 머신 러닝에 대한 사용자의 진입 장벽을 낮추는 동시에 오늘날 AutoML에 대한 가장 일반적인 비판은 black-box이다. 모델링 결정에 대한 투명성이 제한되고 최종 사용자에게 사용자 정의 가능성과 제어가 거의 또는 전혀 제공되지 않는 것이 문제이다.
Ludwig 인터페이스의 목표는 AutoML 도구를 black-box에서 glass-box로 만드는 것이며, 유연성과 제어 가능성을 사용자에게 주는 것이다.
표 형식의 데이터셋에 집중했을 때, Ludwig AutoML을 통해 만들어진 모델과 높은 성능의 이미 출시된 모델과의 정확도 비교를 실시하고, 여러 기존 AutoML 솔루션과의 유용성을 아래에서 일련의 과정을 통해 비교할 예정이다.

LUDWIG AUTOML GOALS

1.
Data-informed: 피쳐 데이터의 분석과 휴리스틱(직관)을 사용하여 자동 모델 생성을 촉진한다. (의사 결정 단계에서 data를 요인으로써 사용한다.)
2.
Task and resource-specific: 특정 작업과 자원들이 딥러닝 파이프라인, 모델과 하이퍼파라미터 선택을 도와준다.
3.
User in-the-loop: 모델을 만드는 과정에서 인풋과 반복 횟수를 선택 가능하다.
4.
Black-box → Glass-box: 여러 AutoML에서 생성된 불투명한 모델과는 다르게 액세스와 제어가 가능한 모델을 생성한다.

DATA-INFORMED AUTOML

VM VirtualBox를 통한 작업 환경 구축

References

•
Ludwig AutoML for Deep Learning, Medium (link)