GPGPU - 1부

Share
GPGPU - 1부

GPGPU (General Purpose computation on GPU) 란??

GPU 부터 알아보자 (간단하게)

GPU (Graphics Processing Unit) 은 다들 알겠지만 Graphics 연산을 위한 전용 하드웨어이다.
보통 외장 그래픽카드에 달린 가운데 큰 칩이다.
(그래픽카드는 GPU가 아니라 GPU와 메모리가 같이 달린 보드임.)
요즈음에는 CPU에도 내장 GPU가 같이 달려나온다.

Intel Core CPU 계열에는 HD graphics 혹은 Iris 라는 이름으로 나오고, AMD APU에는 외장 GPU를 조금 손봐서 같이 붙어있다. 제어판-장치관리자 에서 확인할 수 있음.
제어판에서 확인한 GPU

GPU는 원래 무슨 일을 하냐면 그래픽을 만든다... 가장 많이 쓰이는 곳이 게임.
게임 덕분에 상업성이 있어서 GPU가 지금까지 발전할 수 있었다. 고전적인 관점에서 영상보는 것은 사실 GPU와 전혀 관계가 없다.
영상은 인코딩된 데이터를 디코딩에서 틀어주는 것 뿐이고, 이는 GPU가 하는 일이 아니다.
자세한 그래픽에 관한 내용은 나중에 따로 다루겠다.

GPGPU는 무엇?

General Purpose compuation on GPU 의 약자다.
이름에서 알 수 있듯이 GPU에서 그래픽처리가 아닌 일반적인 연산을 한다는 개념이다.
대표적인 예로 요즈음 가장 핫한 것은 deep learning 이다.
Deep learning 의 경우, CPU로 수행 하면 엄청 느려서 대부분 GPU로 수행한다.
왜 빠른지는 또 다음에 다루도록 하겠다.
GPGPU 는 이 외에도 영상 처리, 입자 시뮬레이션, 대규모 수학 연산등 여러분야에서 쓰이고 있다.

GPGPU는 어떻게?

GPGPU는 당연히 일반적인 CPU에서 돌아가는 코드를 바로 돌릴 수 없다.
CUDA 혹은 OpenCL로 주로 코딩이 가능하며, SIMT execution model을 사용한다.
(SIME executiuon model 에 관한 내용은 다음에 GPU의 하드웨어 구조 및 왜 GPGPU가 빠른지에 대한 내용과 함께 같이 설명하도록 하겠다.)
CUDA가 가장 흔히 쓰이고 있는데, NVIDIA 에서 제공한 플랫폼(? 프로그래밍 모델?)으로, 프로그래머의 편의를위해 C랑 매우 비슷하다.
개인적인 생각으로는 CUDA코드를 잘 짜기는 매우 힘들지만... 그냥 짜는건 어렵지 않은 것 같다.

다음에는 GPGPU 예제 코드 및 실제 동작에 대해 설명하도록 하겠다.

Read more

허깅페이스 르로봇 해커톤 후기

허깅페이스 르로봇 해커톤 후기

본 블로그의 주인장들은 이번 허깅페이스의 르로봇 월드와이드 해커톤의 서울 호스트를 맡았습니다. 너무 재밌었고, 그 과정들과 후기를 남깁니다. 현장은 다큐 형식의 작은 영상을 만들었으니 한번 봐주세요. 계기 저는 LLM 만 하고 있었고, Action 모델은 사실 관심이 없었습니다, 준호는 1년 정도 로봇에 AI 를 넣는 일을 하고 있었죠. 허깅페이스에서 르로봇 플랫폼을 만들고

By park jong hyun
DeepDive LLM 3편 - Reinforcement Learning

DeepDive LLM 3편 - Reinforcement Learning

* 1편 - 사전 학습 (Pre Training) * 2편 - Supervised Fine Tuning * 3편 - Reinforcement Learning Reinforcement Learning Pretrain, SFT 에 이어서 세번째 단계는 Reinforcement Learning (RL, 강화학습) 입니다. 비유를 해보자면, pretrain은 그냥 책을 읽는 것이고요, SFT는 예제 문제와 이미 작성된 해설을 보는 것입니다. RL 은 해설이 없는 문제를 직접 풀어보는 것입니다. 어떻게 풀든

By park jong hyun
DeepDive LLM 2편 - Supervised Fine Tuning

DeepDive LLM 2편 - Supervised Fine Tuning

* 1편 - 사전 학습 (Pre Training) * 2편 - Supervised Fine Tuning * 3편 - 강화 학습 (Reinforcement Learning) Supervised Fine Tuning Post Training 의 첫번째 단계 SFT 입니다. Pre Training 에 비하면 아주 작은 양의 데이터만 필요하지만, 실제로 성능을 이끌어 내는데에는 중요한 단계입니다. 멀티턴 대화 (Multi Turn Conversation) ChatGPT 를 포함해서 대부분의 AI 서비스들은

By park jong hyun
DeepDive LLM 1편 - 사전 학습 (Pre-Training)

DeepDive LLM 1편 - 사전 학습 (Pre-Training)

본 포스트 시리즈는 카파시 선생님의 영상 을 기반으로 정리한 내용입니다. 직접 유투브에서 다루기도 했으니 영상으로 보셔도 됩니다. * 1편 - 사전 학습 (Pre-Training) * 2편 - Supervised Fine Tuning * 3편 - 강화 학습 (Reinforcement Learning) LLM 의 Training LLM을 만들 때는 크게 세 가지 주요 단계가 있습니다. 1. 사전 학습(Pre-Training) * 인터넷 텍스트(

By park jong hyun