Method, device, and computer program for accelerating vector indexing by using processing-in-memory (PIM)
The present disclosure relates to a method, a device, and a computer program for accelerating vector indexing by using PIM. The present disclosure presents a method for accelerating vector indexing by using PIM, the method including: receiving at least one embedding vector and at least one piece of tenant information; mapping a tenant area determined by the tenant information to a sheet; obtaining a first projected vector by performing, based on the sheet, a projection operation on the embedding vector; comparing the similarity between the first projected vector and at least one bucket, based on the sheet; and selecting, based on the similarity comparison result, at least one second projected vector having relatively high similarity to the first projected vector within the bucket.
1 . A method for accelerating vector indexing by using PIM, the method comprising:
receiving at least one embedding vector and at least one piece of tenant information;
mapping a tenant area determined by the tenant information to a sheet;
obtaining a first projected vector by performing, based on the sheet, a projection operation on the embedding vector;
comparing similarity between the first projected vector and at least one bucket, based on the sheet; and
selecting, based on the similarity comparison result, at least one second projected vector having relatively high similarity to the first projected vector within the bucket,
wherein the sheet is a unit grouping a predetermined number of memory channels in a memory area of a PIM-enabled memory device.
2 . The method of claim 1 , wherein the tenant information comprises at least one of a tenant ID and a tenant key.
3 . The method of claim 1 , wherein the sheet is a projection sheet or a distance sheet, and
wherein the projection operation is performed in parallel across the predetermined number of memory channels within the sheet.
4 . The method of claim 3 , wherein the projection sheet is formed as a unit in which a memory area is divided into a predetermined number of memory channels, the projection sheet comprises a predetermined number of tenant areas, and each tenant area comprises a predetermined number of projection vectors.
5 . The method of claim 4 , wherein the projection vectors are operands configured to reduce a dimension or complexity of the embedding vector through the projection operation.
6 . The method of claim 3 , wherein the distance sheet is formed as a unit in which a memory area is divided into a predetermined number of memory channels, is allocated to each tenant, and comprises at least one second projected vector for each of the at least one bucket.
7 . The method of claim 1 , wherein the first projected vector is an operation result vector in which the dimension or complexity of the embedding vector has been reduced through the projection operation, and the second projected vector is an operation result vector in which the dimension or complexity of the embedding vector has been reduced, and is a vector stored in each bucket.
8 . The method of claim 1 , wherein the bucket is formed by branching a projected vector through an LSH module.
9 . The method of claim 1 , wherein the selecting of the second projected vector comprises selecting the at least one second projected vector having high similarity to the first projected vector within the bucket in case that there is a bucket matching the first projected vector as a result of the similarity comparison.
10 . The method of claim 1 , wherein the selecting of the second projected vector comprises selecting a bucket having highest similarity from among the at least one bucket in case that there is no bucket matching the first projected vector as a result of the similarity comparison, and selecting the at least one second projected vector having high similarity to the first projected vector within the selected bucket.
11 . A computer program stored in a medium to execute, in combination with hardware, the method for accelerating vector indexing by using PIM in claim 1 .
12 . A device for accelerating vector indexing by using PIM, the device comprising a processor,
wherein the processor is configured to:
receive at least one embedding vector and at least one piece of tenant information;
map a tenant area determined by the tenant information to a sheet;
obtain a first projected vector by performing, based on the sheet, a projection operation on the embedding vector;
compare, based on the sheet, similarity between the first projected vector and at least one bucket; and
select, based on the similarity comparison result, at least one second projected vector having relatively high similarity to the first projected vector within the bucket,
wherein the sheet is a unit grouping a predetermined number of memory channels in a memory area of a PIM-enabled memory device.
13 . The device of claim 12 , wherein the tenant information comprises at least one of a tenant ID and a tenant key.
14 . The device of claim 12 , wherein the sheet is a projection sheet or a distance sheet, and
wherein the projection operation is performed in parallel across the predetermined number of memory channels within the sheet.
15 . The device of claim 14 , wherein the projection sheet is formed as a unit in which a memory area is divided into a predetermined number of memory channels, the projection sheet comprises a predetermined number of tenant areas, and each tenant area comprises a predetermined number of projection vectors.
16 . The device of claim 15 , wherein the projection vectors are operands configured to reduce a dimension or complexity of the embedding vector through the projection operation.
17 . The device of claim 14 , wherein the distance sheet is formed as a unit in which a memory area is divided into a predetermined number of memory channels, is allocated to each tenant, and comprises at least one second projected vector for each of the at least one bucket.
18 . The device of claim 12 , wherein the first projected vector is an operation result vector in which the dimension or complexity of the embedding vector has been reduced through the projection operation, and the second projected vector is an operation result vector in which the dimension or complexity of the embedding vector has been reduced, and is a vector stored in each bucket.
19 . The device of claim 12 , wherein the selecting of the second projected vector comprises selecting the at least one second projected vector having high similarity to the first projected vector within the bucket in case that there is a bucket matching the first projected vector as a result of the similarity comparison.
20 . The device of claim 12 , wherein the selecting of the second projected vector comprises selecting a bucket having highest similarity from among the at least one bucket in case that there is no bucket matching the first projected vector as a result of the similarity comparison, and selecting the at least one second projected vector having high similarity to the first projected vector within the selected bucket.