Chip has worked as a researcher at Netflix, was a core developer at NVIDIA (building NeMo, NVIDIA’s GenAI framework), and co-founded Claypot AI. She also taught Machine Learning at Stanford University.
Q: How would you define AI Engineer or AI Engineering?
A: It's a shift from more machine learning to more engineering and more product. Previously, building machine learning applications required building your own models with your own data and expertise. Now, you can use direct API calls.
Q: What are typical steps to build an AI application, from choosing a model through using RAG all the way to fine-tuning?
A: Start by understanding what makes a 'good' vs. 'bad' response. Build guidelines for the model, add examples, and evaluate using both automated metrics and human evaluations. Augment the context with documents (RAG pattern). Consider starting with keyword retrieval before jumping into embedding-based retrieval. When fine-tuning, be aware of the new problems that you need to deal with.
Q: What are practical ways for software Engineers to get started building AI applications?
A: Start with prompting and simple solutions before moving to advanced techniques. Data preparation can give a huge performance boost. If you have tried a lot of solutions already, and now you try Gen AI and you think this Gen AI is a solution for you, understand what makes a good response, then add examples.
Q: How did you write this book, how were you able to write a book about such a fast moving industry?
A: When you write a topic you're trying to bet on whether it's going to stay relevant in the future.
Focused on fundamentals that have been around for a while.
Determined if a problem is due to fundamental limitations of AI or current capabilities.
Q: Given that AI engineering moves so quickly, how did you ensure your book stays current?
A: Prioritised progress and future relevance over current trends. Focused on the underlying fundamentals rather than fleeting capabilities. Paid attention to whether advancements are due to fundamental limitations or temporary capabilities of AI, and how quickly capabilities are changing.
Q: What are the most common techniques used when building AI applications, things that a software engineer who's going into building AI applications should know about?
A: Techniques like RAG (Retrieval-Augmented Generation) and fine-tuning are useful. Focus on understanding what constitutes a good response. RAG is a powerful pattern, but don't jump straight to vector search; start with keyword retrieval.
Q: Given this rush to use Gen AI, what are your thoughts on staying focused on the problem?
A: The more we want to not miss out on things, the more things we will miss. Pick a problem that you care about and only focus on things that help you solve that problem. If some news comes out, ask if it helps solve the problem; if not, wait.
Q: When building an AI system, you need to evaluate the output. Why is it difficult to evaluate AI systems, and what are common ways to do that?
A: It's challenging because the smarter AI becomes, the harder it is for humans to evaluate. Use functional correctness to evaluate how well it performs a task. Use AI to evaluate other AI. Comparative evaluations can also be helpful. The quality of the AI judge depends on the underlying model and the prompt, and it is so non-deterministic.
Q: In evaluating AI, how do you prioritise users’ needs and experience?
A: Evaluate an application based on what users want. Go talk to users and look at their interactions. Manual data inspection has a high value-to-effort ratio. Measure what matters. Don't forget human evaluations.
Q: What are some common mistakes you've seen when teams are building AI applications?
A: Using Gen AI when you don't need it. Jumping straight to complex solutions or fancy agent frameworks.
Systematic thinking and problem-solving approaches usually don't change, even when technologies do. Don't use GenAI when you don't need GenAI
Q: Speaking of picking up new technology, as someone learning GenAI, a software engineer who wants to get into AI engineering, what would your recommendation be to learn?
A: Balance project-based learning with structured learning. Be able to stop and ask questions, and sometimes structured learning can help you ask the right questions. Pick a project, complement it with structured learning, and read papers. Tutorial based learning is great, but it is very important to be able to stop and ask questions.
Q: Will AI mean the end of software engineering?
A: AI can automate coding, but it won't fully automate problem-solving. Software engineering is about solving problems, not just the physical act of coding.
Q: What other use cases are you excited about for that AI could bring outside of just coding?
A: Education. Entertainment.
Q: What programming language did you use most when you built AI applications or did ML engineering?
A: Python and JavaScript.
Q: Which one is your favorite LLM model right now and why?
A: I don't really have a favorite.
Q: What are one or two books that you've read and would recommend?
Back in 2012, I was planning to build a location-aware app that would tell me about interesting sights & news-worthy facts about places that fall in the way of a train journey. I discovered that Web Dev guru Chris Heilmann ( @codepo8 ) had built a nifty app on a similar theme and shared the JavaScript code under the BSD license. Things Around You used the browser's geolocation feature to find Wikipedia articles on nearby landmarks via the GeoNames API & list them with a brief description. For a Windows 8 app hackathon, I utilized the Geolocation detection idea to build a little app that I called GeoBuzz & posted it on the Windows 8 App Store. It's been on the back of my mind to extend it with more features. Now that GitHub Copilot is here, there was no need to procrastinate. I had a friendly chat with GitHub Copilot ( Gemini Flash model ). In under an hour, I customized @codepo8's original sample to include a map directly on the web page instead of linking t...
The English language is full of surprises, especially when it comes to pronunciation. With more than 19 vowel sounds represented by just five vowels (plus sometimes “y”), English can be a challenge—especially for non-native speakers. Many words contain silent or extra letters that make pronunciation tricky. If your native language follows phonetic spelling (where words are pronounced as they are written), you might instinctively apply the same logic to English. This can lead to unexpected mistakes—like pronouncing the “t” in ballet or being puzzled by why colonel is pronounced ker-nil . To help with this, I started compiling a list of such tricky words in a Google Spreadsheet. Then, I learned that Google Sheets can function as a read-only database , so I built a simple web app using the Google Sheets API and JavaScript to display the list online. Check it out ! The pronunciations are from Google & WordWeb (created by a physicist, Antony Lewis). Switching to Datasett...
A good way to understand commercial software products is to check features for its different pricing plans. Here is the list of the 50+ GitHub Copilot features from its Pricing page - Chat Messages and interactions Access to OpenAI GPT-4o [Preview] Access to OpenAI GPT-4.5 [Preview] Access to Anthropic Claude 3.5 Sonnet [Preview] Access to Anthropic Claude 3.7 Sonnet [Preview] Access to OpenAI o1 [Preview] Access to OpenAI o3-mini [Preview] Access to Google Gemini 2.0 Flash Context-aware coding support and explanations Debugging and security remediation assistance Access to knowledge from top open source repositories Generate tests, docs, and more with slash commands Answers about issues, PRs, discussions, files, commits, etc. Web search powered by Bing [Preview] Explain failed Actions jobs [Preview] Multi-file editing in VS Code [Preview] Switch between models [Preview] Add images to prompts Code completion Real-time code suggestions [Preview] Next edit suggestions Comments to c...
Comments
Post a Comment