vault backup: 2024-08-08 17:21:24

This commit is contained in:
2024-08-08 17:21:24 -05:00
parent dc590594d2
commit 2638be3d58
10 changed files with 164 additions and 159 deletions

View File

@@ -1,45 +0,0 @@
# Chapter One
The two parts of radical candor are: care personally, challenge directly.
Caring personally can be accomplished by "bringing your whole self to work". Bring your whole self to work means caring about people. It may mean being hated--even though you care deeply, personally about everyone on the team!
The hardest part about challenging directly is not giving it to others, but creating the environment where they can give it to you. This may make _you_ angry at _them_ and can be hard to deal with!
Being radically candid is not accomplished by simply starting your feedback with "let me be radically candid with you"! You have to care personally. It also does not mean saying everything you want to. A good rule of thumb is to leave three things unsaid every day.
Radical candor is not about endless communication that exhausts introverts. It's not about endless activities together to "build team". It's simply being human.
You may need to adjust what this means by country, team, company, etc. Not every "radically candid" practice will translate directly as you apply it in different contexts.
- In Israel, respect and caring personally was shown by being extremely direct and even aggressive in communicating with each other
- In Japan, it was more about being persistently polite
# Chapter Two
Creating a culture of open communication
Caring personally and challenging directly = radical candor
Challenging directly without caring personally = obnoxious aggression
Caring personally without challenging directly = ruinous empathy
Neither = manipulative insincerity
A useful quip: "it's not mean, it's clear". Being clear can _avoid_ being mean later--like firing someone after not being clear about their work early enough!
When praising, giving specific praise is best.
Most people for a "competent asshole" than a "nice incompetent". You don't have to choose between the two. You can be a competent nice manager.
Ruinous empathy doesn't work because it's aimed at making someone feel better instead of helping someone improve at their job.
# Chapter Three
You have to understand what motivates each person on your team--how does their job fit into their life goals?
In WWII the US Air force started to bring their best pilots home to train the next ones. This lead to finally defeating the Nazi air force because they tended to fly their aces until they were shot down.
I would say that Justin Strandburg is a "rock star" (rock of Gibralter type rock, not Guns 'n' Roses rock star) and that Ezekiel Pierson is more of the super star. Ezekiel is ambitious, rising quickly, learning a lot.
Rock stars need to be recognized as valuable to the company--they get a lot done--and not disrespected for being "b players". I should be careful to no try to promote them, if they are happy in their current jobs. We don't want to fall into the Peter principle where workers are promoted to the position of least competence.
Super stars need to be continually challenged.

View File

@@ -1,3 +1,3 @@
| | |
|---|---|
|![thumbnail](Exported%20image%2020240808113925-0.png)|\| \|<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)...\||
| | |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ![thumbnail](Exported%20image%2020240808113925-0.png) | \| \|<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)...\| |

View File

@@ -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)
- ML algorithms (e.g., GBDTs, SVD, Multi tower neural networks, etc.)
- 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)
- 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.)
@@ -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 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
@@ -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
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 youre 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
@@ -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 wed 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.
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