정의
ollama pull은 로컬 환경에서 Ollama(Large Language Model 관리 도구) 서버에 모델을 다운로드하여 저장하는 명령어이다. Ollama는 오픈소스 LLM을 손쉽게 실행·관리할 수 있게 해 주는 플랫폼으로, pull 명령을 통해 중앙 레지스트리(예: Ollama Hub)에서 원하는 모델을 로컬 캐시로 가져와 이후 ollama run 등으로 바로 사용할 수 있다.
배경 및 목적
- 모델 배포·관리: 대규모 언어 모델은 수 GB에 달하는 파일 크기를 가지고 있어 네트워크를 통해 직접 호출하기보다 로컬에 저장해 두는 것이 성능·비용 면에서 효율적이다.
- 오프라인 지원:
ollama pull을 이용해 모델을 미리 다운로드해 두면 인터넷 연결이 불안정하거나 전혀 없는 환경에서도 모델 실행이 가능하다. - 버전 관리: 모델 이름 뒤에
:버전형식을 붙여 특정 버전을 지정해 다운로드할 수 있다(예:ollama pull llama2:13b).
기본 구문
ollama pull [옵션] <모델명>[:버전]
<모델명>: Ollama 레지스트리에서 제공하는 모델 식별자.[:버전](선택): 해당 모델의 특정 버전을 지정한다. 지정하지 않으면 최신 버전이 다운로드된다.
주요 옵션
| 옵션 | 설명 |
|---|---|
--quiet |
진행 상황을 최소화하고 출력만 표시한다. |
--no-cache |
기존에 캐시된 동일 모델이 있더라도 새로 다운로드한다. |
--timeout <초> |
다운로드 타임아웃을 지정한다(기본 300초). |
--checksum |
다운로드 후 체크섬 검증을 수행한다. |
사용 예시
-
기본 모델 다운로드
ollama pull llama2→
llama2최신 버전을 레지스트리에서 가져와 로컬에 저장한다. -
특정 버전 지정
ollana pull mistral:7b-v0.1→
mistral모델 중7b-v0.1버전을 다운로드한다. -
조용히 다운로드
ollama pull phi --quiet→ 진행률 표시 없이 배경에서 모델을 가져온다.
-
체크섬 검증 포함
ollama pull gemma --checksum→ 다운로드 후 파일 무결성을 체크섬으로 확인한다.
동작 원리
- 레지스트리 조회: 명령어 실행 시 Ollama 서버는 지정된 모델명을 기반으로 중앙 레지스트리 API에 요청을 보낸다.
- 메타데이터 획득: 모델 파일들의 URL, 크기, 체크섬 등의 메타데이터를 받아온다.
- 파일 다운로드: 실제 모델 가중치와 설정 파일을 단계별(청크)로 다운로드한다.
- 무결성 검증: 옵션에 따라 체크섬 혹은 서명 검증을 수행한다.
- 로컬 저장: 미리 정의된 Ollama 데이터 디렉터리 (
~/.ollama/models/등)에 압축 해제 후 배치한다. - 인덱스 업데이트: 새 모델이
ollama list등에 바로 나타나도록 인덱스 파일을 갱신한다.
관련 명령
ollama run <모델명>– 다운로드된 모델을 실행한다.ollama list– 로컬에 존재하는 모델 목록을 표시한다.ollama rm <모델명>– 로컬에 저장된 모델을 삭제한다.ollama push <모델명>– 로컬 모델을 레지스트리(허용된 경우)에 업로드한다.
주의사항
- 디스크 공간: 일부 모델은 수십 기가바이트에 달하므로 충분한 저장소가 필요하다.
- 네트워크 대역폭: 처음 다운로드 시 대역폭을 크게 차지할 수 있다. 기업 환경에서는 사전 승인 후 진행하는 것이 바람직하다.
- 권한: 레지스트리 접근에 인증 토큰이 요구될 경우,
OLLAMA_AUTH_TOKEN환경변수를 설정하거나ollama login명령으로 인증한다. - 버전 충돌: 동일 모델의 서로 다른 버전을 동시에 보관하면 디스크 사용량이 급증하므로, 필요 없는 버전은
ollama rm으로 정리한다.
외부 링크
- Ollama 공식 문서: https://ollama.com/docs
- 모델 레지스트리 (Ollama Hub): https://ollama.com/hub
- GitHub 저장소: https://github.com/ollama/ollama
이와 같이 ollama pull은 Ollama 환경에서 모델을 로컬에 안전하고 효율적으로 확보하기 위한 핵심 명령어이며, 다양한 옵션과 함께 사용함으로써 다운로드 과정을 세밀하게 제어할 수 있다.