딥러닝의 발전과 GPU의 발전을 뗄 수 없는 관계입니다. 과거에도 그랬지만 LLM으로 대표되는 현재의 AI에서 이 관계는 더욱 중요해지고 있습니다.전에 GPU가 왜 AI에 최적화되어있는지 LLM: GPU 의 마법 이라는 글에서 다룬 적이 있습니다. 오늘은 여기에서 한 단계 더 깊이 들어가서 Nvidia GPU를 중심으로 이야기해보려고 합니다.오늘은 GPU의 어떤 부분들이 딥러닝, 특히 LLM 구동을 빠르게 만드는지 이야기해보겠습니다.1. 범용 코어와 특수 목적 코어모든 계산은 GPU의 코어에서 일어납니다. 메모리에서 데이터를 코어로 옮기고, 코어에서 계산을 한 후, 결과를 다시 메모리로 저장하는 방식입니다.현대 GPU는 딥러닝 연산의 특성에 맞춰 코어를 분화시켰습니다.범용 병렬 계산기, Cuda Core..
PyTorch 코드를 실행할 때 우리는 습관처럼 외웁니다..to('cuda')순간 잠잠하던 컴퓨터 본체에서는 웅장한 팬 소리가 들려옵니다. Cloud GPU를 주로 사용하신다면 이 소리를 들을 일은 많지 않겠군요.그런데 이런 궁금증, 가져본 적 없으신가요?"도대체 느리다는 파이썬이 어떻게 그 엄청난 속도의 GPU를 제어하는 걸까?"오늘은 우리가 작성한 고작 몇 줄의 파이썬 코드가 어떻게 GPU를 제어하고 복잡한 계산을 수행하는지 알아보려고 합니다.1. 파이썬: 저는 운전자이지 엔진은 아니에요가장 중요한 이야기 먼저 하고 시작하겠습니다.우리가 PyTorch로 작성하는 파이썬 코드는 GPU 위에서 실행되지 않습니다.정확히 말하면 파이썬은 명령만 내릴 뿐, 실제로 땀 흘려 뛰는 건 C++과 CUDA입니다. 파..
AI를 잘 하고 싶은데 GPU가 부족하다, 돈을 들고 찾아가도 GPU를 구할 수 없다 같은 이야기를 들어보셨을 겁니다.GPU는 Graphics Processing Unit의 약자인데요. 한마디로 그래픽 처리를 잘 하기 위한 칩입니다. 그런데 어떻게 그래픽 처리를 위한 칩이 AI의 핵심 기술이 되었을까요? 정답은 GPU가 병렬 연산에 강하기 때문입니다. 하지만 이 한 줄짜리 답으로는 이 거대한 변화를 설명하기에 턱없이 부족합니다.오늘은 왜 GPU가 AI 개발의 핵심이 되었는지, 현대 컴퓨터 구조의 시조 격인 "폰 노이만 구조"부터 최신 GPU의 구조까지 파헤쳐 보겠습니다.1. 모든 것의 시작: 폰 노이만 구조AI와 GPU를 이야기하기 전에 현대 컴퓨터의 기본 구조인 폰 노이만 구조에 대해서 이야기해보겠습니..
Ubuntu에 업데이트가 있을 때마다, Tensorflow에 업데이트가 있을 때마다, GPU를 사용할 수 있도록 Tensorflow를 설치하는 일이 여간 어려운 일이 아닙니다. Nvidia 드라이버 버전도 꼬이고, CUDA는 또 호환되는 버전이 따로 있고, Package는 LTS만 지원한다고하고, CuDNN 버전 등등에. 여러분만의 고민이 아닙니다. 이 고민을 Docker를 이용해서 비교적(?) 손쉽게 해결해보겠습니다. 물론 Docker에 대해서 아주 기본 사용법은 아셔야 합니다. (여담이지민 Ubuntu 20.04 LTS가 출시됐다기에 설치해보면서 Tensorflow를 Docker로 설치해봤습니다. 아무래도 이제 막 나온 따끈따끈한 판이다 보니 CUDA와 Tensorflow가 잘 될지도 의문이었고, 무..
- Total
- Today
- Yesterday
- sys.path
- Linux
- DEEPLEARNING
- MachineLearning
- transformer
- ChatGPT
- LLM
- keras
- token
- docker
- generator
- NLP
- GPU
- fasttext
- pytorch
- Ai
- Large Language Model
- word embedding
- Foundation Model
- Python
- 자연어처리
- GPT
- Deep Learning
- tip
- iterator
- speculativedecoding
- tensorflow
- word vector
- 파이썬
- Import
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |