Instructions to use OLAIR/OLA-Embed with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use OLAIR/OLA-Embed with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("OLAIR/OLA-Embed") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
Download README.md from OLAIR/OLA-Embed: direct link, hf CLI and curl.
- Browser
- Download file 16.2 kB
-
https://huggingface.co/OLAIR/OLA-Embed/resolve/main/README.md
- Command line
-
hf download hf://OLAIR/OLA-Embed/README.md
-
curl -L -o README.md https://huggingface.co/OLAIR/OLA-Embed/resolve/main/README.md
language:
- ko
- en
- ja
- vi
library_name: sentence-transformers
pipeline_tag: feature-extraction
license: apache-2.0
tags:
- sentence-transformers
- multimodal
- embedding
- finance
- retrieval
- multilingual
- cross-lingual
- matryoshka
- qwen3-vl
- image-text-retrieval
base_model: Qwen/Qwen3-VL-Embedding-8B
base_model_relation: finetune
datasets:
- OLAIR/OLA-Embed-Training
OLA-Embed
OLA-Embed๋ ๊ธ์ต ๋ฌธ์ ๊ฒ์๊ณผ ๋ค๊ตญ์ดยท๋ฉํฐ๋ชจ๋ฌ ์ ๋ณด ๊ฒ์์ ์ํด ๊ฐ๋ฐ๋ 8B ๊ท๋ชจ์ ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ๋๋ค. Qwen3-VL-Embedding-8B๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ธ์ตยท๊ฒฝ์ ยท๋ด์คยท๋ค๊ตญ์ด pair ๋ฐ์ดํฐ์ ๋ํด ๋์กฐํ์ต์ ์ํํ์ต๋๋ค.
๋ชจ๋ธ์ ํ ์คํธ, ํ๊ฐ ํฌํจ๋ ๋ฌธ์ ์ด๋ฏธ์ง, ์คํฌ๋ฆฐ์ท, ์ด๋ฏธ์ง, ๋น๋์ค ๋ฐ ํผํฉ ์ ๋ ฅ์ ํ๋์ ๋ฒกํฐ ๊ณต๊ฐ์ผ๋ก ํํํ๋๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ๋ณธ ๊ณผ์ ์ ์ค์ ๊ฒ์ฆ ์ธ์ด๋ ํ๊ตญ์ด, ์์ด, ์ผ๋ณธ์ด, ๋ฒ ํธ๋จ์ด์ ๋๋ค.
๋ผ์ด์ ์ค
OLA-Embed๋ Apache-2.0 ๋ผ์ด์ ์ค๋ก ๋ฐฐํฌ๋ฉ๋๋ค.
๋ชจ๋ธ ์์ธ ์ ๋ณด
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ๋ชจ๋ธ ์ ์ฅ์ | OLAIR/OLA-Embed |
| ๊ฐ๋ฐ ๊ธฐ๊ด | OneLineAI / OLAIR |
| ๊ธฐ๋ฐ ๋ชจ๋ธ | Qwen/Qwen3-VL-Embedding-8B |
| ๋ชจ๋ธ ์ ํ | ๋ฉํฐ๋ชจ๋ฌ ์๋ฒ ๋ฉ ๋ชจ๋ธ |
| ํ๋ผ๋ฏธํฐ ์ | 8,144,793,840 |
| ๊ฐ์ค์น ์๋ฃํ | BF16 |
| ๊ธฐ๋ณธ ์๋ฒ ๋ฉ ์ฐจ์ | 4,096 |
| ๊ฐ๋ณ ์ฐจ์ | 64-4,096 |
| ์ ์ฌ๋ ํจ์ | ์ฝ์ฌ์ธ ์ ์ฌ๋ |
| ํ๋ง | ๋ง์ง๋ง ํ ํฐ ํ๋ง ํ L2 ์ ๊ทํ |
| ์ค์ ๊ฒ์ฆ ์ธ์ด | ํ๊ตญ์ด, ์์ด, ์ผ๋ณธ์ด, ๋ฒ ํธ๋จ์ด |
| ์ ๋ ฅ ๋ชจ๋ฌ๋ฆฌํฐ | ํ ์คํธ, ์ด๋ฏธ์ง, ์คํฌ๋ฆฐ์ท, ๋น๋์ค, ๊ตฌ์กฐํยทํผํฉ ๋ฉ์์ง |
| ์ ์คํธ๋ฆผ ๋ฌธ๋งฅ ๊ธธ์ด | 32K |
| ํฌํจ๋ ๋์ฐ๋ฏธ ๊ธฐ๋ณธ๊ฐ | max_length=8192, fps=1, max_frames=64 |
| ๊ฒ์ฆํ Hub ๋ฆฌ๋น์ | 2af82c85d92aa1c86afdd12fc4599590a8e3bc1f |
์ ์คํธ๋ฆผ ๋ชจ๋ธ ์นด๋์ OLA-Embed์ ๊ฐ๋ณ ์๋ฒ ๋ฉ ์ฐจ์ ๋ฒ์๋ 64-4,096์ ๋๋ค. ์ค์ ์ด์ ์ ์๋ ์ ํํ ์ฐจ์์ ์์ฒด ๊ฒ์ ๋ง๋ญ์น์์ ํ๊ฐํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
๊ถ์ฅ ์ฌ์ฉ ๋ฒ์
OLA-Embed๋ ๋ค์ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๊ธ์ต ๋ฌธ์ ๊ฒ์ ๋ฐ ์๋ฏธ ๊ธฐ๋ฐ ๊ฒ์
- ๊ณต์, ๋ฆฌ์์น ๋ณด๊ณ ์, ๋ด์ค, ๊ธ์ต ํ๋ฅผ ๋์์ผ๋ก ํ๋ RAG ๊ฒ์
- ํ๊ตญ์ด, ์์ด, ์ผ๋ณธ์ด, ๋ฒ ํธ๋จ์ด ๊ฐ ๊ต์ฐจ์ธ์ด ๊ฒ์
- ํ ์คํธ-์ด๋ฏธ์ง ๋ฐ ๋ฌธ์-์ด๋ฏธ์ง ๊ฒ์
- ์๋ฏธ ์ ์ฌ๋ ๊ณ์ฐ, ๊ตฐ์งํ, ์ค๋ณต ์ ๊ฑฐ, ๋ง๋ญ์น ์ ๋ณ
- MTEB, ํ๊ตญ์ด ๊ฒ์ ๋ฒค์น๋งํฌ, M2FEB๋ฅผ ์ด์ฉํ ๊ฒ์ ์ฑ๋ฅ ํ๊ฐ
OLA-Embed๋ ํ ์คํธ ์์ฑ ๋ชจ๋ธ์ด๋ ์ฌ์ ๋ ฌ ๋ชจ๋ธ์ด ์๋๋๋ค. ๊ธ์ต ์๋ฌธ, ๊ฑฐ๋, ์ ์ฉ ํ๋จ, ๋ฒ๋ฅ ํด์, ๊ท์ ์ค์ ํ๋จ์ ์ ์ผํ ๊ทผ๊ฑฐ๋ก ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.
์ํคํ ์ฒ ๋ฐ ํํ ๋ฐฉ์
๊ณต๊ฐ ์ ์ฅ์์์ ํ์ธ๋๋ ์ถ๋ก ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- 36๊ฐ ํ ์คํธ ๋ ์ด์ด์ ๋ฉํฐ๋ชจ๋ฌ ๋น์ ์ธ์ฝ๋๋ก ๊ตฌ์ฑ๋ Qwen3-VL ๋ฐฑ๋ณธ
- Sentence Transformers ์ฐ๋
- 4,096์ฐจ์ ์ถ๋ ฅ ์๋ฒ ๋ฉ
- ๋ง์ง๋ง ํ ํฐ ํ๋ง
- L2 ์ ๊ทํ ์๋ฒ ๋ฉ
- ์ฝ์ฌ์ธ ์ ์ฌ๋
- ๊ธฐ๋ณธ ์ง์๋ฌธ:
Represent the user's input.
์ ์ฅ์์ scripts/qwen3_vl_embedding.py๋ ํ๋์ ์๋ฒ ๋ฉ ์ธํฐํ์ด์ค๋ฅผ ํตํด ํ
์คํธ, ์ด๋ฏธ์ง, ๋น๋์ค ๋ฐ ํผํฉ ์
๋ ฅ์ ์ฒ๋ฆฌํฉ๋๋ค.
ํ์ต ๋ฐ์ดํฐ
ํ์ต ๋ฐ์ดํฐ๋ OLAIR/OLA-Embed-Training์ผ๋ก ๊ณต๊ฐ๋์ด ์์ต๋๋ค.
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ์ต์ข ๋ณด๊ณ ์ ์ธ์ฆ pair ์ | 2,094,342,001์ |
| ๊ณต๊ฐ ์ ์ฅ์ ์ฉ๋ | ์ฝ 2.15TB |
| Pair ๋ ์ด๋ธ | Positive pair ๋ฐ hard-negative pair |
| ํต์ฌ ํ๋ | pair_id, label, pair_type, pair_subtype, a_text, b_text, ์ถ์ฒ ๋ฉํ๋ฐ์ดํฐ |
| ๋ชฉํ ์ค๋ณต๋ ๊ธฐ์ค | ๊ทธ๋ฃน๋ณ ํ๊ท ROUGE-L F1 0.4 ์ดํ |
ํ์ต ๋ฐ์ดํฐ ์๋์ ์ต์ข ์ ์ ๊ฒ์ฌ๋ก ์ธ์ฆํ 2,094,342,001์์ ๊ธฐ์ค์ผ๋ก ํ๊ธฐํ์ต๋๋ค.
๋ฐ์ดํฐ ์ถ์ฒ ๋ฐ pair ๊ตฌ์ฑ
์ต์ข ๋ณด๊ณ ์์ ๊ธฐ์ฌ๋ ๋ฐ์ดํฐ ์ถ์ฒ์ ๋ณํ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๊ตญ๋ฆฝ๊ตญ์ด์ ๋ง๋ญ์น ๋ฐ AI-Hub ์๋ฃ๋ฅผ ํฌํจํ ๊ณต๊ฐ ํ๊ตญ์ด ์์
- ํ๊ตญ๊ฑฐ๋์, ํ๊ตญ์ํ, ๊ธ์ต์์ํ ๋ฑ์ ๊ณต๊ฐ ๊ธ์ตยท๊ฒฝ์ ๋ฌธ์
- ๊ธ์ต ๋ณด๊ณ ์, ๊ณต์, ๋ด์ค, ๋ฌธ์ ์์ฝ, ์น ๋ง๋ญ์น, ๋ค๊ตญ์ด ๋ณ๋ ฌ ๋ง๋ญ์น
- ์๋ฏธ๊ฐ ๊ฐ์ ๋ฌธ๋จ, ๋ฌธ์ฅยท์ฒญํฌ ๊ด๊ณ, ์์ฝ ๊ด๊ณ, ๋ค๊ตญ์ด ๋ณ๋ ฌ ๊ด๊ณ๋ก ๊ตฌ์ฑํ positive pair
- ํ๋ฉด์ ์ดํ๋ ์ ์ฌํ์ง๋ง ๊ธ์ต ์์น, ์ฆ๊ฐ ๋ฐฉํฅ, ๊ธฐ๊ฐ ๋๋ ์๋ฏธ๊ฐ ๋ค๋ฅธ ๋ช ์์ hard negative
- ํ๊ตญ์ด, ์์ด, ์ผ๋ณธ์ด, ๋ฒ ํธ๋จ์ด๋ฅผ ์ค์ฌ์ผ๋ก ๊ตฌ์ฑํ ๊ต์ฐจ์ธ์ด positive pair
์ด ๋ชจ๋ธ ์นด๋๋ฅผ ์์ฑํ ์์ ์๋ ๊ณต๊ฐ ํ์ต ๋ฐ์ดํฐ์ ์ ๋ฐ์ดํฐ์ ๋จ์ ๋ผ์ด์ ์ค๊ฐ ์ ์ธ๋์ด ์์ง ์์์ต๋๋ค. ์ฌ๋ฐฐํฌ ๋๋ ์์ ์ ์ด์ฉ ์ ํ์ฌ ์ ์ฅ์ ๋ฉํ๋ฐ์ดํฐ์ ์์ฒ๋ณ ์ด์ฉ ์กฐ๊ฑด์ ํ์ธํด์ผ ํฉ๋๋ค.
ํ์ต ๋ฐฉ๋ฒ
1. ๋์กฐํ์ต
- InfoNCE ์์ค์ ์ด์ฉํ bi-encoder ๋ฏธ์ธ์กฐ์
- In-batch negative ์ฌ์ฉ
- ๊ธ์ต ์์น, ์ฆ๊ฐ ๋ฐฉํฅ, ๊ธฐ๊ฐ ๋ฐ ๊ทผ์ค๋ณต ํํ์ ๊ตฌ๋ถํ๊ธฐ ์ํ ๋ช ์์ hard negative ์ฌ์ฉ
- ์ง์์๋ง ํ์คํฌ ์ง์๋ฌธ์ ์ ์ฉํ๋ ๋น๋์นญ์ ์ง์ยท๋ฌธ์ ์ฒ๋ฆฌ
2. Matryoshka Representation Learning
- ์ฌ๋ฌ ์๋ฒ ๋ฉ ์ ๋จ ์ฐจ์์ ๋์์ ์ต์ ํ
- ์ฐจ์ ์ถ์๋ฅผ ํตํ ๋ฒกํฐ ์ ์ฅ ๋น์ฉ ๋ฐ ๊ฒ์ ๋น์ฉ ์ ๊ฐ
- ๊ธฐ๋ณธ ์ถ๋ ฅ ์ฐจ์์ 4,096์ฐจ์
3. ๋ ์ด์ด ์ธ์งํ ์ง์ ์ฆ๋ฅ
- ์ค๊ฐ ๋ ์ด์ด์ ์ต์ข ๋ ์ด์ด์ ์ถ๋ ฅ ๋ถํฌ๋ฅผ KL-divergence๋ก ์ ๋ ฌ
- ์ฐจ์ ์ถ์์ ๋ ์ด์ด ์ถ์๋ฅผ ํจ๊ป ์ง์ํ๋๋ก ์ค๊ณํ ํ์ต ๋ชฉ์ ํจ์(2D Matryoshka)
๊ณต๊ฐ ๊ธฐ๋ณธ ์ธํฐํ์ด์ค๋ ์ต์ข ๋ ์ด์ด ์๋ฒ ๋ฉ์ ๋ฐํํฉ๋๋ค. ์ค๊ฐ ๋ ์ด์ด ์ถ์ถ์ ๋ณ๋ ์ฐ๋์ด ํ์ํ๋ฉฐ ๊ธฐ๋ณธ Sentence Transformers ํ๋ง ์ค์ ์๋ ๋ ธ์ถ๋์ด ์์ง ์์ต๋๋ค.
4. ๊ต์ฐจ์ธ์ด ์ ๋ ฌ
- Understand-Solve-Translate(UST)์์ ์ฐฉ์ํ ์์ด ์ต์ปค ๊ธฐ๋ฐ ์๋ฏธ ์ ๋ ฌ
- ๊ต์ฐจ์ธ์ด ์ง์ ์ ์ด๋ฅผ ์ํ Language-Mixed CoT ๋ฐ์ดํฐ ์์ฑ
- ๋จ์ ๋ฒ์ญ ์ฆ๊ฐ์ด ์๋ ์ธ์ด๋ณ ์์ฐ ์์ฑ ๋ฐฉ์ ์ ์ฉ
5. ๋ฐ์ดํฐ ํ์ง ๊ฒ์ฆ
- ์ต์ข ์๋๊ณผ ์ค๋ณต๋ ๊ฒ์ฆ์ ์ํ๋ง์ด ์๋ ์ ์ ๊ฒ์ฌ ์ ์ฉ
- ๋๊ท๋ชจ ROUGE-L ๊ณ์ฐ์ ์ํ ๋นํธ ๋ณ๋ ฌ LCS ์์ง ์ฌ์ฉ
- Python ์ฐธ์กฐ ๊ตฌํ๊ณผ์ ๊ต์ฐจ ๊ฒ์ฆ
- ์ค๋ ๋ฌด๊ฒฐ์ฑ, ์ ๋จ ํ์ผ, ๋ฏธ์๋ฃ ํ์ผ ๊ฒ์ฆ
์ฌ์ฉ๋ฒ
์ค์น
pip install "sentence-transformers>=5.4.0" "transformers>=4.57.1" qwen-vl-utils pillow torch
Sentence Transformers๋ฅผ ์ด์ฉํ ํ ์คํธ ๊ฒ์
import torch
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(
"OLAIR/OLA-Embed",
device="cuda",
trust_remote_code=True,
model_kwargs={"torch_dtype": torch.bfloat16},
)
queries = [
"์ผ์ฑ์ ์์ 2024๋
์์
์ด์ต์ ์ ๋
๋๋น ์ด๋ป๊ฒ ๋ณํ๋๊ฐ?"
]
documents = [
"์ผ์ฑ์ ์์ 2024๋
์์
์ด์ต์ 32์กฐ 7,260์ต์์ผ๋ก ์ ๋
๋๋น ํฌ๊ฒ ์ฆ๊ฐํ๋ค.",
"ํ๊ตญ์ 2024๋
์ค์
๋ฅ ์ 2.8%์๋ค.",
"ORIX์ ๋น๊ธฐ์์ด์ต์ FY2026/3์ 447,265๋ฐฑ๋ง ์์ ๊ธฐ๋กํ๋ค.",
]
query_instruction = (
"์ฌ์ฉ์ ์ง์์ ๋ตํ ์ ์๋ ๊ธ์ต ๋ฌธ์๋ฅผ ๊ฒ์ํ๋ค."
)
query_embeddings = model.encode_query(
queries,
prompt=query_instruction,
normalize_embeddings=True,
truncate_dim=1024,
)
document_embeddings = model.encode_document(
documents,
normalize_embeddings=True,
truncate_dim=1024,
)
scores = model.similarity(query_embeddings, document_embeddings)
print(scores)
์ง์์ ๋ฌธ์์๋ ๋์ผํ truncate_dim์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. 1,024์ฐจ์ ๋๋ 4,096์ฐจ์๋ถํฐ ์์ํ ๋ค, ๊ฒ์ ํ์ง๊ณผ ์ง์ฐ์๊ฐ ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ๋ ๋ฎ์ ์ฐจ์์ ๊ฒ์ฆํ๋ ๋ฐฉ์์ ๊ถ์ฅํฉ๋๋ค.
๋ฉํฐ๋ชจ๋ฌ ์๋ฒ ๋ฉ
Hub ์ ์ฅ์์๋ scripts/qwen3_vl_embedding.py๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ ์ฒด OLAIR/OLA-Embed ์ ์ฅ์๋ฅผ ๋ณต์ ํ๊ฑฐ๋ ๋ด๋ ค๋ฐ์ ํ ์ ์ฅ์ ๋ฃจํธ์์ ๋ค์ ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
import torch
from scripts.qwen3_vl_embedding import Qwen3VLEmbedder
model = Qwen3VLEmbedder(
model_name_or_path="OLAIR/OLA-Embed",
torch_dtype=torch.bfloat16,
)
inputs = [
{
"text": "2024๋
์์
์ด์ต์ด ์ฆ๊ฐํ ๊ธฐ์
์ ๊ณต์๋ฅผ ๊ฒ์ํ๋ค.",
"instruction": "๊ฒ์์ ์ฌ์ฉํ ๊ธ์ต ์ง์๋ฅผ ํํํ๋ค.",
},
{
"image": "annual_report_page.png",
"instruction": "๊ฒ์์ ์ฌ์ฉํ ๊ธ์ต ๋ฌธ์ ์ด๋ฏธ์ง๋ฅผ ํํํ๋ค.",
},
]
embeddings = model.process(inputs, normalize=True)
similarities = embeddings @ embeddings.T
print(similarities)
ํ๊ฐ ๊ฒฐ๊ณผ
์๋ ๊ฒฐ๊ณผ๋ TIPS ์ต์ข ๋ณด๊ณ ์์ ํด๋น ๋ณด๊ณ ์์์ ์ฐธ์กฐํ KOLAS ์ํ์ฑ์ ์์ ์์น๋ฅผ ์ฎ๊ธด ๊ฒ์ ๋๋ค. ํ๊ฐ ์ฌํ์ฑ์ ๋์ด๊ธฐ ์ํด ๋๊ฒฐ๋ ํ๊ฐ ๋ฐ์ดํฐ์ ํ์คํฌ๋ณ ์ง์๋ฌธ์ ์ฌ์ฉํ์ต๋๋ค.
์์ด MTEB
ํ๊ฐ๋ ์์ด MTEB 56๊ฐ ํ์คํฌ์ 2๊ฐ ์ด์ค ํ ์คํธ ๋ง์ด๋ ๋ฐ์ดํฐ์ ์ ํฌํจํ๋ฉฐ, ์๋ ๊ฐ์ ํ์คํฌ ์ ํ๋ณ ์ง๊ณ ๊ฒฐ๊ณผ์ ๋๋ค.
| ํ์คํฌ ์ ํ | ์ฃผ์ ์งํ | ๋ชฉํ์น | OLA-Embed |
|---|---|---|---|
| ์ด์ค ํ ์คํธ ๋ง์ด๋ | F1 | >= 0.680 | 0.886 |
| ๋ถ๋ฅ | ์ ํ๋ | >= 0.800 | 0.835 |
| ๊ตฐ์งํ | V-measure | >= 0.500 | 0.516 |
| ์ ๋ถ๋ฅ | AP(์ฝ์ฌ์ธ) | >= 0.880 | 0.886 |
| ์ฌ์ ๋ ฌ | MAP | >= 0.600 | 0.600 |
| ๊ฒ์ | nDCG@10 | >= 0.550 | 0.748 |
| ์๋ฏธ ํ ์คํธ ์ ์ฌ๋ | Spearman(์ฝ์ฌ์ธ) | >= 0.850 | 0.851 |
| ์์ฝ | Spearman(์ฝ์ฌ์ธ) | >= 0.320 | 0.322 |
ํ๊ตญ์ด ๊ฒ์ ๋ฒค์น๋งํฌ
ํ๊ฐ๋ nDCG@10์ ์ฌ์ฉํ๋ ํ๊ตญ์ด ๊ฒ์ ํ์คํฌ 8๊ฐ์ ์ข
ํฉ๊ฐ์ธ Korean Average 1๊ฐ ํ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
| ๋ฐ์ดํฐ์ | ๋ชฉํ์น | OLA-Embed |
|---|---|---|
| Korean Human Judgements | >= 0.980 | 0.996 |
| Korean Dialog Summary | >= 0.930 | 0.976 |
| Korean Summarize AiHub | >= 0.990 | 0.996 |
| Alpaca-Korean | >= 0.850 | 0.977 |
| Korean Grade School Math | >= 0.990 | 0.999 |
| Korean QA Generation | >= 0.900 | 0.935 |
| Korean RLHF | >= 0.950 | 0.983 |
| Korean Law Open Data Precedents | >= 0.950 | 0.988 |
| Korean Average | >= 0.950 | 0.950 |
๋ณด๊ณ ๋ ์ฑ๋ฅ ์ธก์ ์ ์ฌ์ฉํ ํ๊ฐ ๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
M2FEB
OLAIR/M2FEB๋ CC-BY-4.0์ผ๋ก ๊ณต๊ฐ๋ ๊ธ์ต ํนํ ๋ค๊ตญ์ด ๋ฒค์น๋งํฌ์ ๋๋ค. ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํ๊ฐ ๋ฌธํญ 350๊ฐ
- ํ ์คํธยทํ ์ ๋ ฅ ๋ฌธ๋งฅ 700๊ฐ
- A/B ์ ํ์ง ์ธํธ 300๊ฐ
- ๊ธ์ต ๋๋ฉ์ธ 10๊ฐ
- ํ๊ตญ์ด, ์์ด, ์ผ๋ณธ์ด, ๋ฒ ํธ๋จ์ด ๋ฌธํญ
- ๋ฌธํญ๋ณ ์ถ์ฒ ์ถ์ ์ ๋ณด์ ๊ฒ์ฆ๋ ๊ธ์ต ์์น
์ต์ข ๋ณด๊ณ ์๋ M2FEB๋ฅผ ๋ณธ ๊ณผ์ ์ ๊ฐ๋ฐ ๊ฒฐ๊ณผ๋ฌผ๋ก ์ ์ํฉ๋๋ค. ๋ค๋ง ํ์ฌ ๋ณด๊ณ ์์๋ OLA-Embed์ M2FEB ์ ์๊ฐ ํฌํจ๋์ด ์์ง ์์ผ๋ฏ๋ก ์ด ๋ชจ๋ธ ์นด๋์์๋ ํด๋น ์ฑ๋ฅ์ ์ฃผ์ฅํ์ง ์์ต๋๋ค.
์ฌํ์ฑ ์ฐธ๊ณ ์ฌํญ
- ์ ์ฅ์ ๊ธฐ๋ณธ ์ถ๋ ฅ: L2 ์ ๊ทํ๋ 4,096์ฐจ์ ๋ฒกํฐ
- ์ ์ฌ๋: ์ฝ์ฌ์ธ ์ ์ฌ๋
- ๊ธฐ๋ณธ ํ๋กฌํํธ:
Represent the user's input. - ์ ์คํธ๋ฆผ ๋ฐฑ๋ณธ์ 32K ๋ฌธ๋งฅ ๊ธธ์ด๋ฅผ ๋ช ์ํ์ง๋ง ํฌํจ๋ ๋ฉํฐ๋ชจ๋ฌ ๋์ฐ๋ฏธ์ ๊ธฐ๋ณธ๊ฐ์ 8,192ํ ํฐ
- ํ๊ฐ ๋ฆฌ๋น์ ์ ๊ณ ์ ํ๊ณ ๋ชจ๋ธ ๋ฆฌ๋น์ , ํ๋กฌํํธ, ์ฐจ์, ์๋ฃํ, ์ ์ฒ๋ฆฌ ์ค์ ์ ํจ๊ป ๊ธฐ๋ก
- ์คํ ์์ ๋ง๋ค ํ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฌ๊ตฌ์ฑํ์ง ์๋๋ก ๊ณต๊ฐ๋ ๋๊ฒฐ ํ๊ฐ ๋ฐ์ดํฐ ์ฌ์ฉ
ํ๊ณ
- ๋ณด๊ณ ๋ ์ฑ๋ฅ์ ๋ค ๊ฐ์ง ์ค์ ์ธ์ด์ ๊ธ์ต ๋๋ฉ์ธ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ค์ฌ์ผ๋ก ๊ฒ์ฆ๋์์ผ๋ฉฐ, ๋ค๋ฅธ ์ธ์ด์ ๋๋ฉ์ธ์์๋ ๋ณ๋ ํ๊ฐ๊ฐ ํ์ํฉ๋๋ค.
- Qwen3-VL ์ํคํ ์ฒ๋ฅผ ํตํด ์ด๋ฏธ์ง์ ๋น๋์ค๋ฅผ ์๋ฒ ๋ฉํ ์ ์์ง๋ง, ํ์ฌ OLA-Embed ๋ณด๊ณ ์์๋ OLA-Embed ์ ์ฉ ๋ฉํฐ๋ชจ๋ฌ ๋ฒค์น๋งํฌ ์ ์๊ฐ ์์ต๋๋ค.
- ๊ธ์ต ์์น, ๋จ์, ํ๊ณ ๊ธฐ๊ฐ, ์ฆ๊ฐ ๋ฐฉํฅ์ ์๋ฏธ์ ์ผ๋ก ๊ฐ๊น์ฐ๋ฉด์๋ ์๋ก ๋ค๋ฅธ ๋ต์ ์๊ตฌํ ์ ์์ต๋๋ค. ์ด์ ํ๊ฒฝ์์๋ ๋ช ์์ hard-negative ํ ์คํธ๊ฐ ํ์ํฉ๋๋ค.
- OCR ํ์ง, ๊ณ ๋ฐ๋ ํ, ์ ํด์๋ ์คํฌ๋ฆฐ์ท, ๋น์ ํ ๋ฌธ์ ๋ ์ด์์์ ๊ฒ์ ํ์ง์ ๋ฎ์ถ ์ ์์ต๋๋ค.
- ์๋ฒ ๋ฉ ์ฐจ์์ ์ค์ด๋ฉด ์ ์ฅ ๋น์ฉ๊ณผ ์ง์ฐ์๊ฐ์ ๊ฐ์ํ์ง๋ง ๊ฒ์ ์ ํ๋๋ ๋ฌ๋ผ์ง ์ ์์ผ๋ฏ๋ก ์ ํํ ๋ชจ๋ ์ฐจ์์ ๊ฒ์ฆํด์ผ ํฉ๋๋ค.
- BF16 ๊ฐ์ค์น ํ์ผ์ ์คํ ๋ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ธํ๊ณ ์ฝ 16.3GB๋ฅผ ์ฐจ์งํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ฐฐ์น ํฌ๊ธฐ, ๋ฌธ๋งฅ ๊ธธ์ด, ์ด๋ฏธ์ง ํด์๋, ๋น๋์ค ํ๋ ์ ์์ ๋ฐ๋ผ ์ฆ๊ฐํฉ๋๋ค.
- ๋ชจ๋ธ์ ์์ฒ ๋ง๋ญ์น์ ํฌํจ๋ ํธํฅ, ์ค๋ฅ ๋๋ ๋ฏผ๊ฐํ ๋ด์ฉ์ ์ฌํํ ์ ์์ต๋๋ค.
- ์ด ๋ชจ๋ธ์ ์ฌ์ค ์ ํ์ฑ์ ๋ณด์ฅํ์ง ์์ผ๋ฉฐ ๊ธ์ต, ๋ฒ๋ฅ , ํ๊ณ ๋๋ ๊ท์ ๊ฒํ ๋ฅผ ๋์ ํ ์ ์์ต๋๋ค.
์์ ํ๊ณ ์ฑ ์ ์๋ ์ฌ์ฉ
- ํฌ์, ์ ์ฉ, ๋ณดํ, ์ฑ์ฉ ๋๋ ๊ท์ ์ค์ ํ๋จ์ ์ ์ผํ ์์ฌ๊ฒฐ์ ์์คํ ์ผ๋ก ์ฌ์ฉํ์ง ๋ง์ธ์.
- ๊ธฐ๋ฐ ๊ธ์ต ๋ฌธ์๋ฅผ ์์ธํ ๋๋ ์ ๊ทผ ์ ์ด๋ฅผ ์ ์ฉํ์ธ์.
- ์๋ฒ ๋ฉ์ ์ ์ฅํ๊ฑฐ๋ ์ฌ๋ฐฐํฌํ๊ธฐ ์ ์ ์์ฒ ๋ผ์ด์ ์ค์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ์๊ตฌ์ฌํญ์ ํ์ธํ์ธ์.
- ์ค์ ์๋น์ค์ ๊ด๋ จ๋ ์ธ์ด, ๋ฌธ์ ์ ํ, ๊ณ ๊ฐ๊ตฐ, ๊ธฐ๊ฐ๋ณ๋ก ๊ฒ์ ํ์ง์ ํ๊ฐํ์ธ์.
- ์ค๋๋ ๊ณต์, ์ ์ ๊ณต์, ๋จ์ ๋ถ์ผ์น, ๋ ์ง ์ ๋ณด ๋์ถ์ ์ง์์ ์ผ๋ก ์ ๊ฒํ์ธ์.
๊ณต๊ฐ๋์ง ์์ ํ์ตยทํ๊ฒฝ ์ ๋ณด
ํ์ฌ ๊ณต๊ฐ ์๋ฃ์๋ ๋ค์ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ง ์์ต๋๋ค.
- ํ์ต๋ฅ ๋ฐ ์ตํฐ๋ง์ด์ ์ค์ผ์ค
- ์ ์ฒด ๋ฐฐ์น ํฌ๊ธฐ
- ํ์ต ์ํญ ๋๋ ์ต์ ํ ์คํ ์
- ํ์ต ํ๋์จ์ด์ ํ์ต ์๊ฐ
- ์๋์ง ์ฌ์ฉ๋ ๋๋ ํ์ ๋ฐฐ์ถ๋
ํด๋น ์ ๋ณด๊ฐ ํ๋ณด๋๋ฉด ๋ชจ๋ธ ์นด๋์ ์ถ๊ฐํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
๋ผ์ด์ ์ค
OLA-Embed๋ Apache-2.0 ๋ผ์ด์ ์ค๋ก ๋ฐฐํฌ๋ฉ๋๋ค.
์ ์คํธ๋ฆผ Qwen3-VL-Embedding-8B๋ Apache-2.0์ผ๋ก ๊ณต๊ฐ๋์ด ์์ผ๋ฉฐ, M2FEB๋ CC-BY-4.0์ผ๋ก ๊ณต๊ฐ๋์ด ์์ต๋๋ค. ํ์ต ๋ฐ์ดํฐ์ ์์ฒ๋ณ ์ด์ฉ ์กฐ๊ฑด์ ์๋ก ๋ค๋ฅผ ์ ์์ต๋๋ค.
์ธ์ฉ
OLA-Embed๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ๋ชจ๋ธ ์ ์ฅ์๋ฅผ ์ธ์ฉํด ์ฃผ์ธ์.
@misc{olaembed2026,
title = {OLA-Embed},
author = {OneLineAI},
year = {2026},
howpublished = {\url{https://huggingface.co/OLAIR/OLA-Embed}}
}
์ ์คํธ๋ฆผ Qwen3-VL-Embedding ์ฐ๊ตฌ๋ ํจ๊ป ์ธ์ฉํด ์ฃผ์ธ์.
@article{qwen3vlembedding,
title = {Qwen3-VL-Embedding and Qwen3-VL-Reranker: A Unified Framework for State-of-the-Art Multimodal Retrieval and Ranking},
author = {Li, Mingxin and Zhang, Yanzhao and Long, Dingkun and Chen, Keqin and Song, Sibo and Bai, Shuai and Yang, Zhibo and Xie, Pengjun and Yang, An and Liu, Dayiheng and Zhou, Jingren and Lin, Junyang},
journal = {arXiv preprint arXiv:2601.04720},
year = {2026}
}
๋ฌธ์
์ฐ๊ตฌ๊ฐ๋ฐ ๋ฐฐ๊ฒฝ
OLA-Embed๋ ๊ธ์ต ํนํ ๋ฉํฐ๋ชจ๋ฌยท๋ค๊ตญ์ด ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ์ ์ฉํ ๊ธ์ต ์์ฑํ AI ์๋ฃจ์ ๊ฐ๋ฐ์ ๋ชฉํ๋ก ํ๋ TIPS ์ฐ๊ตฌ๊ฐ๋ฐ ๊ณผ์ ์ ๊ฒฐ๊ณผ๋ฌผ๋ก ๊ฐ๋ฐ๋์์ต๋๋ค.