라즈베리파이에서도 LLM이 돌아간다, 온디바이스 sLM 실전 가이드

Admin LeeJun 14, 20268 min read13 views

라즈베리파이에서도 LLM이 돌아간다, 온디바이스 sLM 실전 가이드

결론 3줄 요약

  1. 거대한 클라우드 LLM이 아니어도, 잘 고른 sLM(소형 언어 모델)이면 라즈베리파이 같은 엣지 보드에서 충분히 쓸모 있는 추론이 가능합니다.
  2. 핵심은 모델 선택과 양자화입니다. 4비트로 압축한 3B급 모델은 8GB 메모리 보드에서 실사용 가능한 속도를 보여줍니다.
  3. llama.cpp 계열 런타임과 GGUF 포맷을 이해하면, 인터넷 없이 동작하는 나만의 프라이빗 AI 비서를 손바닥만 한 보드 위에 올릴 수 있습니다.

1. 서론: LLM은 정말 데이터센터에서만 살아야 할까?

안녕하세요, 현업에서 10년째 임베디드 소프트웨어를 만지고 있는 개발자입니다. 요즘 주변 개발자들과 이야기를 나누다 보면 빠지지 않는 주제가 바로 LLM이죠. 그런데 대화의 끝은 항상 비슷합니다. "그거 결국 GPU 수십 장 박힌 서버 있어야 돌리는 거 아니야?" 라는 결론이요. 정말 그럴까요?

물론 GPT급의 초거대 모델은 그렇습니다. 하지만 우리가 일상에서 마주치는 작업, 예를 들어 간단한 질의응답, 텍스트 요약, 명령어 분류, 간단한 코드 보조 같은 일들은 굳이 그렇게 거대한 두뇌가 필요하지 않습니다. 마치 동네 마트에 가는데 굳이 대형 트럭을 끌고 갈 필요가 없는 것처럼요. 이럴 때 빛을 발하는 것이 바로 sLM(small Language Model), 즉 소형 언어 모델입니다.

저는 얼마 전 책상 위에 굴러다니던 라즈베리파이 한 대에 sLM을 올려보면서, 온디바이스 AI의 가능성을 다시 보게 됐습니다. 인터넷 연결을 완전히 끊어도 동작하고, 내 데이터가 외부 서버로 단 한 바이트도 나가지 않는 그 안정감은 생각보다 훨씬 강력했습니다. 오늘은 이 흥미진진한 온디바이스 LLM의 세계를 여러분과 함께 파헤쳐 보려고 합니다.

2. 본론: 손바닥만 한 보드에 언어 모델을 올리는 기술

거대한 모델을 작은 보드에 욱여넣는 일은 마치 큰 코끼리를 냉장고에 넣는 농담처럼 들립니다. 하지만 몇 가지 핵심 기술과 전략을 알면 생각보다 현실적인 작업이 됩니다.

2.1. 왜 sLM인가: 작지만 똑똑한 모델들의 등장

불과 1~2년 전만 해도 작은 모델은 그냥 '멍청한 모델'의 동의어였습니다. 하지만 최근의 흐름은 완전히 달라졌습니다. 1B에서 4B 파라미터 사이의 소형 모델들이 잘 정제된 데이터로 학습되면서, 특정 작업에서는 예전의 거대 모델 못지않은 성능을 보여주기 시작했습니다.

핵심은 '파라미터 수의 경쟁'에서 '데이터 품질의 경쟁'으로 패러다임이 옮겨갔다는 점입니다. 무작정 인터넷의 모든 텍스트를 긁어 학습시키는 대신, 교과서처럼 잘 정리된 고품질 데이터를 엄선해 학습시키니 작은 모델도 똘똘해진 것이죠. 덕분에 우리는 이제 2GB 안팎의 파일 하나로 제법 그럴듯한 대화형 AI를 손에 넣을 수 있게 됐습니다. 온디바이스 환경에서는 이 작은 덩치가 곧 생존의 조건입니다.

2.2. 양자화(Quantization): 모델 다이어트의 핵심

라즈베리파이 같은 보드의 가장 큰 적은 부족한 메모리입니다. 원본 모델이 32비트 부동소수점(FP32)을 사용한다면, 3B 모델만 해도 12GB 이상의 메모리를 요구합니다. 8GB짜리 보드에는 애초에 올라가지도 않죠.

그래서 등장하는 것이 양자화입니다. 모델의 가중치를 32비트에서 8비트, 심지어 4비트 정수로 변환하는 기술인데요. 쉽게 비유하면 고해상도 RAW 사진을 적당한 화질의 JPEG으로 압축하는 것과 비슷합니다. 약간의 디테일은 손실되지만, 용량은 1/4에서 1/8까지 줄어들고 사람 눈에는 큰 차이가 느껴지지 않죠. 실제로 4비트로 양자화한(흔히 Q4_K_M이라 부르는) 3B 모델은 약 2GB 정도로 줄어들어, 8GB 보드에서 운영체제와 함께 무난하게 동작합니다.

