"같은 행렬곱인데 왜 CPU는 느리고 GPU는 빠를까?"ChatGPT에게 질문을 보내면 GPU 수천 개가 동시에 계산을 수행하며 답을 만들어낸다.그렇다면 이런 궁금증이 생긴다.CPU도 계산을 하는데, 왜 AI는 굳이 GPU를 사용할까?많은 사람들이"GPU는 병렬 처리를
"GPU는 행렬곱을 가장 잘하는 프로세서다.그렇다면 GPU는 실제로 무엇을 계산하고 있을까?"1편에서는 CPU와 GPU의 구조를 살펴보며 왜 AI가 GPU 위에서 동작하는지 알아보았다.CPU는 복잡한 제어를 빠르게 수행하도록 설계되었고,GPU는 수천 개의 연산 유닛을
1편에서는 CPU와 GPU의 구조를, 2편에서는 그 GPU 위에서 Transformer가 어떻게 동작하는지 살펴봤다.Token은 Embedding과 Positional Encoding을 거쳐 Self-Attention과 FFN을 통과하고, 이 과정을 여러 Transfo
3-1편에서는 LLM을 실제 서비스로 제공하기 위해 어떤 문제를 해결해야 하는지 전체 지도를 그렸다. Request를 받고, Tokenization을 거치고, 여러 요청을 관리하고, GPU에서 모델을 실행한 뒤 Streaming으로 결과를 전달한다. 그리고 Quanti
3-1편에서는 LLM Serving의 전체 구조를 살펴봤고, 3-2편에서는 Prefill, Decode, KV Cache를 통해 LLM이 실제로 어디에서 병목이 발생하는지 살펴봤다.여기까지 읽었다면 이제 이런 질문이 생긴다."그래서 실제 LLM Serving 서버는 어
4-1편에서는 하나의 GPU에서 하나의 모델을 서비스하는 문제를 다뤘다. 그런데 실제 서비스는 모델 하나만 필요로 하지 않는 경우가 많다.서로 다른 모델에 대해서 각각 GPU 한 장씩 붙여 서비스하는 것은 비용 면에서 낭비다. 그렇다고 모든 모델을 항상 GPU 메모리에
LLM 서비스를 사용할 때 만족해야하는 조건들이 있다.1)사용자 경험. 실제 LLM을 사용해보면 응답 속도에 따라 만족도가 달라진다. 특히 첫 토큰이 나오기까지 걸리는 시간이 길면 답답함을 느끼는 경우가 많다. 즉, 사용자 경험에는 지연시간이 중요하다.이미 충분히 지연
LLM 서빙 시 발생할 수 있는 트레이드오프를 다섯 가지로 정리하면 다음과 같다. 처리량 vs 지연시간메모리 효율 vs 모델 품질하드웨어 활용 vs 유연성수직 확장 vs 수평 확장정적 최적화 vs 적응형 서빙앞서 정리한 트레이드오프를 단순하게 해결하려 하면, 보통 전체