HKU NLP / instructor-large
작업: 임베딩
형태: 텍스트
유사성 측정법: 코사인
라이선스: Apache 2.0
차원: 768
최대 입력 토큰: 512
가격: 무료
강사 모델 제품군 소개 ## 강사 모델 제품군 소개
NKU NLP의 Instructor 모델은 지침에 따라 미세 조정된 텍스트 임베딩 모델입니다. 별도의 미세 조정이 필요 없이 작업 지침만 제공하면 다양한 도메인(과학, 금융 등)에서 작업별 임베딩(분류, 검색, 클러스터링, 텍스트 평가 등)을 생성할 수 있습니다. 70개의 임베딩 작업에 대한 최첨단 결과를 설정했습니다!
교수자 모델 작동 방식 그림](https://assets.zilliz.com/Figure_How_the_Instructor_Model_works_2b174dc8aa.png)
그림: 강사 모델의 작동 방식(NKU NLP 이미지)
강사 모델은 세 가지 변형이 있습니다: [instructor-base](인스트럭터 베이스), instructor-xl, instructor-large 각 버전은 다양한 임베딩 요구에 맞게 서로 다른 수준의 성능과 확장성을 제공합니다.
인스트럭터-라지 소개
인스트럭터-라지는 인스트럭터 모델 제품군에서 중간 크기의 텍스트 임베딩 모델입니다. 추가적인 미세 조정 없이 자연어 지침을 제공하여 작업별 및 도메인 맞춤형 텍스트 임베딩을 생성할 수 있습니다. 모든 작업(예: 분류, 검색, 클러스터링, 텍스트 평가 등) 및 도메인(예: 과학, 금융 등)에 이상적입니다. 강사-대형은 MTEB 벤치마크에서 70개의 다양한 임베딩 작업에서 SOTA를 달성했습니다.
강사-기반보다는 성능이 좋지만 강사-xl보다는 성능이 떨어집니다.
강사-기반, 강사-xl, 강사-대형 비교 ### 강사-기반, 강사-대형 비교:
| 기능 | instructor-base | instructor-large | instructor-xl | |
|---|---|---|---|---|
| 매개변수 크기 | 8600만 | 3억 3500만 | 15억 | |
| 임베딩 차원 | 768 | 768 | 768 | 768 |
| Avg. MTEB 점수 | 55.9 | 58.4 | 58.8 |
강사-대형 모델로 벡터 임베딩을 만드는 방법
벡터 임베딩을 만들 때는 '강사 임베딩' 라이브러리를 사용하는 것이 좋습니다.
벡터 임베딩이 생성되면 밀버스에서 제공하는 완전 관리형 벡터 데이터베이스 서비스인 질리즈 클라우드에 저장하여 의미적 유사도 검색에 사용할 수 있습니다. 다음은 네 가지 주요 단계입니다:
- 질리즈 클라우드 계정을 무료로 가입합니다.
- 서버리스 클러스터 설정](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) 및 퍼블릭 엔드포인트 및 API 키를 발급받습니다.
- 벡터 컬렉션을 생성하고 벡터 임베딩을 삽입합니다.
- 저장된 임베딩에 대해 시맨틱 검색을 실행합니다.
인스트럭터 임베딩 라이브러리를 통해 벡터 임베딩을 생성하고 질리즈 클라우드에 삽입하여 시맨틱 검색을 진행합니다.
강사 임베딩에서 INSTRUCTOR를 가져옵니다.
pymilvus에서 MilvusClient를 가져옵니다.
model = INSTRUCTOR('hkunlp/instructor-large')
docs = [["검색할 위키백과 문서를 나타냅니다: ", "인공 지능은 1956년에 학문 분야로 설립되었습니다."]],
["검색할 위키백과 문서를 나타냅니다: ","앨런 튜링은 인공지능 분야에서 실질적인 연구를 수행한 최초의 인물입니다."],
["검색할 위키백과 문서를 나타냅니다: ","런던의 메이다 베일에서 태어난 튜링은 잉글랜드 남부에서 자랐습니다."]]]
# 문서에 대한 임베딩 생성
docs_embeddings = model.encode(docs, normalize_embeddings=True)
queries = [["지원 문서를 검색하기 위한 위키백과 질문을 나타냅니다: ", "인공 지능은 언제 설립되었나요"],
["지원 문서를 검색하기 위한 위키백과 질문을 나타냅니다: ","앨런 튜링은 어디에서 태어났나요?"]]]
# 쿼리에 대한 임베딩 생성하기
query_embeddings = model.encode(queries, normalize_embeddings=True)
# 퍼블릭 엔드포인트와 API 키로 질리즈 클라우드에 연결하기
client = 밀버스클라이언트(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
컬렉션 = "문서"
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
client.create_collection(
collection_name=COLLECTION,
dimension=768,
auto_id=True)
문서의 경우 zip(docs, docs_embeddings)에 임베딩합니다:
client.insert(COLLECTION, {"text": doc, "vector": embedding})
results = client.search(
collection_name=COLLECTION,
data = 쿼리_임베딩,
일관성_레벨="강함",
output_fields=["text"])
원활한 AI 워크플로
임베딩부터 확장 가능한 AI 검색까지—Zilliz Cloud를 사용하면 비교할 수 없는 속도와 효율성으로 임베딩을 저장, 인덱싱 및 검색할 수 있습니다.
Zilliz Cloud를 무료로 사용해 보세요

