🚀 Monarch Mixer-BERT
Monarch Mixer-BERTは、M2-BERTの80Mチェックポイントで、シーケンス長32768で事前学習され、長文脈検索用にファインチューニングされています。
🚀 クイックスタート
このモデルについて詳しくは、論文 Monarch Mixer: A Simple Sub-Quadratic GEMM-Based Architecture と、長シーケンスの学習方法に関するブログ記事を参照してください。このモデルは、Jon Saad-Falcon、Dan Fu、Simran Aroraによって学習されました。モデルのダウンロードとファインチューニングの手順については、GitHub をチェックしてください。
💻 使用例
基本的な使用法
Hugging Faceの AutoModel
を使用してこのモデルをロードすることができます。
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained(
"togethercomputer/m2-bert-80M-32k-retrieval",
trust_remote_code=True
)
FlashFFTConvに関する未使用パラメータについての大きなエラーメッセージが表示されることが予想されます。FlashFFTConvでモデルをロードする場合は、GitHub を参照してください。
高度な使用法
このモデルは検索用の埋め込みを生成します。埋め込みの次元数は768です。
from transformers import AutoTokenizer, AutoModelForSequenceClassification
max_seq_length = 32768
testing_string = "Every morning, I make a cup of coffee to start my day."
model = AutoModelForSequenceClassification.from_pretrained(
"togethercomputer/m2-bert-80M-32k-retrieval",
trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(
"bert-base-uncased",
model_max_length=max_seq_length
)
input_ids = tokenizer(
[testing_string],
return_tensors="pt",
padding="max_length",
return_token_type_ids=False,
truncation=True,
max_length=max_seq_length
)
outputs = model(**input_ids)
embeddings = outputs['sentence_embedding']
また、Together APIを使用してこのモデルから埋め込みを取得することもできます(APIキーはここから取得できます)。
import os
import requests
def generate_together_embeddings(text: str, model_api_string: str, api_key: str):
url = "https://api.together.xyz/api/v1/embeddings"
headers = {
"accept": "application/json",
"content-type": "application/json",
"Authorization": f"Bearer {api_key}"
}
session = requests.Session()
response = session.post(
url,
headers=headers,
json={
"input": text,
"model": model_api_string
}
)
if response.status_code != 200:
raise ValueError(f"Request failed with status code {response.status_code}: {response.text}")
return response.json()['data'][0]['embedding']
print(generate_together_embeddings(
'Hello world',
'togethercomputer/m2-bert-80M-32k-retrieval',
os.environ['TOGETHER_API_KEY'])[:10]
)
📄 謝辞
Alycia LeeがAutoModelのサポートに協力してくれました。
📚 引用
このモデルを使用した場合、または当社の研究が役立った場合は、以下のように引用してください。
@inproceedings{fu2023monarch,
title={Monarch Mixer: A Simple Sub-Quadratic GEMM-Based Architecture},
author={Fu, Daniel Y and Arora, Simran and Grogan, Jessica and Johnson, Isys and Eyuboglu, Sabri and Thomas, Armin W and Spector, Benjamin and Poli, Michael and Rudra, Atri and R{\'e}, Christopher},
booktitle={Advances in Neural Information Processing Systems},
year={2023}
}
属性 |
詳情 |
パイプラインタグ |
文の類似度 |
推論 |
false |
ライセンス |
apache-2.0 |