다양한 사람들의 노력으로 Apple Sillicon (M1/M2, gpu 사용) 에서도 아래와 같이 구동할 수 있다. 그리고 표기했듯이 apple sillicon의 GPU inference를 사용할 수 있기 때문에 속도도 나쁘지 않다. 다만 단지 구동만 가능한 것을 확인했고, 이를 통해 학습을 할 수 있는것 같지는 않다. 그래도 돌려볼 수 있다는 것이 어딘가!
https://gist.github.com/gengwg/26592c1979a0bca8b65e2f819e31ab5c
아래와 같이 우선 llama.cpp를 git clone하자.
$ git clone https://github.com/ggerganov/llama.cpp.git
$ cd llama.cpp
아래와 같은 옵션으로 gpu inference를 활성화하여 컴파일 할 수 있다.
$ make clean
$ LLAMA_METAL=1 make
이제 메모리가 크지 않은 맥북들을 위해 각 메모리 크기에 맞는 모델을 다운받아 구동해보자.
만약에 메모리 10gb이상 맥북이면, 13b모델을 최적화 축소한 아래 모델을 시도해보자. 물론 이 모델을 적재할 메모리가 충분하다면 아래 huggingface.co/TheBloke의 다른 더 큰 모델을 참조할 수 있다. 64gb모델 맥북이나 맥스튜디오 장비를 가지고 있다면 40gb짜리 quantized된 70b모델을 돌릴 수도 있다.
일단 13b모델은 아래와 걑이 한다.
$ export MODEL=llama-2-13b-chat.Q4_0.gguf
#wget이 설치되어 있다면 아래와 같이, 혹은 아래 URL로 직접 링크를 다운로드
$ wget "https://huggingface.co/TheBloke/Llama-2-13B-chat-GGUF/resolve/main/llama-2-13b-chat.Q4_0.gguf "
메모리 8gb이하 맥북이라면 아래 모델을 받는다.
$ export MODEL=llama-2-7b-chat.Q4_0.gguf
$ wget "https://huggingface.co/TheBloke/Llama-2-7B-chat-GGUF/resolve/main/llama-2-7b-chat.Q4_0.gguf "
그리고 나서 이제 아래와 같이 실행한다. 아래는 7b모델이다. 다운받은 모델에 따라 모델명을 바꿔주자.
$ ./main -m ./llama-2-7b-chat.Q4_0.gguf -t 8 -n 128 -ngl 1 --prompt "could you generate python code for generating prime numbers?"
.... 정말 코드를 생성해준다!
기타 아래를 통해 conda를 써서 llama.cpp의 python 필요시 따로 구동할 수 있다.
$ conda create --name=llama2 python=3.11
$ conda activate llama2
$ pip install -r requirements.txt
간단하게 맥북(m1/m2이지만 다른 macos환경에서도 가능하리라고 본다) 에서 llama.cpp를 이용해 llama를 구동해보았다.
'머신러닝AI' 카테고리의 다른 글
Google Gemma 파인튜닝 해보기 (0) | 2024.02.23 |
---|---|
SOLAR 10.7B 모델, 한글 megastudy 모델을 HuggingFace에서 받아 langchain으로 간단히 구동해보자 (0) | 2024.01.13 |
Stable Diffusion, Linux에서 실행하기 (0) | 2023.09.02 |
meta의 공개용 번역 모델 SeamlessM4T (fairseq2 기반)를 돌려보자 (0) | 2023.08.31 |
ChatGPT의 Facebook Meta버전 LLAMA v2를 돌려보자 (Ubuntu/NVidia 4080) (0) | 2023.07.20 |