안녕하세요.

이번 글에서는 Machine Learning Operations 의 약자인 MLOps라는 개념에 대해 다루어보려고 합니다.

 

글의 전개 순서는 아래와 같습니다.

 

  1. MLOps란? 
    • Design
    • Model development
    • Operations
  2. 머신러닝 or 딥러닝 연구자들이 MLOps에 관심 갖어야 하는 이유 (Feat. Model development)
  3. AutoML

 

[Note]

보통 MLOps라고 표현은 하긴 하지만, 딥러닝 역시 ML에 포함되기 때문에 DLOps라는 개념으로도 이해하셔도 좋을 것 같습니다.

 

 

 

 

 

 

1. MLOps란? 

Machine Learning (or Deep learning) 기반의 프로젝트를 시작한다고 하면 크게 세 가지 단계로 나눌 수 있습니다.

 

  1. Design
    • 산업에서 요구하는 바를 기준으로 문제를 정의합니다.
    • 예를 들어, 어떠한 데이터가 필요한지, 어떠한 딥러닝 기술이 중요하게 적용되면 좋은지 등을 의논합니다.
  2. Model Development
    • 우리가 design한 실험을 수행하기 위한 개발단계입니다.
    • 산업에서 사용할 수 있도록 제품의 안정성을 충분히 검증(verifying) 해야 합니다.
    • 그러기 위해서는 굉장히 다양한 실험을 수행해야 하죠.
  3. Operations
    • 이렇게 개발한 모델을 최종 사용자에게 서비스 하기 위한 단계입니다.
    • 우리가 만든 모델을 어느 곳에 배포할 지 (ex: 웹, 핸드폰, 컴퓨터 등) 에 따라서 배포방식이 달라집니다.
    • 제공된 제품을 지속적으로 모니터링(관리)해야 합니다.

 

<출처: https://ml-ops.org/content/mlops-principles>

 

보통 business라는 영역에 제한하여 MLOps라는 개념을 사용하고는 있지만, 제 개인적인 생각으로는 대학원 연구자들 또한 MLOps에 주목해야 한다고 생각합니다. 지금부터 그 이유에 대해 간단히 설명해보겠습니다. 

 

 

 

 

1-1. Design (Feat. 계획)

병원에서 의료인공지능을 하시는 분들의 가장 큰 장점은 design 단계가 훌륭하다는 점입니다.  아무리 IT 업계에서 의료인공지능을 한다고 해도, 의사분들이 "그건 의학적으로 의미가 없습니다"라고 말한다면 모든 프로젝트가 물거품이 될 가능성이 높지요.

 

Model development, Operations 단계에서 실패하는 것 보다 Design 단계에서 실패할 때 더 많은 시간과 비용을 손해보게 되기 때문에, Design 설계는 ML 프로젝트에서 매우 중요한 일입니다.

 

병원에서 딥러닝연구하시는 분들이 높은 IF를 갖는 저널에 논문을 내는 이유는 그만큼 design이 훌륭하기 때문입니다. 개인적으로 "딥러닝이 사용되면 의사들의 역할이 없어 질 것이다"라는 말에 동의하지 못하는 이유가  여기에 있기도 합니다. 오히려, design이 잘 되지 않는 딥러닝 연구가 많아 질 수 록 딥러닝 or 기계학습 버블이 생겨날 것인데, 이러한 버블을 걷어내는 역할을 의사분들이 하실 수 도 있겠죠. 

 

 

 

사실 이렇게 design을 하는 영역은 학계의 역할이라고 할 수 있습니다. 보통 학계는 오랫동안 domain knowledge를 쌓았기 때문에 어떠한 연구가 유의미한 것인지 판단할 수 있죠. 그리고, 매일 현재 기술들이 갖는 문제를 제기하고 이를 해결하기 위해 연구하기 때문에 최신 기법 솔루션들은 대부분 학계로부터 나온다고 볼 수 있습니다. 또한, 어떤 데이터를 이용하면 좋은지 알고 있으며, 특히 병원 같은 곳에서는 자체 의료 데이터를 갖고 있기 때문에 design 측면에서 제약사항이 상대적으로 작다고 할 수 있죠.

 

구글, 페이스북, 애플, 마이크로소프트, 엔비디아 등 같은 회사들이 딥러닝에서 좋은 결과를 도출할 수 있었던 것도 모두 학계로부터 도움을 받았기 때문입니다.

 

 

 

 

1-2. Model development

앞서 실험을 design 했으면 이를 실제로 실현(실험)해야 하는 단계를 거쳐야 합니다.

 

우리가 흔히 머리속에 그리는 실험관찰하는 방법입니다. 실험군 대조군을 설정하고 실험장비를 이용하여 지속관찰하면서 상태기록하죠.

 

하지만, machine learning (or deep learning)은 대부분 컴퓨터(Turing machine)에 기반하여 연구를 진행합니다. 그래서, 실험을 design 하기 위해 필요한 이론적 지식 외에도 컴퓨터를 잘 다룰 수 있는 능력이 필요하죠.

 

예를 들어보겠습니다. Design 한대로 실험을 하기 위해서는 우선 데이터부터 모아야 할 것입니다. 딥러닝에서는 레이블이 되어있는 데이터를 사용해야하는 경우가 많기 때문에 labelling 프로그램 tool을 잘 사용할 줄 아는 것이 중요합니다.  만약 데이터가 방대하면 분산처리 시스템 (ex: Hadoop, Spark 등) 등을 지원해주는 tool도 잘 활용할 줄 알아야 합니다.

 

"하지만, 보통 model development 단계에서는 Data를 수집하고 관리하는 단계보다는 아래 그림처럼 model dvelopment, training, devaluation을 하기 위한 별도의 tool들을 사용합니다."

 

 

Model development 단계에서 가장 볼 수 있는 것은 frameworks 입니다. 딥러닝 모델을 개발하기 위해서는 딥러닝 라이브러리를 지원해주는 framework를 선택해야 합니다. 예전에는 caffe, theano, keras 등이 사용되었지만, 현재pytorch, tensorflow로 통합되고 있습니다. (물론 최근에 keras가 tensorflow로부터 독립하긴했지만....)  최근에는 Fast.ai, pytorch lighting 등 좀 더 간편하게 사용하기 위해 제공되는 framework들이 각광을 받고 있습니다. 

 

또한, 딥러닝은 혼자서 개발하는 것보다 협업하여 개발하는 것이 훨씬 효율적입니다. 그렇기 때문에 최대한 이러한 협업지원해주는 software를 잘 사용할 줄 아는 것이 중요합니다. 예를 들어, Github과 같은 software는 여러 사람이 같이 협업할 때 필요한 기능들(ex: 버전관리 기능)을 다수 제공하고 있습니다. 또한, VScode 같이 좋은 기능이 많이 담긴 IDE를 사용하게 되면 github 연동, interactive mode 기능 등을 잘 사용할 수 있기 때문에 개발이 빨라질 수 있습니다.

 

딥러닝 연구에서 구글, 페이스북, 엔비디아 같은 회사의 리서쳐들이 좋은 성과를 낼 수 있는 이유는 자원최대한 잘 활용할 수 있기 때문입니다. Docker, Kubeflow 같은 resource management tool을 이용하면서 자원 관리를 하고, horovod 분산처리 시스템 또는 Mixed precision과 같은 기술 등을 이용하여 자원을 최대한 활용할 수 있도록 하기 때문에 실험을 빠르고 효율적으로 진행할 수 있었죠. 

 

또한 딥러닝 실험들을 관리해주는 weight&biases 와 같은 tool을 이용할 수 있으면 다양한 hyper-parameter들을 automatic하게 search 해줄 수 있으며, 실험 결과들을 매우 용이하게 비교 분석할 수 있게 되죠 (Experiment Management).

 

"이론적인 design을 하는 것도 매우 중요하지만 이를 구현하고 실험할 수 있는 능력은 또 다른 문제일 수 있습니다. 머리속으로 상상하는 것과 그것을 실현시키는 것이 다른 문제인것 처럼요."

 

 

 

1-3. Operations

MLOps마지막 단계라고 할 수 있는 것은 해당 모델 배포하고 운영하는 단계입니다.

자신의 딥러닝 또는 머신러닝 모델을 웹에 배포할지, 핸드폰 같은 곳에 배포할 지에 따라서  배포 방식다양합니다.

 

보통 배포 및 운영과 관련된 이슈들은 딥러닝 학계에서 주로 신경쓰고 있는 분야는 아닙니다. 주로 computer engineering 분야에서 다루어지는 문제들이죠.  

 

하지만, 최근에는 학계에서도 조차 자신들이 만든 모델상용화시키기 위한 노력들을 하고 있습니다. 즉, 딥러닝이 단순히 학문적인 연구에 머무르는 것이 아니라, 자신들이 연구하고 개발한 딥러닝 모델이 어떻게 실세계에 영향을 미치는지 보고 싶은 것이죠. 결국 이를 위해서는 deployment관련지식들도 습득할 필요가 있습니다. 예를 들어, microsoftonnx를 다룰 줄 안다면 배포를 좀 더 쉬운 방법으로 할 수 있겠죠.

 

 

 

 

본래 MLOps라는 개념은 아래 논문에서 처음 출현했다고 합니다. 딥러닝을 연구하다보면 딥러닝 학계의 연구들이 굉장히 많은 기여를 하고 있다고 생각합니다. 물론, 딥러닝 기술을 리딩하는 건 학계에서 출발하는게 대부분이죠. 하지만, ML(or DL) system 관점에서 봤을 때, 딥러닝 모델을 연구를 하고 coding을 하여 구현하는 행위가 기여하는 바가 실세계에서 얼마나 많은 부분을 차지하고 있는지 모를 가능성이 큽니다.

 

 

 

 

"사실 최근에는 연구분야 조차 MLOps를 이용하지 않으면 연구성과를 빠르게 낼 수 없다는 이야기를 합니다. 그럼 지금부터 연구자들이 MLOps에 관심을 갖어야할 이유에 대해서 살펴보도록 하겠습니다."

 

 

그림 출처: https://blogs.nvidia.co.kr/2020/09/11/what-is-mlops/

 

 

 

 

 

 

 

2. 머신러닝 or 딥러닝 연구자들이 MLOps에 관심 갖어야 하는 이유 

결국 machine learning (or deep learning) 제품을 만든다는 것은 위에서 언급한 3가지 단계 과정을 모두 포함합니다. 

 

학계에서는 design, model development, deployment와 같은 단계에 대해 크게 신경쓰진 않았습니다. 보통은 수학, 물리학, 생물학 등의 개념들을 잘 이용하여 새로운 딥러닝 이론제시하여 좋은 논문을 내는 것이 목적이었죠. 이러한 연구들이 local 환경에서도 잘 수행되면 복잡한 tool들이 필요가 없습니다. 그냥 데이터를 다운 받고, 딥러닝 모델을 구현하고 학습하고 evaluation하면 그만이죠.

 

하지만, 산업계에서는 현실적용 가능한 연구를 요구합니다. 그래서, 좋은 논문을 냈더라도 그것이 현실에 잘 적용이 되지 않는다면, 딥러닝 기술들이 거품이라는 이야기를 듣게되죠. 결국, 딥러닝 연구 역시 상용화를 목적에 두어야 더 환영받는 연구분야가 될 것 입니다.

 

대학원생 역시 졸업을 하고 산업계로 뛰어들 때, 이론만 아는 바보박사 또는 바보석사가 되지 않기 위해 딥러닝과 관련한 다양한 tool에 대해서 알고 있어야 합니다.

 

 

 

2-1. 석사시절 경험 (2017~2018)

2017년 대학원 석사 초기(1학기)에 연구를 하면서 아래와 같은 생각을 했던 적이 있었습니다.

  • 딥러닝 이론을 공부하는데도 시간 없는데 MLOps 같은 것 까지 신경쓸 순 없다.
  • 학계는 학계가 할 일이 따로 있다. 예를 들어, 학계는 창조적인 이론을 만들고 기존 이론들을 잘 정립하는게 주 된 역할이다.

 

