TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 32 READS

파이썬 걷어내고 C++로 — LocalAI가 추론 엔진을 직접 만드는 이유

LLM을 내 컴퓨터나 사내 서버에서 직접 돌릴 수 있게 해주는 오픈소스 프로젝트 LocalAI 팀이 흥미로운 글을 올렸어요. 제목이 "왜 우리는 C와 C++로 추론 엔진을 직접 작성하는가"인데요. 요즘 AI 개발이라고 하면 다들 파이썬부터 떠올리는 시대에, 굳이 어렵기로 소문난 C/C++로 바닥부터 만드는 이유를 설명한 글이에요. 이 선택의 배경을 따라가다 보면 로컬 AI 생태계가 어떻게 돌아가는지가 한눈에 들어오거든요.

추론 엔진이 뭐길래

먼저 용어부터 풀고 갈게요. 추론(inference) 엔진이 뭐냐면, 학습이 끝난 모델의 가중치 파일을 읽어 들여서 실제로 답변 토큰을 하나하나 생성해 주는 실행 프로그램이에요. 모델을 만드는 학습(training)과 만들어진 모델을 돌리는 추론은 완전히 다른 문제거든요. 학습은 거대한 GPU 클러스터에서 몇 주씩 돌리는 작업이지만, 추론은 사용자의 노트북, 사내 서버, 심지어 라즈베리파이에서도 돌아가야 할 수 있어요. 요구 조건이 전혀 다르죠.

그런데 표준처럼 쓰이는 파이썬 스택에는 고질적인 고통이 있어요. PyTorch를 설치하려면 CUDA 버전과 GPU 드라이버 버전을 맞추는 지옥을 통과해야 하고, 의존성 패키지만 수 기가바이트가 깔려요. 도커 이미지는 비대해지고, 시작 시간도 느리고요. 서버에 API 하나 띄우자고 이 무게를 감당하는 건 배보다 배꼽이 큰 상황이 자주 생겨요.

C/C++로 엔진을 직접 만들면 이 그림이 달라져요. 의존성 없는 단일 실행 파일 하나로 배포가 끝나고, 메모리를 바이트 단위로 통제할 수 있거든요. 특히 중요한 게 양자화(quantization)인데요. 이게 뭐냐면, 원래 32비트 소수점으로 저장된 모델 가중치를 4~8비트로 압축해서 메모리 사용량을 몇 분의 일로 줄이는 기술이에요. 이 덕분에 데이터센터급 GPU가 필요하던 모델이 일반 노트북에서도 돌아가게 됐어요. 이 길을 증명한 게 바로 llama.cpp와 그 기반인 GGML 라이브러리고요. 맥의 Metal, 일반 CPU의 SIMD 명령어, 각종 GPU까지 하드웨어를 가리지 않고 최적화할 수 있다는 것도 저수준 언어의 힘이에요. LocalAI처럼 엔진을 직접 유지하는 프로젝트는 여기에 더해, 다른 프로젝트의 결정에 끌려다니지 않고 새 모델 아키텍처나 하드웨어 지원을 원하는 속도로 넣을 수 있다는 통제권까지 얻는 거죠.

추론 엔진 판의 구도

업계 지형을 보면 재미있는 분단선이 보여요. 데이터센터에서 대규모 트래픽을 받아내는 서빙 쪽은 vLLM이 강자예요. 파이썬 기반이지만 PagedAttention이라는 메모리 관리 기법으로 GPU 처리량을 극한까지 끌어올렸죠. NVIDIA 하드웨어에 특화된 TensorRT-LLM도 이 진영이고요. 반면 개인 기기와 엣지, 소규모 서버 쪽은 C/C++ 진영이 꽉 잡고 있어요. llama.cpp가 대표 주자고, 요즘 인기 있는 Ollama도 속을 열어 보면 llama.cpp를 감싼 도구거든요. 정리하면 "큰 GPU 농장에서는 파이썬 생태계, 내 손안의 기기에서는 C/C++"라는 구도인데, LocalAI의 글은 후자 진영의 존재 이유를 선명하게 보여주는 셈이에요.

한국 개발자에게 주는 시사점

한국 기업 환경에서 이 주제는 꽤 실용적이에요. 금융, 의료, 공공처럼 데이터를 외부 API로 보낼 수 없는 곳이 많잖아요. 사내 서버에서 도는 로컬 LLM은 이런 규제 환경의 현실적인 답이고, LocalAI 같은 도구는 OpenAI API와 호환되는 형태라 기존에 작성한 연동 코드를 거의 그대로 재활용할 수 있어요. 주말에 llama.cpp나 Ollama로 오픈 모델 하나 돌려보는 것만으로도 감이 확 잡히실 거예요. 커리어 관점의 힌트도 있어요. 다들 파이썬으로 몰려갈 때, 추론 최적화라는 분야에서는 C++와 시스템 프로그래밍 실력이 오히려 희소 가치가 되고 있거든요. AI 시대에 저수준 프로그래밍이 다시 귀해지는, 어찌 보면 역설적인 흐름이에요.

한 줄 정리: AI를 만드는 언어는 파이썬일지 몰라도, AI를 어디서나 돌아가게 만드는 언어는 여전히 C/C++이에요.

여러분 팀은 어떠세요? LLM 기능을 붙인다면 외부 API 호출과 자체 호스팅 중 어느 쪽을 택하시겠어요? 그 이유도 궁금하네요.


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://localai.io/blog/why-we-write-our-own-engines/
SHARE
처리 중...