Elon Musk explains his 5-step algorithm for solving any problem:
"The most common mistake of smart engineers is to optimize a thing that should not exist."
"I have this very basic first principles algorithm that I run as a mantra."
Elon breaks it down:
Step 1: Question the requirements.
"Make the requirements less dumb. The requirements are always dumb to some degree, no matter how smart the person who gave you those requirements. You have to start there, because otherwise you could get the perfect answer to the wrong question."
Step 2: Try to delete it.
"Try to delete the part or the process step entirely. If you're not forced to put back at least 10% of what you delete, you're not deleting enough. Most people feel like they've succeeded if they haven't been forced to put things back in. But actually they haven't, they've been overly conservative and left things in that shouldn't be there."
Step 3: Optimize or simplify.
"The most common mistake of smart engineers is to optimize a thing that should not exist. So you don't optimize until after you've tried to delete."
Step 4: Speed it up.
"Any given thing can be done faster than you think. But you shouldn't speed things up until you've tried to delete it and optimize it otherwise, you're speeding up something that shouldn't exist."
Step 5: Automate.
"And then the fifth thing is to automate it."
Elon explains why the order matters:
"I've gone backwards so many times where I've automated something, sped it up, simplified it, and then deleted it. I got tired of doing that. So that's why I have this mantra."
World's first autonomous delivery of a car!
This Tesla drove itself from Gigafactory Texas to its new owner's home ~30min away — crossing parking lots, highways & the city to reach its new owner
𝗘𝗺𝗲𝗿𝗴𝗶𝗻𝗴 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲𝘀 𝗳𝗼𝗿 𝗟𝗟𝗠 𝗔𝗽𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗼𝗻𝘀
In the latest post by Matt Bornstein and Rajko Radovanovic, the authors analyzed potential reference architectures for the emerging LLM app stack. Large language models are a powerful new primitive for creating software, as we all know. However, how to use them is not always clear because they are unique and behave differently from conventional computing resources.
Building using LLMs can be done in various ways, such as creating new models from scratch, modifying open-source models, or utilizing hosted APIs. The design pattern they've seen most developers start with is 𝗶𝗻-𝗰𝗼𝗻𝘁𝗲𝘅𝘁 𝗹𝗲𝗮𝗿𝗻𝗶𝗻𝗴, and this stack is based on it. In-context learning's central tenet is using LLMs straight off the shelf (i.e., without any fine-tuning), manipulating their behavior using cunning prompts, and conditioning on personal "contextual" information.
For example, we are considering 𝗰𝗿𝗲𝗮𝘁𝗶𝗻𝗴 𝗮 𝗰𝗵𝗮𝘁𝗯𝗼𝘁 𝘁𝗼 𝗿𝗲𝘀𝗽𝗼𝗻𝗱 𝘁𝗼 𝗶𝗻𝗾𝘂𝗶𝗿𝗶𝗲𝘀 𝗰𝗼𝗻𝗰𝗲𝗿𝗻𝗶𝗻𝗴 𝗮 𝗰𝗼𝗹𝗹𝗲𝗰𝘁𝗶𝗼𝗻 𝗼𝗳 𝗹𝗲𝗴𝗮𝗹 𝗱𝗼𝗰𝘂𝗺𝗲𝗻𝘁𝘀. If you took the naïve method of pasting all the documents, you might ask a query about the papers at the end of a ChatGPT or GPT-4 prompt. Although it doesn't scale, this might be effective for relatively tiny datasets. The largest GPT-4 model can only handle about 50 pages of input text before the performance, gauged by inference time and accuracy, deteriorates noticeably as you reach the context window limit.
At a very high level, 𝘁𝗵𝗲 𝘄𝗼𝗿𝗸𝗳𝗹𝗼𝘄 𝗰𝗮𝗻 𝗯𝗲 𝗱𝗶𝘃𝗶𝗱𝗲𝗱 𝗶𝗻𝘁𝗼 𝘁𝗵𝗿𝗲𝗲 𝘀𝘁𝗮𝗴𝗲𝘀:
𝟭. 𝗗𝗮𝘁𝗮 𝗽𝗿𝗲𝗽𝗿𝗼𝗰𝗲𝘀𝘀𝗶𝗻𝗴/𝗲𝗺𝗯𝗲𝗱𝗱𝗶𝗻𝗴 - To retrieve private information later, storing it now (in this case, legal documents) is necessary. The documents are typically divided into smaller pieces, run through an embedding model, and stored in a 𝘀𝗽𝗲𝗰𝗶𝗮𝗹𝗶𝘇𝗲𝗱 𝘃𝗲𝗰𝘁𝗼𝗿 𝗱𝗮𝘁𝗮𝗯𝗮𝘀𝗲.
𝟮. 𝗣𝗿𝗼𝗺𝗽𝘁 𝗰𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗶𝗼𝗻/𝗿𝗲𝘁𝗿𝗶𝗲𝘃𝗮𝗹 - The software builds a set of prompts to present to the language model when a user submits a query (in this case, a legal question). A typically constructed prompt consists of a hard-coded prompt template, so-called few-shot examples of legitimate outputs, necessary data collected from external APIs, and pertinent documents retrieved from the vector database.
𝟯. 𝗣𝗿𝗼𝗺𝗽𝘁 𝗲𝘅𝗲𝗰𝘂𝘁𝗶𝗼𝗻/𝗶𝗻𝗳𝗲𝗿𝗲𝗻𝗰𝗲 - Once the prompts have been assembled, they are given to a pre-trained LLM for speculation, which may use open-source or self-trained models and proprietary model APIs. At this point, some developers additionally incorporate operational systems like logging, caching, and validation.
Check the entire text in the comments.
#technology #softwareengineering #ai #artificialintelligence #chatgpt
I don't think about which data center I'm using when I upload a pic to Google Photos. Or when I perform a search. Or use Gmail.
Why should the public cloud be so different? Here's a 🧵with 10 @googlecloud services that are unique because of their global backplane …