32 karma · joined November 30, 2019
You have a right to perform your prescribed duties, but you are not entitled to the fruits of your actions. Never consider yourself to be the cause of the results of your activities, nor be attached to inaction.
They also say that in the blog "However, both Based and Mamba still underperform the strongest Transformer baseline, sometimes by large margins. This is consistent with our “no free lunch” observation above"
Caveat is deep in the technical paper,
1) generates 1m candidates from N different prior models (fine tuned on previous codeforces)
2) throws away 95%ile candidates (doesn't fit the test case + no compile)
3) groups semantically similar candidates
4) scores candidates from each group (Based on another scoring model, probably latency + descriptions etc)
5) Picks top 10
Makes 10 submissions and finally gets the score ..
sure this is how humans solve problems ... totally awed by AGI /s
Roughly that should put gemini ultra in the sub 100b range?
Most companies have been having hacker-rank pre-screen coding, Hiring Manager Technical screen, System Design, Product round, Behavioral round, ML specific round.
While it's not been hard to land interviews, the process is taking a long time and it looks like people are looking for previous experience in the specific stack they work on. Offers are also lower from a year ago.
Problem Statement:
- Find the right entity for a query among ~50m entities.
- Queries could be few of the entity attributes (If entities have n attributes, query can in 1..n)
- Queries can mention attributes in various ways (Partial information, Typing errors, abbreviation, Extra information etc)
Existing Solution: - Elastic search based match, using complicated heuristics overfit on a small training set. Gets worse over time as number of entities increase, the top-20 search retrieval accuracy was around ~40% on current number of entities.
Implemented Solution: - Embedding search using a Sentence embedding model (pretrained Deberta finetuned for current problem) trained via Contrastive Learning, where positive pairs are generated using augmentations for each attribute which best mock the queries (after going through many user queries)
- Top-20 accuracy was around 98%, filtering out right entity was through hueristics and other business logic with proper confidence measure (hyper-param tuned on val set), after final pipeline we could get the high confidence top-1 accuracy to around 99.995% (precision) and 86% (recall).
We ended up going with pinecone for the embedding search, and the search latency was around ~100ms (top 50 among ~50m embeddings) Running 1m test @ http://localhost:5000
8 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.41ms 109.36us 3.85ms 76.27%
Req/Sec 8.53k 625.45 25.69k 79.77%
Latency Distribution
50% 1.43ms
75% 1.48ms
90% 1.53ms
99% 1.62ms
4072168 requests in 1.00m, 454.37MB read
Requests/sec: 67816.66
Transfer/sec: 7.57MB
Pure fastwsgi on same machine Running 1m test @ http://localhost:5000
8 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 645.52us 30.50us 1.33ms 82.06%
Req/Sec 18.67k 795.08 36.56k 86.86%
Latency Distribution
50% 648.00us
75% 658.00us
90% 668.00us
99% 736.00us
8919901 requests in 1.00m, 867.68MB read
Requests/sec: 148419.82
Transfer/sec: 14.44MB
Damn nice.Modern spell checkers are fairly interesting beasts. Do check out, use and let me know if i can help with any issues / features.