Quick Start Guide

안녕하세요 👋 DS2.ai 는 인공지능 모델 개발과 운영을 한 곳에서 할 수 있는 MLOps 기반 데이터 과학 솔루션입니다.

DS2.ai 를 사용하시면 MLOps 기반의 능동적 학습 프로세스에 의한 SOTA 알고리즘으로 맞춤형 AI 모델을 쉽게 구축할 수 있고, OCR, GPT, TTS, Image to Text, Translations를 포함한 SOTA 모델을 사용하기 쉽게 제공하고 있습니다.

  • 쉬운 SOTA 모델 사용 지원 (OCR, GPT, Image to Text, 번역등)

  • 메뉴얼 & 오토 라벨링 툴 (정형화, 텍스트, 이미지, 추천시스템)

  • 머신러닝 & 딥러닝 학습 (Pytorch, Tensorflow, XGboost, etc)

  • AI 분석 (처방적 분석과 데이터 분석 지원)

  • AI 모델 배포와 모니터링

  • API & Python SDK 지원

Step 1 : 설치하기

1-1. Windows 또는 Mac

  1. Docker 링크 (https://www.docker.com/products/docker-desktop/) 로 들어가서 Docker Desktop 을 설치해주세요.

  2. 아래 docker-compose.yml 파일을 다운로드 받아 빈 폴더를 생성한 후 그 안에 넣어주세요. docker-compose.yml

  3. 터미널을 연 후 docker-compose.yml 가 들어간 폴더로 이동하여 다음 명령어를 실행합니다.

docker-compose up -d

설치가 성공적으로 완료 되면 http://localhost:13000 으로 접속하여 ds2.ai 실행이 가능합니다.

최초 설치가 완료된 후 약 3~5분 정도의 업데이트가 진행된 후 접속이 가능합니다.

해당 방법으로 설치 시 CPU 기반으로 동작합니다. 물체인식 인공지능 생성 및 오토라벨링이 불가합니다. (Linux OS에 설치 Nvidia 그래픽 카드가 내장되어 있어야 가능)

* 삭제를 원하시는 경우 아래 명령어를 실행하시면 삭제가 완료됩니다.

sudo docker stop ds2ai-container
sudo docker rm ds2ai-container
sudo docker rmi dslabglobal/ds2ai:stable

1-2. Linux (Ubuntu, CentOS 등, 윈도우 WSL2 의 경우 Ubuntu 18.04 지원)

다음 스크립트를 실행하여 설치를 진행합니다.

wget https://d1w4uf5gel2p4w.cloudfront.net/ds2_install.sh
sudo bash ds2_install.sh

설치가 성공적으로 완료 되면 http://localhost:13000 으로 접속하여 ds2.ai 실행이 가능합니다.

최초 설치가 완료된 후 약 3~5분 정도의 업데이트가 진행된 후 접속이 가능합니다.

* 삭제를 원하시는 경우 아래 명령어를 실행하시면 삭제가 완료됩니다.

sudo docker stop ds2ai-container
sudo docker rm ds2ai-container
sudo docker rmi dslabglobal/ds2ai:stable
sudo docker rmi dslabglobal/ds2ai:stable_gpu

nvidia-driver 가 설치되어 있지 않은 경우 물체인식 인공지능 생성 및 오토라벨링이 불가합니다. (Linux OS 중 Nvidia 그래픽 카드가 내장되어 있어야 가능)

Step 2: 관리자 계정 등록하기

설치가 끝난 후 http://localhost:13000 로 접속하면, 관리자를 등록할 수 있는 페이지가 나오게 됩니다.

가입이 끝나면 ds2.ai 의 최초 관리자 계정이 설정됩니다. 가입이 되고 나면 최초 페이지가 보여지게 됩니다.

Step 3: 학습 시작하기

- 맞춤형 AI 개발 지원

DS2는 자동화된 기계 학습 파이프라인을 기반으로 고정밀 처방적 분석을 제공합니다.

처방적 분석을 실행하기 위한 딥러닝 모델은 시간이 지남에 따라 고도화를 하면서 정확도를 더 높여갈 수 있고, 그렇게 높아지는 정확도로 만들어지는 처방적 분석은 더 높은 정확도를 가지게 됩니다. DS2 는 기계 학습 파이프라인을 자동으로 설치하여 액티브 러닝 (Active Learning) 프로세스를 통해 [학습 - 분석 - 배포 - 수집] - [재학습 - 분석 - 배포 - 수집] - … 을 별다른 노력 없이 할 수 있게끔 도와드립니다.

라벨링이 완료되면 학습데이터를 이용하여 인공지능을 개발할 수 있습니다. 데이터셋이나 라벨링 프로젝트 화면에서 "인공지능 개발 시작하기" 버튼을 클릭하면 인공지능 개발을 위한 설정화면에 들어갈 수 있습니다.

설정 화면에서는 크게 3가지 종류의 개발 환경을 지원하고 있습니다.

  • 수동 설정 : 딥러닝 & 머신러닝 라이브러리 (Pytorch, Tensorflow, XGboost 등) 설정 지원 기능

  • 코드 생성 : 주피터 환경에서 바로 실행이 가능한 인공지능 개발 코드를 자동으로 생성해주는 기능

  • 학습 속도 빠르게 (AutoML) : AutoML 학습 기법 중 학습 속도를 빠르게 하여 모델을 만들어 주는 기능

  • 정확도 높게 (AutoML) : AutoML 학습 기법 중 정확도가 높게끔 모델을 만들어주는 기능

원하는 학습 방법을 선택한 후 오른쪽에 있는 Start 버튼을 누르면 학습이 시작됩니다. 시작 후 하단에 "모델" 탭을 클릭하면 개발되는 모델의 진행상태를 확인할 수 있으며, 학습이 끝나고 나면 각 모델의 정확도등 정보 확인과 모델을 이용한 "예측하기" 기능, 모델을 배포할 수 있는 "배포하기" 기능, 모델을 통해 만들어진 예측 결과 데이터셋을 통한 "분석하기" 기능을 제공합니다.

Step 4: 처방적 분석 실행하기

최적의 모델을 선택하고 나면 처방적 분석을 실행하여 설명 가능한 AI (XAI) 를 기반으로 만들어진 문장을 통해 인사이트를 얻을 수 있습니다.

Step 5 : 모델 배포하기

DS2.ai 를 통해 학습을 완료하거나 이미 만들어놓은 모델을 DS2.ai 에 업로드하여 모델 배포하기 기능을 사용할 수 있습니다. (모델을 직접 업로드 하는 기능은 Pytorch 와 Tensorflow2 모델을 지원하고 있습니다.)

상단에 있는 "배포" 메뉴 버튼을 클릭하여 업로드를 하거나 "학습" 메뉴에서 개발이 완료된 모델을 "배포하기" 기능을 통해 배포를 할 수 있습니다.

배포가 된 모델은 별도의 엔드포인트를 통해 관리될 수 있으며, API 호출횟수등을 모니터링 할 수 있습니다.

모델이 배포된 후, 예측에 사용된 입력값과 출력값은 자동으로 데이터셋에 저장되어 액티브 러닝을 통해 정확도가 더 높은 인공지능을 쉽고 빠르게 만들 수 있도록 도와줍니다.

Step 6: 재학습을 위한 라벨링 시작하기

인공지능 모델을 만들기 위해 필요한 학습데이터 라벨링 도구를 지원합니다. 상단 메뉴에서 라벨링을 클릭 한 후 데이터셋을 업로드하면 수동 라벨링과 오토라벨링 툴 중 원하는 기능을 선택하여 라벨링을 시작할 수 있습니다.

Step 7 : Python SDK 이용하기

DS2.ai 의 강력한 기능 중 하나는 다양한 조건의 학습 설정을 쉽게 하여 최적의 인공지능 모델을 도출 할 수 있는 수동 설정 기능입니다.

pip install ds2ai

ds2ai 파이썬 라이브러리 설치를 완료하면 아래와 같은 예제를 이용해서 학습 실행이 가능합니다.

import ds2ai
ds2 = ds2ai.DS2("your-app-code")

project = ds2.train(
    "BankMarketing.csv",
    option="custom",
    training_method="normal",
    value_for_predict="과금 여부",
    algorithm="keras_ann",
    hyper_params={
      "layer_width": [20,3,5],
      "layer_deep": [3],
      "epochs": [10],
      "loss_function": ["mean_squared_error"],
      "optimizer": [
        {
          "clipvalue": 0.5,
          "learning_rate": 0.001,
          "beta_1": 0.9,
          "beta_2": 0.9999,
          "epsilon": None,
          "decay": 0,
          "amsgrad": False,
          "function_name": "Adam"
        }
      ],
      "activation": ["relu"],
      "batch_size": [32],
      "output_activation": ["relu"]
    }
)

오른쪽 상단의 유저 이름을 클릭하면 앱코드를 확인할 수 있는데 이 앱코드를 아래와 같이 넣어준 후 위 코드로 학습 시작을 할 수 있습니다.

ds2 = ds2ai.DS2("Your App code")

코드가 실행되고 나면 ds2.ai 에서 작업 상황 및 학습이 완료된 모델을 예측하거나 배포할 수 있는 기능을 그대로 사용할 수 있습니다. 더 많은 사용 방법은 왼쪽 메뉴 중 "SDK | PYTHON" 을 참고해주세요.

2) 쉬운 SOTA 모델 사용 지원

