안녕하세요, Coding your life, '코딩 오페라'입니다. 오늘은 최근 Meta에서 발표하여 이슈가 되고 있는 '라마 3.1' LLM(Large Language Models)을 직접 설치하는 방법에 대해 소개해드리고자 합니다. 현재 저는 '초등학생도 이해하는 자연어 처리'라는 주제로 자연어 처리(NLP)에 대해 포스팅을 하고 있습니다. 제목처럼 진짜 핵심 내용을 쉽게 설명하는 것을 목표로 하고 있으니 자연어 처리(NLP)에 입문하고 싶은 분들은 많은 관심 부탁드립니다.
라마 3.1
우선 라마 3.1에 대해 간략히 설명을 드리자면 지난 24년 7월 23일 페이스북의 모회사 Meta에서 공개한 오픈소스 대규모 언어모델(LLM, Large Language Model)입니다. 여기서 주목할 점은 Openai나 Google과 다르게 ChatGPT급 고성능 LLM을 무료로 코드를 공개하였다는 것입니다. 자세한 내용은 제가 저번에 포스팅해드렸으니 아래글을 참고하시기 바랍니다.
https://codingopera.tistory.com/76
라마 3.1(Llama 3.1) 설치
이렇게 강력한 LLM이 오픈소스로 릴리즈 되었다면, 우리 모두 사용할 수 있다는 이야기인데, 그럼 어떻게 사용할 수 있을까요? 다양한 방법이 있겠지만 오늘은 가장 사용하기 쉬운 'Ollama'라는 사이트를 이용한 방법을 소개해드리겠습니다.
올라마(Ollama)
'올라마'란 로컬 컴퓨터에서 LLM을 쉽게 실행할 수 있게 해주는 오픈소스 소프트웨어입니다. 올라마 사이트에는 정말이지 이름처럼 '라마, gemma, mistral' 등 다양한 LLM 모델들을 무료로 다운 및 실행할 수 있습니다. 그럼 지금부터는 올라마를 사용해 라마 3.1 모델을 다운 및 실행하는 방법에 대해 본격적으로 알려드리겠습니다.
1. 아래 링크를 통해 올라마 사이트에 들어가줍니다.
https://ollama.com/
2. 사이트 우측상단의 'Download'버튼을 클릭해 줍니다.
3. 다운로드할 버전을 선택해 줍니다.
위 과정을 실행했을 시, 다음과 같은 화면이 나오게 되는데, 올라마는 macOS, Linux, Windows 이렇게 3가지 OS에 맞는 버전을 제공합니다. 각자 환경에 맞는 OS를 선택하시면 됩니다. (저의 경우 Windows를 선택하겠습니다.) 이후 아래 "Download for Windows"를 클릭해 주면 올라마 실행파일이 다운로드됩니다.
4. 올라마 실행파일(OllamaSetup)을 실행해 줍니다.
위에서 다운로드한 실행파일을 더블클릭 해주고, Install, Next 버튼을 클릭해 주어 올라마를 설치해 줍니다.
설치를 다 했으면, 터미널 창을 켜서 ollama가 잘 깔렸는지 확인해 줍니다. 여기서 윈도우의 경우 윈도우키를 누르고 'cmd'를 검색하여 실행하시면 되고, 리눅스의 경우 'Crtl + Alt + T'를 통해, macOS의 경우 'Command + Space'를 누르고 'Terminal'를 입력하여 터미널 창을 띄우시면 됩니다. 이후 터미널 창에 'ollama'를 입력하면 다음과 같은 결과가 나타나게 됩니다.
보시면 터미널창에 다양한 올라마 명령어들이 설명되어 있는데, 이들 모두 터미널 창에 "ollama 명령어" 이런 식으로 입력하여 실행하면 됩니다. 라마 3.1 모델을 사용하는데 필요한 몇 가지 명령어들을 설명드리면 다음과 같습니다.
- show : 모델의 파라미터수, context length, 라이센스 등 기본 정보들을 보여줌. (e.g. "ollama show llama3.1")
- run : 모델을 실행시킴. (e.g. "ollama run llama3.1")
- list : 올라마에 존재하는 모델의 리스트를 출력. (e.g. "ollama list")
- rm : 모델을 삭제하는 기능. (e.g. "ollama rm llama3.1")
- help : 올라마의 명령어에 대한 정보 제공(위와 같음). (e.g. "ollama help")
5. 올라마 홈페이지에서 원하는 모델을 선택해 줍니다.
먼저 위에서 언급한 올라마 홈페이지에 들어가 우측 상단의 'Models'를 클릭해 줍니다. 그러면 위와 같은 창이 나오는데, 여기서 다운로드 받고 싶은 LLM을 선택하면 됩니다. 저는 이번에 라마 3.1 모델을 다운받고 싶기 때문에, 다음과 같이 'llama3.1'을 클릭해 주었습니다.
그러면 위와 같은 창이 나오는데, 여기서 원하는 모델 사이즈를 클릭해 주면, 우측과 같이 해당 모델을 다운받을 수 있는 명령어가 나오게 됩니다.
6. 터미널창에서 명령어를 통해 해당 모델을 다운로드해줍니다.
그러면 위와 같이 터미널창에 'success'라는 문구와 함께 라마 3.1 모델이 최종적으로 다운로드됩니다.
7. 라마 3.1을 사용해 봅니다.
위 6번에 이어, 터미널창에 '/?'를 입력하면 위와 같은 라마 3.1 모델 내부 명령어가 나옵니다. 여기서도 마찬가지로, 필요한 몇 가지 명령어들을 소개하자면 다음과 같습니다.
- show : 모델의 기본 정보, 라이센스, 파라미터 등의 정보를 제공
- clear : 모델과 대회 맥락을 지움
- bye : 모델 종료
- /? : 위 와 같은 도움말 창 띄우기
이제 실제로 라마 3.1 LLM에게 질문을 해보겠습니다. 우선 저는 "Hello I am Korea. Can you explain about Korea.( 나는 한국인이야. 한국에 대해 설명해 줄 수 있어? )"라고 물어보았습니다. 솔직히 8B 모델이라 기대를 안 했었는데, 위와 같이 한국에 대해 한국어 인사, 지리적 위치, 기후, 문화 등 다양한 설명을 해주더라고요. 역시 논란이 되는 이유가 있었던 것 같습니다.
그래서 라마 3.1 모델이 한국어도 잘하나 궁금했습니다. 결과는 다음과 같이 조금 어색한 부분("다소 한글을 쓸 수는")도 있었지만, 대체적으로 준수했습니다. 분명 영어 데이터의 비중이 높고, 한국어 데이터는 정말 작은 부분으로 학습되었을 텐데, 이 정도 성능이 나오는 게 감탄스럽습니다. 만약 라마 3.1이 한국어 전용모델로 나왔으면 어땠을까 아쉬움도 남습니다.
8. 기타 기능
위에서 보았던 올라마 명령어를 통해 모델을 확인해볼까요? 먼저 올라마 모델의 리스트를 확인해 보면, 다음과 같이 라마 3.1 모델이 깔려있는 것을 확인할 수 있습니다. 모델의 용량도 4.7GB인것을 확인 할 수 있었습니다.
그러면 이번에는 올라마에서 모델을 삭제하는 방법에 대해 알아보겠습니다. 먼저 설명드렸듯이 올라마에서는 'rm' 명령어를 통해 모델을 삭제할 수 있습니다. "ollama rm llama3.1" 명령어를 입력하면 다음과 같이 모델이 삭제되어 리스트에도 보이지 않습니다.
추가적으로 제가 올라마 라마 3.1을 사용하면 느꼈던 점들을 말씀드리면, 오픈소스 모델인 만큼 로컬 컴퓨터에서 돌리기 때문에 모델의 지연 시간(latency)이 ChatGPT와 비교했을 때 많이 있었습니다(체감상 10배 이상). 물론 제가 노트북으로 사용했기 때문에 그런 문제가 더욱 부각되었겠지만, 라마 3.1과 같은 오픈소스 LLM을 사용하실 분들은 GPU가 달리 좋은 컴퓨터나 클라우드 서버를 사용하시는 것을 추천드립니다.
정리
올라마를 통한 라마 3.1 사용법을 정리하자면 다음과 같습니다.
- 올라마 셋업 : 올라마 홈페이지에서 올라마 exe 파일을 다운받아 세팅
- 모델 다운로드 : 터미널 창에서 "ollama run llama3.1"명령어를 통해 라마 3.1 모델 다운로드
- 모델 실행 : 터미널 창에서 "ollama run llama3.1"명령어를 통해 라마 3.1 모델 실행
참고로 여러분들을 위해 제가 유튜브 영상도 제작했으니 많은 관심 부탁드리겠습니다. 앞으로 인공지능 관련 영사을 꾸준히 업로드할 예정이니 구독 좋아요도 부탁드려요 😍😍
https://youtu.be/v0liTMKlxNE?si=hyJLQZBeRrU5X5kT
추가적으로 제가 AI 학습 관련 오픈 카카오톡방을 만들었습니다. AI와 사용법에 목말라 있으신 분들이 라면 누구나 들어와서 즐겁게 맘껏 정보공유와 AI 공부하시면 될 것 같습니다. 링크는 다음과 같이니 꼭 한번 참석 및 홍보 부탁드리겠습니다.
https://open.kakao.com/o/ggxse9sg https://open.kakao.com/o/ggxse9sg
지금 까지 '라마 3.1'모델 사용법에 대해 알아보았는데, 도움이 되셨나요? 만약 되셨다면 구독 및 좋아요로 표현해 주시면 정말 감사하겠습니다. 구독과 좋아요는 제가 블로그를 운영하는 데 정말 많은 힘이 됩니다. 궁금한 사항 혹은 앞으로 다루어 주었으면 좋을 주제가 있으시면 댓글 남겨주시면 감사하겠습니다. 여러분 저는 Coding your life, '코딩 오페라'였습니다.
'자연어처리(NLP)' 카테고리의 다른 글
[초등학생도 이해하는] 챗지피티(ChatGPT) 가입부터 사용법까지 (0) | 2024.08.11 |
---|---|
[초등학생도 이해하는] Llama 3.1 초간단 정리 (33) | 2024.07.31 |
ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS 논문 리뷰 (0) | 2023.05.19 |
REFORMER: THE EFFICIENT TRANSFORMER (0) | 2023.05.17 |
Big Bird: Transformers for Longer Sequences 논문 리뷰 (0) | 2023.05.13 |