Hugging Face Hub 中的 Sentence Transformers
在過去的幾周裡,我們與機器學習生態系統中的許多開源框架建立了合作。其中一個讓我們特別興奮的是 Sentence Transformers。
Sentence Transformers 是一個用於句子、段落和影像嵌入的框架。它允許派生語義上有意義的嵌入 (1),這對於語義搜尋或多語言零樣本分類等應用非常有用。作為 Sentence Transformers v2 版本的一部分,有許多很酷的新功能
Hub 中有 90 多個預訓練的 Sentence Transformers 模型,支援 100 多種語言,任何人都可以從中受益並輕鬆使用它們。預訓練模型可以通過幾行程式碼直接載入和使用
from sentence_transformers import SentenceTransformer
sentences = ["Hello World", "Hallo Welt"]
model = SentenceTransformer('sentence-transformers/paraphrase-MiniLM-L6-v2')
embeddings = model.encode(sentences)
print(embeddings)
不僅如此。人們可能還希望輕鬆演示他們的模型或玩轉其他模型,所以我們很高興地宣佈在 Hub 中釋出兩個新元件!第一個是 `feature-extraction` 元件,它顯示句子嵌入。
sentence-transformers/distilbert-base-nli-max-tokens
但是看到一堆數字可能對您來說不太有用(除非您能快速理解嵌入,那將令人印象深刻!)。我們還在引入一個新元件,用於 Sentence Transformers 的常見用例:計算句子相似度。
當然,除了元件之外,我們還在推理 API 中提供了 API 端點,您可以使用它們以程式設計方式呼叫您的模型!
import json
import requests
API_URL = "https://api-inference.huggingface.co/models/sentence-transformers/paraphrase-MiniLM-L6-v2"
headers = {"Authorization": "Bearer YOUR_TOKEN"}
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
data = query(
{
"inputs": {
"source_sentence": "That is a happy person",
"sentences": [
"That is a happy dog",
"That is a very happy person",
"Today is a sunny day"
]
}
}
)
釋放共享的力量
那麼,這為什麼如此強大呢?在幾分鐘內,您可以與整個社群共享您訓練過的模型。
from sentence_transformers import SentenceTransformer
# Load or train a model
model.save_to_hub("my_new_model")
現在您將在 Hub 中擁有一個儲存庫,用於託管您的模型。系統會自動建立一個模型卡。它透過列出層來描述架構,並展示如何同時使用 `Sentence Transformers` 和 `🤗 Transformers` 來使用模型。您還可以立即試用元件並使用推理 API!
如果這還不夠令人興奮,您的模型還可以透過篩選所有 `Sentence Transformers` 模型來輕鬆發現。
接下來呢?
展望未來,我們希望使這種整合更有用。在我們的路線圖中,我們期望訓練和評估資料將包含在自動建立的模型卡中,就像 `transformers` v4.8 版本中的情況一樣。
那您接下來呢?我們非常期待您的貢獻!如果您已經在 Hub 中有一個 `Sentence Transformer` 儲存庫,您現在可以透過更改模型卡元資料來啟用元件和推理 API。
---
tags:
- sentence-transformers
- sentence-similarity # Or feature-extraction!
---
如果您在 Hub 中沒有任何模型,並且想了解更多關於 Sentence Transformers 的資訊,請訪問 www.SBERT.net!
您想將您的庫整合到 Hub 中嗎?
這種整合得益於 `huggingface_hub` 庫,它包含了我們所有支援的庫的所有元件和 API。如果您想將您的庫整合到 Hub 中,我們為您準備了指南!
參考文獻
- Sentence-BERT: 使用 Siamese BERT 網路的句子嵌入。 https://arxiv.org/abs/1908.10084