이때 자주 만나게 되는 포맷이 GGUF입니다. llama.cpp 진영에서 표준처럼 쓰이는 이 포맷은 양자화된 가중치와 메타데이터를 한 파일에 담고 있어, 보드에 파일 하나만 복사하면 바로 추론을 시작할 수 있다는 큰 장점이 있습니다.

2.3. 런타임 선택과 메모리 최적화

온디바이스 추론의 일등 공신은 단연 llama.cpp입니다. C/C++로 작성되어 있어 무거운 파이썬 의존성 없이도 ARM 프로세서에서 가볍게 돌아가고, NEON 같은 ARM SIMD 명령어를 적극 활용해 CPU만으로도 꽤 쓸 만한 속도를 뽑아냅니다. 여기에 사용자 친화적인 인터페이스를 더한 Ollama 같은 도구를 쓰면, 명령어 한 줄로 모델을 내려받아 실행할 수 있을 만큼 진입 장벽이 낮아졌습니다.

다만 보드에서 실사용하려면 몇 가지 튜닝이 필요합니다. 첫째, 스왑(swap) 의존을 최소화해야 합니다. 메모리가 부족해 SD카드 스왑으로 넘어가는 순간 추론 속도는 절망적으로 느려집니다. 모델 크기를 메모리 안에 확실히 들어오게 고르는 것이 먼저입니다. 둘째, 컨텍스트 길이를 욕심내지 않는 것이 좋습니다. 컨텍스트가 길어질수록 메모리 사용량이 가파르게 늘기 때문에, 용도에 맞는 적정 길이로 제한하는 편이 안정적입니다. 셋째, 스레드 수를 코어 수에 맞게 설정해 발열과 성능의 균형을 잡아주는 것이 좋습니다.

3. 실전 활용: 온디바이스 sLM은 어디에 쓸까?

그래서 이걸로 대체 뭘 할 수 있냐고요? 생각보다 많습니다. 제가 직접 실험해 보고 쓸모 있다고 느낀 시나리오들을 소개합니다.

가장 먼저 떠오르는 건 프라이빗 비서입니다. 일기나 메모를 요약해 주거나, 외부에 알리고 싶지 않은 개인 데이터를 정리하는 작업은 클라우드에 보내기 꺼려지죠. 온디바이스 sLM은 데이터가 보드 밖으로 나가지 않으니 이런 용도에 딱입니다. 두 번째는 스마트홈의 두뇌 역할입니다. "거실 불 꺼줘" 같은 자연어 명령을 미리 정의한 명령어로 분류하는 의도 분류(intent classification) 작업은 sLM의 좋은 일감입니다. 세 번째는 오프라인 환경입니다. 네트워크가 불안정하거나 아예 없는 산업 현장, 차량, 선박 같은 곳에서도 AI 기능을 제공할 수 있다는 점은 임베디드 엔지니어에게 매력적인 카드입니다.

물론 한계도 분명합니다. 복잡한 추론이나 최신 지식이 필요한 작업, 긴 문서를 한 번에 처리하는 일은 여전히 큰 모델의 영역입니다. 그래서 현실적인 전략은 '하이브리드'입니다. 가벼운 작업은 온디바이스 sLM이 즉시 처리하고, 무거운 작업만 선별적으로 클라우드에 넘기는 식이죠. 이렇게 하면 응답 속도와 프라이버시, 비용이라는 세 마리 토끼를 균형 있게 잡을 수 있습니다.

4. 결론: AI의 무게중심이 다시 단말로 내려온다

지난 몇 년간 AI의 무게중심은 거대한 데이터센터로 쏠려 있었습니다. 하지만 기술은 늘 추처럼 왕복하더군요. 모델 경량화와 양자화 기술이 무르익으면서, 이제 그 무게중심이 다시 우리 손안의 단말로 서서히 내려오고 있습니다.

라즈베리파이 한 대로 시작하는 온디바이스 sLM 실험은, 단순한 취미를 넘어 앞으로의 임베디드 AI 시대를 미리 체험해 보는 좋은 출발점입니다. 거창한 GPU 서버가 없어도 괜찮습니다. 책상 서랍 속 잠자고 있는 보드 한 대와 호기심만 있다면, 여러분도 오늘 당장 나만의 프라이빗 AI를 만들어 볼 수 있습니다. 작은 보드가 보여주는 큰 가능성, 한 번 직접 경험해 보시길 권합니다.

This post was drafted with the help of AI tools and personally reviewed and edited.

Share:

Thanks for reading!

If you found this post useful, check out more articles on the homepage.

Read More Posts