llm이란?
large language models의 줄임말로, 문자 그대로 대형 언어 모델이다.
(출처: https://ko.wikipedia.org/wiki/대형_언어_모델 )
흔히 말하는 ChatGPT, google gemini 등의 ai가 llm에 포함된다.
(정확하게 말하면 ai라는 상위 개념에 llm이 포함되는 것이다.)
그리고 local llm이란, llm을 local(=개인) 환경에서 돌리는 것을 의미한다.
쉽게 말해, 개인 pc에 AI를 구축하는 것이다.
그러면 여기서 몇 가지 의문이 생길 것이다.
1. local llm을 만들 수 있으면 사람들이 왜 ChatGPT나 gemini 등을 결제해서 쓰겠냐?
2. 그러면 내 컴퓨터에 AI를 구축해서 사용할 수 있는 것이냐?
오늘은 위의 질문을 가지고 llm이 뭔지 알아보도록 하자
1. local llm을 만들 수 있으면 사람들이 왜 ChatGPT나 gemini등을 결제해서 쓰겠냐?
우선 한가지를 짚고 넘어가자.
위와 같은 상용 AI들은 자신들의 llm을 공개하지 않았다.
local llm은 보통 IT 기업들이 연구등을 목적으로 만든 open source llm을 활용해서 만들게 된다.
여기에 자신의 목적에 맞춰 추가 학습을 진행하기도 하는데, 이를 '파인 튜닝'이라고 한다.
때문에 '상용 AI 서비스들과 온전히 동일한 것을 local llm으로 구축하는 것은 불가능'하다.
2. 그러면 내 컴퓨터에 AI를 구축해서 사용할 수 있는 것이냐?
local llm으로 나만의 AI 비서를 만드는 것은 가능하다.
그러나 성능은 많이 떨어질 것이다.
llm을 실행하기 위해서는 엄청난 고성능 컴퓨팅을 요구한다.
최근 들어 IT 회사들이 데이터센터를 여기저기 건설하는 것과 컴퓨터 부품 값이 치솟는 이유가 여기에 있다.
그럼에도 개인용 pc로는 구축할 수 있는 성능에 한계가 있기 때문에, 자연스럽게 local llm의 성능에도 한계가 생기게 된다.
그렇다면 local llm(=ai) 구축에는 어떤게 필요할까?
우선, 높은 대역폭의 RAM이 고용량으로 필요하다.
고클럭의 DDR5 RAM으로도 대역폭이 부족하다.
보통은 GPU에 있는 VRAM을 활용하게 된다.
왜냐하면 GPU의 VRAM이 DDR5 RAM보다 몇 배는 더 빠르기 때문이다.
RAM이 빠르면 AI가 질문에 빠르게 답변한다. (이를 tps=token per sec라는 단위로 표기한다)
고용량의 RAM은 사용할 수 있는 llm의 크기에 비례한다.
llm의 학습량은 파라미터의 개수로 표시한다.
그 수치가 크기 때문에 Billon(10억) 단위로 표기한다.
당연히 학습량이 많을수록 똑똑한 AI가 된다.
(참고로 M1 이후 cpu가 탑재된 맥 시리즈는 시스템 메모리(RAM)을 VRAM으로 끌어다 쓸 수 있기 때문에, 고용량을 확보하는데 유리하다)
하지만 여기서 한가지 편법(?)이 존재한다.
바로 양자화다.
양자화는 높은 학습량을 가지는 llm의 정밀도를 낮춰, AI가 빠릿빠릿하게 답변하도록 해주는 기술이다.
예를 들어, 0.1234567890123456이라는 소수점 이하 16자리 값이 있다고 하자
이 값을 8bit 양자화를 하면 0.12345678이라는 근사 값으로 저장하게 된다.
이렇게 하면 정확도는 떨어지지만 소수점 이하 8자리만 확인하면 되기 때문에, 답변이 빨라지는 것이다.
(출처: https://www.ibm.com/kr-ko/think/topics/quantization )
위의 내용을 토대로 local llm의 장단점을 정리하자면 다음과 같다.
장점
- 개인정보 보호 및 민감한 질문을 하는데 거리낌이 없음
(내 pc에 AI를 구축하기 때문에, AI의 모든 것을 내가 통제할 수 있음)
단점
- 매우 높은 하드웨어 비용
(비싼 GPU는 local llm 구성에 필수적이다)
- 성능 제약
(높은 학습량을 가지는 llm을 사용하더라도, 상용 AI보다는 학습량이 적을 수밖에 없다)
한 줄 요약: AI는 사서 쓰세요.. 제발