위와 같은 생각은 석사를 졸업하면서 아래와 같이 바뀌게 됐습니다.

  • 구글, 페이스북, 엔비디아, 마이크로 소프트에서 제출한 논문 결과들이 과연 한 번만 테스트 해본 것일까? 
  • 좋은 결과를 얻기 위해서는 수 많은 실험을 실행할 수 있는 능력을 키워야 하는 것이 아닌가?
  • 내가 자원을 더 잘 활용할 수 있었더라면 더 많은 실험을 할 수 있지 않았을까?
  • 내가 공부한 내용을 산업계가 관심있어할까?

 

결국 이러한 질문을 통해서 내린 결론을 다음과 같았습니다.

 

"실험을 설계(design)할 이론 공부와 실험을 빠르게 실행할 개발(development) 공부를 병행해야겠다"

 

 

 

2-2. 외부연구원  경험 (2020)

2020년 석사시절 지도해주신 분께서 한국교통대 교수님으로 임용되셔서, 한국교통대 외부연구원으로 지내게 되었습니다.

 

"당시 의료인공지능 관련 연구를 하면서 들었던 생각은 기존의 딥러닝 모델을 실험하고 연구하는 방식에 모순이 많이 있다는 점이었습니다."

 

특히, 충분한 ablation study를 하지 않고도 논문이 accept이 되는 등 개인적으로 이해가 안가는 부분들이 많이 있었죠.

 

예를 들어, learning rate, batch size, random seed 등의 hyper-parameter 값에 따라서 실험 결과가 바뀌기도 하는데, 논문에서 단 한번의 실험으로 1%의 성능이 향상되었다, 2%의 성능이 향상되었다는 결론이 받아드려진다는게 이해가되질 않았습니다.

 

그래서, 종종 "딥러닝 실험을 할 때 필수적으로 해야할 ablation study을 왜 하지 않는것이냐?"라는 질문을 던졌을 때 돌아온 답은 아래와 같았습니다.

 

"실험할 자원도 없고, 시간도 없으니까요"

 

 

이때부터 딥러닝 연구를 위해서 MLOps 지식들이 필요할 수 있겠다라는 생각을 하게 됐습니다. 특히, Model development와 관련된 다양한 toolkit들에 관심을 갖게 되었고, 동시에 아래와 같은 기대를 하게 되었습니다.

 

"이러한 toolkit들을 잘 이용한다면 탄탄한 실험을 빠른 시간내에 할 수 있지 않을까?"

 

그래서, MLOps에 기반이 되는 GPU 공부를 시작으로 다양한 toolkit (ex: Github, Mixed precision, Horovod, Weight&Biases, Docker 등) 을 알게 됐습니다.

 

 

 

2-3. 현재 연구실 (2021)

현재는 2020년에 배웠던 몇 가지 MLOps 기법들을 적용해 보면서 연구에 많은 도움을 받고 있습니다. 

 

  1. Docker: 연구실 내 고사양 GPU 서버를 효율적으로 사용함
  2. Github: 개별적으로 개발한 후 통합(integration)하여 버전 관리를 진행
  3. Weigth&Biases: Hyper-parameter tuning, Experiment management를 자동화 하여 실험 및 결과를 빠르고 탄탄하게 분석 (Efficient ablation study)
  4. Horovod: 다양한 GPU를 이용하여 효율적인 분산처리 시스템을 구축한 후, 학습 속도를 증가시킴
  5. Mixed precision: 배웠던 GPU 지식을 활용해 문제없이 mixed precision을 적용하여 inference 속도를 증가시킴 

 

(시간이 되는대로 배운 개념들을 잘 글로 정리하고, 비교한 실험 결과들을 설명할 예정입니다.)

 

 

 

 

 

 

3. 내가 생각하는 (연구자들이 특히 관심갖어야 할) MLOps

3-1. GPU 성능의 발전

Samsung, TSMC나노 공정 경쟁이 지속되면서 GPU성능은 계속해서 증가할 것입니다. 현재(2021.10월 기준) 최신 GPU RTX 30 series의 나노공정 기술이 8nm인데, 최근(2021.10월 기준)에는 NVIDIA가 TSMC의 5nm 공정을 이용해 새로운 GPU 모델생산할 것이다라는 이야기가 돌고 있죠.

 

만약, 개인 연구자들이 몇 개의 GPU를 살 수 있게 가격이 조정되고, 더 좋은 GPU가 나온다면  GPU, TPU를 극대화 하는 기술들(ex: 분산처리 시스템, Tensor core 이용 기술)을 잘만 이용하면 누구나 좋은 실험을 할 수 있을 것입니다. 예를 들어, 앞으로 horovod와 같이 좀 더 발전된 분산시스템을 잘 이용할 수 있다면 발전된 GPU 자원을 극대화 하여 연구성과를 내는데 큰 일조를 할 수 있을 것입니다.

즉, 우리가 감히 상상도 해보지 못했던 실험들을 할 수 있을 것이고, 방대한 양의 실험들을 통해 좀 더 근거있는 연구 결과를 선보일 수 있을 것입니다. 그런데 지금부터 준비하지 않는다면 결국 나중에 다가오는 기회를 놓칠 가능성이 많아지겠죠. 

 

 

 

3-2. Auto ML (Feat. Feature Engineering, HPO, NAS)

[3-2-1. NAS (Neural Architecture Search)]

보통 ML (or DL) 연구자들이 하는 많은 일들 중 하나는 새로운 ML(or DL) 모델고안하고 구현하는 것입니다. 하지만, 모델을 고안하고 연구하는 것은 쉬운일이 아닙니다. 왜냐하면 특정 모델을 구현하는데 고려해야할 요소도 굉장히 많으며, 해당 모델이 커질 수록 사용해야할 자원많아지고 시간오래 걸리기 때문입니다. 그래서, 딥러닝이 풀어야할 문제에 최적화 된 모델자동으로 만들어주는 NAS라는 기술이 계속 연구되고 있습니다.

 

 

[3-2-2. Feature Engineering]

