2018.08.16

오라클, 머신러닝 데이터 전송용 '그래픽파이프' 스펙 공개

Paul Krill | InfoWorld
오라클이 텐서(tensor) 데이터를 전송하는데 사용되는 오픈소스 명세를 개발해 공개했다. 업체는 이 스펙이 머신러닝용 표준이 되기를 바라고 있다.



그래프파이프(GraphPipe)라고 불리는 이 스펙은 네트워크 데이터 전송 프로토콜이다. 간단하고 종속성을 줄이면서도 바이너리와 메모리 맵 형식의 효율성을 높인 것이 특징이다. 어떤 프레임워크에서든 머신러닝 모델을 적용하고 질의할 수 있는 클라이언트와 서버도 있다. 주요 기능은 다음과 같다.

- 플랫버퍼(flatbuffer) 정의. 플랫버퍼는 구글의 프로토콜 버퍼와 비슷하다. 역직렬화(deserialization) 과정에서 메모리 복사를 할 필요가 없는 장점도 있다. 이 정의에는 입력과 텐서, 입력 네임과 출력 네임 등의 호출 메시지가 포함돼 있다.
- 서빙 모델 가이드라인
- 다양한 머신러닝 프레임워크에서의 서빙 모델 예제
- 그래프파이트를 통해 제공되는 질의 모델용 클라이언트 바이너리. 클라이언트는 파이썬, 고(Go), 자바에서 사용할 수 있다. 구글 텐서플로우 라이브러리용 플러그인도 있는데, 여기에는 로컬 텐서플로우 그래프가 내장된 원격 모델이 포함된다.

그래프파이프에서는 원격 모델이 요청 메시지를 받아들여 출력 이름 별로 하나의 텐서를 반환한다. 또한, 이 모델은 타입과 입력/출력 형태에 대한 메타데이터도 제공한다. 오라클은 그래프파이프가 머신러닝 부문의 오래된 숙제 3가지의 대안이 될 것이라고 주장했다.

- API 제공 모델에 대한 표준이 부재한 문제. 이 때문에 개발자는 프로토콜 버퍼나 커스텀 JSON 등 프레임워크가 제공하는 것에 종속될 가능성이 크다. 이런 상황에서 애플리케이션은 일반적으로 적용한 모델과 상호작용하는 데 커스텀 클라이언트를 필요로 하게 된다. 이는 여러 프레임워크를 사용할 경우 특히 더 부정적인 결과로 이어진다.
- 모델 서버 개발이 복잡해 질 수 있는 문제
- 파이썬-JSON API를 이용해 복잡한 모델로부터 텐서 데이터 제공하는 것이 성능이 중요한 애플리케이션에 충분치 않은 문제 ciokr@idg.co.kr 



2018.08.16

오라클, 머신러닝 데이터 전송용 '그래픽파이프' 스펙 공개

Paul Krill | InfoWorld
오라클이 텐서(tensor) 데이터를 전송하는데 사용되는 오픈소스 명세를 개발해 공개했다. 업체는 이 스펙이 머신러닝용 표준이 되기를 바라고 있다.



그래프파이프(GraphPipe)라고 불리는 이 스펙은 네트워크 데이터 전송 프로토콜이다. 간단하고 종속성을 줄이면서도 바이너리와 메모리 맵 형식의 효율성을 높인 것이 특징이다. 어떤 프레임워크에서든 머신러닝 모델을 적용하고 질의할 수 있는 클라이언트와 서버도 있다. 주요 기능은 다음과 같다.

- 플랫버퍼(flatbuffer) 정의. 플랫버퍼는 구글의 프로토콜 버퍼와 비슷하다. 역직렬화(deserialization) 과정에서 메모리 복사를 할 필요가 없는 장점도 있다. 이 정의에는 입력과 텐서, 입력 네임과 출력 네임 등의 호출 메시지가 포함돼 있다.
- 서빙 모델 가이드라인
- 다양한 머신러닝 프레임워크에서의 서빙 모델 예제
- 그래프파이트를 통해 제공되는 질의 모델용 클라이언트 바이너리. 클라이언트는 파이썬, 고(Go), 자바에서 사용할 수 있다. 구글 텐서플로우 라이브러리용 플러그인도 있는데, 여기에는 로컬 텐서플로우 그래프가 내장된 원격 모델이 포함된다.

그래프파이프에서는 원격 모델이 요청 메시지를 받아들여 출력 이름 별로 하나의 텐서를 반환한다. 또한, 이 모델은 타입과 입력/출력 형태에 대한 메타데이터도 제공한다. 오라클은 그래프파이프가 머신러닝 부문의 오래된 숙제 3가지의 대안이 될 것이라고 주장했다.

- API 제공 모델에 대한 표준이 부재한 문제. 이 때문에 개발자는 프로토콜 버퍼나 커스텀 JSON 등 프레임워크가 제공하는 것에 종속될 가능성이 크다. 이런 상황에서 애플리케이션은 일반적으로 적용한 모델과 상호작용하는 데 커스텀 클라이언트를 필요로 하게 된다. 이는 여러 프레임워크를 사용할 경우 특히 더 부정적인 결과로 이어진다.
- 모델 서버 개발이 복잡해 질 수 있는 문제
- 파이썬-JSON API를 이용해 복잡한 모델로부터 텐서 데이터 제공하는 것이 성능이 중요한 애플리케이션에 충분치 않은 문제 ciokr@idg.co.kr 

X