Join us at the Machine Learning Meetup hosted by Zillow in Seattle on November 29th

Hi Vespa Community,

If you are in Seattle on November 29th, please join Jon Bratseth (Distinguished Architect, Oath) at a machine learning meetup hosted by Zillow. Jon will share a Vespa overview and answer any questions about Oath’s open source big data serving engine. Eric Ringger (Director of Machine Learning for Personalization, Zillow) will discuss some of the models used to help users find homes, including collaborative filtering, a content-based model, and deep learning.

Learn more and RSVP here.

Hope you can join!

The Vespa Team

Vespa Newsletter, November 2021 | Vespa Blog

Kristian Aune

Kristian Aune

Head of Customer Success, Vespa


In the previous update,
we mentioned vespa CLI, Nearest neighbor search performance improvement, Paged tensor attributes, mTLS,
improved Feed performance, and the SentencePiece Embedder. This time, we have the following updates:

Schema Inheritance

In applications with multiple document types
it is often convenient to put common fields in shared parent document types to avoid duplication.
This is done by declaring that the document type in a schema inherits other types.

However, this does not inherit the other elements of the schema,
such as rank profiles and fields outside the document.
From 7.487.27 onwards, you can also let a schema inherit another.
It will then include all the content of the parent schema, not just the document type part.

In Vespa 7.498.22, we also added support for lettings structs inherit each other;
see #19949.

Improved data dump performance

The visit operation
is used to export data in batch from a Vespa instance.
In November, we added features to increase throughput when visiting a lot of data:

  • Streaming HTTP responses enables higher throughput,
    particularly where the client has high latency to the Vespa instance.
  • Slicing lets you partition the selected document space
    and iterate over the slices in parallel using multiple clients to get linear scaling with the number of clients.

Matching all your documents

Vespa now has a true query item,
simplifying queries matching all documents, like select * from sources music, books where true.

More query performance tuning

More configuration options are added for query performance tuning:

  • min-hits-per-thread
  • termwise-limit
  • num-search-partitions

These address various aspects of query and document matching,
see the schema reference.

Faster deployment

Vespa application packages can become large, especially when you want to use modern large ML models.
Such applications will now deploy faster, due to a series of optimizations we have made over the last few months.
Distribution to content nodes is faster, and rank profiles are evaluated in parallel using multiple threads –
we have measured an 8x improvement on some complex applications.

Hamming distance

Bitwise Hamming distance is now supported as a mathematical operation in
ranking expressions,
in addition to being a distance metric option in nearest neighbor searches.

The neural search paradigm shift

November 8, Jo Kristian Bergum from the Vespa team presented
From research to production – bringing the neural search paradigm shift to production at Glasgow University.
The slides are available
here.


About Vespa: Largely developed by Yahoo engineers,
Vespa is an open source big data processing and serving engine.
It’s in use by many products, such as Yahoo News, Yahoo Sports, Yahoo Finance, and the Yahoo Ad Platform.
Thanks to feedback and contributions from the community, Vespa continues to grow.

Vespa Newsletter, November 2022 | Vespa Blog

Kristian Aune

Kristian Aune

Head of Customer Success, Vespa


In the previous update,
we mentioned Vector Embeddings, Vespa Cloud Model Hub, Paged Attributes, ARM64 Support, and Result Highlighting.
Today, we’re excited to share the following updates:

Improved performance when using ANN and pre-filter

Since Vespa 8.78.45, multithreaded pre-filtering before running the
approximate nearest neighbor query operator is supported by using
num-threads-per-search
in the rank-profile.
Multithreading can cut latencies for applications using pre-filtering,
where the filtering amounts to a significant part of the query latency.
Read more.

Better hit estimates from parent document attributes

Applications can use parent/child to normalize data –
keeping fields common for many documents in a parent schema.
This simplifies updating such fields and makes the update use fewer resources with many children.
When using parent fields in matching,
one can use fast-search
for better performance by using a dictionary.
Since Vespa 8.84.14, a parent field with fast-search set will have a better hit estimate using the dictionary data.
The estimate is then used when creating the query plan to limit the candidate result set quicker,
resulting in lower query latency.

New XGBoost and LightGBM model training notebooks

Vespa supports gradient boosting decision tree (GBDT) models trained with
XGBoost and LightGBM.
To get you started, we have released two new sample notebooks for easy training of XGBoost and LightGBM models in
Vespa sample apps notebooks.
Linked from these is an exciting blog post series on using these models in Product Search applications.

Vespa Cloud on GCP

Vespa Cloud has been available in AWS zones since its start in 2019.
Now, we are happy to announce Vespa Cloud availability in Google Cloud Platform (GCP) zones!
To add a GCP zone to your application,
simply add <region>gcp-us-central1-f</region> to deployment.xml.
See the announcement for more details.