보통 산업계에서는 새로운 ML(or DL) 모델을 고안하지 않는 것 보다, 기존 모델의 성능을 유지보수 하고 빠른 시간내에 향상시키는 방법을 선호합니다. 최근에는 모델링을 중점적으로 하는 model-centric view 연구보다 데이터의 퀄리티를 향상 시키는 data-centric view 연구가 더 많은 관심을 받고 있습니다. 

 

(↓↓ Data Centric AI를 강조하는 Andrew ng)

 

해당내용을 요약하면 아래와 같습니다.

 

  1. Model-centric view
    • 모델이 좋으면 조금 품질이 떨어지는 데이터로 학습해도 잘 동작한다는 관점
    • Good model → Robust for various dataset
  2. Data-centric view
    • 모델링을 하더라도 데이터를 기반으로 만들어야 하는 것이 맞는 방향
    • 좋은 모델을 만드는 것보다 좋은 데이터를 만드는 것이 딥러닝 모델 성능에 더 크게 기여
    • 대부분의 작업은 데이터를 수집하고 가공하는 일

 

[생산된 철 제품 중 불량을 검출하는 프로젝트]

    • 첫 시도(=baseline)에서는 76.2% 검출율을 보임
    • 90% accuracy까지 올리는 것이 목표
    • 두 그룹으로 나눠서 프로젝트를 진행함
    • Model centric 그룹: 딥러닝 모델 연구
    • Data-centric 그룹: data 전처리 (cleansing), 질 좋은 데이터 선별
    • Data-centric 그룹에서 성능향상이 뚜렷하게 나타남

 

 

 

앤드류 응은 아래와 같이 딥러닝 연구 트렌드가 변해야 산업의 요구에 빠르게 답할 수 있다고 주장한듯한 느낌을 받았습니다.

 

 

 

 

ML에서 data-centric 연구feature engineering 분야와 많은 관계가 있습니다.

아래 강의를 보면 raw data에서 어떻게 good data를 선별하는지에 대해 이해하실 수 있으니 참고하시길 바랍니다.

 

(↓↓↓ 아래에서 4강 수업이 feature engineering, 5강이 Art and Science of ML ↓↓↓)

https://www.coursera.org/specializations/machine-learning-tensorflow-gcp#courses

 

Machine Learning with TensorFlow on Google Cloud

Google 클라우드에서 제공합니다. Learn ML with Google Cloud. Real-world experimentation with end-to-end ML. 무료로 등록하십시오.

www.coursera.org

(↓↓↓Feature Engineering 관련 설명 ↓↓↓)

https://taeu.github.io/coursera/deeplearning-coursera-featrue-engineering/

 

[Coursera] 데이터 전처리 : Feature Engineering - Machine Learning with Tensorflow on Google Cloud Platform

목표

taeu.github.io

 

[Note]

보통 딥러닝에서는 유의미한 feature를 뽑아주는 feature engineering 역할을 DNN이 수행합니다. 아마 이 부분이 MLOps와 DLOps 를 구분짓게 하는 요소가 될 수 있을 것 같네요.

그림 출처: https://cacm.acm.org/magazines/2020/1/241703-techniques-for-interpretable-machine-learning/fulltext

 

 

[3-2-3. Hyper-Parameter Optimization (HPO)]

앞서 언급했듯 딥러닝에서는 결과영향을 미치는 다양한 hyperparameter들 (ex: batch size, learning rate, random seed 등)이 존재합니다. 그래서 보통 hyper-parameter들에 대한 ablation study가 따로 진행되기도 하죠. 만약에 다양한 hyper-parameter 조합을 학습이 끝날 때 마다 manually 설정해주면 굉장한 시간이 소요될 것 입니다. 예를 들어, 'batch=16, learning=0.1'이라고 설정한 학습이 끝났으면, 'batch=32, learning=0.01'로 설정하고 다시 학습시켜야 하는데, 언제 학습이 끝났는지도 모르고 (물론 요즘은 알람기능이 있긴 합니다만..), 이걸 하나씩 manually 바꿔주는 것도 여간 귀찮은 일이 아닙니다.

 

또한, hyper-parameter search 방식도 random search, grid search, Bayesian optimization, Tree-structured Parzen Estimators algorithm 등 너무나도 많기 때문에 manually 설정하여 학습한다면 많은 시간이 소요되죠. 그래서, 보통 weight&biases 를 통해 자동으로 hyper-parameter 값을 setting 해주어 테스트하고 결과를 visualization 해주는 tool을 이용하기도 합니다.

 

 

지금까지 설명한 내용들을 보통 AutoML이라는 영역안에 포함시키기도 합니다. 즉, AutoML이 잘 작동하면 할 수록 지금처럼 manually 모델링, manually hyper-parameter search 등을 할 필요가 없어지겠죠. 결국, Auto ML에 필요한 software가 MLOps tool로써 나오게 된다면 지금까지 딥러닝을 연구해왔던 방향이 매우 달라질 수 있을 겁니다.

 

그림 출처: https://ettrends.etri.re.kr/ettrends/178/0905178004/

 

 

 

 

 

4. MLOps 관련 유용한 자료

UCBerkely 대학boot campus를 통해 MLOps를 잘 다루는 것이 ML practioners에게 왜 중요한지 설명하고 있습니다.

 

https://fullstackdeeplearning.com/spring2021/lecture-6/

 

Full Stack Deep Learning

Hands-on program for software developers familiar with the basics of deep learning seeking to expand their skills.

fullstackdeeplearning.com

 

위의 링크는 boot campus에서 다루는 여러 lecture 중 "Lecture 6: MLOps Infrastructure & Tooling" 파트인데, ML practioners에게 아래와 같은 지식이 중요하다는 언급을 하고 있습니다.

 

  1. Software Engineering
    • ANACONDA
    • VScode
    • CUDA
    • Python
  2. Compute Hardware
    • NVIDIA GPU model
    • Cloud Options (ex: AWS, GCP, Azure)
  3. Resource Management
    • Docker
    • Kubernetes/Kubeflow
  4. Frameworks
    • Pytorch (lighting)
    • Tensorflow
    • Keras
    • fast.ai
  5. Distributed Training
    • Horovod
    • Ray
  6. Experiment Management
    • Weight&Biases
    • TensorBoard
  7. Hyperparameter Tuining
    • Weight&Biases: Sweep
    • Ray Tune

 

