2018.11.30

기고 | 강화 학습, AI의 주류로 부상하다

James Kobielus | InfoWorld
2018년을 관통한 주요 인공지능 트렌드들 중 하나는 강화 학습(reinforcement learning) 기술의 성숙이다. 이 기술은 어느덧 통계 모형 설계 및 교육의 주류로 부상했다.

올 해 초 ‘AI 와 딥러닝의 다음 단계··· 개발자를 위한 '심층 강화 학습' 가이드’에서 예상한 바와 같이 강화 학습이 기업 AI 이니셔티브 분야에서 점차 그 역할을 확장해 나가고 있다. 그 동안은 로보틱스, 게이밍, 시뮬레이션 등 틈새 분야에만 국한되어 있던 이 기술의 잠재력이 드디어 주류 분야로 진입한 것이다. 

이제는 강화 학습이 IT 운영 관리, 에너지, 헬스 케어, 상업, 교통, 금융 등 다양한 분야의 최첨단 AI 애플리케이션에 이용되고 있다. 뿐만 아니라 소셜 미디어, 자연어 처리, 기계 번역, 컴퓨터 비전, 디지털 어시스턴트 등과 같이 차세대 AI 솔루션에도 강화 학습이 발을 내딛고 있다. 

기업 AI에서 강화 학습 알고리즘을 확산시키기 위해서는 강화 학습 프로젝트에서 협업하고 결과 모형들을 생산환경에 배치할 수 있는 툴이 개발자들에게 필요하다. 최근 강화 학습 중심의 AI 이니셔티브를 위한 오픈소스 워크벤치, 라이브러리, 데브옵스 파이프라인 등에 대한 여러 소식들이 들려오고 있다. 
 
Image Credit : Getty Images Bank


반복적인 강화 학습 개발 워크벤치
강화 학습 분야의 발전은 이미 우리 삶 속에 서서히 스며들고 있다. 우리가 일상적으로 사용하는 주류 앱들(멀티플레이어 온라인 게임과 같은 것들)을 통해, 또는 아직까지는 실생활에 와 닿지 않는 유즈 케이스들(로보틱스 등)을 통해서다. 강화 학습 에이전트들은 이제 오픈 AI 파이브(Open AI Five) 대화 등에 출전해 인간을 초월하는 수준의 게임 플레이를 보여주곤 한다. 

개발자들 역시 오픈AI의 로보스쿨(Roboschool)이나 유니티 테크놀로지(Unity Technology)의 머신러닝 에이전트(Machine Learning Agents), 인텔의 너바나 코치(Nervana Coach) 등 다양한 게임 및 로보틱스 관련 오픈소스 강화 학습 프레임워크를 활용할 수 있게 되었다. 

뿐만 아니라 넓은 범주의 과제로까지 확장 가능한 강화 학습 프레임워크도 이제 이용할 수 있게 됐다. 예를 들어 구글의 텐서플로우 에이전트는 효율적인 일괄 강화 학습 워크플로우를 지원하며, UC 버클리의 Ray RLLib는 텐서플로우 및 파이토치(PyTorch)에서 에이전트 기반 강화 학습 애플리케이션을 제작할 수 있는 유연한 작업 기반 프로그래밍 모델을 제공한다.

지금껏 여러 AI 개발사들의 모델링 툴킷에는 결여된 부분이 있었다. 기존의 AI 프레임워크와 통합된, 광범위한 모델링 및 교육 과제에 대응할 수 있는 빠르고 반복적인 강화학습 워크벤치가 그것이다. 이를 보완하기 위해 구글은 최근 도파민(Dopamine)을 발표했다. 

도파민은 파이썬 2.7의 강화 학습 알고리즘을 빠르고 반복적으로 프로토타이핑 할 수 있는 텐서플로우 기반의 프레임워크이자 코드베이스이다. 깃허브 내부 랭킹에서 '가장 멋진 오픈소스 프로젝트 1위'를 차지하기도 한 도파민은 다음과 같은 핵심 기능을 지원하고 있다. 

