데이터 중심 AI용 벡터 데이터베이스(2부)

QDrant, Hugging-Face 및 Streamlit으로 애플리케이션 구축.

이 기사는 여기에도 있습니다.
  • https://medium.com/@george.pearse

  • QDrant는 우수한 벡터 데이터베이스를 만들었으며 ML 엔지니어는 잠재적인 응용 프로그램을 긁기 시작했다고 생각합니다.

    벡터 데이터베이스는 하이브리드 유사성 검색을 지원하고 CRUD API를 제공하여 데이터 세트에 대한 업데이트를 실행합니다. 이들은 매우 고성능의 메모리 내 벡터 검색을 가능하게 하지만 업데이트 흐름이나 메타데이터 필터를 거의 지원하지 않는 Faiss 및 Annoy와 같은 1세대 Approximate Nearest Neighbor 도구에 비해 크게 개선되었습니다.

    Hybrid search is vector or "semantic" search combined with attribute filtering.



    QDrant에 의해 구현된 시맨틱 검색에는 긍정 및 부정 예제 목록이 필요합니다. 각각의 긍정적인 데이터 포인트는 응답이 유사하기를 원하는 것의 예이고, 각각의 부정적인 데이터 포인트는 응답이 달라지기를 원하는 것의 예입니다.

    이를 통해 기능 공간 내에서 임의로 복잡한 결정 경계를 구축할 수 있습니다.
    QDrant 쿼리의 예:

    {"positive": [0],    
    "negative": [1],    
    "top": 10,   
    "with_payload": true}
    

    이렇게 하면 클래스의 대화식 정의가 가능합니다.
  • 단일 양성 데이터 포인트로 시작합니다.
  • 응답을 살펴보십시오.
  • 양성 목록과 유사하다고 생각하는 항목을 추가합니다
  • .
  • 네거티브 목록에 다르다고 생각하는 항목을 추가합니다
  • .
  • 새 쿼리를 실행하고 반복합니다.

  • 일련의 레이블 지정 후에는 임베딩을 개선하고 '더 나은' 분리된 데이터 세트로 프로세스를 계속할 수 있는 위치에 있게 됩니다(다음에 이에 대해 더 많이 실험하겠습니다).

    저는 이 흐름을 지원하고 완료된 각 쿼리를 해당 결과가 포함된 CSV와 함께 저장할 수 있도록 하는 미니 Streamlit 애플리케이션을 구축했습니다.

    QDrant-NLP. 짧은 데모




    실행 방법



    저장소를 복제하십시오QDrant-NLP.
    실행:docker-compose up
    GPU 지원 람다 함수를 사용하거나 많은 예제 데이터 세트를 S3에 저장하여 시도할 수 있는 데이터 세트의 수를 늘리고 싶습니다. 지금까지 저는 ag_news의 6K 하위 집합만 사용할 수 있도록 만들었습니다. ag_news · Hugging Face의 데이터 세트
    다음은 포옹 얼굴을 통해 임베딩을 생성하는 데 사용되는 코드 스니펫입니다.

    임베딩은 이 코드 스니펫으로 생성되었습니다.




    사용처



    Kern.AI(훌륭한 오픈 소스 NLP 라벨링 도구)에게 찬사를 보냅니다.

    https://github.com/code-kern-ai/refinery

    및 Voxel51(뛰어난 오픈 소스 Computer Vision 분석 도구)

    https://github.com/voxel51/fiftyone

    그들의 플랫폼에서 기술의 얼리 어답터가 되었지만 아직 그것이 제공할 수 있는 모든 가치를 활용하지 못했다고 생각합니다.

    좋은 웹페이지 즐겨찾기