올라마(Ollama)는 사용자가 간단하게 AI 라이브 서비스를 만들 수 있는 도구입니다. 내 맥북이나 그램 노트북에 나만의 작은 GPT 서버를 만들고 프롬프트를 붙여서 개인 비서로 쓸 수도 있습니다. 로컬에서 사용하면 비록 속도는 상용 GPT보다 느리지만 대형 언어 모델 (LLM)의 과정을 직접 경험하고, 회사에서 사용할 챗봇을 만들 수 있는 엄청난 도구입니다. 이를 위해 올라마는 모델을 서빙하는 API 서버로 동작합니다. 그리고 GPT 같은 파운데이션 모델 이외에도, 사전 지식에 사용하는 임베딩 모델도 서빙할 수 있습니다. 이 블로그에서는 올라마를 설치하고 사용하는 방법을 소개합니다.
✨ 소개 🦙
대형 언어 모델(LLMs, Large Language Models)을 만들고, 실행하고, 공유합니다
- Ollama Homebrew Formulae
올라마(Ollama)는 2023년에 공개된 API 서버로 Hugging Face에 있는 오픈소스 AI 모델을 실행시킬 수 있는 도구입니다. 올라마는 개발자가 아니더라도 AI 모델을 사용할 수 있도록 설계되었어요. 개인 비서나 고객 지원 챗봇 등 다양한 사용 사례에 활용될 수 있습니다. 올라마의 가장 큰 장점은 간편한 설치와 사용법, 그리고 다양한 모델을 지원한다는 점이에요. 게다가, 여러분은 자신의 데이터로 모델을 학습시켜 맞춤형 AI 솔루션을 만들 수 있어요. 올라마는 AI 기술을 쉽게 접근할 수 있도록 도와주기 때문에, 비전문가도 AI의 혜택을 누릴 수 있게 해줍니다.
올라마는 다양한 AI 모델을 지원하고, 여러분의 필요에 맞게 모델을 선택하고 설정할 수 있도록 해줍니다. 사용 사례로는 고객 지원, 개인 비서, 교육 도우미, 사내 챗봇 등이 있습니다. 여러 분야에서 올라마를 유용하게 쓰고 있다는 사례가 들려오고 있어요. 올라마를 잘 모르셨다면 이 블로그를 통해 여러분도 올라마를 사용해 보시는 기회가 되었으면 좋겠습니다.
🧑🔧 설치법
공식 설치 사이트는 이 링크입니다. 여기서 로컬 환경에 맞는 올라마를 설치할 수 있구요. 만약 쿠버네티스에서 설치하고 싶다면, 올라마 헬름 차트를 이용해 설치하는 것을 추천합니다. 다음 설치법 중 하나를 선택하시면 됩니다:
- 공식 설치: https://ollama.com/download
- homebrew 설치: https://formulae.brew.sh/formula/ollama
- 쿠버네티스 설치: https://github.com/otwld/ollama-helm
저는 맥북을 주로 사용하고 있어서 homebrew로 설치하는 걸 선호합니다.
brew install ollama
설치가 끝났다면 `ollama`를 입력하여 터미널이 잘 응답하는지 확인합니다.
이제 내 컴퓨터(로컬)에서 올라마를 사용할 준비가 끝났습니다. 윈도우나 우분투에서도 설치 가이드를 따라하신 다음 기본 명령어를 수행할 수 있게 된다면 준비가 끝났습니다.
🦙 내 컴퓨터에서 터미널로 올라마와 대화하기
먼저 로컬 터미널을 이용해 올라마를 사용해 보겠습니다. 이 링크를 살펴보시죠. 여기서는 올라마가 공식지원하는 AI 모델을 찾을 수 있습니다. 사용법은 각 모델 페이지에서 자세히 소개되어 있습니다. 하나만 예를 들어 볼까요?
다음 명령어로 한국어를 잘 하는 Gemma2 9B 모델을 실행하겠습니다.
ollama run gemma2
# 'gemma2'는 'registry.ollama.ai/library/gemma2'의 줄인 표현입니다
올라마 레지스트리 주소인 'registry.ollama.ai/library/*'는 생략할 수 있습니다. 따라서 gemma2 만 쓰면 됩니다.
허깅페이스 주소인 'hf.co/org-name/repo-name'는 생략할 수 없습니다. 따라서 모든 주소를 사용해야 합니다.
10분 정도 기다리면 다음 처럼 `Send a message (/? for help)`라는 메시지가 나옵니다.
이제 이 터미널에서 질문을 해봅시다. `인생이란 무엇일까요?` 라고 물어보았습니다.
약간의 로딩을 거친 다음에 답변을 생성합니다.
답변을 옮기면 다음과 같습니다.
인생의 의미는 인간 개개인에게 다르고, 시간이 지나면서 변화하기도 합니다.
저는 AI로서 감정이나 경험을 가지지 못하므로 인생의 진정한 의미를 알 수 없습니다. 하지만 사람들이 자주 이야기하는 인생에 대한 몇 가지 관점을 드릴 수 있
습니다.
* **성장과 발전:** 많은 사람들은 인생을 배우고 성장하며, 새로운 경험들을 통해 자신을 더 발전시키는 과정으로 생각합니다.
* **만족과 행복:** 인생의 목표가 단순히 즐거움과 만족감을 얻는 것일 수 있습니다. 사랑하는 사람들과 함께 시간을 보내고, 취미를 즐기며, 의미 있는 일에
참여하는 것이 행복을 가져다줄 수 있습니다.
* **대인관계:** 많은 사람들은 인간관계를 통해 생명의 가치를 느끼고, 서로에게 영향을 미치는 것을 중요하게 생각합니다. 사랑, 우정, 공동체 의식은 인생에
큰 의미를 부여할 수 있습니다.
* **기여와 상속:** 일부 사람들은 자신의 삶이 세상에 어떤 기여를 할 수 있고, 다음 세대에게 무엇을 물려줄 수 있는지 고민합니다. 예술, 과학, 사회봉사 등
을 통해 자신만의 가치를 남기고 싶어하는 것입니다.
인생의 의미는 개인의 신념, 가치관, 경험에 따라 다르게 해석될 수 있습니다. 중요한 것은 스스로에게 진정으로 의미 있는 삶을 살아가기 위해 노력하는 것입니
다.
이렇게 터미널을 이용해서 올라마(Gemma2)에게 질문을 하고 응답을 얻을 수 있습니다. 터미널을 닫지 않고 계속 대화하면 맥락에 따라서 올라마가 유용한 답변을 해줄겁니다. 다른 모델과 대화 하고 싶으시다면 이 링크에서 원하는 모델을 실행하시면 됩니다.
모델의 답변 과정에서 인터넷 연결 없이 모델 스스로 생각한 결과를 제공합니다. 다른 질문을 해보아도 잘 답변하는 것으로 보아, 오픈소스 AI도 우수한 성능을 보이는 것을 알 수 있습니다.
🧑🎨 내 컴퓨터에서 터미널로 그림 질문하기
터미널에서 또 할 수 있는 기능이 있습니다. 그건 바로 이미지 인식인데요. 이미지와 질문을 함께 입력할 수 있는 멀티모달 모델을 사용해보겠습니다. 이를 위해서는 올라마에서 vision 을 지원하는 모델을 선택해야 합니다.
이 고양이 사진에 대해서 물어보겠습니다.
이 사진을 다운로드 합니다. 예시 경로는 다음과 같습니다.
/Users/jyje/Downloads/tolga-ahmetler-d6lbhI_ekBk-unsplash.jpg
다음 명령어로 llama3.2-vision 모델을 실행합니다. 메타에서 만든 llama3.2-vision 모델은 이미지를 이해할 수 있는 기능이 포함된 언어 모델입니다.
# brew services restart ollama
ollama run llama3.2-vision
모델이 준비가 되면 원하는 사진의 경로를 입력하고 사진에 대한 질문을 합니다.
/Users/jyje/Downloads/tolga-ahmetler-d6lbhI_ekBk-unsplash.jpg 이 사진에 나온 동물 대해서 설명해주세요. 답변은 한국어로 해주세요.
그럼 이렇게 답변을 받을 수 있습니다.
사진 속의 동물은 고양이라고 합니다.
고양이는 포유류의 일종으로, 육식성 동물입니다. 고양이는 사는 곳에 따라 2종류로 구분됩니다. 한 종류는 야생고양이이고 다른 종류는 집고양이라는 것입니다
. 사진 속의 고양이는 집고양이라고 추정됩니다.
사진 속의 고양이는 흰색과 검은색을 띠고 있습니다. 특히, 배 부분에 검은 색이 많아 보이며, 머리 위에는 흰색이 가득합니다. 또한, 귀는 길며, 귀 끝에서부터
털이 시작되어 주변으로 퍼져 나옵니다.
사진 속의 고양이는 포즈를 취한 듯이 앉아 있습니다. 왼쪽 앞발은 꼬리를 향해 물고 있고, 오른쪽 앞발은 몸 뒤로 밀려 있습니다. 사진을 찍는 사람과 마주치면
서 사진을 찍으라고 하여 포즈를 취했다는 것을 추정합니다.
사진 속의 고양이는 눈이 크며 황금색입니다. 또한, 귀가 길고 털이 많습니다. 이는 사진 속의 고양이가 고양이라고 확신할 수 있는 이유 중 하나입니다.
사진 속의 고양이는 흰색과 검은 색을 띠기 때문에 반면로 색이 두 가지나 더 있다면 다른 종류의 동물일 가능성이 높아집니다. 하지만, 사진 속의 고양이가 다
른 종류의 동물이라고 확정할 수 있는 증거는 없습니다.
사진 속의 고양이는 포즈를 취해 앉고 있다는 점에서 비록 야생이 아닌 집고양이라는 것을 확신할 수 있습니다. 또한, 집고양이는 대부분 사람과 교감을 하기 때
문에 사진이 찍힐 가능성이 높습니다. 하지만, 사진 속 고양이가 직접 사람에게 포즈를 취했다는 것은 추정할 수밖에 없습니다.
사진 속의 고양이는 야생고양이나 집고양이일지 모릅니다. 하지만, 사진 속의 고양이가 반드시 야생고양이가 아니라고 확신할 수 있는 증거는 없습니다.
이 정도면 상당한 수준의 답변이라고 할 수 있습니다. 동일한 질문을 여러 번 했을 때 답변의 편차가 조금 있습니다. 하지만 대부분 사진의 배경과 고양이에 대해 이해하고 있음을 알 수 있는 답변이었습니다. 여러분도 다른 사진으로 테스트해보시면 어떨까요?
이미지 인식 역시 인터넷 연결 없이 모델 스스로 이미지와 질문을 이해하고 응답을 생성합니다. 앞으로 더 뛰어난 모델들이 나올 것이라 예상할 수 있습니다.
이 블로그에서는 터미널을 이용해 간단히 올라마를 사용해 보았습니다. 터미널을 이용해 AI 모델을 사용하는 것은 기능 데모 정도로 한계가 뚜렷합니다. 코드나 API를 이용해서 좀 더 확장된 형태의 사용이 필요합니다. 후속 포스팅에서는 이러한 것들을 다루고자 합니다. 연재물이 될 수도 있을 것 같네요. 읽어주셔서 감사합니다.
후속 포스팅 목록은 다음과 같습니다:
- 🦙 올라마(Ollama)#2: 내 컴퓨터에서 코드로 올라마 사용하기
- 🦙 올라마(Ollama)#3: 내 컴퓨터에서 도커로 올라마 사용하기
- 🦙 올라마(Ollama)#4: 쿠버네티스로 올라마 사용하기 (작성중)
- 🦙 올라마(Ollama)#5: 사설망에서 올라마(Ollama) LLM 사용하기
'LLMOps' 카테고리의 다른 글
🦙 올라마(Ollama)#5: 사설망에서 올라마(Ollama) LLM 사용하기 (0) | 2024.11.23 |
---|---|
🦙 올라마(Ollama)#3: 내 컴퓨터에서 도커로 올라마 사용하기 (4) | 2024.11.17 |
🦙 올라마(Ollama)#2: 내 컴퓨터에서 코드로 올라마 사용하기 (12) | 2024.11.16 |
어제보다 오늘 더 공부 잘하는 코딩냥이. 어제보다 오늘 더 일 잘하는 코딩냥이.
포스팅이 좋았다면, 오류를 발견했다면, 더 좋은 아이디어가 있다면 댓글 부탁드립니다!