[AI 모델 탐험기] #9 Jina : Neural Search Framework
[편집자주] 본 글은 커먼컴퓨터에서 Developer Relations Engineer를 맡고 있는 성창엽님이 오픈소스 AI모델을 정리하고 인사이트를 공유하는 글로 시리즈로 기획돼 발행되고 있습니다. 아홉번째 글은 비디오, 이미지, 텍스트, 음악, 소스 코드, PDF 등 다양한 종류의 데이터에 대한 대규모 인덱싱 및 쿼리를 제공하는 Jina라는 Neural Search Framework에 대한 소개입니다.
AI 네트워크 커뮤니티 여러분 안녕하세요!
제가 오늘 소개드릴 것은 Jina입니다.
Jina는 Neural Search Framework로 비디오, 이미지, 텍스트, 음악, 소스 코드, PDF 등 다양한 종류의 데이터에 대한 대규모 인덱싱 및 쿼리를 제공합니다. Jina를 활용한 예제 중 텍스트를 입력하거나 이미지를 넣어, 텍스트에 해당하는 사진을 얻거나 이미지에 대한 설명을 얻을 수 있는 모델인 Cross-Modal Search System의 사용법을 소개해드릴 예정입니다.
프로젝트를 바로 확인해 보시고 싶으신 분은 다음 링크를 참조해주세요.
Jina Demo : https://link.ainize.ai/3fCyHdl
Jina Github : https://link.ainize.ai/3fBmGo9
Ainize Workspace : https://ainize.ai/workspace/view?ipynb=https://raw.githubusercontent.com/scy6500/jina-tutorial/main/jina-tutorial.ipynb&imageId=HQ8gBR4qbSwEEgcoJL4G
얼마전 2021 Google I/O가 “Being helpful in moments that matter”이라는 주제로 진행되었습니다. 이번 Google I/O에서 발표된 내용 중 많은 분들이 “Responsible next-generation AI”에 관심을 가지고 계신 거 같아 이에 관련된 모델을 소개해드리려고 합니다.(2021 Google I/O에 대한 정보가 더 필요하시다면 link를 눌러주세요!)
최근 자연어 처리 분야에서 챗봇은 큰 진전을 이루었지만 여전히 텍스트로만 학습되었습니다. 사람들은 대화를 할 때 이미지, 텍스트, 오디오, 비디오를 넘나들면서 소통을 합니다. 따라서 사람들이 다양한 유형의 정보에 대해 자연스럽게 질문 할 수있는 MUM(Multitask Unified Model)을 구축해야합니다.예를 들어 MUM에 “해질녘 사자가 으르렁 거리는 부분을 보여줘”라고 질문을 하면 정확한 순간을 비디오로 볼 수 있을 겁니다. 이렇게 다양한 유형의 정보를 사용하는 모델을 MUM이라고 부릅니다.
제가 오늘 소개해 드릴 것은 위의 예시처럼 이미지, 텍스트, 오디오, 비디오를 검색할 수 있는 검색 엔진인 Jina입니다.
Jina
Jina는 딥러닝 기반의 Neural Search Framework입니다. 기존에 사용된 Symbolic Search는 데이터가 무엇인지 이해하기 위해 기계에 일련의 규칙을 알려주는 방식으로 사용 되었습니다. 하지만 이러한 방법은 모든 일련의 규칙을 작성해야 해서 시간이 많이 소요됩니다. 이런 문제점을 보완하기 위해 나온 것이 Neural Search입니다. Neural Search는 데이터 이해에 필요한 모든 규칙을 작성할 필요 없이 사전학습 된 신경망을 사용한 검색 방법으로 시간이 지남에 따라 개선되도록 스스로 학습합니다.
Jina는 사진, 비디오, 오디오를 포함한 다양한 종류의 데이터에 대한 검색이 가능하며, REST API, gRPC와 같은 서비스를 제공하여 클라우드 환경에서도 사용이 가능합니다. Jina에 대한 자세한 정보는 link에서 확인할 수 있습니다.
Usage
Jina를 활용한 예제에 대해 알아보겠습니다.
Build A Cross-Modal Search System : To Look For Images From Captions
이 모델은 사용자가 캡션 설명이 있는 이미지를 검색할 수 있는 모델입니다. 우선 이미지가 입력되면 벡터로 인코딩을 한 후, 미리 벡터로 인코딩 해둔 데이터 세트와 비교하여 가장 비슷한 이미지를 찾아내는 과정을 거칩니다. 반면 텍스트가 입력 되었을 경우에는 텍스트를 벡터로 변환 후, 이전에 계산해 둔 이미지 인덱스 벡터와 비교하여 가장 비슷한 이미지를 찾는 과정을 거칩니다.
- Demo 사용하기
Ainize에서 제공하는 Demo를 통해 해당 모델을 사용해보겠습니다.
Search Box에 텍스트를 입력하거나 이미지를 넣어, 해당하는 사진을 얻거나 이미지에 대한 설명을 얻을 수 있습니다. 해당 Demo는 link에서 확인할 수 있습니다. Demo에서 Cross Modal 말고도 Object Search, Gif Search 등 또한 사용해 볼 수 있습니다.
- API 사용하기
이번에는 Ainize에서 제공하는 Jina API를 통해 예제를 사용해 보겠습니다. API는 Demo의 Open API에서 사용해 볼 수 있습니다.
이처럼 검색 엔진이 복합적으로 개발이 된다면 검색 엔진은 현재와 다른 양상을 보일 것입니다. 이런 Neural Search 엔진들은 교육, 오락 등 다양한 영역에서 활용이 가능할 거 같은데요, 어떠한 결과를 낳을지 기대가 됩니다.
이후에 Jina를 활용한 흥미로운 다른 모델들이 나오게 된다면 또 소개해 드리겠습니다. 감사합니다!
레퍼런스
- Google Keynote (Google I/O ‘21)
- Jina — WHAT IS NEURAL SEARCH, AND WHY SHOULD I CARE?
- Jina Github
- Jina Demo
지난 글 다시보기
AI 네트워크는 블록체인 기반 플랫폼으로 인공지능 개발 환경의 혁신을 목표로 하고 있습니다. 수백만 개의 오픈 소스 프로젝트가 라이브로 구현되는 글로벌 백엔드 인프라를 표방합니다.
최신 소식이 궁금하시다면 아래 커뮤니케이션 채널을 참고해주시기 바랍니다. 다시 한 번 감사합니다.
AI네트워크 공식 홈페이지: https://ainetwork.ai/
공식 텔레그램: telegram.com/ainetwork_kr
아이나이즈(Ainize): https://ainize.ai
유튜브: https://www.youtube.com/channel/UCnyBeZ5iEdlKrAcfNbZ-wog
페이스북:https://www.facebook.com/ainetworkofficial/
포럼:https://forum.ainetwork.ai/
AIN Price chart: https://coinmarketcap.com/currencies/ai-network/onchain-analysis/