본문 바로가기
인공지능 (AI,GPT)

llamafile 프레임워크로 LLM 단일 파일 빌드 및 실행

by 날으는물고기 2024. 1. 25.

llamafile 프레임워크로 LLM 단일 파일 빌드 및 실행

llamafile: Mozilla transforms the weights of an LLM into a single executable

GN⁺에서 소개한 llamafile 프로젝트에 대한 Hacker News의 의견과 사용자 경험을 정리하면 다음과 같습니다.

  1. 프로젝트 개요
    • llamafile은 AI 개발자들이 어디서나 손쉽게 LLM을 빌드하고 실행할 수 있도록 하는 프레임워크입니다.
    • llama.cpp와 Cosmopolitan Libc를 결합하여 여러 플랫폼과 아키텍처에서 실행 가능한 단일 빌드를 지원합니다.
  2. 사용 방법과 경험
    • macOS에서 LLaVA 모델을 테스트하는 방법이 안내되었습니다.
    • Hugging Face에서 llamafile-server 파일을 다운로드하고 터미널에서 실행하여 웹 서버를 시작하고, 브라우저를 통해 모델과 대화를 시작할 수 있습니다.
    • macOS 앱 개발자는 llama.cpp를 SwiftUI 프론트엔드와 결합하여 자체 앱에서 실행하는 경험을 나누었습니다.
  3. 추가 기능과 토론 주제
    • Cosmopolitan의 CUDA 지원과 Windows에서의 실행 파일 크기 제한에 대한 토론이 있었습니다.
    • GitHub에서 llama.cpp를 클론하고 모델을 다운로드하여 서버를 실행하는 방법에 대한 코드와 공유가 이뤄졌습니다.
  4. 명칭 제안과 긍정적인 반응
    • 'Llaminate'라는 명칭이 Llama 호환 모델을 래핑하는 작업에 대한 제안으로 나왔습니다.
    • 개발자의 이식성 작업과 프로젝트 생성 속도에 대한 긍정적인 반응이 있었습니다.

이렇게 다양한 측면에서 llamafile 프로젝트에 대한 사용자들의 관심과 의견이 나타났습니다.


llamafile 프로젝트의 소개와 기능
llamafile은 AI 개발자들이 어디서나 편리하게 LLM을 빌드하고 실행할 수 있도록 하는 혁신적인 프레임워크로, llama.cpp와 Cosmopolitan Libc를 결합하여 다양한 CPU 마이크로아키텍처와 운영 체제에서 실행 가능한 단일 빌드를 지원합니다. 이를 통해 사용자는 Hugging Face를 통해 제공되는 다양한 모델의 예제 바이너리를 다운로드하여 빠르게 실행할 수 있습니다.


사용자 경험과 사용 방법
Hacker News에서는 macOS에서 LLaVA 모델을 테스트하는 방법을 상세하게 안내하고 있습니다. 사용자는 Hugging Face에서 llamafile-server-0.1-llava-v1.5-7b-q4 파일을 다운로드하고, 터미널에서 실행 권한을 부여한 후 8080 포트에서 웹 서버를 시작하여 브라우저를 통해 모델과 대화를 시작할 수 있습니다. 또한, 개발자는 macOS 앱에서 llama.cpp를 SwiftUI 프론트엔드와 결합하여 자체 앱에서 실행하는 경험을 나누었습니다.


추가적인 기능과 논의된 주제들

  • CUDA 지원: Cosmopolitan의 CUDA 지원에 대한 감탄과 함께, CUDA 개발자 툴킷 설치를 통해 Windows에서도 CUDA 앱을 배포할 수 있는 가능성에 대한 논의가 있었습니다.
  • Windows에서의 실행 파일 크기 제한: 64비트 Windows 시스템에서의 4GB 파일 크기 제한에 대한 경험 공유가 이뤄졌습니다.
  • llama.cpp의 다양한 모델 실험 방법: GitHub에서 llama.cpp를 클론하고 필요한 모델을 다운로드하여 서버를 실행하는 방법에 대한 코드와 함께 공유가 이루어졌습니다.

명칭 제안과 프로젝트에 대한 긍정적인 반응

  • 'Llaminate'라는 명칭이 Llama 호환 모델을 사용할 때 래핑하는 작업에 대한 제안으로 나왔습니다.
  • 프로젝트에 대한 긍정적인 반응으로, Justine Tunney의 놀라운 이식성 작업과 프로젝트 생성 속도에 대한 언급이 있었습니다.

이러한 통합된 내용을 통해 llamafile 프로젝트에 대한 다양한 관점과 사용자 경험이 잘 전달되었습니다.

 

llamafile 프로젝트를 macOS에서 실제로 활용하는 방법에 대해 단계별로 설명하겠습니다. 이를 위해서는 Hugging Face에서 llamafile-server를 다운로드하고 실행하는 과정이 중요합니다.

 

단계 1: Hugging Face에서 llamafile-server 다운로드

# Hugging Face에서 llamafile-server 다운로드
curl -O https://huggingface.co/models/llamafile-server-0.1-llava-v1.5-7b-q4

단계 2: 실행 권한 부여

# 다운로드한 파일에 실행 권한 부여
chmod +x llamafile-server-0.1-llava-v1.5-7b-q4

단계 3: 웹 서버 실행

# llamafile 서버를 8080 포트에서 실행
./llamafile-server-0.1-llava-v1.5-7b-q4 8080

이제 llamafile 서버가 8080 포트에서 실행되었습니다.

 

단계 4: 브라우저에서 모델과 대화 시작

웹 브라우저에서 http://127.0.0.1:8080/로 llamafile 서버에 접속하여 모델과 대화를 시작할 수 있습니다.

 

이는 기본적인 웹 서버 실행 및 모델 사용 방법의 간략한 예시이며, 사용자의 목적에 따라 llamafile을 더욱 다양하게 활용할 수 있습니다. 예를 들어, SwiftUI를 사용하여 llama.cpp를 macOS 앱에 통합하는 경우에는 해당 앱의 코드와 llama.cpp의 통합 방법이 필요할 것입니다. 이는 llamafile을 더욱 사용자 정의하고 특화된 환경에서 활용하는 방법에 대한 출발점이 될 수 있습니다.

 

Windows 환경에서 사용하기 위해서는 llamafile을 llamafile.exe로 파일 이름을 변경해야 합니다.

 

단계 1: Hugging Face에서 llamafile-server 다운로드

# Hugging Face에서 llamafile-server 다운로드
curl -O https://huggingface.co/models/llamafile-server-0.1-llava-v1.5-7b-q4

단계 2: 파일 이름 변경 및 실행 권한 부여

# 다운로드한 파일 이름을 llamafile.exe로 변경
mv llamafile-server-0.1-llava-v1.5-7b-q4 llamafile.exe

단계 3: 웹 서버 실행

# llamafile 서버를 8080 포트에서 실행
.\llamafile.exe 8080

단계 4: 브라우저에서 모델과 대화 시작

웹 브라우저에서 http://127.0.0.1:8080/로 접속하여 모델과 대화를 시작할 수 있습니다.

 

윈도우에서는 일반적으로 curl 대신 PowerShell에서 Invoke-WebRequest를 사용할 수 있습니다.

이렇게 하면 llamafile을 Windows 환경에서 실행하여 대형언어모델(LLM: Large Language Model)과 대화를 시작할 수 있습니다.

728x90

댓글