(↓↓↓ UC Berkeley boot campus lecture note ↓↓↓) 

https://fullstackdeeplearning.com/spring2021/lecture-6/

 

Full Stack Deep Learning

Hands-on program for software developers familiar with the basics of deep learning seeking to expand their skills.

fullstackdeeplearning.com

 

 

 

지금까지 MLOps에 관한 개념 및 개인적인 생각에 대한 글을 작성해봤습니다.

다음 글 부터는 실제로 사용하고 있는 여러 Tool들을 소개해보도록 하겠습니다.

 

 

 

 

 

[Reference]

https://fullstackdeeplearning.com/spring2021/lecture-6/

 

Full Stack Deep Learning

Hands-on program for software developers familiar with the basics of deep learning seeking to expand their skills.

fullstackdeeplearning.com

 

 

https://www.coursera.org/specializations/machine-learning-tensorflow-gcp#courses%EF%BB%BF

 

Machine Learning with TensorFlow on Google Cloud

Google 클라우드에서 제공합니다. Learn ML with Google Cloud. Real-world experimentation with end-to-end ML. 무료로 등록하십시오.

www.coursera.org

 

 

https://ml-ops.org/content/mlops-principles

 

ml-ops.org

Machine Learning Operations

ml-ops.org

 

 

안녕하세요.

이번 글에서는 디지털 뉴딜 사업의 일환인 AI hub를 소개하려고 합니다.

 

최근 딥러닝 학습을 하기 위해 양질의 데이터가 절실히 필요한 상황입니다.

특히, 의료 데이터의 경우에는 우수 인력들이 동원되어야 학습데이터를 구축 할 수 있습니다. 

 

그래서 정부에서는 대규모 투자를 하여 양질의 데이터 생산할 수 있게 지원하고 있는데,

그 중의 하나가 디지털 뉴딜 사업이고, 이러한 디지털 뉴딜 사업의 일환이 AI hub입니다. 

 

그래서 딥러닝을 공부하고 모델을 개발하는 사람들이 데이터를 구하는데 어려움이 없도록 AI hub신청하면 다양한 데이터 (ex: 공공의료데이터, 위성데이터 등) 제공 받을 수 있습니다.

 

이번 글에서는 위에서 설명한 내용들을 좀 더 구체적으로 알아보도록 하려고 합니다.

 

디지털 뉴딜을 설명하기에 앞서 뉴딜이 무엇이고, 한국판 뉴딜이 무엇인지 먼저 알아본 후 디지털 뉴딜과 AI hub에 대해서 설명하도록 하겠습니다.

 

 

1. 뉴딜이 무엇인가요?

루즈벨트를 미국 역사상 최초로 4번 연속 대통령으로 이끌었던 정부주도 사업뉴딜정책입니다.

이 뉴딜 정책을 설명하기 위해 잠시 짧게 역사적인 배경을 설명하도록 하겠습니다. 

 

1) 1865년 미국: 남북전쟁 종료

  • 1865년 미국의 남북전쟁이 끝나면서 통합된 정부가 수립이 됩니다.

 

2) 1865~1918년 미국: 미국 재건 시작

  • 이 시기에 유럽을 중심으로 다른 대륙에서 2750만 명이라는 이민자들이 미국으로 몰려들어오게 됩니다.
  • 이러한 이민자들 덕분에 노동력을 공급 받을 수 있었고, 캘리포니아와 같이 개발되지 않은 지역에 다양한 지역 사회형성할 수 있었습니다.

 

3) 1920년 미국: 미국 경제 호황

  • 1918년 1차 세계대전이 영국, 러시아, 프랑스 연합국승리로 끝났습니다.
  • 당시 영국은 러시아와 프랑스에 엄청난 돈을 빌려준 상태였습니다.
  • 하지만, 영국 역시 전쟁 중 이었기 때문에 부족한 돈을 미국 금융가에게서 빌리게 됩니다.
  • 영국은 미국에게 빌린 돈을 패전국인 독일에게 막대한 배상금을 주며 받으려 했습니다.
  • 물론, 러시아와 프랑스에게 빌려줬던 돈도 받아 미국에게 주려고 했습니다.
  • 하지만, 유럽의 경제는 이미 파탄이 난 상태였기 때문에 영국과 미국 모두 돈을 받기 힘든 상태가 되었습니다.
  • 그래서, 미국유럽 경제를 살리기 위해 대규모 투자를 하여 공장을 늘리고 많은 일자리(노동자)를 만들어 냈습니다. 이로 인해 투자 활발해 지면서 미국 또한 대규모 경제 호황을 맞이하게 됐죠

(↓↓↓ 미국의 1920년대 배경을 잘 설명해주는 동영상↓↓↓)

https://www.youtube.com/watch?v=xatt7AQPnMc 

 

 

 

4) 1930년 미국: 미국 경제 대공황

  • 늘어난 공장을 통해 공급수요앞서게 되자 기업가 또는 투자자들의 이윤줄어들게 되었습니다.
  • 그러자 노동자들을 해고시켜 노동임금을 줄이고 이윤증가시키려고 했습니다.
  • 하지만, 노동자들이 곧 수요자였기 때문에 미국 경제공장도 멈추고 대규모 실업자가 생겨나게 됩니다.

(↓↓↓1930년대 미국 대공황을 잘 설명한 영상↓↓↓)

https://www.youtube.com/watch?v=1W3_kkmHR5I 

 

 

 

