Things I Learned - 03 Dec 2023

This week, I learned: Gwern Branwen says LLMs nudge his “… making heavier use of the languages I don’t know well (Emacs Lisp & Python) since I increasingly trust that an LLM can help me maintain them.” Undetectable.ai checks for AI content. But it had false positives AND negatives in the 5 checks I ran. GPTZero got 2/2 right and seems better at detecting AI content. CoVA scrapes web pages via OCR When coding with LLMs, have SHORT, RELIABLE feedback loops. Ref

ChatGPT Custom Instructions

I speak with ChatGPT ~20 times a day. That’s more than I speak with most of my colleagues. ChatGPT is clearly my favorite team member. I conduct trainings, reviews and mentoring sessions with my colleagues. How to write code. How to write slides. How to communicate. That last bit is particularly important. With ChatGPT Custom Instructions, I can guide ChatGPT on how to work better with me. Currently, I have 10 custom instructions. They evolved over time and will continue to evolve. ...

Things I Learned - 26 Nov 2023

This week, I learned: This is an interesting GPT Vision API prompt from Simon Willison: “given this event flyer, create a link to add it to my Google Calendar”. Ref Quote from Jerry Liu: “GPT 4 is really good at complex reasoning”. It’s worth exploring what that means. Quote from Jerry Liu: “RAG is a hack”. It’s engineered, not machine learnt, so it’s suboptimal. We need an ML way of creating the context. Maybe fine tuning can be a way of CREATING the right context. But RAG can handle deterministic stuff like access control. Open AI fine tuning API is not good at memorizing info the way it is exposed. But the Gorilla paper shows that fine tuning can actually memorize well. Learn ML optimization approach - LLMOps. Have an evaluation framework with metrics like weights and biases or tensorboard. Helps figure out where fine tuning helps and where RAG does. Soon, this will become important. Flat indexing of chunks is not the only way to store embeddings. LlamaIndex allows you to create hierarchies that you can traverse for retrieval Agents mimic programming primitives. Switch. While. Call a function. Print. OpenRouter hosts several models and offers them as APIs! Ragas metrics evaluate quality of a RAG pipeline Orca 2 was trained on different reasoning techniques (e.g. step-by-step) and is as good as larger models Embeddings can help just re-rank regular search results. Ref Claude 2 Anthropic has a 200K context window but is still crap. Video-Llava can understand videos too. CoVA scrapes web pages using LLMs and visual information. jsonrepair can fix JSON fairly well. jsonformer wraps HuggingFace models to produce JSON. Ref Google has a model garden with lots of pre-trained and trainable models. Gorilla LLM specializes in APPI calls: Torch Hub, TensorFlow Hub, HuggingFace GPT-4 does not do abstraction at human levels Each of the GPTs / Prompts we create could be like a UNIX command prompt, and become a startup of its own Llava Plus extends LlaVA with pre-trained vision models that make image editing better Ollama runs local LLMs

Winning the alphabetical race

Since my name (Anand) begins with “A”, I used to get called on fairly early at school. In attendance. Answering questions. Classroom exercises. Quizzes. Even the distribution of test results. A few people later told me that it is good training, since I’d always be prepared. (Maybe. I’ve no idea.) At IBM and IIMB, Ajit was the only one ahead of me, alphabetically. Then he went a step ahead and named his son Aadi. I thought that’s impossible to beat. ...

Things I Learned - 19 Nov 2023

This week, I learned: XOT - Everything of Thought is a new prompt from Microsoft but I don’t understand it Creating Fine-Tuning datasets WITHOUT inputs Tamil-Llama Voyager plays Minecraft! Langchain supports evaluators. Pydantic is all you need drives towards code = data = text!

Things I Learned - 12 Nov 2023

This week, I learned: Julius.ai queries structured data. TODO: Explore https://github.com/microsoft/TaskMatrix microsoft/autogen enables multi-agent conversations. Architecture of today’s LLMs is similar to the A16Z architecture Stanford Foundational Model Transparency index was critiqued as misleading vLLM runs HuggingFace transformers models faster. So does DeepSpeed

LLMs can teach experts

I am a fairly good programmer. So, when I see a problem, my natural tendency is to code. I’m trying to break that pattern. Instead, I ask ChatGPT. For example, I asked: Write a compact 1-line Python expression that checks if user.id ends with @gramener.com or @straive.com user.id.endswith(("@gramener.com", "@straive.com")) After 15 years of using Python, I learnt that .endswith() supports tuple suffixes. This has been around since Python 2.5 (released in 2006 – before I knew Python.) The documentation has a tiny sentence in the middle saying “suffix can also be a tuple of suffixes to look for.” ...

Father of the bride

In 2012, I started Gramener with half a dozen friends. This week, we were acquired by Straive, a part of Barings Private Equity Asia. How do you feel? I feel like the father of the bride. Gramener was registered on 26 Feb. A day before my daughter’s birthday. I’ve spent more time with Gramener than my daughter. That makes Gramener my elder child. Who’s moving into a new household. Along with me. (I feel like சகலகலா சம்மந்தி.) ...

Scraping

I was at Cream Centre with my father on a Sunday afternoon. We’d finished a light lunch and were debating dessert. (He has triglycerides. I have cholesterol.) This was my fifth visit this year, and I had abstained so far. I couldn’t any longer. I ordered a Sizzling Brownie Sundae. But not for reasons you might think. Expertise comes from experience. I scrape food more than 99% of the people I know. So, I consider myself an expert. Here’s a guide on the art of scraping. ...

My PyCon talks are a way for me to learn. I usually pick topics I don’t know about. But at PyCon India 2023 the organizers picked “Programming Minecraft with Python” - a talk I’d given before. So, I started exploring ways to game it. (I like gaming things. It’s boring otherwise. Once, Infosys had me write a 400-page document. I began each page with a letter that spells out a poem.) ...

Ashwini Mathur and I are conducting a webinar on the impact of LLMs in Pharma. It’s online at 10 am Eastern on Mon Sep 11. Simon Willison described LLMs as alien technology we’re still discovering. I couldn’t agree more - and it helps to see it from different perspectives. So, we’re pairing the tech research at Gramener with the domain research Ashwini Mathur is doing at Novartis to explore the good, the bad, and the surprising uses of generative AI. ...

Always use value= for dynamic HTML options

Even after 30 years of HTML, I learn new things about it. This Monday morning, I woke up to a mail from Sundeep saying requests for a Data Engineer - AWS/Azure/GCP in our internal fulfilment portal raised an error. My guess was one of these: The “/” in the role is causing a problem. (Developer mistake.) The role exists in one table but not the other. (Recruitment team mistake.) The application wasn’t set up / restarted properly. (IT mistake.) All three were wrong. So I dug deeper. ...

My first LAMBDA in Excel

Ever since Excel introduced the LAMBDA function, I've been itching to use it in real life. I got my first chance today. We track the skill index of our different teams (consulting, analytics, technology, etc.) like this: TeamSkill IndexApr-23May-23Jun-23Jul-23Consulting0%0%Analytics33%33%Technology72%72%etc. The "Skill Index" column should pick the LAST value. If Apr-23 is filled, use that. But if May-23 is also filled, use that. ...

Licking

Last week, I was at IIT Madras for lunch with the faculty. The dessert was carrot halwa with ice cream. I scraped the last bits with my spoon, but a little ice cream was left over. I was torn. I CAN’T POSSIBLY waste it. But can I lick it? In public? I don’t have a problem licking at home. I lick my fingers. Plates. Bowls. Ladles. The cream on milk. The leftover milk in the glass. (If my tongue doesn’t reach that far, I wipe it with my finger and lick the finger.) ...

Zeigarnik effect vs my procrastination

I make commitments but don’t always deliver on time. In 2022, I ran an experiment to find out why I procrastinate. In Jan-Feb 2022, I listed the top 2 things I wanted to get done each day and measured how often I completed them. 14 Jan. ❌ Summarise from three research reports 12 Jan. ❌ UIFactory experiment ✅ Decide if I am a (…) 11 Jan. ❌ UIFactory experiment ✅ Agree on publishing in (…) 10 Jan. ❌ Client video. ❌ UIFactory experiment 09 Jan. ❌ UIFactory experiment. ❌ Attrition email as a story 07 Jan. ❌ ZS visual 06 Jan. ❌ Release Gramex Guide. ✅ UWC application 05 Jan. ❌ Publish network cluster post. ❌ Release Gramex guide 04 Jan. ❌ Publish network cluster post. ✅ Release Gramex. 03 Jan. ✅ Publish election TDS video. ❌ Publish Network cluster post. 02 Jan. ❌ Publish election TDS video. ❌ Publish Network cluster post. 01 Jan. ❌ Publish Network cluster post. ✅ Finalize SG school. I completed 23 / 57 things (40%). That’s one of my TOP priorities. ...

Picking books to read

I add book recommendations to my GoodReads – To-read list. Then I sort by rating and pick the first one I like to read. In 2023, I’m reshaping my environment. Picking books I usually won’t pick. (Read The Unknown Unknown: Bookshops and the Delight of Not Getting What You Wanted if you want to be similarly inspired.) So here are 4 approaches I’m adding to my process. Algorithmic. Sort Kaggle books based on popularity, rating, and age. Pick the top 10 (or 50) Serendipitous. Go to bookstores and libraries. Pick the most popular books Award-winning. Pick from the Pulitzer, Booker, Nobel, Hugo, and other award winners Challenges. Pick from Popsugar, Book Riot, Goodreads, The 52 Book Club, and other challenges FYI, here are algorithmic results (for books with 100+ ratings and a 4+ average on Goodreads): ...

Books in 2022

I read 52 books in 2022 (about the same as in 2021 and 2020.) Here’s what I read (best books first). Mind-blowing Man’s Search for Meaning. Viktor Frankl. It’s 75 years old and timeless. Who we are is independent of what’s around us. This book shows us why. This story is a great example. My best book of 2022. The Paper Menagerie. Ken Liu. I cried all the way from the beach to home. The skies joined me. It’s short. Touching. It healed a wound I can’t speak about. The most touching book of 2022. The Data Detective. Tim Harford. 10 powerful, down-to-earth rules for how to make sense of data, and avoid being fooled. I plan to incorporate every one of these into my talks. The most useful guide to working with data in 2022. The Extended Mind. Annie Murphy Paul. Explains how we think not just inside our brains, but in our bodies, in our physical environment, and in the people around us. The most effective guide to transforming my thinking in 2022. Life-changing ...

And THIS is impact. Thanks for making MY 2022 an amazing year, Tanvi Bansal! LinkedIn

My Year in 2022

In 2022, I made 3 resolutions: Run 50 experiments. I ran ~20 until April (here are some), but stopped (for no reason). I’ll continue. Speak at 10 global forums. I delivered 10+ PyCon talks. They were pre-recorded, allowing me to scale. But recording videos and no feedback are boring. I’ll explore how to scale enjoyably. Be 10X more effective. I improved my calendar effectiveness 2X in Jan. But I realized this is actually efficiency. Not effectiveness. Maybe effectiveness shouldn’t be optimized, but discovered. I’ll continue to ponder. Milestones in 2022: ...

Learning to speak better

Microsoft ported its PowerPoint Speaker Coach to Teams. Since September, it’s given me suggestions covering 11 hours in 77 calls (I speak ~10 min/call.) I say “uhh” a lot. That’s intentional I use the filler word “uhh” in 70% of my calls. That did not surprise me. I do that intentionally. On a poor network, they know I’m still connected They know I’m going to say something I sound less confident. That invites critique I can learn from But I also use filler words like “You know” and “I mean” in half the calls, and “like”, “actually”, and “basically” in a fifth. That’s NOT intentional, and I’ll be conscious. ...