56
Hardware Accelerated Similarity Search George Williams

Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Hardware Accelerated Similarity Search

George Williams

Page 2: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Who Am I?

Director, GSI Technology Previously, Chief Data Scientist

Senior Data Scientist AI Research Scientist

Software Engineer

Page 3: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Recent Headlines

Page 4: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Convergence and Integration

That was then...

Page 5: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

This is Now: Technology Disintegration

Page 6: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

More Innovation Around The Corner

?

Page 7: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

GSI’s Similarity Search Accelerator

Page 8: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Agenda

● Chip Explosion ● GSI Technology ● What is Vector Similarity Search? ● GSI’s Similarity Search Accelerator ● Integration Case Studies: Bio, Database ● Early Adopters Program

Page 9: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Who Is GSI Technology?

Page 10: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Aerospace, Government, R&D

High Performance SRAM and DRAM

GSI Vector Similarity Search Accelerator Chip

What We Do

Page 11: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

What Is Vector Similarity Search?

Page 12: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

What is Vector Similarity Search?

Numeric Representation

Bit-vector 0110000100

Coordinates (2.3, 5.6)

Page 13: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Numeric Representation

Simple “Distance” Function

d = Func (a, b)

What is Vector Similarity Search?

Page 14: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

K = 5

K = 3Numeric Representation

Simple “Distance” Function

K Nearest Neighbor (Top-K)

What is Vector Similarity Search?

Page 15: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

K = 5

K = 3

Numeric Representation

Simple “Distance” Functions

K Nearest Neighbor (Top-K)

Search is Computational

E-Commerce, Bioinformatics

What is Vector Similarity Search?

Page 16: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

E-Commerce: Visual Search

Page 17: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Visual Search

Binary Codes, Continuous Embeddings

Euclidean, L1, Hamming, Cosine

>1 Billion Images

Page 18: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Visual Search: Embedding Space

Page 19: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Bioinformatics: Molecule Similarity

Fingerprints

Tanimoto

Many Large DBs

100s GB

Page 20: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Molecule Similarity: Tanimoto

Jaccard

Intersection / Union

Page 21: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Bioinformatics: Molecule Similarity

Drug Discovery of Novel Molecules

Virtual Screening

Activity (Toxicity) Prediction

Page 22: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Programming Interfaces

Idiomatic SQL

Integrate Into Data Pipelines

Leverage Skills of Data Eng & Scientists

Page 23: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Many Domains and ApplicationsE-Commerce / Recommendations

Bioinformatics / Genomics

Healthcare / Medical Records

Cybersecurity / Malware Detection

Computer Vision / Video Surveillance

Page 24: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

GSI’s Similarity Search Accelerator

Page 25: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Computational Memory

Page 26: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

“In-Place” Associative Processing

Bit Logic ● Programmable ● 2 million

Page 27: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Consumer Board Solution

16GB Memory

PCIe Card

128Mb 128Mb

2 Chips Per Board

On Board DDR4 Main Memory

SRAM Cache Per Chip

Page 28: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

1 Chassis (4U) Solution

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

Chassis

4 Boards Per Chassis

Page 29: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Multiple Chassis Solution

One Chassis Is The

Master

Page 30: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Network Attached Storage

RDMA support (NAS As Data Source)

Network

..16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

Chassis

...

Page 31: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Segmentation by Clustering

Offline Clustering / K-Means

Avoids Full DB “Scan”

Faster Performance

Page 32: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Availability

Q2, 2019

Q1, 2019demo boards

mass production

chip Q4, 201816GB Memory

PCIe Card

128Mb 128Mb

Page 33: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Weizmann Institute Case Study

“GSI’s [Accelerator] can dramatically reduce the time required to search our small molecules database...”

- Dr. Efrat Ben-Zeev, Computational Chemist

Page 34: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Weizmann Institute Case Study

Molecule Similarity Search Biovia Pipeline Pilot Application Query of 34M Molecule DB Takes 10 Minutes !

Using GSI Accelerator (estimated) Query Latency Reduced To 300ms 400 Queries In 1 Second

Page 35: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Biovia Application Integration Application

Python Library

C Library

DRIVERS

GSI Accelerator

Page 36: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

In-Memory Database Integration

Database

C Library

DRIVERS

GSI Accelerator

Page 37: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

In-Memory: Expected Performance

Memory Speed Vector Size Throughput (imgs/sec)

MemSQL ~50GB / sec 4 KB 12.5 million images/sec

GSI ~100GB / sec 4 KB 25 million images/sec

Page 38: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Early Adopters Program

Consult With Our Hardware and AI Experts

Co-Development and App Integration

Access to simulator and test hardware

Co-Marketing Opportunity

Page 39: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

GSI Upcoming Events

Nov, Open Data Science Panel, Visual Search

Nov, PyData ( Washington DC )

Dec, GSI Similarity Search Accelerator Workshop

Coming Soon, GSI’s Tech Meetup

2019, First Chips and Boards Available

Page 40: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Contact Us

Twitter: @gsitechnology @cgeorgewilliams

Blogs: gsitechnology.com medium.com/gsitechnology

Email: [email protected]

Page 41: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

The End. Thanks !

Page 42: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card
Page 43: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Query

Option 1: INFERENCE IN PRODUCTION ● Image2Vec (VGG, Resnet) ● NLP ● LSTN

Option 2: Query Vector done by External Application ● Fingerprint Query ● In Memory Vector (Cosine)

Option 3: 3rd Party Inference Vector

Page 44: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Single Board

Small Database

Fit All Data Into Cache For Lowest Latency

If Larger, Paging Occurs To Memory

Cluster Techniques

16GB Memory

PCIe Card

128Mb 128Mb

Page 45: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Large Database

Large Database (<1TB, Flat) Pharma, Drug Search, Weizmann Molecule Search, In-Memory

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

Chassis

...

Page 46: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Multi Board Solutions

For Huge Databases ( ~ 1TB )

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

Chassis

...

For Throughput: Batch Queries Split Across Boards

Chassis Host Master Merges The Results

Page 47: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Offline Data Preparation

Training InferenceOptimize For Cache and

Memory

Page 48: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Clustering For Large DatabasesOffline Clustering

Centroids List <16GB

Reduces Storage

Only Centroids Are Kept Local

For Real-Time Performance

Page 49: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Huge Database

Exact Nearest Neighbors For Small Vectors

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

16GB Memory

PCIe Card

128Mb 128Mb

Chassis

...

Approx For Large Vectors (Quantization)

Large Scale Sim Search, FAISS

Page 50: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Biovia Application Integration

Biovia Application Used By Thousands of Bio-Tech Companies

Page 51: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Weizmann: Load A Database

Page 52: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Weizmann: 3rd Party Search

Page 53: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Weizmann: Select Search Method

Page 54: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Weizmann: Search

Page 55: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Weizmann: Define Parameters

Page 56: Hardware Accelerated Similarity Search · Multi Board Solutions For Huge Databases ( ~ 1TB ) 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card 128Mb 128Mb 16GB Memory PCIe Card

Weizmann: Run Protocol