HN user

rm999

5,766 karma

Data nerd in the NYC area.

Interested in machine learning/AI, software engineering, and tech leadership.

Posts8
Comments904
View on HN

A really short version of it is that you don't need an agent if you have a well-defined solution that can be implemented in advance (e.g. the 'patterns' in this article). Programmers often work on problems that have programmatic solutions and then the advice is totally correct: reach for simpler more reliable solutions. In the future AIs will probably be smart enough to just brute force any problem, but for now this is adding unneeded complexity.

I suspect a reason so many people are excited about agents is they are used to "chat assistants" as the primary purpose of LLMs, which is also the ideal use case for agents. The solution space in chat assistants is not defined in advance, and more complex interactions do get value from agents. For example, "find my next free Friday night and send a text to Bob asking if he's free to hang out" could theoretically be programmatically solved, but then you'd need to solve for every possible interaction with the assistant; there are a nearly unlimited number of ways of interfacing with an assistant, so agents are a great solution.

If they can make the average song listened to by a user just 1 second longer, they reduce that by about 0.5%.

This isn't how music royalties work - rather, Spotify (and most other on demand streaming services) pay out a % of their net revenue to rights holders. This % does not change based on how many streams there are in total, but it IS distributed proportionally based on the number of streams, so it's more profitable for a music rightsholder to have more streams (the topic of the article).

Some high level information: https://support.spotify.com/us/artists/article/royalties/

There's a lot of confusion in this thread about "before the big bang". I was also confused and did some googling and found this explanation from a professor of theoretical physics. It seems that it's actually pretty normal to refer to the big bang as happening after the initial inflationary epoch, but others refer to it as the moment before this.

Do not allow yourself to be confused: The Hot Big Bang almost certainly did not begin at the earliest moments of the universe. Some people refer to the Hot Big Bang as “The Big Bang”. Others refer to the Big Bang as including earlier times as well. This issue of terminology is discussed at the end of this article on Inflation [https://profmattstrassler.com/articles-and-posts/relativity-...].

The article is talking about the "hot big bang", so it's using terminology that is accepted by other theoretical physicists.

https://profmattstrassler.com/articles-and-posts/relativity-...

I learned about this from Red Dead Redemption 2 (spoiler ahead), where the protagonist purchases a pre-built home from a catalog modeled after the Sears Home catalog.

What I found particularly interesting is that what Americans today consider stereotypical American farm houses were actually these Sears houses! They had a significant influence on the country's architectural history.

source: https://www.reddit.com/r/AskHistorians/comments/bgxt8q/in_re...

While my experience is not from the 90s, I think I can speak to some of why this is. For some context, I first got into neural networks in the early 2000s during my undergrad research, and my first job (mid 2000s) was at an early pioneer that developed their V1 neural network models in the 90s (there is a good chance models I evolved from those V1 models influenced decisions that impacted you, however small).

* First off, there was no major issue with computation. Adding more units or more layers isn't that much more expensive. Vanishing gradients and poor regulation were a challenge and meant that increasing network size rarely improved performance empirically. This was a well known challenge up until the mid/later 2000s.

* There was a major 'AI winter' going on in the 90s after neural networks failed to live up to their hype in the 80s. Computer vision and NLP researchers - fields that have most famously recently been benefiting from huge neural networks - largely abandoned neural networks in the 90s. My undergrad PI at a computer vision lab told me in no uncertain terms he had no interest in neural networks, but was happy to support my interest in them. My grad school advisors had similar takes.

* A lot of the problems that did benefit from neural networks in the 90s/early 2000s just needed a non-linear model, but did not need huge neural networks to do well. You can very roughly consider the first layer of a 2-layer neural network to be a series of classifiers, each tackling a different aspect of the problem (e.g. the first neuron of a spam model may activate if you have never received an email from the sender, the second if the sender is tagged as spam a lot, etc). These kinds of problems didn't need deep, large networks, and 10-50 neuron 2-layer networks were often more than enough to fully capture the complexity of the problem. Nowadays many practitioners would throw a GBM at problems like that and can get away with O(100) shallow trees, which isn't very different from what the small neural networks were doing back then.

Combined, what this means from a rough perspective, is that the researchers who really could have used larger neural networks abandoned them, and almost everyone else was fine with the small networks that were readily available. The recent surge in AI is being fueled by smarter approaches and more computation, but arguably much more importantly from a ton more data that the internet made available. That last point is the real story IMO.

I agree, but can you imagine that Matlab, and then R, were the de facto ML languages before Python really took off? Putting R models into production was an absolute nightmare. Before R, I was writing bash scripts which called Perl scripts that loaded data and called C code that loaded and ran models that were custom built by Matlab and C. Python (and the resulting software ML ecosystem) was a huge breath of fresh air.

Python did not win the ML language wars because of anything to do with front-end, but rather because it does both scripting and software engineering well enough. ML usually requires an exploration/research (scripting) stage and a production (software engineering) stage, and Python combines these seamlessly better than many ML languages before it (Matlab, Java, R). Notebooks became the de facto frontend of ML Python development and to me it's evidence that frontend in ML is inherently messy.

Do I wish a better language like Julia had won out? Sure, but it came out 10+ years into this modern age of ML, which is an eternity in computing. By the time it really gained traction it was too late.

Create view is a great V0.5 for a data warehouse and what I recommend people do if possible so they can concentrate on building the right schema, naming standards, etc.

dbt is the V1. You get a lot of tooling, including a proper dag, logging, parametrization. You also get the ability to easily materialize your tables in a convenient format, which is important if (probably when) you figure out consistency is important. Views can take you far, but most orgs will eventually need more, and dbt is designed to be exactly that.

As a side note, moving from views to dbt is actually quite easy. I've done it several times and it's usually taken a couple of developer days to get started and maybe a couple weeks to fully transition.

It's gotten much easier in the 24 hours because of this binary release of a popular stable diffusion setup+UI: https://github.com/AUTOMATIC1111/stable-diffusion-webui/rele...

(you still need a Nvidia GPU)

Extract the zip file and run the batch file. Find the cptk (checkpoint) file for a model you want. You can find openjourney here: https://huggingface.co/openjourney/openjourney/tree/main. Add it to the model directory.

Then you just need to go to a web browser and you can use the AUTOMATIC1111 webui. More information here: https://github.com/AUTOMATIC1111/stable-diffusion-webui

The y-axis has actual meaning: it tells you the purchasing power of a public stock, which will never be 0.

What you could do is normalize it by the value of the stock at the start of the chart, which would make the charts start at 1. On a log plot this is the equivalent of dividing all the values by the starting value, which moves the lines up/down but does not change their shape. This could make it easier to compare the lines, but in doing so, you throw out information (the real value of the y axis).

That's exactly right, he specified a style with each and cherrypicked out of 40-60 pictures: https://twitter.com/nickcammarata/status/1512119623315075081

Btw transparency for this now-viral thread: I didn’t just paste prompts into dall-e, I played with style (eg. cyberpunk, oil, etc) to keep it interesting and diverse

If I had to quantify, I’d say I’d generate 2 or 3 batches (tweaking prompt) before choosing my fav two pics, each batch outputs 20 images (two tabs 10 per), so prob technically cherry picked 2 out of 60. That said usually other 58 weren’t really broken, just boring / bit less fun

A "vector" in vector search solutions is a dense vector generated by a transformer model.

Just a clarification that vectors are much broader than text vectors generated by transformer models. A more common application has been recommender models built on matrix factorization and other similar approaches. Word 2 Vec was another popular way to generate vectors dating back to 2013. Vectors are a very general approach with many benefits regardless of how they were generated. That is what makes these vector search libraries so exciting.

I wrote an article about the power of matrix factorization vectors for music recommendations back in 2016: https://tech.iheart.com/mapping-the-world-of-music-using-mac...

We also discussed how we used convolutional neural networks (deep networks, but not transformers) to build vectors on the acoustic content of music: https://tech.iheart.com/mapping-the-world-of-music-using-mac...

Google is about to introduce a next-generation Tensor chip, updating the ones found in the company’s Pixel 6 phones. It is basically an artificial-intelligence accelerator in your pocket, allowing your phone to adapt to you—your own personal neural network to train.

Is this accurate? Everything I've read online only discusses the tensor chip for inference (running the neural network to make predictions), not training a new model for that specific device. For example this blog only discusses how they are making inference faster: https://ai.googleblog.com/2021/11/improved-on-device-ml-on-p....

Their business model incentivize them to have top notch quality.

I worked at a competitor to Costco; I would argue this isn't quite accurate, and that this statement applies to Amazon about as much. The key distinction between Amazon and Costco is Costco sells a small (1-10 thousand) number of SKUs while Amazon wants to have as many as possible (100s of millions). Costco can vet every product, and can quickly discontinue products that have a lot of returns or complaints. Amazon scales in the opposite direction and concentrates on building tools for sellers to sell whatever will sell.

But here's the rub: by limiting the number of SKUs Costco has to appeal to the masses. You won't get the best TV, or air purifier, or cheese, or pants, etc at Costco. You will get something that has been vetted to be good enough for most people and provides a good price point. When you buy their white labeled products (Kirkland et al) you will sometimes actually get substandard products as they shift suppliers without telling their customers, but that's another topic.

If you really want the highest quality you have to either have to seek out brands that optimize for this or dig into the supply chain and understand where your products are actually coming from. For something like an air purifier I would choose Amazon over Costco any day because it allows me to choose the brand and model I want.

tldr: this is expected. The article addresses everything I'm about to say, but I think the lede is buried:

Apple's NeuralHash perceptual hash function performs its job better than I expected

When you are just looking for any two collisions in 100M x 100M comparisons, of course you'll find a small number of positives, Apple said as much. The number of expected collisions will scale linearly with the number of 'bad' images, which is not 100M. Assuming it's 100k, we'd expect 1000x fewer collisions in ImageNet, or ~0.002 collisions, which is effectively 0. It's the artificial images that will potentially sink all this, not a very low rate of naturally occurring hash collisions.

[dead] 5 years ago

Ever since GDPR and then CCPA were announced I've had vendors trying to sell me on solutions to manage our data - often heavy-handed solutions that come at a high technical cost. The sales pitches always stand on scare tactics, that the very existence of the company I work at is at risk.

But when I talk to lawyers they are less worried. They tell me all the best practices we already follow mostly protect us, that we need to make some minor changes here and there.

So, over time I've learned to ignore scare tactics like this. My experience is articles like this are sales pitches and not a good faith attempt at educating us.

The funny thing is I've recently noticed the exact same phenomenon on conservative media. A few days ago there were 4 posts at the top of r/conservative about liberals being 'slammed' for something or the other (for the record I am an independent and watch that subreddit to better understand the issues that interest conservatives).

Here's some recent 'slams' on that subreddit: https://www.reddit.com/r/Conservative/search/?q=slam&sort=re...

I’ve always NULL’d values, not deleted rows. E.g. GDPR request? NULL out all identifying information, but keep the record.

As long as your primary key has no business meaning you should never have to delete the row of a table.

Soft deletes

This section is totally wrong IMO. What is the alternative? "Hard" deleting records from a table is usually a bad idea (unless it is for legal reasons), especially if that table's primary key is a foreign key in another table - imagine deleting a user and then having no idea who made an order. Setting a deleted/inactive flag is by far the least of two evils.

when multiplied across all the analytics queries that you’ll run, this exclusion quickly starts to become a serious drag

I disagree, modern analytics databases filter cheaply and easily. I have scaled data orgs 10-50x and never seen this become an issue. And if this is really an issue, you can remove these records in a transform layer before it hits your analytics team, e.g. in your data warehouse.

soft deletes introduce yet another place where different users can make different assumptions

Again, you can transform these records out.

Agreed - in law you can essentially get away with a single predictor for much money you make (given your level of experience): whether you work at a big law firm. This creates a natural bimodal distribution.

In tech there are far more factors:

  1. What industry you work in
  2. How big your company is
  3. Geography (this plays a much bigger role than in Law in my experience)
  4. How good you are at negotiating
  5. Equity luck
  6. What type of tech you do (front end vs backend vs ML etc)
Given this complexity, I'd be shocked if there is a bimodal distribution for devs.

I usually avoid commenting on political stuff, but my advice is to please find a better source for information than Scott Adams. He's a smart guy, but he is a strong proponent of "persuasion", i.e. changing people's minds is more valuable to him than presenting the facts accurately. This video is a classic example of his persuasion style, which is to make sloppy claims with flimsy evidence simply to make his opponents spend more time thinking about those claims. I know on HN we can do better than that.

In his own words: https://www.businessinsider.com/dilbert-creator-scott-adams-...

Back in the early 2010s I worked in ad tech on a data science team, and one of the things we were pushing for was causal A/B testing; basically turn off a campaign's advertising to a % of people and correlate it with sales to measure ROI.

As we were kicking this off I was at a conference chatting with an executive at another ad tech company. His response: "oh yeah I know a guy who tried that, he's not in the industry anymore."

We almost immediately came to realize our launch clients were getting negative ROI, sometimes severely so. AFAIK our efforts fizzled out, and I believe none of the people on my team are in the industry anymore.