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