- 새로운 리서치 아이디어에 대한 강화 학습 실험 개발: 도파민은 (잘 발달된 벤치마크인) 아케이드 러닝 인바이론먼트(Arcade Learning Environment)에 초점을 맞춘 컴팩트하면서도 문서화된 파이썬 코드와, 단일 GPU 환경에서 실행 가능한 4종의 가치 기반 에이전트들을 포함하고 있다. DQN(Deep Q-Networks), 레인보우 에이전트의 단순 변형인 C51, 그리고 IQN(Implicit Quantile Network) 에이전트 등이 여기에 포함된다.

- 강화 학습 실험으로부터 재현 가능한 결과 획득: 도파민은 테스트셋을 포함하며, 아케이드 러닝 인바이론먼트를 위한 표준 실증 프레임워크를 구현한다.

- 기존 교육 방식과 강화 학습 결과를 비교해 주는 벤치마킹 기능: 도파민은 아케이드 러닝 인바이론먼트가 지원하는 60여 개 게임에서 위에 언급한 4종의 에이전트를 위한 완전한 교육 데이터를 포함하고 있다. 

이 교육 데이터는 우리의 프레임워크로 교육을 받은 에이전트들을 위한 파이썬 파일과, 다른 프레임워크로 교육 받은 에이전트들을 위한 JSON 데이터 파일, 그리고 60개 게임 모두의 에이전트들을 위해 트레이닝을 시각화해주는 웹사이트 등으로 구성돼 있다.

- 프레임워크를 이용하는 개발 팀을 위한 강화 학습 가속기: 도파민은 프레임워크 내부에서 생성된 강화 학습 에이전트를 생성, 교육 및 벤치마킹 하는 방법을 설명하는 일련의 코랩(colab)을 포함하고 있다. 또한 다운로드 가능한 심층 네트워크와 로우 통계 로그(raw log), 그리고 텐서보드(Tensorboard)를 위한 텐서플로우 이벤트 파일 또한 포함한다. 

모듈러 강화 학습 에이전트 개발 라이브러리
강화 학습 기술의 향후 진전은 다양한 실제 상황에서 자율적으로 최적의 행동을 선택할 수 있는 지능적 에이전트를 얼마나 잘 만들어 낼 수 있느냐에 달려 있다고 할 수 있다. 

여러 AI 과학자들은 훈련된 강화 학습 모델에 의해 구동되는 지능적 분산 에이전트의 한계를 넓히기 위해 지속적으로 노력하고 있다. 예를 들어 UC 버클리 연구팀은 최근 분산형 에이전트 환경에서 라운드 로빈 반복 강화 학습 가속(round-robin iterative reinforcement learning acceleration)에 대한 연구를 발표했다. 

위 연구에서는 한 번에 하나의 에이전트 모듈을 교육하는 동안 다른 에이전트 모듈들은 지시 받은 단순한 행동을 수행한다. 이 때 “한 모듈에게 내린 지시를 뉴럴 네트워크 정책으로 대체하고, 이전에 교육 받은 다른 모듈은 계속해서 고정된 상태를 유지하게 된다”라고 연구진은 설명하고 있다. 

강화 학습에 최적화된 지능형 AI 봇 개발을 가속화 하기 위해 구글의 딥마인드 그룹은 최근 TRFL을 오픈소스화 했다. TRFL은 텐서플로우에서 강화 학습 에이전트를 개발하기 위한 요소들을 모아 놓은 새로운 라이브러리이다. 

여기에는 알고리즘, 손실 함수를 비롯하여 딥마인드의 리서치 엔지니어링 팀이 EQN, DDPG(Deep Deterministic Policy Gradients), IWALA(Importance Weighted Actor Learner Architecture ; 중요도 가중치 행위자 학습자 아키텍처) 등 성공적인 강화 학습 에이전트 개발을 위해 내부적으로 사용한 다양한 강화 학습 개발 요소들이 포함되어 있다. 이러한 요소들은 일관된 API를 사용하여 새로운 강화 학습 에이전트를 생성하는 데 사용될 수 있다. 

