터미네이터가 우리를 찾아오지 않는다는 사실을 깨달았으니, 이제 인공지능과 친해지고 그 혜택을 누릴 때입니다!
오랫동안 인공지능 분야, 특히 그 핵심 하위 분야인 머신러닝은 베일에 가려져 있었습니다. 언론은 초지능, 자율성, 그리고 파괴적인 인공지능의 출현을 예고하며 많은 이들을 불안하게 만들었습니다. (저를 포함해서요)
하지만 오늘날 우리는 이 모든 소란과 과장 광고에 대해 무엇을 내세울 수 있을까요? 완벽과는 거리가 먼 인공지능 기술 실패 사례, 그리고 로봇처럼 변해버린 제한적이고 오작동하는 로봇 시민 정도일까요? 심지어 아직 제대로 된 언어 번역 알고리즘조차 없는 상황입니다.
만약 누군가가 여전히 인공지능이 인류의 종말을 가져올 것이라고 주장한다면, 제 반응은 이렇습니다.
그렇다면 인공지능(AI), 머신러닝(ML)과 관련된 모든 이야기는 단순한 유행어일까요? 인류의 종말을 가져오는 것이 아니라면요?
AI와 ML은 컴퓨터를 프로그래밍하여 분류 및 예측과 관련된 문제를 해결하는 새로운 방식입니다. 그리고 드디어 비즈니스 환경에서 즉시 활용하여 큰 이점을 얻을 수 있는 다양한 인공지능 서비스가 등장했습니다.
오늘날 AI 플랫폼은 기업에 어떤 도움을 줄 수 있을까요?
좋은 질문입니다!
인공지능은 (적어도 이론적으로는) 응용 분야가 매우 다양해서 특정 개발 목적을 언급하기가 어렵습니다. 마치 스프레드시트가 무엇을 위해 개발되었는지, 그리고 그것으로 무엇을 할 수 있는지 묻는 것과 비슷합니다. 물론 회계 목적으로 개발되었지만, 오늘날에는 회계 이상의 다양한 용도로 사용됩니다. 프로젝트 관리 도구, 할 일 목록, 데이터베이스 등으로 활용되기도 합니다.
AI도 마찬가지입니다.
간단히 말해, AI는 경험을 통해 학습하고 정의하기 어려운 작업에 유용합니다. 물론 인간도 할 수 있는 일이지만, AI는 엄청난 양의 데이터를 순식간에 처리하고 훨씬 빠르게 결론에 도달할 수 있다는 점에서 우위를 점합니다. 따라서 AI의 일반적인 응용 분야는 다음과 같습니다.
- 사진, 동영상 등에서 얼굴 인식
- 자녀 보호를 위한 이미지 분류 및 태그 지정
- 음성을 텍스트로 변환
- 미디어(예: 자동차, 여성 등) 내 객체 감지
- 주식 가격 변동 예측
- 테러 자금 조달 탐지 (하루 수백만 건의 거래 중)
- 추천 시스템 (쇼핑, 음악, 친구 등)
- 보안 문자 해독
- 스팸 필터링
- 네트워크 침입 감지
이 목록은 끝없이 이어질 수 있지만, 이제 기본적인 아이디어를 이해하셨을 것입니다. 이것들은 모두 전통적인 컴퓨팅 방식으로는 해결하기 어려웠던 문제들이지만, 비즈니스 및 실생활에서 매우 중요합니다.
이제 더 이상 고민하지 않고 최고의 AI 플랫폼 목록을 살펴보고 그들이 제공하는 것을 자세히 알아보겠습니다.
아마존 AI 서비스
Amazon이 다른 기업들을 빠르게 잠식해 나가는 것처럼, AWS는 플랫폼으로서 독보적인 위치를 차지하고 있으며 다른 대안을 떠올리기 어려울 정도입니다. 마찬가지로 아마존 AI 서비스는 매우 유용한 AI 서비스로 가득 차 있습니다.
다음은 AWS에서 제공하는 놀라운 서비스의 일부입니다.
Amazon Comprehend: 방대한 양의 비정형 텍스트 데이터를 이해하는 데 도움이 됩니다. 예를 들어, 기존 고객 지원 채팅을 분석하여 시간 경과에 따른 만족도 수준, 고객의 주요 관심사, 가장 많이 사용되는 키워드 등을 파악할 수 있습니다.
Amazon Forecast: 기존 시계열 데이터를 사용하여 미래를 정확하게 예측할 수 있는 설정이 필요 없는 서비스입니다. 시계열 데이터가 무엇인지 궁금하시다면, 최근에 작성한 이 기사를 참고해 보십시오 (기사 끝부분에 있는 Timescale이라는 데이터베이스를 찾아보세요).
Amazon Lex: 애플리케이션에 대화형 인터페이스(텍스트 및/또는 시각적)를 구축합니다. 배후에서는 Amazon의 훈련된 머신러닝 모델을 사용하여 사용자의 의도를 파악하고 즉시 음성을 텍스트로 변환합니다.
Amazon Personalize: 고객이나 사용자를 위한 맞춤형 추천을 생성하는 간단하고 인프라가 필요 없는 서비스입니다! 전자상거래 데이터 또는 거의 모든 데이터를 입력하면 매우 정확하고 흥미로운 제안을 얻을 수 있습니다. 물론 데이터 세트가 클수록 더 나은 추천을 받을 수 있습니다.
Amazon에는 이 외에도 많은 AI 서비스가 있으며, 하루 종일 찾아볼 만한 가치가 있습니다! 🙂
참고: AWS 문서에서 이러한 모든 서비스의 요약을 찾기가 어려울 수 있지만, https://aws.amazon.com/machine-learning으로 이동하면 “AI 서비스” 아래의 드롭다운 메뉴에서 확인할 수 있습니다.
텐서플로우
텐서플로우는 구글 브레인 팀이 만든 라이브러리 (및 플랫폼)입니다. 딥러닝 신경망이라고 하는 머신러닝의 하위 분야를 구현한 것입니다. 즉, TensorFlow는 딥러닝 기술을 사용하여 신경망으로 머신러닝을 달성하는 방법에 대한 Google의 관점을 보여주는 것입니다.
물론 TensorFlow만이 신경망을 사용하는 유일한 방법은 아니며, 장단점을 가진 다른 많은 라이브러리가 있습니다.
전반적으로 TensorFlow를 사용하면 다양한 프로그래밍 환경에서 머신러닝 기능을 사용할 수 있습니다. 기본 플랫폼은 시각적이며 작업 완료를 위해 그래프와 데이터 시각화에 크게 의존합니다. 따라서 프로그래머가 아니더라도 약간의 노력만 기울이면 TensorFlow에서 좋은 결과를 얻을 수 있습니다.
역사적으로 TensorFlow는 머신러닝을 “대중화”하는 것을 목표로 했습니다. 제가 알기로는 ML을 이렇게 단순하고 시각적이며 접근하기 쉽게 만든 최초의 플랫폼이었습니다. 그 결과 ML 사용이 폭발적으로 증가하고 사람들이 쉽게 모델을 훈련할 수 있게 되었습니다.
TensorFlow의 가장 큰 장점은 케라스입니다. 케라스는 프로그래밍 방식으로 신경망을 효율적으로 다룰 수 있는 라이브러리입니다. 다음은 단순한 완전 연결 네트워크(퍼셉트론)를 만드는 것이 얼마나 간단한지 보여줍니다.
model = tf.keras.Sequential() # 64개 유닛을 가진 밀집 연결 레이어를 모델에 추가 model.add(layers.Dense(64, activation='relu')) # 다른 레이어 추가 model.add(layers.Dense(64, activation='relu')) # 10개의 출력 유닛을 가진 소프트맥스 레이어 추가 model.add(layers.Dense(10, activation='softmax'))
물론 구성, 학습 등과 같은 다른 작업도 수행해야 하지만, 이 역시 간단하게 처리할 수 있습니다.
TensorFlow가 머신러닝을 JavaScript, 모바일 장치 및 IoT 솔루션에 도입한 것을 감안할 때 TensorFlow에서 단점을 찾기 어렵습니다. 하지만 일부 순수주의자들은 TensorFlow를 누구나 쉽게 망칠 수 있는 “덜” 전문적인 플랫폼이라고 여기기도 합니다. 따라서 기술적인 면에서 더 높은 수준을 추구하고 “깨우친” 사람들을 만나게 되면 약간의 저항에 직면할 수 있다는 점을 염두에 두십시오. 🙂
초보자라면 TensorFlow 소개 온라인 강좌를 꼭 확인해 보십시오.
참고: TensorFlow에 대한 일부 비판에서는 더 이상 GPU를 사용할 수 없다고 언급하지만, 이는 사실이 아닙니다. 오늘날 TensorFlow는 GPU와 함께 작동할 뿐만 아니라 Google은 클라우드에서 사용할 수 있는 TPU(TensorFlow Processing Unit)라는 특수 하드웨어를 개발했습니다. 서비스를 통해 사용할 수 있습니다.
구글 AI 서비스
Amazon의 서비스와 마찬가지로 Google도 클라우드 서비스 제품군을 제공하며, 이러한 서비스는 AI를 중심으로 이루어집니다. Amazon의 제품과 매우 유사하므로 모든 서비스를 나열하지는 않겠습니다. 관심 있는 개발자를 위해 빌드할 수 있는 항목의 스크린샷을 첨부했습니다.
일반적으로 Google의 AI 서비스를 사용하는 방법에는 두 가지가 있습니다. 첫 번째는 Google에서 이미 학습한 모델을 활용하여 제품에 적용하는 것입니다. 두 번째는 AutoML이라는 서비스를 사용하는 것입니다. AutoML은 머신러닝의 여러 단계를 자동화하여 ML 전문 지식이 부족한 풀 스택 개발자도 쉽게 모델을 구축하고 학습할 수 있도록 지원합니다.
H2O
H2O의 “2”는 아래 첨자로 표시되어야 하지만 (물에 대한 화학식과 비슷함), 입력하기가 번거롭습니다. 저는 H2O를 만든 사람들이 이 점을 이해해 주기를 바랍니다!
H2O는 Fortune 500대 기업에서 사용하는 머신러닝을 위한 오픈 소스 플랫폼입니다.
핵심 아이디어는 최첨단 AI 연구를 소수의 영향력 있는 기업에 국한하지 않고 일반 대중에게 제공하는 것입니다. 다음과 같은 여러 제품이 H2O 플랫폼에서 제공됩니다.
- H2O: 머신러닝을 탐색하고 사용하는 기본 플랫폼입니다.
- H2O Sparkling Water: Apache Spark와 공식적으로 통합되어 대용량 데이터 세트를 처리합니다.
- H2O4GPU: H2O 플랫폼의 GPU 가속 버전입니다.
H2O는 또한 기업을 위한 맞춤형 솔루션을 제공하며, 여기에는 다음이 포함됩니다.
- Driverless AI: Driverless AI는 자율 주행 자동차와 관련이 없습니다! 🙂 Google의 AutoML 제품 라인과 더 유사합니다. 대부분의 AI/ML 단계를 자동화하여 더 간단하고 빠르게 개발할 수 있도록 도와줍니다.
- 유료 지원: 기업은 GitHub 문제를 제기하고 답변을 기다릴 수 없습니다. 시간이 돈이라면 H2O는 대기업을 위한 유료 지원 및 컨설팅을 제공합니다.
페투움
페투움의 Symphony는 인공지능을 쉽게 사용할 수 있도록 설계된 플랫폼입니다. 코딩에 지쳤거나 더 많은 라이브러리와 출력 형식을 암기하고 싶지 않다면, Symphony는 알프스에서 휴가를 보내는 것처럼 느껴질 것입니다!
Symphony 플랫폼에 대해 “공개”된 정보는 많지 않지만, 그 기능은 매우 유망합니다.
- 드래그 앤 드롭 UI
- 대화형 데이터 파이프라인을 쉽게 구축
- 보다 복잡한 AI 애플리케이션을 만들기 위한 수많은 표준화된 모듈식 빌딩 블록
- 시각적인 방식이 충분하지 않다고 생각되는 경우 프로그래밍 및 API 인터페이스 제공
- GPU를 통한 자동화된 최적화
- 확장성이 뛰어난 분산 플랫폼
- 다양한 소스의 데이터 집계
진입 장벽이 상당히 낮아졌다는 것을 느낄 수 있는 더 많은 기능이 있습니다. 추천합니다!
폴리액손
오늘날 머신러닝과 인공지능의 가장 큰 과제는 좋은 라이브러리나 알고리즘(또는 학습 자료)을 찾는 것이 아니라, 그로 인해 발생하는 거대한 시스템과 높은 데이터 로드를 처리하기 위해 적용해야 하는 숙련된 엔지니어링입니다.
숙련된 소프트웨어 엔지니어조차도 많은 어려움을 느낄 수 있습니다. 만약 당신도 그렇다면 폴리액손을 확인해 보는 것이 좋습니다.
Polyaxon은 라이브러리나 프레임워크가 아닙니다. 오히려 다음과 같은 머신러닝의 모든 측면을 관리하기 위한 엔드투엔드 솔루션입니다.
- 데이터 연결 및 스트리밍
- 하드웨어 가속
- 컨테이너화 및 오케스트레이션
- 스케줄링, 저장 및 보안
- 파이프라인, 최적화, 추적 등
- 대시보드, API, 시각화 등
다양한 인기 있는 (오픈 소스 및 폐쇄 소스) 솔루션을 지원하므로 라이브러리나 공급업체에 종속되지 않습니다.
물론 특정 수준에서는 배포 및 확장을 직접 처리해야 합니다. 하지만 이러한 작업에서도 벗어나고 싶다면 Polyaxon은 탄력적인 인프라를 제공하는 PaaS 솔루션을 제공합니다.
데이터로봇
간단히 말해서, DataRobot은 기업을 위한 집중적인 머신러닝 솔루션입니다. 전반적으로 시각적이며 데이터를 빠르게 이해하고 구체적인 비즈니스 용도로 사용할 수 있도록 설계되었습니다.
인터페이스는 직관적이고 깔끔하여 전문가가 아니더라도 쉽게 이해하고 의미 있는 인사이트를 얻을 수 있습니다.
DataRobot은 다양한 기능을 제공하지 않습니다. 대신 전통적인 데이터 감각에 중점을 두고 다음과 같은 강력한 기능을 제공합니다.
- 자동화된 머신러닝
- 회귀 및 분류
- 시계열 분석
기업에서 필요한 대부분의 기능이 제공되므로, 대부분의 경우 DataRobot만으로 충분할 것입니다. 🙂
신경 디자이너
사용하기 쉽고 강력한 AI 플랫폼에 대해 이야기하는 동안, Neural Designer도 특별히 언급할 가치가 있습니다.
Neural Designer에 대해 할 말이 많지는 않지만, 실제로 할 수 있는 일은 많습니다! 신경망이 현대 머신러닝 방법론을 어느 정도 지배하고 있다는 점을 고려할 때, 신경망에만 초점을 맞춘 플랫폼으로 작업하는 것은 합리적입니다. 선택의 여지가 없고 주의가 산만해질 일도 없습니다. 양보다는 질을 추구하는 것입니다.
Neural Designer는 여러 면에서 탁월합니다.
- 프로그래밍이 필요하지 않습니다. 전혀 필요하지 않습니다.
- 복잡한 인터페이스를 구축할 필요가 없습니다. 모든 것이 명확하고 이해하기 쉬운 단계로 구성되어 있습니다.
- 신경망에 특화된 가장 발전되고 정제된 알고리즘을 제공합니다.
- CPU 병렬화 및 GPU 가속을 통해 고성능을 제공합니다.
확인해 볼 가치가 있을까요? 당연히 그렇습니다!
Prevision.io
Pervision.io는 데이터 처리에서 대규모 배포에 이르기까지 머신러닝의 모든 측면을 관리하기 위한 플랫폼입니다.
예측IO
개발자라면 PredictionIO가 매우 유용한 선택이 될 수 있습니다. 기본적으로 PredictionIO는 앱(웹, 모바일 또는 기타)에서 데이터를 수집하고 빠르게 예측 모델을 구축할 수 있는 머신러닝 플랫폼입니다.
이름에 속지 마십시오. PredictionIO는 예측뿐만 아니라 머신러닝의 전체 스펙트럼을 지원합니다. 다음은 이 플랫폼을 선호하는 몇 가지 이유입니다.
- 분류, 회귀, 추천, NLP 등을 지원합니다.
- 빅 데이터 환경에서 대규모 워크로드를 처리하도록 설계되었습니다.
- 시간이 부족한 사람들을 위해 여러 가지 사전 구축된 템플릿을 제공합니다.
- Apache Spark, MLlib, HBase, Akka HTTP 및 Elasticsearch와 함께 제공되어 강력하고 현대적인 앱의 모든 요구 사항을 충족합니다.
- 일괄 처리 또는 실시간 모드에서 여러 소스의 결합된 데이터 수집을 지원합니다.
- 일반적인 웹 서비스로 배포가 간편합니다.
대부분의 웹 프로젝트에서 PredictionIO가 어떻게 유용하지 않을 수 있는지 잘 모르겠습니다. 한번 사용해 보십시오!
결론
오늘날 AI 및 ML 프레임워크 또는 플랫폼은 부족하지 않습니다. 이 기사를 조사하기 시작했을 때 너무 많은 선택지가 있었습니다. 그래서 저는 이 목록을 독특하고 흥미로운 것으로 좁히려고 노력했습니다. 중요한 것을 놓쳤다고 생각되면 알려주십시오.
만약 머신러닝 학습에 관심이 있다면, 코세라에서 좋은 머신러닝 강좌를 확인해 보십시오.
그렇다면 어떤 플랫폼이 가장 좋을까요? 불행히도 명확한 답은 없습니다. 이러한 서비스의 대부분은 특정 기술 스택 또는 생태계에 묶여 있기 때문입니다 (대부분 폐쇄적인 생태계를 구축). 더 중요한 이유는 AI 및 ML 기술이 이제 보편화되었고, 최대한 많은 기능을 저렴한 가격으로 제공하려는 경쟁이 치열해지고 있기 때문입니다. 어떤 공급업체도 다른 공급업체에서 제공하는 것을 제공하지 않을 수 없으며, 새로운 서비스가 출시되면 거의 즉시 경쟁업체에서 따라 하게 됩니다.
따라서 스택과 목표가 무엇인지, 서비스가 얼마나 직관적인지, 그 뒤에 있는 회사에 대한 인식이 무엇인지 등에 따라 달라집니다.
하지만 어쨌든 AI가 드디어 서비스 형태로 제공되기 시작했다는 것은 의심의 여지가 없으며, 이를 활용하지 않는 것은 매우 어리석은 일입니다. 🙂