Uniem 프로젝트의 목표는 중국어로 최고의 보편적 텍스트 임베딩 모델을 만드는 것입니다.
이 프로젝트에는 주로 모델 교육, 미세 조정 및 평가 코드가 포함됩니다. 모델과 데이터 세트는 Huggingface 커뮤니티에서 공개됩니다.
FineTuner sentence_transformers , text2vec 및 기타 모델의 미세 조정을 지원합니다. 또한 GPT 시리즈 모델의 SGPT 교육 및 접두사 튜닝을 지원합니다. FinetUner에 의해 초기화 된 API는 약간의 변화를 겪었으며 0.2.0과 호환 될 수 없습니다.FineTuner 구현했습니다!openai text-embedding-ada-002 보다 낫습니다. 자세한 내용은 M3E Models ReadMe를 참조하십시오. M3E 시리즈 모델은 문장 변환기와 완전히 호환됩니다. Chroma, Guidance, Semantic Kernel과 같은 모델 이름을 대체하여 문장 변환기를 지원하는 모든 프로젝트에서 M3E 모델을 원활하게 사용할 수 있습니다.
설치하다
pip install sentence-transformers사용
from sentence_transformers import SentenceTransformer
model = SentenceTransformer ( "moka-ai/m3e-base" )
embeddings = model . encode ([ 'Hello World!' , '你好,世界!' ]) uniem 몇 줄의 코드 라인 인 Instant Adaptation과 함께 매우 사용하기 쉬운 Finetune 인터페이스를 제공합니다!
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 )미세 조정 모델에 대한 자세한 내용은 Uniem 미세 조정 자습서 또는
로컬로 실행하려면 환경을 준비하려면 다음 명령을 실행해야합니다.
conda create -n uniem python=3.10
pip install uniem중국 임베딩 모델에는 통일 된 평가 표준이 없으므로 MTEB를 참조하고 중국 평가 표준 MTEB-ZH를 구성했습니다. 현재, 6 개의 모델이 다양한 데이터 세트에서 수평으로 평가되었습니다. 자세한 평가 방법 및 코드는 MTEB-ZH를 참조하십시오.
| Text2vec | m3e-small | M3E-베이스 | 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 |
| 평균 | 0.5755 | 0.5834 | 0.6157 | 0.6231 | 0.5956 | 0.552016667 | 0.57225 | 0.594516667 |
| Text2vec | OpenAi-adA-002 | m3e-small | M3E-베이스 | M3E-LARGE-0619 | dmetasoul | uer | Erlangshen | |
|---|---|---|---|---|---|---|---|---|
| 지도@1 | 0.4684 | 0.6133 | 0.5574 | 0.626 | 0.6256 | 0.25203 | 0.08647 | 0.25394 |
| 지도@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 |
MTEB-ZH에 평가 데이터 세트 또는 모델을 추가하려면 자유롭게 발행하거나 PR을 받으십시오. 가능한 빨리 당신을 지원하고 당신의 기여를 기대합니다!
UNIEM은 Apache-2.0 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
다음 형식을 사용 하여이 모델을 인용하십시오.
@Software {Moka Massive Mixed Embedding, author = {Wang Yuxin, Sun Qingxuan, He Sicheng}, title = {M3E : Moka Massive Mixed Embedding Model}, Year = {2023}}