60. Radiant.AI 61. Weights & Biases (Weave) 62. Quotient AI (some observability there)
HN user
mloncode
Hi, Hamel here. I'm one of the co-authors. I'm an independent consultant and not all clients allow me to talk about their work.
However, I have two that do, which I've discussed in the article. These are two production use cases that I have supported (which again, are explicitly mentioned in the article):
1. https://www.honeycomb.io/blog/introducing-query-assistant
2. https://www.youtube.com/watch?v=B_DMMlDuJB0
Other co-authors have worked on significant bodies of work:
Bryan Bischoff lead the creation of Magic in Hex: https://www.latent.space/p/bryan-bischof
Jason Liu created the most popular OSS libraries for structured data called instructor https://github.com/jxnl/instructor, and works with some of the leading companies in the space like Limitless and Raycast (https://jxnl.co/services/#current-and-past-clients)
Eugene Yan works with LLMs extensively at Amazon and uses that to inform his writing: https://eugeneyan.com/writing/ (However he isn't allowed to share specifics about Amazon)
I believe you might find these worth looking at.
This is Hamel, one of the authors of the article. We published the article with OReilly here:
Part 1: https://www.oreilly.com/radar/what-we-learned-from-a-year-of... Part 2: https://www.oreilly.com/radar/what-we-learned-from-a-year-of...
We were working on this webpage to collect the entire three part article in one place (the third part isn't published yet). We didn't expect anyone to notice the site! Either way, part 3 should be out in a week or so.
Hello this is Hamel, one of the authors (among the list of other amazing authors). Happy to answer any questions as well as tag any of my colleagues to answer any questions!
(Note: this is only Part 1 of 3 of a series that has already been written and the other 2 parts will be released shortly)
Good article
Hi Jeremy, Hamel here. I submitted this blog post, and definitely did not submit it in this form. One of the defining features of this blog post was the F word.
I'm also curious about what happened
I love Bytewax. Really underrated as far as Python utilities go.
This is cool, thanks for sharing. I’ll definitely check this out
Excellent comment and question. Re: commercializing nbdev, this path didn't seem to make sense to me personally (for reasons I outlined), but they very well could make sense for others.
But I'm with you, I really like many of the ideas presented in nbdev and feel like they have legs. I don't think those ideas should be abandoned or thrown away. Posit (https://posit.co) is developing products that draw from many of the ideas in nbdev - infact we are working with them - and I think the directions they are pursuing are very promising.
However, if you have ideas on how to make tools in the space that draw on these ideas, I encourage you to do so. I will even support you to the best of my ability if you decide to.
No snark interpreted at all. Yes I am well aware of org mode and love it! I think it is fantastic. There are some key differences that I think make notebooks a bit more interesting - however it sounds like you've made a system you are happy with? I would love to see what you have! Mind sharing it?
I think a notebook is VERY different than an ephemeral REPL. I think that is worth considering when thinking about generating docs, tests and source code from a single source of truth (as opposed to separate files).
Yes, I encourage you to look at some example projects made with nbdev incase that is helpful:
- fastcore: https://github.com/fastai/fastcore - the nbs/ folder contains the source files that generate source code, docs and tests. - ghapi: https://github.com/fastai/ghapi - the notebooks that create source code, docs and tests are located in the root.
Yes Quarto is one of my favorite tools. My blog (the topic of this thread) is made with Quarto!
Yes, nbdev is a system that "compiles" notebooks to python scripts, tests and documentation all from one source of truth. Jupytext cannot do this (nor was it designed to)
That's great to hear!
Hello! Hamel here, author of the original post. I'm surprised to see this on the front page of HN! Anyways, feel free to AMA!
You may know fast.ai as a popular deep learning course. There is also a deep learning library with the same name (https://github.com/fastai/fastai) as well as software development tools like nbdev (https://nbdev.fast.ai/).
fast.ai has been offering education and tools for free for over 7 years, and has been approached by many companies asking for help. This program offers an avenue for business to get relevant professional services and support.
This kind of thing is coming soon. This is something that will work with shiny for python [1] which will be integrated with Quarto (which nbdev is built on top of). When its more stable, this is something we will look into integrating.
In the meantime, the home page for nbdev https://nbdev.fast.ai/ is built with a notebook, and as you can see it is reactive and resizes appropriately. You could follow this example to do something if you wanted to do something today.
Sanyam Buhtani does not do real DL work.
Oh wow, it seems like you have made a habit of judging people, even though you don't know much about them at all, as recently as 10 minutes ago: https://news.ycombinator.com/item?id=32197090
Despite the fake apologies, I suppose it is a habit you can't really shake.
By the way, how do you do real DL work if you have so much trouble communicating and interacting with people generally? Seems like that would really get in the way of doing anything of any import.
Throwing insults at people using their full names on anonymous internet forums as "being fake" is a special kind of toxic behavior. They really should not allow you to participate in these forums with this kind of behavior.
I've flagged your comment as inappropriate.
influencer types in the fastai community who have 10ks of followers and shills
Everyone that I can see that fits that profile work at real companies doing real deep learning work, or are building infrastructure and tools that we all use. Nvidia, Huggingface, Etc. I don't see pure media stuff at all, most people are developing libraries or doing other applied work, and talk about their work publicly. Frankly, your comments come across like you are salty. Being a unpleasant person in online forums that enjoys insulting people seems correlated, which likely doesn't bode well for your professional aspirations, regardless of how much math or python you do/don't know.
You don't need math
He's saying you don't need a PhD in math, not that you should ignore math all together. I have graduate level math and CS background and I don't thing either of those helped much, other than overcoming gatekeeping. The thing thats far more important for applied ML is to practice DL on lots of different problems to be effective. PhD level math might be useful for research, but that isn't necessary in practice for most people.
I am an experienced ML Engineer of 10 years and have worked at several large flagship tech companies. I do not agree that fastai is not appropriate for real-life projects. If you know the fastai library well, you know its a layered api on top of pytorch, which allows you to customize things to your needs quite easily. For example, it is fairly straightforward to get any pytorch model out of a Learner object. Furthermore, lots of care has been taken to keep the apis very consistent with pytorch as well.
It's also the only library I know of that consistently bakes in best practices like super convergence techniques or making things like test time augmentation very seamless. Many libraries lag behind fastai 1-2 years in this regards, and frankly it can be frustrating to use other frameworks sometimes.
There is a slight learning curve, for example to learn the DataBlocks API or the callback system, but once you really understand what is happening you will understand how nice the API is and how well engineered it is.
Side note: Regarding being an experienced software engineer, I highly recommend digging into how the python language was extended for this project (fastcore) and the development workflow used (nbdev), which I think could be interesting for those software engineers you mention as well as heighten your understanding of the ecosystem of tools.
Bytewax is the first streaming data python client that I can finally get my head around. I've used Bytewax and I love the developer experience, you folks really dialed it in there.
Also the docs are great, which many developer tools tend to neglect. Good docs are the first thing I notice when looking at a project.
Great work, and congrats on the launch.
Hello, I'm the author of this blog post! I'm really excited about how notebooks can be integrated into larger systems, especially for things like visualizations, debugging and prototyping.
Happy to answer any questions anyone has about this feature or Metaflow generally.
Great job writing this article.
I see there the typical pattern of the 'expert beginner' developer.
I see the typical pattern of someone being a jerk calling people "junior developers" without first doing their research on the person and finding out (1) how long they have been a developer and (2) the work that they have created.
Debate why the methods are incorrect instead of saying "you look ugly".
The author has a completely different development environment than you that supports this paradigm (https://nbdev.fast.ai/) that you likely you aren't using. If you read the docs of the library references to this is well documented. However, that isn't going to be apparent to someone who engages in drive-by comments without doing the proper research.
And yes, it does look like a personal attack. Stop it with the lazy take and actually try to read before jumping to conclusions.
[Author of the blog here]: Thanks for that. Indeed, there is an opportunity to document the library better. That's why I decided to roll up my sleeves and spend an extended period of time documenting fastcore. It was an amazing educational experience for me. I didn't know that python was this extendable, and I previously wasnt aware of concepts like multiple dispatch. I think there are other contributors currently working on other portions of the library as well. The literate programming environment, which made its serious debut in version 2 (that was just released), definitely encourages this and makes this process really easy.
Sorry about that. Indeed, I felt that since he was the author of the library and essential to me learning it I felt the least I could do was to put his name on there. I removed his name via https://github.com/fastai/fastpages/pull/408 -- Sorry for the confusion!
Indeed, even though I learned a ton about python, I didn't feel like what I had to say made for an interesting blog article, and was a bit abstract. I was equally excited about the library from and end user's perspective and decided to blog about that instead.
Hi, I'm Hamel, I'm one of the people who contributed to this project. I think this is a really great blogging platform for data scientists because:
- Visualizations can remain interactive - You can write your entire blog post in a Jupyter notebook and deploy it to your blog with a click - No nagwalls or paywalls (Like you might get w/Medium) - It's hosted on GitHub Pages, so it's free - Its portalbe, so you can take your data elsewhere anytime.
This project is a repository template on GitHub, which means its super easy to setup and get started. Its powered by the really cool nbdev project https://github.com/fastai/nbdev, which enables lots of other cool features for blogging!
Most of the credit goes to Jeremy Howard (https://twitter.com/jeremyphoward) and Sylvain Gugger (https://twitter.com/GuggerSylvain) for building all of the tools that make all of this work!
Hi, this is Hamel. I'm happy to answer any questions about the dataset or the project. I think this dataset is exciting for the following reasons:
- Its really large: Parallel corpus is 2M code snippets, and the unpaired corpus is 6M code snippets Its real data generated by people in the wild and gives everyone a chance to exercise skills with cleaning a messy dataset.
- Its unique: its [code, comment] pairs; part natural language, part code. This presents unique challenges. This data has seen very little utilization so far which means lots of opportunities for the community to make tools for code navigation, search, bug detection, automated documentation, and program synthesis (some of the problems being significantly harder than others).
- Other niche datasets from specific domains require a non-trivial amount of domain knowledge before being effective with the dataset. For example, to utilize radiology images it is extremely helpful to learn a little about the domain to help with cleaning and exploring the data and debugging your models. However, many machine learning folks are already familiar with writing code so you have a head start!
- The most painful part of cleaning the data is done for you: parsing the code and separating out the comments from the code.
We are really excited about the possibilities of this dataset and what folks are able to do with it. Looking forward to your questions.
It might be useful for scoped search and code navigation when you don't have a general-purpose question that is amenable to Stack Overflow. Let's say you are trying to find code in a repository that carries out a task but your keyword search turns up empty -- semantic search might be able to help you in that kind of situation.