Image to Text

GPT

Translation

또한 OCR, 텍스트 요약, TTS(텍스트 음성 변환)를 사용할 수 있습니다. DS2에서는 Hugging Face에서 다른 모델로 변경할 수 있습니다.

BibTeX entry and citation info of the SOTA models

@article{DBLP:journals/corr/abs-1810-04805,
  author    = {Jacob Devlin and
               Ming{-}Wei Chang and
               Kenton Lee and
               Kristina Toutanova},
  title     = {{BERT:} Pre-training of Deep Bidirectional Transformers for Language
               Understanding},
  journal   = {CoRR},
  volume    = {abs/1810.04805},
  year      = {2018},
  url       = {http://arxiv.org/abs/1810.04805},
  archivePrefix = {arXiv},
  eprint    = {1810.04805},
  timestamp = {Tue, 30 Oct 2018 20:39:56 +0100},
  biburl    = {https://dblp.org/rec/journals/corr/abs-1810-04805.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}
@misc{grosman2021xlsr53-large-english,
  title={Fine-tuned {XLSR}-53 large model for speech recognition in {E}nglish},
  author={Grosman, Jonatas},
  howpublished={\url{https://huggingface.co/jonatasgrosman/wav2vec2-large-xlsr-53-english}},
  year={2021}
}
@misc{fan2020englishcentric,
      title={Beyond English-Centric Multilingual Machine Translation}, 
      author={Angela Fan and Shruti Bhosale and Holger Schwenk and Zhiyi Ma and Ahmed El-Kishky and Siddharth Goyal and Mandeep Baines and Onur Celebi and Guillaume Wenzek and Vishrav Chaudhary and Naman Goyal and Tom Birch and Vitaliy Liptchinsky and Sergey Edunov and Edouard Grave and Michael Auli and Armand Joulin},
      year={2020},
      eprint={2010.11125},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}
@misc{li2021trocr,
      title={TrOCR: Transformer-based Optical Character Recognition with Pre-trained Models}, 
      author={Minghao Li and Tengchao Lv and Lei Cui and Yijuan Lu and Dinei Florencio and Cha Zhang and Zhoujun Li and Furu Wei},
      year={2021},
      eprint={2109.10282},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}
@article{DBLP:journals/corr/abs-1910-13461, author = {Mike Lewis and Yinhan Liu and Naman Goyal and Marjan Ghazvininejad and Abdelrahman Mohamed and Omer Levy and Veselin Stoyanov and Luke Zettlemoyer}, title = {{BART:} Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension}, journal = {CoRR}, volume = {abs/1910.13461}, year = {2019}, url = {http://arxiv.org/abs/1910.13461}, eprinttype = {arXiv}, eprint = {1910.13461}, timestamp = {Thu, 31 Oct 2019 14:02:26 +0100}, biburl = {https://dblp.org/rec/journals/corr/abs-1910-13461.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }
@misc{watanabe2018espnet,
      title={ESPnet: End-to-End Speech Processing Toolkit}, 
      author={Shinji Watanabe and Takaaki Hori and Shigeki Karita and Tomoki Hayashi and Jiro Nishitoba and Yuya Unno and Nelson Enrique Yalta Soplin and Jahn Heymann and Matthew Wiesner and Nanxin Chen and Adithya Renduchintala and Tsubasa Ochiai},
      year={2018},
      eprint={1804.00015},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}
@article{radford2019language,
  title={Language Models are Unsupervised Multitask Learners},
  author={Radford, Alec and Wu, Jeff and Child, Rewon and Luan, David and Amodei, Dario and Sutskever, Ilya},
  year={2019}
}


```bibtext
@InProceedings{Rombach_2022_CVPR,
        author    = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\"orn},
        title     = {High-Resolution Image Synthesis With Latent Diffusion Models},
        booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
        month     = {June},
        year      = {2022},
        pages     = {10684-10695}
    }

다음 단계

앞선 기능들은 UI 에서 뿐만 아니라 API 나 Python SDK 를 통해 기존에 작업던 코드와 연동하여 시너지를 발휘할 수 있습니다.

더 자세한 가이드는 아래 버튼을 통해 순차적으로 진행할 수 있습니다.

Last updated