AI 테스트 RTX-5090

[RTX 5090 32GB] 로컬 AI 임베딩 모델 EmbeddingGemma 2 한국어 검색, 다르게 물으면 낱말 검색의 두 배를 찾았고 VRAM은 0.5GB였다

2026년 10월 07일 7회 2시간 전
[RTX 5090 32GB] 로컬 AI 임베딩 모델 EmbeddingGemma 2 한국어 검색, 다르게 물으면 낱말 검색의 두 배를 찾았고 VRAM은 0.5GB였다

구글이 낸 임베딩 모델 EmbeddingGemma 2를 RTX 5090 32GB에서 직접 돌려, 이 블로그 글을 한국어로 검색하게 해 봤습니다. 임베딩 모델은 글을 쓰는 모델이 아닙니다. 글을 숫자 묶음(벡터)으로 바꿔서, 낱말이 달라도 뜻이 가까운 글을 찾게 해 주는 모델입니다. 결론부터 적으면 다른 낱말로 바꿔 물은 질문과 영어로 물은 질문에서는 낱말 검색보다 뚜렷하게 잘 찾았고, 소제목과 같은 낱말로 물은 질문에서는 낱말 검색이 더 잘 찾았습니다.

  • 한국어 질문 63개 가운데 맞는 절을 1위로 찾은 것은 EmbeddingGemma 2가 31개, 낱말 검색(BM25)이 28개였습니다. 5위 안에 든 것은 49개와 41개입니다.
  • 다른 낱말로 바꿔 물은 질문 27개에서는 17개와 9개로 차이가 벌어졌습니다. 소제목과 비슷한 말로 물은 질문 20개에서는 7개와 12개로 낱말 검색이 앞섰습니다.
  • 같은 질문을 영어로 물어도 한국어 글에서 34개를 1위로 찾았습니다. 낱말 검색은 4개였습니다.
  • 속도: 글 227조각(약 9만 3천 토큰)을 벡터로 바꾸는 데 1.06초가 걸렸습니다. 그래픽카드 없이 CPU만으로는 31.8초였습니다.
  • VRAM은 글 부분만 올리면 0.5GB입니다. 다만 한 번에 넣는 묶음을 128개로 키우면 24.4GB까지 쓰고 속도는 오히려 절반으로 떨어졌습니다.

이 글의 숫자는 RTX 5090 PC에서 2026년 10월 7일에 직접 잰 값입니다. 질문 63개와 정답 표시는 직접 만들었고, 글 끝에 파일 주소를 적었습니다. 구글이 밝힌 점수는 "구글 측정"이라고 따로 적었습니다.

이 글의 결과를 20초로 요약한 영상입니다(소리 없음).

결과 요약 여섯 칸. 한국어 질문에서 맞는 절이 1위 31/63(5위 안 49개), 영어로 물어도 34/63(낱말 검색은 4개), 낱말 검색 BM25 한국어 28/63(5위 안 41개), 글 227조각을 벡터로 1.06초(묶음 16, 초당 214조각), VRAM 0.5GB(묶음 16으로 돌릴 때 최고 3.5GB), CPU만으로 31.8초(질문 하나는 28ms)

이 글에서 잰 값을 한 장에 모았습니다.

임베딩 모델은 무엇인가

검색창에 "그래픽카드 메모리"라고 치면, 보통의 검색은 그 낱말이 들어 있는 글만 찾습니다. 글에 "VRAM"이라고만 적혀 있으면 찾지 못합니다. 임베딩 모델은 이 문제를 다른 방법으로 풉니다.

  1. 글 하나를 숫자 수백 개로 된 묶음으로 바꿉니다. 이 묶음을 벡터라고 부릅니다. EmbeddingGemma 2는 숫자 768개로 바꿉니다.
  2. 뜻이 가까운 글은 숫자 묶음도 서로 가깝게 나오도록 모델이 학습돼 있습니다.
  3. 질문도 같은 방법으로 숫자 묶음으로 바꾼 뒤, 가장 가까운 글을 고릅니다.

예를 들면 이렇습니다. 이 블로그에 "녹화하면 로컬 AI가 얼마나 느려지나"라는 소제목의 절이 있습니다. 질문을 "화면을 녹화하는 동안 AI 답 속도가 얼마나 떨어지나"로 바꿔도, 두 문장의 숫자 묶음이 가까워서 그 절이 1위로 나옵니다.

이런 검색은 챗봇에 내 문서를 붙여 쓰는 방식(RAG)의 첫 단계로 많이 씁니다. 질문과 가까운 문서 조각을 먼저 찾고, 그 조각을 글 쓰는 모델에 함께 넣어 답하게 하는 방식입니다.

실제 화면: 블로그 글 227조각을 검색하면

숫자를 보기 전에 실제로 도는 모습입니다. 터미널에서 모델을 올리고, 블로그 글 227조각을 벡터로 바꾼 다음, 질문 네 개를 차례로 보냈습니다. 질문마다 가장 가까운 절 세 개와 가까운 정도(1에 가까울수록 가까움)가 나옵니다.

터미널 화면을 녹화한 영상입니다(17초, 소리 없음). 질문 사이에 약 1초씩 쉬는 것은 보기 편하게 넣은 것이고, 화면의 시간 숫자에는 들어가지 않습니다.

터미널 화면. 질문

질문 네 개의 결과입니다. 위의 둘은 찾던 절이 1위입니다. 셋째는 영어로 물었는데 찾던 절이 2위로 나왔습니다. 넷째는 3위 안에 찾던 절이 없습니다.

이 화면에 이 글의 결과가 거의 다 들어 있습니다.

  • 첫째와 둘째 질문은 소제목에 없는 낱말로 물었는데 찾던 절이 1위로 나왔습니다. 둘째 질문의 "집에서 돌리는 AI 서버"는 본문에 "내 PC에 AI 서버를 띄워"라고 적혀 있습니다.
  • 셋째는 영어 질문인데 한국어 글에서 같은 글의 절을 찾았습니다. 다만 1위는 그 모델을 소개하는 절이었고, 찾던 산수 문제 절은 2위였습니다.
  • 넷째처럼 모델 이름과 낱말 하나만 친 짧은 검색어에서는 "테스트한 모델" 절이 1위로 올라왔고, 2위와 3위는 다른 모델의 VRAM 절이었습니다. 뒤에서 다시 보겠지만 이 모델이 틀릴 때 가장 자주 나온 모습입니다.

테스트한 모델: EmbeddingGemma 2

항목내용
만든 곳Google DeepMind
받은 곳Hugging Face google/embeddinggemma-2 (파일 15개, 1.42GB)
라이선스Apache 2.0 (약관 동의 없이 받을 수 있었습니다)
크기파라미터 7억 4천만 개. 글 2억 7천만 + 그림 1억 7천만 + 소리 3억
넣을 수 있는 것글(코드 포함), 그림, 영상, 소리
벡터 길이768. 512, 256, 128로 줄여 쓸 수 있음
한 번에 넣는 길이8,192토큰
언어100개 이상(구글 설명)

이 표가 뜻하는 것: 글만 쓸 때는 2억 7천만 개짜리 부분만 올리면 됩니다. 요즘 내 PC에서 돌리는 글 쓰는 모델이 90억~350억 개인 것과 견주면 수십 분의 1 크기입니다.

구글은 모델 설명서에서 여러 언어 글 시험(MTEB multilingual v2) 점수가 61.36이고 이전 모델은 61.15였다고 밝혔습니다. 코드 검색 시험은 78.68과 68.76입니다(모두 구글 측정). 글 쪽 점수는 거의 같고, 그림과 소리와 영상을 새로 받게 된 것이 큰 변화입니다.

테스트 PC와 측정 방법

  • PC: RTX 5090 32GB, 윈도우 11. 다른 AI 프로그램은 모두 끈 상태에서 쟀습니다.
  • 프로그램: Python 3.13, PyTorch 2.11(CUDA 12.8), sentence-transformers 6.1, transformers 5.19. 모델 설명서의 예제대로 불렀습니다. Unsloth Studio는 글 쓰는 모델용이라 이 모델은 올릴 수 없습니다.
  • 찾을 글: 이 블로그 글 25편의 본문을 소제목 단위로 잘라 227조각을 만들었습니다. 조각 하나는 평균 693자(408토큰)이고 가장 긴 것이 1,615토큰입니다.
  • 뺀 절: 도입, 정리, 자주 묻는 질문은 뺐습니다. 본문 내용을 다시 적은 절이라, 넣으면 같은 답이 여러 조각에 있어서 정답을 하나로 정할 수 없습니다. 처음에는 넣고 돌렸다가 이 문제를 보고 뺐습니다.
  • 질문: 63개를 직접 썼습니다. 질문마다 정답 절이 하나씩 있습니다. 말투는 세 가지입니다. 소제목과 비슷한 말 20개, 다른 낱말로 바꿔 물은 것 27개, 검색창에 치는 짧은 낱말 16개입니다. 같은 뜻의 영어 질문도 63개 만들었습니다.
  • 넣는 형식: 모델 설명서가 정한 대로 질문 앞에는 task: search result | query:를, 글 앞에는 title: 소제목 | text:를 붙였습니다. 숫자 형식은 설명서가 권한 bfloat16입니다.
  • 견줄 기준: 모델 없이 낱말로 찾는 방법 두 가지를 같은 질문으로 돌렸습니다. BM25(같은 낱말이 얼마나 드물고 자주 나오는지로 점수를 매기는 오래된 검색 방법)와, 글자 두세 개 묶음으로 견주는 TF-IDF입니다.
  • 속도: 같은 일을 5번씩 하고 가운데 값(중앙값)을 적었습니다.

정답 표시는 한 번 정한 뒤 바꾸지 않았습니다. 결과를 보고 고친 것은 없습니다.

한국어 검색: 63개 중 31개를 1위로, 49개를 5위 안에

검색 방법별 결과 막대. 한국어 질문 63개: EmbeddingGemma 2는 1위 31개 5위 안 49개, 낱말 검색 BM25는 28개와 41개, 글자 묶음 TF-IDF는 26개와 41개, 벡터와 BM25를 합치면 32개와 48개. 영어 질문 63개: EmbeddingGemma 2는 34개와 49개, BM25는 4개와 17개, 합치면 15개와 30개

한국어로 물었을 때와 영어로 물었을 때, 검색 방법마다 맞는 절을 몇 개 찾았는지입니다.

검색 방법1위로 찾음5위 안10위 안1위가 같은 글
EmbeddingGemma 2 (768차원)31495253
낱말 검색 BM2528414840
글자 묶음 TF-IDF26415246
벡터와 BM25를 합침32485253

이 표가 뜻하는 것: 질문 63개 기준입니다. "1위가 같은 글"은 절은 달라도 맞는 글 안의 절을 1위로 가져온 수입니다. EmbeddingGemma 2는 63개 중 53개에서 맞는 글까지는 갔고, 그 가운데 31개에서 정확한 절까지 맞혔습니다. 낱말 검색은 맞는 글에 간 것이 40개였습니다.

1위 기준으로는 31개와 28개라 차이가 3개뿐입니다. 5위 안으로 넓히면 49개와 41개로 벌어집니다. 챗봇에 문서를 붙여 쓸 때는 보통 가까운 조각을 여러 개 함께 넣으니, 5위 안 숫자가 실제 쓰임에 더 가깝습니다.

두 방법의 순위를 더해서 합친 검색은 1위 32개로 거의 그대로였습니다. 이 시험에서는 합쳐서 얻은 것이 없었습니다.

말투에 따라 결과가 갈렸다

질문 말투별 결과 표. 소제목과 비슷한 말 20개: EmbeddingGemma 2는 1위 7개 5위 안 14개, BM25는 12개와 16개, 영어 질문은 9개와 14개. 다른 낱말로 바꿔 물음 27개: 17개와 24개, BM25는 9개와 14개, 영어 18개와 24개. 짧은 검색어 16개: 7개와 11개, BM25도 7개와 11개, 영어 7개와 11개

같은 63개를 질문 말투별로 나눈 결과입니다.

질문 말투문제 수EmbeddingGemma 2 (1위 · 5위 안)BM25 (1위 · 5위 안)
소제목과 비슷한 말207 · 1412 · 16
다른 낱말로 바꿔 물음2717 · 249 · 14
짧은 검색어167 · 117 · 11

이 표가 뜻하는 것: 임베딩 모델의 쓸모는 둘째 줄에 있습니다. 낱말이 겹치지 않는 질문 27개에서 17개를 1위로, 24개를 5위 안에 찾았습니다. 낱말 검색은 9개와 14개였습니다. 반대로 소제목의 낱말을 그대로 넣은 질문에서는 낱말 검색이 12개로 더 많이 맞혔습니다.

두 방법이 맞힌 문제를 겹쳐 보면 이렇습니다. 둘 다 1위로 맞힌 것이 20개, 임베딩만 맞힌 것이 11개, 낱말 검색만 맞힌 것이 8개, 둘 다 못 맞힌 것이 24개입니다. 서로 다른 문제를 맞히고 있어서, 5위 안에 어느 한쪽이라도 넣은 문제는 53개였습니다.

틀릴 때는 "그 모델을 소개하는 절"을 가져왔다

EmbeddingGemma 2가 1위를 놓친 32개를 하나씩 봤습니다.

  • 32개 중 22개는 맞는 글 안의 다른 절을 1위로 가져왔습니다.
  • 그 22개 중 20개는 "테스트한 모델: Qwen3.5 9B", "Recordly는 무엇인가"처럼 그 글의 대상을 소개하는 절이었습니다.
  • 32개 중 15개는 정답 절이 2위나 3위에 있었습니다.

질문에 모델 이름이나 프로그램 이름이 들어 있으면, 그 이름이 가장 많이 나오는 소개 절이 가장 가깝다고 나온 것입니다. "Gemma 4 26B A4B 전력과 온도"라고 물으면 전력과 온도 절이 아니라 "테스트한 모델: Gemma 4 26B A4B QAT" 절이 1위로 나왔고, 정답 절은 11위였습니다. 낱말 검색에서는 이런 경우가 35개 중 4개뿐이었습니다.

이 블로그의 테스트 글은 글마다 "전력과 온도", "한국어 품질" 같은 같은 이름의 절이 있습니다. 모델 이름과 주제를 함께 맞혀야 하는 이런 글 묶음에서, 이 모델은 이름 쪽에 더 끌려갔습니다. 다른 종류의 글 묶음에서는 결과가 다를 수 있습니다.

영어로 물어도 한국어 글을 찾았다

같은 질문 63개를 영어로 바꿔 물었습니다. 찾을 글은 그대로 한국어입니다.

검색 방법1위로 찾음5위 안1위가 같은 글
EmbeddingGemma 2, 영어 질문344959
EmbeddingGemma 2, 한국어 질문314953
낱말 검색 BM25, 영어 질문41726

이 표가 뜻하는 것: 영어로 물어도 한국어로 물은 것과 같은 수준으로 찾았습니다. 1위는 오히려 3개 많습니다. 문제 수가 63개라 3개 차이로 영어가 더 낫다고 말하기는 어렵고, 떨어지지 않았다고 읽는 것이 맞습니다.

낱말 검색이 4개라도 맞힌 것은 글에 모델 이름 같은 영어 낱말이 그대로 있어서입니다. 맞힌 넷은 "hyperframes install size and time", "gpt-6.1 sol price performance"처럼 제품 이름이 든 질문이었습니다.

한국어 글만 있는 사이트에서 영어 질문을 받거나, 영어 문서를 한국어로 찾아야 하는 쓰임이라면 낱말 검색으로는 안 되고 임베딩 모델이 있어야 한다는 것을 숫자로 확인했습니다.

설정을 바꾸면: 벡터 길이와 머리말

설정별 결과 막대. 벡터 길이: 768차원 1위 31개 5위 안 49개, 512차원 31개와 51개, 256차원 29개와 50개, 128차원 30개와 46개. 머리말: 권장대로 넣으면 31개와 49개, 제목 자리에 none을 넣으면 29개와 43개, 머리말 없이 글만 넣으면 22개와 41개

왼쪽은 벡터 길이를 줄였을 때, 오른쪽은 머리말을 뺐을 때입니다.

벡터 길이를 6분의 1로 줄여도 거의 같았다

EmbeddingGemma 2의 벡터는 숫자 768개인데, 앞에서부터 512개, 256개, 128개만 잘라 써도 되도록 학습돼 있습니다. 길이가 짧으면 저장 공간이 줄고 견주는 속도가 빨라집니다.

벡터 길이저장 공간한국어 1위 · 5위 안영어 1위 · 5위 안
768 (기본)131 · 4934 · 49
5123분의 231 · 5133 · 48
2563분의 129 · 5033 · 49
1286분의 130 · 4628 · 49

이 표가 뜻하는 것: 256까지는 차이가 한두 개라 구별되지 않습니다. 128에서는 한국어 5위 안이 49개에서 46개로, 영어 1위가 34개에서 28개로 내려갔습니다. 구글도 설명서에서 256까지는 품질이 거의 같고 128은 직접 확인하고 쓰라고 적었는데, 이 시험에서도 같은 모습이었습니다.

잘라 쓸 때는 자른 뒤에 벡터 길이를 다시 1로 맞춰야 합니다. sentence-transformers에서는 encode(..., truncate_dim=256, normalize_embeddings=True)로 한 번에 됩니다.

머리말을 빼면 31개가 22개로 떨어졌다

넣는 형식1위로 찾음5위 안
권장대로: 질문에 task: search result | query:, 글에 title: 소제목 | text:3149
글의 제목 자리에 none2943
머리말 없이 질문과 글만2241

이 표가 뜻하는 것: 머리말을 빼도 오류는 나지 않고 결과가 나옵니다. 그런데 1위로 찾는 수가 31개에서 22개로 줄었습니다. 낱말 검색(28개)보다 못한 결과입니다. 이 모델을 쓰면서 "생각보다 못 찾는다"고 느낀다면 머리말부터 확인해야 합니다.

소제목을 제목 자리에 넣는 것도 효과가 있었습니다. 5위 안이 43개에서 49개로 늘었습니다. 문서에 제목이 있으면 버리지 말고 넣는 편이 좋습니다.

속도와 메모리

조건227조각을 벡터로초당 조각 수질문 하나올린 뒤 VRAM
GPU, bfloat16, 글 부분만 (묶음 32)1.06초21432ms0.5GB
GPU, float32, 글 부분만 (묶음 32)1.87초12126ms1.0GB
GPU, bfloat16, 그림·소리 부분까지 (묶음 32)1.10초20634ms1.4GB
CPU만, float32, 글 부분만 (묶음 8)31.8초728ms쓰지 않음

이 표가 뜻하는 것: 글 227조각은 약 9만 3천 토큰, 한글로 16만 5천 자입니다. 이것을 1초 남짓에 벡터로 바꿨습니다. 블로그 글 25편을 통째로 다시 색인하는 데 1초면 된다는 뜻입니다. 모델을 올리는 데는 5.7초가 걸렸습니다.

  • bfloat16이 float32보다 약 1.8배 빨랐고 VRAM은 절반이었습니다. 찾은 결과도 거의 같았습니다. float32로 다시 돌려도 1위 31개, 5위 안 49개였고 63개 중 62개에서 1위로 고른 절이 같았습니다.
  • 질문 하나를 벡터로 바꾸는 시간은 GPU와 CPU가 거의 같았습니다(32ms와 28ms). 짧은 글 하나는 계산보다 준비에 드는 시간이 더 커서입니다. 이미 벡터로 바꿔 둔 글을 검색만 하는 서버라면 그래픽카드가 없어도 됩니다.
  • 많은 글을 한꺼번에 바꿀 때는 차이가 큽니다. CPU는 31.8초로 GPU의 30배였습니다. CPU는 24코어입니다.
  • 시스템 램은 글 부분만 올렸을 때 프로그램 하나가 약 1.1GB를 썼습니다.

묶음을 키우면 느려지고 VRAM만 늘었다

묶음 크기별 속도와 VRAM. 초당 조각 수: 묶음 1은 30, 4는 85, 8은 156, 16은 214, 32는 218, 64는 161, 128은 106. 가장 많이 쓴 VRAM: 묶음 1은 0.7GB, 4는 1.3GB, 8은 2.0GB, 16은 3.5GB, 32는 6.5GB, 64는 12.5GB, 128은 24.4GB

한 번에 함께 넣는 조각 수(묶음)를 바꿔 가며 잰 속도와 VRAM입니다.

묶음 크기227조각에 걸린 시간초당 조각 수가장 많이 쓴 VRAM
17.48초300.7GB
42.67초851.3GB
81.46초1562.0GB
161.06초2143.5GB
321.04초2186.5GB
641.41초16112.5GB
1282.15초10624.4GB

이 표가 뜻하는 것: 묶음 16과 32가 가장 빨랐고 둘의 속도는 같았습니다. VRAM은 16이 3.5GB, 32가 6.5GB라서 묶음 16이 가장 알맞았습니다. 128로 키우면 속도는 절반이 되고 VRAM은 24.4GB까지 올라갑니다.

모델 자체는 0.5GB인데 VRAM이 이렇게 늘어나는 까닭은, 한 묶음 안의 글을 가장 긴 글 길이에 맞춰 함께 계산하기 때문입니다. 묶음에 긴 글(1,615토큰)이 하나 들어가면 나머지도 그 길이만큼 자리를 차지합니다. 16GB 그래픽카드라면 묶음 64(12.5GB)까지는 들어가겠지만 128은 넘칩니다(이 숫자를 바탕으로 한 추정이고, 16GB 카드에서 직접 돌려 보지는 않았습니다).

float16으로 돌리면 오류 없이 결과가 깨졌다

구글은 설명서에서 float16을 쓰지 말라고 적었습니다. 직접 해 보니 오류 메시지는 나오지 않았고, 227조각 중 5조각의 벡터가 숫자가 아닌 값(NaN)으로 나왔습니다. 나머지 222조각은 정상처럼 보입니다. 검색 결과에서 그 5조각만 찾지 못하게 되니 알아차리기 어려운 고장입니다. bfloat16이나 float32를 써야 합니다.

글 한 편을 통째로 넣으면

글을 조각으로 자르지 않고 한 편을 통째로 넣어도 됩니다. 이 블로그 글 25편은 한 편이 1,627~6,786토큰(평균 3,659토큰)이라 모두 8,192토큰 안에 들어갔습니다. 25편을 벡터로 바꾸는 데 1.4초, VRAM은 최고 3.7GB(묶음 4)였습니다.

이렇게 넣고 "어느 글인가"만 맞히게 하면 한국어 질문 63개 중 50개, 영어 질문 중 51개를 맞혔습니다. 조각으로 잘랐을 때는 53개와 59개였습니다. 글 하나를 통째로 넣는 것보다 소제목 단위로 자르는 쪽이 글도 더 잘 찾았고, 어느 절인지까지 알 수 있었습니다.

글로 그림 찾기

EmbeddingGemma 2는 그림도 같은 벡터로 바꿉니다. 그래서 글로 그림을 찾을 수 있습니다. 이 블로그의 그림 161장으로 해 봤습니다. 글에 넣은 그래프와 화면 캡처 141장, 갤러리의 사진풍 그림 20장입니다.

글로 그림 찾기 결과 막대. 긴 설명 글로 블로그 그림 141개 찾기: 1위 69개 5위 안 100개. 짧은 그림 설명으로 블로그 그림 찾기: 47개와 88개. 한국어 제목으로 갤러리 그림 10개 찾기: 8개와 8개. 영어 프롬프트로 갤러리 그림 찾기: 10개와 10개. 그림 한 장을 벡터로 바꾸는 데 20ms, VRAM 최고 2.05GB

그림 161장 가운데 글로 맞는 그림을 찾게 한 결과입니다.

질문으로 넣은 글찾을 그림문제 수1위5위 안
영어 프롬프트 (그림을 만들 때 쓴 것)갤러리 사진풍 그림101010
한국어 제목 ("비 오는 골목, 등불 아래 고양이")갤러리 사진풍 그림1088
그림 내용을 숫자까지 적은 긴 한국어 설명블로그 그래프·화면 캡처14169100
그림 아래에 붙인 짧은 한국어 설명블로그 그래프·화면 캡처1414788

이 표가 뜻하는 것: 사진풍 그림은 한국어 제목만으로 10개 중 8개를 찾았습니다. 같은 장면을 두 모델로 그린 그림이 한 쌍씩 있어서, 둘 중 하나가 1위면 맞힌 것으로 셌습니다. 못 찾은 둘은 제목이 "영어 간판 글자 시험", "한글 포스터 글자 시험"입니다. 그림에 보이는 것이 아니라 시험의 이름을 적은 제목이라 찾지 못한 것이 자연스럽습니다.

그래프와 화면 캡처는 훨씬 어려운 문제입니다. 비슷하게 생긴 어두운 바탕의 표와 막대 그림이 141장 있고, 그 안의 한글과 숫자를 읽어야 구별됩니다. 긴 설명으로 141개 중 69개를 1위로, 100개를 5위 안에 찾았습니다. 그래프 그림 37장만 보면 24장, 화면 캡처와 만든 이미지 104장은 45장을 1위로 찾았습니다. 그래프 쪽이 더 잘 맞았습니다.

그림 한 장을 벡터로 바꾸는 데는 20ms가 걸렸고(161장에 3.3초), 그림 부분까지 올렸을 때 VRAM은 최고 2.1GB였습니다.

다른 곳의 측정과 견주면

  • 구글의 점수와 이 글의 점수는 서로 견줄 수 없습니다. 구글의 61.36은 여러 언어, 여러 종류의 시험을 평균한 값이고, 이 글은 한국어 블로그 글 한 묶음에서 잰 값입니다.
  • 겹치는 것은 방향입니다. 구글은 256차원까지 품질이 거의 같고 128차원에서 떨어진다고 했는데, 이 글에서도 256까지는 한두 개 차이였고 128에서 더 내려갔습니다. float16에서 결과가 조용히 깨진다는 설명도 그대로 확인했습니다.
  • 이전 모델과 직접 견주지는 못했습니다. 구글 표에서 글 쪽 점수는 61.15에서 61.36으로 거의 같으니, 글 검색만 쓴다면 이전 모델에서 바꿔도 큰 차이는 없을 것으로 보입니다(구글 숫자를 바탕으로 한 추정).

정리

  • 어디에 쓸모가 있나: 사람이 문서와 다른 낱말로 물을 때, 그리고 질문과 문서의 언어가 다를 때입니다. 이 두 경우에서 낱말 검색과의 차이가 가장 컸습니다(17개와 9개, 34개와 4개).
  • 낱말 검색을 버릴 까닭은 없습니다. 모델 이름이나 제품 이름처럼 정확한 낱말로 찾는 질문은 낱말 검색이 더 잘 맞혔습니다. 두 방법이 맞히는 문제가 서로 달랐습니다.
  • 1위 하나만 믿기보다 5위까지 가져와 쓰는 편이 좋습니다. 1위는 63개 중 31개, 5위 안은 49개였습니다. 틀릴 때는 같은 글의 소개 절을 가져오는 일이 많았습니다.
  • 설정 세 가지: 머리말을 꼭 넣고, bfloat16으로 돌리고, 묶음은 16쯤으로 둡니다. 벡터 길이는 256으로 줄여도 이 시험에서는 차이가 없었습니다.
  • 그래픽카드가 꼭 있어야 하는 것은 아닙니다. 질문 하나를 바꾸는 시간은 CPU도 28ms였습니다. 글을 많이 색인할 때만 차이가 납니다.

글을 쓰지 않는 작은 모델을 다룬 것은 이번이 두 번째입니다. 보기 가운데 답을 고르는 모델은 판단 전용 모델 Strands Decider 2B와 Clef-Flash 9B 비교에 정리했습니다. 이 글 맨 위의 요약 영상을 만드는 방법은 hyperframes로 블로그 요약 영상 만들기에 있고, 같은 PC에서 글 쓰는 모델의 속도를 잰 결과는 Gemma 4 12B와 Unsloth 기본값 글에 있습니다.

이 글의 한계

  • 문제 수가 적습니다. 질문 63개, 글 227조각입니다. 두세 개 차이는 우연일 수 있습니다. 큰 차이(17개와 9개, 34개와 4개, 31개와 22개)만 결론으로 삼았습니다.
  • 글 묶음이 한 종류입니다. 이 블로그의 테스트 글과 소식 글입니다. 글마다 같은 이름의 절이 있어서 이 모델에 불리한 면이 있었습니다. 법률 문서나 상품 설명 같은 다른 글에서는 결과가 다를 수 있습니다.
  • 질문을 직접 썼습니다. 본문을 다 읽지 않고 소제목과 앞부분을 보고 썼고, 정답은 질문마다 절 하나로 정했습니다. 다른 절에도 답이 일부 들어 있는 질문이 있을 수 있습니다.
  • 다른 임베딩 모델과 견주지 않았습니다. 이전 EmbeddingGemma나 다른 회사의 모델을 같은 문제로 돌려 보지 않았습니다. 견준 것은 낱말 검색뿐입니다.
  • 소리와 영상은 넣어 보지 않았습니다. 글과 그림만 쟀습니다.
  • RTX 5090 한 대에서만 쟀습니다. 16GB 카드에 대한 내용은 VRAM 숫자로 미루어 적은 것입니다.
  • 기준 날짜는 2026년 10월 7일입니다.

자주 묻는 질문

EmbeddingGemma 2는 챗봇처럼 답을 써 주나요?

써 주지 않습니다. 글이나 그림을 숫자 768개로 바꿔 줄 뿐입니다. 그 숫자로 가까운 글을 찾는 일은 따로 계산해야 하고, 찾은 글로 답을 쓰는 일은 글 쓰는 모델이 합니다.

한국어 문서 검색에 써도 되나요?

이 글의 시험에서는 한국어 질문 63개 중 49개에서 맞는 절이 5위 안에 들었습니다. 다른 낱말로 물은 질문에서 특히 잘 찾았습니다. 정확한 이름으로 찾는 질문은 낱말 검색이 더 잘 맞혔으니, 낱말 검색과 함께 쓰는 것을 권합니다.

그래픽카드가 없어도 돌릴 수 있나요?

돌릴 수 있습니다. 질문 하나를 바꾸는 데 CPU로 28ms였습니다. 글 227조각을 한꺼번에 바꾸는 데는 31.8초가 걸렸습니다(24코어 CPU). 글이 아주 많지 않으면 CPU만으로도 쓸 수 있습니다.

VRAM은 얼마나 필요한가요?

글 부분만 올리면 0.5GB, 그림과 소리 부분까지 올리면 1.4GB입니다. 돌릴 때는 한 번에 넣는 묶음 크기에 따라 늘어납니다. 묶음 16에서 최고 3.5GB였습니다.

출처와 자료

  • 모델과 설명서: google/embeddinggemma-2 (Hugging Face). 파라미터 수, 벡터 길이, 머리말 형식, float16 주의, 구글이 잰 점수는 이 설명서에서 가져왔습니다.
  • 구글 개발 문서: EmbeddingGemma
  • 이 글의 질문 63개와 정답, 조각 목록: embgemma2-testset.json (한국어와 영어, JSON 파일)

관련 게시글

댓글 0개