NNI 기능 한눈에 보기
NNI 기능 한눈에 보기
NNI의 공식 문서 시작 페이지에는 이 툴킷이 다루는 AutoML 기능이 표로 정리돼 있어요. 하이퍼파라미터 튜닝부터 구조 탐색, 압축까지 '무엇을 자동화할 수 있는지'를 한눈에 볼 수 있죠.
출처: NNI docs index
NNI는 머신러닝 라이프사이클 자동화를 위한 경량이지만 강력한 툴킷으로 소개돼요. 특히 하이퍼파라미터 튜닝(HPO), 신경망 구조 탐색(NAS), 모델 압축을 세 축으로 삼아요.
알고리즘 측면을 보면 탐색의 깊이가 느껴져요. 하이퍼파라미터 튜닝 알고리즘으로 Grid Search, Random, Anneal, Evolution, Hyperband, PBT, Bayesian optimization, BOHB, DNGO, GP, Metis, SMAC, TPE를 지원해요. 탐색 공간이나 데이터에 맞는 알고리즘을 골라 쓰는 게 핵심이죠.
모델 압축 쪽도 다양해요. 프루닝은 Level, L1 Norm, Taylor FO Weight, Movement, AGP, Auto Compress를, 양자화는 Naive, QAT, LSQ, Observer, DoReFa, BNN을 지원해요. 학습 후 모델을 가볍게 만들어 배포하려는 경우에 유용해요.
지원 프레임워크는 PyTorch, TensorFlow, scikit-learn, XGBoost, LightGBM, MXNet 등이고, 트레이닝 서비스는 로컬 머신, 원격 SSH, Azure ML, Kubernetes(OpenAPI, Kubeflow, FrameworkController 등), Hybrid 방식까지 지원해요. 실험을 어떤 환경에서 돌릴지에 따라 서비스를 고르면 돼요.