딥마인드는 또한 밸류 및 정책을 나타내는 딥 네트워크 컴퓨팅 그래프, 환경 학습 모델, 가짜 보상 함수, 그리고 리플레이 시스템 등 다양한 강화 학습 에이전트 구현 요소들을 오픈소스화 하고 있다. 이들을 오픈소스화 하는 이유는 강화 학습 커뮤니티가 이들 에이전트에 존재하는 벅스를 더 빨리 발견하고 고칠 수 있도록 보조하기 위함이며, 동시에 이러한 에이전트들을 사용한 강화 학습 프로젝트의 결과를 쉽게 재생산 할 수 있도록 하기 위함이다. 딥마인드는 앞으로도 계속해서 새로운 기능을 추가, 유지해 나갈 계획이다. 또 TRFL 라이브러리에 대한 강화 학습 커뮤니티의 각종 기여를 수용할 예정이다.

엔드-투-엔드 강화 학습 데브옵스 파이프라인 툴
강화 학습 모델링은 흔히 생산 애플리케이션에서 오프라인으로 수행되며, 훈련된 모델은 시뮬레이터에서 입증된 경우에만 운영 환경에 투입되곤 한다. 오늘날 강화 학습이 더 많은 AI 애플리케이션의 기초가 되면서, 실시간 온라인 애플리케이션에 대한 인라인 교육을 더 많이 처리할 수 있도록 모델링 프레임워크가 진화할 필요성이 커지고 있다. 

이를 위해 다른 AI 방법론과 마찬가지로, 데이터 준비, 모델링, 교육 및 기타 파이프라인 워크로드를 촉진하는 데브옵스 파이프라인에 더 많은 강화 학습 이니셔티브가 통합되고 있다.

아울러 강화 학습 기술을 기반으로 한 AI 애플리케이션의 수가 늘어남에 따라, 라이브 온라인 애플리케이션에 맞춘 교육을 감당하기 위해서는 모델링 프레임워크 역시 발전할 필요가 있다. 다른 AI 방법론들과 마찬가지로 데이터 준비, 모델링, 교육 및 기타 파이프라인 워크로드를 주도하는 데브옵스 파이프라인에 통합된 강화 학습 이니셔티브의 수도 늘어나고 있다.

이런 상황에서, 최근 페이스북은 자사의 강화 학습 툴킷 ‘호라이즌(Horizon)’을 오픈소스화 했다. AI 데브옵스 파이프라인에 배치되는 형태의 툴킷이다. 현재 오픈소스 호라이즌 코드는 깃허브를 통해 다운로드 받을 수 있다. 

호라이즌은 페이스북이 확장 가능한 생산 앱에 사용해 오던 강화 학습 테크놀로지를 포함하고 있다. 예를 들어 페이스북은 유저들의 반응이 가장 활발한 알림을 예측하거나 페이스북의 가상 메시징 어시스턴트가 내놓은 제안을 개별화/커스터마이징 하기 위해, 그리고 유저들의 위치나 셀룰러 신호 강도에 따라 스트리밍 영상의 화질을 조절하기 위해 사용하는 AI 애플리케이션에 강화 학습 기술을 적용해 왔다. 

호라이즌은 데이터 세트의 규모가 매우 크고, 타깃 애플리케이션으로부터의 피드백 루프가 느리며, 생산 애플리케이션으로 인해 강화 학습 실험이 실패할 경우 비즈니스 리스크가 큰 AI 프로젝트를 위한 엔드-투-엔드 파이프라인이라고 표현할 수 있다. 호라이즌은 고차원 이산형 연속형 작업 공간에서 강화 학습 모델링을 지원함으로써 이 역할을 수행한다. 

또 호라이즌은 분리된 활동 공간을 위한 듀얼 아키텍처를 갖춘 DQN의 구현과 연속 활동 공간을 위한 DDPG를 포함하고 있다. 여기에는 다중 GPU 분산 환경에서 널리 사용되는 심층 강화 학습 알고리즘의 교육과, 단일 시스템에 대한 CPU, GPU 및 다중 GPU 교육을 위한 자동화된 워크플로우가 포함되어 있다. 또한 데이터 사전 처리, 기능 정상화, 분산 교육 및 최적화된 서비스를 위한 유틸리티가 포함된다.

