見出し画像

Huggingface Transformers 入門 (33) -Sentence Transformers

以下の記事を参考にして書いてます。

Sentence Transformers in the Hugging Face Hub

前回

1. はじめに

ここ数週間にわたって、機械学習エコシステム内の多くのオープンソースフレームワークとのコラボレーションを構築してきました。 私たちを特に興奮させているのは「SentenceTransformers」です。

2. Sentence Transformers

Sentence Transformers」は、文、段落、画像のベクトル化を行うためのフレームワークです。 これにより、「セマンティック検索」や「多言語Zero-shot分類」などのアプリケーションを構築することができます。

Sentence Transformers v2」のリリースの一部として、多くの優れた新機能が提供されています。

・HubでSentence Transformersモデルを検索。
・ウィジェットと推論API
・モデルをHubに保存

3. HubでSentence Transformersモデルを検索

Hubには100を超える言語用の90を超える事前学習済みSentence Transformersモデルがあり、数行のコードで直接ロードして使用できます。

from sentence_transformers import SentenceTransformer
sentences = ["Hello World", "Hallo Welt"]

model = SentenceTransformer('sentence-transformers/paraphrase-MiniLM-L6-v2')
embeddings = model.encode(sentences)
print(embeddings)

4. ウィジェットと推論API

2つの新しいウィジェットがリリースされました。1つ目は、「文のベクトル化」のウィジェットです。

画像1

2つ目は、「文の類似度」のウィジェットです。

画像2

プログラムからモデルを呼び出すことができる推論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"
            ]
        }
    }
)

5. モデルをHubに保存

学習したモデルを数分でHubに保存しコミュニティ全体で共有できます。この時、モデルカードも自動生成されます。

from sentence_transformers import SentenceTransformer

# Load or train a model

model.save_to_hub("my_new_model")

6. 今後のロードマップ

今後は、この統合をさらに便利にしたいと考えています。ロードマップでは、学習と評価のデータが自動的に作成されたモデルカードに含まれることを期待しています。

私たちはあなたの貢献を見てとても興奮しています。Hubにすでにリポジトリがある場合は、モデルカードのメタデータを変更することで、ウィジェットと推論APIを有効にできるようになりました

---
tags:
 - sentence-transformers
 - sentence-similarity # Or feature-extraction!
---

Hubにモデルがなく、Sentence Transformersについて詳しく知りたい場合は、www.SBERT.netにアクセスしてください。

次回



この記事が気に入ったらサポートをしてみませんか?