대규모 언어 모델(LLM)을 기업 로컬 시스템에 배치하기란 놀라울 정도로 쉽다. 물론 적절한 도구들이 있다는 전제 아래서다. 여기 메타의 새 코드 라마와 같은 LLM을 데스크톱에 설치하고 활용하는 방법에 대해 살펴본다.
챗GPT, 클로드.ai(Claude.ai), 파인드(phind)와 같은 챗봇들은 매우 유용할 수 있지만 질문이나 민감한 데이터를 외부 애플리케이션에서 처리하기 애매한 경우가 있다. 특히 기업이 챗봇과 수행한 상호작용이 향후 모델 학습에 사용되는 플랫폼에서는 더욱 그렇다.
한 가지 해결책은 대규모 언어 모델(LLM)을 다운로드해 자체 시스템에서 실행하는 것이다. 외부 조직이 기업의 데이터에 접근할 가능성을 원천적으로 차단하는 것이다. 또한 코딩 작업을 위해 등장한 메타의 코드 라마 모델 제품군이나 텍스트 음성 변환 및 언어 번역을 목적으로 한 심리스M4T(SeamlessM4T)와 같은 새로운 모델을 사용해 볼 수 있는 지름길이기도 하다.
자체 LLM을 실행한다는 것이 복잡하게 들릴 수 있지만, 올바른 툴을 사용하면 의외로 쉽다. 그리고 대부분의 모델에서는 하드웨어 요구 사항도 그리 까다롭지 않다. 이 기사에 소개된 옵션은 인텔 i9 프로세서, 64GB 램, 엔비디아 지포스 12GB GPU(생각보다 활용 빈도가 낮다)가 장착된 델 PC와 M1 칩이 장착되어 있지만 램이 16GB에 불과한 맥에서 테스트했다.
먼저 기업이 원하는 작업에 적합하고 데스크톱 하드웨어에서 실행되는 모델을 찾으려면 약간의 조사가 필요할 수 있다. 그리고 챗GPT(특히 GPT-4) 또는 클로드.ai와 같은 기존의 도구처럼 익숙하지 않을 수 있다. 그러나 명령줄 툴 LLM의 제작자인 사이먼 윌리슨은 지난주 프레젠테이션에서 로컬 모델의 실행이 충분한 가치가 있다고 강조했다. 설명 틀린 답을 내놓을 때조차 그렇다고 그는 주장했다.
[일부] 노트북에서 실행되는 모델은 심각한 환각 현상을 보여주기도 한다. 하지만 이 점이 LLM을로컬 기기에서 실행할만한 아주 좋은 이유일 수 있다. 어떻게 작동하고 한계가 무엇인지를 이해하는 데 훨씬 더 빠른 방법이기 때문이다.
또한 오픈소스 모델은 계속 개선될 가능성이 높으며, 일부 업계 관계자들은 오픈소스 모델과 상업용 모델 사이의 격차가 좁혀질 것으로 예상하고 있다는 점도 주목할 필요가 있다. Image Credit : Getty Images Bank
GPT4All로 로컬 챗봇 실행하기
로컬에서 실행되고 다른 곳으로 데이터를 전송하지 않는 챗봇을 원하는 조직은 GPT4All을 살펴볼만하다. 설정이 매우 쉬운 다운로드용 데스크톱 클라이언트를 제공한다. 윈도우, 맥OS 및 우분투용 버전이 있다.
GPT4All 데스크톱 애플리케이션을 처음 열면, 로컬에서 (이 글을 쓰는 시점 기준) 실행할 수 있는 약 10개의 모델을 다운로드할 수 있는 옵션이 표시될 것이다. 그 중에는 메타 AI의 모델인 라마-2-7B 채팅이 있다. 또한 API 키가 있는 경우 오픈AI의 GPT-3.5 및 GPT-4(액세스 권한이 있는 경우)를 로컬이 아닌 용도로 설정할 수도 있다.
GPT4All 인터페이스의 모델 다운로드 부분은 처음에는 약간 혼란스러웠다. 여러 모델을 다운로드한 후에도 여전히 모든 모델을 다운로드하는 옵션이 표시되었다. 마치 다운로드가 되지 않는 것 같았다. 하지만 다운로드 경로를 확인하니 모델들이 모두 다운로드 되어 있었다.
GPT4All 내 모델 다운로드 인터페이스. 애플리케이션의 사용율을 열면, 다운로드한 모델이 자동으로 나타난다.
모델을 설정하고 나면 챗봇 인터페이스 자체는 깔끔하고 사용하기 쉽다. 채팅을 클립보드에 복사하고 응답을 생성하는 등의 편리한 옵션이 있다.
GPT4All 챗 인터페이스는 깨끗하고 쉽다.
또한 로컬에서 내 문서와 ‘채팅’할 수 있는 새로운 로컬독스 플러그인 베타가 있다. 설정 > 플러그인 탭에서 이 플러그인을 활성화하면 ‘로컬독스 플러그인 (베타) 설정’ 헤더와 특정 폴더 경로에 컬렉션을 만들 수 있는 옵션이 표시된다.
플러그인은 현재 개발 중이다. 공식 문서는 추가한 전문가 정보에 액세스할 수 있는 경우에도 LLM이 여전히 ‘환각’(무언가를 만들어내는 것)을 할 수 있다고 경고하고 있다. 그럼에도 불구하고 오픈소스 모델의 기능이 향상됨에 따라 개선될 가능성이 있는 흥미로운 특징이다.
챗봇 애플리케이션 외에도 GPT4All에는 파이썬, 노드 및 명령줄 인터페이스(CLI)에 대한 바인딩도 있다. 또한 오픈AI와 매우 유사한 구조의 HTTP API를 통해 로컬 LLM과 상호 작용할 수 있는 서버 모드도 있다. 이 모드의 목표는 코드 몇 줄만 변경하면 로컬 LLM을 오픈AI로 교체할 수 있도록 하는 것이다.
명령줄 상의 LLM들(LLMs on the command line)
사이먼 윌리슨의 LLM은 필자가 본 것 중 오픈소스 LLM을 로컬 컴퓨터에 다운로드하여 사용하는 쉬운 방법 중 하나다. 실행하려면 파이썬이 설치되어 있어야 하지만 파이썬 코드를 건드릴 필요는 없다. 맥에서 홈브류를 사용하는 경우 다음과 같이 설치하면 된다:
brew install llm
윈도우 컴퓨터에서 사용하는 경우, 다음과 같이 선호하는 파이썬 라이브러리 설치 방법을 사용하라:
pip install llm
LLM은 기본적으로 오픈AI 모델을 사용하지만 플러그인을 사용하여 다른 모델을 로컬로 실행할 수 있다. 예를 들어, gpt4all 플러그인을 설치하면 GPT4All의 추가 로컬 모델에 액세스할 수 있다. 또한 리마, MLC 프로젝트 및 MPT-30B용 플러그인과 추가 원격 모델도 있다.
명령줄에 llm install model-name을 사용하여 플러그인을 설치하라:
llm install llm-gpt4all
다음과 같은 명령으로 사용 가능한 모든 원격 모델과 설치한 모델을 확인할 수 있으며, 각 모델에 대한 간략한 정보도 확인할 수 있다: llm models list.
LLM에서 사용할 수 있는 모델 목록을 나열하라고 요청한 화면
로컬 LLM에 쿼리를 발송하려면 다음 구문을 사용한다.
llm -m the-model-name "Your query"
적합한 LLM 선택
모델은 어떻게 선택하는가? 챗GPT가 아닌 14개의 LLM은 인포월드에서 확인할 수 있지만, 어떤 모델을 다운로드할 수 있는지, LLM 플러그인과 호환되는지 확인해야 한다. GPT4All 홈페이지로 이동하여 모델 탐색기로 스크롤하여 GPT4All과 호환되는 모델을 찾을 수도 있다. falcon-q4_0 옵션은 상업적 사용이 가능한 라이선스를 가진 비교적 작은 모델로 높은 평가를 받고 있었기 때문에 나는 이 모델부터 시작했다.
그런 다음 모델을 다운로드하라는 별도의 명령을 내리지 않고 챗GPT와 유사한 질문을 해봤다.
-model-gpt4all-falcon-q4_0 "Tell me a joke about computer programming"
LLM 사용자 경험이 매우 우아해지는 모습 중 하나다. 로컬 시스템에 GPT4All 모델이 없는 경우 쿼리를 실행하기 전에 LLM 툴이 자동으로 다운로드한다. 모델이 다운로드 되는 동안 터미널에 진행률 표시줄이 나타난다.
LLM이 자동으로 쿼리에서 사용한 모델을 다운로드했다.
“프로그래머는 왜 컴퓨터를 껐을까? 여전히 작동하는지 확인하고 싶었기 때문이다!”라는 우스갯소리는 별다를 것 없지만, 이 쿼리에는 별다른 게 있었다. 결과가 실망스럽다면 이는 모델 성능이나 부적절한 사용자 프롬프트 때문이지 LLM 툴 때문이 아니다.
LLM 내에서 모델에 별칭을 설정하여 더 짧은 이름으로 모델을 참조할 수도 있다:
llm aliases set falcon ggml-model-gpt4all-falcon-q4_0
사용 가능한 모든 별칭을 보려면 다음과 같이 입력하라: llm aliases
메타의 라마 모델용 LLM 플러그인은 GPT4All보다 설정이 조금 더 필요하다. 자세한 내용은 LLM 플러그인의 깃허브 레포를 참조하도록 한다. 범용 llama-2-7b-chat은 M1 프로 칩과 16GB 램만 장착한 내 업무용 맥에서 그럭저럭 실행될 수 있었다는 것에 주목할 필요가 있다. GPU가 없는 더 소형 컴퓨터에 최적화된 GPT4All 모델에 비해 다소 느리게 실행되었으며, 더 강력한 가정용 PC에서는 더 나은 성능을 보였다.
LLM에는 이전 채팅에서 계속할 수 있는 argument 플래그와 파이썬 스크립트 내에서 사용할 수 있는 기능 등 다른 기능들도 있다. 자세한 내용은 LLM 웹사이트에서 확인할 수 있다. 참고로 인기 있는 파이썬 장고 프레임워크의 공동 제작자인 윌리슨은 커뮤니티의 다른 사람들이 LLM 생태계에 더 많은 플러그인을 기여해달라고 요청하고 있다.
맥의 라마 모델: 올라마 올라마(Ollama)는 LLM보다 훨씬 쉽게 모델을 다운로드하고 실행할 수 있는 방법이지만, 더 제한적이다. 현재로서는 맥OS 전용이며, 윈도우와 리눅스에 대한 지원이 ‘곧 제공될 예정’이라고 한다.
올라마 설정은 아주 쉽다.
포인트 앤 클릭으로 우아하게 설치할 수 있다. 올라마는 명령줄 툴이지만, ollama run model-name 구문이 있는 명령어는 하나뿐이다. LLM과 마찬가지로 해당 모델이 아직 시스템에 없는 경우 자동으로 다운로드 될 것이다.
사용 가능한 모델 목록은 https://ollama.ai/library 에서 확인할 수 있으며, 이 기사를 쓰는 시점에는 한 가지 버전의 코드 라마 모델이 포함되어 있다. 파이썬용으로 튜닝 된 옵션은 포함되어 있지 않다. 하지만 이는 코드 라마가 발표된 다음 날의 상황이며, 앞으로 더 많은 모델이 제공될 예정이다.
회원 전용 콘텐츠입니다. 이 기사를 더 읽으시려면
로그인
이 필요합니다. 아직 회원이 아니신 분은
'회원가입'
을 해주십시오.