페이스북의 확장성 필요에 맞게 설계된 호라이즌은, 각자 고유의 통계 분포를 지닌 수백 또는 수천 가지 기능 유형을 포함한 애플리케이션들에 대한 강화 학습 모델링 및 교육을 지원하는 특성을 보인다. 이는 호라이즌이 데이터 준비 및 차원 축소(dimensionality reduction)을 위해 스파크(Spark)를 사용하며, 강화 학습 모델링 및 교육을 위해 파이토치 프레임워크를, 그리고 수천 가지 생산 환경에 강화 학습 모델을 투입하기 위해 Caffe2 AI 프레임워크와 ONNE(Open Neural Network Exchange)를 사용하기 때문이다.

이 밖에 호라이즌은 최적 수준에 못 미치는 강화 학습 모델을 생산 애플리케이션에 디플로이 하는 리스크를 줄이기 위하여 '사후 가정 정책 평가'(counterfactual policy evaluation)라는 기능을 사용한다. 이는 특정한 교육 모델이 디플로이 되기 전에 알고리즘 퍼포먼스를 오프라인으로 평가할 수 있는 기능이다. 

이 자동화 기능이 없다면 개발자들은 많은 비용과 시간을 들여 A/B 테스트를 진행해야만 최적의 강화 학습 모델을 찾아내고 수십 개의 후보군들 중 최적의 하이퍼패러미터(hyperparameters)를 선정할 수 있을 것이다. 

강화 학습 트레이닝 워크플로우에서 호라이즌은 단계적 중요도 샘플링(stepwise importance sampling estimator), 단계적 직접 샘플링(stepwise direct sampling estimator), 단계적 이중 강화 추정기(stepwise doubly robust estimator), 그리고 순차적 이중 강화 추정기(sequential doubly robust estimator)와 같은 정책 평가 방법을 이용하여 모델을 평가해 수고를 덜어준다. 

페이스북은 강화 학습 알고리즘 퍼포먼스 테스트를 지원하기 위해 호라이즌을 유명 벤치마킹 라이브러리 ‘OpenAI Gym’의 카트폴 및 펜듈럼 환경(Cartpole and Pendulum environment)과 통합했으며, 커스텀 그리드월드(Gridworld) 환경과도 통합했다. 이를 통해 호라이즌은 데이터 사전 처리, 기능 정규화 및 기타 호라이즌 강화 학습 모델링, 교육 및 서비스 기능의 배선, 통합 및 성능 테스트 도구 등을 포함하고 있다. 

호라이즌은 ‘Discrete-Action DQN’, ‘Parametric-Action DQN’, 상이한 설정(예컨대 Q-learning과 SARSA, 더블 Q-learning이 있을 때와 없을 때 등)의 DDPG 모델 등을 평가하여 강화 학습 모델의 정확도와 안정성을 보장한다. 호라이즌은 또 타깃 플랫폼의 도커 이미지에 통합 테스트를 수행하기도 한다. 

준비는 모두 끝났다. 남은 건 실사용화뿐이다
현장에 실무를 진행하고 있는 AI 개발자들에게도 여기 언급된 많은 알고리즘들이 꽤 낯설게 느껴질 것이다. 하지만 결국은 개발 이니셔티브에 강화 학습 기술을 적용하게 될 것이고, 그것이 아니더라도 최소한 강화 학습 오픈소스 툴 정도는 사용하게 될 것이다. 

2019년에 AI 산업은 이미 널리 보급된 강화 학습 프레임워크를 워크벤치로 포함하게 될 것이 확실시된다. 또 감독 학습 환경에서 점차 많은 강화 학습 프레임워크들이 주류 개발자들에게 익숙해 질 것이다. 순환적이고 반복적인 신경 네트워크가 그러했듯 말이다. 

머지 않아 대부분의 AI 데브옵스 워크플로우가 강화 학습과 감독 및 비감독 학습을 매끄럽게 통합함으로써 생산 기업 애플리케이션에서 더욱 정교한 내장 지능을 구현하게 될 것이다. 

* James Kobielus는 실리콘앵글 위키본의 수석 애널리스트다. ciokr@idg.co.kr 

