[LLM 개발기초] 2. 오픈소스 Llama 로 AI 맛보기
아마도 AI (LLM) 하면 가장 먼저 떠오르는 것이 채팅 형식의 UI 를 통해 경험하는 ChatGPT 일 것입니다. ChatGPT 성공이후 수많은 빅테크 기업들이 엄청난 돈을 투자해 개발한 “언어 모델” 을 기반으로 이와 유사한 AI 서비스들이 봇물처럼 쏟아진 것은 잘 아실겁니다.
그런데 고맙게도 일반 사용자들이 이런 LLM “언어 모델”과 프로그램(툴) 들을 다운로드 받아 자신의 PC에서 물고 뜯고 맛볼 수 있도록 공개된 모델이 존재합니다. 가장 유명한 것이 Meta (구 페이스북) 에서 제공하는 LLAMA 이지요.
Llama 란?
LLAMA는 “Large Language Model Meta AI”의 약자로, 메타에서 개발한 AI 모델입니다. 이 모델은 엄청난 양의 텍스트 데이터를 학습하여 인간의 언어를 이해하고 생성할 수 있는 능력을 갖추고 있다고 공식적으로 홍보하고 있습니다. 그냥 “상업용으로 개발되어 서비스되는 여타 모델에 비벼볼만하다” 정도로 이해하시면 될 것 같습니다.
LLAMA의 특징:
- 오픈소스: 다른 기업의 비공개 모델들과 달리, LLAMA는 연구 목적으로 공개되어 있어 많은 사람들이 활용하고 발전시킬 수 있습니다.
- 효율성: 상대적으로 작은 크기로도 뛰어난 성능을 보여, 적은 컴퓨팅 자원으로도 활용이 가능합니다.
- 다양한 언어 지원: 영어뿐만 아니라 여러 언어를 이해하고 생성할 수 있습니다.
길게 적었지만 한 단어로 요약이 가능합니다. “오픈소스”
덕분에 Llama 는 연구나 개발목적으로 굉장히 유용하며, 특정 도메인이나 태스크에 맞게 fine-tuning (쉽게 말해서 개조) 도 활발하게 이루어지고 있습니다. Llama 는 AI 의 민주화에 크게 기여했다는 평가를 받고 있습니다.
내 PC에서 돌리는 AI, OLLAMA
개인적으로 메타가 Llama 를 공개한 것도 놀랍지만, 이걸 복잡한 AI 알고리즘에 대한 이해 없이도 누구나 쉽게 사용할 수 있도록 만든 OLLAMA 가 더 놀랍습니다.
OLLAMA(Open Large Language Model Applications) 는 강력한 AI 언어모델들을 쉽게 사용할 수 있도록 해주는 오픈소스 프로그램입니다. 누구나 다운로드 받아서 설치만 하면 끝. 그럼 바로 ChatGPT 와 같은 대화를 해볼 수 있습니다.
(다만, 본인의 CPU/그래픽카드 성능에 따라 응답의 속도는…)
OLLAMA의 특징
- 사용 편의성: 복잡한 설정 없이 간단한 명령어로 AI 모델을 실행할 수 있습니다.
- 로컬 실행: 여러분의 개인 컴퓨터에서 직접 AI 모델을 구동할 수 있어, 개인정보 보호에 유리합니다.
- 다양한 모델 지원: LLAMA, GPT-J 등 여러 종류의 AI 모델을 지원합니다.
- 가벼운 사용: 상대적으로 적은 컴퓨팅 자원으로도 AI 모델을 실행할 수 있습니다.
- 커스터마이징: 사용자의 필요에 따라 모델을 조정하거나 새로운 모델을 추가할 수 있습니다.
OLLAMA 를 실행해보는 것만으로도 많은 것을 느낄 수 있을 것입니다. 이제 AI 는 클릭 몇 번으로 내 PC에서 실행될 정도로 일상에 가까이 다가왔습니다. ChatGPT 쇼크 이후 이렇게 되기까지 채 2년도 걸리지 않았음을 생각해보세요.
OLLAMA 를 이용한 AI 채팅 실습
OLLAMA 를 PC에 직접 설치해서 실행해보는 과정은 정말 간단합니다.
ollama.com 홈페이지로 갑니다. 다운로드 버튼 누르고 본인의 OS 선택하면 됩니다.
다운로드가 완료되면 설치를 해줍니다. 설치가 완료되면 터미널 / 커맨드 프롬프트를 실행해줍니다.
(윈도우라면 Window key + R -> cmd 입력 후 엔터)
ollama 를 입력 후 실행해보세요.
$ ollama Usage: ollama [flags] ollama [command] Available Commands: serve Start ollama create Create a model from a Modelfile show Show information for a model run Run a model pull Pull a model from a registry push Push a model to a registry list List models cp Copy a model rm Remove a model help Help about any command Flags: -h, --help help for ollama -v, --version Show version information Use "ollama [command] --help" for more information about a command.
이제 ollama run llama3.1 을 실행해보세요
$ ollama run llama3.1 pulling manifest pulling 87048bcd5521... 100% ▕████████████████████████████████████████████████████████▏ 4.7 GB pulling 8cf247399e57... 100% ▕████████████████████████████████████████████████████████▏ 1.7 KB pulling f1cd752815fc... 100% ▕████████████████████████████████████████████████████████▏ 12 KB pulling 56bb8bd477a5... 100% ▕████████████████████████████████████████████████████████▏ 96 B pulling e711233e7343... 100% ▕████████████████████████████████████████████████████████▏ 485 B verifying sha256 digest writing manifest removing any unused layers success >>>
그러면 위와 유사하게 출력될 것입니다.
- 실행한 명령어에서 run 의 의미는 뒤에 적은 언어모델을 (다운로드하지 않았다면 다운로드 후) 실행하라는 의미입니다.
- 언어모델은 용량이 GB 단위입니다. (llama3.1 – 4.7GB) 다운로드에 시간이 오래 걸립니다.
- llama3.1 은 메타가 배포하는 언어모델 llama 의 3.1버전 입니다. (24.07.25 배포)
- llama2 / llama3 도 사용이 가능하며, 추후에 발표되는 언어모델도 사용 가능할 것입니다.
실행이 정상적이라면 prompt 가 바뀌면서 여러분의 입력을 기다릴 것입니다. AI 스럽지않게 밀레니엄 이전의 인터페이스를 제공하지만 ChatGPT 와 유사하게 동작합니다. 여러분이 원하는 질문을 입력해보세요.
>>> 세계에서 가장 붐비는 항공노선은? 베이징-서울, 홍콩-다리엔, 상하이-서울 >>> 좀 더 상세한 설명까지 넣어줘 세계에서 가장 붐비는 항공 노선을 꼽자면 다음과 같은 노선들이 있습니다. 1. **베이징(PEK) - 서울(ICN)**: 중국의 수도인 베이징과 대한민국의 수도인 서울을 연결하는 노선입니다. 매일 10회 이상 운항되고, 이 노선은 세계에서 가장 붐비는 노선 중 하나로 유명합니다. 2. **홍콩(HKG) - 다리엔(CTU)**: 홍콩의 국제 공항과 중국의 중부 지역인 다리엥을 연결하는 노선입니다. 매일 20회 이상 운항되고, 이 노선은 세계에서 가장 붐비는 노선 중 하나로 알려져 있습니다. 3. **상하이(SHA) - 서울(ICN)**: 중국의 동북부 지역인 상하이를 대한민국의 수도인 서울과 연결하는 노선입니다. 매일 10회 이상 운항되고, 이 노선은 세계에서 가장 붐비는 노선 중 하나로 유명합니다. 이러한 노선들은 대부분의 항공사들이 운항하고 있으며, 여객 수요가 많은 노선들로 인해 이 노선들은 항공 승무원과 기내 서비스를 제공하는 데 어려움을 겪기도 합니다. >>>
간단히 명령어 몇 가지를 더 소개하자면
- ollama list : 다운로드 받은 모델 목록을 보여줍니다
- ollama rm 모델명 : 모델명 모델을 지웁니다.
- ollama create xxx xxx : 외부에서 다운로드 받은 모델을 등록합니다. (파인튜닝된 모델을 다운로드 받아 사용할 때)
OLLAMA 는 메타가 제공하는 llama 전용이 아닙니다! 다양한 언어모델을 받아 실행할 수 있게 해주는 AI 계의 OS 와 유사합니다. OLLAMA 가 지원하는 AI 모델들은 아래에서 확인하실 수 있습니다.
맺음말
사실 OLLAMA 의 진정한 미덕은 실습과 같은 채팅 인터페이스가 아니라 다른 프로그램에서 OLLAMA 를 통해 언어모델을 사용할 수 있도록 해주는 능력에 있습니다. OLLAMA 를 이용해 내 PC에서 AI 프로그램을 작성할 수 있다는 얘기지요. 앞으로는 그 점에 주목해서 다양한 실습을 해 볼 것입니다.