5) 1930년 미국: 미국 경제 대공황

  • 1933년 루즈벨트 대통령은 미국 경제 대공황극복하고자 뉴딜 정책을 실시합니다.
  • 뉴딜 정책중 하나가 대규모 토목 사업후버 댐 건설입니다.
    • 서부개척과 이민자들의 유입으로 서부지역환경개선할 필요가 있었습니다.
    • 하지만, 특히 후버 댐이 건설되기 전까지 홍수 또는 가뭄에 의해 적절한 농업을 할 수 없게 되었죠.
    • 그래서 후버 대통령 (1929년 3월 4일 ~ 1933년 3월 4일) 은 1931년에 농장을 현대화하고 전력을 공급하고 홍수를 억제하기 위해 엄청난 규모의 댐 공사를 추진합니다. 그리고, 자신의 이름을 따 댐의 일음을 후버 댐이라고 명명합니다.
    • 루즈벨트 대통령은 본래 하고 있던 후버 댐 사업을 이어받아 1935년에 준공(=공사를 마침)을 선언합니다.

 

결국 뉴딜 정책이란 아래와 같이 정리할 수 있습니다.

 

"경제 위기를 극복하고자 정부에서 지원한 대규모 공공사업"

 

 

 

 

 

2. 한국판 뉴딜은 무엇인가요?

2020.04.22청와대 제5차 비상경제회의에서 정부가 국가 프로젝트로한국판 뉴딜구상하겠다는 의사를 처음 밝힙니다.

 

코로나와 일자리 문제로 인한 경제 위기를 극복하고자 정부에서 대규모 공공사업을 진행하려고 한 것이죠.

 

그리고 2020.07.14일에 '한국판 뉴딜' 국민보고대회를 통해 1시간 정도 '한국판 뉴딜' 정책 설명을 진행합니다.

 

