HN user

supo

349 karma

Building open source inference for small models at superlinked.com

Hit me up on x.com/svonava

Posts22
Comments67
View on HN
www.motivenotes.ai 11d ago

Against Usefulness

supo
128pts40
github.com 22d ago

Show HN: Distributed LLM tracing and GH PR/issue linking [Apache 2.0]

supo
3pts0
github.com 2mo ago

Like Ollama, but for your own cloud [Apache 2.0]

supo
4pts1
github.com 1y ago

Show HN: Superlinked – Vector Embeddings for Structured and Unstructured Data

supo
7pts7
vdbs.superlinked.com 2y ago

Vector Database Feature Comparison Matrix (35 DBs)

supo
27pts9
www.superlinked.com 3y ago

Social features can unlock user engagement and retention

supo
6pts3
medium.com 5y ago

Next Startup Is You

supo
2pts0
svonava.com 5y ago

Manage for Impact, Not Performance

supo
2pts0
svonava.com 7y ago

Googler Quits to Join a Startup Fixing VC

supo
1pts0
svonava.com 7y ago

Googler Advice to a Fintech Startup Founder

supo
3pts0
svonava.com 7y ago

Goodbye Google and Salve Startup

supo
2pts0
svonava.com 8y ago

Cryptocurrency correlations over time (building a decorrelated portfolio)

supo
3pts0
svonava.com 8y ago

Decision Laundering as a Service

supo
2pts1
svonava.com 12y ago

Why do you chase a perfect idea

supo
1pts0
www.plosone.org 12y ago

Personality, Gender, and Age in the Language of Social Media

supo
44pts8
svonava.com 12y ago

Data sets released by Google

supo
170pts17
www.mercurynews.com 13y ago

Stanford student gaining cult status for rethinking NBA philosophy

supo
2pts0
svonava.com 13y ago

What sleazy advertising taught me about my brain

supo
1pts0
mystorify.com 13y ago

Show HN: myStorify.com - storify your photos

supo
24pts35
dofsome.com 13y ago

Show HN: Dofsome.com - Chrome-less photo hosting

supo
37pts50
news.ycombinator.com 13y ago

Ask HN: 100 (open)data stores, 0 visualization/mining algo. exchange platforms?

supo
1pts0
www.nerdypigs.com 14y ago

Show HN: NerdyPigs - cute math game and a GoogleGameJamZurich'11 winner

supo
3pts1
Against Usefulness 10 days ago

The environment allows for separation of the useful good ones from the "only in it for the cash" ex-investment banking types ^_^

by that same logic, why would you not strive to push all the signals you have available into the ANN search? sure, some will have reduced resolution vs using a heavy reranker, but surely the optimal solution is to use the same signals in both stages and just add resolution in the second stage? the more they are aligned, the fewer candidates you need -> better latency & lower cost.

Here is a quick overview, doesn't really explain the deep details though: https://www.youtube.com/watch?v=ikYsr6nvbdE

Basically think mixture of experts, but each expert is an encoder with it's own input tokenization/feature engineering part and then there is some machinery to parametrize these encoders based on natural language queries and stitch their outputs together to form unified vectors for objects in the index and the queries coming in.

Given that the whole framework is Apache 2.0, you can also check https://github.com/superlinked/superlinked and the docs: https://docs.superlinked.com/ https://docs.superlinked.com/concepts/overview

We have some proprietary tech besides that - mainly embedding models for things like location and then executors for the Superlinked DAG that help you run it on GPU-accelerated Spark and something analogous to that for streaming workloads - those proprietary things are how we make money, we call it Superlinked Cloud.

This article focuses on ways to make "pre-fetching" more accurate, reducing or eliminating the need for reranking to improve latency/cost but also sometimes quality - for example if you use a text cross-encoder to rerank your structured objects, you'll find that those rerankers don't actually understand much of the numbers, locations and other data like that.

