PyTorchKR
- 복잡한 의존성 설치나 최적화 작업 없이, 단일 파일을 실행하여 LLM을 배포 및 사용할 수 있는 llamafile의 새로운 업데이트 llamafile 0.7이 출시되었습니다. 이번 업데이트에서는 한 번의 CPU 연산으로 여러 데이터를 처리할 수 있는 SIMD(Single Instruction, Multiple Data) 기능을 지원하여 CPU에서의 실행 속도를 개선하였습니다.
llamafile 0.7 업데이트 소개
Llamafile은 대규모 언어 모델(LLMs)을 다루는 것을 훨씬 더 편리하게 만들고, Llama.cpp를 활용하여 단일 파일 실행 가능한 형태로 전체 LLM을 쉽게 배포할 수 있게 해줍니다. 이는 대부분의 시스템에서 작동하며 CPU와 GPU 실행 모두를 활용할 수 있습니다. Llamafile 0.7의 출시로 AVX-512 지원이 추가되어, AMD Zen 4와 같은 AVX-512를 지원하는 CPU에서 테스트한 결과, 약 10배 빠른 프롬프트 평가 시간을 보여주었습니다. 주요 업데이트 내용은 다음과 같습니다:
- AVX-512 지원: AMD Zen 4와 같은 AVX-512 지원 CPU에서 프롬프트 평가 시간이 약 10배 빨라집니다.
- BF16 CPU 지원: 보다 넓은 범위의 CPU에서의 성능 개선이 이루어졌습니다.
- 보안 수정 및 윈도우 개선: 보안 문제 해결 및 윈도우 사용자를 위한 여러 개선사항이 포함되었습니다.
- Raspberry Pi 5에서의 성능 개선: F16 가중치를 사용한 프롬프트 평가가 이전보다 약 8배 빨라졌습니다.
llamafile 사용법
예를 들어, LLaVA-1.5 모델을 실행한다고 가정해보겠습니다.
-
먼저 HuggingFace에서 LLaVA-1.5 파일(3.97GB)을 내려받아 저장합니다.
-
OS별로 파일을 실행할 수 있도록 준비합니다.
- Windows 사용자는 파일 이름 끝에
.exe
를 추가하여 이름을 변경합니다. - Linux 및 macOS 사용자는 터미널을 열어 파일의 실행 권한을 추가합니다:
chmod +x llava-v1.5-7b-q4.llamafile
- 파일을 실행합니다. 다음과 같은 옵션으로 실행하는 경우, 브라우저를 자동으로 열고 채팅 인터페이스까지 표시합니다. (자동으로 열리지 않는 경우 브라우저를 열고 localhost:8080 으로 접속합니다.)
./mistral-7b-instruct-v0.2.Q5_K_M.llamafile -ngl 9999 --temp 0.7 -p '[INST]Write a story about llamas[/INST]'
현재까지 llamafile에서 제공하는 모델들은 다음과 같습니다:
Model | Size | License | llamafile |
---|---|---|---|
LLaVA 1.5 | 3.97 GB | LLaMA 2 | llava-v1.5-7b-q4.llamafile |
Mistral-7B-Instruct | 5.15 GB | Apache 2.0 | mistral-7b-instruct-v0.2.Q5_K_M.llamafile |
Mixtral-8x7B-Instruct | 30.03 GB | Apache 2.0 | mixtral-8x7b-instruct-v0.1.Q5_K_M.llamafile |
WizardCoder-Python-34B | 22.23 GB | LLaMA 2 | wizardcoder-python-34b-v1.0.Q5_K_M.llamafile |
WizardCoder-Python-13B | 7.33 GB | LLaMA 2 | wizardcoder-python-13b.llamafile |
TinyLlama-1.1B | 0.76 GB | Apache 2.0 | TinyLlama-1.1B-Chat-v1.0.Q5_K_M.llamafile |
Rocket-3B | 1.89 GB | cc-by-sa-4.0 | rocket-3b.Q5_K_M.llamafile |
Phi-2 | 1.96 GB | MIT | phi-2.Q5_K_M.llamafile |
더 많은 실행 예시 또는 API 사용을 위해서는 llamafile GitHub 저장소를 방문해보세요.
더 읽어보기
llamafile 0.7 출시와 관련한 phoronix의 글
llamafile GitHub 저장소
llamafile 벤치마크
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래쪽에 좋아요를 눌러주시면 힘이 됩니다~