데일리 미션/Article

Article : 인공지능 프레임워크, 좀 더 알아보자 : 텐서플로우 편

pipiiiiii 2024. 8. 23. 06:59

https://brunch.co.kr/@f38b64b143b343c/7

 

인공지능 프레임워크, 좀 더 알아보자 : 텐서플로우 편

Tensorflow, 거의 모든 프로젝트에 활용할 수 있다고?! | 여러분은 AI 개발 또는 학습이라는 말을 들으면, 어떤 프레임워크를 먼저 떠올리시나요? 머신러닝, 딥러닝 프레임워크는 아주 다양하고, 개

brunch.co.kr

 

 

 

 

<아티클 내용 요약>

머신러닝, 딥러닝, 프레임워크는 아주 다양하고, 개발 목적, 개발 환경 또는 개발자의 습관이나 취향에 따라 각기 다양한 프레임워크들이 쓰이고 있다. 그래서 어떤 프레임워크가 정답이라고 이야기하기에는 좀 어려운 부분이 있다. 

 

그중 가장 많은 언급양, 높은 인기를 자랑하는 프레임워크는 단연 텐서플로우이다. 

python을 기본으로 하고 있지만 C++, java, julia 및 javascript 등 다른 언어로도 접근할 수 있는 프레임워크이기에, 각자 다른 언어를 활용하고 있는 개발자들 간의 협업까지 가능한, 유연한 프레임워크다. 

 

 

텐서플로우가 뭔가요? 다시 설명해 주세요!

텐서플로우는 구글 브레인팀이 개발하여 2015년에 처음 세상에 공개되었다. 수치 계산과 대규모 머신러닝을 위한 오픈소스 라이브러리로 파이썬 또는 자바스크립트를 사용해 애플리케이션을 구축하기 편리한 프론트엔드 API를 제공하고 있다. 

 

텐서플로우 애플리케이션은 클라우드 클러스터, iOS, 안드로이드 기기 등 거의 모든 형식의 데이터센터에서 실행이 가능하기 때문에 사용성뿐만 아니라 편의성 부분에서도 높은 점수를 줄 수 있는 프레임워크다. 

 

2.0 버전이 2019년에 출시되면서, 텐서플로우는 파이토치 등 다른 프레임워크와의 경쟁에서 압도적으로 우위를 점하게 되었다. 모델 학습에 케라스 API를 사용하면서 다른 프레임워크에 비해 비교적 단순하여 작업을 더 쉽게 할 수 있도록 한다. 새로운 API 덕분에 분산 학습이 쉬워진 데다 텐서플로우 라이트를 통해 이전보다 더 다양한 플랫폼에 모델을 배포할 수 있게 됐다. 학습된 모델은 REST 또는 gRPC API를 사용해 도커 컨테이너를 통해 서비스 형태로 예측을 수행하는 데 사용할 수 있는데, 더 고급 예측 시나리오에서는 쿠버네티스를 사용할 수 있다. 

 

 

텐서플로우는 거의 모든 프로젝트에 활용할 수 있다. 단, 초보자 빼고

텐서플로우는 대부분의 데이터센터에서 사용할 수 있다. 그 말은 사용의 편의성이 뛰어나다는 이야기가 될 수 있지만, 모든 기기에 대한 이해와 지식이 있어야 하는 어느 정도 숙련된 개발자여야 한다는 의미가 되기도 한다. 

 

텐서플로우는 '초보자가 접근하기에 어렵다'라는 평을 들어온 바가 있으며, '텐서플로우 초보자'는 있을 수 있으나 '인공지능 초보자'는 텐서플로우를 사용하기 어렵다. 

 

그도 그럴 것이 텐서플로우는 딥러닝 모델을 만드는 데 기초 레벨부터 직접 작업해야 하는 프레임워크이기 때문이다. 

 

텐서플로우에 대해 좀 더 이해해 보면 이를 더 잘 이해할 수 있게 된다. 

텐서플로우의 '텐서'는 다차원 데이터 배열을 의미한다. 텐서플로우에서 개발자는 데이터 플로우 그래프를 만들 수 있는데, 이 그래프는 데이터가 그래프상에서 또는 일련의 처리 노드 상에서 어떻게 이동하게 될지를 설명한다. 이때 그래프에서 각 노드는 수학 연산을 나타내게 되는데, 노드 간 각 연결 또는 가장자리가 바로 이 '텐서', 다차원 데이터 배열이다. 

 

데이터플로우 그래프를 직접 만들어서 학습시키는 과정을 능숙하게 할 수 있으려면, 아무래도 인공지능 개발 경험이 있어야 할 것이다. 텐서플로우의 단순 사용법만을 알아서는 많은 예제를 참고하더라도 판단이 어려운 지점에 도달할 수 있을 것이다. 그 때문에 초보자가 사용하기 어려울 수 있다는 이야기가 나온다. 

 

 

세상을 'AI롭게' 만든 구글의 선택

텐서플로우는 오픈소스로 공개된 프레임워크다.

무려 머신러닝에 핵심이 되는 프레임워크이기에, 2015년 공개 당시에도 '오픈소스'라는 사실에 대해 여러 가지 이야기들이 있었다. 

 

구글이 오픈소스 전략을 취할 수 있는 데에는 '자신감'도 작용했을 것이다. 텐서플로우를 개방하더라도 데이터와 분석 능력 등 기술 경쟁 면에서 전혀 문제가 되지 않는다고 판단하는 자신감이 있었던 것이다. 텐서플로우를 통해 구글 알고리즘을 알게 되었어도 금방 머신러닝 작업을 잘할 수 있는 것은 아닐 테니 말이다. 

 

텐서플로우의 오픈소스 전략은 제대로 작동했다. 전 세계에 흩어져 있는 머신러닝 개발자들이 구글 생태계로 유입된 것이다. 그 결과가 구글에게만 이로웠던 것은 아니다. 텐서플로우라는 유용한 도구를 활용해, AI 기술은 급속도로 발전하기 시작했고, 최근에는 AI를 잘 모르는 사람도 챗GPT는 알 정도의 성과와 명성을 얻을 수 있었다. 

 

머신러닝, 딥러닝에는 수많은 테스트, 학습, 적용 등의 과정이 수반되니 그에 관한 데이터 수집에서도 이점이 있다. 당연히 구글에게 가장 크게 도움이 될 부분이겠지만, 텐서플로우에 대한 수많은 예제와 정보들을 공유하고 있는 개발자 네트워크를 생각하면, AI 개발자들에게도 이로운 부분일 것이다. 

 

 

 

 

<알게 된 개념>

텐서플로우에 대해 알 수 있었다.

나는 텐서플로우가 무엇인지도 잘 몰랐는데 이번 아티클을 통해서 존재를 알고 좀 더 이해할 수 있게 됐다. 

 

아티클 원본을 보면 초반에 자주 언급되는 프레임워크 5종이 있다고 했는데 앞으로 좀 더 알아봐야겠다.