토니의 연습장

ollama 참고 본문

언어 AI (NLP)/LLM & RAG

ollama 참고

bellmake 2025. 1. 23. 15:17

 

메모리 요구 사항

ex) llama2

  • 7B(70억 파라미터) 모델은 일반적으로 최소 8GB의 RAM이 필요합니다.
  • 13B(130억 파라미터) 모델은 일반적으로 최소 16GB의 RAM이 필요합니다.
  • 70B(700억 파라미터) 모델은 일반적으로 최소 64GB의 RAM이 필요합니다.
    만약 더 높은 양자화(quantization) 수준에서 문제가 발생한다면, q4 모델을 사용하거나 많은 메모리를 사용하는 다른 프로그램을 종료해보세요.

모델 변형(Variants)

  • Chat 모델은 챗/대화(use case)에 맞춰 파인튜닝된 모델입니다. Ollama에서 기본값으로 사용되며, 태그 탭에서 -chat이 붙은 모델들이 여기에 해당합니다.
    • 예시: ollama run llama2
  • Pre-trained 모델은 챗 파인튜닝이 적용되지 않은 모델입니다. 태그 탭에서 -text로 표시되어 있습니다.
    • 예시: ollama run llama2:text

기본적으로 Ollama는 4비트 양자화를 사용합니다. 다른 양자화 수준을 시도하려면 다른 태그를 사용해보세요. q 뒤의 숫자는 양자화에 사용되는 비트 수를 의미합니다(예: q4는 4비트 양자화). 숫자가 높을수록 모델의 정확도는 올라가지만, 실행 속도는 느려지고 필요한 메모리는 늘어납니다.

 

임베딩 차원 확인 예시

 

langchain_ollama 내부적으로 현재 임베딩 차원을 노출하는 별도의 메서드는 공식적으로 제공되지 않습니다. 이에 따라 한 번은 모델 로드 후 임베딩을 수행해야 아래와 같이 차원을 확인할 수 있습니다.

from langchain_ollama import OllamaEmbeddings

EMBEDDING_MODEL = "bge-m3"
embeddings = OllamaEmbeddings(model=EMBEDDING_MODEL)

# 임의의 텍스트를 임베딩
text = "Hello, world!"
embedding_vector = embeddings.embed_query(text)

# 임베딩 벡터 차원 확인
embedding_dimension = len(embedding_vector)
print("Embedding dimension:", embedding_dimension)

-> Embedding dimension: 1024

'언어 AI (NLP) > LLM & RAG' 카테고리의 다른 글

RAG 단계 요약  (0) 2025.02.06
SFT 와 RLHF  (1) 2025.02.04
Embedding - 개인 자원 고려하기  (2) 2025.01.23
RAG 주의점 (Document Loader)  (0) 2025.01.21
Memory  (3) 2025.01.14