𝗩𝗲𝗰𝘁𝗼𝗿 𝗦𝗲𝗮𝗿𝗰𝗵 𝗜𝘀 𝗡𝗼𝘁 𝗘𝗻𝗼𝘂𝗴𝗵 𝗳𝗼𝗿 𝗣𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗼𝗻 𝗔𝗜
ਵੈਕਟਰ ਸਰਚ (Vector search) ਨੇ ਸੈਮੈਂਟਿਕ ਰਿਟ੍ਰੀਵਲ (semantic retrieval) ਨੂੰ ਬਦਲ ਦਿੱਤਾ ਹੈ। ਤੁਸੀਂ ਡੇਟਾ ਨੂੰ ਐਂਬੈਡ (embed) ਕਰਦੇ ਹੋ, ਕੁਐਰੀ (query) ਨੂੰ ਐਂਬੈਡ ਕਰਦੇ ਹੋ, ਅਤੇ ਗੁਆਂਢੀ (neighbors) ਲੱਭਦੇ ਹੋ। ਇਸ ਨੇ ਪੁਰਾਣੇ ਕੀਵਰਡ ਮੈਚਿੰਗ (keyword matching) ਦੀ ਜਗ੍ਹਾ ਲੈ ਲਈ ਹੈ।
ਪਰ ਪ੍ਰੋਡਕਸ਼ਨ AI ਨੂੰ ਸਮਾਨ ਐਂਬੈਡਿੰਗਜ਼ (embeddings) ਤੋਂ ਵੱਧ ਦੀ ਲੋੜ ਹੈ। ਰਿਟ੍ਰੀਵਲ (Retrieval) ਹੁਣ ਸਿਰਫ਼ ਗੁਆਂਢੀ ਲੱਭਣ ਦੀ ਸਮੱਸਿਆ ਤੋਂ ਬਦਲ ਕੇ ਰੈਂਕਿੰਗ ਅਤੇ ਫੈਸਲੇ ਲੈਣ ਦੀ ਸਮੱਸਿਆ ਬਣ ਰਹੀ ਹੈ।
ਇੱਕ ਪ੍ਰੋਟੋਟਾਈਪ ਵੈਕਟਰਾਂ ਨਾਲ ਕੰਮ ਕਰ ਸਕਦਾ ਹੈ। ਪਰ ਇੱਕ ਪ੍ਰੋਡਕਸ਼ਨ ਸਿਸਟਮ ਨੂੰ ਇਸ ਤੋਂ ਵੱਧ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਇੱਕ ਅਸਲ ਯੂਜ਼ਰ ਕੁਐਰੀ ਨੂੰ ਇਹਨਾਂ ਸਾਰੀਆਂ ਚੀਜ਼ਾਂ ਦੀ ਇੱਕੋ ਸਮੇਂ ਲੋੜ ਹੁੰਦੀ ਹੈ:
- ਸੰਰਚਿਤ ਮੈਟਾਡਾਟਾ (structured metadata) ਅਤੇ ਫਿਲਟਰ
- ਨਤੀਜਿਆਂ ਨੂੰ ਵਧਾਉਣ ਜਾਂ ਘਟਾਉਣ ਲਈ ਬਿਜ਼ਨਸ ਨਿਯਮ
- ਯੂਜ਼ਰ ਦੇ ਇਤਿਹਾਸ ਦੇ ਅਧਾਰ 'ਤੇ ਪਰਸਨਲਾਈਜ਼ੇਸ਼ਨ
- ਡੇਟਾ ਦੀ ਤਾਜ਼ਗੀ (freshness) ਅਤੇ ਐਕਸੈਸ ਕੰਟਰੋਲ
- ਰੈਂਕਿੰਗ ਲਈ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਮਾਡਲ
ਜ਼ਿਆਦਾਤਰ ਟੀਮਾਂ ਵੱਖ-ਵੱਖ ਟੂਲਸ ਨੂੰ ਆਪਸ ਵਿੱਚ ਜੋੜ ਕੇ ਇਸ ਨੂੰ ਹੱਲ ਕਰਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਇੱਕ ਵੈਕਟਰ ਡੇਟਾਬੇਸ, ਇੱਕ ਸਰਚ ਇੰਜਣ, ਇੱਕ ਰੀ-ਰੈਂਕਰ (reranker), ਅਤੇ ਇੱਕ ਫੀਚਰ ਸਟੋਰ ਨੂੰ ਜੋੜਦੇ ਹੋ।
ਇਹ ਕੁਝ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰਦਾ ਹੈ:
- ਹਰ ਕਨੈਕਸ਼ਨ ਲੇਟੈਂਸੀ (latency) ਵਧਾਉਂਦਾ ਹੈ
- ਹਰ ਹਿੱਸੇ ਲਈ ਆਪਣੇ ਵੱਖਰੇ ਆਪਰੇਸ਼ਨਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ
- ਡੇਟਾ ਨੂੰ ਸਿੰਕ (sync) ਵਿੱਚ ਰੱਖਣਾ ਮੁਸ਼ਕਲ ਹੈ
ਵੈਕਟਰ ਇੱਕ-ਆਯਾਮੀ (one-dimensional) ਐਰੇ ਹਨ। ਟੈਂਸਰ (Tensors) ਬਹੁ-ਆਯਾਮੀ (multi-dimensional) ਸੰਰਚਨਾਵਾਂ ਹਨ।
ਟੈਂਸਰ ਤੁਹਾਨੂੰ ਡੈਂਸ ਐਂਬੈਡਿੰਗਜ਼ (dense embeddings), ਸਪਾਰਸ ਫੀਚਰਸ (sparse features), ਅਤੇ ਮੈਟਾਡਾਟਾ ਨੂੰ ਇੱਕੋ ਪਾਸ (one pass) ਵਿੱਚ ਜੋੜਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ। ਇਸ ਨਾਲ ਤੁਸੀਂ ਟੁੱਟੇ ਹੋਏ ਪਾਈਪਲਾਈਨ (fragmented pipeline) ਤੋਂ ਬਚ ਸਕਦੇ ਹੋ।
ColBERT ਵਰਗੇ ਨਵੇਂ ਮਾਡਲ ਮਲਟੀ-ਵੈਕਟਰ (multi-vector) ਤਰੀਕਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਉਹ ਇੱਕ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇੱਕ ਬਿੰਦੂ (point) ਵਿੱਚ ਕੰਪਰੈੱਸ ਨਹੀਂ ਕਰਦੇ। ਉਹ ਟੋਕਨ-ਲੇਵਲ (token-level) ਵੇਰਵੇ ਰੱਖਦੇ ਹਨ। ਇਹ ਪ੍ਰਸੰਗਿਕਤਾ (relevance) ਨੂੰ ਸੁਧਾਰਦਾ ਹੈ ਪਰ ਪੁਰਾਣੇ ਵੈਕਟਰ ਡੇਟਾਬੇਸ ਨੂੰ ਖਰਾਬ ਕਰ ਦਿੰਦਾ ਹੈ।
ਟੈਂਸਰ-ਨੇਟਿਵ ਆਰਕੀਟੈਕਚਰ (Tensor-native architectures) ਇਹਨਾਂ ਸੰਰਚਨਾਵਾਂ ਨੂੰ ਮੁੱਖ ਤਰਜੀਹ ਵਜੋਂ ਮੰਨਦੇ ਹਨ। ਉਹ ਇਹਨਾਂ ਨੂੰ ਸਧਾਰਨ ਵੈਕਟਰ ਸ਼ੇਪਾਂ ਵਿੱਚ ਬਦਲਣ ਲਈ ਮਜਬੂਰ ਨਹੀਂ ਕਰਦੇ।
ਜੇਕਰ ਤੁਸੀਂ RAG ਪਾਈਪਲਾਈਨਾਂ ਜਾਂ ਰੈਕਮੈਂਡੇਸ਼ਨ ਸਿਸਟਮ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਟੁੱਟਾਅ (fragmentation) ਤੁਹਾਡੀ ਰਫ਼ਤਾਰ ਨੂੰ ਹੌਲੀ ਕਰ ਦੇਵੇਗਾ। ਜਿਵੇਂ-ਜਿਵੇਂ ਤੁਸੀਂ ਵਧੋਗੇ, ਇਹ ਸਮੱਸਿਆ ਹੋਰ ਵੀ ਗੰਭੀਰ ਹੁੰਦੀ ਜਾਵੇਗੀ।
ਆਪਣੇ ਆਪ ਨੂੰ ਇਹ ਸਵਾਲ ਪੁੱਛੋ:
- ਤੁਹਾਡੇ ਸਟੈਕ (stack) ਵਿੱਚ ਕਿੰਨੇ ਸਿਸਟਮ ਆਪਸ ਵਿੱਚ ਜੋੜੇ ਗਏ ਹਨ?
- ਤੁਹਾਡਾ ਕੁੱਲ ਲੇਟੈਂਸੀ ਬਜਟ (latency budget) ਕੀ ਹੈ?
- ਕੀ ਤੁਹਾਡਾ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਮਲਟੀ-ਵੈਕਟਰ ਮਾਡਲਾਂ ਨੂੰ ਸੰਭਾਲ ਸਕਦਾ ਹੈ?
ਆਪਣੇ ਆਰਕੀਟੈਕਚਰਲ ਫੈਸਲਿਆਂ ਵਿੱਚ ਮਦਦ ਲਈ GigaOm ਬ੍ਰੀਫ ਵਿੱਚ ਪੂਰੀ ਜਾਣਕਾਰੀ ਪੜ੍ਹੋ।
Source: https://dev.to/thegatewayguy/vector-search-got-you-started-production-ai-needs-tensors-41dl
Optional learning community: https://t.me/GyaanSetuAi