2018.11.30

기고 | 강화 학습, AI의 주류로 부상하다

James Kobielus | InfoWorld
2018년을 관통한 주요 인공지능 트렌드들 중 하나는 강화 학습(reinforcement learning) 기술의 성숙이다. 이 기술은 어느덧 통계 모형 설계 및 교육의 주류로 부상했다.

올 해 초 ‘AI 와 딥러닝의 다음 단계··· 개발자를 위한 '심층 강화 학습' 가이드’에서 예상한 바와 같이 강화 학습이 기업 AI 이니셔티브 분야에서 점차 그 역할을 확장해 나가고 있다. 그 동안은 로보틱스, 게이밍, 시뮬레이션 등 틈새 분야에만 국한되어 있던 이 기술의 잠재력이 드디어 주류 분야로 진입한 것이다. 

이제는 강화 학습이 IT 운영 관리, 에너지, 헬스 케어, 상업, 교통, 금융 등 다양한 분야의 최첨단 AI 애플리케이션에 이용되고 있다. 뿐만 아니라 소셜 미디어, 자연어 처리, 기계 번역, 컴퓨터 비전, 디지털 어시스턴트 등과 같이 차세대 AI 솔루션에도 강화 학습이 발을 내딛고 있다. 

기업 AI에서 강화 학습 알고리즘을 확산시키기 위해서는 강화 학습 프로젝트에서 협업하고 결과 모형들을 생산환경에 배치할 수 있는 툴이 개발자들에게 필요하다. 최근 강화 학습 중심의 AI 이니셔티브를 위한 오픈소스 워크벤치, 라이브러리, 데브옵스 파이프라인 등에 대한 여러 소식들이 들려오고 있다. 
 
Image Credit : Getty Images Bank


반복적인 강화 학습 개발 워크벤치
강화 학습 분야의 발전은 이미 우리 삶 속에 서서히 스며들고 있다. 우리가 일상적으로 사용하는 주류 앱들(멀티플레이어 온라인 게임과 같은 것들)을 통해, 또는 아직까지는 실생활에 와 닿지 않는 유즈 케이스들(로보틱스 등)을 통해서다. 강화 학습 에이전트들은 이제 오픈 AI 파이브(Open AI Five) 대화 등에 출전해 인간을 초월하는 수준의 게임 플레이를 보여주곤 한다. 

개발자들 역시 오픈AI의 로보스쿨(Roboschool)이나 유니티 테크놀로지(Unity Technology)의 머신러닝 에이전트(Machine Learning Agents), 인텔의 너바나 코치(Nervana Coach) 등 다양한 게임 및 로보틱스 관련 오픈소스 강화 학습 프레임워크를 활용할 수 있게 되었다. 

뿐만 아니라 넓은 범주의 과제로까지 확장 가능한 강화 학습 프레임워크도 이제 이용할 수 있게 됐다. 예를 들어 구글의 텐서플로우 에이전트는 효율적인 일괄 강화 학습 워크플로우를 지원하며, UC 버클리의 Ray RLLib는 텐서플로우 및 파이토치(PyTorch)에서 에이전트 기반 강화 학습 애플리케이션을 제작할 수 있는 유연한 작업 기반 프로그래밍 모델을 제공한다.

지금껏 여러 AI 개발사들의 모델링 툴킷에는 결여된 부분이 있었다. 기존의 AI 프레임워크와 통합된, 광범위한 모델링 및 교육 과제에 대응할 수 있는 빠르고 반복적인 강화학습 워크벤치가 그것이다. 이를 보완하기 위해 구글은 최근 도파민(Dopamine)을 발표했다. 

도파민은 파이썬 2.7의 강화 학습 알고리즘을 빠르고 반복적으로 프로토타이핑 할 수 있는 텐서플로우 기반의 프레임워크이자 코드베이스이다. 깃허브 내부 랭킹에서 '가장 멋진 오픈소스 프로젝트 1위'를 차지하기도 한 도파민은 다음과 같은 핵심 기능을 지원하고 있다. 

