일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 혼공컴운
- 벌칸
- 머신러닝
- 파이썬
- 컴퓨터그래픽스
- 혼공C
- 혼공스
- tutorial
- 제이펍
- 혼공머신
- 혼공학습단
- 혼공S
- 나는리뷰어다
- 네트워크
- 혼공
- 데이터분석
- C++
- vulkan
- 혼공단5기
- 혼공네트
- 한빛미디어
- 딥러닝
- 리뷰리뷰
- 혼자공부하는네트워크
- 불칸
- 혼자공부하는C언어
- OpenGL
- 자바스크립트
- 책리뷰
- 혼공단
- Today
- Total
Scientia Conditorium
[책리뷰] 비전공자도 이해할 수 있는 AI 지식 본문
[책리뷰] 비전공자도 이해할 수 있는 AI 지식
전반적인 소감 및 마음에 드는 부분
지금까지 읽어봤던 인공지능 설명 책 중에서 가장 훌륭했다. 특히 GPU 설명에서다. GPU가 단순히 그래픽카드고 인공지능 연구에 중요하다고만 아는 사람들은 코어가 훨씬 더 많고 어쩌고 이게 끝이다. 그러나 이 책에서는 확실하게 말해준다. 바로 CUDA 때문이다. CUDA 때문에 NVIDIA의 독점이 시작되었다고 알려주는 건 좋았지만 그 배경 설명은 조금 아쉬웠다. 생각해보자. 그래픽카드 탄생 배경은 게임 그래픽 때문이다. 모니터에 출력되는 픽셀들을 빠르게 계산될 수 있도록 그래픽 작업을 전문적으로 빠르게 처리하고 디지털 신호를 영상 신호로 바꿔 모니터로 전송하는 장치다. 모니터에 출력되는 픽셀들이 더욱 정교할 수록 게임을 더 실감나고 재밌게 할 수 있다. 이 그래픽카드를 전문적으로 제어하기 위해 특별한 프로그래밍 언어를 사용해야 하는데 그게 바로 쉐이더 언어(Shader Language)다.
게임을 재밌게 즐길려면 최소한 60 FPS 이상이 나와야 한다. 즉, 1초에 화면이 60번 갱신(업데이트)되어서 출력되어야 한다는 뜻이다. 다시 말해, 사용자가 마우스나 키보드 입력을 하고 물리 연산, 게임 로직 등등을 업데이트 하고 최종적으로 화면에 나오는 결과 값이 1초에 60번은 나와야 자연스럽게 보인다. 모니터 화면을 보면 왼쪽 위에 출력되는 색생과 오른쪽 아래 출력되는 색상은 서로 큰 연관이 없다. 무슨 말이냐, 모니터에 있는 픽셀들은 자기가 어떤 색상을 출력해야되는지 고정되어 있다는 의미다. 이와 비슷한 수학 연산이 바로 행렬이다. 행렬 연산이 어떤 것인지 여기서는 생략하겠다. 행렬 연산을 할 때, 첫 번째 값만 마지막 값을 계산하기 위한 성분은 정해져있다. 딥러닝 연산도 이와 마찬가지다. 이 과정에서 엄청나게 성능좋은 CPU가 필요하지는 않는다. 따라서 GPU는 CPU보다 코어 1개 효율은 떨어질지언정 코어의 개수가 엄청나게 많다. 이 단순 반복 계산을 빠르게 처리하기 위해서다. 그리고 비록 성능이 떨어지지만 기존에 CPU가 전통적으로 취급했던 응용 프로그램들의 계산을 GPU가 수행하도록 해보자는 시도가 나타났다. 이것이 바로 GPGPU이자 CUDA이다.
물론 CUDA 이전에도 GPGPU라는 이름을 달고 나오기 전에는 위에서 말한 쉐이더 언어를 이용해서 시도했다. 더욱 자세한 얘기는 생략하겠지만 입력은 텍스처로 주고 출력은 렌더타켓에 주어서 쉐이더를 이용해 병렬연산을 하고 결과값을 프레임버퍼에 복사하는 방식으로 시도했다. 하드웨어적으로 봤을 때는 그래픽스를 위한 쉐이더나 GPGPU를 위한 쉐이더나 크게 다르지 않다. 따라서 이런 쉐이더 언어가 아닌 일반 프로그래밍 스타일로 접근할 수 있게 만들어 둔 것이 GPGPU, CUDA이다.
그래픽 카드의 탄생 목적은 말 그대로 컴퓨터의 그래픽 처리를 위해서다. 이 그래픽 처리를 가장 필요로 하는 분야는 게임이다. NVIDIA의 부사장 이안 벅(Ian Buck)은 인터뷰에서도 말했듯이 GPU를 많이 연결하면 게임을 더 빠르게 즐길 수 있다고 했다. 대학원 시절 만든 32개 GPU와 8개의 프로젝터는 8K 해상도를 지원하는 최초의 게임 가속기였고 벽 전체를 차지했는데 이것이 아름다웠다고 했다. 즉, 그래픽 카드는 게임을 더 재밌게 하기 위해, 더 빠르게 계산하기 위해 존재했다. 이를 위해 NVIDIA는 CUDA를 계속 개발했지만 다른 회사들은 그렇지 않았다. 하드웨어 제조 회사가 뭔 소프트웨어냐는 식이었으니깐. 꾸준히 개발하다보니 자료도 가장 많이 존재한다. 무엇보다 지금은 다른 언어들도 가능하지만 GPU상에서의 디버깅이 가능한 것이 CUDA가 유일했다. 지금은 아니다(2024년). GPGPU 기술을 이용했을 때, 무언가 문제가 나오면 문제점이 무엇인지 파악할 수 있는게 CUDA가 유일했다는 의미다. 그리고 포인터를 사용할 수 있다. 다른 Compute Shader의 경우에는 포인터를 사용할 수 없다. 그렇기 때문에 이걸 바꿔야 하는데, CUDA는 그럴 필요가 없다. 그러니 여러 사람들이 사용하게 되었고 결국 독보적인 존재가 되었다.
책 리뷰와 조금 떨어진 얘기를 했지만, NVIDIA 독점의 가장 큰 이유 중 하나인 CUDA를 언급한 이 책이 놀라웠다.
대상 독자 및 책 난이도
비전공자 뿐만 아니라 모든 사람들이 읽었으면 한다. 제목 그대로 모두를 위한 AI 지식을 다루고 있다. 인공지능의 핵심 기술들을 괜히 돌려 말하지도 않는다. 그렇다고 내용이 어렵지도 않다. 핵심 기술과 용어들을 누구나 이해하기 쉽게 풀어서 설명해준다. 따라서 인공지능에 아무것도 모른 상태여도 충분히 이해할 수 있다. 물론 인공지능에 대해 아무것도 모른 채로 이 책을 접하면 낯선 용어들 때문에 살짝 혼돈이 올 수는 있을 것이다. 그러나 전반적인 내용 흐름을 이해하는 데에는 문제없다.
다루는 내용과 범위
총 9장으로 이루어져 있으며 가장 핵심적이고 보편적인 인공지능 분야를 소개한다.
- 인공지능
- 알파고
- 자율주행
- 검색엔진
- 스마트 스피커
- 기계번역
- 챗봇
- 내비게이션
- 추천 알고리즘
인공지능 용어의 탄생 배경과 알파고, chatGPT까지 다양하게 소개해준다. 여기에 각 분야별 전문가들의 인터뷰 내용까지 덧붙여서 내용에 재미를 더했다. 딥러닝, 퍼셉트론, A* 알고리듬 등등 여러 용어들을 아주 쉽게 풀어서 설명해주는 점도 좋았다. 책의 처음부터 끝까지 시사 상식에 조금이라도 관심이 있는 사람이라면 부담없이 읽을 수 있다. 개인적으로 가장 좋았던 장은 CUDA를 언급한 1장과 구글 검색 엔진을 설명한 5장이다.
결론
책에 나온 스탠퍼드 인공지능연구소 소장 페이페이 리 교수의 말이 딱 내가 하고 싶은 말이다.
"제가 보기에는 전혀 놀랍지 않습니다.
생각해보세요. 자동차가 인간보다 더 빨리 달리는 걸 놀랍게 여기는 사람이 어디 있나요?"
- 페이페이 리 교수, 알파고가 이세돌에게 승리한 직후 <뉴욕 타임스> 인터뷰 중에서
인공지능은 사람과 닮은 형태의 로봇에도 들어가지만 자동차, 컴퓨터, 비행기 등 다양한 곳에도 들어간다. 그러나 대부분의 사람들은 똑같은 인공지능이 사람과 닮은 형태에 있을 때는 무서워하면서, 스피커나 자동차에 있을 때는 신기해하고 즐거워한다. 산업 혁명 시대 때도 기계가 사람 대체해서 일자리가 없어질 것이다라고 했다. 그러나 결과적으로는 더 많은 일자리를 창출했다. 인공지능 역시 똑같다고 본다. 당장은 인공지능으로 일부 일자리가 없어질 것이다. 정확히는 특정 직업이 사라질 것이다. 그러나 인공지능을 토대로 생산성이 향상되고 기술이 발전하기 때문에 더 많은 일자리가 생겨날 것이다.
저자의 말대로 전혀 두려워할 필요가 없다. 인공지능은 인간을 대체하지 않는다. 인공지능을 이해하고 활용하는 사람이 우리를 대체할 뿐이다. 게다가 모든 기술들은 하루 아침에 갑자기 등장하지 않았다. 조금씩 조금씩 개발과 개선을 거쳐 지금의 형태로 자리잡은 것이다. 이 책을 토대로 인공지능을 두려워하는 사람이 줄어들고 이해하고 활용하는 사람들이 늘어났으면 한다.
"비즈니스북스 출판사로부터 책을 제공받아 작성된 서평입니다."
'서평 > IT-책' 카테고리의 다른 글
[책리뷰] FastAPI로 배우는 백엔드 프로그래밍 with 클린 아키텍처 (3) | 2024.10.31 |
---|---|
[책리뷰] JAX/Flax로 딥러닝 레벨업 (0) | 2024.09.21 |
[책리뷰] 러스트 프로페셔널 코드 (1) | 2024.09.08 |
[책리뷰] 금융 AI의 이해 (4) | 2024.09.08 |
[혼공단] 혼자 공부하는 네트워크 / 혼공단 12기 - 6주차 (0) | 2024.08.13 |