(↓↓↓'한국판 뉴딜' 국민보고대회 관련 뉴스 (풀영상은 따로 검색하면 1시간 짜리 영상이 나옵니다↓↓↓)

https://www.youtube.com/watch?v=8baEZB88dNY 

 

'한국판 뉴딜' 정책은 크게 두 가지 사업(정책)으로 구성되어 있습니다.

  1. 디지털 뉴딜
  2. 그린 뉴딜

2020.07.14일 발표한 '한국판 뉴딜 1.0'에서는 2025년까지 국고 114조원, 민간과 지자체 포함 160조원을 투자하여 관련 일자리를 창출할 것이라고 밝혔습니다.

 

'한국판 뉴딜 1.0'방향성은 아래 "그림1"과 같이 '10대 대표과제'를 통해 파악할 수 있습니다.

 

그림1. 이미지 출처: https://www.korea.kr/special/policyCurationView.do?newsId=148874860

 

 

https://www.korea.kr/special/policyCurationView.do?newsId=148874860 

 

[정책위키] 한눈에 보는 정책 - 한국판 뉴딜

1. 한국판 뉴딜이란?2.한국판 뉴딜의 구조와 추진체계3.분야별 주요 내용4.한국판 뉴딜 주요 추진과제5.한국판 뉴딜 펀드 6.사례로 본 한국판 뉴딜 7.그 밖의 참고자료 / 누리집 1. 한국판 뉴딜이란?

www.korea.kr

 

 

그리고 1년 뒤 2021.07.14일 '한국판 뉴딜 2.0'을 발표하게 됩니다. 

'한국판 뉴딜1.0'의 방향성을 그대로 가져가면서 투자액을 좀 더 증액할 것이라고 합니다.

 

https://www.youtube.com/watch?v=ap0Wz5CTMOM 

 

 

앞서 언급했듯이 '한국판 뉴딜' 정책은 크게 두 가지로 분류 할 수 있습니다.

  1. 디지털 뉴딜
  2. 그린 뉴딜

 

앞서 디지털 뉴딜에 대해서 알아보기로 했으니, 지금부터 디지털 뉴딜에 대해 좀 더 자세히 설명드리도록 하겠습니다.

 

 

 

 

 

3. 디지털 뉴딜은 무엇인가요?

'한국판 뉴딜' 중 하나의 중심축을 담당하는 디지털 뉴딜은 크게 세 가지 방향성을 갖고 있습니다.

  1. 데이터 댐
  2. 지능형 정부
  3. 스마트 의료인프라

 

그림1. 이미지 출처: https://www.korea.kr/special/policyCurationView.do?newsId=148874860

 

 

여기서 제가 소개해 드릴 부분은 "데이터 댐""스마트 의료인프라"입니다.

 

 

3-1. 데이터 댐

오늘 날 적용하는 인공지능의 대표격인 딥러닝은 크게 두 가지 요소를 필요로 합니다.

  1. 데이터
  2. 딥러닝 모델 with 학습 방법론

 

학계에서 열심히 연구하는 부분들은 "2. 딥러닝 모델 with 학습 방법론"입니다.

수 많은 연구자들이 어떻게 하면 효율적인 딥러닝 모델을 만들 수 있을지 연구하여 논문으로 발표합니다.

 

하지만, 이러한 딥러닝 연구가 진행되기 위해서 반드시 선행되어야 하는 작업이 있습니다.

바로 딥러닝 모델을 학습 시키기 위한 '데이터'만드는 작업입니다.

 

결국 양질의 '데이터'가 있어야 효율적인 인공지능 연구들이 가능합니다.

 

그래서 정부는 디지털 뉴딜의 일환으로 데이터들을 한 곳에 저장 시킬 "데이터 댐"을 만들기로 합니다.

 

정부는 데이터 댐에 관련 이야기를 언급하면서 "D.N.A 생태계 강화"를 강조했습니다.

'D.N.A''Data. Network. AI' 약자인데, 데이터들을 하나의 저장소(=데이터 댐)에 모아 5G 기반의 통신만 기술을 이용해 AI 관련 사업하는 사람들에게 제공하면 어떻게 될까요?

 

위와 같이 공공 데이터 저장소가 있으면 많은 인공지능 기업과 연구자들이 데이터를 모으는 수고를 덜 면서 연구에만 몰두 할 수 있게 됩니다.

 

(↓↓↓'디지털 뉴딜'에서 데이터 댐에 관한 설명↓↓↓)

https://www.youtube.com/watch?v=9iNjaG72SSo 

 

 

(↓↓↓'데이터 댐' 관련 설명↓↓↓)

https://www.youtube.com/watch?v=EWIq6aWxbdg 

 

 

 

3-2. 스마트 의료인프라

의료 인공지능 및 IT결합하면서 개선될 수 있는 부분은 굉장히 많습니다.

 

몇 가지 예를 들면, 웨어러블 디바이스 또는 실시간 감지를 통해 사람의 생처정보 및 행동패턴을 분석하여 환자들을 지속 관찰할 수 도 있고, 성능 좋은 의료인공지능 모델로 인해 정확성 높고 더 빠른 진료를 가능하게 할 수도 있습니다. 또한 원격의료 시스템을 지원할 수 도 있고, 불필요한 중간체계를 줄여주어 의료비용을 감소시킬 수 도 있습니다.

 

(↓↓↓디지털 헬스케어와 관련해서 작성한 글↓↓↓)

https://89douner.tistory.com/195?category=986138 

 

1. 미국의 Healthcare환경 및 의료시스템

안녕하세요. 이번 글에서는 미국의 healthcare환경 및 의료 시스템에 대해서 알아보도록 하겠습니다. 사실, 각 나라마다 의료환경이 다릅니다. 예를 들어, 유럽의 의료환경, 한국의 의료환경, 미국

89douner.tistory.com

 

 

 

(↓↓↓디지털 뉴딜 사업 중 "스마트 의료인프라"관련 영상↓↓↓)

https://www.youtube.com/watch?v=d2d6-hRXXg4 

 

 

 

결국 의료분야에서 인공지능 모델을 이용하려는 연구자들은 위에서 언급한 '데이터 댐', '스마트 의료인프라'와 모두 관련있는 일을 하고 있으시다고 보셔도 될 것 같습니다.

 

 

 

 

 

 

4. AI hub는 무엇인가요?

만약 본인이 의료 인공지능을 연구하고 있다고 하신다면 연구를 어떻게 하고 있으신가요?

 

딥러닝 모델, 그 외 인공지능 학습방법론 등과 관련된 분야들 (ex: unsupervised learning, domain adaptation, CNN, GNN, etc ...) 을 연구하시고 있으실텐데, 이러한 연구를 하기 위해서는 데이터필요하실 겁니다.

 

보통 의료 분야에서 인공지능 모델을 연구하기 위한 방법은 두 가지 입니다.

  1. 사설 병원 (ex: 서울아산병원, 삼성서울병원, 서울대병원, 연세대병원, 고려대 병원 등..)의 private dataset을 이용한 연구 진행 방식
  2. Kaggle, MICCAI 에서 개최하는 challenge에서 제공해주는 public dataset을 이용한 연구 진행 방식

 

Private dataset양질의 데이터이지만 일반 연구자들이 접근하기가 쉽지 않고, public dataset의 경우에는 접근성좋지 품질떨어지는 경우가 종종 있습니다.

 

그래서 정부 양질의 데이터를 공공 개방할 수 있도록 '데이터 댐'을 만들기로 했는데, 이를 대표하는 곳AI-hub라는 곳입니다. (미리 말씀 드리면 의료 데이터는 다른 데이터들에 비해 데이터를 신청하는 것이 까다롭습니다. 아무래도 사람과 관련된 데이터라 엄격할 수 밖에 없겠죠? 하지만, private dataset은 보통 해당 기관 사람 아니면 접근이 거의 불가능 한 점을 보면 상대적으로 이용하기 수월하다고도 할 수 있을 것 같습니다)

 

(↓↓↓ AI-hub 사업 설명 영상↓↓↓)

https://www.youtube.com/watch?v=sEFPh1f63aE

 

 

(↓↓↓ AI-hub 사이트↓↓↓)

https://aihub.or.kr/

 

홈 | AI 허브

AI 데이터를 찾으시나요? AI 학습에 필요한 다양한 데이터를 제공합니다. 원하시는 분야를 선택해 보세요.

aihub.or.kr

 

 

위의 사이트에 접속하시면 아래와 같은 화면을 보실 수 있습니다.

굉장히 다양한 데이터들 종류가 있는데, 이 중에 헬스케어와 관련된 데이터들은 무엇이 있는지 살펴보도록 하겠습니다 (아래 '헬스케어' 부분을 클릭하시면 됩니다)

그림2

 

 

 

헬스케어 데이터들을 살펴보니 '이미지', '비디오', '오디오', '3D', '센서' 등 다양한 의료데이터들이 있네요.

이 중에서 '간암 진단 의료 영상'을 클릭해서 보도록 하겠습니다.

그림3

 

 

 

'간암 진단 의료 영상' 데이터와 관련된 정보들이 보이네요.

아래 "그림4"에서 우측 하단을 부분에서 교육활용동영상이라는 부분이 있는데, 해당 영상을 클릭하면 데이터에 대한 설명을 유튜브 영상으로 보여줍니다.

 

그림4

(↓↓↓간암 진단 의료 영상 관련 교육활용동영상↓↓↓)

https://www.youtube.com/watch?v=QQXQhWsy2YE 

 

 

 

 

굉장히 다양한 기관에서 의료 데이터를 만들기 위해 참여했다는것을 확인할 수 있었습니다.

그림5

 

데이터 형테는 DICOM, PNG, JSON 형식으로 제공되고, 폴더 트리에 대한 설명도 자세하게 적어놓은 것을 알 수 있습니다.

그림6

 

(↓↓↓DICOM 파일 관련 설명↓↓↓)

https://89douner.tistory.com/293

 

3-1. DICOM 파일이란? (Feat. Definition, PACS, digital image 습득과정)

안녕하세요. 이번 글에서는 의료 영상(Medical imaging)에서 사용하는 DICOM 파일이 어떻게 생겨났는지, 어떻게 이용되고 있는지 알아보도록 하겠습니다. 또한 DICOM이라는 것이 digital image이기 때문에,

89douner.tistory.com

 

 

그렇다면 이러한 데이터들을 어떻게 이용할 수 있을까요?

 

앞서 '그림3'에서 '간암 진단 의료 영상'을 클릭하고 들어가면 아래 화면이 나오는걸 '그림4'에서 확인하셨을 거에요. 이 화면에서 아래 "그림7"과 같이 '이용신청'을 클릭해줍니다. 

 

그림7

 

 

아래 화면과 같이 데이터를 신청하는 절차가 나오네요.

의료 데이터는 이용신청을 위해 좀 더 까다로운 절차가 진행됩니다.

 

그림8

 

 

위에서 설명하고 있는 절차중 'IRB'관련 내용은 아래 글을 참고해주시면 좋을 것 같습니다.

https://89douner.tistory.com/295

 

4. 한국에서 의료 데이터를 다루기 위한 행정절차

안녕하세요. 이번 글에서는 한국에서 의료 데이터를 다루기 위한 행정적 절차에 대해 소개해드리려고 합니다. 1. Motivation (의료 데이터를 사용하는데 왜 행정적 절차가 필요할까요?) 딥러닝 모델

89douner.tistory.com

 

이외에 "생명윤리준수서약서"도 작성하여 제출해야 하니 참고하시면 될 것 같습니다.

 

 

 

 

지금까지 '한국판 뉴딜', '디지털 뉴딜', 'AI-hub'를 소개하면서 의료 인공지능을 하시는 분들이 어떻게 양질의 데이터를 신청하고 모을 수 있는지 알아보았습니다.

 

감사합니다.

 

안녕하세요.

이번 글에서는 한국에서 의료 데이터를 다루기 위한 행정적 절차에 대해 소개해드리려고 합니다.

 

 

1. Motivation (의료 데이터를 사용하는데 왜 행정적 절차가 필요할까요?)

딥러닝 모델을 이용해 Chest-Xray, CT 등의 의료 영상을 classification, segmentation, detection을 할 때, 많은 분들이 Kaggle과 같은 public data를 이용합니다.

 

반면 병원에서 마련한 private dataset을 이용할 때도 있습니다. 즉, 병원소속 연구원들은 private dataset을 이용해 병원 자체 연구를 하기도 하죠. 

 

그런데, 병원 데이터(=private dataset)이라는 것이 대부분 임상데이터입니다. 

 

Q. 임상시험이란?

A. 사람을 직접 대상으로, 사람에게서 추출(또는 적출)된 검체나 사람에 대한 정보를 이용하여 이루어지는 모든 시험 → 즉, 임상데이터는 사람으로 부터 얻어지는 데이터

 

즉, 사람에 대한 데이터를 사용하는 것이기 때문에 굉장히 엄격한 윤리적 기준이 적용됩니다. 결국 연구자들은 이러한 윤리적 기준에 대해서 잘 알고 있어야 하기 때문에 관련 교육이 필요합니다.

 

 

 

2. 프로그램 수강 절차

위에서 언급한 교육을 수강하는 순서를 말씀드리도록 하겠습니다.

 

2-1. 질병보건통합관리시스템 접속후 사용자 가입

해당 프로그램을 듣기 위해서는 "질병관리청 교육시스템"에 접속해야 합니다. 

"질병관리청 교육시스템"에 접속하기 위해서는 "질병관리청 질병보건통합관리시스템"에서 먼저 사용자 가입을 해야 합니다.

 

https://is.kdca.go.kr/

 

질병관리청 질병보건통합관리시스템

 

is.kdca.go.kr

 

 

가입 시 근무하고 있는 병원소속같은 정보를 기입해주면 정상적으로 가입이 완료됩니다.

 

 

2-2. 질병관리청 교육시스템에서 임상교육개론 강의듣기

앞서 "질병관리청 질병보건통합관리시스템"에 사용자 가입을 완료 하셨다면, "질병관리청 교육시스템"에서 임상교육개론 강의를 들으시면 됩니다. (로그인시 공인인증서가 필요합니다)

 

강의를 듣는 순서는 아래와 같습니다.

 

1) 질병관리청 교육시스템 접속 및 로그인

