Ziel des UNIEM -Projekts ist es, das beste universelle Texteinbettungsmodell auf Chinesisch zu erstellen.
Dieses Projekt enthält hauptsächlich Modelltraining, Feinabstimmung und Bewertungscode. Modelle und Datensätze werden in der Huggingface -Community offen bezogen.
FineTuner auch die Feinabstimmung von sentence_transformers , text2vec und anderen Modellen. Es unterstützt auch das SGPT -Training von GPT -Serienmodellen und das Präfix -Tuning. Die durch Fünfer initialisierte API hat sich geringfügig ändern und kann nicht mit 0.2.0 kompatibel seinFineTuner , um die Feinabstimmung von Modellen mit nativem Support, einige Codezeilen, sofortige Anpassung zu unterstützen!openai text-embedding-ada-002 sind. Weitere Informationen finden Sie unter M3E -Models Readme. Die Modelle der M3E-Serien sind vollständig mit Satztransformer kompatibel. Sie können M3E-Modelle in allen Projekten nahtlos verwenden, die Satztransformer unterstützen, indem Sie den Modellnamen wie Chroma, Leitfaden und semantisches Kernel ersetzen .
Installieren
pip install sentence-transformersverwenden
from sentence_transformers import SentenceTransformer
model = SentenceTransformer ( "moka-ai/m3e-base" )
embeddings = model . encode ([ 'Hello World!' , '你好,世界!' ]) uniem bietet eine sehr benutzerfreundliche Finetune-Schnittstelle mit einigen Codezeilen und sofortiger Anpassung!
from datasets import load_dataset
from uniem . finetuner import FineTuner
dataset = load_dataset ( 'shibing624/nli_zh' , 'STS-B' )
# 指定训练的模型为 m3e-small
finetuner = FineTuner . from_pretrained ( 'moka-ai/m3e-small' , dataset = dataset )
finetuner . run ( epochs = 3 )Weitere Informationen zu Feinabstimmungsmodellen finden Sie unter Uniem Fine-Tuning-Tutorial oder
Wenn Sie lokal ausführen möchten, müssen Sie den folgenden Befehl ausführen, um die Umgebung vorzubereiten
conda create -n uniem python=3.10
pip install uniemDem chinesischen Einbettungsmodell fehlt ein einheitlicher Bewertungsstandard, daher beziehen wir uns auf MTEB und konstruierten den chinesischen Bewertungsstandard MTEB-ZH. Derzeit wurden 6 Modelle horizontal an verschiedenen Datensätzen bewertet. Ausführliche Bewertungsmethoden und -codes finden Sie unter mteb-zh.
| text2Vec | M3E-Small | M3E-Base | M3E-Large-0619 | Openai | Dmetasoul | Uer | Erlangshen | |
|---|---|---|---|---|---|---|---|---|
| Tnews | 0,43 | 0,4443 | 0,4827 | 0,4866 | 0,4594 | 0,3084 | 0,3539 | 0,4361 |
| JDiphone | 0,8214 | 0,8293 | 0,8533 | 0,8692 | 0,746 | 0,7972 | 0,8283 | 0,8356 |
| Gubaeastmony | 0,7472 | 0,712 | 0,7621 | 0,7663 | 0,7574 | 0,735 | 0,7534 | 0,7787 |
| Tyqsentiment | 0,6099 | 0,6596 | 0,7188 | 0,7247 | 0,68 | 0,6437 | 0,6662 | 0,6444 |
| Stockcomsentiment | 0,4307 | 0,4291 | 0,4363 | 0,4475 | 0,4819 | 0,4309 | 0,4555 | 0,4482 |
| Iflytek | 0,414 | 0,4263 | 0,4409 | 0,4445 | 0,4486 | 0,3969 | 0,3762 | 0,4241 |
| Durchschnitt | 0,5755 | 0,5834 | 0,6157 | 0,6231 | 0,5956 | 0,552016667 | 0,57225 | 0,594516667 |
| text2Vec | Openai-ada-002 | M3E-Small | M3E-Base | M3E-Large-0619 | Dmetasoul | Uer | Erlangshen | |
|---|---|---|---|---|---|---|---|---|
| Karte@1 | 0,4684 | 0,6133 | 0,5574 | 0,626 | 0,6256 | 0,25203 | 0,08647 | 0,25394 |
| Karte@10 | 0,5877 | 0,7423 | 0,6878 | 0,7656 | 0,7627 | 0,33312 | 0,13008 | 0,34714 |
| MRR@1 | 0,5345 | 0,6931 | 0,6324 | 0,7047 | 0,7063 | 0,29258 | 0,10067 | 0,29447 |
| MRR@10 | 0,6217 | 0,7668 | 0,712 | 0,7841 | 0,7827 | 0,36287 | 0,14516 | 0,3751 |
| NDCG@1 | 0,5207 | 0,6764 | 0,6159 | 0,6881 | 0,6884 | 0,28358 | 0,09748 | 0,28578 |
| NDCG@10 | 0,6346 | 0,7786 | 0,7262 | 0,8004 | 0,7974 | 0,37468 | 0,15783 | 0,39329 |
Wenn Sie MTEB-ZH Evaluierungsdatensätze oder Modelle hinzufügen möchten, können Sie sich gerne oder PR ausgeben. Ich werde Sie so schnell wie möglich unterstützen und freue mich auf Ihren Beitrag!
UNIEM ist unter der Lizenz Apache-2.0 lizenziert. Weitere Informationen finden Sie in der Lizenzdatei.
Bitte zitieren Sie dieses Modell mit dem folgenden Format:
@Software {Moka Massive gemischte Einbettung, Autor = {Wang Yuxin, Sun qingxuan, He Sicheng}, Titel = {M3E: Moka Massive gemischtem Einbettungsmodell}, Jahr = {2023}}}