- 새로운 리서치 아이디어에 대한 강화 학습 실험 개발: 도파민은 (잘 발달된 벤치마크인) 아케이드 러닝 인바이론먼트(Arcade Learning Environment)에 초점을 맞춘 컴팩트하면서도 문서화된 파이썬 코드와, 단일 GPU 환경에서 실행 가능한 4종의 가치 기반 에이전트들을 포함하고 있다. DQN(Deep Q-Networks), 레인보우 에이전트의 단순 변형인 C51, 그리고 IQN(Implicit Quantile Network) 에이전트 등이 여기에 포함된다.

- 강화 학습 실험으로부터 재현 가능한 결과 획득: 도파민은 테스트셋을 포함하며, 아케이드 러닝 인바이론먼트를 위한 표준 실증 프레임워크를 구현한다.

- 기존 교육 방식과 강화 학습 결과를 비교해 주는 벤치마킹 기능: 도파민은 아케이드 러닝 인바이론먼트가 지원하는 60여 개 게임에서 위에 언급한 4종의 에이전트를 위한 완전한 교육 데이터를 포함하고 있다. 

이 교육 데이터는 우리의 프레임워크로 교육을 받은 에이전트들을 위한 파이썬 파일과, 다른 프레임워크로 교육 받은 에이전트들을 위한 JSON 데이터 파일, 그리고 60개 게임 모두의 에이전트들을 위해 트레이닝을 시각화해주는 웹사이트 등으로 구성돼 있다.

- 프레임워크를 이용하는 개발 팀을 위한 강화 학습 가속기: 도파민은 프레임워크 내부에서 생성된 강화 학습 에이전트를 생성, 교육 및 벤치마킹 하는 방법을 설명하는 일련의 코랩(colab)을 포함하고 있다. 또한 다운로드 가능한 심층 네트워크와 로우 통계 로그(raw log), 그리고 텐서보드(Tensorboard)를 위한 텐서플로우 이벤트 파일 또한 포함한다. 

모듈러 강화 학습 에이전트 개발 라이브러리
강화 학습 기술의 향후 진전은 다양한 실제 상황에서 자율적으로 최적의 행동을 선택할 수 있는 지능적 에이전트를 얼마나 잘 만들어 낼 수 있느냐에 달려 있다고 할 수 있다. 

여러 AI 과학자들은 훈련된 강화 학습 모델에 의해 구동되는 지능적 분산 에이전트의 한계를 넓히기 위해 지속적으로 노력하고 있다. 예를 들어 UC 버클리 연구팀은 최근 분산형 에이전트 환경에서 라운드 로빈 반복 강화 학습 가속(round-robin iterative reinforcement learning acceleration)에 대한 연구를 발표했다. 

위 연구에서는 한 번에 하나의 에이전트 모듈을 교육하는 동안 다른 에이전트 모듈들은 지시 받은 단순한 행동을 수행한다. 이 때 “한 모듈에게 내린 지시를 뉴럴 네트워크 정책으로 대체하고, 이전에 교육 받은 다른 모듈은 계속해서 고정된 상태를 유지하게 된다”라고 연구진은 설명하고 있다. 

강화 학습에 최적화된 지능형 AI 봇 개발을 가속화 하기 위해 구글의 딥마인드 그룹은 최근 TRFL을 오픈소스화 했다. TRFL은 텐서플로우에서 강화 학습 에이전트를 개발하기 위한 요소들을 모아 놓은 새로운 라이브러리이다. 

여기에는 알고리즘, 손실 함수를 비롯하여 딥마인드의 리서치 엔지니어링 팀이 EQN, DDPG(Deep Deterministic Policy Gradients), IWALA(Importance Weighted Actor Learner Architecture ; 중요도 가중치 행위자 학습자 아키텍처) 등 성공적인 강화 학습 에이전트 개발을 위해 내부적으로 사용한 다양한 강화 학습 개발 요소들이 포함되어 있다. 이러한 요소들은 일관된 API를 사용하여 새로운 강화 학습 에이전트를 생성하는 데 사용될 수 있다. 

