• 제목/요약/키워드: CNTK

검색결과 2건 처리시간 0.01초

딥러닝 프레임워크의 비교: 티아노, 텐서플로, CNTK를 중심으로 (Comparison of Deep Learning Frameworks: About Theano, Tensorflow, and Cognitive Toolkit)

  • 정여진;안성만;양지헌;이재준
    • 지능정보연구
    • /
    • 제23권2호
    • /
    • pp.1-17
    • /
    • 2017
  • 딥러닝 프레임워크의 대표적인 기능으로는 '자동미분'과 'GPU의 활용' 등을 들 수 있다. 본 논문은 파이썬의 라이브러리 형태로 사용 가능한 프레임워크 중에서 구글의 텐서플로와 마이크로소프트의 CNTK, 그리고 텐서플로의 원조라고 할 수 있는 티아노를 비교하였다. 본문에서는 자동미분의 개념과 GPU의 활용형태를 간단히 설명하고, 그 다음에 logistic regression을 실행하는 예를 통하여 각 프레임워크의 문법을 알아본 뒤에, 마지막으로 대표적인 딥러닝 응용인 CNN의 예제를 실행시켜보고 코딩의 편의성과 실행속도 등을 확인해 보았다. 그 결과, 편의성의 관점에서 보면 티아노가 가장 코딩 하기가 어렵고, CNTK와 텐서플로는 많은 부분이 비슷하게 추상화 되어 있어서 코딩이 비슷하지만 가중치와 편향을 직접 정의하느냐의 여부에서 차이를 보였다. 그리고 각 프레임워크의 실행속도에 대한 평가는 '큰 차이는 없다'는 것이다. 텐서플로는 티아노에 비하여 속도가 느리다는 평가가 있어왔는데, 본 연구의 실험에 의하면, 비록 CNN 모형에 국한되었지만, 텐서플로가 아주 조금이지만 빠른 것으로 나타났다. CNTK의 경우에도, 비록 실험환경이 달랐지만, 실험환경의 차이에 의한 속도의 차이의 편차범위 이내에 있는 것으로 판단이 되었다. 본 연구에서는 세 종류의 딥러닝 프레임워크만을 살펴보았는데, 위키피디아에 따르면 딥러닝 프레임워크의 종류는 12가지가 있으며, 각 프레임워크의 특징을 15가지 속성으로 구분하여 차이를 특정하고 있다. 그 많은 속성 중에서 사용자의 입장에서 볼 때 중요한 속성은 어떤 언어(파이썬, C++, Java, 등)로 사용가능한지, 어떤 딥러닝 모형에 대한 라이브러리가 잘 구현되어 있는지 등일 것이다. 그리고 사용자가 대규모의 딥러닝 모형을 구축한다면, 다중 GPU 혹은 다중 서버를 지원하는지의 여부도 중요할 것이다. 또한 딥러닝 모형을 처음 학습하는 경우에는 사용설명서가 많은지 예제 프로그램이 많은지 여부도 중요한 기준이 될 것이다.

딥러닝 오픈소스 프레임워크의 사례연구를 통한 도입 전략 도출 (Deriving adoption strategies of deep learning open source framework through case studies)

  • 최은주;이준영;한인구
    • 지능정보연구
    • /
    • 제26권4호
    • /
    • pp.27-65
    • /
    • 2020
  • 많은 정보통신기술 기업들은 자체적으로 개발한 인공지능 기술을 오픈소스로 공개하였다. 예를 들어, 구글의 TensorFlow, 페이스북의 PyTorch, 마이크로소프트의 CNTK 등 여러 기업들은 자신들의 인공지능 기술들을 공개하고 있다. 이처럼 대중에게 딥러닝 오픈소스 소프트웨어를 공개함으로써 개발자 커뮤니티와의 관계와 인공지능 생태계를 강화하고, 사용자들의 실험, 적용, 개선을 얻을 수 있다. 이에 따라 머신러닝 분야는 급속히 성장하고 있고, 개발자들 또한 여러가지 학습 알고리즘을 재생산하여 각 영역에 활용하고 있다. 하지만 오픈소스 소프트웨어에 대한 다양한 분석들이 이루어진 데 반해, 실제 산업현장에서 딥러닝 오픈소스 소프트웨어를 개발하거나 활용하는데 유용한 연구 결과는 미흡한 실정이다. 따라서 본 연구에서는 딥러닝 프레임워크 사례연구를 통해 해당 프레임워크의 도입 전략을 도출하고자 한다. 기술-조직-환경 프레임워크를 기반으로 기존의 오픈 소스 소프트웨어 도입과 관련된 연구들을 리뷰하고, 이를 바탕으로 두 기업의 성공 사례와 한 기업의 실패 사례를 포함한 총 3 가지 기업의 도입 사례 분석을 통해 딥러닝 프레임워크 도입을 위한 중요한 5가지 성공 요인을 도출하였다: 팀 내 개발자의 지식과 전문성, 하드웨어(GPU) 환경, 데이터 전사 협력 체계, 딥러닝 프레임워크 플랫폼, 딥러닝 프레임워크 도구 서비스. 그리고 도출한 성공 요인을 실현하기 위한 딥러닝 프레임워크의 단계적 도입 전략을 제안하였다: 프로젝트 문제 정의, 딥러닝 방법론이 적합한 기법인지 확인, 딥러닝 프레임워크가 적합한 도구인지 확인, 기업의 딥러닝 프레임워크 사용, 기업의 딥러닝 프레임워크 확산. 본 연구를 통해 각 산업과 사업의 니즈에 따라, 딥러닝 프레임워크를 개발하거나 활용하고자 하는 기업에게 전략적인 시사점을 제공할 수 있을 것이라 기대된다.