If this was a solved problem, every e-com website would already run some variant of https://arxiv.org/pdf/2209.07663 for all their shopping surfaces and some version of "deep research" on every search query. They don't, so the problem isn't solved. And a big part of the problem is still the integration of behavioral, structured and unstructured signals into the underlying retrieval of products and content - which is what the article is about.

Also, the company is doing fine, not sure where that last sentence came from ^_^

It allows faster experimentation because you can't do things like partial embedding updates and reasonable schema migrations on your vector search index - if you could, you'd experiment in retrieval... and with better retrieval you don't have to move 100s or 1000s of candidates from a database and pay a ton for a ranker inference on every query (not even mentioning the latency impact of that).

We are mostly focused on natural language search in e-commerce/marketplace/travel settings right now. There we have a production deployment that drove $15M of incremental revenue through personalization of a shopping feed for a fashion e-commerce business. Happy to share more if you are interested, feel free to email me at daniel@superlinked.com!

Supported VDBs: Currently MongoDB, Redis Search and Qdrant https://docs.superlinked.com/run-in-production/index-1

As you say, AstraDB also offers vector search (you can see it at https://superlinked.com/vector-db-comparison) but we haven't built the integration with them yet. We focus on fewer but higher quality integrations in general. Do you like AstraDB? Any advantages vs competition that you care about?

In terms of the plan you mentioned Astra+Redis - you don't have to do that, you can just use redis for both key-value store and vector search.

A table comparing the features available with different vector databases. The project is open-source and developed by a community of practitioners with points of contact from the different vector databases to validate.

ChatGPT Plus 3 years ago

And you decided to not work remotely and 10x your income instantly, because you'd miss your office and colleagues. Got it!

Any apps that can benefit from social interactions. A good example is DuoLingo. They built a social+ product for learning languages, have 50m MAUs and $250M revenue!! There are thousands of other learning apps, but DuoLingo is by far the best one out there.

The removal of barriers favors those who can take advantage of the newly acquired access and information.

Your life reflects this capacity as much as the environment that let it manifest itself:)

Nice, thanks! I wish there was a cleaned up repository of datasets like these, in a unified format, directly accessible to a public MapReduce engine like Elastic at AWS.

Open Space of Gold 13 years ago

Some of that must be a California thing. In an European office of one of the mentioned companies, most people almost always eat lunch with their team in a canteen and plenty people do 3-4 day long weekends to go on trips all the time (+ normal 1-2 week long vacations of course). Yes, sometimes I go online during my vacation or when travelling during the weekend to perhaps look at emails or do some simple work, but that is because I'm motivated - nobody is making me do it.

Depends on the randomness of the paths. With URLs coming from a limited set of websites - yes, there would be some savings.

With a set of random strings, for alphabet with 64 chars, there are 16M different 4 character prefixes, so the savings from overlapping prefixes for 128char long strings is likely less than 3%.

Ah, in that case it goes straight to set<string> for me :-) I think that in practice you want to do that but then drop in a few asserts to check whether things are not getting out of control once you forgot about this decision.

Sure, but it can blow up faster than you think. Say you have 100k URL strings, up to 128 chars each, with 64 allowed characters in alphabet.

- storing this at byte per char = 12.8MB

- storing this in a basic trie = 12.8 * 64 = 820MB

- storing this in the TST = 12.8 * 3 = 38MB

You went to Stanford and have never seen a Trie in highschool? There are a few highschools in Bratislava, Slovakia that teach basic data structures in their Intro to programming courses.

With a basic Trie, you always have this problem of how to keep the pointers at each node. Naively, you can:

1) Keep an array of size equal to the alphabet size, indexed by the characters, holding pointers to successive nodes.

- but this blows the memory to O(N * alphabet_size) where N is the input size

2) Keep a linked list of pairs (character, pointer).

- but this blows the lookup time to O(word_length * alphabet_size)

3) Keep something like an STL map<character, pointer>.

- still suboptimal complexity of O(word_length * log alphabet_size) + it complicates the code + it dramatically increases the constant time per operation

Or you research a bit more and actually learn a way to properly implement a trie, called a Ternary Search Tree: http://en.wikipedia.org/wiki/Ternary_search_tree