profile image

L o a d i n g . . .

  서론  

  약 1주일 전, Meta에서 새로운 오픈소스 LLM 모델인 Llama 3을 공개 및 출시 했습니다. Llama 3의 8B와 70B가 공개된 상태이며, 최대 400B급 모델을 학습하고 있다고 합니다.

  여기서 우리는 대부분의 PC에서 원활하게 사용해 볼 수 있는 Llama 3 8B 모델의 실행을 진행해보고자 합니다. 본 강좌는 아래의 순서대로 진행됩니다.

  1. Ollama 설치
    1-1. 언어 모델 다운로드 위치 변경
  2. Llama 3:8b 설치 및 구동
  3. Open WebUI 설치 및 연동
    3-1. Docker Desktop 설치 (재부팅 필수)
    3-2. Docker 이미지 설치 및 실행
    3-3. Open WebUI 실행 및 설정

  Llama 3를 구동하는 제 PC의 사양은 아래와 같습니다.

  • CPU : 인텔 i7-13700F
  • RAM : DDR5-6400 32GB (16GB * 2EA)
  • 그래픽카드 : 엔비디아 RTX 4090 (VRAM : 24GB)

  정말 쉽고 간편하게 따라할 수 있도록 작성했습니다. 문의 내용이 있으신 경우, 언제든지 댓글 남겨주세요.

  Ollama 설치  

  먼저 Ollama 홈페이지(https://ollama.com/)에 접속합니다.

 

Ollama

Get up and running with large language models.

ollama.com

  메인페이지에 있는 'Download' 버튼을 누르면 각 OS별 설치 파일을 다운로드 할 수 있는 페이지로 이동됩니다. 윈도우의 경우 OS 최소사양은 '윈도우 10' 입니다. 다운로드 한 설치 파일을 실행합니다.

  우측 하단의 'Install'을 선택합니다.

  설치가 진행되고 있습니다. 잠시 기다립니다.

  설치가 완료되면 우측 하단에 'Ollama is running' 이라는 알람이 뜹니다. 그리고 트레이 아이콘에 귀여운 라마가 보이게 됩니다. 설치가 완료되었습니다!

  명령 프롬프트 실행 후 'Ollama'만 입력 후 엔터를 쳤을 때 위의 화면이 나오면 정상 설치된 것입니다.

  언어 모델 다운로드 위치 변경  

  Ollama를 설치한 후 언어 모델을 다운로드 하면, Ollama가 설치되어 있는 기본 드라이브에 설치됩니다. 기본 드라이브가 C라면, C드라이브에 설치됩니다. 언어 모델의 용량이 크기 때문에 D 또는 다른 드라이브에 다운로드 하고 싶은 분들이 있으실겁니다. "난 그냥 다운로드 할래!"라는 분들은 이 과정을 건너 뛰어도 됩니다.

  먼저 트레이 아이콘에 위치한 라마를 마우스 오른쪽 버튼 클릭 후 'Quit Ollama'를 선택합니다. Ollama가 종료됩니다.

  '환경 변수'를 설정해야 합니다. 윈도우 11의 경우, 시작 버튼 옆에 있는 검색에서 '환경 변수'만 입력하면 '시스템 환경 변수 편집'이 나타납니다.

  '시스템 속성'에서 '고급'탭에 있는 '환경 변수(N)' 버튼을 선택합니다.

  상단의 '사용자 변수'에서 '새로 만들기'를 선택합니다.

  변수 이름과 변수 값을 각각 아래의 내용으로 입력합니다.

  • 변수 이름 : OLLAMA_MODELS
  • 변수 값 : "모델 파일이 저장될 경로"

  저는 모델 파일이 저장될 경로를 Z 드라이브의 'ProjectFiles_ai' 폴더의 'ollama' 폴더의 'ollama_model' 으로 지정했습니다.

  마지막으로 Ollama 프로그램을 다시 실행합니다.

  Llama 3:8b 설치 및 구동  

  명령 프롬프트에서 "ollama run llama3:8b" 를 입력합니다. 그러면 다운로드를 시작합니다. 다운로드 받게 되는 모델 파일의 용량은 약 4.7GB 입니다. 모델 파일을 처음 받는 것이라면 0.1GB 남았을 때 시간이 매우 오래 걸릴 수 있습니다. 차분하게 기다립니다. 저는 마지막 0.1GB 정도에서 20분 넘게 기다렸습니다.

  모든 파일을 다운로드 받았고 파일 검증까지 완료되었다면 "success" 문구가 표시된 후 메시지를 입력할 수 있는 ">>>"가 표시됩니다. Llama 3:8b 모델의 설치 및 구동까지 성공적으로 완료했습니다.

  간단하게 대화를 해봅니다. 대화의 흐름이 매끄럽지 못한 것 같지만, 매우 정상입니다. 질문은 영어로 입력해도 되고 한국어로 입력해도 됩니다. 다 알아 듣습니다. 이렇게 사용해볼 수 있는 것은 좋은데... 한국어를 입력하는 것이 불편하기도 하고, 출력 메시지의 시인성이 좋지 않습니다. 그래서 Open WebUI를 설치해서 입력을 편안하게 하고, 출력물을 보기 편하게 바꿔보겠습니다. 마치 OpenAI의 ChatGPT 채팅 화면과 유사하게 말이죠.

  Open WebUI 설치 및 연동  

  Open WebUI는 여러가지 방법으로 구동할 수 있습니다. 관리적인 측면에서 Docker를 쓰는 것이 매우 편합니다. 그래서 Docker에서 실행하는 방법으로 진행합니다.

  Docker는 특정 기능을 개별로 관리할 수 있는 '컨테이너' 프로그램입니다. 화물선이나 트레일러 위에 올라가있는 네모난 컨테이너 아시죠? 특정 기능을 컨테이너 안에 구성하고, 필요 시 컨테이너를 통째로 들어 올려서 원하는 위치에 옮긴다고 생각하시면 됩니다.

  도커 안에서 설치 및 구동되는 이미지들은 메인 컴퓨터에 설치 및 종속되는 것이 아니므로, Docker에서 구동되는 이미지들의 사용을 중지하고 깔끔하게 지우고 싶다면, 해당 '컨테이너'를 삭제하면 끝인 구조입니다.

  Docker Desktop이 설치되어 있지 않은 경우, 설치를 진행합니다. (https://www.docker.com/products/docker-desktop/)

  Docker Desktop 설치  

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

  위 화면에서 'Download for Windows'를 그대로 클릭하면 됩니다. 아래의 3개는 macOS와 Linux OS용 설치 파일을 다운로드 받는 링크입니다. 다운로드 받은 후 설치 파일을 실행합니다.

  실행만 하면, 알아서 다 진행됩니다. 설치가 완료되면 필히 재부팅을 해야 합니다. 그러지 않으면 Docker가 실행되지 않습니다.

  재부팅 후 Docker를 실행했을 때 위의 화면이 보이면 성공한 것입니다.

  Open WebUI 이미지 설치 및 구동  

  명령 프롬프트에서 아래의 명령어를 입력합니다.

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

  명령어를 정확하게 입력했다면 Docker는 이미지를 가져온 후 자동으로 설정을 시작합니다.

  모든 과정이 정상적으로 진행 되었다면, Docker Desktop의 Containers에 'open-webui'가 정상 실행 중이어야 합니다.

  Open WebUI 접속 및 계정 생성  

  Open WebUI는 포트번호 3000 으로 구동됩니다. 웹 주소창에 아래의 주소를 입력 후 엔터를 칩니다.

localhost:3000

  그러면 위의 화면이 뜰 것입니다. Open WebUI를 Docker Desktop에 정상적으로 설치된 것입니다. 하단의 'Sign up'을 눌러서 계정을 등록해야 합니다.

  이름, 이메일 주소 및 비밀번호 입력 후 Create Account를 선택합니다. 첫 사용자 등록이므로 자동으로 관리자 계정에 등록됩니다.

  메인페이지 접속까지 성공했습니다!

  Open WebUI 언어 모델 설정  

  이제 llama3 모델과 연동해야 합니다. 좌측 하단의 사용자 이름 선택 후 'Settings'를 선택합니다.

  'Models'에서 'Pull a model from Ollama.com' 항목을 찾습니다. 그리고 "llama3:8b" 입력 후 우측의 다운로드 아이콘을 선택합니다.

  본문의 2번 과정을 진행 했다면 다운로드 과정 없이 Verify 후 완료됩니다. 만약 2번 과정을 진행하지 않았다면 llama 3 8B 모델을 다운로드하게 됩니다. "Model 'llama3:8b' has been successfully downloaded." 문구를 확인합니다. Open WebUI에서 llama3 모델 설정도 성공했습니다.

  Open WebUI 정상 동작 확인  

  다시 메인페이지로 돌아온 후 상단의 'Select a model' 선택 후 'llama3:8b'를 선택합니다. 이제 llama 3 8B 언어 모델과 대화를 할 수 있게 되었습니다.

  테스트 대화를 해봅니다. "엔비디아에 대해서 알려줄래? 한국어로 답해줘"라고 물어봤습니다. "한국어로 답해줘"라는 문장을 추가 시킨 이유는, 한국어 출력이 강제적이지 않기 때문입니다. 입력한 한국어는 잘 이해 하는데 출력은 99% 영어로 합니다.

  이렇게 Open WebUI에서 llama 3 8B 모델을 사용할 수 있게 되었습니다!

  Ollama가 시스템 메모리를 거의 8GB 사용하고 있습니다. RTX 4090의 VRAM도 거의 8GB 사용 중입니다. llama 3 20B 모델을 돌려봤는데 시스템 메모리 32GB 전부 사용하고 RTX 4090의 VRAM 24GB도 모두 사용하다보니 컴퓨터가 잠시 멈췄다가 구동하는 수준까지 갑니다. 쓸 수 없어서, 2비트 또는 2.5비트 양자화 버전으로 도전해봐야 겠습니다.

  마무리  

  지금까지 Meta에서 배포한 llama 3 8B 언어 모델을 설치하고 CLI와 Web 환경에서 구동까지 해보았습니다. 많은 도움이 되었으면 좋겠습니다. 설치 및 구동 시 문제가 되는 부분이 있으면 댓글 달아주세요. :)

[Need a translation?]

English Korean Japanese Chinese (Simplified) Chinese (Traditional) French German Russian Spanish Ukrainian


복사했습니다!