vault backup: 2024-08-08 17:21:24
This commit is contained in:
2
.obsidian/graph.json
vendored
2
.obsidian/graph.json
vendored
@@ -17,6 +17,6 @@
|
|||||||
"repelStrength": 10,
|
"repelStrength": 10,
|
||||||
"linkStrength": 1,
|
"linkStrength": 1,
|
||||||
"linkDistance": 250,
|
"linkDistance": 250,
|
||||||
"scale": 1.9655560456566792,
|
"scale": 0.7132754626224475,
|
||||||
"close": false
|
"close": false
|
||||||
}
|
}
|
||||||
60
.obsidian/workspace.json
vendored
60
.obsidian/workspace.json
vendored
@@ -37,7 +37,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Quick Notes/Boundaries on Jon & Juli situation.md",
|
"file": "2024-08-08 (Thursday).md",
|
||||||
"mode": "source",
|
"mode": "source",
|
||||||
"source": false
|
"source": false
|
||||||
}
|
}
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "horizontal",
|
"direction": "horizontal",
|
||||||
"width": 705.5
|
"width": 388.5
|
||||||
},
|
},
|
||||||
"right": {
|
"right": {
|
||||||
"id": "42bed08da67bfa37",
|
"id": "42bed08da67bfa37",
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "backlink",
|
"type": "backlink",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Quick Notes/Boundaries on Jon & Juli situation.md",
|
"file": "2024-08-08 (Thursday).md",
|
||||||
"collapseAll": false,
|
"collapseAll": false,
|
||||||
"extraContext": false,
|
"extraContext": false,
|
||||||
"sortOrder": "alphabetical",
|
"sortOrder": "alphabetical",
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "outgoing-link",
|
"type": "outgoing-link",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Quick Notes/Boundaries on Jon & Juli situation.md",
|
"file": "2024-08-08 (Thursday).md",
|
||||||
"linksCollapsed": false,
|
"linksCollapsed": false,
|
||||||
"unlinkedCollapsed": false
|
"unlinkedCollapsed": false
|
||||||
}
|
}
|
||||||
@@ -150,7 +150,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "outline",
|
"type": "outline",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Quick Notes/Boundaries on Jon & Juli situation.md"
|
"file": "2024-08-08 (Thursday).md"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -173,14 +173,32 @@
|
|||||||
},
|
},
|
||||||
"active": "1ac72aa6ecff8db5",
|
"active": "1ac72aa6ecff8db5",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"Reading Movies/The Bookshop.md",
|
"Reading/Read Later/Paper Moving off the Map.md",
|
||||||
|
"Reading/Read Later/httpsworld.hey.comdhhcloud-exit-pays-off-in-performance-too-4c53b697.md",
|
||||||
|
"Reading/Read Later/httpsblackgirlbytes.deva-beginners-guide-to-prompt-engineering-with-github-copilot.md",
|
||||||
|
"Reading/Read Later/Real World Recommendation System – Part 1.md",
|
||||||
|
"Reading/Read Later/2020-01-31 Tech Talk - Michael Sterling - Royalties - Faithlife Coders - Amber.md",
|
||||||
|
"[3.md",
|
||||||
|
"Quick Notes/Questions for PATHAR.md",
|
||||||
|
"Quick Notes/Sam’s club.md",
|
||||||
|
"Quick Notes/Sam’s Club 1.md",
|
||||||
|
"Quick Notes/Sam’s club 2.md",
|
||||||
|
"Quick Notes/Sam’s club 3.md",
|
||||||
|
"Chapel/116 announcements.md",
|
||||||
|
"Quick Notes/Announcements.md",
|
||||||
"Reading Movies/How to read a movie.md",
|
"Reading Movies/How to read a movie.md",
|
||||||
"Training/Advanced Distributed Systems/Advanced Distributed Systems Design - Homework 1 Overview.md",
|
"Recipes/Pancakes.md",
|
||||||
"Training/Advanced Distributed Systems/Advanced Distributed Systems Design - Day Three Review.md",
|
"Recipes/Marinated Smoked Goose Breast Recipe.md",
|
||||||
"Training/Advanced Distributed Systems/Advanced Distributed Systems Design - Day One Review.md",
|
"Recipes/Are You Game Smoked Goose Breasts Ducks Unlimited.md",
|
||||||
"Work/Faithlife interview.md",
|
"Topical studies/Leaving a church/When is it right to leave a church.md",
|
||||||
"Reading/Book notes/Radical Candor.md",
|
"Topical studies/Leaving a church/Scriptural Reasons for Leaving a Church.md",
|
||||||
"Reading/Book notes/Problem of Pain, C.S. Lewis.md",
|
"Topical studies/Leaving a church/How To Leave a Church BiblicalEldership.com.md",
|
||||||
|
"Work/Switching jobs pros and cons.md",
|
||||||
|
"Chapel/Announcements 1.md",
|
||||||
|
"Camps/Good News Camp 2019/Preparation.md",
|
||||||
|
"Camps/Good News Camp 2018/Testimony.md",
|
||||||
|
"Camps/Good News Camp 2018/Meal-time devotions.md",
|
||||||
|
"Camps/Good News Camp 2018/Counselor Meeting Notes.md",
|
||||||
"_Attachments/Exported image 20240808113933-0.gif",
|
"_Attachments/Exported image 20240808113933-0.gif",
|
||||||
"_Attachments/Exported image 20240808113924-0.png",
|
"_Attachments/Exported image 20240808113924-0.png",
|
||||||
"_Attachments/Exported image 20240808113917-0 1.jpeg",
|
"_Attachments/Exported image 20240808113917-0 1.jpeg",
|
||||||
@@ -195,27 +213,9 @@
|
|||||||
"_Attachments/Exported image 20240808113911-0.png",
|
"_Attachments/Exported image 20240808113911-0.png",
|
||||||
"httpsblackgirlbytes.deva-beginners-guide-to-prompt-engineering-with-github-copilot.md/Attachment.pdf",
|
"httpsblackgirlbytes.deva-beginners-guide-to-prompt-engineering-with-github-copilot.md/Attachment.pdf",
|
||||||
"httpsworld.hey.comdhhcloud-exit-pays-off-in-performance-too-4c53b697.md/Attachment.pdf",
|
"httpsworld.hey.comdhhcloud-exit-pays-off-in-performance-too-4c53b697.md/Attachment.pdf",
|
||||||
"Book club notes/Excellence Wins.md",
|
|
||||||
"Quick Notes/2002 Coachman Clipper 106 Sport Pop-Up Camper, Dometic Refrigerator, Suburban Furnace, Vitco 2-Burner Range, No Propane Tank, VIN 1TC1C510X35002745 - Mayo Auction & Realty.md",
|
|
||||||
"_Attachments",
|
"_Attachments",
|
||||||
"AcademicDesk integration to Salesforce.md",
|
|
||||||
"[3.md",
|
|
||||||
"Reading/Read Later/Real World Recommendation System – Part 1.md",
|
|
||||||
"3.md",
|
|
||||||
"2024-08-08 (Thursday).md",
|
|
||||||
"2024-08-07 (Wednesday).md",
|
|
||||||
"2024-08-06 (Tuesday).md",
|
|
||||||
"2024-08-05 Duplicate billing profile bug hunting (BEN-1564).canvas",
|
"2024-08-05 Duplicate billing profile bug hunting (BEN-1564).canvas",
|
||||||
"2024-08-05 (Monday).md",
|
|
||||||
"2024-08-02 Order-level discounting email response to Dan.md",
|
|
||||||
"2024-08-02 (Friday).md",
|
|
||||||
"2024-08-01 (Thursday).md",
|
|
||||||
"Enterprise subscriptions meeting.md",
|
|
||||||
"Logos meeting notes",
|
"Logos meeting notes",
|
||||||
"Recipes/Marinated Smoked Goose Breast Recipe.md",
|
|
||||||
"Logos re-platforming.md",
|
|
||||||
"Topical studies/Vaccinations/Autism and Vaccines Research, Funding, Support Autism Science Foundation.md",
|
|
||||||
"Quick Notes/Baby sitters.md",
|
|
||||||
"Reading Movies",
|
"Reading Movies",
|
||||||
"Quick Notes",
|
"Quick Notes",
|
||||||
"Prayer Meetings",
|
"Prayer Meetings",
|
||||||
|
|||||||
@@ -10,4 +10,10 @@ Nic Hoza knows most of what's going on here. Basic desire for users:
|
|||||||
2. Upgrade their church- or school-provided subscription with the difference of higher subscription
|
2. Upgrade their church- or school-provided subscription with the difference of higher subscription
|
||||||
|
|
||||||
## Commerce backlog grooming meeting
|
## Commerce backlog grooming meeting
|
||||||
#michael-fisher #ricardo-blanco #nate-merritt #kate-neale
|
#michael-fisher #ricardo-blanco #nate-merritt #kate-neale
|
||||||
|
|
||||||
|
## Meeting with Kyle K.
|
||||||
|
#bigcommerce #kyle-kennaw #replatform
|
||||||
|
It's very unlikely we'll move away from BigCommerce. Currently painful, for sure, because of the dependence on our systems. But, perhaps we can map out the future of the migration to get less and less dependent and entangled.
|
||||||
|
|
||||||
|
I need to read more about BigCommerce and what it can do to get a better, informed picture of how we can move to it.
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,3 +1,3 @@
|
|||||||
| | |
|
| | |
|
||||||
|---|---|
|
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
||\| \|<br>\|---\|<br>\|## 2020-01-31 Tech Talk - Michael Sterling - Royalties - Faithlife Coders - Amber\|<br>\|[https://amber.faithlife.com/shares/921WWa1mhUUOlewF](https://amber.faithlife.com/shares/921WWa1mhUUOlewF)\|<br>\|Royalties Tech Talk Slides: [https://docs.google.com/presentation/d/1UERbx5Op1upek32_TCBuXRPgIKtZkXjmWQM6IyEzCSA/edit#slide=id.g7d0408af6d_2_93](https://docs.google.com/presentation/d/1UERbx5Op1upek32_TCBuXRPgIKtZkXjmWQM6IyEzCSA/edit#slide=id.g7d0408af6d_2_93)...\||
|
|  | \| \|<br>\|---\|<br>\|## 2020-01-31 Tech Talk - Michael Sterling - Royalties - Faithlife Coders - Amber\|<br>\|[https://amber.faithlife.com/shares/921WWa1mhUUOlewF](https://amber.faithlife.com/shares/921WWa1mhUUOlewF)\|<br>\|Royalties Tech Talk Slides: [https://docs.google.com/presentation/d/1UERbx5Op1upek32_TCBuXRPgIKtZkXjmWQM6IyEzCSA/edit#slide=id.g7d0408af6d_2_93](https://docs.google.com/presentation/d/1UERbx5Op1upek32_TCBuXRPgIKtZkXjmWQM6IyEzCSA/edit#slide=id.g7d0408af6d_2_93)...\| |
|
||||||
@@ -4,7 +4,7 @@ Training a collaborative filtering based recommendation system on a toy dataset
|
|||||||
- High-level paradigms (like collaborative filtering, content based recommendations, vector search, model based recommendations)
|
- High-level paradigms (like collaborative filtering, content based recommendations, vector search, model based recommendations)
|
||||||
- ML algorithms (e.g., GBDTs, SVD, Multi tower neural networks, etc.)
|
- ML algorithms (e.g., GBDTs, SVD, Multi tower neural networks, etc.)
|
||||||
- Modeling libraries (e.g., PyTorch, Tensorflow, XGBoost)
|
- Modeling libraries (e.g., PyTorch, Tensorflow, XGBoost)
|
||||||
- Data management (e.g., choice of DB, caching strategy, reuse primary database or copy all the data in another system optimized for recommendation workload, etc.) [[1]](https://fennel.ai/blog/real-world-recommendation-system/#fn1)
|
- Data management (e.g., choice of DB, caching strategy, reuse primary database or copy all the data in another system optimized for recommendation workload, etc.)
|
||||||
- Feature management (e.g., offline vs online, precompute vs serve live)
|
- Feature management (e.g., offline vs online, precompute vs serve live)
|
||||||
- Serving systems (performance, query latency, distribution model, fault tolerance, etc.)
|
- Serving systems (performance, query latency, distribution model, fault tolerance, etc.)
|
||||||
- Deployment system (e.g., how does new code get updated, build steps, keeping caches working after processes restart, etc.)
|
- Deployment system (e.g., how does new code get updated, build steps, keeping caches working after processes restart, etc.)
|
||||||
@@ -41,7 +41,7 @@ How does Retrieval work? Retrieval is done by writing a few heuristics, also cal
|
|||||||
- Find 5 contents that user “liked” in the past, and for each such content, find 5 more “related” items
|
- Find 5 contents that user “liked” in the past, and for each such content, find 5 more “related” items
|
||||||
- Find the most relevant topics for a user and find the freshest content from each of the topics.
|
- Find the most relevant topics for a user and find the freshest content from each of the topics.
|
||||||
|
|
||||||
Retrieval can be powered by ML (e.g., trained embeddings), but more often than not, a larger % of generators are mere heuristics that encode some “product thinking” about what content is likely to create a good recommendation experience. And by writing a few of these and taking a union of all their candidates, we ensure that the system is able to at least consider all sorts of interesting inventory. Retrieval has only two jobs — 1) get all the interesting things (or at least as many as possible) [[2]](https://fennel.ai/blog/real-world-recommendation-system/#fn2) and 2) get as few total things as possible so that we can score/examine each candidate using the power of ML.
|
Retrieval can be powered by ML (e.g., trained embeddings), but more often than not, a larger % of generators are mere heuristics that encode some “product thinking” about what content is likely to create a good recommendation experience. And by writing a few of these and taking a union of all their candidates, we ensure that the system is able to at least consider all sorts of interesting inventory. Retrieval has only two jobs — 1) get all the interesting things (or at least as many as possible) and 2) get as few total things as possible so that we can score/examine each candidate using the power of ML.
|
||||||
|
|
||||||
## 2. Filtering
|
## 2. Filtering
|
||||||
|
|
||||||
@@ -50,7 +50,8 @@ After retrieving a few hundred candidates, recommendation systems typically filt
|
|||||||
1. Some products try to filter out content that the user has already seen before
|
1. Some products try to filter out content that the user has already seen before
|
||||||
2. Some products expose some controls to the users to hide away topics or authors or other sources of content
|
2. Some products expose some controls to the users to hide away topics or authors or other sources of content
|
||||||
|
|
||||||
In short, most real-world recommendation systems develop a long list of filters over time, which once again encode some product thinking about what creates a good experience. [[[3]](https://fennel.ai/blog/real-world-recommendation-system/#fn3)
|
In short, most real-world recommendation systems develop a long list of filters over time, which once again encode some product thinking about what creates a good experience.
|
||||||
|
|
||||||
Filtering and retrieval have a very interesting relationship. Some filters are pushed down to the generators themselves — for instance, if you’re building a dating product, filters for location and sexual preferences may be a part of each generator itself. But more often than not, it is physically impossible to have each generator respect each filter at the source, and so a whole layer of filtering is needed.
|
Filtering and retrieval have a very interesting relationship. Some filters are pushed down to the generators themselves — for instance, if you’re building a dating product, filters for location and sexual preferences may be a part of each generator itself. But more often than not, it is physically impossible to have each generator respect each filter at the source, and so a whole layer of filtering is needed.
|
||||||
|
|
||||||
## 3. Feature Extraction
|
## 3. Feature Extraction
|
||||||
@@ -65,7 +66,7 @@ So far, we have narrowed down the full inventory to a few hundred candidates and
|
|||||||
There are two key ideas that are very successful and present in the scoring of most real-world recommendation systems (and we’d write dedicated posts about both in the future — stay tuned):
|
There are two key ideas that are very successful and present in the scoring of most real-world recommendation systems (and we’d write dedicated posts about both in the future — stay tuned):
|
||||||
|
|
||||||
1. Multi-stage scoring — not all ML models are equal, and some are lot “heavier” than others. And it is usually not possible to run the heaviest ML models on hundreds of candidates. So instead, scoring itself is broken down in two substages — 1st stage scoring (which uses a relatively lighter ML model like GBDTs on all 500 candidates and emits out, say, top 100 candidates) and the 2nd stage scoring, which runs the heavy model (say deep neural network) on just the top 100 candidates.
|
1. Multi-stage scoring — not all ML models are equal, and some are lot “heavier” than others. And it is usually not possible to run the heaviest ML models on hundreds of candidates. So instead, scoring itself is broken down in two substages — 1st stage scoring (which uses a relatively lighter ML model like GBDTs on all 500 candidates and emits out, say, top 100 candidates) and the 2nd stage scoring, which runs the heavy model (say deep neural network) on just the top 100 candidates.
|
||||||
2. Combining many models — ML models can only learn whatever we teach them to learn. And typically, they are taught to predict the probability of user engaging in a single action, say like. Sorting all content by what gets clicked is a good start but has lots of issues — for instance, it might only distribute clickbaity content. To make the recommendations more balanced, usually, multiple models are trained - say, one for predicting clicks, one for predicting comments, one for user reporting the content, etc. And the final score of a candidate is a weighted average of all these models. While this makes the recommendations better, this can also increase the amount of computation that needs to be done. [[4]](https://fennel.ai/blog/real-world-recommendation-system/#fn4)
|
2. Combining many models — ML models can only learn whatever we teach them to learn. And typically, they are taught to predict the probability of user engaging in a single action, say like. Sorting all content by what gets clicked is a good start but has lots of issues — for instance, it might only distribute clickbaity content. To make the recommendations more balanced, usually, multiple models are trained - say, one for predicting clicks, one for predicting comments, one for user reporting the content, etc. And the final score of a candidate is a weighted average of all these models. While this makes the recommendations better, this can also increase the amount of computation that needs to be done.
|
||||||
|
|
||||||
## 5. Ranking
|
## 5. Ranking
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
![[Attachment.pdf]]
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
![[Attachment.pdf]]
|
|
||||||
Reference in New Issue
Block a user