from Karte,

[NVIDIA GTC Online 2020 Fall] D- 5. 사전 지식 점검하기 본문

ways of seeing/conference visits

[NVIDIA GTC Online 2020 Fall] D- 5. 사전 지식 점검하기

karte 2020. 9. 30. 22:27

* 혹시 내용 오류를 발견하셨다면 댓글로 알려주세요! 바로 반영하여 수정하겠습니다.

 

오는 10월 5일부터 9일까지 진행되는 NVIDIA GTC 2020 (GPU Technology Conference 2020) 행사에 등록했다. 최근 AI / 데이터 사이언스 기술 트렌드를 한데 모아 볼 수 있는 컨퍼런스 행사를 참석하고 싶다는 생각을 하던 중 신기하게도 GTC 2020 광고를 마주쳤는데, 학생에게는 무료 입장권을 준다고 떡하니 나와 있는 것이 아닌가! 이 정도면 등록을 하지 않을 이유가 없었다.

 

그렇게 학생 등록을 마치고 녹화된 웨비나 주제들부터 훑어 보기 시작했는데...생각보다 낯선, 혹은 들어는 봤으나 제대로 모르는 용어들이 많다는 것을 깨달았다. 다행히 행사 시작 전까지 아직 시간이 좀 있어서, 남은 기간 동안 홈페이지 카탈로그를 보면서 기본적인 관련 용어와 개념들을 정리해 보려고 한다. ( 딱 3가지만. )


1. GPUs ( Graphics Processing Units )  란? 

 

"학습 모델 잘 안돌아가면 GPU 라도 사서 꽂아야죠"

 

저 말을 통해 처음으로 GPU 에 대해 듣게 되었다. GPU 서버를 접하게 된 건 구글 코랩을 사용하기 시작하면서 였고. 아마 컴퓨터공학/인공지능/ 머신러닝을 공부하시는 분들이나 게임을 즐겨하시는 분들은 다 아실 것 같은 내용이지만 그래도 나의 첫 GTC 참석을 기념하며 적어본다. my blog my rules

 

GPU란 CPU ( 중앙처리장치) 만으로는 처리하기 힘에 부치는 (?) 3D 그래픽 처리 연산을 처리하는 프로세서이다. 컴퓨터 게임을 할 때 모니터 상에 펼쳐지는 온갖 화려한 그래픽들은 GPU 덕에 효율적으로 구현된다고 볼 수 있다. 

 

그런데 이런 그래픽 처리 장치가 왜 인공지능 분야에서 각광을 받고 있을까? 바로 병렬 처리 연산 parallel computations 에 특화되었기 때문이다. GPU 는 특정한 연산만을 처리하는 데에 특화되어 있기 때문에 더 많은 트랜지스터를 연산 처리 ( data processing ) 에 할당할 수 있다. 이 말은 반복적인 작업을 대량으로 수행할 때는 GPU 의 병렬 처리 기능을 활용하는 것이 좋다는 뜻이다. 

머신러닝/딥러닝 학습 과정이 바로 프로그램이 스스로 판단을 할 수 있도록 하기 위한 '대량의 반복 작업' 을 동반하는 일이므로 GPU 를 이용하여 모델링을 할 때 더 빠르게 작업을 수행할 수 있는 것이다!

 

 

반면 CPU 는 다양한 환경에서의 작업을 순차적으로 처리하는 것에 목적을 두고 있기 때문에, 연산을 처리하는 부분도 복잡하고, 캐슁 ( data caching ) 도 해야 하고 흐름 제어 ( flow control ) 기능이 많다. 따라서 반복적인 작업을 여러 번 수행해야 하는 경우에는 연산 속도가 느려질 수 밖에 없는 것이다. 

 

아래는 CPU 와 GPU 의 구조도이다. 코어, 제어, 캐쉬 등의 부분에서 차이가 많다는 것을 볼 수 있다.  

출처: https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html

 

 

 

References

1. LG CNS : 인공지능 시대를 여는 열쇠, GPU 란?

2. Run:AI : Deep Learning with GPUs 

3. SK 블로그 : GPU 의 의미와 역할

4. NVIDIA DEVELOPER ZONE : CUDA TOOLKIT DOCUMENTATION

 

 

 

2. 딥러닝 프레임워크 ( Deep Learning Frameworks) 란?

 

딥러닝 모델 개발 과정 ( 설계, 훈련, 검증, 평가 등) 에 필요한 라이브러리나 모듈을 쉽게 사용할 수 있도록 한 데 모아 제공하는 일종의 패키지이다. 

Theano, 텐서플로우, 케라스, 파이토치, Caffe 등 딥러닝 프레임워크에는 다양한 종류가 있으며, 기능이 조금식 다르다. 나는 아직 텐서플로우와 케라스만 접해 보았는데, 최근 파이토치의 인기가 급상승하고 있다고 들었다. 

 

 

 

References

1. NVIDIA DEVELOPER : Deep Learning Frameworks

 

 

 

3. Edge AI ( 또는 AI at the edge ) 란?

 

엣지 컴퓨팅 ( Edge Computing ) 기술이 AI 분야에 적용된 것을 엣지 AI ( Edge AI ) 라고 한다. 

 

엣지 컴퓨팅에서 엣지란 edge node 를 의미하는데, 예를 들면 컴퓨터, 스마트 폰, 가정 내 설치된 IoT 장치와 같은 로컬 기기 등이 있다. 클라우드라는 중앙 처리 시설을 거치지 않고 로컬에서 실시간으로 프로세스를 처리하는 기술을 엣지 컴퓨팅이라고 부른다. 

 

엣지 컴퓨팅의 의미를 통해 엣지 AI 를 간단하게 말하자면, AI 알고리즘이 클라우드에 연결될 필요 없이 개인의 장치에서 바로 실행되며, 장치에서 생성된 데이터 또한 실시간으로 이용하는 것이다.

 

스마트 팩토리의 제조 로봇 시스템이나 자율주행 시스템과 같이 데이터를 빠르게 처리하여 결과를 얻어야 하는 분야에서 각광받고 있으며, 개인 정보 ( personal data ) 보호의 측면에서도 강력한 이점을 지닌다. ( 확실히 개인 정보가 클라우드에 저장되었다가 네트워크를 통해 이동하는 과정을 거치는 것보다는 로컬에서 처리가 되는 편이 안전해 보인다. )

 

개인적인 사설을 덧붙이자면, 일전에 (어느 언론사의 기사였는지는 잘 기억이 안나지만) 자율주행이 곧 가능해진다는 기사를 읽은 적이 있다. 읽자마자 '누가 자율주행 시스템을 대규모로 해킹해서 일부러 사고를 내는 일이 생기면 어쩌나' 라는 끔찍한 생각이 먼저 들었으며 , 도로 상황은 실시간으로 바뀌는데 어떻게 변경된 정보를 일일이 반영하는지 궁금했는데 엣지 컴퓨팅과 엣지 AI 기술을 간략하게나마 알아보면서 어느 정도 답을 얻은 것 같다. 

 

 

 

References

1. Forbes : Edge AI is the future, Intel and Udacity are teaming up to train developers

2. 디바이스마트 블로그 : 엣지 AI 란 무엇인가?

3. LION BRIDGE : What is Edge AI Computing?

'ways of seeing > conference visits' 카테고리의 다른 글

[NVIDIA GTC Online 2020 Fall] Webinar Notes  (0) 2020.10.09
Comments