๐ Introducing DeployQL: Empowering small and mid-sized businesses to create exceptional AI experiences. ๐โจ Harness the power of seamless monitoring, logging, and experimentation to drive innovation and success. Let's shape the future together!
We're adding support for XTR in LintDB.
We can score more documents with the same performance as ColBERT, and we're the only database that supports this.
Customers benefit when your LLM can use the right data.
We're advancing responsible AI with a larger platform. Store, retrieve, and now interpret retrieved results.
This gives our customers more trust in our results.
Get in touch if your Gen AI applications require higher reliability and trustworthiness.
LintDB's latest prerelease adds collections.
Collections will encode your text for you, store text metadata, and retrieve it during the search process.
This massively simplifies the setup to operationalize ColBERT.
v0.2 of LintDB is out!
๐Incorporates a new retrieval process found in "Efficient Multi-Vector Dense Retrieval with Bit Vectors"
๐Linux artifacts are built against MKL for faster BLAS.
Stay tuned for v0.3, where we'll add an ONNX server for CoLBERT models.
DeployQL is the only vector database that is purpose-built for late interaction embeddings. We provide a platform to bootstrap and fine tune retrievers, index data, retrieve it, and analyze overall performance.
Fully managed model iteration. Better results in less time.
Retrieval is a hard topic within RAG, but state of the art is advancing quickly!
๐ Late Interaction and multiple embeddings per doc performs the best on complex queries.
๐ฅ๏ธSynthetic data generation boosts relevancy for better performance.
Here's how DeployQL can help you:
Decode, detect & diagnose issues in your #LLMs!
Join us for a workshop on troubleshooting user behavior changes & performance drift in LLMs with text quality metrics like sentiment, toxicity, vocabulary choice & sentence structure!
Register now: https://t.co/UZB8koQQAF
3. Generate query tasks
Expand your training data coverage by inferring how your application is used. This helps evaluate where users may encounter problems and helps stakeholders gain confidence heading to production.
Synthetic data is one way to increase the relevancy of results from RAG.
Fine tuning retrievers on it offers a few real-world benefits:
1. ๐Better user experiences.
2. ๐งCoverage of more user behavior.
3. ๐Privacy protection for your data.
Here are a few ways to use it:
2. Generate positive and negative document pairs
Create fully synthetic documents based on the queries alone. The query can even be synthetic, too!
This has been shown to be valuable by itself. This is a great way to bootstrap a fine tuned embedding model from scratch!
Retri-evals is still evolving, and we want your opinion!
We use MTEB to evaluate against a range of baseline datasets, and we're adding support for synthetic dataset building.
Where are you struggling with RAG?
3. Everyone has experimented with different chunking, embedding models, prompts, and index types. What works best for you?
Depending on your scale, reprocessing your data is going to cost money.
Retri-evals wants to make benchmarking these options simpler so you move faster.
2. When moving to production, we want to know infrastructure metrics -- latency, index size, cost. Tradeoffs need to be made that will impact the quality of results.
Retri-evals aims to surface these tradeoffs.
The repo: https://t.co/fppiApuyMX
1. It's not clear how to evaluate RAG solutions. LLM-as-a-judge metrics is a great start, but how do we know if the LLM generated a bad response, or if retrieval isn't retrieving the right data?
Retri-evals evaluates retrieval directly.
Working on RAG applications? We're building a way to bootstrap better retrieval and ranking algorithms for Gen AI.
We've open sourced our repo to evaluate against MTEB and soon bootstrap your own dataset.
Here's why this matters. ๐งต
What is ๐ ๐ฎ๐ฐ๐ต๐ถ๐ป๐ฒ ๐๐ฒ๐ฎ๐ฟ๐ป๐ถ๐ป๐ด ๐บ๐ผ๐ฑ๐ฒ๐น ๐๐ผ๐บ๐ฝ๐ฟ๐ฒ๐๐๐ถ๐ผ๐ป and why you might need it?
When you deploy Machine Learning models to production you need to take into account several operational metrics that are in general not ML related. Today we talk about two of them:
๐ ๐๐ป๐ณ๐ฒ๐ฟ๐ฒ๐ป๐ฐ๐ฒ ๐๐ฎ๐๐ฒ๐ป๐ฐ๐: How long does it take for your Model to compute inference result and return it.
๐ ๐ ๐ผ๐ฑ๐ฒ๐น ๐ฆ๐ถ๐๐ฒ: How much memory does your model occupy when itโs loaded for serving inference results.
Both of these are important when considering operational performance and feasibility of your model deployment in production.
๐ Large models might not fit on a device if you are considering edge deployments.
๐ Latency of retrieving inference results might make business case non feasible. E.g. Recommendation Engines require latencies in milliseconds as ranking has to be applied as the user browses your website or app in real time.
๐ย โฆ
You can influence both latency and size by applying different Model Compression methods, some of them are:
โก๏ธ ๐ฃ๐ฟ๐๐ป๐ถ๐ป๐ด: this method is mostly used in tree-based and Neural Network algorithms. In tree-based ones we prune leaves or branches from decision trees. In Neural Networks we remove nodes and synapses (weights) while trying to retain ML performance metrics.
โ In both cases the output is a reduction in the number of Model Parameters and model size.
โก๏ธ ๐๐ป๐ผ๐๐น๐ฒ๐ฑ๐ด๐ฒ ๐๐ถ๐๐๐ถ๐น๐น๐ฎ๐๐ถ๐ผ๐ป: this type of compression is achieved by:
๐ Training an original large model which is called the Teacher model.ย
๐ Training a smaller model to mimic the Teacher model by transferring knowledge from it, this model is called the Student model. Knowledge in this context can be extracted from the outputs, internal hidden state (feature representations) or a combination of both.
๐ We then use the โStudentโ model in production.
โก๏ธ ๐ค๐๐ฎ๐ป๐๐ถ๐๐ฎ๐๐ถ๐ผ๐ป: a most commonly used method that doesnโt have much to do with Machine Learning. This approach uses fewer bits to represent model parameters.
๐ You can apply quantization techniques both during the training and after the models has been already trained.
๐ In regular Neural Networks what is quantized are Model Weights, Biases and Activation Functions.
๐ Most usual quantization is from float to integer (32 bits to 8 bits).
โก๏ธ โฆ
[๐๐บ๐ฝ๐ผ๐ฟ๐๐ฎ๐ป๐]: while the above methods do reduce the size of the models, allowing them to be deployed in production scenarios, there is almost always a reduction in accuracy so be careful and evaluate it accordingly.
--------
Follow me to upskill in #MLOps, #MachineLearning, #DataEngineering, #DataScience and overall #Data space.
Also hit ๐to stay notified about new content.
๐๐ผ๐ปโ๐ ๐ณ๐ผ๐ฟ๐ด๐ฒ๐ ๐๐ผ ๐น๐ถ๐ธ๐ฒ ๐, ๐๐ต๐ฎ๐ฟ๐ฒ ๐ฎ๐ป๐ฑ ๐ฐ๐ผ๐บ๐บ๐ฒ๐ป๐!
Join a growing community of Data Professionals by subscribing to my ๐ก๐ฒ๐๐๐น๐ฒ๐๐๐ฒ๐ฟ: https://t.co/qgNCnGtF4A
Combining DuckDB and PyArrow allows you to efficiently process datasets larger than memory on a single machine.
In the following code, running DuckDB on a #PyArrow dataset is approximately 2906 times faster than running #DuckDB on a #pandas DataFrame.
@Aurimas_Gr Also worth calling out the speedup from batching requests at every step instead of many single requests. As systems evolve and grow, it's easy to miss code that accidentally loops over a network request instead of making only one request.