딥마인드는 또한 밸류 및 정책을 나타내는 딥 네트워크 컴퓨팅 그래프, 환경 학습 모델, 가짜 보상 함수, 그리고 리플레이 시스템 등 다양한 강화 학습 에이전트 구현 요소들을 오픈소스화 하고 있다. 이들을 오픈소스화 하는 이유는 강화 학습 커뮤니티가 이들 에이전트에 존재하는 벅스를 더 빨리 발견하고 고칠 수 있도록 보조하기 위함이며, 동시에 이러한 에이전트들을 사용한 강화 학습 프로젝트의 결과를 쉽게 재생산 할 수 있도록 하기 위함이다. 딥마인드는 앞으로도 계속해서 새로운 기능을 추가, 유지해 나갈 계획이다. 또 TRFL 라이브러리에 대한 강화 학습 커뮤니티의 각종 기여를 수용할 예정이다.

엔드-투-엔드 강화 학습 데브옵스 파이프라인 툴
강화 학습 모델링은 흔히 생산 애플리케이션에서 오프라인으로 수행되며, 훈련된 모델은 시뮬레이터에서 입증된 경우에만 운영 환경에 투입되곤 한다. 오늘날 강화 학습이 더 많은 AI 애플리케이션의 기초가 되면서, 실시간 온라인 애플리케이션에 대한 인라인 교육을 더 많이 처리할 수 있도록 모델링 프레임워크가 진화할 필요성이 커지고 있다. 

이를 위해 다른 AI 방법론과 마찬가지로, 데이터 준비, 모델링, 교육 및 기타 파이프라인 워크로드를 촉진하는 데브옵스 파이프라인에 더 많은 강화 학습 이니셔티브가 통합되고 있다.

아울러 강화 학습 기술을 기반으로 한 AI 애플리케이션의 수가 늘어남에 따라, 라이브 온라인 애플리케이션에 맞춘 교육을 감당하기 위해서는 모델링 프레임워크 역시 발전할 필요가 있다. 다른 AI 방법론들과 마찬가지로 데이터 준비, 모델링, 교육 및 기타 파이프라인 워크로드를 주도하는 데브옵스 파이프라인에 통합된 강화 학습 이니셔티브의 수도 늘어나고 있다.

이런 상황에서, 최근 페이스북은 자사의 강화 학습 툴킷 ‘호라이즌(Horizon)’을 오픈소스화 했다. AI 데브옵스 파이프라인에 배치되는 형태의 툴킷이다. 현재 오픈소스 호라이즌 코드는 깃허브를 통해 다운로드 받을 수 있다. 

호라이즌은 페이스북이 확장 가능한 생산 앱에 사용해 오던 강화 학습 테크놀로지를 포함하고 있다. 예를 들어 페이스북은 유저들의 반응이 가장 활발한 알림을 예측하거나 페이스북의 가상 메시징 어시스턴트가 내놓은 제안을 개별화/커스터마이징 하기 위해, 그리고 유저들의 위치나 셀룰러 신호 강도에 따라 스트리밍 영상의 화질을 조절하기 위해 사용하는 AI 애플리케이션에 강화 학습 기술을 적용해 왔다. 

호라이즌은 데이터 세트의 규모가 매우 크고, 타깃 애플리케이션으로부터의 피드백 루프가 느리며, 생산 애플리케이션으로 인해 강화 학습 실험이 실패할 경우 비즈니스 리스크가 큰 AI 프로젝트를 위한 엔드-투-엔드 파이프라인이라고 표현할 수 있다. 호라이즌은 고차원 이산형 연속형 작업 공간에서 강화 학습 모델링을 지원함으로써 이 역할을 수행한다. 

또 호라이즌은 분리된 활동 공간을 위한 듀얼 아키텍처를 갖춘 DQN의 구현과 연속 활동 공간을 위한 DDPG를 포함하고 있다. 여기에는 다중 GPU 분산 환경에서 널리 사용되는 심층 강화 학습 알고리즘의 교육과, 단일 시스템에 대한 CPU, GPU 및 다중 GPU 교육을 위한 자동화된 워크플로우가 포함되어 있다. 또한 데이터 사전 처리, 기능 정상화, 분산 교육 및 최적화된 서비스를 위한 유틸리티가 포함된다.

