O objetivo do projeto Uniem é criar o melhor modelo de incorporação de texto universal em chinês.
Este projeto inclui principalmente o código de treinamento, ajuste fino e avaliação. Modelos e conjuntos de dados serão de origem aberta na comunidade Huggingface.
FineTuner também suporta o ajuste fino de sentence_transformers , text2vec e outros modelos. Ele também suporta treinamento SGPT de modelos da série GPT e ajuste de prefixo. A API inicializada por Finetuner passou por pequenas mudanças e não pode ser compatível com 0.2.0FineTuner para apoiar o modelo de ajuste fino com suporte nativo, algumas linhas de código, adaptação instantânea !openai text-embedding-ada-002 na classificação de texto chinesa e recuperação de texto. Para detalhes, consulte os modelos M3E ReadMe. Os modelos da série M3E são totalmente compatíveis com os transformadores de frases. Você pode usar os modelos M3E sem problemas em todos os projetos que suportam transformadores de sentenças, substituindo o nome do modelo , como croma, orientação, semântico-kernel.
Instalar
pip install sentence-transformersusar
from sentence_transformers import SentenceTransformer
model = SentenceTransformer ( "moka-ai/m3e-base" )
embeddings = model . encode ([ 'Hello World!' , '你好,世界!' ]) uniem fornece uma interface Finetune muito fácil de usar, com algumas linhas de código, adaptação instantânea!
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 )Para detalhes sobre modelos de ajuste fino, consulte o tutorial de ajuste fino da Uniem ou
Se você deseja executar localmente, precisa executar o seguinte comando para preparar o ambiente
conda create -n uniem python=3.10
pip install uniemO modelo de incorporação chinês carece de um padrão de avaliação unificado, por isso nos referimos ao MTEB e construímos o padrão de avaliação chinês MTEB-ZH. Atualmente, 6 modelos foram avaliados horizontalmente em vários conjuntos de dados. Para métodos e códigos de avaliação detalhados, consulte o 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 |
| Média | 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 | |
|---|---|---|---|---|---|---|---|---|
| mapa@1 | 0,4684 | 0,6133 | 0,5574 | 0,626 | 0,6256 | 0,25203 | 0,08647 | 0,25394 |
| mapa@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 |
Se você deseja adicionar conjuntos de dados ou modelos de avaliação ao MTEB-ZH, sinta-se à vontade para emitir ou PR. Vou apoiá -lo o mais rápido possível e aguardarei sua contribuição!
A UNIEM é licenciada sob a licença Apache-2.0. Consulte o arquivo de licença para obter mais detalhes.
Cite este modelo usando o seguinte formato:
@Software {Moka MisSive Mixed Incoredding, Author = {Wang Yuxin, Sun Qingxuan, ele Sicheng}, Title = {m3e: MOKA Modelo de incorporação mista maciço}, ano = {2023}}