2018.09.14

"하둡 상에서 텐서플로우 구동"··· 링크드인, 토니 프로젝트 오픈소스화 발표

Serdar Yegulalp | InfoWorld
토니(Tony) 프로젝트는 하둡의 기본 스케줄러를 사용해 텐서플로우 작업을 실행함으로써 내결함성을 강화하고 GPU를 좀더 쉽게 이용할 수 있게 해준다.

링크드인이 하둡의 얀(YARN ; Yet Another Resource Negotiator) 작업 스케줄링 시스템을 사용해 텐서플로의 딥러닝 작업을 확장 및 관리하게 해주는 프로젝트를 오픈소스화했다.

'토니'라는 이름의 이 프로젝트는 링크드인이 하둡 상에서 예정된 텐서플로우 작업을 실행하려는 목적으로 2가지 오픈소스 솔루션을 시도한 후 태동됐다. 하둡에서 텐서플로우를 실행하게끔 하는 프로젝트가 몇몇 있었지만 링크드인은 이들에 한계를 감지했다.

이를테면 '텐서플로우 온 스파크'의 경우 아파치 스파크의 업무 엔진을 통해 텐서플로우를 구동했지만 이는 스파크와 지나치게 긴밀하게 짝을 이루고 있었다. 또 '텐서플로우온얀'의 경우 기본적인 기능성을 제공했지만 유지보수가 되지 않고 내결함성 측면에서 취약했다.

링크드인에 따르면 텐서플로우 내의 딥러닝 모델은 일종의 업무 관리가 필요하다. 트레이닝 모델은 몇 시간 또는 며칠의 시간을 요구할 수 있기에 트레이닝 프로세스가 완벽히 완료될 수 있다는 일종의 보장이 요구된다.

링크드인은 토니가 얀의 자원 및 작업 스케줄링 시스템을 사용하여 하둡 클러스터에서 텐서플로우 작업을 설정한다고 전했다. 토니는 또 하둡을 통해 GPU 기반 텐서플로우 작업을 예약하고, 다양한 종류의 리소스 (GPU 대 CPU)를 요청하거나, 텐서플로우 노드에 대해 메모리를 다르게 할당할 수 있다. 아울러 작업 출력을 HDFS에 주기적으로 저장하고, 작업 출력을 주기적으로 HDFS에 저장할 수 있으며, 충돌이나 중단이 발생할 경우 이탈된 지점으로부터 작업을 재개할 수 있다.

토니는 클라이언트, 응용 프로그램 마스터 및 작업 실행자라는 3가지 내부 구성 요소로 작업을 분할한다. 클라이언트는 들어오는 텐서플로우 작업을 허용한다. 응용 프로그램 마스터는 얀의 자원 관리자와 조율해 얀에서 작업을 제공한다. 작업 실행자는 텐서플로우 작업을 실행하기 위해 실제로 얀 클러스터에서 실행되는 작업이다.

링크드인 측은 토니가 "텐서플로우를 배포하고 텐서플로우 작업의 실제 실행을 방해하지 않는 계층에 있기 때문에 텐서플로우 작업에 대해 특정할 만한 오버헤드가 없다고 주장했다.

토니는 이 밖에 텐서플로우 애플리케이션을 시각화, 최적화 및 디버깅하기 위해 텐서보드 애플리케이션과 함께 작동될 수 있다. ciokr@idg.co.kr

2018.09.14

"하둡 상에서 텐서플로우 구동"··· 링크드인, 토니 프로젝트 오픈소스화 발표

Serdar Yegulalp | InfoWorld
토니(Tony) 프로젝트는 하둡의 기본 스케줄러를 사용해 텐서플로우 작업을 실행함으로써 내결함성을 강화하고 GPU를 좀더 쉽게 이용할 수 있게 해준다.

링크드인이 하둡의 얀(YARN ; Yet Another Resource Negotiator) 작업 스케줄링 시스템을 사용해 텐서플로의 딥러닝 작업을 확장 및 관리하게 해주는 프로젝트를 오픈소스화했다.

'토니'라는 이름의 이 프로젝트는 링크드인이 하둡 상에서 예정된 텐서플로우 작업을 실행하려는 목적으로 2가지 오픈소스 솔루션을 시도한 후 태동됐다. 하둡에서 텐서플로우를 실행하게끔 하는 프로젝트가 몇몇 있었지만 링크드인은 이들에 한계를 감지했다.

이를테면 '텐서플로우 온 스파크'의 경우 아파치 스파크의 업무 엔진을 통해 텐서플로우를 구동했지만 이는 스파크와 지나치게 긴밀하게 짝을 이루고 있었다. 또 '텐서플로우온얀'의 경우 기본적인 기능성을 제공했지만 유지보수가 되지 않고 내결함성 측면에서 취약했다.

링크드인에 따르면 텐서플로우 내의 딥러닝 모델은 일종의 업무 관리가 필요하다. 트레이닝 모델은 몇 시간 또는 며칠의 시간을 요구할 수 있기에 트레이닝 프로세스가 완벽히 완료될 수 있다는 일종의 보장이 요구된다.

링크드인은 토니가 얀의 자원 및 작업 스케줄링 시스템을 사용하여 하둡 클러스터에서 텐서플로우 작업을 설정한다고 전했다. 토니는 또 하둡을 통해 GPU 기반 텐서플로우 작업을 예약하고, 다양한 종류의 리소스 (GPU 대 CPU)를 요청하거나, 텐서플로우 노드에 대해 메모리를 다르게 할당할 수 있다. 아울러 작업 출력을 HDFS에 주기적으로 저장하고, 작업 출력을 주기적으로 HDFS에 저장할 수 있으며, 충돌이나 중단이 발생할 경우 이탈된 지점으로부터 작업을 재개할 수 있다.

토니는 클라이언트, 응용 프로그램 마스터 및 작업 실행자라는 3가지 내부 구성 요소로 작업을 분할한다. 클라이언트는 들어오는 텐서플로우 작업을 허용한다. 응용 프로그램 마스터는 얀의 자원 관리자와 조율해 얀에서 작업을 제공한다. 작업 실행자는 텐서플로우 작업을 실행하기 위해 실제로 얀 클러스터에서 실행되는 작업이다.

링크드인 측은 토니가 "텐서플로우를 배포하고 텐서플로우 작업의 실제 실행을 방해하지 않는 계층에 있기 때문에 텐서플로우 작업에 대해 특정할 만한 오버헤드가 없다고 주장했다.

토니는 이 밖에 텐서플로우 애플리케이션을 시각화, 최적화 및 디버깅하기 위해 텐서보드 애플리케이션과 함께 작동될 수 있다. ciokr@idg.co.kr

X