페이스북의 확장성 필요에 맞게 설계된 호라이즌은, 각자 고유의 통계 분포를 지닌 수백 또는 수천 가지 기능 유형을 포함한 애플리케이션들에 대한 강화 학습 모델링 및 교육을 지원하는 특성을 보인다. 이는 호라이즌이 데이터 준비 및 차원 축소(dimensionality reduction)을 위해 스파크(Spark)를 사용하며, 강화 학습 모델링 및 교육을 위해 파이토치 프레임워크를, 그리고 수천 가지 생산 환경에 강화 학습 모델을 투입하기 위해 Caffe2 AI 프레임워크와 ONNE(Open Neural Network Exchange)를 사용하기 때문이다.

이 밖에 호라이즌은 최적 수준에 못 미치는 강화 학습 모델을 생산 애플리케이션에 디플로이 하는 리스크를 줄이기 위하여 '사후 가정 정책 평가'(counterfactual policy evaluation)라는 기능을 사용한다. 이는 특정한 교육 모델이 디플로이 되기 전에 알고리즘 퍼포먼스를 오프라인으로 평가할 수 있는 기능이다. 

이 자동화 기능이 없다면 개발자들은 많은 비용과 시간을 들여 A/B 테스트를 진행해야만 최적의 강화 학습 모델을 찾아내고 수십 개의 후보군들 중 최적의 하이퍼패러미터(hyperparameters)를 선정할 수 있을 것이다. 

강화 학습 트레이닝 워크플로우에서 호라이즌은 단계적 중요도 샘플링(stepwise importance sampling estimator), 단계적 직접 샘플링(stepwise direct sampling estimator), 단계적 이중 강화 추정기(stepwise doubly robust estimator), 그리고 순차적 이중 강화 추정기(sequential doubly robust estimator)와 같은 정책 평가 방법을 이용하여 모델을 평가해 수고를 덜어준다. 

페이스북은 강화 학습 알고리즘 퍼포먼스 테스트를 지원하기 위해 호라이즌을 유명 벤치마킹 라이브러리 ‘OpenAI Gym’의 카트폴 및 펜듈럼 환경(Cartpole and Pendulum environment)과 통합했으며, 커스텀 그리드월드(Gridworld) 환경과도 통합했다. 이를 통해 호라이즌은 데이터 사전 처리, 기능 정규화 및 기타 호라이즌 강화 학습 모델링, 교육 및 서비스 기능의 배선, 통합 및 성능 테스트 도구 등을 포함하고 있다. 

호라이즌은 ‘Discrete-Action DQN’, ‘Parametric-Action DQN’, 상이한 설정(예컨대 Q-learning과 SARSA, 더블 Q-learning이 있을 때와 없을 때 등)의 DDPG 모델 등을 평가하여 강화 학습 모델의 정확도와 안정성을 보장한다. 호라이즌은 또 타깃 플랫폼의 도커 이미지에 통합 테스트를 수행하기도 한다. 

준비는 모두 끝났다. 남은 건 실사용화뿐이다
현장에 실무를 진행하고 있는 AI 개발자들에게도 여기 언급된 많은 알고리즘들이 꽤 낯설게 느껴질 것이다. 하지만 결국은 개발 이니셔티브에 강화 학습 기술을 적용하게 될 것이고, 그것이 아니더라도 최소한 강화 학습 오픈소스 툴 정도는 사용하게 될 것이다. 

2019년에 AI 산업은 이미 널리 보급된 강화 학습 프레임워크를 워크벤치로 포함하게 될 것이 확실시된다. 또 감독 학습 환경에서 점차 많은 강화 학습 프레임워크들이 주류 개발자들에게 익숙해 질 것이다. 순환적이고 반복적인 신경 네트워크가 그러했듯 말이다. 

머지 않아 대부분의 AI 데브옵스 워크플로우가 강화 학습과 감독 및 비감독 학습을 매끄럽게 통합함으로써 생산 기업 애플리케이션에서 더욱 정교한 내장 지능을 구현하게 될 것이다. 

* James Kobielus는 실리콘앵글 위키본의 수석 애널리스트다. ciokr@idg.co.kr 

X