https://edu.kdca.go.kr/edu/index.html

 

질병관리청 교육사이트

 

edu.kdca.go.kr

 

 

 

2) 과정안내 클릭

 

 

 

3) 과정명에 "임상연구개론" 입력 후, 관련 교육 신청

 

 

 

4) 나의 강의실에서 해당 강의 수강

영상길이는 2시간 정도이며, 따로 시험은 없었습니다.

 

 

 

5) 이후 수료증출력을 클릭하시고, 수료증을 pdf로 다운받으시면 됩니다. 

 

※참고로 임상교육개론으로 받은 수료증은 주기적으로 갱신해줘야 한다니 참고해두세요!

 

 

 

3. IRB(Institutional Review Board, 의학연구윤리심의위원회) 허가

의료 데이터 연구를 이용하여 연구를 진행하기 위해서는 해당 의료 데이터를 보유하고 있는 기관(ex: 병원)에 정식으로 IRB 허가를 신청해야합니다.

 

IRB 허가 신청을 하기 위해서는 GCP (Good Clinical Practice) 교육을 이수해야 하는데, 앞선 "임상교육개론"이 이에 해당합니다.

 

IRB 허가신청 절차는 앞선 "임상교육개론" 수료증 및 몇 가지 첨부 파일을 구비하여, 내가 근무하고 있는 병원 IRB 사이트에 등록을 하면 허가절차가 진행됩니다.

 

 

 

4. 과학기술인등록번호

보통 병원에서 의료 데이터를 기반으로 진행하는 연구들은 국가지원과제인 경우가 많습니다.

그래서 보통 국가정보사이트에 과학기술인으로 등록되어야 하기 때문에 아래 사이트에서 과학기술인 등록을 진행합니다. 

 

https://www.ntis.go.kr/hurims/hmreg/researcher/reg/checkRealNm.do

 

NTIS > 국가연구자번호

 

www.ntis.go.kr

 

 

 

지금까지 병원에서 의료 데이터를 사용하기 위한 간단한 행정절차에 대해서 알아봤습니다.

감사합니다.

 

 

 

[Reference]

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=atelierjpro&logNo=221330719904 

 

의료 데이터 연구자 윤리 교육 (필수)

의료 데이터를 사용하는 연구를 진행하기 위해서는 데이터 보유 기관에 정식으로 IRB라는 허가 절차를 ...

blog.naver.com

 

 

 

 

 

 

 

+ Recent posts