안녕하세요 Simon 입니다.
Ollama 로 아이폰에 Ondevice 형태의 어플로 구축하는 방법을 소개해드렸는데요. 이어서 M1 시리즈의 노트북을 보유하고 있다면 구독료 없이 코파일럿 형태의 서비스를 쓸 수 있을듯한 Idea가 떠올라서 글을 한번 써보겠습니다.
Ollama 는 무엇인가?
Ollama 는 오픈소스 프로젝트로 Hype이 되어 더욱 커지고 있는 프레임워크의 Tool 개념이라고 생각합니다. Open LLM 에서 Llama 2, Mistral 및 기타 대규모 언어 모델로 쉽게 시작할 수 있는 프로젝트입니다. macOS, Windows(WSL2를 통해), Linux 및 WSL2에서 대규모 언어 모델을 로컬 환경에서 실행하는 데 필요한 모든 것을 제공합니다. 또한, Docker Hub에서 사용 가능한 공식 Ollama Docker 이미지를 통해 더욱 다양한 환경에서 이용할 수 있습니다. ollama-python 및 ollama-js와 같은 다양한 라이브러리 지원은 개발자에게 더 많은 선택권을 제공합니다.
Llama 2 모델을 실행하는 것은 ollama run llama2와 같은 간단한 명령으로 가능합니다. Ollama는 ollama.com/library에서 제공하는 오픈 소스 모델 목록을 지원하며, 사용자는 이를 통해 다양한 모델을 쉽게 다운로드하고 실행할 수 있습니다. Llama 2, Mistral, Dolphin Phi 등 다양한 모델이 제공되며, 각각의 모델은 파라미터 수, 크기 및 다운로드 옵션을 포함합니다.
GGUF 모델을 Ollama로 가져오는 것부터 PyTorch 또는 Safetensors에서 모델을 가져오는 것까지, 사용자는 다양한 방법으로 모델을 사용자 정의할 수 있습니다. Ollama 라이브러리의 모델을 프롬프트로 사용자 정의하는 기능은 특정 사용 사례에 맞게 모델의 동작을 조정할 수 있는 유연성을 제공합니다.
Ollama는 모델을 생성, 실행 및 관리하기 위한 간단하면서도 강력한 API를 제공합니다. 사전 구축된 모델 라이브러리는 다양한 애플리케이션에서 쉽게 사용될 수 있도록 설계되었습니다. REST API를 통한 모델 실행 및 관리 기능은 개발자가 더 효율적으로 작업할 수 있게 돕습니다. 커뮤니티 통합을 통해 웹 및 데스크톱, 터미널, 데이터베이스, 패키지 관리자, 모바일, 확장 및 플러그인 등 다양한 환경에서 Ollama를 활용할 수 있습니다.
맥북에서 LLaMA2, Code LLaMA 실행하기
1. 맥북에서 enchanted App down
제가 맥북을 산지가 어느덧 2년이 넘었는데 M1 Chip 으로 바뀌고서 기존의 아이폰, 아이패드에서 지원이 된 어플들을 다운로드 받을 수 있다는게 M1의 장점이었는데 그걸 드디어 써보네요! 똑같이 Appstore 에 검색하시면 나옵니다.
UI 도 ChatGPT 와 흡사한데 인터넷 창을 키고 로그인을 하지 않아도 Local 로 실행이 가능하다는 점입니다. 여기서 비추어 보았을떄 해볼 수 있는 메리트가 정말 많아질 듯 합니다.
2. 맥북(MAC)에서 Ollama 설정 다운로드 하기
공식 홈페이지 또는 Github 에서 Mac 전용 File 을 다운로드 합니다.
ollama run codellama
현재 코드라마는 파라미터가 70B까지 큰 모델도 있으나 Ollama 에서는 현재 7B모델로 3.8GB 만 지원을 하고 있습니다. 70B가 되게 성능이 좋고, 긴 코드도 디버깅을 해주고 생성을 해준다고 알고 있는데 만약 지원을 하는 날이 온다면 진짜.. Copilot 구독을 해지 해야할 것 같습니다.
아니면 코드 추론이나 다양한 Task 의 도메인 학습 모델을 넣어서 실행해봐도 좋을 듯 합니다.
3. Ngrok 설정하기
Ngrok 이란 ? ngrok은 로컬 컴퓨터에서 실행 중인 서버를 인터넷에 임시로 공개하는 도구입니다. 개발자가 로컬에서 개발 중인 웹 애플리케이션, API, 서버 등을 외부 네트워크나 인터넷에 있는 다른 사람들과 쉽게 공유하고 테스트할 수 있도록 해줍니다. ngrok을 사용하면 복잡한 네트워크 설정이나 공개 IP 주소 없이도 로컬 서버를 안전하게 외부에 노출시킬 수 있습니다.
Ngrok 을 활용하면 ChatGPT API 를 활용한 다양한 Application 에 붙히기가 유용하다고 합니다.
터미널창에 Ngrok 다운로드 명령어를 실행합니다.
brew install ngrok/ngrok/ngrok
엑세스 토큰 할당을 해주어야 합니다.
ngrok config add-authtoken 'Your token key'
Ollama 서버를 공개적으로 액세스할 수 있도록 ngrok 포워드를 설정한 후
ngrok http 11434
Forwarding 부분에서 https://b377-82-132-216-51.ngrok-free.app 이런식의 링크를 복사해줍니다.
4. 맥북에서 Enchanted 앱 설정하기
앱을 들어가서 셋팅을 누르고 Ollama Server URL 부분에 위에서 복사한 링크를 넣어줍니다.
5. Code LLaMA로 실행하기
'AI > Contents' 카테고리의 다른 글
Stream을 아시나요? (4) | 2024.02.15 |
---|---|
Ollama를 활용한 VScode 로 Local GithubCopilot 만들기 - (3) (2) | 2024.02.15 |
Ollama를 활용한 아이폰으로 Ondevice AI 같은 서비스 구축하기 (1) | 2024.02.15 |
Fine-tune Mixtral 8x7B (MoE) on Custom Data 코드 리뷰 (1) | 2024.02.13 |
[Langchain] 처음시작하는 랭체인 - (1) (3) | 2024.01.24 |