This engaging article was initially included onMIT Press
In 2017, Google scientists introduced an innovative machine-learning program called a”transformerfor processing language. While they were primarily thinking about enhancing machine translation– the name originates from the goal ofchangingone language into another– it didn’t take wish for the AI community to realize that the transformer had remarkable, significant capacity.
Trained on huge collections of documents to predict what comes next based on preceding context, it developed an incredible flair for the rhythm of the written word. You could start an idea, and like a good friend who knows you extremely well, the transformer could finish your sentences. If your sequence began with a question, then the transformer would spit out an answer. Even more remarkably, if you started describing a program, it would pick up where you left off and output that program.
It’s long been recognized that programming is hard, however, with its arcane notation and unforgiving attitude towards errors. It’s well documented that amateur programmers can struggle to accurately define even a simple task like calculating a mathematical average, failing over half the time. Even professional programmers have written buggy code that has resulted incrashing spacecraftcarsand eventhe internet itself
When it was discovered that transformer-based systems like ChatGPT could turn casual human-readable descriptions into working code, there was much reason for excitement. It’s exciting to think that, with the help of generative AI, anyone who can write can also code. Andrej Karpathy, one of the developers of the current wave of AI,stated“The most popular new programming language is English.” With remarkable advances announced seemingly daily, you’d be forgiven for thinking that the era of learning to program is behind us. While recent developments have fundamentally changed how novices and professionals might code, the democratization of programming has made learning to code more important than ever because it’s empowered a much wider set of people to harness its benefits. Generative AI makes things easier, but it doesn’t make it easy.
There are three main reasons I’m skeptical of the idea that people without coding experience could trivially use a transformer to code. Is the problem of hallucination. Transformers arewell-known for spitting out reasonable-sounding mumbo jumboparticularly when they aren’t really sure what’s coming next. They are trained to make informed guesses, not to admit when they are wrong. Consider what that means in the context of programming.
Say you want to produce a program that calculates averages. You describe in words what you want and a transformer writes a program. Excellent! Is the program correct? Or has the transformer hallucinated in a bug? The transformer can show you the program, but if you don’t already know how to program,
