“๋ํ๋ฏผ๊ตญ ๋ฒ๋ฅ ์ ๋ฌธ”์ ๊ฐ์ง๊ณ OpenAI(ChatGPT), GOOGLE(Gemini), Antropic(Claude), Upstage(Solar)๋ฅผ ๋์์ผ๋ก embedding ํ token ์๋ฅผ ๋น๊ตํ๋ ์คํ์ ์งํ
Goal : API๋ก ์ ๊ณต๋๋ LLM ์ค ์ด๋ค ๋ชจ๋ธ์ด ํ๊ตญ์ด token์ ๊ฐ์ฅ ์ ๊ฒ ์ฌ์ฉํ๊ณ ๋น์ฉ ์ ๋ ดํ์ง ๋น๊ต
- Input Text(๋ํ๋ฏผ๊ตญํ๋ฒ ์ ๋ฌธ, text length=373)
์ ๊ตฌํ ์ญ์ฌ์ ์ ํต์ ๋น๋๋ ์ฐ๋ฆฌ๋ค ๋ํ๊ตญ๋ฏผ์ ๊ธฐ๋ฏธ ์ผ์ผ์ด๋์ผ๋ก ๋ํ๋ฏผ๊ตญ์
๊ฑด๋ฆฝํ์ฌ ์ธ๊ณ์ ์ ํฌํ ์๋ํ ๋
๋ฆฝ์ ์ ์ ๊ณ์นํ์ฌ ์ด์ ๋ฏผ์ฃผ๋
๋ฆฝ๊ตญ๊ฐ๋ฅผ ์ฌ๊ฑดํจ์ ์์ด์
์ ์์ธ๋์ ๋ํฌ์ ๋ก์จ ๋ฏผ์กฑ์ ๋จ๊ฒฐ์ ๊ณต๊ณ ํ ํ๋ฉฐ ๋ชจ๋ ์ฌํ์ ํ์ต์ ํํํ๊ณ ๋ฏผ์ฃผ์ฃผ์์ ์ ๋๋ฅผ
์๋ฆฝํ์ฌ ์ ์น, ๊ฒฝ์ , ์ฌํ, ๋ฌธํ์ ๋ชจ๋ ์์ญ์ ์์ด์ ๊ฐ์ธ์ ๊ธฐํ๋ฅผ ๊ท ๋ฑํ ํ๊ณ ๋ฅ๋ ฅ์
์ต๊ณ ๋๋ก ๋ฐํ์ผ ํ๋ฉฐ ๊ฐ์ธ์ ์ฑ
์๊ณผ ์๋ฌด๋ฅผ ์์์ผํ์ฌ ์์ผ๋ก๋ ๊ตญ๋ฏผ์ํ์ ๊ท ๋ฑํ ํฅ์์ ๊ธฐํ๊ณ
๋ฐ์ผ๋ก๋ ํญ๊ตฌ์ ์ธ ๊ตญ์ ํํ์ ์ ์ง์ ๋
ธ๋ ฅํ์ฌ ์ฐ๋ฆฌ๋ค๊ณผ ์ฐ๋ฆฌ๋ค์ ์์์ ์์ ๊ณผ ์์ ์ ํ๋ณต์ ์์ํ
ํ๋ณดํ ๊ฒ์ ๊ฒฐ์ํ๊ณ ์ฐ๋ฆฌ๋ค์ ์ ๋น ๋ ์์ ๋กํ ์ ๊ฑฐ๋ ๋ํ๋ก์จ ๊ตฌ์ฑ๋ ๊ตญํ์์ ๋จ๊ธฐ 4281๋
7์ 12์ผ
์ด ํ๋ฒ์ ์ ์ ํ๋ค.
1) OpenAI
- Embedding API ๋น์ฉ
MODEL | ~ PAGES PER DOLLAR | PERFORMANCE ON MTEB EVAL | MAX INPUT | Usage |
text-embedding-3-small | 62,500 | 62.3% | 8191 | $0.02 / 1M tokens |
text-embedding-3-large | 9,615 | 64.6% | 8191 | $0.13 / 1M tokens |
text-embedding-ada-002 | 12,500 | 61.0% | 8191 | $0.10 / 1M tokens |
- Model ๋ณ Tokenizer(tiktoken)
Encoding name | OpenAI models |
cl100k_base | gpt-4, gpt-3.5-turbo, text-embedding-ada-002, text-embedding-3-small, text-embedding-3-large |
p50k_base | Codex models, text-davinci-002, text-davinci-003 |
r50k_base (or gpt2) | GPT-3 models like davinci |
- Result (373 → 396, 815)
- Embedding Token
- Origin Text : 373 Embed Text(cl100k_base) : 396 Embed Text(r50k_base) : 815 Embed Text(p50k_base) : 815
- Price
- text-embedding-3-small - 0.02 * 1300/1000000*(396)=0.10296โฉ
- text-embedding-3-large - 0.13 * 1300/1000000*(396)=0.67524โฉ
- ada v2 - 0.10 * 1300/1000000*(396)=0.5268โฉ
Eval benchmark | ada v2 | text-embedding-3-small | text-embedding-3-large |
MIRACL average | 31.4 | 44.0 | 54.9 |
MTEB average | 61.0 | 62.3 | 64.6 |
Test Embedding token count | 396 | 396 | 396 |
OpenAI์ ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ๋ฐด์น๋งํฌ๋ฅผ ๋ณด๋ฉด text-embedding-3-small ๋ชจ๋ธ์ ๋น์ฉ์ด ๊ฐ์ฅ ์ ๊ณ ํฉ๋ฆฌ์ ์ธ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ฐด์น๋งํฌ๊ฐ ํ๊ตญ์ด ๋ฐ์ดํฐ์ ์ด ์ผ๋ง๋ ํฌํจ๋๊ณ ํ๊ตญ์ด ebedding ์ฑ๋ฅ์ ์ผ๋ง๋ ์ ํจํ์ง ์ ์ ์์ผ๋ ada-v2์ ํ๊ตญ์ด ebedding model์ ์ฑ๋ฅ์ด ํ์กด ์ต๊ฐ์(24/3/28)์ ๊ฐ์ํ๋ฉด small model์ ์ฑ๋ฅ์ ๋ ์ข์ ๊ฒ์ผ๋ก ์์๋๋ค.
2) Gemini-Pro
- Embedding API ๋น์ฉ (cloud.google.docs, ํ์ฌ ๋ฌด๋ฃ / ์ถ์ ์์ )
- $0.0002 / 1000 string
- Result(373→262)
- GeminiPro text-embedding-ada-002 korean encoding
- Origin Text : 373
- Embed Text(normal) : 262
- Embed Text(normalize) : 262
- Price
- $0.000125 / 1K characters
- $0.0025 / image
- 0.000125 * 1300 / 1000 = 0.000162โฉ
- GeminiPro text-embedding-ada-002 korean encoding
- Embedding Token
openai์ ํ ํฐ ์ ๋ณด๋ค ํจ์ฌ ์ ์ ์์ ํ๊ตญ์ด ํ ํฐ์ ์ฌ์ฉํ๋ฉด์ ๊ฐ๊ฒฉ ๋ํ ์ ๋ ดํ ๊ฒ์ ์ ์ ์๋ค. ๋ค๋ง gemini-pro์ ๊ฒฝ์ฐ embedding ์ฑ๋ฅ์ด ๊ณต๊ฐ๋์ง ์์๊ฑฐ๋(?) leaderboard ์์๊ถ ๋ฐ์ธ ๊ฒ์ผ๋ก ๋ณด์ ๊ฐ๊ฒฉ์ด ํฉ๋ฆฌ์ ์ธ์ง๋ ์ ์ ์๋ค.
3) Claude
- Embedding API ๋น์ฉ
Model | Price per thousand tokens | Price per million tokens | Number of free tokens |
voyage-2 | $0.0001 | $0.1 | 50 million |
voyage-large-2 | $0.00012 | $0.12 | 50 million |
voyage-code-2 | $0.00012 | $0.12 | 50 million |
- Result (373→543)
- Origin Text : 373
- Embed Text(voyage-2) : 543
- Embed Normalize Text(voyage-2) : 543
- Embed Text(voyage-large-2) : 543
- Embed Normalize Text(voyage-large-2): 543
- Embed Text(voyage-2) : 0.0000014118โฉ
- Embed Text(voyage-large-2) : 0.0000016942โฉ
- Anthropic Voyage-2 korean embedding
Anthropic์ Embedding model์ ์ฑ๋ฅ์ ๊ณต๊ฐ๋ ๋ฆฌ๋๋ณด๋์ ์ํ๋ฉด 2์์ ์์นํด ์๋ค. ํ๊ตญ์ด ํ ํฐ ์๊ฐ ์ฆ๊ฐํ ๊ฒ์ผ๋ก ๋ณด์ ํ๊ตญ์ด ์๋ฒ ๋ฉ์๋ ์ฐ์ฐ์ด ์กฐ๊ธ ๋ ๋ค์ด๊ฐ๋ค. ํ์ง๋ง ๊ฐ๊ฒฉ์ด ๋ง์ด ์ ๋ ์ ๋๋ก ์ ๋ ดํ๊ณ ์ด์ฐฝ๊ธฐ GPT-4์ ํ๊ตญ์ด ๋ชจ๋ธ ์ฑ๋ฅ์ ๋ฅ๊ฐ? ๋น์ทํ ์ ๋๋ก ์ฌ๋๋ค์ ํ์ด ์์ด ์ถ์ฒํ๋ค.
4) Solar
- Result (373→190, 172)
- Origin Text : 373
- Embed Text(solar-1-mini-query) : 190
- Embed Text(solar-1-mini-passage) : 172
- Free (ํ์ฌ ๋ฌด๋ฃ, ๊ฐ๊ฒฉ ์ ์ฑ ์ ๋ฐ์ดํธ X)
- OpenAI Solar-1-mini korean embedding
Upstage ํ๊ตญ ๊ธฐ์ ๋ต๊ฒ Token ์๊ฐ ๋ฐ์ด๋ ์ค์ด๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. Solar ๋ชจ๋ธ์ ์ฑ๋ฅ ํน์ ํ๊ตญ์ด ๋ค๋ฅธ ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ๋์์ง์๋ก ์ถ๋ก ์๋๋ Output์ผ๋ก ๋์ค๋ ๊ธธ์ด์๋ ์ํฅ์ ์ฃผ๊ธฐ ๋๋ฌธ์ ํ๊ตญ์ด domain ๋ชจ๋ธ์ ๋ฐ์ ์ ํ์
์ ๋ฆฌ
Company | Embedding Model | Price | Token Count(373) | Official Price |
OpenAI | text-embedding-3-small | 0.10296โฉ | 396(+6%) | $0.02 / 1M tokens |
OpenAI | text-embedding-3-large | 0.67524โฉ | 396(+6%) | $0.13 / 1M tokens |
OpenAI | ada-v2 | 0.5268โฉ | 396(+6%) | $0.10 / 1M tokens |
Gemini-PRO | gemini-pro | 0.0425749โฉ | 262(-30%) | $0.000125 / 1K characters |
Claude 3 | voyage-2 | 0.0000014118โฉ | 543(+45%) | $0.0001 / 50M tokens |
Claude 3 | voyage-large-2 | 0.00000169416โฉ | 543(+45%) | $0.00012 / 50M tokens |
Solar | solar-1-mini-query | - | 190(-50%) | Free |
Solar | solar-1-mini-passage | - | 172(-54%) | Free |
OpenAI text-embedding-3-small์ ๊ฐ์ 1000์์ผ๋ก ํ์ฐ ํ์ ๋
Google์ Embedding model์ 413์
Anthropic์ Voyage-2๋ 0.0137์
์ผ๋ก Voyage-2์ด ๋น๊ต๊ฐ ์๋ ์ ๋๋ก ๊ฐ๊ฒฉ์ด ์ ๋ ดํ๋ค.
์ฑ๋ฅ์ ์ด ์ด ํ์ ์๋ฅ ๊ตญ์ด ์ง๋ฌธ์ ํตํด ์ธก์ ํ ์์ ์ด๋ค.