Balanced Cluster Division for Computing-in-Memory Vector Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing vector data search methods face inefficiencies due to unequal cluster sizes in k-means clustering, leading to decreased operation efficiency when the total data exceeds the number of bit lines, and require costly data transfer and increased processing load on CPUs.
Innovation Solution
An information processing apparatus employing a cluster division unit that evenly distributes data into clusters while allowing overlap, followed by centroid calculation and similarity determination using a hardware circuit with a computing-in-memory (CIM) approach, optimizing data distribution to match bit line capacity and reducing CPU load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If k-means method is used for cluster division, then data can be clustered, but cluster size becomes unequal leading to decreased operation efficiency of CIM
Solution Approach 1:
The patent divides data into multiple clusters and further segments each cluster into sub-clusters, where each sub-cluster is assigned to a specific bit line. This segmentation ensures that data is evenly distributed across available bit lines, maximizing the utilization of CIM resources and improving operation efficiency.
Solution Approach 2:
The patent dynamically adjusts cluster assignments based on the number of available bit lines. When the total number of data pieces exceeds the number of bit lines, the system adaptively divides clusters into sub-clusters and redistributes them, ensuring optimal matching between data distribution and hardware capacity.
2Productivity
If total number of data pieces is larger than number of bit lines, then data must be divided into clusters, but unequal cluster sizes reduce operation efficiency
Solution Approach 1:
The patent segments clusters into sub-clusters and assigns them to specific bit lines in a systematic manner. This structured segmentation approach simplifies the division process while ensuring uniform data distribution across bit lines, thereby improving operation efficiency without excessive complexity.
Solution Approach 2:
The patent changes the parameter of cluster granularity by introducing sub-clusters. Instead of using fixed-size clusters, the system adjusts the clustering granularity to match the available bit line capacity, optimizing the data-to-bit-line ratio for efficient CIM operation.
3Productivity
If similarity calculation is performed by host device or CPU, then search can be conducted, but data transfer cost increases and processing load on CPU increases
Solution Approach 1:
The patent introduces a CIM (Computing-in-Memory) device as an intermediary between storage and processing. The CIM device performs similarity calculations directly within the memory array, eliminating the need to transfer data to the CPU for computation. This reduces data transfer costs and processing load on the host device while maintaining search functionality.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
An information processing apparatus comprises a cluster division unit that equally distributes first data to two or more clusters while overlapping some of the first data among first data and repeats distribution to new two or more clusters until the number of the first data included in each of the distributed clusters becomes a predetermined limit number or less, a centroid calculation unit that calculates a centroid value of each of clusters finally distributed by the cluster division unit, a first determination unit that compares a center of each of the clusters with second data and determines a cluster having a centroid value most similar to the second data as a search cluster, and a selection unit that compares each of the first data included in the search cluster with the second data and selects one or more predetermined numbers of the first data similar to the second data.