Hugging Face Hub 中的 Sentence Transformers

釋出於 2021 年 6 月 28 日
在 GitHub 上更新

在過去的幾周裡,我們與機器學習生態系統中的許多開源框架建立了合作。其中一個讓我們特別興奮的是 Sentence Transformers。

Sentence Transformers 是一個用於句子、段落和影像嵌入的框架。它允許派生語義上有意義的嵌入 (1),這對於語義搜尋或多語言零樣本分類等應用非常有用。作為 Sentence Transformers v2 版本的一部分,有許多很酷的新功能

  • 在 Hub 中輕鬆共享模型。
  • 用於句子嵌入和句子相似度的元件和推理 API。
  • 提供了更好的句子嵌入模型(Hub 中的基準模型)。

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
託管推理 API
特徵提取
此模型目前已載入並在推理 API 上執行。

但是看到一堆數字可能對您來說不太有用(除非您能快速理解嵌入,那將令人印象深刻!)。我們還在引入一個新元件,用於 Sentence Transformers 的常見用例:計算句子相似度。

sentence-transformers/paraphrase-MiniLM-L6-v2
託管推理 API
句子相似度
此模型可以按需載入到推理 API 上。

當然,除了元件之外,我們還在推理 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 中,我們為您準備了指南

參考文獻

  1. Sentence-BERT: 使用 Siamese BERT 網路的句子嵌入。 https://arxiv.org/abs/1908.10084

社群

註冊登入評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.