macOS 0.30.6: qwen3-embedding:0.6b 사용 시 /api/embed 충돌 현상 및 해결 방법
요약
macOS 0.30.6 환경에서 qwen3-embedding:0.6b 모델 사용 시 긴 입력값 처리 과정에서 발생하는 세그멘테이션 결함 문제를 다룹니다. Metal GPU 가속 환경에서의 회귀 현상을 분석하고 다운그레이드 및 청크 분할을 통한 해결 방법을 제시합니다.
핵심 포인트
- macOS 0.30.6에서 qwen3-embedding 모델의 /api/embed 충돌 발생
- Metal GPU 가속 사용 시 긴 입력값 처리 과정에서 세그멘테이션 결함 유발
- 해결책 1: 안정적인 동작을 위해 0.24.0 버전으로 다운그레이드
- 해결책 2: 입력값을 작은 청크로 분할하여 처리 후 평균 풀링 적용
이 기사는 원래 runaihome.com에 게시되었습니다.
macOS 0.30.6: 긴 입력값 사용 시 qwen3-embedding:0.6b 모델의 /api/embed 충돌 문제
이 회귀(Regression) 문제는 버전 0.24.0과 0.30.6 사이에서 발생했습니다. Metal GPU 가속을 사용하는 macOS 환경에서 /api/embed를 통해 긴 입력 문자열을 처리할 때, qwen3-embedding:0.6b 모델이 llama-server에서 세그멘테이션 결함(Segmentation fault)을 일으킵니다. 동일한 입력값에 대해 버전 0.24.0에서는 충돌이 발생하지 않으므로, 이는 모델의 한계가 아닌 회귀 문제임을 확인할 수 있습니다.
해결 방법 1: 0.24.0 버전으로 다운그레이드
긴 입력값이 포함된 qwen3-embedding:0.6b 모델을 즉시 사용해야 하는 경우:
# ollama 서비스 중지
brew services stop ollama
...
다운그레이드를 하면 회귀 문제는 제거되지만, 최신 릴리스에서 제공하는 기능과 보안 패치를 사용할 수 없게 됩니다.
해결 방법 2: 긴 입력값을 청크(Chunk)로 분할
0.30.6 버전에 대한 패치가 출시될 때까지, 약 4,000 토큰을 초과하는 입력값을 더 작은 청크(Chunk)로 나누고 결과로 나온 임베딩 벡터(Embedding vectors)를 결합하여 사용하십시오:
# 예시: 긴 텍스트를 2000자 단위의 청크로 분할
CHUNK_SIZE=2000
CHUNKS=$(echo "$LONG_TEXT" | fold -w $CHUNK_SIZE | nl -w1 -s' ')
...
청크 벡터들의 평균을 내거나 평균 풀링(Mean pooling)을 사용하여 결과물을 생성하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기