Last week @OpenAI released ChatGPT - a Large Language AI Model that interacts with users in a natural conversational way. The chatbot is able to answer complex questions, even in highly technically demanding categories.
1/7
It is also able to answer the follow up question, backtrack on wrong assumptions, and provide other detailed resources, including code fragments.
2/7
Most people in tech consider this to be the greatest technological advancement of the year. Many of us consider it even more epochal, perhaps one of the biggest turning points in history.
3/7
These sorts of assessment are not coming from exaggeration-prone hype mongers, but from many very sober technological insiders.
4/7
ChatGPT still has many weaknesses and blind spots, but it is very clear to anyone with adequate technical background that they are straightforward to tackle. The system will become only more capable and powerful in the months ahead.
5/7
It will radically transform most information processing professions and industries.
In just five days from its launch ChatbotGPT has registered over a million users.
6/7
The service is still free for experimentation, but will likely become part of the OpenAI subscription package at some point.
PyTorch 2.0 is out! This major release upgrade brings about many new features, but the main improvements are under the hood.
1/6
The three main principles behind PyTorch
1. High-Performance eager execution 2. Pythonic internals 3. Good abstractions for Distributed, Autodiff, Data loading, Accelerators, etc.
PyTorch 2.0 is fully backward compatible with the previous versions of PyTorch.
2/6
The main new feature is torch.compile, "a feature that pushes PyTorch performance to new heights and starts the move for parts of PyTorch from C++ back into Python."
3/6
Decision trees based Machine Learning models are some of the best performant algorithms in eras of predictive capability, especially on small and heterogenous datasets.
1/4
They also provide an unparalleled level of interpretability compared to all other non-linear algorithms. However, they are very hard to optimize on Von Neumann architecture machines due to their non-uniform memory access patterns.
2/4
In groundbreaking work published in Nature Communications a team of researchers has shown that analog content addressable memory (CAM) devices with in-memory calculation can dramatically accelerate tree-based model inference, as much as 10**3 over the conventional approaches 3/4
This past week I came across another paper that purports to get the SOTA for NNs for tabular data. Due to the extreme penchant for exaggeration in this community, I have given up on checking most of these claims, but decided to take a look at this particular work.
1/6
I decided to check how does XGBoost *really* perform on the datasets used in the paper, and the results were not pretty.
2/6
The main takeaway: for all three datasets used in the paper, the reported performance of XGBoost was widely inaccurate and the real performance was much better than their best results.
3/6
This week @NVIDIA open sourced the 3D object generation AI model, GET3D. GET3D is a generative model of high quality 3D textured shapes learned from images.
1/4
Trained using only 2D images, GET3D generates 3D shapes with high-fidelity textures and complex geometric details.
2/4
These 3D objects are created in the same format used by popular graphics software applications, allowing users to immediately import their shapes into 3D renderers and game engines for further editing.
3/4
I have just done something really cool - I've managed to *train* XGBoost in browser completely within an HTML file! This has been possible thanks to the PyScript project that allows running Python inside of HTML, similar to how JavaScript works.
The example below is very simple - the script loads the small Iris dataset from sklearn. With a slider you are able to adjust the number of XGBoost trees, and the script will train different XGBoost models accordingly and print out accuracy.
2/5
PyScript is still in very early stages of development. Getting all the relevant components to work together is still tricky, and there are not many detailed tutorials. Hence, this example is *very* rudimentary. I'll try to make it more powerful and snazzy does the road.
3/5
First, you create a simple model with XGBoost. It doesn't have to be fancy, or even too accurate, it's just for reference purposes. Use that model to calculate the Shapley values for your training set. Here is an example: