MinishLab/model2vec

Fast State-of-the-Art Static Embeddings

Model2Vec – 快速、小型的靜態嵌入模型

是什麼 – Model2Vec 是一個 Python 庫,可將任意 句子轉換器(一種為整個句子產生向量的神經網路模型)轉換為 靜態嵌入 模型。靜態模型為每個詞元(詞片/子詞)儲存固定向量,因此可做到 非常小(8–30 MB)且 極快(在 CPU 上最多快 500 倍),同時在標準基準測試套件上仍能提供最尖端的品質。


主要功能(如 README 所述)

功能 對你的意義
尺寸縮減 比原始句子轉換器小最多 50 倍(例如,一個 32M 參數模型在磁碟上變為約 30MB)。
速度 推理可在 CPU 上快數百倍,因為模型只需查找詞元向量,而無需執行完整變換器。
零資料蒸餾 無需訓練語料庫,僅需約 30 秒即可在 CPU 上從任何現有句子轉換器建立 Model2Vec 模型。
分類用微調 蒸餾後,可在靜態向量之上進一步訓練輕量級分類器,用於自訂任務。
輕量依賴 核心套件僅依賴 numpy;可選擴充加入蒸餾(model2vec[distill])與訓練(model2vec[train])。
整合 可直接用於流行的生態系統,如 Sentence-TransformersLangChain,模型託管於 Hugging Face Hub 上,支援 from_pretrained 快速載入。
開源且 MIT 許可 可自由使用、修改與嵌入商業專案。

典型應用場景

  • 檢索 / RAG – 用於建構相似性搜尋索引的快速詞元級嵌入。
  • 文字分類 – 在靜態向量之上訓練輕量級分類器。
  • 聚類 / 可視化 – 低成本計算大規模語料庫的嵌入。
  • 低資源部署 – 在記憶體/CPU 有限的邊緣裝置或伺服器上嵌入。

快速開始(來自 README)

# 安裝核心套件(僅需 numpy)
pip install model2vec
from model2vec import StaticModel

# 從 Hugging Face 加載預蒸餾模型
model = StaticModel.from_pretrained("minishlab/potion-base-32M")

# 取得句子嵌入
emb = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])

# 或取得詞元級嵌入
token_emb = model.encode_as_sequence(["It's dangerous to go alone!"])

蒸餾你自己的模型(可選,需 distill 擴充):

pip install model2vec[distill]
from model2vec.distill import distill
m2v = distill(model_name="BAAI/bge-base-en-v1.5")   # CPU 上約 30 秒
m2v.save_pretrained("my_m2v_model")

用於分類的微調(需 train 擴充):

pip install model2vec[train]
from model2vec.train import StaticModelForClassification
from datasets import load_dataset

clf = StaticModelForClassification.from_pretrained("minishlab/potion-base-32M")
ds = load_dataset("setfit/subj")
clf.fit(ds["train"]["text"], ds["train"]["label"])
report = clf.evaluate(ds["test"]["text"], ds["test"]["label"])

模型目錄(摘錄)

模型 語言 基底句子轉換器 參數量 典型任務
potion-base-32M 英語 bge-base-en-v1.5 32M 通用用途
potion-multilingual-128M 多語言 bge-m3 128M 通用用途
potion-retrieval-32M 英語 bge-base-en-v1.5 32M 檢索
potion-base-8M 英語 bge-base-en-v1.5 7.5M 通用用途(最小)
potion-code-16M-v2 程式碼 CodeRankEmbed 16M 程式碼嵌入
所有模型均託管於 Hugging Face Hub 上,可透過 StaticModel.from_pretrained 載入。

文件與社群


許可與引用

  • 許可證 – MIT(寬鬆,適合商業使用)。
  • 引用 – 提供 BibTeX 項目供學術用途。

總結

Model2Vec 在保留現代基於變換器的句子編碼器品質的同時,兼具經典靜態嵌入(如 GloVe)的速度與尺寸優勢。它是任何需要快速、低記憶體文字表示的人的實用工具,特別適用於檢索增強生成、裝置端 NLP 或大規模索引場景。

相關