1. Conference
These days I am predominantly C#/.NET developer, spending 95% of my day in C#, ASP.NET, EF, SQL, HTML, JavaScript environments. In the past, I had exposure to C/C++, Java, Perl, Pascal, and MathLab. But, recently there was a lot of talk around me about AI systems. As a mathematician by training, I was curious about AI/ML systems, and my visit to the “Machine Learning Conference – Munich, June 2023” was of an exploratory character, as an attempt to catch up with this emerging and very interesting discipline of software science/technology. Below are some of my impressions.
The intended audience is regular programmers who do not have much contact with AI/ML world and want to hear the summary of the latest news.
2. Conference one-liner overview
The conference was really aiming to give an “Overview of the state of science, technology, and practices of ML in this present point of time”. Topics were mostly presented on a “technically popular” level, without going into too many technical details. Speakers were researchers, academics, philosophers/ethics-legal experts, and ML practitioners from software companies all over the world.
3. Most interesting topics - Personal choice
Most interesting topics (may be subjective, based on my personal interests):
3.1 ChatGPT in production
ChatGPT in production. There was one person (only one out of ~120 people) that said that his company already has ChatGPT in production. He was from Germany somewhere, and he just shortly described the application. Vaguely speaking, what they did is to index all documents in the company using ChatGPT and they are using Chat GPT as an expert system for asking for information from company documents or for searching them. He didn’t go into much detail, but to me, it looks similar to articles [2], [3], [4]. The big news is ChatGPT is already making money in production.
There was a lot of talk about the abilities and limitations of ChatGPT. A lot of criticism was going on the fact that ChatGPT sometimes gives incorrect answers or partially incorrect answers. It appears that the system sometimes invents or claims facts that are not factually correct. Popular terminology on the internet is that ChatGPT sometimes “hallucinates”. That is very much true for the popular free version of ChatGPT 3.5. There are claims that the latest version ChatGPT 4.0 (from March 2023) will hallucinate less and that it is believed to provide more truthful answers.
Interestingly, during the whole conference, no one said a word about Google Bard AI system.
3.2 Open Source AI
Open Source AI. Very interesting was the presentation of the founder of LAION [5] Christoph Schuhmann. LAION, as a non-profit organization, provides datasets, tools, and models to liberate machine learning research. What they did is scraped a good part of the Internet and analyzed all html Picture-AltText pairs and created an open database containing 400 million English image-text pairs. The idea is to provide an open database so ML engineers can train their models.
The idea and goal is that the Open-Source community competes with big companies like Microsoft, Meta, and Google in AI/ML development. This organization has made a lot of noise worldwide, and its founder (high school teacher) got offers for jobs in the industry, offers from venture capitalists, etc. But he decides to stay independent and is receiving a lot of donations including free access to some of the supercomputers in the EU and the world.
If you are interested in contributing to Open Source AI/ML development and in that way obtaining some practical ML skills, contact LAION [5] and ask how you can help.
3.3 Computer vision
Computer vision. I was in the past doing some “object tracking” using C# and classical algorithms, so it was interesting for me to see what ML is offering now. One expert Oliver Zeigermann ([6], [7], [8] ) was comparing the classical approach to computer vision vs the ML approach. He was talking about ML/Neural networks technology, the process of training, available tools, the processing power needed, etc. A typical use case would be using ML computer vision to do quality control on the factory production line. If you are interested, you can search the internet for this author’s name and you will find an abundance of articles, slides, and even books on Computer Vision and ML in general.
Computer vision is a big topic in ML. There were discussions about the applicability in medicine and the possibility to replace Radiologists in their work. They argue, that one trained Radiologist is trained during education on maybe 1000 images, while computer systems can easily be trained on tens of thousands of images. Definitely a hot topic.
3.4 Using ChatGPT for code generation
Using ChatGPT for code generation. (see [9]) The big fuzz was about the ability of ChatGPT to create (snippets of) code. There are 2 camps: A) We really like it and use it; B) it is not good/mature enough.
Arguments from camp A) are that like to way to iteratively learn by playing with the chat prompt and is easy to work that way. They also claim it is a very good approach if you need to access an unknown library to generate you interface/access code fast.
Camp B) argues that generated code is not good enough, so technology is not mature enough yet. One guy says: before we spent 80% of time coding and 20% debugging. With ChatGPT we spent 20% time coding and 80% time debugging.
But definitely, the audience at the conference was excited about it. At the present moment, they claim that there are no copyright problems with AI generate content, that is it can be freely used, which was a concern for some people. Many were concerned if such a code can be trusted. There were usual questions like how many people/developers will lose jobs due to AI ability to create code. Can AI do a code review for you?
There is already an available extension for Visual Studio Code [17] to use ChatGPT to help you with coding.
3.5 Low-Code, No-Code development
Low-Code, No-Code development. These are new buzzwords in the industry and such jobs are appearing. ([10], [11], [12]). The idea is that developer does not need to know in the details the programming language, but uses some Visual tools (or similar, maybe a chat prompt) to create an application while in the background code generation supported by AI/ML.
The interesting story was from one younger German guy that has PhD and works as AI engineer somewhere. He said he got an offer for a “Low code” job, but turned it down. It seems that classical developers are not sure if such positions would be good for their career path and are concerned about losing real coding skills. So many new things and no one is sure what will the future bring.
3.6 MLOps
MLOps. Another new buzzword ( [13], [14]) in the industry. Shortly, that is DevOps for ML applications. Data for training, models, applications, iterative learning artifacts... all need to be tracked, versioned, integrated, deployed, and monitored.
The conference was going with presentations in parallel in 3 different rooms and I was not able to follow all sessions, and I am more on the developer side than on the DevOps side. But definitely, there was a number of sessions dedicated to MLOps, and that emerges as a separate discipline/skill within AI world. It has its methods, tools, best practices, etc. From how to support the deployment of ChatGPT in the corporate environment to how to track all artifacts of ML learning model process.
3.7 Technology Stack for ML
Technology stack for ML. As a predominantly .NET/C# developer, I was interested in the technology stack for building ML applications available. For example, how to include ML module into my ASP.NET application. Currently, it seems the “Python” language is the dominant platform for ML development where all tools/libraries are available. Some people say a bridge between .NET and Python is possible, but complain it is error-prone.
I see there is an open-source ML.NET library available if needed ([15], [16]) for native C#/.NET development. The concern is if it is as good as the Python environment for ML development.
Some guys I talked to said they are pure Python developers and openly said have no clue about C#/.NET world. Another guy said he does his work in Python and there are other guys that interface his code via C#.
3.8 Generative AI
Generative AI. Another buzzword in the industry. Shorty, Generative AI ([26]) are computer systems that have the ability to generate (create) content. Content can be text ( poem, essay, letter, etc.) or multimedia (images, video, audio). A typical example is ChatGPT generating business letters based on prompt requests or “Stable Diffusion” generating images based on a textual description via a prompt.
You can try “Stable Diffusion” demo at [28], [29] and type for example “typical Boston family”. Pictures are a bit distorted, people have more than 5 fingers sometimes, etc. But looks promising.
There was a lot of criticism at the conference that AI models are biased, for example, generated pictures for the “typical Boston family” prompt are mostly people of light skin color, and rarely show a person of color. Then, they say that is because AI systems are trained on the Internet, and the Internet is biased because the world is biased. So, they argue AI systems should be trained on “filtered”, biased data. But then, you get “politically correct” AI systems that do not represent the real world. Etc.
From the legal side, they say that at this moment those pictures from Generative AI do not have a copyright, so anyone can use them at will. Some argue that the person that created the prompt should have the copyright, that Generative AI is just a tool and legally machine can not hold the copyright. Etc.
4. Conclusion
Recent developments in AI/ML discipline of computer science are very exciting. I think every person in IT industry should follow developments to some degree because they have the potential to impact our branch of technology significantly. However, I still think that professional orientation to only ML applications is a bit risky since for one ML job position there are still 20+ classical programming positions available. I believe that in the near future, AI/ML technology will still stay just one of the tools at the disposal of the average software engineer, who will still most of the time solve problems using classical algorithms, languages, technologies, and tools.
References: